Skydd för känsliga data



Relevanta dokument
Kryptografiska mekanismer och valutor

Kryptografiska mekanismer och valutor

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

Krypteringteknologier. Sidorna ( ) i boken

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller

Kryptoteknik. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Grundfrågor för kryptosystem

Kryptering. Krypteringsmetoder

Säkerhet. Säker kommunikation - Nivå. Secure . Alice wants to send secret message, m, to Bob.

Metoder för sekretess, integritet och autenticering

Föreläsning 7. DD2390 Internetprogrammering 6 hp

Moderna krypteringssystem

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

Introduktion. 1DV425 Nätverkssäkerhet. Patrik Brandt

Europeisk samsyn på kryptomekanismer SOGIS nya kryptolista en översikt

MA2047 Algebra och diskret matematik

Grundläggande krypto och kryptering

Kryptering. Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability)

Tentamen i Kryptologi 1DT

Datasäkerhet. Petter Ericson

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster

NÅGOT OM KRYPTERING. Kapitel 1

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

Datasäkerhet och integritet

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Primtal, faktorisering och RSA

Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet. Säkerhet. Grundbegrepp (1/5) Modern telekommunikation

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi

RIV Tekniska Anvisningar Kryptografi. Version ARK_

Modul 3 Föreläsningsinnehåll

Karlshamns Hamn AB Kameraövervakningssystem - Del 2

Objektorienterad Programkonstruktion. Föreläsning 16 8 feb 2016

Kryptering. Wearable Computers D 10p. Namn: Josef Israelsson Datum: Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson

Elektroniska signaturer - säker identifiering?

256bit Security AB Offentligt dokument

Dugga Datastrukturer (DAT036)

Den mest väsentliga skillnaden mellan

Föreläsninsanteckningar till föreläsning 1: Introduktion

Trådlösa nätverk. Säkerhetsprotokoll WEP och WPA. I den här rapporten går vi igenom säkerheten i trådlösa nätverk, i synnerhet krypteringsprocess

Säkerhet. Vad är det vi pratar om??

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: Skola: DSV

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1

Säkerhet. Olika former av säkerhet (företagsperspektiv [1])

En introduktion till några klassiska chiffer

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019

Probably the best PKI in the world

En introduktion till några klassiska chiffer

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering

Styrteknik: Binära tal, talsystem och koder D3:1

19/5-05 Datakommunikation - Jonny Pettersson, UmU 2. 19/5-05 Datakommunikation - Jonny Pettersson, UmU 4

Datasäkerhet och integritet

Designkoncept och gränssnittsmetaforer

Switch- och WAN- teknik. F7: ACL och Teleworker Services

Protokollbeskrivning av OKI

Test av kryptobiblioteket

Introduktion till krypteringsmetoderna RSA och Merkle-Hellman

Offentlig kryptering

Säker lagring av krypteringsnycklar

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Föreläsningens innehåll. Säker kommunikation - Nivå. IPSec. IPSec - VPN. IPSec - Implementation. IPSec - Består av vad?

En jämförelse av krypteringsalgoritmer. Kandidatarbete Informationssystem Peter Broman Ola Liljerum Handledare: Bengt Carlsson

Introduktion till protokoll för nätverkssäkerhet

En introduktion till några klassiska chiffer

Kryptering. Kryptering Hashar Digitala signaturer, PKI Krypto FS Lösenord. Repetition to slide 29

σ 1 = (531)(64782), τ 1 = (18)(27)(36)(45), τ 1 σ 1 = (423871)(56).

Abstrakt algebra för gymnasister

RSA-kryptering och primalitetstest

Säkerhet. Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

7, Diskreta strukturer

PGP & S/MIME En översikt

En introduktion till kryptografi

PGP håller posten hemlig

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

Elektronisk signatur Hur säkra är elektroniska signaturer ur avtalsrättslig synpunkt?

Användningen av elektronisk identifiering.

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

SSH-protokollet. Niels Möller

Krypteringens historia och användningsområden

Förra gången. Dagens föreläsning. Digitala Certifikat. Vilka man litar på! X.509. Nyckeldistribution. Säkerhetsprotokoll

Grunderna i stegkodsprogrammering

Mjukvarurealiserad bildtelefoni

Notera att skyddet avser data såväl som både maskinvara och programkod.

S =(s e )modn. s =(S d )modn. s =(s e ) d mod n.

För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver.

Föreläsning 6: Introduktion av listor

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Vad man vill kunna göra. Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för

SSL/TLS-protokollet och

Avancerad SSL-programmering III

2I1073 Föreläsning 3. Säkerhet. Kryptering

Kryptering och primtalsfaktorisering

Programmering för språkteknologer II, HT2014. Rum

Föreläsning 4: Kombinatorisk sökning

Vägledning för grundläggande kryptering

Undersökning och design av en säkerhetslösning för en molnlagringstjänst

Transkript:

Skydd för känsliga data Daniel Bosk 1 Avdelningen för informations- och kommunikationssytem (IKS), Mittuniversitetet, Sundsvall. data.tex 1674 2014-03-19 14:39:35Z danbos 1 Detta verk är tillgängliggjort under licensen Creative Commons Erkännande-DelaLika 2.5 Sverige (CC BY-SA 2.5 SE). För att se en sammanfattning och kopia av licenstexten besök URL http://creativecommons.org/licenses/by-sa/2.5/se/.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

5 Kryptosystem Ordet kryptogra kommer från grekiskans κρυπτ ς (kryptos) och γράφος (graphos) [13b]. Dessa betyder gömd eller hemlig [13a] respektive skrift [13c]. Ordet kryptogra betyder följaktligen hemlig skrift. I modern tid är kryptogran ett högst matematiskt område. Det nns inte utrymme för annat än matematisk precision.

6 Kryptosystem Autentisering (authentication). Oförnekelsebarhet (non-repudiation). Kondentialitet (condentiality). Riktighet (integrity).

7 Kryptosystem Secret key shared by sender and recipient Secret key shared by sender and recipient Transmitted ciphertext Plaintext input Encryption algorithm (e.g., DES) Decryption algorithm (reverse of encryption algorithm) Plaintext output Figur : Översikt av symmetrisk kryptering. Bild: [Sta11].

8 Kryptosystem Bobs's public key ring Joy Mike Alice Ted PU a Alice's public key PR a Alice 's private key X Transmitted ciphertext X = D[PR a, Y] Y = E[PU a, X] Plaintext input Encryption algorithm (e.g., RSA) Decryption algorithm Plaintext output Bob (a) Encryption with public key Alice Alice's public key ring Joy Mike Bob Ted PR b Bob's private key PU b Bob's public key X Transmitted ciphertext Y = E[PR b, X] X = D[PU b, Y] Plaintext input Encryption algorithm (e.g., RSA) Decryption algorithm Plaintext output Bob (b) Encryption with private key Alice Figur : Översikt av asymmetrisk kryptering. Bild: [Sta11].

Kryptosystem Denition Ett kryptosystem är en tupel (P, C, K, E, D) där följande gäller: 1 P är en ändlig mängd av möjliga klartexter. 2 C är en ändlig mängd av möjliga kryptotexter. 3 K, kallad nyckelrymden, är en ändlig mängd av möjliga nycklar. 4 För varje k K nns en krypteringsregel e k E och motsvarande avkrypteringsregel d k D. Varje e k : P C och d k : C P är funktioner sådana att d k (e k (p)) = p för alla klartexter p P.

10 Kryptosystem Typer av operationer för att transformera klartext till kryptotext. Antalet nycklar som används. Sätt att processa klartexten: Blockchier. Strömchier.

11 Kryptosystem Kryptanalys Enbart chiertext (ciphertext only). Känd klartext (known plaintext). Vald klartext (chosen plaintext). Vald kryptotext (chosen ciphertext). Vald text (chosen text).

12 Kryptosystem Denition Ett kryptosystem är beräkningsmässigt säkert om det uppfyller någon eller båda av följande: Kostnaden för att knäcka chiret är högre än värdet på informationen det skyddar. Tiden det tar att knäcka chiret är längre än tiden informationen är värdefull.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

15 Data Encryption Standard (DES) Output (plaintext) RD 17 = LE 0 LD 17 = RE 0 Input (plaintext) LE 0 RE 0 LD 16 = RE 0 RD 16 = LE 0 Round 1 F K 1 Round 16 F K 1 LE 1 RE 1 LD 15 = RE 1 RD 15 = LE 1 Round 2 F K 2 Round 15 F K 2 LE 2 RE 2 LD 14 = RE 2 RD 14 = LE 2 LE 14 RE 14 LD 2 = RE 14 RD 2 = LE 14 Round 15 F K 15 Round 2 F K 15 LE 15 RE 15 LD 1 = RE 15 RD 1 = LE 15 Round 16 F K 16 Round 1 F K 16 LE 16 RE 16 LD 0 = RE 16 RD 0 = LE 16 Input (ciphertext) LE 17 RE 17 Output (ciphertext) Figur : Feistelstruktur. Bild: [Sta11].

16 Data Encryption Standard (DES) 32 bits 32 bits 28 bits 28 bits Li-1 Ri-1 Ci-1 Di-1 Expansion/permutation (E table) Left shift(s) Left shift(s) 48 F XOR 48 K i Permutation/contraction (Permuted Choice 2) 48 Substition/choice (S-box) 32 Permutation (P) 32 XOR Li Ri C i D i Figur : En runda i DES. Bild: [Sta11].

17 Data Encryption Standard (DES) K 1 K 2 K 3 P A B E D E C (a) Encryption K 3 K 2 K 1 C B A D E D P (b) Decryption Figur : DES tillämpad i 3DES. Bild: [Sta11].

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

19 Advanced Encryption Standard (AES) Plaintext (16 bytes) Key (16 bytes) Expand key Plaintext (16 bytes) Add round key w[0, 3] Add round key Round 1 Substitute bytes Shift rows Mix columns Inverse sub bytes Inverse shift rows Inverse mix cols Round 10 Add round key w[4, 7] Add round key Inverse sub bytes Inverse shift rows Round 9 Round 9 Substitute bytes Shift rows Mix columns Inverse mix cols Add round key Substitute bytes w[36, 39] Add round key Inverse sub bytes Round 1 Round 10 Shift rows Inverse shift rows Add round key w[40, 43] Add round key Ciphertext (16 bytes) Ciphertext (16 bytes) (a) Encryption (b) Decryption Figur : AES översikt. Bild: [Sta11].

20 Advanced Encryption Standard (AES) State SubBytes S S S S S S S S S S S S S S S S State ShiftRows State MixColumns M M M M State r 0 r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 10 r 11 r 12 r 13 r 14 r 15 AddRoundKey State Figur : En runda i AES. Bild: [Sta11].

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

23 Pseudoslumptal Pseudorandom number generator. True random number generator. Pseudorandom function.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

25 Strömchier Pseudorandom number generator som utgår från nyckeln.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

28 Introduktion Ett blockchier i standardutförande är inte särskilt säkert om vi vill kryptera mer än ett block med samma nyckel. För att åtgärda detta använder vi olika modes of operation för blockchier.

29 Introduktion Det enklaste är electronic code-book mode (ECB). Detta går ut på att vi delar upp meddelandet enligt blockstorleken och krypterar del för del.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

31 Några andra modes of operation IV P 1 P 2 P N C N 1 K K K Encrypt Encrypt Encrypt C 1 C 2 C N (a) Encryption C 1 C 2 C N K K K Decrypt Decrypt Decrypt IV C N 1 P 1 P 2 P N (b) Decryption Figur : Cipher block chaining (CBC) mode. Bild: [Sta11].

32 Några andra modes of operation C N 1 K IV Encrypt K shift register b sbits sbits Encrypt K shift register b sbits sbits Encrypt sbits P 1 Select sbits Discard b sbits sbits P 2 Select sbits Discard b sbits sbits P N Select sbits Discard b sbits C 1 sbits C 2 sbits (a) Encryption C N sbits C N 1 K IV Encrypt K shift register b sbits sbits Encrypt K shift register b sbits sbits Encrypt Select sbits Discard b sbits Select sbits Discard b sbits Select sbits Discard b sbits C 1 sbits C 2 sbits C N sbits P 1 sbits P 2 sbits (b) Decryption P N sbits Figur : Cipher feedback (CFB) mode. Bild: [Sta11].

33 Några andra modes of operation Counter 1 Counter 2 Counter N K K K Encrypt Encrypt Encrypt P 1 P 2 P N C 1 C 2 C N (a) Encryption Counter 1 Counter 2 Counter N K K K Encrypt Encrypt Encrypt C 1 C 2 C N P 1 P 2 P N (b) Decryption Figur : Counter (CTR) mode. Bild: [Sta11].

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

36 RSA Sats (FermatEulers sats) Om n och a är heltal sådana att gcd(n, a) = 1, då gäller att a φ(n) 1 (mod n).

37 RSA Rivest, Shamir, Adleman (RSA) Denition Låt n = pq, där p och q är primtal. Låt P = C = Z n och K = {(n, p, q, e, d): ed 1 (mod φ(n))}. För k = (n, p, q, e, d) deniera e k (p) = p e mod n och d k (c) = c d mod n, där p P och c C. Tupeln (n, e) utgör den publika nyckeln och (p, q, d) den privata nyckeln.

38 RSA Encryption Decryption plaintext 88 7 88 mod 187 = 11 ciphertext 11 23 11 mod 187 = 88 plaintext 88 PU = 7, 187 PR = 23, 187 Figur : Ett exempel på kryptering med RSA. Bild: [Sta11].

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

40 Digitala signaturer Bobs's public key ring Joy Mike Alice Ted PU a Alice's public key PR a Alice 's private key X Transmitted ciphertext X = D[PR a, Y] Y = E[PU a, X] Plaintext input Encryption algorithm (e.g., RSA) Decryption algorithm Plaintext output Bob (a) Encryption with public key Alice Alice's public key ring Joy Mike Bob Ted PR b Bob's private key PU b Bob's public key X Transmitted ciphertext Y = E[PR b, X] X = D[PU b, Y] Plaintext input Encryption algorithm (e.g., RSA) Decryption algorithm Plaintext output Bob (b) Encryption with private key Alice Figur : Översikt av asymmetrisk kryptering. Bild: [Sta11].

41 Digitala signaturer Kryptering E ka (m) = c D ka (c) = E 1 (c) = m k A Signering D ka (m) = E 1 (m) = c E k k A A (c) = m

42 Digitala signaturer Kan ha digitala signaturer med symmetriska chier, men i mycket begränsad utsträckning. Det är inte jag som skapat detta meddelande, då måste det vara den andre. A och B delar nyckeln k. A tar emot n, E k (n, m). A vet att A inte skapat meddelandet, alltså måste någon annan med tillgång till nyckeln k gjort det. Eftersom att B är den enda utöver A som känner till nyckeln måste meddelandet m vara från B.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Introduktion till hashfunktioner En hashfunktion är en funktion h : X Y, där X är en möjligen oändlig mängd och Y är en ändlig mängd. Den är således en icke-injektiv surjektiv funktion och saknar invers h 1 : Y X sådan att h 1 (h(x)) = x för alla x X. X Y X Y 1 2 3 4 D B C A B C AB AC BC ABC 1 2 3 (a) h : X Y (b) h : X Y Figur : Två icke-injektiva surjektiva funktioner h respektive h.

46 Introduktion till hashfunktioner Finns många olika hashfunktioner: MD5, SHA1, SHA256, SHA512. Tillämpningsområdet är stort: veriera integritet hos ler, snabb sökning i datastrukturer, digitala signaturer, skydda lösenord.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Formell behandling av hashfunktioner Denition En hashfamilj är en tupel (X, Y, K, H), där X är mängden av möjliga meddelanden. Y är en ändlig mängd av möjliga meddelandesammandrag. K är en ändlig mängd av möjliga nycklar. För varje nyckel k K nns en hashfunktion h k H sådan att h k : X Y.

49 Formell behandling av hashfunktioner X kan vara ändlig eller oändlig, men alltid X Y. Vissa hashfunktioner saknar nycklar, då är K = 1. Låt Y X beteckna mängden av alla funktioner från X till Y, då är Y X = Y X.

50 Formell behandling av hashfunktioner Preimage resistant eller one-way Inversa bilden (preimage) 1 Given hashfunktionen h : X Y och element y Y. 2 Hitta x X sådant att h(x) = y.

51 Formell behandling av hashfunktioner Second preimage resistant Andra inversa förbilden (second preimage) 1 Given hashfunktionen h : X Y och element x X. 2 Hitta x X sådant att x x och h(x ) = h(x).

Formell behandling av hashfunktioner Collision resistant Kollision 1 Given hashfunktionen h : X Y. 2 Hitta x, x X sådana att x x och h(x ) = h(x).

53 Formell behandling av hashfunktioner Random Oracle Model Idealisering av en hashfunktion. Kan liknas vid ett orakel som ger slumpmässiga svar på frågor. Men vid upprepningar ska samma svar ges. En funktion h Y X väljs slumpmässigt, vi får enbart ställa frågor som vad är h(x)? Innan vi ställer frågan h(x) vet vi ingenting om h. Efter att vi ställt frågan h(x) och erhållit svaret y, då vet vi enbart att h(x) = y.

54 Formell behandling av hashfunktioner Det går att visa att om man kan hitta en andra invers avbildning, då kan man hitta en kollision. Det går även att visa att om man kan hitta en invers avbildning, då kan man hitta en kollision. Följaktligen, om en hashfunktion är collision resistant, då är den även preimage och second preimage resistant.

55 Formell behandling av hashfunktioner Vi kan visa att för att ha 50 procent sannolikhet att hitta en kollision krävs Q 1.17 Y antal gissningar. Detta kallas födelsedagsparadoxen. Detta betyder att om Y = 365, då är den 50 % sannolikhet att kollisionsalgoritmen nner en kollision då Q = 23. Om en ngeravtrycksläsare lagrar ngeravtryck som 20 bitar långa bitsträngar, då är det 50 % sannolikhet att två personer kan identiera sig som varandra vid 1000 användare. Vi kan nna kollisioner med 50 % sannolikhet för en hashfunktion som har 256 bitars meddelandesammandrag med 2 128 gissningar.

Formell behandling av hashfunktioner MD5 Fullständigt knäckt; kan nna godtyckliga kollisioner, snabb att beräkna [se LD05]. SHA1 Finns attacker som antyder att det går att nna kollisioner med Q = 2 69, borde vara Q = 2 80. SHA256 Inga attacker som är märkbart lägre än Q = 2 128. SHA512 Inga attacker som är märkbart lägre än Q = 2 256.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

59 Message Authentication Code (MAC) Vi har sett att både symmetrisk och asymmetrisk kryptering kan användas för att signera kod. Dock uppstår problem om vi använder exempelvis ECB som mode of operation. Byt ordning på blocken. Ta bort vissa block. För detta ändamål skapar vi MAC.

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

61 Hashfunktionsbaserade MAC Message K Transmit MAC algorithm Compare MAC algorithm MAC K Figur : En översikt av en enkel MAC. Bild: [Sta13].

62 Hashfunktionsbaserade MAC Source A Destination B Message Message Message H H K K Compare E (a) Using conventional encryption D Message Message Message H H PR a PU a Compare E S (b) Using public-key encryption S D Message Message Message H H Compare (c) Using secret value Figur : Exempel på olika former av MAC. Bild: [Sta13].

63 Hashfunktionsbaserade MAC K + ipad b bits b bits b bits S i Y 0 Y 1 Y L 1 Hash K + opad b bits n bits H(S i M pad to b bits S o Hash n bits HMAC(K, M) Figur : Hashbaserad MAC kallad HMAC, HMAC(K, M) = h[(k + opad) h[(k + ipad) M]]. Bild: [Sta13].

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

65 MAC baserade på blockchier M 1 M 2 M n b K 1 k K Encrypt K Encrypt K Encrypt MSB(Tlen) T (a) Message length is integer multiple of block size M 1 M 2 M n 10...0 K 2 K Encrypt K Encrypt K Encrypt MSB(Tlen) T (b) Message length is not integer multiple of block size Figur : En schematisk översikt av CMAC. Bild: [Sta13].

Översikt 1 Introduktion Kryptosystem 2 Moderna symmetriska chier Data Encryption Standard (DES) Advanced Encryption Standard (AES) 3 Pseudoslumptal och strömchier Pseudoslumptal Strömchier 4 Block Modes of Operation Introduktion Några andra modes of operation 5 Moderna asymmetriska chier RSA Digitala signaturer 6 Hashfunktioner Introduktion till hashfunktioner Formell behandling av hashfunktioner 7 Meddelandeautentisering Message Authentication Code (MAC) Hashfunktionsbaserade MAC MAC baserade på blockchier Chier med autentisering

67 Chier med autentisering Counter with Cipher Block Chaining Message Authentication Code (CCM). Är ett mode of operation för kryptering med autentisering.

68 Chier med autentisering Nonce Plaintext Ass. Data B 0 B 1 B 2 B r K CMAC Tag (a) Authentication Plaintext Ctr 0 K Encrypt Ctr 1, Ctr 2,... Ctr m K CTR MSB(Tlen) Tag Ciphertext (b) Encryption Figur : En schematisk översikt av CCM. Bild: [Sta13].

Referenser 69 crypto-, comb. form. I: OED Online. Hämtad den 5 april 2013. Oxford University Press, mars 2013. URL: http://www.oed.com/view/entry/45363. cryptography, n. I: OED Online. Hämtad den 5 april 2013. Oxford University Press, mars 2013. URL: http://www.oed.com/view/entry/45374? redirectedfrom=cryptography&. graphy-, comb. form. I: OED Online. Hämtad den 5 april 2013. Oxford University Press, mars 2013. URL: http://www.oed.com/view/entry/80855. Stefan Lucks och Magnus Daum. Hash Collisions (The Poisoned Message Attack). 2005. URL: http://th.informatik.unimannheim.de/people/lucks/hashcollisions/. William Stallings. Cryptography and network security :