Nie každá eliptická krivka je rovnaká: žľab na ECC bezpečnosti

 Môj vlastný ECC krivka bezpečnosti a výber analýza

vn9jna1BdgrzDCYNBJHi09q09q.jpg

Väčšina moderných kryptografických použitie eliptických kriviek kryptografický (ECC), ktorá, s menšou veľkosťou a kľúčovú znížiť výpočtovú silu, aby sa rovnakým spôsobom zabezpečenia silu tradičného systému kryptografické známy ako DH (Diffie-Hellman) alebo RSA (Rivest, Shamir a Adleman).

Nie každý vie, že šifrovanie ECC je vybraná pre prípadné budúce použitie šifrovania a že aj TLS / SSL (šifrovanie pre zabezpečenie web) sa sťahuje do ECC.

Našiel som veľa tzv "proprietárne šifrovacie produkty", ktoré opustených RSA a DH sa ide s alternatívami ECC, ktoré majú tendenciu k ľubovoľnej použitia kľúča bit ECC veľkosti bez toho, aby upresnil, ktorý druh ECC crypto zvyknúť.

Avšak je tu veľa nejasností okolo eliptických kriviek, s mnohými rôznymi menami a velkosti kľúče robiť ťažké pre non-kryptograficky skúsení užívateľa, aby si vlastnú postavu pri posudzovaní nejaké veci crypto.

Pretože tak rozptýleného zmätku som sa rozhodol urobiť vlastnú analýzu, zistiť, ktoré sú najlepšie ECC šifrovanie ECC krivky a pravé tlačidlo veľkosť na použitie.

Táto analýza by rád, aby bezpečnostný priemysel založený na výber medzi rôznymi krivkami a veľkostiach kľúčov, takže matematické a analytické úvahy crypto, ktorý bol už bola vykonaná v rokoch, ktorá zhŕňa rôzne možnosti prijaté v niekoľkých štandardov a bezpečnostných protokolov.

Prvý záver.

Z mojej analýzy iba nasledujúce ECC krivky sa považujú pre použitie v šifrovacie systémy, pretože je len jeden vybraný medzi rôznymi orgánmi (ANSI, NSA, SAG, NIST, ECC BrainPool), rôzne bezpečnostné štandardy protokolu (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS) a iba jeden zodpovedajúce NSA Suite B bezpečnostné požiadavky (de-facto štandard aj pre NATO vojenskom prostredie):

  • Eliptické predseda Krivka 256 bit - P-256
  • Eliptické predseda Krivka 384 bit - P-384

s možnosťou, len pre naozaj paranoidný, že chcete získať viac kľúčov veľkosti kúsok, stále nie je považované za užitočné:

  • Eliptické predseda Krivka 521 bit - P-521

Chcel by som konštatovať, že Koblitz krivky je potrebné sa vyhnúť, a to za kľúčové veľkosti (163/283/409/571), pretože nemá dostatok záruku na kryptografické činnosti analytické a efektívne sú:

  • Nie je súčasťou NSA Suite-B výberu kryptografie
  • Nie je súčasťou ECC výberu Brainpool
  • Nie je súčasťou ANSI X9.62 výberu
  • Nie je súčasťou OpenPGP rozšírenie výberu ESC
  • Nie je súčasťou rozšírenia Kerberos pre výber krivky ECC

Pozývam čitateľa sledovať koryto moja analýza porozumieť základom, ktoré možno chápať aj bez hlbokých technických pozadí, ale aspoň s dobrým technologickým zázemím niektoré základné bit kryptografie.

 Je to tu s analýzou
 

Mojím cieľom je vykonať analýzu o tom, čo / ako otvorené vedecké a bezpečnostná komunita zvolila ECC crypto systém pre použitie v bezpečnostných protokolov a štandardov definovaných IETF RFC (tí, ktorí definujú internetové štandardy v otvorenom a vzájomne hodnotených spôsobom).

Pod sady RFC zavádzajú šifrovanie ECC do existujúceho systému, ktoré sa dostanú analyzované pochopiť, čo je lepšie používať a čo je lepšie pre vylúčenie:

  • RFC5639 : ECC Brainpool štandardnej krivky a krivka generácie
  • RFC4869 slovami: NSA Suite B Kryptografické Suity pre IPsec
  • RFC5430 : NSA Suite B profil Transport Layer Security (TLS)
  • RFC5008 : NSA Suite B v Secure / Multipurpose Internet Mail Extensions (S / MIME)
  • RFC3766 : Stanovenie Silné u verejných kľúčov používaných pre výmenu symetrických kľúčov
  • RFC5349 : Elliptic Curve Cryptography (ECC) Podpora pre kryptografiu verejného kľúča pre počiatočné overovanie Kerberos (v PKINIT)
  • RFC4492 : kryptografia eliptických kriviek (ECC) šifier pre Transport Layer Security (TLS)
  • ZRTP hlas šifrovanie Philip Zimmermann ECC krivky
  • ECC v OpenPGP (návrh d -vor jivsov-OpenPGP-ECC-06 )
  • ECC Krivky vybraných spoločností Microsoft pre Smartcard Kerberos prihlásenie

Využijeme možnosť, ktorého vedec definovanie internetových protokolov pre zabezpečenie, aby sa súčasťou nášho hodnotenia.
Ďalej je potrebné pochopiť, že krivka výber pochádza z rôznych orgánov, ktoré robili ich vlastný výber krivky, aby sa povedať, pre priemysel, čo použiť a čo preskočiť:

Využijeme možnosť, ktorého vedca definujúce bezpečnostné požiadavky v normalizačné orgány, aby sa súčasťou nášho hodnotenia.
Navyše niečo, čo väčšina ľudí nevie, ale že je to veľmi dôležité pre našej analýzy je, že existujú rôzne druhy ECC krivky kryptografie a ich "veľkosť" Je to iné v závislosti od druhu krivky:

  • ECC Krivky cez pole pripraviť (často označované ako eliptickej krivke a zastupuje P-dĺžku kľúča)
  • ECC Krivky cez binárne pole (často označovaný ako Koblitz krivky a zastupuje K-dĺžku kľúča)

Vzhľadom k tomu, bezpečnostné sily rovnocennosti Eliptické krivky a krivka Kobliz majú rôznu veľkosť kľúča, napríklad keď čítame ECC 571 máme na mysli Koblitz krivky sa rovnakú pevnosť ako ECC 521 krivky predsedu.

Porovnanie sily medzi eliptických kriviek a Kotbliz kriviek je uvedený nižšie (od Mikey ECC internete návrhu ):

 | Koblitz | ECC | DH / DSA / RSA
 | 163 | 192 | 1024
 | 283 | 256 | 3072
 | 409 | 384 | 7680
 | 571 | 521 ​​| 15360

Nižšie je porovnanie všetkých vybraných kriviek všetkými rôznymi subjektmi a ich príslušné meno (od IETF RFC4492 pre použitie ECC pre TLS ):

 Krivka mená vybraných rôznymi normalizačnými organizáciami ------------ + --------------- + ------------- SECG | ANSI X9.62 | NIST ------------ + --------------- + ------------- sect163k1 | | NIST K-163 sect163r1 | | sect163r2 | | NIST B-163 sect193r1 | | sect193r2 | | sect233k1 | | NIST K-233 sect233r1 | | NIST B-233 sect239k1 | | sect283k1 | | NIST K-283 sect283r1 | | NIST B-283 sect409k1 | | NIST K-409 sect409r1 | | NIST B-409 sect571k1 | | NIST K-571 sect571r1 | | NIST B-571 secp160k1 | | secp160r1 | | secp160r2 | | secp192k1 | | secp192r1 | prime192v1 | NIST P- 192 secp224k1 | | secp224r1 |​​ | NIST P-224 secp256k1 | | secp256r1 | prime256v1 | NIST P-256 secp384r1 | | NIST P-384 secp521r1 | | NIST P-521 ------------ + - -------------- + ------------- 

Čo sa okamžite objaví, že existujú iba dve krivky vybrané všetky orgány, a že existuje všeobecná dumpingu Koblitz kriviek ANSI.The iba spoločne dohodnutých medzi orgánmi, 3 sú tieto dve ECC krivka:

  • secp192r1 / prime192v1 / NIST P-192
  • secp256r1 / prime256v1 / NIST P-256

Z tých výberu krivky ECC pre TLS RFC5430 vynechané úplne Koblitz krivky a vybraný na použitie len:

  • P-256, P-384, P-521

ECC Brainpool preskočí úplne Koblitz krivky a vybraný na použitie týchto ECC Krivky:

  • P-160, P-192, P-224, P-256, P-320, P-384, P-512 (to je jediný najmä preto, že to nie je P-521, ale P-512, jediný kľúč veľkosti postupuje ECC brainpool. tnx Ian Simons z Athena SCS )

Internet OpenPGP návrh pre použitie ECC v PGP d vor-jivsov-OpenPGP-ECC-06 úplne vynechané Koblitz krivky a vybrali nasledujúce ECC krivky

  • P-256, P-384, P-521

Protokol Kerberos rozšírenie pre použitie ECC, sú definované v RFC5349 a definované spoločnosťou Microsoft pre prihlásenie smartcard preskočí úplne Koblitz krivky a vybrala tieto ECC krivky:

  • P-256, P-384, P-521

Tak znie jasné, že právo výberu ESC je pre P-256, P-384 a P-521, zatiaľ čo Koblitz krivky boli vynechané pre Top Secret použitie a pre všetky bezpečnostné citlivé protokol (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS).

Preto som urobil tento rozbor?

Urobil som túto analýzu na základe diskusie som sa o určité produkty hlasové šifrovanie, to všetko na základe vlastných a proprietárne protokoly, ktoré sú pomocou Diffie Hellman eliptickej krivke 571 bit / ECDH 571/571-bit ECDH / Koblitz 571 bitov.
Všetky tieto látky sa pomocou K-571, ktorý, ako bolo popísané vyššie, bol odstránený od všetkých bezpečnostne citlivé prostredie a protokolov a byť sám návrhár vecí hlasové šifrovanie myslím, že ich kryptografický voľba nie je absolútne najlepší bezpečnostný voľbou.
Pravdepodobne to bolo robené len pre marketingové účely, pretože K-571 (Koblitz krivka) sa zdá silnejší ako P-521 (Elliptic krivka založená na prvočísla). Ak máte "trochu viac" vaše marketingové ľudia môžu tvrdiť, že "bezpečnejšie". Koblitz eliptických kriviek sú rýchlejšie ako prísne tajné umožnil predseda eliptickej krivke, a tak dať produktového manažéra možnosť poskytovať "trochu viac" v ňom vlastný produkt pri zachovaní výmeny kľúčov rýchlo.

Je to otázka filozofického voľby.

Radšej nasledovať trend vedeckej komunity s pokorou, aby s ohľadom na seba šifrovacie odborník, knowledgable viac ako celkovej bezpečnosti a vedeckou komunitou samotnou.

Ja radšej používať iba algoritmy, ktoré sú schválené pre použitie vo vysoko citlivých prostrediach (prísne tajné, klasifikácia), ktoré boli vybrané všetky orgány a pracovné skupiny analyzujúcich šifrovacie algoritmy existujúce mimo, a že predstavujú výber z takmer všetkých štandardných bezpečnostných protokolov (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS, atď.)
Radšej počítať množstvo mozgu pracujú na crypto ju používam, že kontrola, ktorá je naozaj bezpečné, že vyhodnotí, či existuje nejaký slabosť.

Počet pracujúcich na brais Crypto široko rozptýlené sú rádovo väčšie, než je počet mozgu pracujú na crypto používajú len pár ľudí (ako Koblitz krivky).
Takže ja nie som démonizovanie, ktorí používajú ECDH 571 Koblitz pomocou krivky, ale určite môžem potvrdiť, že nebola prijatá najlepšiu voľbu z hľadiska bezpečnosti, a že sa odborníci na bezpečnosť robia bezpečnostné benchmarking by vziať do úvahy skutočnosť, že Elliptic Curve Diffie Hellman 571 niečo urobiť s Curve Koblitz nie je široko difúzny, je to dumping zo štandardných bezpečnostných protokolov a to nie je certifikovaný pre použitie prísne tajné.

Podiel

3 Komentáre

  • 1
    badmash
    23 október 2010 - 12:32 | Permalink

    Práve som podpísal až do svojich blogov RSS feed. Budete písať viac na túto tému?

  • 2
    Ian Simmons
    27 október 2010 - 00:57 | Permalink

    Verím, že je chyba v tomto článku. ECC ECC Brainpool určuje FP 512-bitový kľúč nie je 521-bit. Pozri RFC5639 oddiel 2.2. Technické požiadavky zarážka 1.

  • 3
    26.květen 2011 - 10:46 | Permalink

    Po pohľade na RFC5639 a Brainpool miesto, ja som celkom istý, že Brainpool P-krivky nie sú rovnaké, ako SECG a X9.62, NIST. Používajú veľmi podobnú metodiku, ale rozhodol sa vytvárať nové krivky pomocou rovnakej veľkosti (s výnimkou 512 bitov namiesto 521 bitov). Oni citujú lepšie zabezpečenie pomocou hodnotu 'p', ktorá nemá žiadnu zvláštnu formu (aby sa zabránilo patentovaný rýchly aritmetika) a všeobecnú nedôveru v NIST kriviek ods výslovne hovoril), že nemajú vysvetlenie jednotlivých používaných semien.

  • Required

    Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

    *

    Môžete použiť tieto HTML tagy a atribúty: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>