I slutet av förra året publicerade Biham, Dunkelman och Keller en artikel som jag tycker fått på tok för lite uppmärksamhet. Artikeln A Related-Key Rectangle Attack on the Full KASUMI beskriver hur bumerang-tekniken används för att utföra en attack mot blockkryptot KASUMI.
Varför är nu detta så intressant. Jo, KASUMI är det krypto som i kombination med två olika kryptomoder (f8 och f9 – en för konfidentialitet och en för integritet) skyddar kommunikationen mellan terminal och basstation i 3G – mer specifikt den 3G som bland annat används i Sverige, även känd som UMTS och är standardiserad av 3GPP.
Attacken som Biham & Co presenterad är inte snabb, kräver flera relaterade nycklar och mycket data för att lyckas – så ditt 3G samtal är inte direkt hotat i dag. Nej det stora bekymret med att man nu lyckats hitta en attack har mer att göra med 3G som systemdesign.
Det visar sig nämligen vara så att säkerheten i hela systemet bygger på antagandet att KASUMI är ett säkert krypto. Faller det antagandet faller säkerheten i resten av systemet. Det verkar alltså inte finnas flera lager av oberoende säkerhetsmekanismer, utan snarare en kedja där allt går sönder om en länk brister.
Mycket tid lades därför vid specifikationen för att undersöka och bevisa säkerheten i KASUMI. På Fast Software Encryptio (FSE) 2004 publicerade forskarna Tetsu Iwata och Tadayoshi Kohono det senaste säkerhetsbeviset för KASUMI och säkerheten i 3GPP. Dom skriver:
Our results clarify the assumptions necessary in order for f8 and f9 to be secure and, since no related-key attacks are known against the full eight rounds of KASUMI, lead us to believe that the confidentiality and integrity mechanisms used in real 3GPP applications are secure.
Ett år senare visar artikeln av Biham & Co att antagandet är falskt. Som min bror brukar säga: Det gick inte så bra för dom.
Jag tycker att det finns flera lärdomar att dra av den här historien:
- Säkerhet skall likt löken byggas i flera lager, inte som en kedja. Faller ett lager finns det andra säkerhetsmekanismer som fortsätter skydda systemet.
- Att bevisa säkerhet är svårt, många skulle säga futilt. Ännu en gång visar sig antaganden som görs när bevisen ställs upp inte hålla.
- Ett systems säkerhetsmekanismer skall inte bindas hårt till en given algoritm, utan det måste finnas stöd för att byta algoritm. (Man kan tycka att med tanke på alla problem med A5-kryptot i GSM skulle utvecklarna av 3G tänka på detta.)
- Se till att tänka även på felfall när systemet designas, inte bara rättfallen. Och ta till marginaler i säkerhetsystemen. En extra bit i nyckeln gör stor skillnad.
Just nu är alltså attacken mest ett teoretiskt problem, men då bumerang-metoden är relativt ny är jag inte beredd att sätta pengar på att det inte kommer att finnas praktiskt användbara metoder för att attackera KASUMI inom ett par år. Attacker blir bara bättre med tiden.
En sista pikant detalj är att ISO tydligen arbetar med att standardisera KASUMI. Man skulle kunna tro att den presenterade attacken skulle påverka det arbeten, men jag lyckas inte hitta något som ens tyder på att ISO är medveten Bihams grupps resultat.