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
February » 2008 » Kryptoblog

Archive for February, 2008

.SE testar bredbandsroutrar

February 27th, 2008

.SE (Stiftelsen för Internetinfrastruktur) har testat tolv routrar för hem/konsumenter och då fokuserat på routrarnas förmåga att hantera säker DNS-uppslagning. Av de tolv fick tre stycken godkänt, sju befanns ha märkbara problem med DNS och två hade så grava problem att de inte gick att testa på ett vettigt sätt. Patrik Wallström, projektledare för forskning och utveckling på .SE förklarar:


Det stora problemet ur ett DNSSEC-perspektiv är att majoriteten av hemmaroutrarna inte har klarat av DNSSEC ner på applikationsnivå på datorn. Det är inget problem så länge valideringen sköts av till exempel Internetlevantörens DNS-resolver, men däremot när en applikation på klienten kräver egen DNSSEC-validering.

Läser man i testrapporten hittar man bland annat den här närmare beskrivningen av problemen man funnit:


De vanligaste felen har varit frågor och svar över TCP, problem med AD-biten i svaret samt när klienten vill validera DNSSEC själv (DO-biten satt i frågan).

Resultatet av testerna är nedslående. Vad som står ut mest är andelen routrar som inte klarar av DNS-frågor över TCP. Men det stora problemet ur DNSSEC-perspektiv är att majoriteten inte klarar av DNSSEC ner till applikationsnivå på datorn.

Det är inget problem så länge valideringen sköts av t.ex. Internetleverantörens DNS-resolver, men när det tillkommer en applikation på klienten som begär egen DNSSEC-validering fungerar det i de flesta fall inte alls.

.SE kontaktade tillverkarna för att få deras kommenterar och fann att:


Några har återkommit med varierande grad av engagemang, och en har faktiskt tagit problemet på allvar och kommit med åtgärder.

Testerna inkluderar maskiner från D-Link, Netgear, Linksys, Zyxel, FON, Zonet och Gigabyte. Enligt uppgift är Zyxel den leverantör som tog problemet på allvar.

För mer information rekommenderas läsning av .SE:s testrapport.

Analys av tidbaserade sidoattacker av eSTREAM-finalister

February 27th, 2008

(Det händer otroligt mycket på krypto- och IT-säkerhetsområdet just nu. Tyvärr hinner jag inte alls med… Men bloggen är inte död, det är jag som är seg…)

I januari anordnades ett seminarie om symmetriska krypton kallat ECS 2008, och det finns en Wiki som dokumenterar vad som skedde på seminariet. En av de saker som presenterades på seminariet var ett arbete av Erik Zenner om sidoattacker mot eSTREAM-kandidater.

I presentationen Cache Timing Analysis of eStream Finalists tittar Zenner på hur känsliga de olika eSTREAM-finalisterna är för varians i exekveringstid som uppkommer på grund av algoritmernas accessmönster gör att minnesaccesser träffar eller missar i cacheminnen. Denna typ av fick stor uppmärksamhet av den attack mot AES Daniel J Bernstein presenterade för några år sedan.

Det Bernstein pekade på är att tabeller (S-boxar) lätt leder till missar i cacheminnen vilket ger upphov till mätbara tidsvarianser. Det är därför värt att titta på vilka av eSTREAM-finalisterna som har S-boxar och det ser ut så här:

Dragon: Två tabeller, 8×32 bit
HC-128: Två tabeller, 9×32 bit
HC-256: Två tabeller, 10×32 bit
LEX-128: En tabell, 8×8 bit (referenskod)
Lex-128: Åtta tabeller, 8×32 bit (optimerad kod)
NLS: En tabell, 8×32 bit S-Box
Rabbit: Ingen tabell
Salsa-20: Ingen tabell
Sosemanuk: En tabell, 8×32 bit. Åtta tabeller 4×4 bit

Notera att detta bara är finalisterna för profilen avsedd för SW-implementation i modern PC eller server. Jag hade gärna sett att man även undersökt kandidaterna avsedda för inbyggda system och HW-implementation.

Det Erik Zenner kommit fram till är:


Salsa-20 is designed to be resistant to Cache Timing Attacks.

CryptMT and Rabbit are resistant, probably by accident.

LEX falls to the same attacks as AES, since it uses AES for key/IV setup.

Dragon, HC-256/128, NLS, and Sosemanuk have to be analysed.

Och Eriks slutsats så här långt är att:


Surprise: Most candidates seem to withstand analysis even in the generous model surprisingly well (not unbreakable, but complicated).

With the exception of Salsa, the eStream finalists were not designed to resist cache timing attacks. In addition, the attack model is very generous to the adversary. Nonetheless, they seem to withstand an attack where the adversary learns a lot about the inner state surprisingly well.

Zenners arbete är alltså inte avslutat, men så här långt ser det alltså inte ut som att någon av finalisterna lider svårt av den här typen av attacker. Skönt.

Security Power Tools

February 14th, 2008

Jag har en ny bok i mitt bibliotek med IT-säkerhetsböcker: Security Power Tools.

Security Power Tools

En av mina absoluta favoriter bland IT-böcker är O’Reillys klassiker UNIX Power Tools(UPS), och både namn och beskrivning av den nya boken försöker göra gällande att Security Power Tools (SPS) är en nära släkting till UPS.

UNIX Power Tools

Nu har jag inte hunnit så långt in i SPS, men någon UPS är den inte. En stor skillnad är att den nya boken ägnar ganska stora textmassor att förklara hur IT-system fungerar och vilka säkerhetsproblem som finns. UPS bryr sig inte om sådana saker, utan där är det sida upp och sida ner med smarta tricks och sätt att snabbt lösa problem.

Vad böckerna har gemensamt är att man utifrån ett scenario tar fram kända verktyg och applicerar dom. Men UPS tar exempelvis upp scenarion som hur man flyttar filer från en katalog till en annan, och sedan visar 100 olika sätt att göra detta på – beroende på om du skall flytta mer än en fil, till filsystem över nätverk, om du skall döpa om filerna samtidigt etc. SPS tar istället upp hur du övervakar ett nätverk, hur du undersöker ett nätverk, hur du hanterar elak kod som kommer in i ditt system. Dvs SPS arbetar på en mycket högre nivå.

Så här långt har SPS varit en bra läsning. Det är som sagt inte en ny UPS, men det betyder inte att det är en sämre bok – det är en annan sorts bok. Om man bortser från bokens namn och författarnas försök att koppla ihop sin bok med UPS är SPS antagligen en ypperlig bok om IT-säkerhet.

Jag skulle vilja hävda att SPS har mer gemensamt med en kombination av böcker som Ross Anderssons Security Engineering och Michal Zalewskis Silence on the Wire (mycket bra böcker båda två), dvs bra teoribeskrivning och krassa, effektiva metoder och sätt att använda olika verktyg för att lösa problem.

Någon som läst boken och har en annan uppfattning?

En ny attack mot KeeLoq

February 14th, 2008

Det har dykt upp än ny attack mot KeeLoq.

I höstas blev det en hel del uppmärksamhet om den attack som Biham & Co lyckades genomföra mot kryptot i KeeLoq. Jag postade flera gånger om denna attack, bland annat om att KeeLoq-användaren Volvo noga följde utvecklingen.

KeeLoq-bild

KeeLoq är alltså en krets från Microchip som används i trådlösa autenticieringsmekaniser och KeeLoq är väldigt vanlig i trådlösa lås på bilar, speciellt dyrare bilar exempelvis från Jaguar och Volvo.

Det Biham & Co visade var att det finns fundamentala brister i kryptomekanismerna som gör att det går att räkna ut nycklar, både enskilda nycklar och de huvudnycklar som används i samtliga bilar av en viss modell. Den här attacken krävde inte heller årtionden av beräkningstid, utan går så fort att man bör kunna anse attacken som praktiskt genomförbar.

Och som det brukar vara i sådana här sammanhang – hittar någon en brist, ett fult sår och varböld dyker det raskt upp fler som vill dit och peta och rota. Eftersom någon visat att det finns något värt att publicera och få uppmärksamhet kring finns det säkert mer att gräva fram och få del av uppmärksamheten. Liknande beteende tycker jag mig bla se vad gäller attacker mot hashfunktioner.

Några som inte tvekade att peta på KeeLoq är Thomas Eisenbarth, Timo Kasper, Amir Moradi, Christof Paar, Mahmoud Salmasizadeh och Mohammad T. Manzuri Shalmani. Vad de upptäckte var att det finns problem med inte bara de bakomliggande algoritmerna hos KeeLoq, utan det brister även i implementationen. Mer specifikt finns det brister som öppnar upp för sidoattacker.

Deras artikel Physical Cryptanalysis of KeeLoq Code Hopping Applications beskriver det här:


Recently, some mathematical weaknesses of the KeeLoq algorithm have been reported. All of the proposed attacks need at least $2^{16}$ known or chosen plaintexts.

In real-world applications of KeeLoq, especially in remote keyless entry systems using a so-called code hopping mechanism, obtaining this amount of plaintext-ciphertext pairs is rather impractical.

We present the first successful DPA attacks on numerous commercially available products employing KeeLoq code hopping. Using our proposed techniques we are able to reveal not only the secret key of remote transmitters in less that one hour, but also the manufacturer key of receivers in less than one day. Knowing the manufacture

(Notera att artikeln ligger på IACR och den behöver därmed inte varit granskad.)

Författarna skriver om tidigare presenterade attacker mot KeeLoq att:


To our knowledge, most of the commercial implementations of KeeLoq as a remote keyless entry system employ the code hopping mechanism. Thus, the described attacks are not considered as a big threat for their security.

Artikeln beskriver två olika attacker. Båda attackerna bygger på att man mäter förändringar i strömförbrukningen som en effekt av att kretsarna utför sina KeeLoq-operationer.


In 1999, Kocher et. al [5] proposed several methods for analyzing the information leakage of implementations of security related systems. The most powerful attack in this area is called DPA (Differential Power Analysis) and exploits power consumption traces of cryptographic hardware to reveal confidential information.

Almost ten years later, DPA remains an attack mostly performed in smart card evaluation labs and universities, only targeting their own known implementations.

...

We introduce two DPA attacks on KeeLoq code hopping systems. The first reveals the secret device key from an integrated circuit that performs the encryption in a transmitter. The second attack is executed on the receiver to recover the manufacturer key from a software implementation running on a microcontroller.

För det första artikeln skriver författarna:


By analyzing the power traces, we found out that there is a specific hardware inside the chip to perform the KeeLoq encryption.

...

We performed this attack on several chips with different part numbers in DIP or SOIC packages. We are able to recover the secret key of KeeLoq encoders in DIP packages from only 10 power traces. Clearly, SOIC packages benefit from a smaller process technology so the power consumption values are smaller than DIP packages. Hence, the SNR (signal-to-noise ratio) is decreased and we need more power traces. Still, at most 50 power traces are sufficient to reveal the secret key of a device in an SOIC package.

Författarna går sedan vidare och visar hur de kan attackera frekvenshoppsmekanismen även i mottagaren. Författarnas slutsats är klar:


lthough some theoretical attacks on the KeeLoq algorithm have recently been reported, none of them is able to break the code hopping systems in a reasonable time. We illustrated the difficulties of those attacks in the presence of different key derivation schemes.

...

In this paper we presented the first successful practical attacks on KeeLoq code hopping systems. These very effective attacks represent a real practical threat for many commercial applications employing the KeeLoq algorithm.

Alltså attacker mot verkliga implementationer av KeeLoq som går på rimlig tid och fungerar i verkligheten.

Jag hoppas att Volvo inte bara följer detta med intresse, utan även arbetar med att lösa problemet. Det lär nog behövas…

Bakdörr in Atmels CryptoMemory

February 14th, 2008

Kretsanalysföretaget FlyLogic Engineering har precis publicerat att man hittat en bakdörr i ett par av Atmels CryptoMemory-kretsar, mer specifikt AT88SC153 och AT88SC1608.

CryptoMemory-chip

Atmels CryptoMemory är ett litet minne med autenticiering och säkerhetsmekanismer avsedda att skydda innehållet i minnet. Tyvärr har det varit lite skralt med informationen om hur säkerhetsmekanismerna egentligen fungerar. Jag har därför varit nyfiken på att få se en analys som visar om kretsarna är säkra eller ej.

Nu visar FlyLogic att minnena inte bara är svaga vad gäller skyddet av minnet mot fysiska attacker, utan att det för ett par av kretsarna även verkar finnas avsiktliga brister. FlyLogic skriver:


Section 5 of the datasheet labled, “Fuses” clearly states, “Once blown, these EEPROM fuses can not be reset.“

This statement is absolutely false. UV light will erase the fuses back to a ‘1′ state. Care must be used to not expose the main
memory to the UV or else it too will erase itself.

...

Reading deeper into the datasheet under Table 5-1, Atmel writes, “When the fuses are all “1″s, read and write are allowed in the entire memory.“

As strange as it reads, they really do mean even if you have setup security rules in the configuration memory, it doesn’t matter. The fuses override everything and all memory areas are readable in the clear without the need for authentication or encrypted channel! The attacker can even see what the “Secure Code” was (it is not given out in the public documentation, nor with samples). Atmel was even kind enough to leave test pads everywhere so various levels of attackers can learn (entry to expert).

...

Of all the other CryptoMemory products, only the AT88SC153/1608 has this backdoor. We have successfully analyzed the entire CryptoMemory product line and can say that the backdoor doesn’t exist in any other CryptoMemory part.

Dvs, det finns alltså EEPROM-säkringar på kretsen som Atmel säger inte skall gå att återställa efter att de bränts av. Men det går dom att göra. Och, här kommer det hemska,: om man gör det spelar det i de här kretsmodellerna ingen roll vilka säkerhetsmekanismer (som CryptoMemory erbjuder), det går att läsa ut innehållet i alla fall. Oops!

Nu brukar man säga att man inte tro att något är gjort av elakhet, när dumhet mycket väl kan ligga bakom. Men att som FlyLogic skriver bara dessa två modellerna i kretsfamiljen har detta problem är märkligt. Vem var/är målkunden? Eller vem fick Atmel att göra detta – och varför i så fall just dessa modeller? (Känns nästan som det är dags för ett foliehatt-party!)

Vad gäller säkerheten för CryptoMemory i sin helhet är FlyLogics bedömning:


None of the CryptoMemory parts are actually as “secure” as they make it seem. The words, “Smoke n’ Mirrors” comes to mind (It is almost always like that).

Artikel om attacker på Feistelbaserade krypton

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?

Ny version av TrueCrypt

February 13th, 2008

Förra veckan släpptes den femte stora versionen av diskkrypteringsprogrammet TrueCrypt.

TrueCrypt i Windows

TrueCrypt ger kryptoskydd på data lagrat på hårddiskar genom bland annat:

  • Creates a virtual encrypted disk within a file and mounts it as a real disk.
  • Encrypts an entire hard disk partition or a storage device such as USB flash drive.
  • Encryption is automatic, real-time (on-the-fly) and transparent.
  • Provides two levels of plausible deniability, in case an adversary forces you to reveal the password:
1) Hidden volume (steganography – more information may be found here). 2) No TrueCrypt volume can be identified (volumes cannot be distinguished from random data).
  • Encryption algorithms: AES-256, Serpent, and Twofish. Mode of operation: XTS.

Version 5.0 av TrueCrypt har ett antal intressanta nya egenskaper:

  1. Ability to encrypt a system partition/drive (i.e. a partition/drive where Windows is installed) with pre-boot authentication (anyone who wants to gain access and use the system, read and write files, etc., needs to enter the correct password each time before the system starts). (Windows Vista/XP/2003)
  1. Pipelined operations increasing read/write speed by up to 100% (Windows)
  1. Mac OS X version
  1. Graphical user interface for the Linux version of TrueCrypt
  1. XTS mode of operation, which was designed by Phillip Rogaway in 2003 and which was recently approved as the IEEE 1619 standard for cryptographic protection of data on block-oriented storage devices. XTS is faster and more secure than LRW mode (for more information on XTS mode, see the section Modes of Operation in the documentation).
  1. SHA-512 hash algorithm (replacing SHA-1, which is no longer available when creating new volumes).

Att man nu kan använda TrueCrypt för att kryptera hela Windowsdiskar gör TrueCrypt till ett bra program att skydda sitt system, speciellt om du har en laptop bör detta vara intressant.

Jag har själv inte testat TrueCrypt för MacOSX än, men jag ska. Återkommer med intryck.

Uppdaterade säkerhetsfunktioner med Vista SP1

February 6th, 2008

Magnus Lindkvist på Microsoft tipsar om en sida på Microsoft TechNet med information om releasekandidaten av Windows Vista SP1.

Tittar man på den sidan hittar man en hel del som har med IT-säkerhet, krypto etc att göra. Jag grävde ut några som jag tyckte verkade intressanta:


• Improves Windows Vista’s built-in file backup solution to include EFS encrypted files in the backup.

• Service Pack 1 includes supported APIs by which third-party security and malicious software detection applications can work alongside Kernel Patch Protection on 64-bit versions of Windows Vista. These APIs have been designed to help security and non-security ISVs develop software that extends the functionality of the Windows kernel on 64-bit systems, in a documented and supported manner, and without disabling or weakening the protection offered by Kernel Patch Protection.

• The cryptographic random number generation is improved to gather seed entropy from more sources, including a Trusted Platform Module (TPM) when available, and replaces the general purpose pseudo-random number generator (PRNG) with an AES-256 counter mode PRNG for both user and kernel mode.

• Improves BitLocker Drive Encryption by offering an additional multi-factor authentication method that combines a key protected by the TPM (Trusted Platform Module) with a Startup Key stored on a USB storage device and a user-generated Personal Identification Number (PIN).

• Adds support for new strong cryptographic algorithms used in IPsec. SHA-256, AES-GCM, and AES-GMAC for ESP and AH, ECDSA, SHA-256, and SHA-384 for IKE and AuthIP.

• Adds the NIST SP 800-90 Elliptical Curve Cryptography (ECC) pseudo-random number generator (PRNG) to the list of available PRNG in Windows Vista.

• Adds support for SSTP (Secure Sockets Tunnel Protocol), a remote access VPN tunneling protocol that will be part of Microsoft’s RRAS (Routing and Remote Access Service) platform. SSTP helps provide full-network VPN remote access connections over SSL, removing some of the VPN connectivity challenges that other VPN tunnels face traversing NAT, web proxies, and firewalls.

• Adds support for Windows Smartcard Framework to enable compliance with the EU Digital Signature Directive and National ID / eID.

• Adds support in the Wireless Client for a new FIPS (Federal Information Processing) compliant mode. This mode is FIPS 140-2 compliant because it moves the cryptographic processing from the wireless network card to an existing FIPS-approved cryptographic library.

• Enhances Windows Firewall and IPsec to use the new cryptographic algorithms that are Suite B compliant.

Bra att se att Microsoft försöker lösa tidigare rapporterade problem med sin PRNG. Dock verkar man fortfarande inte köra med Yarrow/Fortuna och det står inte hur den har testats. Samtidigt inkluderar alltså SP1 den NIST-specade PRNG som Microsofts egen kryptolog Niels Ferguson varnat för.

Överlag verkar det vara mycket uppdateringar för att följa standarder. På pappret ser det bra ut och ett steg framåt – nu gäller det bara att SP1 skall komma ut i verkligheten.

Lär dig IT-säkerhet med CrypTool

February 1st, 2008

Jag är antagligen sist i världen, men jag sprang på ett kul verktyg för att lära sig IT-säkerhet…

CrypTool är ett instruktionverktyg utvecklat av universitetet i Darmstadt och bland annat sponsrat av Deutche Telecom. CrypTool både visar och låter dig experimentera med krypton, signaturer och protokoll:

En bild från CrypTool

CrypTool är både fritt och med öppen kod. Just nu finns CrypTool bara till Windows, men det pågår både porteringar till andra plattformar samt utveckling av en plattformsoberoende version i Java. Om du sysslar med att utbilda inom IT-säkerhet, eller om du själv är nyfiken och vill lära mer om hur IT-säkerhet fungerar under huven rekommenderas CrypTool.