Սան Դիեգոյի Կալիֆոռնիայի համալսարանի հետազոտողները մշակել են RSA ալգորիթմի դեմ հարձակման բարելավված տեխնիկա, որը հնարավորություն է տալիս կեղծել թվային ստորագրությունները՝ առանց հիմքում ընկած RSA պարզ թվերը ֆակտորիզացնելու և առանց մասնավոր բանալին վերականգնելու անհրաժեշտության: 1024-բիթանոց RSA բանալու վրա հարձակման համար անհրաժեշտ ռեսուրսները գնահատվում են 1380 տարվա հաշվարկ մեկ պրոցեսորային միջուկի վրա: Համալսարանի առկա կլաստերի միջոցով սա թույլ տվեց նրանց հինգ ամսվա ընթացքում որոշել կեղծ RSA ստորագրություններ ստեղծելու համար անհրաժեշտ պարամետրերը (փորձը չի օգտագործել արհեստական բանականության արագացուցիչներ կամ գրաֆիկական պրոցեսորներ, բայց դրանց օգտագործումը կարող է զգալիորեն կրճատել հաշվարկման ժամանակը): Համեմատության համար, դասական ֆակտորիզացման մեթոդը պահանջում է 500,000-ից մինչև մեկ միլիոն տարվա հաշվարկ մեկ պրոցեսորային միջուկի վրա՝ RSA-1024 մասնավոր բանալին վերականգնելու համար:
Հարձակում իրականացնելու համար անհրաժեշտ է բազմիցս ուղարկել հարձակվողի կողմից ստեղծված տվյալները ստորագրելու հարցումներ, օրինակ՝ մուտք գործելով լիազորման ծառայության կամ HSM մոդուլի: RSA-1024 պարամետրերը որոշելու համար բավարար է ուղարկել 232 նման հարցում, իսկ Privacy Pass արձանագրությունում օգտագործվող RSA-2048 բանալիները հարձակվելու համար բավարար է 243-ը: Ստորագրված տվյալների զանգված ստանալուց հետո սկսվում է պարամետրերի հաշվարկման երկարատև գործընթաց (RSA-1024-ի համար մոտ 265 գործողություն): Այս պարամետրերը հաշվարկվելուց հետո հարձակվողը կարող է ստեղծել կեղծ ստորագրություններ ցանկացած տվյալների համար՝ ծախսելով մոտավորապես 180 ժամ հաշվարկներ մեկ միջուկի վրա յուրաքանչյուր ստորագրության համար:
Այս մեթոդը կիրառելի է միայն RSA ստորագրությունների համար, որոնք չեն օգտագործում ձևաչափում կամ լրացում կոդավորումից առաջ: Կույր ստորագրության իրականացումները, այդ թվում՝ Privacy Pass արձանագրությունում օգտագործվողները, խոցելի են հարձակման նկատմամբ: RSA-ի ամենատարածված իրականացումները, այդ թվում՝ PKCS#1v1.5-ը և RSA-PSS-ը (օգտագործվում են TLS-ում և SSH-ում), օգտագործում են լրացում և խոցելի չեն հարձակման նկատմամբ:
RSA կոդավորումը հիմնված է մեծ թիվը մեծ թվով աստիճանի մոդուլի բարձրացնելու գործողության վրա: Հանրային բանալին պարունակում է մոդուլը և աստիճանը: Մոդուլը ստեղծվում է երկու պատահական պարզ թվերի միջոցով, որոնք հայտնի են միայն մասնավոր բանալու սեփականատիրոջը: Առաջարկվող մեթոդը հիմնված է 2007 թվականին հրապարակված ուսումնասիրության վրա, որը ցույց է տվել, որ գաղտնի գործոնների մասին իմացության բացակայության դեպքում հանրային բանալու մեջ նշված աստիճանի կոդավորված հաղորդագրության արմատը հանելը ավելի քիչ ռեսուրսներ պահանջող գործողություն է, քան գործոնների ֆակտորիզացումը:
Մասնագիտացված մաղի վրա հիմնված թվային դաշտի մեթոդի (SNFS) միջոցով հետազոտողները կարողացան նվազեցնել RSA-1024 բանալիների վտանգի ենթարկելու բարդությունը մինչև 265 գործողություն, ինչը հնարավորություն տվեց գործնականում հարձակումներ իրականացնել ժամանակակից կլաստերների վրա: 2048-բիթանոց RSA բանալիների համար բարդությունը գնահատվում է 290, ինչը տեսականորեն հնարավոր է խոշոր կորպորացիաների կամ հետախուզական գործակալությունների համար: 4096-բիթանոց բանալիների համար բարդությունը կազմում է 2119 գործողություն, որը ներկայումս գործնականում անհասանելի է, բայց ցածր է NSA-ի, Ստանդարտների և տեխնոլոգիաների ազգային ինստիտուտի և Եվրոպական ցանցային և տեղեկատվական անվտանգության գործակալության կողմից առաջարկվող 2128 նվազագույնից:
Source: opennet.ru
