1/7 Kryptering Se kap. 6 HEMLIG SKRIFT STEGANOGRAFI Dolt data KRYPTOGRAFI Transformerat data - Transposition (Permutation) Kasta om ordningen på symbolerna/tecknen/bitarna. - Substitution Byt ut, ersätt. o Kod Ersätt ord/meningar m.m. med olika storlek/längd. o Chiffer Ersätt symboler/tecken/bitar med lika storlek/längd. SUBSTITUTION Kod går vi inte in på. - Caesarchiffer/Caesarrullning o Flytta fram t.ex. 3 steg (nyckeln = C) i alfabetet. o Monoalfabetiskt (1 1) o Klartext: textexempel Nyckel: ccccccccccc Kryptotext: whawhahpsho - Viginére-chiffer o Samma klartextbokstav ger olika kryptobokstäver (Hur många olika?) o Polyalfabetiskt (1 n) o Klartext: textexempel Nyckel: provprovpro Kryptotext: jwmpuptifwb - One-time-pad-/blankett-/Vernam-chiffer o Samma klartextbokstav ger olika kryptobokstäver (Hur många olika?) o Polyalfabetiskt (1 n) o Klartext: textexempel Nyckel: anvcjqcgslt Kryptotext: ustwoohtiqf o Det enda 100%-igt säkra kryptot, om det används rätt. o Problem: upprepning, synkronisering, nyckelhantering. Att vid knäckning inte få fram något svar eller att få flera möjliga svar Caesar- och blankettchiffer kan ses som varianter på Viginére-chiffer med olika nyckellängd.
2/7 TRANSPOSITION Omkastning av ordningen i meddelandet. Dela upp texten i block (=nyckellängden) och kasta om ordningen inom blocken enligt nyckeln. ALLMÄNT. - Vilken är bäst? - Vilken används? - Nyckelhantering - Produktkrypto Genom att lägga ihop enkla algoritmer och upprepa dessa kan man skapa mycket säkra algoritmer med enkla byggstenar. [Shannon] KRYPTOKNÄCKNNG Kallas även forcering på svenska. - Brute Force-attack, uttömmande prövning Prova igenom alla nycklar (eller lösenord etc.) som är möjliga. - Statistik o Tecken, teckenkombinationer, upprepningar m.m. o Mängden text är viktig. - Språkkunskap o Dictionary attack - Kända brister - Gissning m.m. KRYPTOSYSTEM Ett kryptosystems fyra delar: - Klartext (Plain text), M - Kryptotext( Cipher text), C - Krypteringsalgoritm - Nyckel (Key), K Krypteringsalgoritmen - Kryptering (Encryption), E() - Dekryptering (Decryption), D() Symmetriskt kryptosystem - Samma nyckel E K (M) = C, D K (C) = M Asymmetriskt kryptosystem - Olika nyckel E K1 (M) = C, D K2 (C) = M, eller tvärtom. - Det går inte att E( ) och D( ) med samma K. - Om den ena nyckeln är publik => Kryptosystem med öppen nyckel. - Kräver längre nycklar och är mer beräkningskrävande än ett symetriskt system. Används oftast till kryptering av sessionsnycklar, kortare meddelanden och signering.
3/7 HASHING, HASH FUNCTION (EX MD5) Funktion som utifrån en godtyckligt stor mängd data beräknar en kort datasträng med fast längd, kallat hashsumma,, hashvärde, kondensat. Se s 179 och kopior ur Gollman. Möjliga tilläggsvillkor: - Det ska vara mycket svårt att konstruera en två olika datamängder som ger samma hashsumma. - Det ska vara mycket svårt att utifrån en hashsumma konstruera den ursprungliga datamängden. AUTECIERINGSALGORITMER DIGITALA SIGNATURER Krypteringsalgoritm med öppen nyckel. - Verifiering av avsändare. - Dataintegritet - Oavvislighet - Autenticiering och kryptering kan använda samma algoritmer men de har olika syften, sekretess eller autenticiering och dataintegritet. Detta medför att även kraven är olika. MESSAGE AUTHENTICATION CODE (MAC) Envägskryptering med hemlig nyckel. - Kontroll av filers dataintegritet. Motsvarande funktionalitet kan uppnås med en envägsfunktion (ingen nyckel => ingen kryptering) om MAC:en kan skyddas på annat sätt, t.ex. att den lagras på ett skrivskyddat media. (ex. AIDE) CA OCH NYCKELCERTIFIKAT Certification Authority Garanterar nycklar. (se kopia ur Gollman) Signering av signering av signering av Se PKI nedan. SÄKERHET I ALGORITMER Algoritmers styrka dvs motståndskraft mot forcering. - Tidslängd - Inputmängd - Minnesmängd MODERNA ALGORITMERS STYRKA BESVÄRLIGA/TUNGA MATEMATISKA OPERATIONER. - Faktorisering av stora tal. - pga modulus PRODUKTKRYPTON [SHANNON] Säkerheten ska inte ligga i att algoritmen hålls hemlig! [Kerckhoff (1883)] Moderna datorkrypton arbetar förstås på bitnivå.
4/7 DES - Symmetriskt kryptosystem - Blockchiffer - 56-bit nyckel - Feistel - Produktkrypto ADVANCED ENCRYPTION STANDARD (AES) - Symmetriskt kryptosystem - Blockchiffer - Produktkrypto Rijndael, se http://www.esat.kuleuven.ac.be/~rijmen/rijndael, se gärna bilder och animering. DIFFIE-HELLMAN OCH RSA Asymmetriskt Styrkan bygger på faktorisering
5/7 Nyckelhantering I praktiken är hantering av nycklar ett större problem än själva krypteringen. ALLMÄNT GENERERA Risker med att begränsa antalet tillåtna nycklar. (s 180) En bra slumpgenerator. Svaga nycklar, vissa krypterar sämre. DISTRIBUERA Nyckelkrypteringsnycklar. Används för nyckelkryptering, att kryptera nycklar. Byts inte så ofta. Låg trafik, ger bara lite kryptotext för forcering. Kräver mycket säker lagring. Kräver mycket säker distribution, eventuellt manuell. Datakrypteringsnycklar. Används för all övrig kryptering. Splitta nyckeln över flera kanaler (telefon, post m.m.) OK vid liten omfattning. VERIFIERA Krävande vid stor mängd nycklar. ANVÄNDA Om krypteringsprogrammet interuptas eller kraschar kan nyckeln bli sparad okrypterad på HD, t.ex. i en coredump. Skyddat minne kan hjälpa. Idealt ligger kryptering och nyckel i en separat hårdvara. Exempel: bankkoddosa. FÖRVARA I huvudet, magnetkort, rom-kort, smartcard, koddosa m.m. Splitnyckel, en del i kortet en del i läsaren. Idealt ska nyckeln aldrig förekomma okrypterad utanför krypteringsutrustningen. BACKUP Nyckeln i huvudet => överkörd => problem! Nyckelbackup => säkerhetsproblem. Nyckelsplit, Kryptera delarna med andras nycklar (jämför med dubbelkommando). Hur hantera man nyckelbyte? Borttappade nycklar är ett enormt problem.
6/7 HANTERING AV AVSLÖJADE NYCKLAR Borttappad, stulen, kopierad, publicerad m.m. (Hur vet du att det har hänt?) Om Alice tappar sin privata/hemliga nyckel: Symmetriskt system Byt nyckel och hoppas på det bästa. Asymmetriskt system med öppen nyckel => större problem. Den som har nyckeln kan bli Alice. Den publika nyckeln spridd på många system, hur spärrar man? Annonsera att den är ogiltig/opålitlig. Anmäla till Key Distribution Centre (KDS), om ett sådant finns. Minimera skadorna, ha olika nycklar för olika ändamål. FÖRSTÖRA NYCKLAR Även gammalt data ska skyddas. Gamla nycklar som inte används ska förstöras. I datorer kan nycklarna finnas på flera ställen, swap-filer, tempkataloger, backup m.m. Finns de på papper, hacka och bränn.
7/7 PUBLIC KEY INFRASTRUCTURE (PKI) Hanteringssystem för publika nycklar. Om Alice ska kryptera ett meddelande till Bob behöver hon Bobs publika nyckel. Hur? Direkt från Bob. Från en databas. Hur vet hon att det är Bobs nyckel? *) Har den redan sedan tidigare. *) På grund av detta och andra sätt att bli lurad används certifikat. Certifikat signeras av någon trovärdig, en Certification Authority (CA). Vem signerar signeringen? En certifieringskedja vidarebefordrar trovärdighet. Hur lång? Nivå på pålitlighet? Vem får vara högst upp? En CA måste hantera återkallande (svårlöst), ogiltiga certifikat, listor m.m. Certifikatet innehåller bland annat: Den publika nyckeln, K Bpub. Information som identifierar Bob (unikt). Tider: utfärdande, giltighet. När ska det förnyas? Syfte Man behöver flera certifikat (och nyckelpar). (jämför med bilnyckel hemnyckel, jobbnyckel) Kryptering, signering, olika säkerhetsnivåer, olika roller. Ett PKI sköter om att generera, leverera, förnya, förstöra certifikat och nyckelpar och backup. Kan även innehålla notarietjänster, transaktionssignering och tidsstämpling. DISTRIBUERAD HANTERING MED PUBLIKA NYCKLAR, T.EX. PRETTY GOOD PRIVACY (PGP) Ingen CA. Introduktion i systemet av vänner som redan är i systemet, bör ske i verkligheten utanför systemet. Hur bedömer man pålitligheten? Hur spärrar man nycklar?