Kryptering og Sikker Kommunikation Første kursusgang 8.9.2006 Værktøjer (1): Introduktion til kryptering 1. Begrebsintroduktion: sikkerhedsservice og krypteringsalgoritme 2. Kursusplan. 3. Alice, Bob og Trudy. 4. Introduktion til 1- og 2-nøgle-kryptering. 5. Artikler til studenterfremlæggelser. 6. Introduktion til næste gang.
Dankort-svindel Hæveautomat: - aflur PIN-kode i supermarked, stjæl kort, gå til pengeautomat Terminal: - bryd ind i supermarked, isæt datalogger, gem PIN-koder og magnetstriber, bryd ind igen og hent data, producer falsk Dankort, gå til pengeautomat med det PBS, Dankort A/S: Dankortet er kun sårbart over for sidstnævnte angreb når magnetstriben bruges i stedet for chippen
Dankort-misbrug juli/2004-juli/2005 Misbrug (opdaget) i millioner kr. / 12 måneder. Tabt/stjålet ægte kort Falsk kort atm 14 5 pengeinstitut 1 0 pos, fluesm. 0,4 0 pos, pin 9 0,1 pos, terminal 3 0 Internet 4 Netbank (1200) 0 (året før: 0,025)
Netbank - hvad er målsætningerne for sikkerheden?
Sikker kommunikation: hvilke mål (services)? Autentificering (authentication) Fortrolighed (confidentiality) Integritet (integrity) Uafviselighed (nonrepudiation) Tilgængelighed (availability) bekræfte identitet (typisk af person), forhindre given-sig-ud-for hemmeligholdelse af data, 'privacy', forhindre 3.part i at læse data originalitet af en tekst (uændret-hed), forhindre/påvise modifikation at afsender af data ikke kan afvise at have sendt/skabt data at en netværks-service er tilgængelig ITU = International Telecommuncations Union. ITU-dokumentet "Security Architecture for Open Systems giver en definition af begreber inden for sikkerhed (side 1-15).
Cæsar-kryptering Kryptering kan bruges til at opnå fortrolighed (den grundlæggende anvendelse af kryptering) samt autentificering, integritet og uafviselighed Cæsar-kryptering er en meget simpel form for kryptering, hvor alfabetet "skiftes" / flyttes et antal pladser: fx A -> C, B -> D, etc. så ABE -> CDG Definition af kryptering: transformation af data til en form, hvor det er svært at læse transformationen skal være reversibel, så data kan blive læseligt igen
Cæsar-kryptering (fortsat): kryptering af abe Notation: Krypteringsfunktion: e (encryption), dekrypteringsfunktion: d (decryption) Nøgle: k Alfabet for klartekst: P, ciffertekst: C Definition af Cæsar-kryptering: P = C = {A,B,C,..,X,Y,Z} = {0,1,2,.., 25} K = antal pladser som alfabetet skiftes e k (p) = (p + k) mod 26 Valg af nøgle: k=2 ABCDEFGHIJKLMNOPQRSTUVWXYZ CDEFGHIJKLMNOPQRSTUVWXYZAB ABE -> CDG
Cæsar-kryptering (fortsat) Svaghed: nem at knække (.. bryde, angribe) dvs. genskabe klartekst ud fra ciffertekst Eksempel: cifferteksten er HALxxxxxxxxx vi ved klarteksten begynder med et amerikansk IT-firma hvad er k? dvs. hvor meget er alfabetet skiftet? ABCDEFGHIJKLMNOPQRSTUVWXYZ ZABCDEFGHIJKLMNOPQRSTUVWXY
Cæsar-kryptering: begreber Cæsar-kryptering er alene baseret på: substitition: hvert bogstav erstattes med et andet bogstav en simpel form for substitition: hvert bogstav erstattes med det samme bogstav hver gang har man gættet et bogstav, har man gættet alle Svagheder: nem at knække ved kendt ciffertekst-angreb vi skal blot afprøve 26 nøgler forudsat at klarteksten er genkendelig (fx dansk, engelsk,..) også sårbart over for frekvensanalyse: hvis g forekommer oftest, kan vi regne ud at g svarer til e
Krav til moderne kryptering Modstandsdygtig over for angreb: kendt ciffertekst kendt klartekst (og ciffertekst) fx <html>xxxxxxxx valgt klartekst (og tilsvarende ciffertekst, foruden øvrig ciffertekst) Opdeling i fast algoritme + variabel nøgle Modstandsdygtighed: angreb kræver test af alle mulige nøgler (eller noget der er ca. lige så svært) uoverkommeligt med nuværende maskinkraft tidsforbrug eksponentielt i nøglelængde (eller næsten eksp.) Kryptering og dekryptering skal være rimelig hurtig og nøglen skal være håndterlig
Moderne krypteringsalgoritmer Algoritmerne DES, Rijndael, RSA o.m.a. lever op til kravene formentlig! vides ikke med sikkerhed Offentligt kendte algoritmer støtter sandsynliggørelsen af modstandsdygtigheden ønsket at både erhvervslivet og internet-græsrødder Og de bliver bedre med tiden stigende maskinkraft => længere nøgler => endnu vanskeligere at knække
Dog stadig mange hemmeligheder Hardware: fysisk beskyttelse af chipkort Beskytte mod angreb på svag kryptering GSM Militære applikationer Rationalet bag hemmeligholdelse kan være andet end angrebsfare Fx undgå vise fjenden et godt design Eksportkontrol stort set afskaffet, omfattede kun software Forretningshemmeligheder (fx ActivCard) Netbanker: vi bruger stærk kryptering, men vil ikke sige hvordan beskyttelse mod udnyttelse af svagheder i applikation? beskyttelse af image?
Krav til moderne kryptering (fortsat) Ikke krav om: modstandsdygtighed i al fremtid (data kan læses senere, fx om 10 år) bevis for modstandsdygtighed, kun sandsynliggørelse
Fundament for sikkerhed: formodninger, ikke beviser Hvis et helt samfund af kryptologer ikke har fundet et angreb, er det sandsynligt at der ikke kan findes et angreb (snart) (jf. Kaufman s.41)
Kryptering og Sikker Kommunikation Første kursusgang 8.9.2006 Værktøjer (1): Introduktion til kryptering 1. Begrebsintroduktion: sikkerhedsservice og krypteringsalgoritme 2. Kursusplan. 3. Alice, Bob og Trudy. 4. Introduktion til 1- og 2-nøgle-kryptering. 5. Artikler til studenterfremlæggelser. 6. Introduktion til næste gang.
Kursets to dele 1. Værktøjer: 4 kursusgange (uge 36-39) 1-nøgle-kryptering DES, 3-DES, Rijndael 2-nøgle, offentlig nøgle kryptering: RSA Hashing SHA-1 2. Netværksanvendelser: 6 kursusgange (uge 41-46) Niels: Dankort (chipkort vs. magnetstribe) Niels: Netbanker (signaturfil, passwordgenerator/activcard) Bo: VoIP Bo: også sikre sockets, firewalls, VPN, Ipsec Bo ialt fire gange (uge 43-46)
Formål At de studerende opnår - indsigt i centrale algoritmer til kryptering og kryptografisk hashing og deres anvendelse til autentificering, hemmeligholdelse og integritet. - indsigt i almindeligt brugte protokoller til sikker kommunikation over internettet - indsigt i de specielle sikkerhedsproblemstillinger ved anvendelse af "peer-to-peer" kommunikation, herunder Voice over IP (VoIP). - indsigt i sikkerhedsteknologiens anvendelse ved elektronisk betaling, herunder chip-dankort og netbanking - kendskab til brug af programbiblioteker med algoritmer til kryptering m.m.
Brug af øvelser Emne for kursusgang 1 - værktøjer (1): Introduktion til kryptering 2 - værktøjer (2): DES og Triple-DES. 3 - værktøjer (3): Rijndael. Blokbehandling. 4 - værktøjer (4): Hashing. RSA. 5 - netværksanvendelser (1): Chipdankortet. 6 - netværksanvendelser (2): Netbanker. 7 - netværksanvendelser (3) 8 - netværksanvendelser (4) 9 - netværksanvendelser (5) 10 - netværksanvendelser (6) Øvelse Oversigt over artikler Krypteringsbibliotek Kollokvium: Tom Artikler Artikler Artikler
Eksamen Individuel mundtlig eksamen. 30 min. Lodtrækning om spørgsmål 30 min. forberedelsestid Spørgsmål vises efter kursusgang Eksempel på spørgsmål: 1. Gør rede for fællestræk og forskelle mellem 1 og 2-nøgle systemer (hemmelig nøgle kryptering vs. offentlig nøgle kryptering).
Alle 20 spørgsmål i 2005: 1. Gør rede for principperne i DES og fordele og ulemper ved DES. 2. Skitser principperne i Rijndael og gør rede for fordele og ulemper ved algoritmen. 3. Gør rede for fælles træk og forskelle mellem symmetrisk og asymmetrisk kryptering. 4. Gør rede for fordele og ulemper ved forskellige metoder til blokbehandling, fx ECB og CBC (Electronic Code Book og Block Cipher Chaining). 5. Skitser principperne i RSA og gør rede for fordele og ulemper ved algoritmen. 6. Gør rede for kravene til kryptografisk hashing, og beskriv SHA 1 overordnet. 7. Gør rede for hvorledes kryptering kan bruges til besked autentificering. (Der tænkes ikke på offentlig nøgleinfrastruktur med certifikater m.m.). 8. Gør rede for principper og udfordringer for brugen af passwords til autentificering af brugere over for servere. 9. Gør rede for principper og udfordringer for brugen af challenge response protokoller til autentificering af brugere over for servere. 10. Gør rede for principperne i digital signatur. 11. Gør rede for principperne i offentlig nøgle infrastruktur. 12. Gør rede for OCES standarden. 13. Beskriv hvor i TCP/IP protokolstakken der kan indføres sikker kommunikation. Beskriv fordele og ulemper ved sikring på de forskellige lag, samt giv eksempler på hvordan sikker kommunikation på de forskellige lag kan implementeres. 14. Beskriv forskellige angrebsmetoder og hvordan disse kan afværges. 15. Beskriv funktionalitet og anvendelse af IPSec. 16. Beskriv funktionalitet og anvendelse af VPN. 17. Beskriv funktionalitet og anvendelse af SSL/TLS. 18. Beskriv forskelle og ligheder mellem hvordan nøgleudveksling foretages i IPSec og SSL/TLS. 19. Redegør for sikkerhedsproblemerne ved sending af email over Internettet. 20. Redegør overordnet for funktionen af PEM og S/MIME og redegør herunder for i hvilket omfang disse protokoller kan løse sikkerhedsproblemer ved sending af email over Internettet.
Kryptering og Sikker Kommunikation Første kursusgang 8.9.2006 Værktøjer (1): Introduktion til kryptering 1. Begrebsintroduktion: sikkerhedsservice og krypteringsalgoritme 2. Kursusplan. 3. Alice, Bob og Trudy. 4. Introduktion til 1- og 2-nøgle-kryptering. 5. Artikler til studenterfremlæggelser. 6. Introduktion til næste gang.
Alice, Bob, Trudy Alice, Bob, Trudy: Personer, computere, processer Alice (A) og Bob (B) er de gode benytter kryptografi til fortrolighed, autentificering, etc. stærk kryptering er tilladt - Clipperprojekt (Kaufman s.17) er fortid Trudy (jf. intruder) er den onde (modstander, angriber,..) benytter kryptoanalyse Trudys 'generelle' aktiviteter (kryptoanalyse) betragtes normalt som en ærværdig aktivitet, der gavner kryptoanalyse EFF knækkede DES-nøgle for at påvise behovet for stærkere kryptering Rijndael udvalgt efter konkurrence hvor kandidater søgtes knækket Men i USA: DMCA kriminaliserer kryptoanalyse som potentielt krænker Wang nægtet indrejse pga. hendes 'angreb' på SHA-1
Modeller, sikkerheds-"situationer" Vi vil gerne tale generelt om sikkerhed angreb, mål/services, metoder på tværs af forskellige typer situationer fx. hemmeligholdelse af e-banks-transaktioner & mobilsamtaler OBS begrebsapparat hertil er vagt og der er ikke enighed i litteraturen
Model 1: A og B kommunikerer over åbent netværk Fortrolighed Integritet (Autentificering, nonrepudiation) Åbent: betyder risiko for at uvedkommende opsnapper kommunikationen Alice Trudy Bob
Model 2: A søger adgang til B Autentificering Tilgængelighed (over åbent netværk) Åbent: betyder risiko for at uvedkommende opsnapper fx passwords Hej, det er Alice :-) Trudy?? Bob
Kryptering og Sikker Kommunikation Første kursusgang 8.9.2006 Værktøjer (1): Introduktion til kryptering 1. Begrebsintroduktion: sikkerhedsservice og krypteringsalgoritme 2. Kursusplan. 3. Alice, Bob og Trudy. 4. Introduktion til 1- og 2-nøgle-kryptering. 5. Artikler til studenterfremlæggelser. 6. Introduktion til næste gang.
1-nøgle og 2-nøgle kryptering 1-nøgle k. = hemmelig nøgle k. = symmetrisk k. krypteringsmetode hvor den samme nøgle bruges til både kryptering og dekryptering (og nøglen er det eneste variable i begge processer) 2-nøgle k. = offentlig nøgle k. = asymmetrisk k. kryptering hvor kryptering og dekryptering bruger to forskellige nøgler (disse to nøgler er så det eneste variable) kun interessant hvis den ene nøgle kan være offentlig (da dette løser nøgle-distributionsproblemet)
k k p f c f -1 Notation p p er en klartekst for plaintext, "beskeden" andre navne: m, message,.. proces (kørsel af algoritme) P er mængden af mulige klartekster = hemmelig f k : P -> C (encryption, kryptering) f -1 : C -> P (decryption, dekryptering) k c er en ciffertekst C er mængden af ciffertekster f k skal være injektiv: p <> p' => f k (p) <> f k (p')
Notation: Kaufman (s.6) k k p f c f -1 p Symbol + K{message} {message} Bob [message] Bob Betydning Eksempel xor 001 x 111 = 110 append, sammensætning s e n d f l e r e p e n g e 1-nøgle-kryptering f k (message) 2-nøgle-kryptering f k (message) (k: Bobs n.) digital signatur af message med Bobs private n.
1-nøgle kryptering Resten af denne kursusgang forudsættes, at vi har en god 1-nøgle krypterings-metode, dvs. den kan modstå relevante angreb: kun ciffertekst kendt klartekst valgt klartekst Kan selvfølgelig bruges til: sikker kommunikation over åbent netværk lagring af fortroligt materiale
Netværksanvendelse af 1-nøgle kryptering: Autentificering (Kaufman s.49) Stærk autentificering: Alice logger ind hos Bob navn (identitet) + password Password: er binær nøgle er kendt både af Alice og Bob, kaldes K AB Hvordan undgå at sende password i klartekst? og det er snyd bare kryptere med SSL ;-) Metode: challenge-response en protokol for en form for håndtryk
Autentificering med challenge-response Alice Alice R B Bob Tilfældighedsgenerator K AB kryptering K AB (R B ) dekryptering R B?! K AB Alice autentificerer sig over for Bob: 1. Alice: Hej det er Alice! 2. Bob: Hej, her er R B, et tilfældigt tal, vis du kan kryptere det med K AB 3. Alice: No worries, her er K AB (R B )
Autentificering med challenge-response: Opgave: find en anden måde for Bob! Alice Alice Bob Tilfældighedsgenerator K AB R B K AB
Autentificering med challenge-response: Opgave: find en anden måde for Bob! K AB Alice Tilfældighedsgenerator dekryptering Alice R B K AB (R B ) Bob?? R B kryptering K AB
Netværksanvendelse af 1-nøgle kryptering: integritetstjek (Kaufman s. 49) Alice Trudy Bob m 1000 kr. til mor > 1000 kr. til Trudy m' Problem med hash (h) af m er at hacker kan genskabe en hash (h') af m' Løses ved kryptering af h m h
Netværksanvendelse af 1-nøgle kryptering: integritetstjek (Kaufman s. 49) Alice Trudy Bob m m 1000 kr. til mor > 1000 kr. til Trudy m' hash Problem med hash (h) af m er at hacker kan genskabe en hash (h') af m' K AB kryptering Løses ved kryptering af h h = K AB (hash(m)) m h
Offentlig nøgle-kryptering (Kaufman s. 50) Bob har to nøgler: Offentlig nøgle: e B (eller off B ) Private nøgle: d B (eller priv B ) Egenskaber: hvis c er p krypteret med e B, altså hvis c = e B (p) så kan d B dekryptere c til p p den private nøgle d B kan ikke gættes ud fra den offentlige nøgle e B Alice Bob p kryptering e B e B e B (p) dekryptering d B
Anvendelse af 2-nøgle kryptering: Autentificering (Kaufman s. 53) Alice Alice e A (R B ) Bob Tilfældighedsgenerator d A R B?! R B dekryptering kryptering Fordele: Nøgle skal ikke udveksles Bob skal ikke passe på nogen hemmelighed Uafviselighed: Bob kan bevise Alice har fx logget ind e A
Anvendelse af 2-nøgle kryptering: Digital signatur (Kaufman s. 54) Alice m hash Alice signerer beskeden m hasher beskeden krypterer hashværdien med sin private nøgle hvis h kan dekrypteres med den off. nøgle, er det bevist at m er signeret af Alice d A kryptering h = d A (hash(m)) m h
Kryptering og Sikker Kommunikation Første kursusgang 8.9.2006 Værktøjer (1): Introduktion til kryptering 1. Begrebsintroduktion: sikkerhedsservice og krypteringsalgoritme 2. Kursusplan. 3. Alice, Bob og Trudy. 4. Introduktion til 1- og 2-nøgle-kryptering. 5. Artikler til studenterfremlæggelser. 6. Introduktion til næste gang.
Studenterfremlæggelser 1-2 studenterfremlæggelser (bortset fra tre første kursusgange) Varighed: op til 15 min. Fremlægges af 1-2 studerende
Artikler 1. Password Security. A Case History. Robert Morris, Ken Thomson. 2. Personalization in privacy aware highly dynamic systems Stefan Sackmann, Jens Sträker, Rafael Accorsi. 3. Design Principles for Tamper Resistant Smartcard Processors. O. Kömmerling, M.G. Kuhn. 4. EMV Issuer and Application Security Guidelines. Version 1.3. Kun side 1 22. EMVCo. 5. On the Security of Todays Online Electronic Banking Systems. J. Clasessens, V. Dem, D. De Cock, B. Preneel, J. Vandewalle. 6. New technologies in e banking: convenient and trustworthy? Niels Jørgensen. 7. LAN security: problems and solutions for Ethernet networks Rinat Khoussainov, Ahmed Patel 8. Analysis of the IPSec Key Exchange Standard. Radia Perlman, Charlie Kaufman 9. Remote Timing Attacks are Practical. David Brumley 10. Skype Security Overview: VoIP and Skype Security. Simson L. Garfinkel
Kryptering og Sikker Kommunikation Første kursusgang 8.9.2006 Værktøjer (1): Introduktion til kryptering 1. Begrebsintroduktion: sikkerhedsservice og krypteringsalgoritme 2. Kursusplan. 3. Alice, Bob og Trudy. 4. Introduktion til 1- og 2-nøgle-kryptering. 5. Artikler til studenterfremlæggelser. 6. Introduktion til næste gang.
15. september: 2 - Værktøjer (2). DES og Triple-DES Kaufmann Kap 3.1-3.3 + 4.4-4.4.1 + 7.1-7.3 (s. 59-75 + 109-113 + 185-187). Uddraget af kapitel 7 er om tal. Det er bl.a. som hjælp til arbejdet med RSA senere på kurset. Formål med diskussion af DES: kendskab til DES og 3-DES kendskab til den måde, den kombinerer klassiske (længe kendte) basale teknikker: substitution permutation eksempel på knækket metode Øvelse: Programmering: Lav Triple-DES ved hjælp af DES.