Kutatók egy újfajta módszerrel, irányítottan előidézett számítási hibákra és az OpenSSL egyik hiányosságára támaszkodva vissza tudtak fejteni egy 1024 bites RSA-kulcsot.

Egy, a kriptográfiai algoritmusok elleni újszerű támadást mutattak be nemrég amerikai kutatók. A Michigani Egyetem számítástudományi tanszékének három oktatója az interneten megjelent egyes beszámolókkal ellentétben nem az RSA-eljárást törte fel, hanem a széles körben használt titkosítási algoritmus egy konkrét implementációjának sebezhetőségét demonstrálta egy új módszerrel. A tanulmány ugyan nem friss, március elején jelent meg, de mivel akkor nem számoltunk be róla, a BBC hétfőn publikált hírének apropóján most pótoljuk mulasztásunkat.

Az eljárás lényege az, hogy a hitelesítést végző szerver mikroprocesszorát az üzenetek dekódolásához szükséges algoritmusok, konkrétan a moduláris hatványozás végrehajtása során hibás műveletvégzésre "kényszerítik", majd az így generált hibás aláírásokból visszafejtik a titkos kulcsot. A kérdés az, hogy hogyan lehet számítási hibák elkövetésére kényszeríteni a processzor aritmetikai egységét? A kutatók szerint ez meglehetősen egyszerű, mivel a mai modern mikroprocesszorok szorzója (szorzást végző egysége) különösen érzékeny az időzítésre, ezért ha valamilyen külső behatással sikerül a jelterjedést lassítani, ez fog elsőként hibázni. A támadás konkrét megvalósítása során egy SPARC architektúrájú beágyazott chipen a tápfeszültség csökkentésével érték el a kívánt hatást.

Azt, hogy a cél eléréséhez melyik nem gyári feszültségérték a legideálisabb, a processzorral szorzásokat végeztetve kísérletezték ki. Úgy találták, hogy a gyári 1,3 voltos tápfeszültséget 1,25 voltra csökkentve ideális a hibaarány: így az aláírások 88 százaléka volt helytelen, és ezeknek 12 százaléka tartalmazott olyan egybites hibát, amely a visszafejtésnél használható. A rossz kulcsokat aztán a kutatók egy, az OpenSSL-ben lévő hibát kihasználva tudták megszerezni: az SSL-titkosításra és hitelesítésre széles körben használt csomag rögzített ablakos hatványozási algoritmusa nem ellenőrzi az eredményül kapott aláírás helyességét, az aláírást ellenőrzés nélkül elküldi az azt kérő kliensnek. A hibás aláírások és az üzenetek ismeretében aztán egy 81 darab Pentium 4 processzoros gépből álló klaszteren 104 óra alatt visszafejtették az 1024 bit hosszúságú titkos (privát) RSA-kulcsot.

A demonstrált támadás a gyakorlatban nehezen kivitelezhető, hiszen a művelethez fizikailag hozzá kell férni a hitelesítést végző szerverhez, a megoldás inkább azért fontos, mert egyrészt a mikroprocesszorok, másrészt az RSA-implementációk inherens hibáira hívja fel a figyelmet. A tanulmány egyik szerzője, Valeria Bertacco a BBC-nek elmondta: a chipgyártóknak a gyártástechnológiai miniatürizálással párhuzamosan egyre jobban kell ügyelnie az esetleges hibák javítására, hibajavító megoldások implementálására. "A kutatásunk e téren arra irányul, hogy biztosítsuk a chipek helyes működését tranzisztorhibák előfordulása esetén is. Hiszen minél kisebbek a tranzisztorok, annál hajlamosabbak a meghibásodásra." Ami pedig az RSA-implementációt illeti: a bemutatott visszafejtési eljárás salt alkalmazásával kivédhető.

ITCafe.hu, 2010. április 28.

A bejegyzés trackback címe:

https://adatvedelem.blog.hu/api/trackback/id/tr101963057

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.