Föreläsningens innehåll Grunder Kryptografiska verktygslådan Symmetriska algoritmer MAC Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer Slumptalsgeneratorer Kryptering i sitt sammanhang 7/2-02 Distribuerade system - Jonny Pettersson, UmU 1 Kryptografi - När är det säkert? Ett kryptografisystem anses vara computationally säkert om en eller båda av följande kriterier är uppfyllda Kostnaden att knäcka chifferet är större än värdet av det skyddade Tiden att knäcka chifferet är längre än livstiden för det skyddade 7/2-02 Distribuerade system - Jonny Pettersson, UmU 4 Kryptering - Huvudsyfte Huvudsyftet för ett kryptografiskt system är att låta två parter kommunicera över en oskyddad förbindelse utan att någon annan kan förstå vad som sägs eller överförs Kryptografi - Kryptoanalys Kryptoanalys är att försöka hitta klartexten eller en nyckel Olika attacker Endast kryptotext Känd klartext Vald klartext Vald kryptotext Brute-force 7/2-02 Distribuerade system - Jonny Pettersson, UmU 2 7/2-02 Distribuerade system - Jonny Pettersson, UmU 5 Kryptering - Vad är det? En samling komplicerad matte En kärnteknologi i cyberspace Inte svaret på alla säkerhetsproblem Men, en nödvändig del Kryptografi - Viktiga roller Kryptografi spelar tre viktiga roller i implementationen av säkra system 1. Konfidentialitet och integritet 2.Autenticering av kommunikationsparterna 3. Digitala signaturer 7/2-02 Distribuerade system - Jonny Pettersson, UmU 3 7/2-02 Distribuerade system - Jonny Pettersson, UmU 6 1
Kryptografi - Design av algoritmer Design av kryptografiska algoritmer Baserad på informationsteori Confusion Exv: XOR, cirkulär shiftning Diffusion Tar bort repetitioner och redundans Kryptografi - DES DES - Data Encryption Standard 64 bitars block 56 bitars nyckel 16 rundor av rotationer och transpositioner E = D Knäckt med brute-force 7/2-02 Distribuerade system - Jonny Pettersson, UmU 7 7/2-02 Distribuerade system - Jonny Pettersson, UmU 10 Kryptografi - Symmetriska Samma nyckel för krypt och dekrypt Krav Med både klartext och motsvarande kryptotext ska inte nyckeln kunna tas fram Nyckeln måste distribueras och förvaras säkert Algoritmen måste vara bra Nycklar måste kunna bytas Hemligheten ska ligga i nyckeln ej i algoritmen Ger konfidentiell och identifierbar kommunikation, men ej autenticering 7/2-02 Distribuerade system - Jonny Pettersson, UmU 8 Kryptografi - 3-DES Kör DES tre gånger: E 3DES (K 1, K 2, M) = E DES (K 1, D DES (K 2, E DES (K 1, M))) Ger motsvarande 112 bitars nyckel Långsammare 7/2-02 Distribuerade system - Jonny Pettersson, UmU 11 Kryptografi - Symmetriska (2) Låt F K ([M]) = E(K,M) då ska F K ([M]) vara lätt att beräkna medans inversen, F K -1 ([M]), ska vara komputationellt svårberäknad Ska bero av nyckellängd (endast brute-force) DES, 3-DES, IDEA, TEA, AES Kryptografi - IDEA IDEA - International Data Encryption Algorithm Efterföljare till DES 128 bitars nycklar 64 bitars block 8 rundor: XOR addition modulo 2 16, multiplikation E = D Inga kända svagheter 3 ggr snabbare än DES 7/2-02 Distribuerade system - Jonny Pettersson, UmU 9 7/2-02 Distribuerade system - Jonny Pettersson, UmU 12 2
Kryptografi - TEA TEA - Tiny Encryption Algorithm Använder sig av 32 rundor av XOR, heltalsaddition och bitvis logisk shift 64-bitars block 128 bitars nyckel 3 ggr snabbare än DES Kryptografi - MAC MAC - Message Authentication Code Försäkrar autenticitet och integritet Ett nummer som skickas med ett digitalt meddelande Använder sig av en nyckel 7/2-02 Distribuerade system - Jonny Pettersson, UmU 13 7/2-02 Distribuerade system - Jonny Pettersson, UmU 16 Kryptografi - AES AES - Advanced Encryption Standard US National Institute for Standards an Technology (NIST) 1997 - Efterlyste nya algoritmer 15 kom in, 5 utvalda Vinnaren ska tas i bruk 26 maj 2002 Symmetrisk 128-bitars block chiffer 128, 192 eller 256 bitars nyckel Antas bli mycket använd 7/2-02 Distribuerade system - Jonny Pettersson, UmU 14 Kryptografi - One-way hash Enkelriktade hashfunktioner Som ett digitalt fingeravtryck Publika funktioner, inga hemliga nycklar Ger viss autenticering och integritet En säker digest -funktion, h = H(M), ska ha följande egenskaper GivetM,är det lätt att beräknah Givet h, är det svårt att beräkna M Givet M, är det svårt finna ännu ett M så att H(M) = H(M ) 7/2-02 Distribuerade system - Jonny Pettersson, UmU 17 Kryptografi - Symmetriska (3) Bedömning av symmetriska algoritmer Blockstorlek Nyckellängd Förvirring Lavineffekt Kryptografi - One-way hash (2) Hashvärdet bör vara minst 128 bitar för att skydda mot birthday -attacker Det mest använda kryptoverktyget MD5 (Message Digest 5): Effektiv, 128 bitar Har sprickor SHA (Secure Hash Algorithm): 160 bitar, säkrare 7/2-02 Distribuerade system - Jonny Pettersson, UmU 15 7/2-02 Distribuerade system - Jonny Pettersson, UmU 18 3
Kryptografi - Asymmetriska Trap-door funktioner En-vägs funktioner med hemlig utgång Ska vara enkel att beräkna i en riktning men omöjlig, utan hemlighet, i andra riktningen Exempel: Heltalsfaktorisering D(K d, E(K e, M)) = M K d -privat K e -publik Säkerhet beror på nyckellängd och beräkningsmängd Används i krypt/dekrypt, digitala signaturer och för utbyte av symmetriska nycklar (hybridkryptering) 7/2-02 Distribuerade system - Jonny Pettersson, UmU 19 Kryptografi - Digitala signaturer För autenticering av meddelanden Två nycklar: privat och publik Kryptera med privat nyckel RSA, (ElGamal, DSA) Bättre än MAC som kräver delad nyckel Kan användas för non-repudiation Starkare än signatur på pappret 7/2-02 Distribuerade system - Jonny Pettersson, UmU 22 Kryptografi - Asymmetriska (2) Krav Det ska vara enkelt generera nyckelparet Det ska vara enkelt generera kryptotext med en av nycklarna Det ska vara enkelt att dekryptera med motsvarande nyckel Det ska vara omöjligt att med publik nyckel skapa den privata nyckeln Det ska vara omöjligt att med publik nyckel och kryptotext få fram klartext RSA, ElGamal, Elliptiska kurvor 7/2-02 Distribuerade system - Jonny Pettersson, UmU 20 Kryptografi - Slumptalsgenerering Måste ge tal som är oförutsägbara och som inte går att reproducera Inget krav på fullständig slumpmässighet Ofta någon form av initiering (seed) 7/2-02 Distribuerade system - Jonny Pettersson, UmU 23 Kryptografi - RSA RSA - Rivest, Shamir och Adelman Den vanligaste och den bästa Baserad på att det är svårt att primtalsfaktorisera tal Inga brister hittills C = M e mod N, M = C d mod N K e = < e, N >, K d = < d, N > Nyckelgenerering Se boken och Erik Lindströms papper Nyckellängd 1024 bitar (RSA Corp: 768 bitar) 7/2-02 Distribuerade system - Jonny Pettersson, UmU 21 Kryptografi i sitt sammanhang Varför är inte kryptografi svaret på allt? Kryptografi hör till matematiken och matematik är teori och logik. Den verkliga världen är ej logisk Regler följs ej av mjukvara, maskiner och människor 7/2-02 Distribuerade system - Jonny Pettersson, UmU 24 4
Kryptografi - Säker nyckellängd Nyckellängden har oftast inte med säkerheten att göra Är den tillräckligt lång räcker det Två problem Kvalitén på nyckeln Kvalitén på algoritmen Begreppet entropi Kryptografi - Val av algoritm Svårt, finns inga absoluta svar Bara för att du inte knäckt algoritmen betyder det inte att den är säker Den som skapar en krypteringsalgoritm är antingen geni eller idiot - och vi vet förhållandet mellan dessa Det betyder inte att allt nytt är dåligt, men att allt nytt är misstänkt 7/2-02 Distribuerade system - Jonny Pettersson, UmU 25 7/2-02 Distribuerade system - Jonny Pettersson, UmU 28 Kryptografi - Säker nyckellängd (2) Första problemet: Källan för nycklarna Slumptalsgeneratorer ej perfekta Password-entropi Dictionary -attack Skydd av nyckel med password? Andra problemet: Kvalitén på algoritmen Använd beprövade 7/2-02 Distribuerade system - Jonny Pettersson, UmU 26 Hur praktisk är kryptering Måste vara effektivt för de goda Kostnaden för de goda ökar linjärt med nyckellängd Kostnaden för de onda ökar exponentiellt med nyckellängd =>Utvecklingen av beräkningshastighet är bra för de goda 7/2-02 Distribuerade system - Jonny Pettersson, UmU 27 5