Workshop om lättviktskrypton

Det finns i dag en stark trend mot att allt fler saker runt omkring oss kopplas upp till Internet – Dörrar, kylskåp, båtmotorer, dunjackor, värmeväxlare, plankor på byggvaruhuset, glödlampor, termostater, kranar etc. Allt annat än fräcka och och sexiga saker – men viktiga för att vårt samhälle ska funger och med stor potential till effektivisering när sakerna får digital intelligens och kan börja kommunicera.

För att detta Internet of Things (IoT) ska fungera måste vi kunna säkert identifiera sakerna och utbyta information – kommandon och status med dessa saker. I vissa fall krävs även att kommunikationen är hemlig för alla utom de som har rätt att kommunicera med en given sak – men det är inte lika viktigt. Detta ställer krav på att det finns säkerhetsmekanismer i IoT-sakerna. (Jag har tidigare skrivit om behovet av säkerhetsmekanismer anpassade för IoT). ECRYPT II-Workshopen ECRYPT Workshop on Lightweight Cryptography som anordnades i slutet av november med målsättningen att presentera nya säkerhetslösningar för små, inbyggda system är därför klart relevant och intressant.

Att döma av programmet (pdf) sker det aktiv utveckling av både kompakta symmetriska krypton och hashfunktioner. Oftast är det hårdvaruimplementationer där man mäter antalet grindar (generaliserad till antalet NAND2-grindar) och energiförbrukningen. Ett exempel är blockkryptot Piccolo-128 som bara kräver 60% av storleken hos den minsta implementation av AES-128 som tidigare presenterats. Dock med en prestanda på 40% av AES.

Det jag tycker är mer intressant är presentationen av resultaten från implementationer av 12 standardkrypton (IDEA, DES, AES, KASUMI, TEA m.fl.) på Atmels ATtiny45-processor. Detta är en minimal (även fysiskt) 8-bitars processor med 4 kByte FLASH-minne, 256 Byte EEPROM och 256 Byte SRAM. Det finns inte mycket detaljer om hur implementationerna är uppbyggda, men att döma av det som presenterades lyckades dom implementera alla 12 algoritmer.

Atmel ATtiny45.
En näve ATmel ATtiny45-kretsar.

Et annat arbete som presenterades är försök att implementera autenticerande kryptomoderTexas Instruments processor MSP430. De moder man arbetat med är CCM, GCM, SGCM, OCB3 och Hummingbird-2. Detta är ett i mina tycken klart intressant. Att få konfidentialitet och autenticering samtidigt ger en mer kompakt lösning än separata algoritmer.

Det presenterades även förslag till autenticerat broadcast-protokoll för industribussen CAN samt försök att implementera AES på en 4-bitarsprocessor(!).

Det jag däremot saknar är nya, lättviktiga asymmetriska algoritmer samt försök att befintliga asymmetriska algoritmer. Det spelar ingen roll om vi har högar med blockkrypton anpassade för små processorer om vi inte kan göra bra nyckelutbyten. En bra minimal implementation av ett vältestat krypto som AES (gärna som stödfunktion i processorns hårdvara), en autenticerande kryptomod samt en nyckelutbyte är mycket mer intressant än ännu ett blockkrypto eller hashfunktion.

För den som vill läsa de artiklar som presenterades finns dom samlade i proceedings för konferensen och går att ladda ner (pdf).

En sista sak. ECRYPT II har även en webbplats, ECRYPT Lightweight Cryptography Lounge där information om kryptolösningar för kompakta, begränsade samlas. Är du intresserad så ta en titt där – det gör jag.

2 reaktioner på ”Workshop om lättviktskrypton

  1. Tjenar!

    Visst, kan man argumentera för att kompakta implementationer av assymteriska algoritmer för resursbegränsade enheter, men de kommer alltid att kräva mer än motsvarande symmetriska. För verkligt begränsade noder är symmetriska lösningar helt enkelt bättre och i väldigt många fall fyller de även de behov man har. Publika nycklar är långt ifrån ett måste. Ett väl designat symmetriskt system är vacker, säkert och robust men kräver en del i fråga om administration och processer.

    Det är också intressant att notera att vedertagna standard blockchiffer går att få in i de mest begränsade miljöer vilket också är orsaken att all den kraft som görs på att få ner komplexiteten på de symmetriska algoritmerna ofta inte gör några avtryck alls på marknaden (akademiskt intressanta dock, men det är en annan sak).

  2. Aloha!

    Tack för kommentarer. Men för att få till nyckelutbyte, autenticering utan att använda PSK eller out of bound-lösningar ser jag inte hur du kan etablera session mellan parterna. HUr tänker du dig att autenticering ska ske? Som du säger kräver det administration och processer som man inte alltid har och påverkar användbareheten.

    Jag håller (kanske) med om att asymmetriska lösningar måste vara mer komplexa än symmetriska. Men det jag vill se är resultat som visar på mekanismer som börjar närma sig det som möter resurskraven i IoT. Speciellt om vi kan återanvända resurser i olika mekanismer, ex återanvända AES-motorn för att bygga sig en MAC.

    Det jag upplever är att många gör det ”lätt” för sig och roar sig med att ta fram en massa nya hashfunktioner, symmetriska krypton. När det går att implementera AES-128 på en 4-bit MCU, eller en AES core på 2 kGate som ger flera hundra kbit/s är frågan om det verkligen behövs 10 nya blockkrypton, eller om fokus borde vara på att lösa andra delar i kedjan?

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *