Kursusgang 1: Introduktion. Hvorfor er sikker kommunikation vigtig? 1. Kursusintroduktion 2. Begrebsapparat. 3. Kryptering: introduktion til værktøjer og anvendelser 4. God. 5. Talteori. 6. Introduktion til næste gang. Baggrund: udviklingen af netværk af computere med offentlig adgang mange services: e-handel, Internetbanking digital forvaltning/signatur mange brugere Derfor: Stigende efterspørgsel efter IT-folk med kendskab til sikkerhed udvikling/projektledelse af IT-systemer omfatter også sikkerhed Formål Kursets tre dele At de studerende får indsigt i: 1. Værktøjer især smetoder; også hashing m.m. 2. Netværkssikkerhed bl.a. protokoller for sikre socket-forbindelser Så I får en forståelse som er dyb nok til at: så I kan bruge sikkerhedsværktøjer rigtigt vurdere sikkerhedsløsninger følge med i udviklingen på sikkerhedsområdet 1. Værktøjer: Algoritmer til. 1-nøgle, hemmelig nøgle DES, 3-DES, Rijndael Hashing SHA-1 2-nøgle, offentlig nøgle : RSA 2. Netværkssikkerhed digital signatur Sikre sockets (SSL/TLS mail Virtual Private Network (VPN Andre sikkerhedsområder: Applikationslag Transportlag Netværkslag Data link-lag Fysisk lag vira, orme, buffer overflow, udviklingsmetoder, beskyttelse af arbejdslager og filsystem, detektion af indtrængen, firewalls, m.m.
Niels: Kursets 10 (heldags kursusgange Eksamen 1. Værktøjer (1. Introduktion 2. Værktøjer (2. DES, 3-DES. 3. Værktøjer (3. Rijndael. 4. Værktøjer (4. Hashing. RSA (i 5. Netværksanvendelser (1: autentificering RSA (ii 6. Netværksanvendelser (2: digital signatur Bo: 7. Netværksanvendelser (3: Overblik 8. Netværksanvendelser (4: Netværkslaget 9. Netværksanvendelser (5: Transportlaget 10. Netværksanvendelser (6: Appl.laget Samt repetition Applikationslag Transportlag Netværkslag Data link-lag Fysisk lag Individuel mundtlig eksamen. 30 min. Lodtrækning om spørgsmål 30 min. forberedelsestid Spørgsmål vises efter kursusgang, bruges til opsummering Eksamensspørgsmål Kursusgang 1: Introduktion. 1. Gør rede for fællestræk og forskelle mellem 1 og 2-nøgle systemer (hemmelig nøgle vs. offentlig nøgle. 1. Kursusintroduktion 2. Begrebsapparat. 3. Kryptering: introduktion til værktøjer og anvendelser 4. God. 5. Talteori. 6. Introduktion til næste gang.
Hvad er der principielt, når man logger på en netbank? Alice, Bob, Trudy Alice, Bob, Trudy: Personer, computere/værtsmaskiner, processer Alice (A og Bob (B er de gode benytter kryptografi Trudy (jf. intruder er den onde (modstander, angriber,.. benytter kryptoanalyse Alice og Bob har let adgang til algoritmer og implementationer uanset hvad Alice og Bob hemmeligholder fortid: Clipperprojekt (Kaufman s.17, militær som hovedinteressent (jf. s. 27-30 algoritmer er kendte (uanset at nogle af patent-regulerede s.36 undtagelser: bl.a. mobiltelefoni 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 Rijndael udvalgt efter konkurrence hvor kandidater søgtes knækket Men DMCA kriminaliserer forskellige former for kryptoanalyse i relation til (c 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 Grundlæggende to typer af situationer inden for netværkssikkerhed: 1. Sikring af ressourcer: Bobs server ønskes beskyttet mod uvedkommende adgang via åbent netværk Centrale begreber: ressourcer, kommunikationskanal, vagtpost / FW, brugerid, brugerautentificering. Kommunikation: A og B kommunikerer over åbent netværk Indeholder autentificering som en slags specialtilfælde: Alice kan autentificere sig ved at sende en krypteret besked til Bob. dækker derfor en stor del af ressource-beskyttelse Åbent: betyder risiko for at uvedkommende opsnapper kommunikationen Alice Trudy Bob 2. Sikring af kommunikation: Alice kommunikerer med Bob over åbent netværk Centrale begreber: besked (klartekst, krypteret besked (ciffertekst, kommunikationskanal, protokol, nøgledistribution, nøgle, (de,
Services ifølge ITUs definition Autentificering Adgangskontrol Hemmeligholdelse (? Integritet Nonrepudiation Tilgængelighed Repudiation (benægtelse, afvisning ITU = International Telecommuncations Union. De fem øverste services defineres af ITU-dokumentet "Security Architecture for Open Systems" = x.800. 1. Kursusintroduktion 2. Begrebsapparat. Kursusgang 1: Introduktion. 3. Kryptering: introduktion til værktøjer og anvendelser 4. God. 5. Talteori. 6. Introduktion til næste gang. 1-nøgle og 2-nøgle Substitutions-baseret 1-nøgle 1-nøgle k. = hemmelig nøgle k. = symmetrisk k. smetode hvor den samme nøgle bruges til både og de (og nøglen er det eneste variable i begge processer 2-nøgle k. = offentlig nøgle k. = asymmetrisk k. hvor og de 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 I sammenhæng med betyder substitution: hvert element (fx. bogstav knyttes til et andet element underforstået at det er på en relativt simpel måde Klasser af substitutionsmetoder: skifte algoritmer (Cæsar-: a -> a+k, b->b+k,.. mono-alfabetisk: a -> f(a, b -> f(b,.., hvor f er injektiv og ellers vilkårlig..
k k p f c f -1 Notation p p er en klartekst for plaintext, "beskeden" andre navne: m, message,.. Notation: Kaufman (s.6 k k p f c f -1 p proces (kørsel af algoritme = hemmelig f k : P -> C (encryption, f -1 k : C -> P (decryption, de f k skal være injektiv: p <> p' => f k (p <> f k (p' P er mængden af mulige klartekster c er en ciffertekst C er mængden af ciffertekster + K{message} {message} Bob [message] Bob 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-: f k (message 2-nøgle- f k (message (k: Bobs n. digital signatur af message med Bobs private n. Cæsærs Opgave Alfabetet "skiftes" / flyttes et antal pladser Eksempel: P = C = {A,B,C,..,X,Y,Z} Algoritme: f k (p = (p + k mod 26 (der regnes med A=0, B=1,.. For k=25 fås: ABCDEFGHIJKLMNOPQRSTUVWXYZ ZABCDEFGHIJKLMNOPQRSTUVWXY IBM -> HAL Brugbarhed af Cæsarsubstitution: Ciffertekst: HALxxxxxxxx Klartekst vides at begynde med navnet på kendt amerikansk firma. Type: kendt klartekst (dvs. delvis kendt klartekst Afgørende svaghed ved skift-baserede algoritmer: antallet af mulige nøgler kun 26 dvs. sårbart over for udtømmende søgning (0-25 eller 1-25 også sårbart overfor frekvensanalyse dvs. forekomst af bogstaver, bogstavskombinationer etc. hvis det mest forekommende tegn i krypteret besked er "V", så er k = (V - E = (21-4 = 17
Opgave Opgave: Kaufman opg. 1 (kap. 2 Dekrypter: fqjcb rwjwj vnjax bnkhj whxcq nawjv nfxdu mbvnu ujbbf ncc Type: kun ciffertekst (men genkendelig klartekst, engelsk Forslag til løsningsmetode: 1. Antag der er brugt skifte-substitution 2. Udtømmende søgning med skift = +1, +2, o.s.v. 3. "Visuel inspektion" af resultat: ligner det et engelsk citat? Resultat: skift = 17 giver: whats inana mearo sebya nyoth ernam ewoul dsmel lassw ett what's in a name a rose b y anyother name would smell as swett Substitution (2: monoalfabetisk Nøgle = et ord på 26 tegn, fx ABCDEFGHIJKLMNOPQRSTUVWXYZ GOYDSIPELUAVCRJWXZNHBQFTMK IBM -> LOC Antal nøgler: 26! = (26*25*..*2*1 = 2 88 Opgave: Er denne algoritme brugbar? Nej, også denne er sårbar (forsvarsløs overfor frekvensanalyse (nu blot krav om lidt mere intelligent, skridtvis frekvensanalyse Grundlæggende svaghed: for lille blokstørrelse : det enkelte bogstav. 1-nøgle Resten af denne kursusgang forudsættes, at vi har en god 1-nøgle s-metode, dvs. den kan modstå relevante angreb: kun ciffertekst kendt klartekst.. Kan selvfølgelig bruges til: sikker kommunikation over åbent netværk lagring af fortroligt materiale
Netværksanvendelse af 1-nøgle : Autentificering (Kaufman s.49 Stærk autentificering: Alice logger ind hos Bob med Login med navn+ password Password: er binær nøgle Autentificering med challenge-response Alice Bob Alice (?! er kendt både af Alice og Bob, kaldes sendes ikke i klartekst og det er snyd bare kryptere med SSL ;- Metode: challenge-response en protokol for en form for håndtryk Alice autentificerer sig over for Bob: 1. Alice: Hej det er Alice! 2. Bob: Hej, her er, et tilfældigt tal, vis du kan kryptere det med 3. Alice: No worries, her er ( Autentificering med challenge-response: Opgave: find en anden måde for Bob! Alice Bob Alice (?? Tilfældighedsgenerator Tilfældighedsgenerator de Netværksanvendelse af 1-nøgle : Autentificering, Kaufman opg. 3 Hvad er svagheden ved protokollen for stærk autentificering - som skitseret her, og forudsat: protokollen er to-vejs når en part indleder protokollen skal den anden deltage også i flere samtidige håndtryk R A og (R A sendes med i første pakker Alice Bob Alice ( R A (R A } } Aut. af Alice Aut. af Bob
Løsning på Kaufman opg. 3 Alice åbner to samtidige håndtryks-sessioner med Bob. Netværksanvendelse af 1-nøgle : integritetstjek (Kaufman s. 49 Alice Trudy Bob Trudy ( Alice Alice, R Bob A1 (R A1, 1 } Session 1 m m 1000 kr. til mor -> 1000 kr. til Trudy m' Alice, 1 hash (1, 2 } (1 Session 2 } Session 1 h = (hash(m m h Offentlig nøgle- (Kaufman s. 50 Anvendelse af 2-nøgle : Autentificering (Kaufman s. 53 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 : c = e B (p så kan d B dekryptere c til p den private nøgle d B kan ikke gættes ud fra den offentlige nøgle e B d A Alice Bob Alice e A (?! Tilfældighedsgenerator de p Alice Bob e B e B e B (p de p d B 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 : Digital signatur (Kaufman s. 54 Kursusgang 1: Introduktion. 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 1. Kursusintroduktion 2. Begrebsapparat. 3. Kryptering: introduktion til værktøjer og anvendelser 4. God. d A 5. Talteori. h = d A (hash(m m h 6. Introduktion til næste gang. Fundament for sikkerhed: formodninger, ikke beviser Hvis et helt samfund af kryptologer ikke har fundet en løsning, er det ikke sandsynligt at der findes en løsning (snart (jf. Kaufman s.41 Krav til Algoritmen skal kunne modstå angreb, dvs.: m skal kunne holdes skjult når: 1. Kun ciffertekst: Krypteret besked c kendes 2. Kendt klartekst: Dele af m kendes, f.eks. m = "<html><title>... 3. Selvvalgt klartekst 4... Kryptering og de skal kunne foretages med rimelige ressourcer Nøglen k skal være håndterling (distribution, opbevaring
Grad af sikkerhed ved Nøglelængde Beregningsmæssig sikker metode angreb kræver for store beregningsmæssige ressourcer eksponentiel (eller næsten e. tidskompleksitet i nøglelængde DES m.fl. symmetriske metoder antages at være beregningsmæssigt sikre antagelsen er baseret på kryptologernes manglende evne til at bryde dem ikke en bevist antagelse RSA m.fl. asymmetriske metoder beregningsmæssig sikkerhed er matematisk sandsynliggjort, sikkerhed kan reduceres til at løse bestemte ligninger m.v. men sværhedsgraden heri er dog relativ, forstået som at der ikke findes beviser for at problemerne er eksponentielle Nøglerum er eksponentielt i længden af nøgler. Kombinationslås, 1 ciffer er 0..39, 1 indstilling tager ca. 3 sek. 3 cifre: indstilling: 10 sek.; 64.000 kombinationer tager ca. 1 uge. 4 cifre: indstilling: 13 sek.; 40*64.000 kombinationer tager ca. 1 år Nøglelængde: Kaufman opg. 6 Perfekt?! Før: Nøglelængde fx 56 bit Giver god performance ved de/ og forhindre knækning Nu: Computere blevet dobbelt så hurtige er det godt/dårligt/ligegyldigt? Hvad sker der hvis nøglelængden øges? fx 56 -> 57 bit? Ubetinget sikkerhed (perfekt sikkerhed ubrydelig uafhængigt af modstanderens beregningsmæssige ressourcer kan defineres som: p(p = m C = c = p(p = m, for alle beskeder m og krypterede beskeder c dvs. kendskab til krypteret besked giver ikke yderligere oplysninger om besked
Vernam- Gilbert Vernam patent i 1917 på metode Kursusgang 1: Introduktion. Besked: "Vi angriber i morgen kl. 4.00" 30 tegn = 30 byte = 30*8 bit = 240 bit Nøgle: Tilfældigt genereret ligeså lang som beskeden Metode: Krypteret besked = xor(besked, nøgle Nøgle bruges kun 1 gang 1. Kursusintroduktion 2. Begrebsapparat. 3. Kryptering: introduktion til værktøjer og anvendelser 4. God. 5. Talteori. 6. Introduktion til næste gang. Vernam- er ubetinget sikker. Se Nigel Smart. Cryptograhpy: An Introduction. (Kapitel 3. Kursusgang 1: Introduktion. Symmetrisk. DES 1. Kursusintroduktion 2. Begrebsapparat. 3. Kryptering: introduktion til værktøjer og anvendelser 4. God. 5. Talteori. 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 6. Introduktion til næste gang.
Permutation + substitution Moderne symmetriske algoritmer Substitution "forvirrer": Algoritmer offentligt kendte Formentlig beregningsmæssigt sikre whats -> fqjcb = (05(16(09(02(01 Permutation "spreder", "diffunderer": (05(16(09(02(01 (x0(xx(xx(x9(xx Hovedideer: Permutation +Substitution + xor med nøgle Iteration computerbaseret Beskytte mod frekvensanalyse stor blokstørrelse: fx 64bit = 8 byte = 8 tegn P E k D k C - hvis permutationen opererer på mindre enheder end de som substitueres. "Oppustning" af lille nøgle (fx DESs 56 bit Nøglevalg k fastlægger en bestemt funktion: E k : P -> C Kursusgang 1: Litteratur ITUs x.800-standard for terminologi inden for netværkssikkerhed: http://www.free.net/docs/itu/x800.rtf DMCA: http://en.wikipedia.org/wiki/digital_millennium_copyright_act Vernam-: Nigel Smart. Cryptograhpy: An Introduction. (Kapitel 3.