Grundlæggende kryptering og digital signatur 04/09/2012 ITU 2.1

Relaterede dokumenter
Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Introduktion til Kryptologi

Kryptologi 101 (og lidt om PGP)

Koder og kryptering. Foredrag UNF 4. december 2009 Erik Zenner (Adjunkt, DTU)

Kryptering og Sikker Kommunikation Første kursusgang Værktøjer (1): Introduktion til kryptering

Hvorfor er sikker kommunikation vigtig? Kursusgang 1: Introduktion. Symmetrisk kryptering. Kursets tre dele. Formål

PGP tutorial og keysigning workshop

Kursusgang 2: Symmetrisk kryptering (II). 3DES og Rijndael. Kursusgang 2: Symmetrisk kryptering (II). 3DES og Rijndael

Public Key Crypto & Gnu Privacy Guard & CaCert

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)

Kursusgang 3: Autencificering & asymmetrisk kryptering. Krav til autentificering. Kryptering som værktøj ved autentificering.

Hvad er KRYPTERING? Metoder Der findes to forskellige krypteringsmetoder: Symmetrisk og asymmetrisk (offentlig-nøgle) kryptering.

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Kursusgang 2: Symmetrisk kryptering (fortsat). Asymmetrisk kryptering. DES' vigtigste sikkerhedsmæssige egenskaber

Sikkert og pålideligt peer-topeer. Jacob Nittegaard-Nielsen. Kgs. Lyngby 2004 IMM-THESIS

Af Marc Skov Madsen PhD-studerende Aarhus Universitet

Større Skriftlig Opgave

Digital Signatur Infrastrukturen til digital signatur

Digitaliseringsstyrelsen

Specifikationsdokument for OCSP

Praktisk kryptering i praksis

Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27,

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Ekspertudtalelse om kryptering

Sikring af netværkskommunikation

Kryptologi Homework 1

Hemmelige koder fra antikken til vore dage

Specifikationsdokument for OCSP

Nøglehåndtering. Sikkerhed04, Aften

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.

Kryptografi Anvendt Matematik

Krypter dine mails når det er nødvendigt

Specifikationsdokument for OCSP

Kursusgang 3: Digital signatur. Den danske OCESstandard. Målsætning for digital signatur. Signatur (digital & alm. underskrift) Sikkerhedsmål

Basic statistics for experimental medical researchers

Introduktion til MPLS

Kryptologi og RSA. Jonas Lindstrøm Jensen

Køreplan Matematik 1 - FORÅR 2005

Matematikken. bag løsningen af Enigma. Opgaver i permutationer og kombinatorik

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Affine - et krypteringssystem

Sentinel (Dynamisk IP) til ZyWALL (Statisk IP) VPN Tunnel

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

STS Designdokument. STS Designdokument

Hvor er mine runde hjørner?

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Tema: Pets Fag: Engelsk Målgruppe: 4. klasse Titel: Me and my pet Vejledning Lærer

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber

Introduktion til NemHandel Infrastrukturen. Heinrich Clausen 4. november 2010

Software Design (SWD) Spørgsmål 1

Hvordan kryptering af chat, mail og i cloud services og social networks virker

Password hashing og salt

RSA og den heri anvendte matematiks historie - et undervisningsforløb til gymnasiet

Skriftlig Eksamen Beregnelighed (DM517)

SSO - FAQ - Kendte problemer med opsætninger

Sikkerhed i trådløst netværk

Tilstrækkelig sikker dataudveksling via Sundhedsdatanettet (SDN) Ved Kåre Kjelstrøm

Den digitale signatur

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 3: Adgangskontrol, autentificering og validering af integritet

Get starting med. AS2 til. Progrator gatetrade

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Fortroligt dokument. Matematisk projekt

RSA og den heri anvendte matematiks historie et undervisningsforløb til gymnasiet Jankvist, Uffe Thomas

HVOR SIKKER ER ASSYMETRISK KRYPTERING? Nat-Bas Hus semesters projekt, efterår 2004 Gruppe 12

Dansk Kvalitetssikringsgruppe Arkiv. - IT-advokatens syn på PDF/PDF-A med fokus på retsgyldighed

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning

Transkript:

Grundlæggende kryptering og digital signatur 04/09/2012 ITU 2.1

Indhold Terminologi, mål og kryptoanalyse Klassisk kryptering Substitution Transposition (permutation) WWII: Enigma Moderne kryptering Symmetrisk kryptering Public Key kryptering Hash funktioner Digital signatur EFS 04/09/2012 ITU 2.2

Terminologi Kryptografi = skjult skrift, Kryptologi = læren om kryptering Intruder (Trudy og Eve) Sender (Bob) receiver (Alice) Encryption encipher kryptering Decryption decipher dekryptering Metode/algoritme + nøgle(r) 04/09/2012 ITU 2.3

Mål og kryptoanalyse Mål med kryptering Confidentiality, Integrity, Authentication, Non-repudiation Kunsten at bryde kryptosystemer Cryptanalysis Er en algoritme breakable? Fx svagheder i algoritmen - metoden WEP har fx vist sig at indeholde alvorlige sårbarheder Flaws i protokollerne Brute force Næsten alle algoritmer kan brydes med brute force Forskellige angrebsmuligheder Ciphertext only attack known/probable plaintext attack chosen plaintext attack (Lunch time attack) chosen ciffertext angreb Er det alvorligt når en krypteringsalgoritme er brudt? Hardware versus software? 04/09/2012 ITU 2.4

Klassisk kryptering Substition (Confusion) Monoalfabetisk substitution Polyalfabetisk substitution... Transposition (Diffusion) Klassisk kryptering er tekstbaseret 04/09/2012 ITU 2.5

Klassisk kryptering Monoalfabetisk substitution Monoalfabetisk substitution ABCDEFG pdfxwim Kendte anvendelser: Julius Caesar ABCDEFGHIJKLMNOPQRSTUVWXYZ defghijklmnopqrstuvwxyzabc c i = P i + 3 mod 26 Nøglen = 3 Mary Stuart (ca. 1587) Dancing men 04/09/2012 ITU 2.6

Brute force Kryptoanalyse Simpelt ved de additive algoritmer (max 26 muligheder) I det gennerelle tilfælde 26! = 403291461126605635584000000 muligheder Frekvensanalyse 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 1 3 5 7 9 11 13 15 17 19 21 23 25 Series1 04/09/2012 ITU 2.7

Klassisk kryptering Polyalfabetisk substitution Polyalfabetisk substitution Bland flere alfabeter for at få en jævn fordeling Vigenère tableau Blaise de Vigenère (1523-1596), diplomate français DETERHEMMELIGT 05705705705705 djæewoerteqpgy Substitution skaber confusion! abcdefghijklmnopqrstuvwxyzæøå 0 A abcdefghijklmnopqrstuvwxyzæøå 1 B bcdefghijklmnopqrstuvwxyzæøåa 2 C cdefghijklmnopqrstuvwxyzæøåab 3 D defghijklmnopqrstuvwxyzæøåabc 4 E efghijklmnopqrstuvwxyzæøåabcd 5 F fghijklmnopqrstuvwxyzæøåabcde 6 G ghijklmnopqrstuvwxyzæøåabcdef 7 H hijklmnopqrstuvwxyzæøåabcdefg 8 I ijklmnopqrstuvwxyzæøåabcdefgh 9 J jklmnopqrstuvwxyzæøåabcdefghi 10 K klmnopqrstuvwxyzæøåabcdefghij 11 L lmnopqrstuvwxyzæøåabcdefghijk 12 M mnopqrstuvwxyzæøåabcdefghijkl 13 N nopqrstuvwxyzæøåabcdefghijklm 14 O opqrstuvwxyzæøåabcdefghijklmn 15 P pqrstuvwxyzæøåabcdefghijklmno 16 Q qrstuvwxyzæøåabcdefghijklmnop 17 R rstuvwxyzæøåabcdefghijklmnopq 18 S stuvwxyzæøåabcdefghijklmnopqr 19 T tuvwxyzæøåabcdefghijklmnopqrs 20 U uvwxyzæøåabcdefghijklmnopqrst 21 V vwxyzæøåabcdefghijklmnopqrstu 22 W wxyzæøåabcdefghijklmnopqrstuv 23 X xyzæøåabcdefghijklmnopqrstuvw 24 Y yzæøåabcdefghijklmnopqrstuvwx 25 Z zæøåabcdefghijklmnopqrstuvwxy 26 Æ æøåabcdefghijklmnopqrstuvwxyz 27 Ø øåabcdefghijklmnopqrstuvwxyzæ 28 Å åabcdefghijklmnopqrstuvwxyzæø 04/09/2012 ITU 2.8

Metoder Kryptoanalyse Kasiski (benytter digrammer, trigrammer..) Friedman test (index of incidence) Konklusion: Anvend lange nøgler og korte ciffertekster Skift ofte nøglen 04/09/2012 ITU 2.9

Klassisk kryptering Permutation/transposition Permutationsmetoder Ældre eksempel Scytala (ca. 400 f.kr.) Eksempel Bakke Snagvendt DETTE ER SVÆRT AT BRYDE dette ersvæ rtatb rydex derrertystadtvteeæbx Permutation skaber diffusion 04/09/2012 ITU 2.10

ENIGMA. Kodemaskine fra 2. verdenskrig Enigma 04/09/2012 ITU 2.11

Rotors 04/09/2012 ITU 2.12

Plug board 0 til 13 kabler 04/09/2012 ITU 2.13

Enigma kombinationer 3,283,883,513,796,974,198,700,882,069,882,752,878,379,955,261,095,623,685, 444,055,315,226,006,433,615,627,409,666,933,182,371,154,802,769,920,000,0 00,000 Enigma blev brudt! ~ 3 10 114. Antal atomer i solen ~ 10 57 Rejewski Enigma brudt pga. svaghed i nøglefordelingsprotokollen Alan Turing Splittede problemet op i en statisk og dynamisk del 04/09/2012 ITU 2.14

Moderne kryptering Symmetrisk kryptering Modtager og afsender har samme nøgle (symmetrisk) Antal nøgler ved n brugere: n*(n-1)/2 Baseret på klassiske metoder (simple bit operationer) Kan underopdeles i Block ciphers Stream ciphers Største problem: nøglefordelingsproblematikken Asymmetrisk kryptering Modtager og afsender har forskellige nøgler Antal nøgler ved n brugere: 2*n Baseret på matematiske problemer. Kræver dedikeret HW 04/09/2012 ITU 2.15

Block Ciphers - DES Data Encryption Standard (DES) Baggrund for DES National Bureau of Standards (NBS) (1976) baseret på Lucifer (IBM) Vægt på standard for alt og alle (exporteres) algoritmen kendt og undersøgt key beskyttelse ikke metoden implementeres som hardware (1 $) }Kerckhoff s princip god beskyttelse og effektiv simple logiske operationer (substitution og transposition) Ialt 2 56 muligheder = 72,057,594,037,927,936 Største ulempe: Nøglefordeling 04/09/2012 ITU 2.16

DES implementation Input (64 bits) KEY (56 bits) Tabel 3.8 Initial permutation Tabel 3.3 Tabel 3.4 Tabel 3.5 16 cycles Tabel 3.6 Tabel 3.9 Tabel 3.7 Inverse initial permutation Output (64 bits) 04/09/2012 ITU 2.17

04/09/2012 ITU 2.18

Feistel cipher design En runde (cycle) i DES kan skrives som: eller: L i = R i-1 R i = L i-1 F(R i-1, K i ) R i-1 = L i L i-1 = R i F(R i-1, K i ) = R i F(L i, K i ) Feistel konstruktionen betyder at dekryptering kan foretages, selvom F er en envejsfunktion Dekryptering Anvend DES algoritmen med subnøglerne taget i omvendt rækkefølge 04/09/2012 ITU 2.19

Sikkerheden i DES Er DES sikker? algoritmen frikendt for trapdoor og design flaw IBM's design noter er klassificeret af NSA, hvorfor? antal iterationer er rigeligt (8 er nok) nøglelængde er for kort (oprindelig 128 bits) Konklusion: ingen reelle kendte svagheder i DES Brute force teknikker: 2 56 mulige nøgler; Tidligere estimat: ca. 2000 år med 1µsek pr. nøgle 17. juni 1997 39 dage 20.000 computers forbundet i Internettet Fredag, 17. juli 1998 Koden brudt på 56 timer Cost: $250.000 EFF bygger en DES cracker på mindre end et år. 19. Jan 1999 Koden brudt på 22 timer og 15 min. (240*10 9 keys/s) Deep Crack plus 100.000 Internet PC er Mulig løsninger: Triple DES (112 bits) Encrypt: K1, decrypt: K2, encrypt: K1 04/09/2012 ITU 2.20

Complexity (løsningsrummet for DES er exponentielt stigende med n) 04/09/2012 ITU 2.21

Advanced Encryption Standard (AES) NIST initiativ: Start 2. Januar 1997 Endelig godkendelse medio 2001 Kriterier: Uklassificeret, offentlig, royalty-free, worldwide Symmetrisk algoritme. Fast bloklængde på 128 bits Forskellige nøglelængder på 128, 192 og 256 bits Antal rounds: 10, 12 henholdsvis 14 afhængig af nøglelængden Rijndael (Joan Daemen and Vincent Rijmen) Valgt i oktober 2000 04/09/2012 ITU 2.22

1 AES 2 3 4 Add key material 04/09/2012 ITU 2.23

Modes for blokkryptering Electronic Code Book (ECB) mode Før Flawed! Efter kryptering 04/09/2012 ITU 2.24

Integritet og Block replay Forskellige modes for blokkryptering (DES): ECB Electronic code block CBC Cipher block chain CTR Counter encryption Electronic Code Block Vulnerabilities Information leak Replay attack Cipher Block Chaining P i + Encryption C i E(P i C i-1 ) 04/09/2012 ITU 2.25

One time pad Stream ciphers Unconditionally secure (Shannon s bevis 1949) Vælg en lang nøgle som XOR es med klarteksten. ciffertekst = Nøgle klartekst klartekst = Nøgle ciffertekst Brug evt. pseudo random number generator (PRNG) til nøglegenerering ISEED (K) Plain text PRNG Cipher text XOR 0 1 0 0 1 1 1 0 What about integrity? 04/09/2012 ITU 2.26

Random generators A chain is no stronger than its weakest link! Requirements of good random generators Uniform distribution Independence Unpredictable Long periode How do we produce good ISEED s? Don t use Time of day (seconds): 86400 (<2 17 ) Password 8 letters : 208827064576 (<2 38 ) Could block ciphers be used as random generators? 04/09/2012 ITU 2.27

Stream ciphers - hardware GSM algoritme A5- anvendes i vores mobilos. Udviklet i 1989. Hemmeligt design. Det overordnede design blev lækket i 1994. Reversed engineered i 1999. A5/1 og A5/2 benyttes til confidentiality A5/1 i Europa og USA A5/2 i lande not concidered trustworthy enough to strong crypto Simpelt skifteregister 04/09/2012 ITU 2.28

Stream ciphers - software RC4 (Ron Rivest, 1987) Initialisering anvendes bl.a. i SSL, WEP, WPA En tabel på 256 bytes initialiseres med for i from 0 to 255 værdier fra 0 til 255 og nøglen blandes ind i S[i] := i tabellen j := 0 for i from 0 to 255 { j := (j + S[i] key[i mod keylength]) mod 256 swap(s[i],s[j]) } The pseudo-random generation algorithm (PRGA) i := 0 j := 0 while running { i := (i + 1) mod 256 j := (j + S[i]) mod 256 swap(s[i],s[j]) pseudo-random-byte := S[(S[i] + S[j]) mod 256] } Simpelt tabelopslag efterfulgt af swap (ombytning) ciffertekst-byte := klartekst-byte pseudo-random-byte 04/09/2012 ITU 2.29

Hash algoritmer Hash algoritmer (Kryptografisk forsegling) Compression Absolut envejs (output kaldes digest) Collision free Weak or strong collision resistance Offentlige og kendte. Anvendelse En-vejs kryptering. (f.eks. Password beskyttelse) Integritets check, verification, tidsstempling af dok. Message authentication code, MAC (evt med nøgle) Kan DES anvendes som hash algoritme? 04/09/2012 ITU 2.30

MD5 Message PadLength 512-bit Blocks A B C D A B C D A B C D A = 01234567 B = 89abcdef C = fedcba98 D = 76543210 A B C D 128-bit Hash 04/09/2012 ITU 2.31

MD5 internal loop 512-bit Block 32-bit Words A B C D 16 gange 16 gange 16 gange 16 gange A B C D 04/09/2012 ITU 2.32

Forskellige hash algoritmer Ron Rivest (ca. 1990) Message Digest algoritm MD4. (RFC1320) 16 bit word 128 bit digest, 48 steps Message Digest algoritm MD5 (RFC 1321) 32 bit word 128 bit digest, 64 steps In an attack on MD5 published in December 2008, a group of researchers used this technique to fake SSL certificate validity 04/09/2012 ITU 2.33

Secure Hash Algoritme med forskellige nøglelængder SHA 1, SHA 256, SHA 384, SHA 512 Arbejder på 32 bit word Bloklængde: 512 bits (SHA 1, SHA 256) eller 1024 bits (SHA 384, SHA 512) SHA1: 160 bit digest SHA2 256, 384 og 512 bits digest SHA3 Vælges i året 2012 04/09/2012 ITU 2.34

Beware of birthday attack Capture-recapture statistics Collision ~ n = n ½ 04/09/2012 ITU 2.35

Message Authentication Code (MAC) DES i CBC mode P i + Encryption C i Digest svarer til den sidste blok Autenticitet skabes gennem DES nøglen Problem: Digest (64 bits) er for kort. Hash-based Message Authentication Code HMAC(M,K) = hash(m,k) I praksis vælges en dobbelt hash: H(K opad,h(k ipad,m)) E(P i C i-1 ) 04/09/2012 ITU 2.36

Asymmetrisk kryptering (Public key systemer) Baseret på notorisk vanskelige matematiske problemer Eksempler: Diskrete logaritmer givet y, a og n. Find x hvor y = a x mod (n) Diffie Helmann key distribution Faktorisering givet C, e og n. Find m hvor C = m e mod (n) Cryptosystem: RSA algoritmen (1978) Elliptiske funktioner (1985) Kvantekryptering Symmetrisk kryptering er fra 100 til 1000 gange hurtigere end asymmetrisk krypto 04/09/2012 ITU 2.37

Diffie-Hellman 1 Alice vælger x p er et primtal og g en generator Begge tal er offentlige 0 2 g x mod p g y mod p 3 Bob vælger y 5 4 6 Alice udregner (g y ) x mod p Bob udregner (g x ) y mod p Diffie-Hellman nøglefordeling er baseret på en envejsfunktion z = g x mod p, hvor Alice og Bob (i kraft af privat viden) hver for sig kan udregne den samme størrelse. 04/09/2012 ITU 2.38

RSA Rivest Shamir Adelman (RSA) 1978 Alice NB. Det amerikanske patent udløb 20 SEP 2000 Let s meet to night, but don t tell anybody e, n Bob d,n Alice krypterer C = {M} Bob = M e mod (n) Bob dekrypter M= [C] Bob = C d mod (n) e d 04/09/2012 ITU 2.39

RSA (fortsat) Alice Sure, trust me, signed Bob e, n d Bob Bob signing S = [M] Bob = M d mod (n). S appendes M Alice verificerer underskriften M =? {S} Bob = S e mod (n) 04/09/2012 ITU 2.40

Digital signatur Alice Message 1 Bob Message Hash algoritme Hash algoritme digest digest Digest signeres (Krypteres med Alice s private nøgle) 2 =? Underskrift verificeres (Dekrypteres med Alice s offentlige nøgle) Den offentlige nøgle fås fra Alice s certifikat 04/09/2012 ITU 2.41

Fortrolighed Alice Bob Message Message zip unzip Vælg sessionsnøgle K K Symmetrisk kryptering Symmetrisk (de)kryptering K Krypter K med Bob s offentlige nøgle + ciffertext Find K ved at decryptere med Bob s private nøgle ciffertext 04/09/2012 ITU 2.42

Hvordan sikres autenticitet af offentlig nøgle? Public Key Infrastructure (PKI) 1. Baggrundschek Kvalificerede certifikater OCES Kommerciel praksis EV SSL (extended Validation) 2. Public key certificate is a digital signed electronic document which bind a public key with an identity. The certificate can be used to verify that a public key belongs to an individual. Hvem underskriver et certificat Self signed CA (certificate authority) Revocation of certificates Verificering af: juridisk, fysisk og operationel eksistens af virksomheden at virksomhedens identitet matcher officielle databaser at virksomheden ejer domænet i certifikat-ansøgningen at virksomheden har accepteret udstedelsen af EV certifikatet 04/09/2012 ITU 2.43 CA

X.509 v3 certifikat standard Certificate format version Certificate serial number Signature algorithm identifier Issuer X.500 name Validity period Subject X.500 name Subject public key information Issuer unique identifier Subject unique identifier Type Criticality Value Type Criticality Value Certificate Signature Algorithm CA Signature Extensions Hvad sker der når en CA kompromitteres? DigiNotar!! 04/09/2012 ITU 2.44

Structure of Encrypted File System Launch key for nuclear missile is DES File Encryption Output File *#$fjda^j u539!3t 389E *&\@ Data S e s s i o n K e y RSA Key Encryption Owner s public key RSA Key Encryption Recovery agent s public key RSA Key Encryption &%ht^uy#kl2! (Session Key) Owner s Name Owner s Public Key uk&$j)-!il Agent s Name Agent s Public Key Other Users DDFs DDF DRF 04/09/2012 ITU 2.45

Kvantekryptering Quantum Key Distribution (QKD) Metode til overførsel af symmetriske nøgler Bygger på polarisering af lys Måling af en photons polarisationsretning kan ikke ske uden at påvirke fotonerne, derfor kan aflytning ikke ske ubemærket Afstand over lyslederkabler (marts 2007): 148.7 km Quantum cryptography is still vulnerable to a type of MITM where the interceptor (Eve) establishes herself as "Alice" to Bob, and as "Bob" to Alice. 04/09/2012 ITU 2.46