Мая ўласная крывая ECC бяспекі і аналізу выбару
Большасць сучасных крыпта выкарыстанне эліптычных крыптаграфічныя крывой (ECC), што, з меншым памерам ключа і зніжэння вылічальнай магутнасці, забеспячэння эквівалентнай трываласці бяспеку традыцыйная сістэма Crypto вядомы як DH (Диффи-Хэлман) або RSA (Rivest, Шаміра і Адлеман).
Не ўсе ведаюць, што ECC шыфравання абраны для любых будучых прыкладанняў шыфравання і што нават TLS / SSL (шыфраванне выкарыстоўваецца для абароны вэб-сайтаў) рухаецца да ECC.
Я выявіў, што шмат так званых «патэнтаваных прадуктаў шыфравання", якія адмовіліся RSA і DH ў альтэрнатывах ідзе з ECC, якая, як правіла, адвольнае выкарыстанне ECC памер бітны ключ, нават не паказаўшы, які выгляд шыфравання ECC прывыкнуць.
Аднак існуе шмат блытаніны вакол эліптычных крывых з вялікай колькасцю розных імёнаў і ключавых памеры, што робіць цяжкім для не-крыптаграфічныя дасведчаных карыстальнікаў, каб зрабіць вашу ўласную асобу, ацэньваючы некаторыя рэчы шыфравання.
З-за блытаніны такім безуважлівым я вырашыў зрабіць свой уласны аналіз, каб даведацца, якія самыя лепшыя шыфравання ECC крывыя і правай клавішы ECC памер у выкарыстанні.
Гэты аналіз хацелі б даць індустрыі бяспекі на аснове выбару паміж рознымі крывымі і памерах ключоў, пакідаючы матэматычныя і аналітычныя Crypto меркаванні, якія ўжо былі зробленыя ў гады, рэзюмуючы розныя варыянты прыняты ў некалькіх стандартаў і пратаколаў бяспекі.
Першая выснова.
З майго аналізу толькі наступных крывых ECC павінны быць разгледжаны для выкарыстання ў сістэмах шыфравання, таму што адзіны, выбраных з розных органаў (ANSI, NSA, SAG, NIST, Brainpool ECC), розныя стандарты пратаколу бяспекі (IPSec, OpenPGP ZRTP, Kerberos, SSL / TLS) і толькі адзін адпаведны NSA Suite B патрабаванні бяспекі (стандарт дэ-факта і для НАТА ваеннай асяроддзі):
- Эліптычнай крывой прэм'ер-256 біт - P-256
- Эліптычнай крывой прэм'ер-384 біт - P-384
з дадатковым, толькі для сапраўды параноік, якія хочуць атрымаць больш памер ключа трохі, па-ранейшаму не лічацца карыснымі:
- Эліптычнай крывой 521 Прэм'ер-біт - P-521
Я хацеў бы заявіць, што Koblitz крывых варта пазбягаць, у любы танальнасці памеру (163/283/409/571), паколькі яны не хапае гарантыя на дзейнасць Crypto аналітычных і эфектыўна яны:
- Ці не з'яўляецца часткай NSA Suite-B выбар крыптаграфіі
- Ці не з'яўляецца часткай выбару ECC Brainpool
- Ці не з'яўляецца часткай ANSI X9.62 выбар
- Ці не з'яўляецца часткай OpenPGP выбар пашырэння ECC
- Ці не з'яўляецца часткай пашырэння Kerberos для выбару крывой ECC
Я запрашаю чытача прытрымлівацца праз мой аналіз, каб зразумець асноўныя прынцыпы, якія могуць быць зразуметыя нават без глыбокага тэхнічнага фону але па меншай меры з добрай тэхналагічнай фоне некаторыя асноўныя трохі крыптаграфіі.
Тут мы ідзем з аналізам
Мая мэта, каб зрабіць аналіз на што / як адкрытай навуковай і бяспекі абшчына абрала ECC крыпта сістэмы для выкарыстання ў бяспецы пратаколаў і стандартаў, вызначаных IETF RFC (тыя, якія вызначаюць стандарты ў Інтэрнэце адкрытае і рэцэнзуюцца шлях).
Ніжэй набор RFC Прадстаўляем ECC ў існуючыя сістэмы, якія атрымліваюць прааналізаваны, каб зразумець, што лепш выкарыстоўваць, а што лепш выключыць:
- RFC5639 : ECC Brainpool Стандартныя крывыя і генеравання крывых
- RFC4869 : NSA Suite B крыптаграфічных набораў для IPsec
- RFC5430 : NSA Suite B профіль для Transport Layer Security (TLS)
- RFC5008 : NSA Suite B ў Бяспека у / Шматмэтавыя пашырэння пошты Інтэрнэту (S / MIME)
- RFC3766 : вызначэнне моцных для адкрытых ключоў, які выкарыстоўваецца для абмену сіметрычныя ключы
- RFC5349 : крыптаграфіі эліптычных крывых (ECC) Падтрымка шыфравання з адкрытым ключом для пачатковай ідэнтыфікацыі ў Kerberos (PKINIT)
- RFC4492 : крыптаграфіі эліптычных крывых (ECC) для Cipher Suites Transport Layer Security (TLS)
- ZRTP шыфравання прамовы Філіп Цымермана ECC крывой
- ECC ў OpenPGP (праект D -плыт-jivsov OpenPGP-ECC-06 )
- Крывыя ECC абраны Microsoft для смарт-карт Kerberos лагін
Мы будзем выкарыстоўваць выбар, зроблены навукоўцам вызначэнні Інтэрнэт пратаколы бяспекі, каб зрабіць часткай нашай адзнакі.
Акрамя таго, ён павінен разумець, што Выбар крывой зыходзіць ад розных органаў улады, якія зрабілі свой выбар Крывыя для таго, каб сказаць, што прамысловасць ў выкарыстанні і, што прапусціць:
- ЗША NIST (Нацыянальны інстытут стандартаў) з 186-2 (нядаўна заменены ў 2009 годзе новым 186-3 )
- ЗША ANSI (Амерыканскага нацыянальнага інстытута стандартаў) з X9.62
- ЗША NSA (National Security Agency) Люкс-B крыптаграфіі для TOP SECRET абмену інфармацыяй
- Міжнародны SACG (Стандарты для эфектыўнай групы крыптаграфіі) з Рэкамендаваны параметры эліптычнай крывой дамена
- Нямецкая ECC Brainpool withECC Brainpool з іх строгім патрабаванням бяспекі
- ECC Interoperability Forum складаецца Certicom, Microsoft, Redhat, ВС, NSA
Мы будзем выкарыстоўваць выбар, зроблены навукоўцам вызначэння патрабаванняў бяспекі ў органы стандартызацыі, каб зрабіць часткай нашай адзнакі.
Акрамя таго, тое, што большасць людзей не ведае, але што гэта надзвычай важныя для нашага аналізу з'яўляецца тое, што існуюць розныя віды ECC крывой крыптаграфіі і іх «памер» усё па-іншаму ў залежнасці ад выгляду крывой:
- Крывыя ECC над полем Prime (часта называюць эліптычнай крывой і прадстаўлена P-памер ключа)
- ECC крывых над бінарным полем (часта называюць Koblitz крывой і прадстаўлена K-памер ключа)
З улікам эквівалентнасці сіл бяспекі на эліптычных крывых і крывая Kobliz маюць розныя памер ключа, напрыклад, калі мы чытаем ECC 571 мы маем на ўвазе Koblitz Крывая з эквівалентнай сілы ECC крывой 521 прэм'ер.
Параўнанне сілы паміж эліптычнымі крывымі і крывымі Kotbliz прыводзіцца ніжэй (з ECC Майкі інтэрнэт праект ):
| Koblitz | ECC | DH / DSA / RSA | 163 | 192 | 1024 | 283 | 256 | 3072 | 409 | 384 | 7680 | 571 | 521 | 15360
Ніжэй ёсць параўнанне ўсіх выбраных крывых усімі розных сутнасцяў і адпаведныя ім назву (ад IETF RFC4492 для ECC выкарыстання для TLS ):
Крывая імёны выбраны рознымі арганізацыямі па стандартызацыі ------------ + --------------- + ------------- 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 ------------ + --------------- + -------------
Што адразу з'яўляецца тое, што ёсць толькі дзве крывыя выбраны ўсімі органамі ўлады, і што існуе агульны скід Koblitz крывых ANSI.The толькі ўзгодненыя паміж уладамі 3 з'яўляюцца наступныя дзве ECC крывой:
- secp192r1 / prime192v1 / NIST P-192
- secp256r1 / prime256v1 / NIST P-256
З тых, выбар ECC крывой TLS RFC5430 прапушчаны цалкам Koblitz крывыя і адабраны для выкарыстання толькі:
- P-256, P-384, P-521
ECC Brainpool прапушчаны цалкам Koblitz крывыя і адабраны для выкарыстання наступных крывых ECC:
- P-160, P-192, P-224, P-256, P-320, P-384, P-512 (гэта адзінае прыватнасці таму што гэта не Р-521, але P-512, адзіны ключ памерам аднесеных ECC Brainpool. Tnx Ян Саймонс ад Athena SCS )
Праект інтэрнэт OpenPGP для выкарыстання ў PGP ECC D плыт-jivsov-OpenPGP-ECC-06 прапушчаны цалкам Koblitz крывыя і выбраў наступную ECC крывыя
- P-256, P-384, P-521
Пашырэння пратакола Kerberos для выкарыстання ECC, вызначаны ў RFC5349 і вызначаецца Microsoft для ўваходу ў сістэму смарт-карты цалкам прапусціў Koblitz крывыя і абраныя наступныя крывыя ECC:
- P-256, P-384, P-521
Такім чынам, гучыць ясна, што права выбару ECC для P-256, P-384 і P-521 у той час як крывая Koblitz былі выразаныя Совершенно секретно выкарыстання і бяспекі для любога адчувальнага пратаколу (IPSec, OpenPGP ZRTP, Kerberos, SSL / TLS).
Я зрабіў гэты аналіз пасля абмеркавання я мелі адносна пэўных прадуктаў шыфравання голасу, усе яны заснаваныя на звычаях і прапрыетарныя пратаколы, якія ўсё з выкарыстаннем эліптычных крывых Диффи Хэлман 571 біт / ECDH 571/571-битное ECDH / Koblitz 571 біт.
Усе іх выкарыстоўваюць K-571, што, як апісана вышэй, была выдаленая з усіх ахоўных адчувальнай навакольнага асяроддзя і пратаколаў і быць самім сабой канструктар шыфравання голасу рэчы, я думаю, што іх крыптаграфічнай выбар абсалютна не лепшы выбар бяспекі.
Верагодна, гэта было зроблена толькі для маркетынгавых мэтаў, так як К-571 (Koblitz крывая) здаецца больш моцным, чым Р-521 (на эліптычных крывых заснаваны на простае лік). Калі ў вас ёсць «больш біт" вашы хлопцы маркетынгу можа прэтэндаваць на "больш бяспечным". Koblitz эліптычнай крывой хутчэй, чым цалкам сакрэтна уключаны простыя эліптычнай крывой і так атрымліваюць прадукт менеджэр шанец, каб забяспечыць "больш біт" ў сваім уласным прадукце з націснутай клавішай хуткага абмену.
Гэта пытанне філасофскае выбар.
Я аддаю перавагу прытрымлівацца тэндэнцыі навуковай супольнасці з пакорай, каб не лічыць сябе экспертам крыптаграфічныя, дасведчаным больш агульную бяспеку і навуковыя супольнасці.
Я аддаю перавагу замест гэтага выкарыстоўваць толькі алгарытмы, якія адобраны для выкарыстання ў высокачуллівых асяроддзях (верхняя класіфікацыі тайну), якія былі абраныя усімі ўладамі і працоўнай групай аналізу існуючых алгарытмаў шыфравання з-там і якія ўяўляюць выбар амаль усе стандартныя бяспекі пратаколаў (IPSec, OpenPGP ZRTP, Kerberos, SSL / TLS і г.д.).
Я аддаю перавагу лічыць колькасць мазгоў якія працуюць на Crypto я выкарыстоўваю, каб праверыць калі іх сапраўды бяспечнымі, што ацаніць, ёсць некаторыя слабасці.
Колькасць Brais працуе над Crypto шырока распаўсюджана маюць на парадак больш, чым колькасць мазгі працуюць над Crypto выкарыстоўваецца ўсяго ў некалькіх людзей (як Koblitz крывая).
Так што я не дэманізаваць, якія выкарыстоўваюць ECDH 571 Koblitz выкарыстаннем крывой, але ўпэўнены, што я магу сцвярджаць, што яны не прынялі лепшы выбар з пункту гледжання бяспекі і што любыя прафесіяналы ў галіне бяспекі робяць бяспекі Бенчмаркетынгу будзе разглядаць той факт, што эліптычных крывых Диффи Хэлман 571 трохі зроблена з крывой Koblitz ня шырока распаўсюджана, яно скідаецца ад стандартных пратаколаў бяспекі, і гэта не сертыфікаваны для выкарыстання верхняй сакрэт.
3 каментара
Я толькі што падпісаўся на ваш канал RSS блога. Ці будзеце вы пасля больш на гэтую тэму?
Я лічу, ёсць недахоп у гэтым артыкуле. ECC Brainpool паказвае ECC FP 512-бітны ключ ня 521-бітны. Глядзі RFC5639 раздзеле 2.2. Тэхнічныя патрабаванні 1 куля.
Паглядзеўшы на RFC5639 і Brainpool сайт, я цалкам упэўнены, Brainpool P-крывыя не тое ж самае, чым SECG, X9.62, NIST. Яны выкарыстоўваюць вельмі падобную метадалогію, але абраў для стварэння новых крывых з дапамогай тых жа памерах (за выключэннем 512 біт замест 521 біт). Яны спасылаюцца на больш высокі ўзровень бяспекі, выкарыстоўваючы значэння для 'P', які не мае спецыяльнага віду (каб пазбегнуць запатэнтаваная хуткая арыфметыка) і агульнае недавер да NIST крывых (прама не сказана), якія не маюць ніякага тлумачэння рознае насенне, якія выкарыстоўваюцца.