Nije svaki eliptičkih krivulja je ista: korito na ECC sigurnosti

 Moja ECC krivulja sigurnosti i odabir analiza

vn9jna1BdgrzDCYNBJHi09q09q.jpg

Većina modernih kripto korištenje eliptičkih krivulja Cryptographic (ECC) da, s manjim ključnim veličini i smanjiti moć računanja, dati odgovarajući sigurnosni snagu tradicionalnog kripto sustav poznat kao dH (Diffie-Hellman) ili RSA (Rivest, Shamir i autorima).

Nije svatko zna da ECC enkripcija je odabrana za bilo kakve buduće šifriranja aplikacija i da čak i TLS / SSL (enkripcija koristi za osiguravanje web) se seli u ECC.

Našao sam dosta tzv "proprietary šifriranja proizvoda" koji napuštenih RSA i spust da ide s ECC alternative, koji imaju tendenciju da proizvoljnog korištenja ECC bitni ključ veličine čak i bez određuje koje vrste ECC kripto naviknuti.

No tu je i puno zbrke oko eliptičkih krivulja, s puno različitih imena i ključnih veličina izradu teško za ne-kriptografski iskusan korisniku napraviti svoj ​​vlastiti lik prilikom ocjenjivanja kripto neke stvari.

Zbog tako difuzno konfuzije sam odlučio napraviti svoju analizu kako bi saznali koji su najbolji ECC šifriranje krivulje i pravo ECC ključna veličina za korištenje.

Ova analiza bi željeli pružiti sigurnost industrije na izbor između različitih krivulja i ključnih veličina, ostavljajući matematičkih i kripto analitičkih razmatranja koja je već učinjeno tijekom godina, sumirajući različite odluke koje se poduzimaju u nekoliko standarda i sigurnosne protokole.

Prvi zaključak.

Od moje analize samo sljedeće ECC krivulje treba uzeti u obzir za uporabu u sustavima šifriranja, jer su samo jedan odabran između različitih tijela (ANSI, NSA, SAG, NIST, ECC BrainPool), različiti sigurnosni protokol standardi (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS) i samo jedan podudaranje NSA Suite B sigurnosni zahtjevi (de-facto standard i za NATO vojne okoliš):

  • Eliptičkih krivulja premijer 256 bit - P-256
  • Eliptičkih krivulja premijer 384 bit - P-384

s opcijskim, samo za stvarno paranoičan da želite dobiti više ključnu veličini malo, još uvijek ne smatra korisnim:

  • Eliptičkih krivulja premijer 521 bit - P-521

Želio bih reći da Koblitz krivulje treba izbjegavati u svakom ključnom veličine (163/283/409/571) kao što nema dovoljno jamstvo na kripto analitičke aktivnosti i učinkovito su:

  • Ne dio NSA Suite-B kriptografske izbor
  • Ne dio ECC Brainpool izbor
  • Nije dio ANSI X9.62 izbor
  • Ne dio OpenPGP ECC proširenje odabira
  • Ne dio Kerberos proširenje za ECC krivulje izbor

Pozivam čitatelje da slijedite kroz moj analiza razumjeti osnove koja bi se mogla razumjeti i bez duboke tehničkoj pozadini, ali najmanje s dobrim tehnološkim pozadini neke osnovne malo kriptografije.

 Ovdje ćemo ići s analizom 
 

Moj cilj je napraviti analizu o tome što / kako otvoriti znanstvena zajednica i sigurnost odabireš ECC kripto sustav za primjenu u sigurnosnim protokolima i standardima definiranim od strane IETF RFC (oni koji definiraju Internet standarde u otvorenom i recenzirani način).

U nastavku skupa RFC uvodi ECC u postojećem sustavu koji se analiziraju kako bi razumjeli ono što je bolje koristiti, a što je bolje isključiti:

  • RFC5639 : ECC Brainpool Standardna krivulja i krivulja generacija
  • RFC4869 : NSA Suite B kriptografski Suites za IPsec
  • RFC5430 : NSA Suite B profil za Transport Layer Security (TLS)
  • RFC5008 : NSA Suite B u Secure / Multipurpose Internet Mail Extensions (S / MIME)
  • RFC3766 : utvrđivanje prednosti za javnih ključeva koji se koriste za razmjenu simetričnih ključeva
  • RFC5349 : eliptičkoj krivulji Kriptografija (ECC) Podrška za kriptografija s javnim ključem za početnu provjeru vjerodostojnosti u Kerberos (PKINIT)
  • RFC4492 : eliptičkoj krivulji kriptografske (ECC) šifra Suites za Transport Layer Security (TLS)
  • ZRTP glas šifriranje Philip Zimmermann ECC krivulje
  • ECC u OpenPGP (nacrt d splav-jivsov-OpenPGP-ECC-06 )
  • ECC krivulje odabrane od strane Microsofta za SmartCard Kerberos prijave

Mi ćemo koristiti izbor made by znanstvenik definiranja Internet protokole sigurnosti kako bi se čine dio naše procjene.
Uz to, treba shvatiti da je krivulja izbor dolazi iz različitih tijela koje je napravio svoj ​​izbor krivulja kako bi se reći da se u industriji što koristiti i što preskočiti:

Mi ćemo koristiti izboru za kojeg znanstvenika koji definira sigurnosne uvjete u standardizaciji agencija da dio naše procjene.
Osim toga, nešto što većina ljudi ne zna, ali da je iznimno relevantna za naše analize je da postoje različite vrste krivulja ECC kriptografije i svoje "Veličina" se razlikuje ovisno o vrsti krivulje:

  • ECC krivulje preko premijera polje (često se naziva i eliptičkih krivulja i zastupa P-keysize)
  • ECC krivulje preko binarnu polje (često se naziva kao Koblitz krivulje i predstavlja K-keysize)

S obzirom na sigurnosne snage ekvivalencije eliptičkih krivulja i krivulja Kobliz imaju različite ključne veličine, na primjer kad čitamo ECC 571 mi smo se odnosi na Koblitz Curve s jednakim snage do 521 ECC premijera krivulje.

Usporedba snage između eliptičkih krivulja i krivulja Kotbliz izvijestio dolje (od Mikey ECC internet Draft ):

 | Koblitz | ECC | DH / DSA / RSA
 | 163 | 192 | 1.024
 | 283 | 256 | 3.072
 | 409 | 384 | 7.680
 | 571 | 521 ​​| 15360

Ispod postoji usporedba svih odabranih krivulja svih različitih entiteta i njihovih imena (od IETF RFC4492 za korištenje ECC za TLS ):

 Krivulja imena koja su odabrana po različitim standardima organizacije
 ------------ + --------------- + -------------
 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
 ------------ + --------------- + -------------

Ono što odmah se je da postoje samo dvije krivulje odabrane od strane svih tijela, te da postoji opći odlaganje Koblitz krivulja po ANSI.The samo zajednički dogovorenih između 3 vlasti su sljedeće dvije ECC krivulja:

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

Od tih izbor ECC krivulje za TLS RFC5430 preskočila potpuno Koblitz krivulje i odabrani za korištenje samo:

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

ECC Brainpool preskočila potpuno Koblitz krivulje i odabrani za korištenje sljedeće ECC krivulje:

  • P-160, P-192, P-224, P-256, P-320, P-384, P-512 (to je samo posebno jer nije P-521, ali P-512, jedini ključ veličine upućeni od strane ECC brainpool. tnx Ian Simons iz Athena SCS )

Nacrt OpenPGP internet za korištenje ECC u PGP d splav-jivsov-OpenPGP-ECC-06 preskočila potpuno Koblitz krivulje i odabrao sljedeće ECC krivulje

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

Proširenje Kerberos protokol za korištenje ECC, definirani u RFC5349 i definirani od strane Microsofta za SmartCard prijavu preskočila potpuno Koblitz krivulje i odabrao sljedeće ECC krivulje:

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

Dakle, zvuči jasno da pravilan odabir ECC je za P-256, P-384 i P-521, dok Koblitz krivulja su preskočili za Top Secret upotrebu i za bilo koji sigurnost osjetljivih protokola (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS).

Zašto sam napravio tu analizu?

Učinio sam ovu analizu nakon rasprave sam u vezi određene proizvode glasovne šifriranje, a sve na temelju prilagođene i protokoli, koji su svi pomoću eliptičkih krivulja Diffie Hellman 571 bit / ECDH 571/571-bitne ECDH / Koblitz 571 bitova.
Sve ih se koristi K-571 koji, kako je opisano prije, uklonjena je iz svih sigurnosti osjetljivom okolišu i protokole, a da si dizajner glasa šifriranja stvari ja mislim da je njihov izbor kriptografski apsolutno nije najbolji izbor sigurnost.
Vjerojatno je to učinjeno samo za marketinške svrhe, jer K-571 (Koblitz krivulja) čini jači od P-521 (eliptičkih krivulja temelji se na broj premijera). Ako imate "još malo" vaši dečki marketinške može tvrditi da je "sigurnije". Koblitz eliptičkih krivulja su brže nego na vrhu tajne omogućio premijera eliptičkoj krivulji i tako dati menadžer za proizvode priliku osigurati "malo više" u svojim vlastitim proizvodom, a imajući ključnim razmjenu brzo.

To je stvar filozofske izboru.

Volim slijediti trend znanstvene zajednice s poniznosti ne s obzirom sebe kriptografski stručnjak, knowledgable više od ukupne sigurnosti i znanstvene zajednice same.

Radije umjesto da koristite samo algoritmi koji su odobreni za uporabu u vrlo osjetljivim sredinama (top secret klasifikacija), koje su odabrane od strane svih tijela i radne grupe analize postojeće algoritme enkripcije izvan je i da predstavljaju izbor gotovo sve standardne sigurnosti protokoli (IPSec, OpenPGP, ZRTP, Kerberos, SSL / TLS, itd.).
Volim računati količinu mozga rade na kripto i koristiti, da potvrdite da je stvarno siguran, da procjene da li postoji neka slabost.

Broj brais rade na kripto široko difuzno su reda veličine više od broja koji rade na mozgu kripto koristi samo nekoliko ljudi (kao što Koblitz krivulje).
Dakle, ja sam ne demonizing koji koriste ECDH 571 Koblitz koristeći krivulju, ali sigurno ja mogu potvrditi da nisu uzeti najbolji izbor u pogledu sigurnosti i da se svi sigurnosni stručnjaci rade sigurnosni benchmarking bi uzeti u obzir činjenicu da eliptičkoj krivulji Diffie Hellman 571 malo učinjeno s Koblitz Curve nije široko difuzno, to je odbačeno od standardnih sigurnosnih protokola i to nije certificiran za Top Secret korištenja.

Udio

3 Komentari

  • 1
    badmash
    23. listopad 2010 - 12:32 | Permalink

    Upravo sam se prijavio na vaše blogove RSS feed. Hoćete li postavljati više o ovoj temi?

  • 2
    Ian Simmons
    27. listopad 2010 - 0:57 | Permalink

    Vjerujem da postoji mana u ovom članku. ECC Brainpool navodi se ECC FP 512-bitni ključ ne 521-bitna. Vidi RFC5639 odjeljak 2.2. Tehnički zahtjevi bullet 1.

  • 3
    Svibanj 26, 2011 - 10:46 | Permalink

    Nakon obličje at RFC5639 i Brainpool stranica, ja sam prilično siguran da Brainpool P-krivulje nisu isti od SECG i X9.62, NIST. Oni koriste vrlo slične metodologije, ali je izabrao za stvaranje novih krivulja koristeći iste veličine (osim za 512 bita umjesto 521 bita). Oni navode poboljšanu sigurnost, koristeći vrijednost za 'p' da nema poseban oblik (kako bi se izbjeglo patentirani brzo aritmetiku) i opće nepovjerenje u NIST (krivulja nije izričito rekao) da nemaju objašnjenje za različite sjemena koristi.

  • Dopust Odgovor

    Vaša email adresa neće biti objavljena. Obavezna polja označena zvijezdicom su obvezna

    *

    Vi svibanj koristiti ove HTML oznake i atributa: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>