NIST SP 800-90A
NIST SP 800-90A („SP” oznacza „ publikację specjalną ”) to publikacja wydana przez National Institute of Standards and Technology pod tytułem Zalecenie dotyczące generowania liczb losowych przy użyciu deterministycznych generatorów losowych bitów . Publikacja zawiera specyfikację trzech rzekomo bezpiecznych kryptograficznie generatorów liczb pseudolosowych do użytku w kryptografii : Hash DRBG (oparty na funkcjach haszujących ), HMAC DRBG (oparty na HMAC ) oraz CTR DRBG (oparty na szyfry blokowe 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 zgłoszono, że Dual_EC_DRBG prawdopodobnie zawiera kleptograficzny backdoor wstawiony przez Agencję Bezpieczeństwa Narodowego Stanów Zjednoczonych (NSA), podczas gdy pozostałe trzy generatory liczb losowych są akceptowane przez wielu kryptografów jako niekontrowersyjne i bezpieczne.
Jako dzieło rządu federalnego Stanów Zjednoczonych , NIST SP 800-90A jest własnością publiczną i jest ogólnodostępny.
Backdoor w Dual_EC_DRBG
W ramach programu Bullrun NSA wprowadza backdoory do systemów kryptograficznych. W 2013 roku zasugerowano, że jednym z takich celów jest Dual_EC_DRBG. NSA osiągnęła to, pracując podczas procesu standaryzacji, aby ostatecznie zostać jedynym redaktorem standardu. Przyjmując Dual_EC_DRBG do NIST SP 800-90A, NSA powołała się na użycie Dual_EC_DRBG przez wybitną firmę RSA Security w swoich produktach. Jednak RSA Security otrzymało od NSA 10 milionów dolarów za używanie Dual_EC_DRBG jako domyślnego w ramach umowy, którą Reuters opisuje jako „obsługiwany przez liderów biznesu, a nie czystych technologów”. Ponieważ kontrakt o wartości 10 milionów dolarów, aby RSA Security użył Dual_EC_DRBG, został opisany przez Reuters jako tajny, osoby zaangażowane w proces przyjmowania 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, który później okazał się gorszy od alternatyw (oprócz tylnych drzwi), znalazł się w standardzie 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 wady Dual_EC_DRBG, pojawiły się później oskarżenia, że RSA Security świadomie umieściła backdoora NSA w swoich produktach. RSA zaprzeczyło, by świadomie umieszczało backdoora w swoich produktach.
Po ujawnieniu przez NSA backdoora, NIST wznowił publiczny proces weryfikacji standardu NIST SP 800-90A. Poprawiona 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 wymagane są trzy problemy, aby były trudne matematycznie, aby Dual_EC_DRBG był bezpieczny: decyzyjny problem Diffie-Hellmana, problem logarytmu x i problem punktu obciętego. Decyzyjny problem Diffiego-Hellmana jest powszechnie uznawany za trudny. Problem logarytmu x nie jest powszechnie akceptowany jako trudny. Pokazano pewne dowody, że ten problem jest trudny, ale dowody te nie są rozstrzygające. Dowód bezpieczeństwa jest zatem wątpliwy i zostałby uznany za nieważny, gdyby wykazano, że problem z logarytmem x jest skutecznie rozwiązany. Problem obciętego punktu wymaga obcięcia wystarczającej liczby bitów z punktu wybranego przez Dual_EC_DRBG, aby był nie do odróżnienia 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 wyjście było 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ą dowody bezpieczeństwa dla pojedynczego wywołania do generowania liczb pseudolosowych. Dokument potwierdzający bezpieczeństwo Hash_DRBG i HMAC_DRBG cytuje próbę zabezpieczenia 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ż zweryfikowany maszynowo dowód bezpieczeństwa. Teza zawierająca zweryfikowany maszynowo dowód bezpieczeństwa dowodzi również, że kompromitacja poprawnie zaimplementowanej instancji HMAC_DRBG nie zagraża bezpieczeństwu liczb wygenerowanych przed kompromitacją.
CTR_DRBG
Wykazano, że CTR_DRBG ma problemy z bezpieczeństwem, gdy jest używany z pewnymi parametrami, ponieważ kryptografowie nie wzięli pod uwagę rozmiaru bloku szyfru podczas projektowania tego generatora liczb pseudolosowych. CTR_DRBG wydaje się bezpieczny 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 podstawowy szyfr blokowy i 128 bitów jest pobieranych z każdej instancji, wymagany poziom bezpieczeństwa jest zapewniany z zastrzeżeniem, że wyjście 128-bitowego szyfru w trybie licznika można odróżnić od prawdziwego generatora liczb losowych. Gdy AES jest używany jako podstawowy szyfr blokowy i więcej niż 128 bitów jest pobieranych z tego generatora liczb pseudolosowych, wynikowy poziom bezpieczeństwa jest ograniczony rozmiarem bloku zamiast rozmiaru klucza, a zatem rzeczywisty poziom bezpieczeństwa jest znacznie niższy niż poziom bezpieczeństwa poziom implikowany przez rozmiar klucza. Wykazano również, że CTR_DRBG nie zawsze zapewnia oczekiwany poziom bezpieczeństwa potrójny DES , ponieważ jego 64-bitowy rozmiar bloku jest znacznie mniejszy niż 112-bitowy rozmiar klucza używany 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 r . Wycofane 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 bitów losowych (poprawione)” (PDF) . Narodowy Instytut Norm i Technologii . Źródło 27 listopada 2016 r . Wycofane 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 bitów losowych” (PDF) . Narodowy Instytut Norm i Technologii . doi : 10.6028/NIST.SP.800-90A . Źródło 19 listopada 2016 r .
{{ cite journal }}
: Cite journalwymaga|journal=
( pomoc ) Wycofano w czerwcu 2015 r. -
Barker, Elaine; Kelsey, John (czerwiec 2015). „NIST wydał specjalną publikację (SP) 800-90A wersja 1: Zalecenie dotyczące generowania liczb losowych przy użyciu deterministycznych generatorów bitów losowych” (PDF) . Narodowy Instytut Norm i Technologii . doi : 10.6028/NIST.SP.800-90Ar1 . Źródło 19 listopada 2016 r .
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc )
Zobacz też
Linki zewnętrzne
-
Elaine Barker; Johna Kelseya (2015). „SP 800-90A Rev. 1 - Zalecenie dotyczące generowania liczb losowych przy użyciu deterministycznych generatorów bitów losowych” . NIST. doi : 10.6028/NIST.SP.800-90Ar1 .
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc )