Môj vlastný ECC krivka bezpečnosti a výber analýza
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ť:
- Americký NIST (US National Institute of Standards) s 186-2 (posledný v roku 2009 nahradená novým 186-3 )
- USA ANSI (Americký národný inštitút štandard) s X9.62
- US NSA (National Security Agency) Suite-B kryptografie pre TOP SECRET výmenu informácií
- Medzinárodná SACG (štandardy pre efektívne šifrovanie skupiny) s odporúčanými parametrami eliptických kriviek Domain
- Nemecký ECC Brainpool withECC Brainpool s ich prísnych požiadaviek na zabezpečenie
- Fóre ECC Interoperability sa skladá zo Certicom, Microsoft, RedHat, Sun a NSA
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).
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é.
















































3 Komentáre
Práve som podpísal až do svojich blogov RSS feed. Budete písať viac na túto tému?
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.
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.