Dual_EC_DRBG

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 28. září 2017; kontroly vyžadují 43 úprav .

Dual_EC_DRBG ( anglicky ; z Dual E lliptic Curve D eterministic R andom B it Generator ) je dříve považovaný za kryptograficky bezpečný generátor pseudonáhodných čísel vyvinutý americkou Národní bezpečnostní agenturou , jeden ze čtyř kryptograficky bezpečných generátorů standardizovaných NIST jako „Special Publication 800-90 " ( NIST SP 800-90A ) v roce 2006 [1] a stažena v roce 2014 [2] . Jednou z oblastí použití jsou kryptografické systémy pro generování klíčů. Algoritmus je založen na použití eliptických křivek .

Algoritmus

Ve standardu NIST SP 800-90A jsou v popisu algoritmu použity 2 funkce: [3]  [4]

Pokrok:

1) Nastaví se náhodná hodnota t = randomseed()

2) Operace se provádějí v cyklu

  1. Vypočte se hodnota s = φ ( x ( t * P ) ).
  2. Vypočte se hodnota r = φ ( x ( s * Q ) ).
  3. Odřízněte vysoké 2 bajty r
  4. Výstup zbývajících 30 bajtů r
  5. t=s

Zabezpečení

Zabezpečení Dual_EC_DRBG je založeno na obtížném problému teorie čísel  , problému Diffie-Hellman . To byl uvedený důvod pro zařazení do NIST SP 800-90. [3] Výrobci generátorů však nezveřejnili matematický důkaz zabezpečení generátoru a po zveřejnění projektu NIST se ukázalo, že Dual_EC_DRBG není zabezpečený kvůli vysokému počtu bitů na výstup kola. [5] [6] Pokud použijete body eliptické křivky specifikované ve standardu, pak se kvůli příliš velkému počtu bitů na výstupu vytvoří zadní vrátka, která útočníkovi umožní prolomit generátor vyčerpávajícím hledáním . Tento problém nebyl opraven v konečném publikovaném standardu, takže Dual_EC_DRBG nebyl bezpečný. [7]

V mnoha jiných standardech jsou konstanty, které musí být libovolné, zvoleny na základě číselného principu Nic v rukávu . V Dual_EC_DRBG dodavatelé nespecifikovali, jak jsou specifikovány body eliptických křivek P a Q. Protože si normalizační komise byla vědoma možného zadního vrátka, byl do standardu zahrnut způsob, jak odvodit jejich konstanty P a Q. [8] [9 ] Přesná formulace ve standardu však byla napsána tak, že použití P a Q uvedených ve standardu je vyžadováno pro schválení FIPS 140-2 , takže tyto konstanty byly implementovány v OpenSSL navzdory povědomí o zadních vrátkách a přání používat robustnější parametry. [10] The New York Times později napsal, že NSA pracovala během procesu standardizace, aby se nakonec stala jediným editorem normy. [jedenáct]

O nějaký čas později Daniel Brown a Christian Gjostin publikovali bezpečnostní důkaz pro Dual_EC_DRBG, který ukázal, že generované body eliptické křivky by byly nerozeznatelné od náhodných, pokud [5]  :

  1. výstup bude méně bitů na kolo
  2. body P a Q budou nezávislé
  3. následující tři problémy by patřily do třídy NP :
    • Problém Diffie-Hellman
    • problém diskrétního logaritmu
    • problém zkráceného bodu

Dual_EC_DRBG je poměrně pomalý oscilátor ve srovnání s alternativními oscilátory zahrnutými ve stejném standardu, nicméně tyto alternativy nemají žádný důkaz o bezpečnosti. [12] Daniel Brown tvrdí, že z důvodu prokázání bezpečnosti lze generátor používat bez ohledu na jeho otáčky za předpokladu použití spolehlivých parametrů. [12]

Údajná zadní vrátka umožňují útočníkovi určit vnitřní stav generátoru náhodných čísel po zhlédnutí výstupu jednoho kola po 30 bajtech. Veškerý budoucí výstup generátoru náhodných čísel lze snadno vypočítat, dokud externí zdroj entropie znovu nenačte generátor novou hodnotou t 0 [4] . Například použití tohoto generátoru znejistí zabezpečení SSL / TLS , protože navázání připojení TLS zahrnuje odeslání náhodně vygenerovaného čísla. [7] Backdoor je v tom, že při použití konstant P a Q ze standardu NSA zná e takové, že e * Q = P. [4] [13] Tedy e je tajný klíč, pravděpodobně známý NSA, a předpokládá se, že zadní vrátka jsou kleptografická skrytá zadní vrátka. [čtrnáct]

Backdoor

První výstup je 30 bajtů r 0 je x-ová souřadnice bodu bez úvodních 16 bitů. Pro každou křivku uvedenou v normě jsou zapsány hodnoty X, nula a jeden nebo dva body na této křivce. K úplnému výčtu tedy není potřeba více než 17 bitů, aby se obnovil původní bod A. [4]

Za předpokladu, že:

  1. K nalezení bodu A potřebujete s 0 * Q = A
  2. Známý tajný klíč e , který určuje poměr Q * e = P

3. Poté vynásobte každou stranu rovnice

e * A = s 0 * e * Q = s 0 * P [4]

Na základě toho je možné vypočítat s 1 = φ ( x ( e * A) ), a pak r 1 , pak následující s 2 ,...,s n a r 2 ,...,r n . K tomu stačí najít A vyčerpávajícím hledáním, výsledné A vynásobit e , poté výslednou hodnotu vynásobit Q a zobrazit hodnotu x-ové souřadnice získaného bodu bez prvních dvou bajtů. [čtyři]

Historie a standardizace

NSA poprvé představila Dual_EC_DRBG v ANSI X9.82 DRBG na počátku 2000, včetně parametrů umožňujících zadní vrátka, a Dual_EC_DRBG byla publikována v ANSI Draft Standard. Byl také přidán do normy ISO 18031. [8]

Nejméně dva členové ANSI X9F1 Standards and Recommendations Committee, Daniel Brown a Scott Vanston z Certicom , [ 8] věděli o přesném mechanismu a okolnostech, za kterých je zadní vrátka možná, protože v lednu 2005 podali patent [15] , který popisoval, jak vložit nebo zabránit backdooru v Dual_EC_DRBG. Později bylo potvrzeno, že tato „past“ je totožná se zadními vrátky generátoru. V roce 2014 Matthew Green, kryptograf a profesor na Johns Hopkins University , [16] [17] kritizoval výbor za to, že neodstranil tato známá zadní vrátka. [18] Patent popsal 2 podmínky pro existenci tohoto zadního vrátka:

1) Je vybráno Q.

Generátor náhodných čísel eliptické křivky se vyhýbá klíčům u třetí osoby náhodným výběrem bodu Q. Záměrné použití klíčů u třetí osoby může poskytnout zálohu. Spojení mezi P a Q se používá jako klíč úschovy u třetí osoby a je uloženo v zabezpečené oblasti. Správce zaregistruje výstup generátoru a obnoví náhodné číslo pomocí klíče úschovy u třetí osoby.

2) Výkon generátoru není snížen

Zkrácení výstupu generátoru je alternativní způsob, jak zabránit útoku na klíč u třetí osoby. Zkrácení výstupu přibližně na polovinu zajistí, že výstup hodnot R spojených s jedním výstupem r nebude možné prohledávat. Například pro skupinu 160bitové eliptické křivky je počet potenciálních R bodů v seznamu asi 280 a hledání by bylo stejně obtížné jako problém s diskrétním logaritmem. Nevýhodou této metody je, že účinnost generátoru je poloviční, protože jeho výkon je poloviční.

Podle Johna Kelseyho, jednoho z autorů NIST SP 800-90A, byla do standardu přidána platná náhodná volba Q v reakci na zadní vrátka [9] , ale takovým způsobem, že generátor projde pouze FIPS 140-2 kontroluje pomocí Q od NSA . [19] Nebylo jasné, proč norma nespecifikuje princip výběru bodů jako číslo Nic v rukávu, nebo proč norma nezkrátila výkon generátoru, který by zabránil útoku na escrow klíč.

Ve srovnání s předchozím generátorem EC PRG bylo v Dual_EC_DRBG implementováno zkrácení výstupu, které poskytlo 1/2 až 2/3 výsledku kola EC PRG. [20] Toto snížení výkonu stále ponechalo výstup generátoru předvídatelný a nepoužitelný jako kryptograficky bezpečný generátor pseudonáhodných čísel. Standard říká, že implementace by měly používat malý max_outlen, ale umožňuje jeho použití pouze v násobcích 8 bitů. Dodatek C standardu říká, že výstup menšího počtu bitů způsobí, že výstup bude méně rovnoměrně rozložen, ale Brownův důkaz zabezpečení spoléhá na to, že max_outlen je mnohem menší.

Panel standardů a doporučení ANSI X9F1, který diskutoval o zadních vrátkách, zahrnoval také pracovníky z RSA Security . [21] V roce 2004 RSA Security zavedla backdoor implementaci Dual_EC_DRBG do RSA BSAFE jako výsledek tajné dohody s NSA. V roce 2013, poté, co New York Times uvedly, že Dual_EC_DRBG obsahuje zadní vrátka, RSA Security uvedla, že při uzavírání dohody s NSA o těchto zadních vrátkách nevěděla, a poté požádali uživatele, aby generátor přepnuli. Na konferenci RSA v roce 2014 výkonný předseda RSA Security Art Coviello vysvětlil, že společnost přichází o peníze ze šifrování, a rozhodl se s tím přestat a místo toho důvěřovat standardům a orgánům schvalujícím standardy, jako je NIST. [22]

Návrh NIST SP 800-90A, včetně Dual_EC_DRBG, byl zveřejněn v prosinci 2005. Konečná verze byla zveřejněna v červnu 2006. Dokumenty zobrazené Snowdenem byly interpretovány tak, že naznačují, že Dual_EC_DRBG implementuje zadní vrátka NSA, přičemž cituje přání NSA být jediným editorem standardu. [23] Dřívější použití Dual_EC_DRBG v RSA Security bylo předloženo NSA jako argument pro zahrnutí generátoru do NIST SP 800-90A. [24] RSA Security následně uvedla, že důvodem pro jeho použití bylo přijetí Dual_EC_DRBG společností NIST. [25]

Potenciální zadní vrátka nebyla zveřejněna mimo výbor pro standardy. Až po prezentaci Dana Shumova a Nilse Fergusona v roce 2007 se backdoor dostal do širokého povědomí. Měli za úkol implementovat Dual_EC_DRBG pro Microsoft . Kromě toho Ferguson diskutoval o možných zadních vrátkách v roce 2005 na setkání X9. [9] Bruce Schneier v článku Wired z roku 2007 napsal , že nevýhody Dual_EC_DRGB jsou tak zřejmé, že by ho nikdo nepoužil. [26]

OpenSSL implementuje všechny části NIST SP 800-90A, včetně Dual_EC_DRBG, navzdory jeho pochybné pověsti. Tvůrci OpenSSL zároveň poznamenali, že se snaží, aby OpenSSL bylo kompletní, a proto implementovali i nezabezpečené algoritmy. OpenSSL standardně nepoužívalo Dual_EC_DRBG a v roce 2013 bylo zjištěno, že implementace OpenSSL Dual_EC_DRBG byla rozbitá a nikdo ji nemohl používat. [19]

Bruce Schneier v prosinci 2007 oznámil, že Microsoft přidal podporu Dual_EC_DRBG do Windows Vista, i když nebyla ve výchozím nastavení povolena, a Schneier varoval před potenciálními zadními vrátky. [27] Windows 10 a novější nahradí volání Dual_EC_DRBG voláními generátoru založených na AES. [28]

9. září 2013 kvůli informacím od Snowdena a také zprávě New York Times o zadních vrátkách Dual_EC_DRBG NIST oznámil, že znovu vydává SP 800-90A a otevírá SP 800-90B/C k veřejnému komentáři. NIST nyní „důrazně doporučuje“ nepoužívat Dual_EC_DRBG. [29] [30] Zveřejnění zadních vrátek v přijatém standardu bylo pro NIST vážnou ostudou. [31]

RSA Security ponechala Dual_EC_DRBG jako výchozí generátor v BSAFE i poté, co se backdoor stal široce známým. V návaznosti na rozšířený zájem o zadní vrátka byl učiněn pokus najít software, který používal Dual_EC_DRBG, mezi nimiž BSAFE vyčníval. V roce 2013 poskytl bezpečnostní šéf RSA Sam Curry Ars Technica zdůvodnění pro výběr chybného výchozího standardu Dual_EC_DRBG před alternativními generátory. [32] Technická část prohlášení byla široce kritizována kryptografy. [33] Dne 20. prosince 2013 agentura Reuters uvedla, že RSA přijala tajnou platbu 10 milionů dolarů od NSA, aby nastavila Dual_EC_DRBG jako výchozí ve dvou šifrovacích produktech. [24] [34]

Poznámky

  1. Doporučení pro generování náhodných čísel pomocí deterministických generátorů náhodných bitů (revidováno  )  : časopis. - Národní institut pro standardy a technologie , 2007. - březen. Archivováno z originálu 26. září 2007.
  2. NIST odstraňuje kryptografický algoritmus z doporučení generátoru náhodných čísel , National Institute of Standards and Technology  (21. dubna 2014). Archivováno z originálu 29. srpna 2016. Staženo 8. dubna 2019.
  3. 12 Zvláštní publikace NIST 800-90 . Získáno 21. prosince 2017. Archivováno z originálu dne 28. listopadu 2016.
  4. ↑ 1 2 3 4 5 6 Dual_Ec_Drbg backdoor: důkaz konceptu na blogu Aris - Počítače, ssh a rock'n  roll . blog.0xbadc0de.be. Získáno 21. prosince 2017. Archivováno z originálu 3. září 2018.
  5. 1 2 Daniel RL Brown, Kristian Gjøsteen. Bezpečnostní analýza generátoru náhodných čísel eliptických křivek NIST SP 800-90  (anglicky)  // Pokroky v kryptologii - CRYPTO 2007. - Springer, Berlín, Heidelberg, 2007-08-19. - str. 466-481 . — ISBN 9783540741428 , 9783540741435 . - doi : 10.1007/978-3-540-74143-5_26 . Archivováno z originálu 4. března 2018.
  6. Berry Schoenmakers, Andrey Sidorenko. Kryptoanalýza generátoru pseudonáhodné duální eliptické křivky . - 2006. - č. 190 . Archivováno z originálu 15. prosince 2017.
  7. 1 2 The Many Flaws of Dual_EC_DRBG  , Pár myšlenek o kryptografickém inženýrství  (18. září 2013). Archivováno z originálu 20. srpna 2016. Staženo 14. prosince 2017.
  8. 1 2 3 Pár dalších poznámek o generátorech náhodných čísel NSA  , Pár myšlenek o kryptografickém inženýrství  (28. prosince 2013) . Archivováno z originálu 24. června 2018. Staženo 14. prosince 2017.
  9. 1 2 3 Duální EC v X9.82 a SP 800-90 . Získáno 15. prosince 2017. Archivováno z originálu 15. prosince 2017.
  10. 'Chyba v Dual EC DRBG (ne, to ne)' - MARC . marc.info. Získáno 14. prosince 2017. Archivováno z originálu 16. října 2014.
  11. Ball, Jamesi . Odhaleno: jak americké a britské špionážní agentury porazí soukromí a bezpečnost na internetu  , The Guardian (  6. září 2013). Archivováno z originálu 25. dubna 2018. Staženo 14. prosince 2017.
  12. ↑ 1 2 [Cfrg Dual_EC_DRBG ... [byl RE: Žádost o odstranění spolupředsedy CFRG]] . www.ietf.org. Získáno 14. prosince 2017. Archivováno z originálu 18. srpna 2016.
  13. [ http://rump2007.cr.yp.to/15-shumow.pdf O možnosti zadních vrátek v NIST SP800-90 Dual Ec Prng] . Datum přístupu: 7. ledna 2013. Archivováno z originálu 26. února 2014.
  14. Dual_Ec_Drbg backdoor: důkaz konceptu na blogu Aris - Počítače, ssh a rock'n  roll . blog.0xbadc0de.be. Získáno 14. prosince 2017. Archivováno z originálu 3. září 2018.
  15. Espacenet-bibliografická  data . celosvětově.espacenet.com. Získáno 14. prosince 2017. Archivováno z originálu 16. listopadu 2018.
  16. Matthew D. Green . Získáno 21. prosince 2017. Archivováno z originálu 3. května 2018.
  17. Matthew  Green . Několik myšlenek o kryptografickém inženýrství. Získáno 21. prosince 2017. Archivováno z originálu 29. ledna 2018.
  18. Doufám, že poslední příspěvek, který kdy napíšu na Dual EC DRBG  , Pár myšlenek o kryptografickém inženýrství (  14. ledna 2015). Archivováno z originálu 24. března 2018. Staženo 14. prosince 2017.
  19. 1 2 'Chyba v Dual EC DRBG (ne, to ne)' - MARC . marc.info. Získáno 15. prosince 2017. Archivováno z originálu 16. října 2014.
  20. The Many Flaws of Dual_EC_DRBG  , Pár myšlenek o kryptografickém inženýrství  (18. září 2013). Archivováno z originálu 20. srpna 2016. Staženo 15. prosince 2017.
  21. Několik dalších poznámek o generátorech náhodných čísel NSA  , Pár myšlenek o kryptografickém inženýrství  (28. prosince 2013). Archivováno z originálu 24. června 2018. Staženo 15. prosince 2017.
  22. Šest kryptografů , jejichž práci na Dual EC DRBG ocenil šéf RSA Art Coviello bez zásluh . jeffreycarr.blogspot.ru. Získáno 15. prosince 2017. Archivováno z originálu 15. prosince 2017.
  23. Ball, Jamesi . Odhaleno: jak americké a britské špionážní agentury porazí soukromí a bezpečnost na internetu  , The Guardian (  6. září 2013). Archivováno z originálu 25. dubna 2018. Staženo 15. prosince 2017.
  24. 1 2 Exkluzivně: Tajná smlouva spojená s NSA a průkopníkem bezpečnostního průmyslu , Reuters  (20. prosince 2013). Archivováno z originálu 5. května 2018. Staženo 15. prosince 2017.
  25. V našich krypto produktech nepovolujeme zadní vrátka, říká RSA zákazníkům  , Ars Technica . Archivováno z originálu 12. srpna 2018. Staženo 15. prosince 2017.
  26. Dala NSA do nového šifrovacího standardu tajná zadní vrátka?  (anglicky) , WIRED . Archivováno z originálu 23. listopadu 2015. Staženo 15. prosince 2017.
  27. Dual_EC_DRBG přidáno do Windows Vista - Schneier na zabezpečení . www.schneier.com. Získáno 15. prosince 2017. Archivováno z originálu 10. června 2018.
  28. Identifikátory algoritmu CNG (Windows  ) . msdn.microsoft.com. Získáno 15. prosince 2017. Archivováno z originálu 15. prosince 2017.
  29. DOPLŇKOVÝ BULLETIN ITL NA ZÁŘÍ 2013 . Získáno 15. prosince 2017. Archivováno z originálu 26. května 2018.
  30. Perlroth, Nicole . Vláda oznamuje kroky k obnovení důvěry v šifrovací standardy  , Bits Blog . Archivováno z originálu 25. března 2018. Staženo 15. prosince 2017.
  31. Můžete věřit NIST?  (anglicky) , IEEE Spectrum: Technology, Engineering, and Science News . Archivováno z originálu 1. února 2016. Staženo 15. prosince 2017.
  32. Přestaňte používat kód ovlivněný NSA v našich produktech, říká RSA zákazníkům  , Ars Technica . Archivováno z originálu 25. března 2018. Staženo 15. prosince 2017.
  33. RSA varuje vývojáře, aby nepoužívali produkty RSA  , Pár myšlenek o kryptografickém inženýrství  (20. září 2013). Archivováno z originálu 24. dubna 2018. Staženo 15. prosince 2017.
  34. Tato stránka byla odstraněna | News  (anglicky) , The Guardian . Archivováno z originálu 13. února 2021. Staženo 15. prosince 2017.

Odkazy