Kalifornijas Universitātes San Diego pētnieki ir izstrādājuši uzlabotu uzbrukuma tehniku RSA algoritmam, kas ļauj vilto digitālās parakstus bez nepieciešamības faktorizēt pamatā esošos RSA pirmskaitļus un atjaunot slēpto atslēgu. Resursi, kas vajadzīgi uzbrukuma veikšanai pret 1024 bitu RSA atslēgu, tiek novērtēti kā 1380 gadu skaitļošanas uz vienu procesora kodolu, kas universitātes klasterī ļāva 5 mēnešu laikā noteikt parametrus, kas nepieciešami viltotu RSA parakstu izveidošanai (eksperimentā netika izmantoti AI paātrinātāji un GPU, un to izmantošana varētu būtiski samazināt skaitļošanas laiku). Salīdzinājumam, klasiskā faktorizācijas metode prasa atjaunot RSA-1024 slēpto atslēgu no 500 tūkstošiem līdz miljonam gadu skaitļošanas uz vienu procesora kodolu.
Uzbrukuma veikšanai ir nepieciešama iespēja atkārtoti nosūtīt pieprasījumus par parakstītu uzbrucēju datu nosūtīšanu, piemēram, sazinoties ar autorizācijas pakalpojumu vai HSM moduli. Lai noteiktu RSA-1024 parametrus, ir pietiekami nosūtīt 232 līdzīgus pieprasījumus, bet uzbrukumam pret RSA-2048 atslēgām, kuras izmanto Privacy Pass protokolā, — 243. Saņemot parakstītu datu masīvu, sākas ilgs procesu aprēķina posms (RSA-1024 apmēram 265 operācijas), pēc kuru saņemšanas uzbrucējs var izveidot viltotus parakstus, iztērējot katram parakstam apmēram 180 stundas skaitļošanas uz vienu kodolu.
Metode ir piemērojama tikai RSA parakstiem, kur nav izmantota formatēšana un papildus aizpildīšana pirms šifrēšanas (padding). Uzbrukumam ir pakļautas aklās parakstīšanas realizācijas, tostarp tās, kas tiek izmantotas Privacy Pass protokolā. Lielākā daļa ikdienā lietoto RSA realizāciju, tostarp PKCS#1v1.5 un RSA-PSS (kas tiek izmantoti TLS un SSH), izmanto papildus aizpildīšanu un nav pakļautas uzbrukumam.
RSA šifrēšanas pamats balstās uz lielā skaitļa kāpšanas operācijām pēc moduļa. Atvērtajā atslēgā ir modulis un eksponents. Modulis tiek veidots, pamatojoties uz diviem nejaušiem primārajiem skaitļiem, kas ir zināmi tikai slēptās atslēgas īpašniekam. Piedāvātā metode ir balstīta uz 2007. gadā publicētu pētījumu, kas pierādīja, ka saknes izvilkšana no šifrētā ziņojuma ar norādītu atvērtajā atslēgā eksponentu bez informācijas par slepenajiem reizinātājiem ir mazāk resursu prasīga operācija nekā pašu reizinātāju faktorizācija.
Izmantojot īpašu skaitļu lauka sietu metodi (SNFS), pētniekiem izdevās samazināt RSA-1024 atslēgu kompromitācijas sarežģītību līdz 265 operācijām, kas ļauj veikt praktiskas uzbrukumus mūsdienu klasteros. RSA 2048 bitu atslēgu uzbrukuma sarežģītība tiek novērtēta kā 290, kas teorētiski ir iespējams lielām korporācijām vai specdienestiem. RSA 4096 bitu atslēgām uzbrukuma sarežģītība ir 2119 operācijas, kas praksē joprojām ir neizpildāma, bet ir zem minimālā 2128, ko ieteikusi NSA, Nacionālais standartu un tehnoloģiju institūts, un Eiropas Tīklu un informācijas drošības aģentūra.
Avots: opennet.lv
