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
Sidokanalsbaserat skydd mot kretskloning » Kryptoblog

Sidokanalsbaserat skydd mot kretskloning

September 18th, 2008 by Joachim Strömbergson Leave a reply »

För några dagar sedan bloggade jag om företaget Verayo och deras PUF-teknologi för att stoppa kretskloning. I dag sprang jag på en artikel på EE Times om en annan teknik för att stoppa kretskloning, och den här är riktigt fräck.

Algotronix har utvecklat en mycket intressant teknik kallad DesignTag som gör det möjligt att skydda konstruktioner byggda med FPGA-kretsar. Problemet med SRAM-baserade FPGA-kretsar är att de tappar sin konfiguration när matningen försvinner. Konfigurationen måste därför laddas in från ett externt minne, exempelvis ett FLASH-minne. Och det gör att vill någon klona konstruktionen är det bara att läsa av konfigurationen mellan minnet och FPGA-kretsen.

FPGA-krets med konfigurationsminne.

(I det här läget skall det påpekas att FPGA-leverantörer som Altera och Xilinx har lösningar baserade på krypterad konfigurationsfil där kryptonyckeln lagras internt i FPGA-kretsen och strömsätts med batteri. Detta gör det även möjligt att bygga aktiva skalskydd.)

Algotronix DesignTag försöker stoppa detta genom att för varje konstruktion generera ett unikt konstruktionsblock som identifierar konstruktionen. Genom att läsa av identiteten går det att avgöra vilken konstruktion det är och därmed avgöra om konstruktionen är stulen eller ej.

Och det fräcka är hur DesignTag kommunicerar kretsens ID. DesignTag kommunicerar genom kretsens värmeutveckling!

DesignTag i en FPGA.

När FPGAn startar börjar DesignTag-blocket att göra en massa operationer som ökar och minskar värmeutveckling vilket får temperaturen på utsidan av kapseln att variera. Hur temperaturen varierar beror på identiteten. Genom att läsa av temperaturen går det att få fram kretsens identitet. Fräckt eller hur?!

Setup för att läsa av DesignTag-koden.

Enligt artikeln implementerar DesignTag ett enkelt LFSR-baserat strömkrypto där identiteten är nyckeln. LFSR-kedjan ger upphov till en PRNG-sekvens som styr värmegeneratorn. Vet man inte att det finns DesignTag aktivt i kretsen ser variansen (förhoppningsvis) ut som slumpmässiga temperaturvariationer.

Det står inte hur värmegeneratorn fungerar. Gissningsvis är det något som ger upphov till stora registeromslag och aktivitet. Ett antal styrbara T-register och/eller multiplikatorer med operander som ger upphov till långa carry-kedjor.

DesignTag-kommunikationen kan knappast vara speciellt snabb så antalet bitar som skickas är antagligen inte så stor. Enligt artikeln stängs DesignTag-blocket av efter 15 minuter.

DesignTag-blocket behöver antagligen kalibreras för varje familj av FPGA-kretsar den används för att kunna ge en bra varians i temperaturen. Vidare går det säkert att bygga en mekanism som detekterar om det finns DesignTag i en konstruktion eller ej. Dels borde det gå att attackera LFSR-kedjan och särskilja DesignTag-mönstret från normal slumpmässig temperaturvariation. Om inte annat borde det gå att vänta 15 minuter och se om det händer något med temperaturen.

Men att kommunicera genom temperaturen är ett otroligt elegant sätt som gör att DesignTag inte behöver ställa några krav på tillgång till kretsens ben.

Verayos teknik gör det möjligt för en krets att själv avgöra om den är klonad eller ej. Men samtidigt är det enkelt för skurken att kontrollera om han lyckats slå ut Verayos teknik eller ej. Algotronix teknik ger inte kretsen möjlighet att avgöra om den är klonad eller ej, men är desto svårare att upptäcka om man inte letar efter den.

Krypto, FPGA-kretsar och sidoattacker – tre önskningar i ett. Kan det bli bättre?

No related posts.

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

Advertisement

4 comments

  1. kris says:

    Frågan är en värmesignatur är ett identifikationssätt som håller juridiskt.

  2. Aloha!

    Intressant tanke. Men borde man inte kunna använda motsvarande metoder att styrka den källan som man gör med andra signaler som åberopas?

    I Sverige har vi ju för övrigt fri bevisföring så det går att åberopa vad som helst. Om sedan rätten väljer att tro på materialet…

  3. Formidabelt off topic, men just the same:

    Grattis till att ha klättrat från 19:e till 16:e plats på IDG:s lista över Sveriges skarpaste säkerhetsexperter!

Leave a Reply

You must be logged in to post a comment.