NIST SP 800-90A - NIST SP 800-90A
NIST SP 800-90A ("SP" oznacza " publikację specjalną ") jest publikacją Narodowego Instytutu Standardów i Technologii pod tytułem Rekomendacja dotycząca generowania liczb losowych przy użyciu deterministycznych generatorów bitów losowych . Publikacja zawiera specyfikację trzech rzekomo bezpiecznych kryptograficznie generatorów liczb pseudolosowych do wykorzystania w kryptografii : Hash DRBG (oparty na funkcjach haszujących ), HMAC DRBG (oparty na HMAC ) oraz CTR DRBG (oparty na szyfrach blokowych w trybie licznika ).
Od 24 czerwca 2015 aktualna wersja publikacji to Revision 1. Wcześniejsze wersje zawierały czwarty generator Dual_EC_DRBG (oparty na kryptografii krzywych eliptycznych ). Później doniesiono, że Dual_EC_DRBG prawdopodobnie zawiera backdoora kleptograficznego wstawionego przez Agencję Bezpieczeństwa Narodowego Stanów Zjednoczonych (NSA), podczas gdy pozostałe trzy generatory liczb losowych są akceptowane jako niekontrowersyjne i bezpieczne przez wielu kryptografów.
Jako dzieło rządu federalnego USA , NIST SP 800-90A jest własnością publiczną i jest swobodnie dostępny.
Backdoor w Dual_EC_DRBG
W ramach programu Bullrun , NSA wprowadza backdoory do systemów kryptograficznych. Jednym z takich celów zaproponowano w 2013 r. jako Dual_EC_DRBG. NSA osiągnęła to, pracując podczas procesu normalizacji, aby ostatecznie zostać jedynym redaktorem normy. W celu zaakceptowania Dual_EC_DRBG do NIST SP 800-90A, NSA powołała się na użycie Dual_EC_DRBG przez znaną firmę RSA Security w swoich produktach. Jednak RSA Security otrzymała od NSA 10 milionów dolarów za domyślne korzystanie z Dual_EC_DRBG, w umowie, którą Reuters opisuje jako „obsługiwaną przez liderów biznesu, a nie czystych technologów”. Ponieważ kontrakt o wartości 10 milionów dolarów na uzyskanie przez RSA Security korzystania z Dual_EC_DRBG został opisany przez Reuters jako tajny, osoby zaangażowane w proces akceptacji Dual_EC_DRBG do NIST SP 800-90A prawdopodobnie nie zostały poinformowane o tym oczywistym konflikcie interesów. To może pomóc wyjaśnić, w jaki sposób generator liczb losowych okazał się później gorszy od alternatyw (oprócz tylnych drzwi) trafił do standardu NIST SP 800-90A.
Potencjał backdoora w Dual_EC_DRBG został już udokumentowany przez Dana Shumowa i Nielsa Fergusona w 2007 roku, ale nadal był wykorzystywany w praktyce przez firmy takie jak RSA Security aż do ujawnienia w 2013 roku. Biorąc pod uwagę znane błędy w Dual_EC_DRBG, pojawiły się później oskarżenia, że RSA Security świadomie umieściła backdoora NSA w swoich produktach. RSA odmówiła świadomego umieszczania backdoora w swoich produktach.
Po ujawnieniu przez NSA backdoora, NIST ponownie otworzył publiczny proces weryfikacji standardu NIST SP 800-90A. Zmieniona wersja NIST SP 800-90A, która usuwa Dual_EC_DRBG, została opublikowana w czerwcu 2015 r.
Analiza bezpieczeństwa
Próba dowodu bezpieczeństwa dla Dual_EC_DRBG stwierdza, że wymaga trzech problemów, aby były matematycznie trudne, aby Dual_EC_DRBG było bezpieczne: problem decyzyjny Diffie-Hellmana, problem x-logarytm i problem z obciętymi punktami. Decyzyjny problem Diffiego-Hellmana jest powszechnie uznawany za trudny. Problem x-logarytmiczny nie jest powszechnie akceptowany jako trudny, ale pewne dowody wskazują, że problem ten jest trudny, ale nie dowodzi, że jest trudny. Dowód bezpieczeństwa jest zatem wątpliwy i zostanie uznany za nieważny, jeśli okaże się, że problem x-logarytm jest rozwiązywalny, a nie trudny. Problem z obciętymi punktami wymaga odcięcia wystarczającej liczby bitów od punktu wybranego przez Dual_EC_DRBG, aby nie można go było odróżnić od prawdziwie losowej liczby. Jednak obcięcie 16 bitów, domyślnie określone przez standard Dual_EC_DRBG, okazało się niewystarczające, aby dane wyjściowe były nie do odróżnienia od prawdziwego generatora liczb losowych, a zatem unieważnia dowód bezpieczeństwa Dual_EC_DRBG, gdy używana jest domyślna wartość obcięcia.
Hash_DRBG i HMAC_DRBG mają zabezpieczenia dla pojedynczego wywołania w celu wygenerowania liczb pseudolosowych. Artykuł potwierdzający bezpieczeństwo Hash_DRBG i HMAC_DRBG przytacza próbę dowodu bezpieczeństwa dla Dual_EC_DRBG użytą w poprzednim akapicie jako dowód bezpieczeństwa, aby powiedzieć, że nie należy używać CTR_DRBG, ponieważ jest to jedyny DRBG w NIST SP 800-90A, który nie ma zabezpieczenia dowód.
HMAC_DRBG ma również weryfikację maszynową. Teza zawierająca zweryfikowany komputerowo dowód bezpieczeństwa dowodzi również, że złamanie prawidłowo zaimplementowanej instancji HMAC_DRBG nie zagraża bezpieczeństwu liczb wygenerowanych przed włamaniem.
CTR_DRBG
Wykazano, że CTR_DRBG ma problemy z bezpieczeństwem, gdy jest używany z pewnymi parametrami, ponieważ kryptografowie nie uwzględnili rozmiaru bloku szyfru podczas projektowania tego generatora liczb pseudolosowych. CTR_DRBG wydaje się bezpieczne i nie do odróżnienia od prawdziwego losowego źródła, gdy AES jest używany jako podstawowy szyfr blokowy, a 112 bitów jest pobieranych z tego generatora liczb pseudolosowych. Gdy AES jest używany jako bazowy szyfr blokowy i 128 bitów jest pobieranych z każdego wystąpienia, wymagany poziom bezpieczeństwa jest zapewniany z zastrzeżeniem, że 128-bitowy szyfr w trybie licznika można odróżnić od prawdziwego generatora liczb losowych. Gdy AES jest używany jako podstawowy szyfr blokowy i z tego generatora liczb pseudolosowych pobieranych jest więcej niż 128 bitów, wynikowy poziom bezpieczeństwa jest ograniczony rozmiarem bloku, a nie rozmiarem klucza, a zatem rzeczywisty poziom bezpieczeństwa jest znacznie niższy niż poziom bezpieczeństwa poziom wynikający z rozmiaru klucza. Wykazano również, że CTR_DRBG nie zapewnia oczekiwanego poziomu bezpieczeństwa za każdym razem, gdy używany jest potrójny DES, ponieważ jego 64-bitowy rozmiar bloku jest znacznie mniejszy niż rozmiar klucza 112-bitowego używanego w potrójnym DES.
Historia wersji NIST SP 800-90A
- Barker, Elaine; Kelsey, John (czerwiec 2006). „Specjalna publikacja NIST 800-90: Zalecenie dotyczące generowania liczb losowych przy użyciu deterministycznych generatorów losowych bitów” (PDF) . Narodowy Instytut Norm i Technologii . Źródło 27 listopada 2016 . Wycofany w marcu 2007 r.
- Barker, Elaine; Kelsey, John (marzec 2007). „Specjalna publikacja NIST 800-90: Zalecenie dotyczące generowania liczb losowych przy użyciu deterministycznych generatorów losowych bitów (zmieniony)” (PDF) . Narodowy Instytut Norm i Technologii . Źródło 27 listopada 2016 . Wycofany w styczniu 2012 r.
- Barker, Elaine; Kelsey, John (styczeń 2012). „Specjalna publikacja NIST 800-90A: Zalecenie dotyczące generowania liczb losowych przy użyciu deterministycznych generatorów losowych bitów” (PDF) . Narodowy Instytut Norm i Technologii . Źródło 19 listopada 2016 . Wycofany w czerwcu 2015 r.
-
Barker, Elaine; Kelsey, John (czerwiec 2015). „NIST Released Special Publication (SP) 800-90A Rewizja 1: Zalecenie dotyczące generowania liczb losowych przy użyciu deterministycznych generatorów losowych bitów” (PDF) . Narodowy Instytut Norm i Technologii . doi : 10.6028/NIST.SP.800-90Ar1 . Źródło 19 listopada 2016 . Cytowanie dziennika wymaga
|journal=
( pomoc )
Zobacz też
Bibliografia
Linki zewnętrzne
- Elaine Barker; Johna Kelseya. „SP 800-90A Rev. 1 – Zalecenie dotyczące generowania liczb losowych za pomocą deterministycznych generatorów losowych bitów” . NIST.