KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET Carl Önne carl.onne@certezza.net
Kerckhoffs principer (något modifierade) Systemet i praktiken oknäckbart, helst även teoretiskt Designen av systemet öppet, det enda som är hemligt är själva nyckeln Nyckeln ska vara enkel att utbyta mellan parterna Systemet ska vara enkelt att sköta, portabelt och meddelanden ska kunna skickas via telegraf Auguste Kerckhoffs, 1883
Systemdelar Nyckelgenerering Algoritm Högnivåkod Maskinkod Kompilering API/länkning/ paketering
Vad kan gå fel Feltänk i algoritmen eller gammal algoritm Algoritmen felkodad Kompilatorn felaktig Paketeringen av koden i färdig programvara går snett (t.ex. felaktig användning av API:er) Nyckelgenerering inte slumpmässig
Trasiga algoritmer och protokoll RFID: Mifare Classic Används bl.a. av SL (Storstockholms lokaltrafik) och Västtrafik GSM: A5/2 En exportalgoritm för GSM-kryptering WLAN: WEP (Wired Equivalent Privacy) Ett skydd för trådlös access Symmetrisk kryptering: RC2 Precis som andra 40-bitarsalgoritmer otillräcklig Web mm: SSLv2 En standard från 1994 som redan 1996 ansågs osäker. Fortfarande default igång på IIS7 (på W2K8 R2) och Apache v2.4.6/openssl 1.0.1
Misstänkt felaktiga algoritmer S-boxen i DES och 3DES Utformningen av S-boxen gjordes av NSA
Felkodningar En (1) bugg per 1000 rader kod är en uppskattning http://www.openssl.org/news/vulnerabilities.html
Kompilator Kompilatorn översätter från högnivåspråk till maskinspråk (t.ex. C++ till binär) Den som skriver en kompilator skulle kunna göra mycket som inte syns förrän maskinkoden granskas Exempel: W32/Induc-A infekterade kompilatorn för Delphi (aug 2009)
Användning av kryptobibliotek Istället för att skriva egen kod, används standarbibliotek RSA BSAFE OpenSSL Chilkat Bouncycastle MS-CAPI/CryptoAPI Botan/Randombit BeeCrypt MIRACL/CertiVox Är alla dessa korrekt implementerade?
Användning av kryptobibliotek Finns inbyggda bakdörrar? OpenBSD har sökt igenom sin IPsec-kod Tips från en f.d. medarbetare, december 2010 [snipp] of the fact that the FBI implemented a number of backdoors and side channel key leaking mechanisms into the OCF, for the express purpose of monitoring the site to site VPN encryption system implemented by EOUSA, the parent organization to the FBI. Inget hittades, dock rättades en massa buggar
Slumptalsgenerering Återknyta till Kerckhoffs princip om nyckeln Hemlig Slumpmässig Icke repeterbar Finns brister Debian - CVE-2008-0166 RSA - Dual_EC_DRNG (Dual Elliptic Curve Deterministic Random Bit Generator) MOICA (Taiwans CA) dålig RNG på smartkort RANDU http://xkcd.com/221/
Slumptal Äkta slump Radioaktivt sönderfall, fotoelektrisk effekt, vitt brus Nackdel: tar lång tid att samla in Falsk slump PRNG Pseudo-Random Number Generation Musrörelser Minnesanvändning Nätverkspaket Trådhantering Destillator Pool PRNG Utdata
Enkla handgrepp Inte använda sig av snake oil Stäng av osäkra algoritmer DES, RC2, MD4/5 m.fl. och protokoll SSLv2
Enkla handgrep Använda sig av nyare typen av certifikat ECC 256 bitar RSA 2432 bitar SHA256 P Q R=P+Q Se över nyckelhanteringen Använd HSM eller smartcard Rulla nycklarna vid jämna/ojämna mellanrum Uppdatera programvaran y 2 = x 3 + 9x + 17 överf 23 Q=9P -R
Exempel på enkelt handgrepp Säkra upp en Apache webbserver 1. Lägg till följande tre (3) rader i httpd.conf SSLProtocol -ALL +SSLv3 +TLSv1 SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXPORT:!MD5 SSLCompression off 2. Starta om Apache
Enkla handgrepp - IIS Säkra upp en IIS webbserver 1. Ändra följande värden i registret: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\ SCHANNEL\Protocols\SSL 2.0\Server DWORD = 0 HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\ SCHANNEL\Protocols\SSL 3.0\Server DWORD = 1 HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\ SCHANNEL\Protocols\TLS 1.0\Server DWORD = 1 2. Starta om servern (inte bara IIS-tjänsten)
Enkla handgrepp IPsec VPN Säkra algoritmer AES, Blowfish, Twofish SHA-1, SHA-2 Skicka inte lösenordet per e-post Rulla lösenordet (o)regelbundet PFS Perfect Forward Secrecy IKEv2 Om allt annat lika välj det säkrare
Slut KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET Carl Önne carl.onne@certezza.net