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 1292
April » 2006 » Kryptoblog

Archive for April, 2006

Acceleration av krypto i system på chip

April 30th, 2006

Den sista tiden har det kommit flera intressanta artiklar om säkerhet i inbyggda system och system på chip (SoC). Har läst igenom artiklarna och tänkte nu tipsa och kommentera.

I artikeln Start your crypto engine—cryptographic acceleration in SoCsEE Times sidoplats om inbyggda system Embedded.com beskrivs olika sätt att accelerera kryptofunktioner för att säkra kommunikationen till och från sitt chipsystem. Problemet artikeln tar upp är att behovet av att skydda kommunikationen för inbyggda system snabbt har ökat. Skälet till detta beror som jag ser det på två saker:

  1. Allt fler inbyggda system kopplas upp mot publika nät – Internet, detta för att göra det enklare för legitima användare att utnyttja, styra och övervaka systemet.

  2. Det direkt ekonomiska värdet som systemen utgör har ökat – vi har i dag elmätare, betalautomater, kortläsare, bensinpumpar och allt möjligt tillgängligt på nätet, maskiner som om dom går att hacka direkt kan ge ekonomiska vinster till skurken.

Tyvärr innebär kraven på ökad säkerhet att det inbyggda systemet behöver bättre prestanda och ny funktionalitet. Detta kostar pengar och frågan är hur man tillför detta på bästa och billigaste sätt.

Artikeln berättar att prestandabehovet för 3DES-krypering på en 32-bits processor är ca 30 MIPS/Mbps, för AES-128 är det 10 MIPS/Mbps. För en ARM-processor som går i 66 MHZ innebär det att med kommunikation på en Mbps är halva processorkapaciteten förbrukad. Använder du en PIC, en AVR eller annan mindre 8- eller 16-bit processor har du knappast ens den mängden resurser totalt.

Skall du använda IPsec, SSL eller andra kompletta IT-säkerhetsstandarder krävs även stöd envägsfunktioner för signaturer och assymetriska krypton för nyckelutbyte. Detta ställer stora krav på utrymme för programkod och stöd för relativt avancerade bitoperationer och matematik. För att få in detta i sitt system på ett effektivt sätt som inte sänker produkten kommersiellt krävs alltså något slags anpassat stöd – avlastning helt enkelt.

Artikeln tar upp tre metoder:

  1. Utökning av processorns instruktionsuppsättning med applikationsanpassade instruktioner.

  2. Enklare slavenhet.

  3. Avancerad co-processor.

Artikeln avfärdar snabbt det första alternativet då detta innebär assemblerkodning för att använda instruktionerna. Dock är det så att de företag som erbjuder processorer med stöd för utökning av instruktionsuppsättningen, exempelvis Tensilica, Altera och ARC automatiskt anpassar sina programutvecklingsmiljöer, vilket drastiskt reducerar behovet av assemblerprogrammering. Vidare är det fortfarande ganska vanligt att utvecklare av inbyggda system kodar små, specifika funktioner i assembler så jag anser inte det vara ett speciellt stort krav.

Alternativ två är det jag ser som vanligast. Det normala systemet utökas med en kryptomodul som exempelvis implementerar AES. Sedan är det upp till processorn att via register skriva in nycklar och data och rycka i spakarna så att kryptomodulen krypterar eller dekrypterar efetr behov. Ett bekymmer med detta, vilket artikeln tar upp, är att om läsning och skrivning av register för att styra och övervaka kryptomodulen tar mycket tid blir vinsten av att använda kryptomodulen inte så stor. Tar det exempelvis åtta skrivningar för att sätta upp modulen och man kör kryptering med AES-128 tar körningen troligen 12 cykler (en cykel per varv med samtidig nyckelexpansion ). I detta fallet är chansen stor att man inte tjänade mer än fyra cykler – och då skall skrivningarna utföras på en cykel.

Sista alternativet är att använda en mer komplex co-processor. Co-processorn innehåller funktionalitet för att självständigt hantera en kedja av operationer – kryptering, autenticiering, paketering etc. Det enda processorn behöver göra är att ge co-processorn en pekare till en struktur i minnet som anger var i minnet data finns, operationer som skall utföras och sedan arbetar co-processorn självständigt. Mycket smidigt och detta är på samma sätt som fristående co-processorer från exempelvis Broadcom och Hifn arbetar.

Det som artikeln inte tar upp för fall tre är att detta samtidigt innebär att om systemets minne är en gemensam resurs för huvudprocessorn och co-processorn finns det helt plötsligt en resursdelningproblematik i systemet. Om co-processorn använder DMA för att flytta data kan dessa accesser blockera huvudprocessorns accesser. Systemet har gått ifrån ett enkelt system med statisk accesstid till ett system med stokastisk accesstid. Som konsekvens måste du kanske flytta in interruptrutinerna till ett för huvudprocessorn privat minne. Din systemdesign blev plötsligt mycket besvärligare.

Och det är kanske det som är kontentan av artikeln (fast författarna inte skriver det): Skall du börja säkra upp kommunikationen för ditt system på chip kommer systemdesignen att påverkas på ett eller annat sätt. Säkerhet ställer helt enkelt nya krav, och det är inte bara blint spika fast säkerhetsfunktionerna på den befintliga konstruktionen.

Mer om anonymisering av kreditkortsnummer

April 30th, 2006

För ett tag sedan skrev jag om problem med anonymisering av kreditkortnummer på kvitton. Nu vet jag lite mer om hur det iaf är tänkt att fungera.

Säkerhetsgurun Robert Malmgren, som kan säkerhetsstandarder på sina tio fingrar, berättade att det finns en organisation som kallas PCI - Payment Card Industry. PCI består av MasterCard, VISA, AMEX etc. Inom PCI har man tagit fram en gemensam säkerhetsstandard kallad Payment Card Industry Data Security Standard som gäller för utrustning och installationer för korthantering, samt användning och hantering av information korttransaktioner. Senaste versionen av dokumentet är från 2005 och i kapitel tre finns information om hur kortanvändarens information skall skyddas.

3.3 Mask account numbers when displayed (the first six and last four digits
are the maximum number of digits to be displayed).

Detta innebär att exempelvis Massimo Dutti i Göetborg, som bara maskar bort fyra siffror i mitten bryter mot reglerna. Frågan är hur jag som konsument skall reagera i det här läget? Skall man kontakta BABS kanske (fin byggnad på hitta.se)?

Säkerhetsdokumentet från PCI var för övrigt en intressant läsning, dom som skrivit det kan sin säkerhet. Dokumentet tar upp inte bara vad man inte skall göra, exempelvis inte använa fabriksinställda lösenord, utan dokumentet beskriver på ett tydligt sätt hur man bör göra – enkla instruktioner med motiveringar till varför. Dokumentet blir därmed en kort kurs i hur man bör tänka vad gäller säkerhet, att säkerhet består av flera lager av skydd – dokumentet tar till och med upp begreppet security in depth. Väl värt att läsa igenom.

Validity – ny biometrisensor

April 29th, 2006

Via en kort artikelEE Times träffade jag på ett nytt brittiskt bolag kallat Validity Sensors Inc som utvecklar teknologi för biometri.

Validitys teknologi utgör en komplett plattform med sensorer, algoritm och ASIC. Deras system illustreras av följande figur

Validity technology

Ett par saker är väl värda att lägga märke till. För det första har Validity förutom sjäkva matrisen med läspunkter som plockar upp fingeravtrycket sensorer för att mäta temperatur, puls osv. Detta är till för att med säkerhet avgöra att det är ett riktigt finger (så kallad live finger detect). Andra leverantörer försöker få till dessa mätningar med den normala sensorn – vilket går sådär. Men Validity lägger alltså detta i separata sensorer. Jag tror att det är rätt väg att gå.

Den andra saken jag tycker är värd att notera är att Validity använder radio för att läsa av fingeravtrycket. Detta har fördelen av att man kan gömma sensorerna under ett rejält skyddande lager (av plast), något som CMOS-baserade kontaktsensorer från exempelvis Authentec eller Atmel har haft problem med. Kort sagt blir CMOS-sensorerna känsliga för nötning och inte minst statisk elektrisitet. Men samtidigt funderar jag på hur mycket Validity har tänkt på att skydda sin lösning mot avlyssning.

RFID som teknologi lider startkt av problemet med att radiosignalerna läcker och går att plocka upp på mycket större avstånd än många tror, oftast tiotals meter i stället för centimeter. Det jag är rädd för är att det mönster som Validitys teknologi läser av går att fånga upp på avstånd. Därmed öppnar deras teknologi upp sig för både ID-stöld och replay-attacker.

Validity verkar ha fått in mycket riskkapital så dom kommer säkert att finnas med ett tag, men både deras specifika teknologi och biometri som område måste få ett genombrott, och det senare verkar fortfarande vara ett par år bort. Kul med lite nya försök i alla fall. Den stora fördelen med biometri är att det är lätt att använda. Men det skall fungera också.

Skydd av kreditkortsnummer på kvitton

April 19th, 2006

Nej, Kryptoblog är inte död. Jag har dock varit fullt upptagen med att gifta mig samt varit på en fullständigt datorbefriad och fantastisk smekvecka i Barcelona. Har du inte varit där är det ett starkt tips, en mycket trevlig stad med massor att se, göra, uppleva, äta, dricka m.m.

En sak jag lade märke till på resan är att det finns mer än ett sätt att avidentifiera kreditkortsnummer på kvitton. Tricket man använder är att byta ut några siffror i numret mot ett *, och därmed skall det inte gå att bara hitta ett kvitto och vips få tag i ett godkänt kreditkortsnummer. Problemet är att det skiljer väldigt mycket hur många och vilka siffror som tas bort.

Ett kvitto, från den för övrigt helt fantastiska restaurangen Neri är exemplariskt för där är alla siffror utom de sista fyra siffrorna bortplockade. Miromuséet Foundació Miró å andra sidan skyddar visserligen värdefull konst, men bryr sig inte om att ta bort några siffror alls.

Detta är nu inte ett problem i Spanien. När jag kom hem och började syna lite kvitton är det ganska lätt att se att skulle någon exempelvis få tag på en kunds kvitton från Massimo Dutti och Taxi Göteborg skulle man ha samtliga siffror i kundens kreditkortsnummer, detta för att Massimo tar bort dom sista fyra siffrorna, men Taxi Göteborg tar bort siffrorna fem till åtta från slutet.

Jag känner inte till om det finns någon standard, men med ökade problem med identitesstöld, kortbedrägerier m.m. anser jag att detta är ett hål som definitivt borde täppas igen.