A vak aláírású rendszerek, mint például az Apple és a Cloudflare által használt Privacy Pass, megjelenhetnek

Az elvitel: A kutatók módot találtak bizonyos RSA-aláírások hamisítására anélkül, hogy figyelembe vették volna a mögöttük lévő kulcsot, megkérdőjelezve az internet egyik legrégebbi nyilvános kulcsú titkosítási rendszerével kapcsolatos régóta fennálló feltételezést. Úgy tűnik, hogy a támadás nem fenyegeti a manapság leggyakrabban használt RSA-megvalósításokat, beleértve a PKCS- vagy PSS-kitöltéssel védetteket. Az eredmények azonban felkeltették a figyelmet, mert azt mutatják, hogy az RSA-aláírások feltörése nem mindig követeli meg a privát kulcs helyreállítását.

A technika praktikus az 1024 bites RSA kulcsokkal szemben, amelyek már elavultak. Csökkenti a 2048 bites és 4096 bites kulcsok becsült biztonságát is, ha azokat sebezhető vak aláírási rendszerekben használják.

„Ha ez az eredmény megállja a helyét a szakértői értékelésben, az valóban koncepcionális áttörés lenne” – mondta Karsten Nohl, az Allurity kriptográfiai szakértője és innovációs vezetője az Ars Technicának. „Az RSA-t éppoly nehéz feltörni, mint a nagy egészeket figyelembe venni, legalábbis így gondoltuk. A kutató szerint gyakorlatilag megtörheti az RSA-t anélkül, hogy feltörné a kulcsát.”

Az RSA biztonsága hagyományosan azon a nehézségen nyugszik, hogy nagy számot kell beépíteni két fő összetevőjébe. A nyilvános kulcs tartalmazza ezt a nagy számot, míg a privát kulcs a tényezőkből származik. A szokásos nézet szerint a támadónak figyelembe kellett vennie a számot, mielőtt érvényes aláírást hozna létre.

Az új kutatás egy másik utat választ. A speciális számmező szita algoritmus egy változatát használja, valamint néhány vak-aláírási protokollban elérhető orákulumot. Az orákulum egy olyan rendszerfunkció, amely hasznos információkat tár fel konkrét kérésekre válaszul. Nagyon sok kérés benyújtásával és az eredmények feldolgozásával a támadó elegendő információt gyűjthet egy érvényes aláírás létrehozásához.

Egy 1024 bites RSA-kulcs faktorálása a becslések szerint körülbelül 2^80 műveletet és 500 000 és 1 millió CPU-magévet igényel. A kutatók szerint a hamisítási támadásuk körülbelül 2^65 műveletet és 1380 CPU-magévet használt. Több hónapon keresztül végezték el a munkát egy akadémiai CPU-klaszter segítségével.

Nadia Heninger, a San Diego-i Kaliforniai Egyetem professzora és a kutatás társszerzője szerint az eredmény eltér attól, amit a kriptográfusok vártak.

„A kriptográfusok úgy gondolták, hogy az érvényes RSA digitális aláírások kiszámításának egyetlen módja az, hogy először a privát kulcsot faktorálással számítják ki, majd a privát kulcsot használják az aláírások kiszámításához” – mondta. „Az 1024 bites RSA esetében ezt nagyon költségesnek tartották, bár valószínűleg megvalósítható, ha rendelkezik a nagy technológiai cégek vagy az NSA számítási erőforrásaival – több tízmillió dolláros számítási idő egyetlen kulcshoz. A 2048 bites RSA esetében azt gondolták, hogy ez teljesen elérhetetlen.”

A szerzők becslése szerint a támadás körülbelül 2^65 műveletre csökkenti az 1024 bites RSA hatékony biztonságát. A 2048 bites és a 4096 bites kulcsoknál a számokat 2^90-re, illetve 2^119-re teszik. A Nemzetbiztonsági Ügynökség, a Nemzeti Szabványügyi és Technológiai Intézet és az Európai Unió Hálózat- és Információbiztonsági Ügynöksége biztonsági útmutatása legalább 128 bites biztonságot ír elő.

A csapat szerint a becslései javulhatnak. Megvalósítása kézzel íródott, és nem használt GPU-t vagy AI-eszközöket. A kutatók szerint ezek az eszközök „szinte biztosan” csökkentik a jövőbeli támadások költségeit.

A támadás a vak-aláírás implementációira korlátozódik, amelyeket néha tankönyv RSA-nak neveznek. Ezek a rendszerek lehetővé teszik a fél számára, hogy aláírja az információkat anélkül, hogy látná annak tartalmát. A legtöbb RSA-telepítés nem így működik. PKCS vagy PSS kitöltést használnak, amely módosítja az adatokat a titkosítás vagy aláírás előtt, és megakadályozza azt a viselkedést, amelyre a támadás támaszkodik.

A vak aláírások egyik valós felhasználási módja a Privacy Pass, egy olyan protokoll, amely lehetővé teszi a felhasználók számára, hogy személyazonosságuk felfedése nélkül igazolják jogosultságukat. Az Apple, a Cloudflare és más szervezetek a Privacy Pass szolgáltatást használják. A kutatók becslése szerint egy ilyen rendszer megtámadásához 2^43 tokent kellene kérni egy kibocsátótól.

Heninger szerint a mennyiség nagy, de nem feltétlenül haladja meg egy nagyobb online szolgáltatás méretét. „Soknak (mintha) hangzik, de a hálózati forgalomnak ugyanabban a nagyságrendjében van, mint amit a Cloudflare nyilvánosan elmondott, hogy körülbelül egy napon belül kezeli.”

Sok Privacy Pass rendszer rendszeresen forgatja kulcsait, ami megnehezíti a támadást azáltal, hogy lerövidíti a tokenek gyűjtésére rendelkezésre álló időt. Ez azonban nem szünteti meg a kockázatot.