Archive for the ‘Forskning’ Category

MiFare är riktigt trasigt

Tuesday, April 22nd, 2008

Jag har tidigare skrivit om MiFare-systemet och dess uppenbarligen urusla säkerhet. Sedan dess har det kommit ytterligare en attack där forskare från Holland visade att de genom att samla in en mängd data och sedan bearbeta dessa offline kunde återvinna den 48-bit långa nyckeln i MiFare Classics krypto CRYPTO1. Men nu har det kommit ett resultat till.

I en artikel på IACR av Nicolas T. Courtois, Karsten Nohl och Sean O’Neil kallad Algebraic Attacks on the Crypto-1 Stream Cipher in MiFare Classic and Oyster Cards visar författarna att säkerheten i MiFare är riktigt, riktigt trasig. Författarna skriver:

MiFare Crypto 1 is a lightweight stream cipher used in London’s Oyster card, Netherland’s OV-Chipcard, US Boston’s CharlieCard, and in numerous wireless access control and ticketing systems worldwide. Recently, researchers have been able to recover this algorithm by reverse engineering [11, 13].

We have examined MiFare from the point of view of the so called algebraic attacks. We can recover the full 48-bit key of the MiFare algorithm in 200 seconds on a PC, given 1 known IV (from one single encryption).

The security of this cipher is therefore close to zero. This is particularly shocking, given the fact that, according to the Dutch press, 1 billion of MiFare Classic chips are used worldwide, including many government security systems.

Som en läsare på Kryptoblog tidigare påpekat används även MiFare Classic i GL:s nya kontaktlösa biljettsystem här i Göteborg.

Egenhackade krypton är ofta en riktig usel idé, Ett egenhackat krypto med 48-bit nyckel känns riktigt brunt. Men det här kanske leder till bättre kravställning vid upphandling av den här typen av system. Man kan väl hoppas i alla fall…

Lite mer tankar om eSTREAM

Sunday, April 20th, 2008

(Uppdaterad med lite egna åsikter om strömkryptons vara eller inte vara.)

Jag kom att det fanns ett par saker till från avslutningen av eSTREAM värda att nämna.

I slutrrapporten som presenterar eSTREAM-portföljen finns det även med resultatet från den omröstning som genomfördes på workshopen State of the Art Stream Ciphers - SASC 2008.

Deltagarna i workshopen ombads att dela ut poäng till de olika eSTREAM-kandidaterna. +5 för kandidater som ansågs vara very suitable och -5 för kandidater som ansågs vara not very suitable.

För kandidaterna i profil ett blev utfallet så här:

Rabbit 2.80
Salsa20 2.80
Sosemanuk 1.20
HC-128 0.60
NLS v2 -0.60
LEX v2 -1.20
CryptMT v3 -1.40
Dragon -1.60

För kandidaterna i profil två blev utfallet så här:

Trivium 4.35
Grain v1 3.50
F-FCSR-H v2 0.52
MICKEY v2 0.17
Decim v2 -1.38
Edon80 -1.72
Pomaranch v3 -2.24
Moustique -2.50

Som man kan se av detta var det de kandidater som totalt sett fick positiva omdömen som till slut kom med i eSTREAM-portföljen. I Profil ett var det ganska jämt, och inga kandidater som var mycket populärare än andra. I profil två sticker Trivium och Grain ut ordentligt som klart mer populära än de andra.

Slutrapporten avslutas med en diskussion och noteringar de som organiserat eSTREAM har gjort.

Flera av kandidaterna i eSTREAM hade stöd för autenticiering av datat, men ingen av de kandidater som kom med i eSTREAM-portföljen har denna egenskap. Det var bara ett fåtal av kandidaterna som var självsynkroniserande, och ingen av dessa tog sig igenom eSTREAM. Organisatörerna noterar även att den kryptanalys som utförts iaf bitvis har varit ad hoc, snarare än metodisk.

Organisatörerna påpekar även att strömkrypton som Snow 2.0, även om det inte var med i eSTREAM antagligen är ett krypto som borde kunnat vara med i portföljen. Vidare nämner man TPy och Phelix (två kandidater som åkte ut) som intressanta nog att fortsätta utveckla.

Rapporten avslutas med en fråga: Stream ciphers: dead or alive? Min personliga åsikt att från vare sig ett säkerhetsperspektiv eller ett systemperspektiv är det intressant om det symmetriska kryptot är ett strömkrypto eller ett blockkrypto. Det som är intressant är om kryptot är säkert, att det kan leverera den prestanda som krävs och att storleken på implementationen är så liten som möjligt och inte medför några sidoattacker.

Blockkryptot AES med lämplig kryptomod kan erbjuda samma metodmässiga beteende som ett strömkrypto. Men om ett strömkrypto kan ge bättre prestanda än AES är det intressant för applikationer med stora bandbreddskrav - och här har vi med eSTREAM fått HC, Rabbit och Salsa20. För inbyggda system med hårda kostnadskrav är AES en dyr lösning och då är eSTREAMs krypton Grain och Trivium bra tillskott till möjliga lösningar.

Slutligen är jag lite rädd för en på tok för stor homogenitet, mer specifikt att säkerheten beror av att en enskild komponent fortsatt är säker. Några av eSTREAM-kandidaterna lånade mer eller mindre mycket från AES. Vidare har det kommit flera förslag till hashfunktioner som bygger på koncept och komponenter från AES.

Skulle det dyka upp allvarliga problem med AES är det bra att det finns alternativ. Och därför tycker jag att eSTREAM som projekt, den portfölj av kryptot vi fått med eSTREAM samt fortsatt utveckling av strömkrypton (och andra krypton, hashfunktioner etc) är bra.

Vad är din uppfattning?

Och eSTREAM-vinnarna är….

Saturday, April 19th, 2008

HC-128, Rabbit, Salsa20/12, SOSEMANUK, F-FCSR-H v2, Grain v1, Mickey v2 och Trivium!

För ett par dagar sedan skrev jag en bloggpostning om slutspurten i eSTREAM och avslutade med att nu är det bara att vänta och se vad de kloka kryptologerna kommer fram till. Det visade sig att väntan blev kort.

Samtidigt som jag skrev min postning blev eSTREAM klar och dagen samtidigt med att jag postade uppdaterades eSTREAM. Så kan det gå. Och tack till den läsare som påpekade att resultatet var klart - jag hängde inte alls med.

Nå, resultatet är klart och vad skall vi då säga om det? Massor!

En första spontan kommentar är att det är kul att det blev så många algoritmer som fick en plats i den slutgiltiga eSTREAM-portföljen. Det blev inte en algoritm i vardera profilen (profil ett - snabba SW-algoritmer och profil två - effektiva i HW och inbyggda system), nej vi fick fyra algoritmer i respektive profil!

Detta gör iofs att det inte blir en algoritm som alla kommer att använda (jämför med AES), men samtidigt öppnar det upp att kunna välja utifrån krav och preferenser. Om man exempelvis inte kan leva med att Rabbit bara får användas fritt i icke-kommersiella tillämpningar finns det tre andra algoritmer i profil ett.

De ansvariga, kloka kryptologer som organiserat eSTEAM har publicerat en rapport kallad The eSTREAM Portfolio som beskriver arbetet som utförts i eSTREAM, varför de algoritmer som inkluderats i portföljen har valts samt varför andra algoritmer inte valdes. Vad gäller eSTREAM som aktivitet skriver de att:

The goal of eSTREAM was to stimulate work in the area of stream ciphers. In this, undoubtedly, the project has been a success. While eSTREAM has much of the appearance of a competition such as that used to establish the AES (or the forthcoming SHA-3) this comparison should be resisted.

We prefer not to use the word “winners”, or to necessarily pick one (or even two) algorithms as the sole outcome of eSTREAM. Rather, we are conscious that most of the stream ciphers in the portfolio are very new and while we believe them to be promising—for a variety of reasons—we must leave it to others to decide when analysis is sufficiently mature for an algorithm to be considered in standards or used in a deployment.

Jag personligen vill ändå kalla algoritmerna som valdes in i portföljen som vinnare. De har genomgått ett ganska rejält stålbad och bland de 30+ kandidater blivit en av åtta som tog sig hela vägen fram. Vad gäller Profil ett-algoritmerna skriver eSTREAM-arrangörerna att:

The goal for ciphers submitted to Profile 1 was that they should be “good” in software. By this we meant that they should significantly outperform the AES when used in a suitable stream cipher mode and all the final phase ciphers in Profile 1 achieve this.

Our vision wasn’t necessarily of a stream cipher that had a good all-round profile; our focus was on raw encryption speed with a bias towards encrypting large amounts of data after a single initialisation. Our intended security level was set to 128 bits which we believe to be adequate for contemporary applications.

Det man lyckats med bland profil ett-algoritmerna är att få en bra spridning på typen av algoritm, dvs basen för hur kryptot fungerar. HC-128 är ett extremt snabbt krypto som arbetar med stora tabeller (som iofs tar lång tid att initiera) vilket gör den intressant för bulk-kryptering.

Rabbit är ett gammalt krypto (visades publikt på FSE 2003) och har klarat sig utan större problem sedan dess. Rabbit är även ett snabbt krypto, och utan omfattande initieringsfaser.

Salsa20/12 är ett snabbt och skalbart krypto, men bygger på delvis nya principer - även om det klarat sig bra genom eSTREAM. Sosemanuk å sin sida bygger på delar från gamla krypton.

Vad gäller Profil två-algoritmerna skriver eSTREAN-organisatörerna att:

The goal for ciphers submitted to Profile 2 was that they should be “good” in constrained hardware environments. By this we meant that ciphers should significantly out-perform the AES in a restricted environment in at least one significant regard. The final phase candidates in Profile 2 were chosen because we believed they had the potential to achieve this.

We were anticipating that ciphers in Profile 2 might be suitable for deployment on passive RFID tags or low-cost devices such as might be used in sensor networks. Such devices are exceptionally constrained in computing potential because of the number of logic gates available or the amount of power that might realistically be available.

Our intended security level for this profile was 80 bits which we believe to be adequate for the lower-security applications where such devices might be used.

Som jag skrivit tidigare tycker jag att det är bra att man hade en separat profil för inbyggda system och att HW-implementationer togs i beaktande. Men jag tycker att det var synd att man hade 80 bitar som säkerhetsnivå för denna profil, något som många andra uttryckt som ett problem under hela eSTEAM-arbetet.

Jag ser inte att inbyggda system klarar sig med sämre säkerhet. Snarare är det så att dessa system är i användning under längre tid och uppdateras mycket mer sällan än PC-system. Detta, anser jag talar snarare för att inbyggda system behöver högre säkerhet, inte minst för att många av dessa system används för att automatisera, dvs styra och reglera den infrastruktur vi alla är beroende av.

Slutligen, att 48 bitar dvs sex Bytes skulle kosta för mycket för ett inbyggt system köper jag inte. Det som är intressant är hur många bitar som interntillståndet i kryptot kräver - RC4 som exempel kräver 256 Bytes (plus minst 16 bitar till för pekare).

Av de algoritmer som till slut hamnade i portföljen är det dock bara Trivium som har en nyckellängd på 80 bitar, de andra (F-FCSR, Grain och Mickey) har alla 128 bitars nycklar. Bra.

Bland profil två-algoritmerna är spridningen av nytänkande och konservatism stor. F-FCSR-H bygger på principer som testats sedan 90-talet. Grain å sin sida är imponerande, både i sin grundläggande enkelhet och sin skalbarhet (något jag gillar skarpt). Mickey är väsentligen två (stora) skiftregister, men har stått upp bra mot alla attacker som kastats mot den. Trivium slutligen är ett experiment i enkelhet och nytänkande som visade sig hålla hela vägen. Kul!

Det jag kan tycka är lite synd är ingen av de kandidater som skickades in till båda profilerna fick vara kvar hela vägen. Salsa20 skickades in som kandidat till båda profilerna, men fick bara fortsätta som profil ett-algoritm, även om den går bra att implementera i HW. Grain å sin sida är mycket snabb även i SW, och Grain borde (anser jag) fått vara med som profil ett-krypto.

eSTREAM har lett till en stor hög med forskning, undersökningar och artiklar. Bara eSTREAMs egen artikelsida listar 205 olika artiklar, och till det skall läggas allt som publicerats på konferenser och andra ställen. På eSTREAMs diskussionsforum har det varit aktivitet under hela arbetet, ett forum där diskussionerna (speciellt när DJB varit inblandad) gått höga. Jag inbillar mig att detta varit bra för kryptoforskningen över huvud taget.

En sak jag noterar är att fyra av vinnar-algoritmerna är representerade bland de som organiserat eSTREAM. Steve Babbage (Mickey), Christophe De Canniére (Trivium), Anne Canteaut (SOSEMANUK), Henri Gilbert (SOSEMANUK), Thomas Johansson (Grain) och Bart Preneel (Trivium). Jag tror inte att det handlar om att eSTREAM letts av några av de bästa kryptologerna, vilka naturligvis har rätt att skicka in kandidater.

En annan sak jag noterar är att forskningsorganisationen COSIC är starkt representerad, både i organisationskommitén (med bland annat Vincent Rijmen och Bart Preneel) i de vinnande bidragen. Hongjun Wu (HC), Bart Preneel (Trivium), har alla COSIC som arbetsplats. COSIC är antagligen Europas, kanske världens just nu bästa institution för kryptoforskning.

Hur var det då med den internationella aspekten på eSTREAM? Rätt bra tycker jag att det ser ut som. De krypton som hamnade i portföljen kommer från Frankrike (SOSEMANUK, F-FCSR), Belgien (HC, Trivium), England (Mickey), Danmark (Rabbit), Sverige (Grain), Schweiz (Grain) och USA (Salsa20/12). Inga från Asien och få personer från USA.

Så, eSTREAM är över. Vad skall man göra nu? Jag tänker göra två saker: Bevaka NISTs AHS-tävling samt börja jobba med att göra bra HW-implementationer av eSTREAM-algoritmerna.

Jag har tidigare byggt testimplementationer av Salsa20, Grain, Mickey och Trivium och tycker att de är trevliga algoritmer. Jag skall försöka bygga implementationer av de andra algoritmerna i portföljen. Men Rabbit skuttar jag över - på grund av dess licens.

Vad jag har sett är Salsa20 är något problematisk vid routing (dra ledningar på chip). Min erfarenhet är även att Mickey är mycket lättare att skala än vad de flesta som beskrivit HW-implementationer för eSTEAM hävdar. Förhoppningsvis kan jag publicera lite siffror på implementationsresultat för eSTREAM-algoritmer senare under 2008.

Det var det hele. Tack eSTREAM för den tid som varit! Nu skall jag äta frukost.

(BTW: Nu är även Wikipedias sida om eSTREAM uppdaterad.)

Avhandling om juridiken runt DRM-skydd

Tuesday, March 25th, 2008

Karl Jonsson har bloggat om att Kristoffer Schollin, doktorand vid Handelshögskolan i Göteborg skall presentera en avhandling om Digital Rights Management (DRM).

Kristoffer Schollin

Webbplatsen för juridiska institutionen på Handels har mer information om disputationen:

Fredagen den 28 mars disputerar Kristoffer Schollin på sin avhandling Digital Rights Management – the New Copyright.

Disputationen äger rum i SKF-salen och börjar kl. 13:00. Avhandlingen är en kritisk analys av Digital Rights Management (DRM) som rättsligt fenomen i ett föränderligt område: ”DRM is examined from a range of perspectives as a tool of normative communication and regulation as well as ideological systematization of rights and positions of control”.

Workshop om frånstötande teknik

Tuesday, March 18th, 2008

(Jag är tillbaka från några veckors semester där ingen IT-säkerhet fanns att fundera på. Räkna med bättre fart på Kryptoblog.)

Som en del av sin normala säkerhetskonferens anordnar USENIX en konferens kallad Workshop on Offensive Technologies. Syftet med WOOT08 är att diskutera frånstötande koncept och tekniker inom IT-säkerhet. Vad som avses är:

Submissions should reflect the state of the art in offensive computer security technology—either surveying previously poorly known areas or presenting entirely new attacks.

We are interested in work that could be presented at more traditional, academic security forums, as well as more applied work that informs the field about the state of security practice in offensive techniques.

A significant goal is producing published artifacts that will inform future work in the field. Submissions will be peer-reviewed and shepherded as appropriate.

Submission topics include:

* Vulnerability research (software auditing, reverse engineering)
* Penetration testing
* Exploit techniques and automation
* Network-based attacks (routing, DNS, IDS/IPS/firewall evasion)
* Reconnaissance (scanning, software, and hardware fingerprinting)
* Malware design and implementation (rootkits, viruses, bots, worms)
* Denial-of-service attacks
* Web and database security
* Weaknesses in deployed systems (VoIP, telephony, wireless, games)
* Practical cryptanalysis (hardware, DRM, etc.)

Är du intresserad av att presentera något är det dags att skicka in en anmälan.

Artikel om attacker på Feistelbaserade krypton

Wednesday, February 13th, 2008

Det har dykt upp en artikel på IACR om attacker på Feistelbaserade blockkrypton. Generic Attacks on Feistel Schemes av Jacques Patarin skriver i sammanfattningen:

Let A be a Feistel scheme with 5 rounds from 2n bits to 2n bits. In the present paper we show that for most such schemes A:
1. It is possible to distinguish A from a random permutation from 2n bits to 2n bits after doing at most O(2n) computations with O(2n) non-adaptive chosen plaintexts.

2. It is possible to distinguish A from a random permutation from 2n bits to 2n bits after doing at most O(3n/2) computations with
O(3n/2) random plaintext/ciphertext pairs.

Since the complexities are smaller than the number 22n of possible inputs, they show that some generic attacks always exist on Feistel schemes with 5 rounds. Therefore we recommend in Cryptography to use Feistel schemes with at least 6 rounds in the design of pseudo-random permutations.

We will also show in this paper that it is possible to distinguish most of 6 round Feistel permutations generator from a truly random permutation generator by using a few (i.e. O(1)) permutations of the generator and by using a total number of O(2**2n) queries and a total of O(2**2n) computations.

This result is not really useful to attack a single 6 round Feistel permutation, but it shows that when we have to generate several pseudo-random permutations on a small number of bits we recommend to use more than 6 rounds. We also show that it is also possible to extend these results to any number of rounds, however with an even larger complexity.

Först skall jag nog säga att artiklar som publiceras på IACR inte självklart har granskats och därmed är det svårt att bedöma om det som presenterats stämmer eller ej.

Vad det handlar om är alltså skiffer uppbyggda enligt den struktur som Horst Feistel hittade på där blocket som bearbetas delas upp i två sidor (delar) och sidorna bearbetas var för sig. Mellan varje varv byter sidorna plats:

Feistel-struktur

Det artikeln visar (så vitt jag fattar) är att oavsett nyckel och väsentligen oavsett vilka operationer som utförs på de olika sidorna i ett varv går det att identifiera utdata från kryptot i jämförelse med en en ren slumpmässig mängd data.

Rent praktiskt innebär inte detta att ett stort antal krypton plötsligt blivit osäkra (ens om resultaten i artikeln stämmer). De flesta Feistel-krypton, ex 3DES har ett stort antal varv och som författaren till artikeln skriver:

it is possible to distinguish most generators of 6 round Feistel permutations from truly random permutations on 32 bits, within approximately 2**32 computations and 2**32 chosen plaintexts (and this whatever the length of the secret key may be)

Det är alltså för ett krypto med ett block på 32 bit och sex varv. För ex 3DES med 64 bit block och 48 varv är det fortfarande praktiskt omöjligt. Men ett krypto där säkerhetsmarginalen i och med artikelns resultat kanske börjar bli liten kan vara KASUMI, kryptot i 3G.

Eller tänker jag snett?

Lite statistik för eSTREAM-kandidater

Monday, January 21st, 2008

Jag sitter och söndagsfunderar på vilka eSTREAM-kandidater i fas tre som till slut blir rekommenderade strömkrypton.

eSTREAM

Det vi borde kunna göra är att titta på de utvärderingar som gjorts så här långt. Vi behöver titta både på prestanda och komplexitet samt hur man vid avslut av fas två röstat - vilka kandidater som tidigare varit mest populära. Här är en sammanställning av fas tre-kandidaterna och det viktade röstresultatet:

SW-profil
Salsa20 1.80
SOSEMANUK 1.03
HC 128/256 1.08
LEX 0.90
Rabbit 0.88
Dragon 0.47
CryptMT 0.29
NLS -0.60

HW-profil
Grain 1.63
Trivium 1.54
Mickey128 0.66
F-FCSR 0.29
LEX 0.21
Mickey 0.11
Edon80 0.00
Pomaranch −0.38
DECIM −0.39
Moustique −0.65

För de kandidater som förekommer flera gånger (ex Salsa20) har jag valt att ta det värde som är högst. Här ser vi att Salsa20 ligger i topp för SW-profilen följd av SOSEMANUK och HC. CryptMT och NLS är de minst populära SW-kandidaterna.

I HW-profilen ligger Grain i topp, tätt följd av Trivium och MICKEY. I botten ligger DECIM och Moustique.

Ett annat sätt att mäta skulle kunna vara att titta på antalet artiklar med resultat från någon form av kryptanalys samt antalet uppdateringar som har kommit till specifikationen för kandidaten.

Visst, eftersom artiklarna innehåller så otroligt skilda resultat blir det att jämföra apelsiner med lime och chili (eller nåt). Men jag tycker ändå att detta bör vara relevant. Har det uppdagats många svagheter och modifieringar till specifikationen tror jag att den kandidaten är mindre intressant än en som visat sig vara stabil.

Jag gjorde en snabb sammanställning baserad på vad som publicerats hos eSTREAM för respektive kandidat vad gäller kryptanalys och uppdatering av specifikationerna och fick följande:

CryptMT: 2
Dragon: 3
HC: 0
LEX: 3
NLS: 3
Rabbit: 2
Salsa20: 5
SOSEMANUK: 2
DECIM: 2
Edon80: 6
F-FCSR: 3
Grain: 3
MICKEY: 2
Moustique: 2
Pomaranch: 9
Trivium: 5

Här sticker HC ut genom att det inte kommit en enda artikel med kryptanalys som visar på någon svaghet. Pomaranch och Edon80 å andra sidan är de kandidater med flest publicerade resultat från kryptanalys samt uppdateringar till specifikationen. Dock kommer det på FSE 2008 att publiceras två artiklar med analysresultat för Salsa20 samt en för Trivium, vilket gör att dessa seglar upp i statistiken.

Skall man utifrån dessa två datamängder försöka sig på en gissning skulle jag tro att HC kommer att vara en av de krypton från SW-profilen eSTREAM kommer att rekommendera. För HW-profilen skulle jag satsa mina slantar på minst en av Grain, Trivium eller MICKEY.

Vad tror du?

FSE 2008 och slutspurt i eSTREAM

Friday, January 11th, 2008

Det börjar bli dags för årets upplaga av konferensen Fast Software Encryption (FSE) - mer exakt 10-13 februari i Lausanne, Schweiz. På konferensens webbplats finns nu ett preliminärt program och en lista med godkända artiklar. Tittar man på dessa sidor ser det ut att presenteras en hel del intressanta saker.

En första observation är att trenden sedan ett par år tillbaka med analyser/attacker mot olika hashfunktioner fortsatt håller i sig. Bland artiklarna finns bland annat de här:

MD4 is Not One-Way
Collisions on SHA-0 in one hour
Improved indifferentiability security analysis of chopMD Hash Function
Collisions for step-reduced SHA-256
New Techniques for Cryptanalysis of Hash Functions and Improved Attacks on Snefru
A (Second) Preimage Attack on the GOST Hash Function
Second Preimage Attack on 3-Pass HAVAL and Partial Key-Recovery Attacks on NMAC/HMAC-3-Pass HAVAL
Cryptanalysis of LASH

Av dessa är väl kollisioner mot SHA-256 det mest intressanta resultatet.

FSE 2008 är även en av de sista stora konferenserna innan eSTREAM-projektet skall avslutas. Därför är det extra intressant att se att det dyker upp resultat mot några av eSTREAM-finalisterna:

New Features of Latin Dances: Analysis of Salsa, ChaCha, and Rumba
Pen-and-Paper Collisions for the Full Salsa20 Hash Function

Differential Fault Analysis of Trivium

Här är det alltså frågan om två separata grupper som hittat problem med Salsa20 och dess släktingar ChaCha och Rumba. Dessa resultat är mycket intressanta av flera skäl. Salsa20 är nämligen inte bara en finalist i eSTREAM, utan dess släktingar ChaCha och Rumba är kompressions- och hashfunktioner skapade av Daniel J Bernstein.

Dessa funktioner är försök till avsteg från Merkele-Damgård-strukturen och finns även i andra, relativt nya strömkrypton och hashfunktioner, ex Schneiers Helix/Phelix. Om det visar sig att denna struktur har grundläggande fel finns det flera algoritmer som kan sitta pyrt till.

Att döma av hur Daniel J Bernstein brukar reagera gissar jag att om han är på FSE 2008 inte kommer att låta de här artiklarna stå obesvarade.

Vad gäller Trivium, har bloggen Cryptanalysis tidigare publicerat delar av det resultat som antagligen kommer att presenteras på konferensen. Resultaten är baserade på en förenklad variant av Trivium, men är ändå mycket intressanta.

Ett skäl till detta är att Trivium, precis som Salsa20 är ett försök att hitta en ny struktur. Som artikeln som specar Trivium beskriver det: Trivium is a hardware oriented synchronous stream cipher. It was designed as an exercise in exploring how far a stream cipher can be simplified without sacrificing its security, speed or flexibility.

Ok, det var eSTREAM-finalisterna. Konferensen inkluderar även en del resultat vad gäller blockkrypton:

Experiments on the Multiple Linear Cryptanalysis of Reduced Round Serpent
A Meet-in-the-Middle Attack on 8-Round AES
Impossible Differential Cryptanalysis of CLEFIA

Här är det väl ganska uppenbart att attacken mot en reducerad version av AES är det mest intresssanta.

CLEFIA är ett blockkrypto som Sony utvecklat för att skydda digitala media (Digital Rights Management - DRM). CLEFIA presenterades på FSE 2007, dvs förra året. Och nu kommer det alltså en kryptanalys.

Ett annat område med ett par intressanta artiklar är slumptalsgeneratorer.

Post-processing functions for a biased physical random number generator
How to Encrypt with a Malicious Random Number Generator

Den i mitt tycke mest intressanta artikeln här är den andra. Skälet till detta är att för inte så länge sedan presenterade Bruce Ferguson och en kollega resultat som pekade på att en av de NIST-specificerade slumptalsgeneratorerna (PRNG) innehåller en bakdörr. Den här artikeln verkar visa på att man med rätt metod kan lita på sina kryptonycklar även om man inte litar på slumptalsgeneratorn.

Den sista kategorin artiklar handlar om det gamla sorgebarnet RC4:

New Form of Permutation Bias and Secret Key Leakage in Keystream Bytes of RC4
Efficient Reconstruction of RC4 Keys from Internal States

Det verkar som om detta stackars strömkrypto inte får vila i frid, utan att folk är framme och sparkar på liket… Å andra sidan är RC4 ett krypto som används väldigt mycket så liket lever antagligen tyvärr på tok för mycket.

Som sagt, det ser ut att bli en mycket spännande konferens - även om det kanske inte är lika spännande som det här:

Vardagsedge.

Som Månster uttryckte det: Vardagsedge!.

Ross Andersson söker efter ondska

Thursday, November 22nd, 2007

En av mina stora idoler på säkerhetsfronten, forskaren Ross Andersson har hälsat på Google och hållit en presentation. Presentationen Searching for Evil finns på YouTube och är väl värd att titta på:

Sammanfattningen på YouTube förklarar vad presentationen handlar om:

Computer security has recently imported a lot of ideas from economics, psychology and sociology, leading to fresh insights and new tools. I will describe one thread of research that draws together techniques from fields as diverse as signals intelligence and sociology to search for artificial communities.

Evildoers online divide roughly into two categories - those who don’t want their websites to be found, such as phishermen, and those who do. The latter category runs from fake escrow sites through dodgy stores to postmodern Ponzi schemes.

Intelligenta algoritmer och dumma människor

Tuesday, November 13th, 2007

Jag har tidigare skrivit om CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart, dvs automatiserade tester avsedda att särskilja människor och maskiner.

Syftet med CAPTCHA är att kunna blockera maskiner från access till olika resurser, exempelvis diskussionsforum eller nätspel, men samtidigt inte hindra mänskliga besökare. Ofta är CAPTCHA:n utformad som en förvrängd bild där människans förmåga att tolka bilder utnyttjas:

Typisk CAPTCHA.
(Typiska CAPTCHA-bilder lånade från Wikipedia.)

CAPTCHA och intresset för att komma åt de tillgångar CAPCTHA-tekniken skyddar har lett till ett ställningskrig mellan de som utvecklar CAPTCHA-algoritmer och de (typiskt SPAM-troll) som försöker hitta på algoritmer för att knäcka CAPTCHA-algoritmerna. Men om man nu tycker att det är svårt att hitta på smarta algoritmer för att attackera CAPTCHA kan man istället ta till dumma människor.

Computerworld hade för ett tag sedan en artikel om hur spammare använder access till porr för att locka användare att tolka CAPTCHAs plockade från webbplatser spammarna vill få access till:

Spammers are using a virtual stripper as bait to dupe people into helping criminals crack codes they need to send more spam or boost the rankings of parasitic Web sites, security researchers said today.

A series of photographs shows “Melissa,” no relation to the 1999 worm by the same name, with progressively fewer clothes and more skin each time the user correctly enters the characters in an accompanying CAPTCHA (Completely Automatic Public Turing Test to Tell Computers and Humans Apart), the distorted, scrambled codes that most Web mail services use to block bots from registering hundreds or thousands of accounts. Spammers rely on Web e-mail accounts because they’re disposable; by the time filters have blocked the address, the spammers throw it away and move on to another.

The CAPTCHAs that Melissa feeds to users are, in fact, legitimate codes snatched from Yahoo Mail’s signup screens, said analysts at Trend Micro Inc. The hackers, frustrated at their inability to come up with a way to automate account registration, are getting users to do their dirty work.

“They’re using human beings in semi-real time to translate CAPTCHAs by proxy,” said Paul Ferguson, a network architect at Trend Micro. “You have to give them this, it’s clever.”

Each time the user correctly decodes the CAPTCHA, a new Melissa photo is revealed, pulled from a hacker-controlled server in Israel, according to Symantec Corp. The plain-text decodes are sent to that same server, where they are presumably banked for future use in generating large numbers of Yahoo Mail accounts.

På Wikipedias sida om CAPTCHAs finns även en länk till en sida med information om där människor anställts för att sitta och lösa CAPTCHAS, på liknande sätt som folk anställs för att träna upp karaktärer i spel som World of Warcraft. (Den sidan kallar fenomenet Turing farm.)

Jag vill ändå separera dessa två typer av attacker mot CAPTCHAs där människor plockas in som beräkningsenheter. I det förra fallet handlar det om att på olika sätt lura och locka folk att hjälpa till med något de annars inte hade ställt upp på. Och frågan är hur man skyddar sig mot detta. Finns det bra sätt att tekniskt stoppa denna typ av attack?

Dels kan man försöka stoppa möjligheten att skicka CAPTCHAn vidare, vilket i sig inte är helt lätt. Men frågan är om CAPTCHA-tekniken i sig går att förändra? Jag bloggade för ett tag sedan om knäppa CAPTCHAs, men det kanske är så att för vissa webbplatser är CAPTCHAs med domänspecifik semantisk koppling lösningen.

Matte-CAPTCHA.
(Matte-CAPTCHA.)

Dvs bara användare som verkligen är intresserade av access till webbplatsen är kapabla att lösa CAPTCHAn… Med konsekvens att Internet blir än mer slutet och fragmenterat. Men knäppa CAPTCHAs är kanske inte så knäppt i alla fall.