Warning: Missing argument 2 for wpdb::prepare(), called in /home/stromber/public_html/kryptoblog/wp-content/plugins/wp-super-edit/wp-super-edit.core.class.php on line 109 and defined in /home/stromber/public_html/kryptoblog/wp-includes/wp-db.php on line 1222
Ny artikel om analys av skydd för AES mot sidoattacker » Kryptoblog

Ny artikel om analys av skydd för AES mot sidoattacker

August 14th, 2007 by Joachim Strömbergson Leave a reply »

IACR dök det nyligen upp en intressant artikel av Johannes Blömer och Volker Krummel om analys av skyddsmetoder för AES-kryptot mot tidsbaserade sidoattacker. Artikeln fokuserar på den typ av tidsbaserade sidoattacker som uppkommer pga skillnader i accesstid till S-boxen (som implementerar SubBytes-funktionen) i AES.

Denna typ av attack har presenterats flera gånger de senaste åren, bla av Daniel J Bernstein, Onur Aciicmez m.fl. Artikelförfattarna bygger först upp en modell för att beskriva det informationsläckage som uppstår pga tidsdifferenserna vid access till S-boxen och använder sedan denna modell för att analysera olika förslag på att skydda S-boxen.

En vanligt förekommande lösning är att använda en permuterad S-box, dvs en S-box där de olika elementen i S-boxen flyttats runt på ett sätt som bara sändare och mottagare känner till. Permutationsoperationen blir helt enkelt en funktion av kryptonyckeln och utförs som en del av initieringsfasen. Författarna visar i sin analys att denna typ av skydd inte är tillräcklig, utan att dom med ett par tusen extra tidsmätningar kan räkna ut hur S-boxen är permuterad.

(Jag tycker det är värt att notera att permutationsoperationen innebär att den initieringstid som, beroende på kryptomod, för AES normalt sett är rätt kort utökas ganska markant genom att 256 Bytes skall flyttas runt. Denna förflyttning medför minst 256 extra minnesaccesser. Jag skulle dessutom misstänka att permutationsoperationen, om den går att tvingas fram av den som utför attacken, i sig innebär risk för informationsläckage.)

Författarna presenterar i sin artikel en egen metod för att minska accesstidsdifferenserna nämligen att dela upp S-boxen i ett antal små S-boxar där storleken på en mini-S-box matchar storleken på en rad i processorns cacheminne. Författarna visar att denna metod undviker informationsläckage, men att implementationen blir 60% långsammare än för en normal S-box. Att använda mini-S-boxar för att säkra permuterade S-boxar, men som författarna påpekar blir denna lösning lika snabb och säker som att använda en vanlig S-box realiserad med mini-S-boxar.

Jag tycker att författarnas artikel är intressant för den visar hur svårt det är göra implementationer av säkerhetsalgoritmer som är effektiva och säkra. Det finns oftast en möjlighet att göra en avvägning (inte snabbt eller säkert – väl en, utan en glidande skala). Men om man inte tänker efter på målplattform och arkitektur (inte minst minneshierarkier och accessmönster) när man bygger sin implementation kan slutresultatet bli mindre lyckat.

En nyhet som dök upp i dag och jag tror har viss relevans i sammanhanget är att AMD precis presenterat att dom avser att bygga ut instruktionsuppsättningen i sina x86-processorer med instruktioner för att underlätta för parallellism. Först ut är två instruktioner som gör det möjligt att få access till instruktionsavslutning och cachemissar.

Att använda dessa instruktioner vid utveckling av säkrare implementationer av kryptoalgoritmer skulle säkert vara praktiskt. Frågan jag ställer mig är dock huruvuvida dessa instruktioner öppnar upp för informationsläckage mellan processer och därmed för attacker på implementationer. Exempelvis på AES.

Vi får nog anledning att återkomma i frågan. Spännande är det, iaf om man gillar krypton och datorarkitektur.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Advertisement

4 comments

  1. Flourtanten says:

    Joachim,
    Kan bara säga intressant inlägg som vanligt. Har varit på väg att kommentera på flera inlägg sista tiden men har haft fasligt ont om tid.

    Så tills vidare – tack för en utmärkt blogg! – Har jag inte sagt det tidigare har det haft att göra med min rädsla för att påpeka det uppenbara =]

  2. Joachim says:

    Aloha!

    Tack för den trevliga kommentaren och tveka inte att komma med kommentarer, det blir bara bättre då.

Leave a Reply

You must be logged in to post a comment.