Mea ECC curba de securitate şi de analiză de selecţie
Cele mai moderne cripto criptografic Curve utilizarea eliptice (ECC), care, cu o dimensiune mai mică-cheie şi de a reduce puterea de calcul, da puterea de securitate echivalentă a sistemului tradiţional cripto cunoscut sub numele de DH (Diffie-Hellman) sau RSA (Rivest, Shamir si Adleman).
Nu toată lumea ştie că de criptare ECC este selectat pentru orice aplicaţii de criptare viitoare şi că, chiar şi TLS / SSL (criptare utilizate pentru asigurarea web), se muta la ECC.
Am găsit o mulţime de aşa-numitele "produse de criptare de proprietate", care a abandonat RSA şi DH pentru a merge cu alternative ECC, care tind în mod arbitrar mărimea cheii de utilizare ECC pic chiar şi fără a preciza care tip de ECC cripto te obişnuieşti.
Totuşi, există o mulţime de confuzie în jurul valorii de curbe eliptice, cu o mulţime de nume diferite şi dimensiuni cheie care face dificil pentru un non-criptografice-experienţă-utilizator pentru a face figura ta atunci când se evaluează unele lucruri cripto.
Din cauza confuzie, astfel difuze am decis sa fac propria mea analiza pentru a afla care sunt cele mai bune curbe de criptare ECC şi ECC-dreapta de dimensiuni pentru a utiliza.
Această analiză ar dori să ofere o alegere bazată pe industria de securitate între curbe diferite şi de dimensiuni cheie, lăsând considerente matematice şi cripto analitice, care a fost deja efectuate în cursul anilor, rezumă diferitele opţiuni luate în mai multe standarde şi protocoale de securitate.
Prima concluzie.
Din analiza mea numai curbele următoarele ECC trebuie să fie luate în considerare pentru utilizarea în sistemele de criptare pentru ca sunt singurul ales între diferite autorităţi (ANSI, NSA, SAG, NIST, ECC BrainPool), standardele de securitate diferite de protocol (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS) şi doar unul potrivite NSA Suite B cerinţele de securitate (de-facto standard, de asemenea, pentru mediul militar NATO):
- Prim-eliptic Curve 256 bit - P-256
- Prim-eliptic Curve 384 bit - P-384
cu opţional, doar pentru adevărat paranoic care doriţi să obţineţi mai multe dimensiuni cheie pic, încă nu a considerat util:
- Prim-eliptic Curve 521 bit - P-521
Aş dori să precizeze că curbe Koblitz ar trebui să fie evitate, în orice dimensiune cheie (163/283/409/571), deoarece nu are suficient de garanţie pe cripto de activitate analitică şi eficient sunt:
- Nu fac parte din ANS-Suite B selecţie criptografie
- Nu fac parte din ECC selecţie Brainpool
- Nu fac parte din ANSI X9.62 de selecţie
- Nu fac parte din selecţie prelungire OpenPGP ECC
- Nu fac parte din extinderea Kerberos pentru selectarea curbei ECC
Invit cititorul să urmărească prin analiza mea de a înţelege fundamentale care ar putea fi înţelese chiar şi fără pregătire tehnică, dar profund, cel puţin, cu un fundal tehnologic de bun este un pic unele de bază a criptografiei.
Aici vom merge cu analiza
Scopul meu este de a face o analiză asupra a ceea ce / cum ştiinţifică deschis şi comunitatea de securitate Alege ECC sistem criptografic pentru utilizarea în protocoalele de securitate şi standardele definite de IETF RFC (cei care definesc standarde de internet într-un mod deschis şi peer-review).
Mai jos un set de RFC ECC introducerea în sistemul existent, care se analizate pentru a înţelege ceea ce este mai bine sa folositi si ce e mai bine pentru a exclude:
- RFC5639 : ECC Brainpool Standard & Curbe generaţie Curve
- RFC4869 : NSA Suite B Suites criptografice pentru IPsec
- RFC5430 : ANS Suite B profil pentru Transport Layer Security (TLS)
- RFC5008 : ANS Suite B, în extensiile Secure / Multipurpose Internet Mail (S / MIME)
- RFC3766 : Puncte tari determinanţi pentru chei publice utilizate pentru schimbul de chei simetrice
- RFC5349 : eliptice Curve Cryptography (ECC) Sprijin pentru criptografia cu chei publice pentru autentificare iniţială în Kerberos (PKINIT)
- RFC4492 : eliptice Curve criptografice (ECC) Suites cifru pentru Transport Layer Security (TLS)
- ZRTP criptare voce de Philip Zimmermann ECC curba
- ECC în OpenPGP (proiect de d -plută jivsov-OpenPGP-ECC-06 )
- Curbe ECC selectate de către Microsoft pentru Smartcard autentificare Kerberos
Vom folosi alegerea făcută de om de stiinta definirea protocoalelor Internet Security pentru a face parte din evaluarea noastră.
În plus, trebuie să se înţeleagă că selecţia Curve provine de la diferite autorităţi, care au făcut selecţia lor a curbelor, în scopul de a spune ceea ce a industriei de a utiliza şi de ce pentru a trece:
- SUA NIST (SUA, Institutul National de Standarde), cu 186-2 (recent înlocuit în 2009 de către noul 186-3 )
- SUA ANSI (American National Standard Institute), cu X9.62
- SUA NSA (National Security Agency) Suite-B Criptografie pentru TOP SECRET schimbul de informaţii
- International SACG (Standarde pentru grupul de criptografie eficient) cu recomandate Parametri eliptice Domain Curve
- German ECC Brainpool withECC Brainpool lor cu cerinţele stricte de securitate
- ECC Interoperabilitatea Forum compus de Certicom, Microsoft, RedHat, Sun, NSA
Vom folosi alegerea făcută de om de stiinta de definire a cerinţelor de securitate în cadrul agenţiilor de standardizare pentru a face parte din evaluarea noastră.
În plus, ceva ce majoritatea oamenilor nu ştie, dar că este extrem de relevant pentru analiza noastră, este că există diferite tipuri de ECC curbei de criptografie şi lor "marimea" este diferit, în funcţie de tipul de curba:
- Curbe ECC peste câmp prim (adesea menţionată ca curbe eliptice şi reprezentată de către P-keysize)
- Curbe ECC peste câmpuri binare (adesea menţionată ca Curve Koblitz şi reprezentată de către K-keysize)
Având o forţă de securitate echivalenţă curbe eliptice şi Curve Kobliz au diferite dimensiuni cheie, de exemplu, atunci când am citit ECC 571, ne referim la Curve Koblitz cu o putere echivalentă cu 521 ECC curba Prim.
O comparaţie de putere între curbe eliptice şi curbe Kotbliz este raportată de mai jos (de la Mikey ECC Proiect de internet ):
| Koblitz | ECC | DH / DSA / RSA | 163 | 192 | 1024 | 283 | 256 | 3072 | 409 | 384 | 7680 | 571 | 521 | 15360
Mai jos este o comparaţie a tuturor curbelor selectate de către toate entităţile diferite şi numele lor (de la IETF RFC4492 pentru utilizarea ECC pentru TLS ):
Numele de curba alese de diferite organizaţii de standardizare ------------ + --------------- + ------------- 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 ------------ + --------------- + -------------
Ce apar imediat este faptul că există doar două curbe selectate de către toate autorităţile, şi că există un dumping generală a curbelor de koblitz ANSI.The numai convenite de comun acord între cele 3 autorităţi sunt următoarele două ECC curba:
- secp192r1 / prime192v1 / NIST P-192
- secp256r1 / prime256v1 / NIST P-256
Dintre cei selectarea curbei ECC pentru TLS RFC5430 omit complet curbe koblitz şi selectate pentru utilizare numai în:
- P-256, P-384, P-521
Brainpool ECC omit complet curbe Koblitz şi selectată pentru utilizarea curbelor de următoarele ECC:
- P-160, P-192, P-224, P-256, P-320, P-384, P-512 (care este special doar pentru că nu este P-521, dar P-512, singura cheie de dimensiune prevăzută de către ECC brainpool. tnx Ian Simons, de la Athena SCS )
Proiectul de internet OpenPGP pentru utilizarea ECC în PGP d -serie jivsov-OpenPGP-ECC-06 omit complet curbe Koblitz şi selectate următoarele ECC curbele
- P-256, P-384, P-521
Extinderea protocolul Kerberos pentru utilizarea ECC, definită în RFC5349 şi definite de către Microsoft pentru conectarea SmartCard omit complet curbe Koblitz şi selectat curbele ECC următoarele:
- P-256, P-384, P-521
Deci, pare clar că alegerea dreptul de ECC este pentru P-256, P-384 şi P-521, în timp ce curba Koblitz au fost omise pentru utilizarea Top Secret si pentru orice protocol de securitate sensibile (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS).
Am făcut această analiză în urma unei discuţii am avut cu privire la anumite produse de voce de criptare, toate bazate pe protocoalele personalizate şi de proprietate, care sunt toate folosind curbe eliptice Diffie Hellman 571 biţi / ECDH 571/571-biţi ECDH / Koblitz 571 de biţi.
Toate acestea sunt cu ajutorul K-571, care, aşa cum este descris mai înainte, a fost eliminat de la toate mediului de securitate sensibile şi a protocoalelor şi a fi eu un designer de lucruri de criptare voce, cred că alegerea lor criptografică nu este absolut cea mai buna alegere de securitate.
Probabil acesta a fost făcut doar pentru scop de marketing, deoarece K-571 (Koblitz curba) pare mai puternică decât P-521 (curbe eliptice în funcţie de numărul Prime). Dacă aveţi "mai putin", baietii de marketing poate pretinde a fi "mai sigure". Curbe eliptice Koblitz sunt mai rapide decât top secret a permis curbe eliptice prim şi astfel să manager de produs la o şansă de a oferi "ceva mai mult" în produsul propriu păstrând în acelaşi timp rapid schimbul de chei.
Este o chestiune de alegere filosofice.
Am prefera să urmeze tendinţa de comunitatea stiintifica, cu umilinţa de a nu mă considerare un expert criptografic, mai bine informat decât global de securitate şi de comunitatea ştiinţifică în sine.
Eu prefer în schimb să utilizeze algoritmi numai, care sunt aprobate pentru utilizarea în medii extrem de sensibile (de clasificare secret de sus), care au fost selectate de către toate autorităţile şi a grupului de lucru analiza algoritmi de criptare existente out-acolo şi care reprezintă alegerea de aproape toate de securitate standard protocoale (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS, etc).
Am prefera să numere suma de creierul de lucru pe cripto-am folosi, această verificare, care este cu adevărat sigure, care să evalueze dacă există unele slăbiciune.
Numărul de brais de lucru pe larg răspândită Crypto sunt de ordine de mărime mai mare decât numărul de creier de lucru pe cripto utilizate doar de puţini oameni (cum ar fi curba Koblitz).
Deci, eu nu sunt demonizarea care folosesc ECDH 571 folosind Curve Koblitz, dar pentru că i se poate afirma că nu au luat cea mai bună alegere în materie de securitate şi că orice profesionisti de securitate a face o evaluare comparativă de securitate ar putea lua în considerare faptul că eliptice Curve Diffie Hellman 571 biţi făcut cu curba Koblitz nu este larg răspândită, este obiectul unui dumping din protocoale standard de securitate şi nu este certificat pentru utilizare strict secret.
















































