260 likes | 276 Views
Distribusjon av krypteringsnøkler. Hvor, hvordan og hvorfor?. Chapter 7 – Confidentiality Using Symmetric Encryption.
E N D
Distribusjon av krypteringsnøkler Hvor, hvordan og hvorfor?
Chapter 7 – Confidentiality UsingSymmetric Encryption John wrote the letters of the alphabet under the letters in its first lines and tried it against the message. Immediately he knew that once more he had broken the code. It was extraordinary the feeling of triumph he had. He felt on top of the world. For not only had he done it, had he broken the July code, but he now had the key to every future coded message, since instructions as to the source of the next one must of necessity appear in the current one at the end of each month. —Talking to Strange Men, Ruth Rendell
Forklaringer og forkortelser Asymmetriske kryptering • Asymmetrisk kryptering benytter to matematisk relaterte, men ulike nøkler Nøkkelpar • (en privat og en offentlig nøkkel). Det skal ikke være mulig å utlede den private nøkkelen fra den offentlige. Autentisering • En prosess som har som mål å bekrefte en påstått identitet. Signatur • a) Er entydig knyttet til undertegneren • b) Kan identifisere undertegneren • c) Er laget ved hjelp av midler som bare undertegneren har kontroll over og • d) Er knyttet til det elektroniske dokumentet på en slik måte at alle etterfølgende endringer av innholdet i dokumentet kan oppdages.
Forklaringer og forkortelser CA • Certification Authority. Her brukes begrepet i hovedsak om sertifikatutstedere. Dataintegritet • En egenskap ved data som gjør det mulig å oppdage om data har blitt endret på en uautorisert måte eller p.g.a. feil. DES • Data Encryption Standard - en symmetrisk kryptoalgoritme utviklet i USA. Digital signatur • Et dataelement som følger en elektronisk melding eller et dokument, og som binder dokumentet til et individ, en maskin eller et datasystem. Det tillater mottakeren å bevise hvor dokumentet kommer fra, og om dokumentet er forfalsket. DSA • Digital Signature Algorithm, en amerikansk algoritme for digitale signaturer. Elektronisk ID • Et sett med sertifikater og tilhørende private nøkler for h.h.v. signering, autentisering og kryptering.
Forklaringer og forkortelser Elektronisk ID • Et sett med sertifikater og tilhørende private nøkler for h.h.v. signering, autentisering og kryptering. Innholdskryptering • En prosess som fører til forvrenging av innholdet i et dokument slik at bare mottaker med riktig nøkkel kan få det fram og lese det. Nøkkel • En sekvens av symboler som kontrollerer operasjonene for kryptering og dekryptering. Signaturframstillingsdata eller signaturverifiseringsdata. Nøkkeladministrasjon • Generering, lagring, distribusjon, arkivering og anvendelse/bruk av nøkler i samsvar med et regelverk (policy). Nøkkelgjenoppretting • Hente fram en kopi av en krypteringsnøkkel. Dette kan brukes i forvaltningen der man av tjenesteårsaker trenger tilgang til et kryptert dokument. (eng. Key recovery).
Forklaringer og forkortelser Public Key Infrastructure. • En samling av sikkerhetstjenester, sikkerhetskomponenter og aktører som gjør det mulig å benytte digitale signaturer i stor skala. RSA • Rivest-Shamir-Adleman cryptosystem, en bestemt asymmetrisk kryptoalgoritme. SA • Sertifikatautoritet – brukes i hovedsak om sertifikatutstedere. Sertifikat • En elektronisk legitimasjon for eieren av en privat og en tilhørende offentlig nøkkel som viser at den offentlige nøkkelen tilhører han. Sporbarhet • Et prinsipp i offentlig forvaltning som sikrer at behandlingen av en sak kan rekonstrueres i ettertid. Det skal inneholde aspekter som er hensiktsmessige og tilstrekkelige i forhold til formålene ved sikkerhetstjenesten.
Vi skal se på: • Først symmetrisk kryptering • Brukt for å sikre konfidensialitet • Deretter på asymmetrisk eller Public-Key kryptering • Med ulike formål
Symmetrisk kryptering: Klartekst Kryptering vha nøkkel Kryptogram Dekryptering vha nøkkel Klartekst
Klartekst Kryptering vha offentlig nøkkel Kryptogram Dekryptering vha privat nøkkel Klartekst Asymmetrisk kryptering: Skjematisk kan vi tegne dette slik:
Krypteringsfunksjonen • Hvor skal krypteringsfunksjonen legges? • Må se på hvor vi er sårbare: • Ser på en vanlig organisasjon med arbeidsstasjoner, LAN, tjenermaskiner, eksterne forbindelser og eksterne nettverk
Konfidensialitet v.h.a. symmetrisk kryptering • Tradisjonell symmetrisk kryptering brukes for å oppnå konfidensialitet på formidling av informasjon • Arbeidsstasjoner på et LAN tar kontakt med andre arbeidsstasjoner og servere på et LAN • Kommunikasjonen foregår v.h.a. switcher og rutere • Kan også foregå v.h.a. eksterne linjer leid av f.eks. Telenor eller trådløs link eller satellitt • Anta at det skjer angrep i et slikt system • Skaffe opplysninger v.h.a. sniffing fra en annen PC • Man kan bruke oppringning til server for å sniffe • Bruke eksterne rutere for å få adgang til å sniffe trafikk • Overvåke, logge og /eller endre på pakker på eksterne linjer
Mange sårbare punkter! • Beste måte å sikre konfidensialiteten er ved kryptering • Hva krypterer vi og hvor? • Koblings-kryptering • Sikrer pakkene som transporteres mellom to mellomliggende noder på vei fra A til B, men ikke dataene ved hver switch/ruter • Ende-til-ende kryptering • Sikret data hele veien fra A til B, men ikke trafikkmønsteret
Konfidensialitet v.h.a. symmetrisk kryptering • Man har to hovedlinjer • Link-kryptering • Kryptering skjer uavhengig på alle linker som brukes • De som kommuniserer må dekryptere trafikken mellom de forskjellige linkene • Krever mange enheter, men bruker nøkkelpar • Startpunkt-til-sluttpunkt (end-to-end) kryptering • Kryptering skjer mellom den originale kilden og det endelige bestemmelsesstedet • Krever enheter på hvert punkt med delte nøkler
Koblingskryptering Melding er ukryptert hos avsender Melding er ukryptert i mellomliggende noder Avsender utfører kryptering Usynlig for bruker Alle eller ingen meldinger krypteres Krever nøkkelpar for alle mellomliggende kommunikasjonspar Autentiserer verten Ende-til ende kryptering Meldingen er kryptert hos avsender Melding er kryptert i mellomliggende noder Avsenderprosess utfører krypteringen Bruker bestemmer om meldingen skal krypteres eller ikke for hver ny melding Bruker bestemmer algoritmen Krever nøkkelpar for avsender og mottaker Autentiserer brukere Hva er sikrest?
Trafikk-analyse • Logger kommunikasjonsflyten mellom de forskjellige avdelinger • Er nyttig både i militæret og kommersielle områder • Kan også brukes for å lage en fordekt kommunikasjonskanal • Link-kryptering skjuler detaljene i header • Men den samlede trafikken i nettverket og i ende-punktene er fortsatt synlig • En videre skjuling av trafikken kan vanskeliggjøre tilgangen til å få tak i data • Men går på bekostning av god og kontinuerlig trafikkflyt
Nøkkeldistribusjon • A kan velge en nøkkel og levere til B selv, fysisk • Tredjepart kan velge nøkkelen og levere til A og B, fysisk • Om A og B tidligere - og nylig - har brukt en nøkkel kan en sende den nye nøkkelen til den andre, kryptert med den gamle nøkkelen • Om A og B begge har en kryptert kobling til C, kan C levere en nøkkel over disse koblingene til A og B
Hvor mange nøkler kreves? • Nettverk med N verter skal kunne kommunisere over et IP-basert nettverk • Kryptering skjer på IP-nivå • Dette vil kreve N(N-1)/2 nøkler
Public-Key distribusjon • Avertering – ”Jeg har en offentlig nøkkel og den sprer jeg” • Sentralt register over offentlige nøkler
Distribusjon av hemmelige nøkler via PKK (Public Key Cryptosystem) • A genererer et nøkkelpar KUa og KRa og sender KUa sammen med en IDa til B • B genererer en hemmelig nøkkel og sender en melding Ks tilbake til A kryptert med Kua • A dekrypterer meldingen fra B og får tilgang til Ks • A og B kvitter seg med nøkkelparet KUa og KRa
Signaturer • Må verifisere forfatter, tid og dato for signeringen • Må autentisere innholdet på signeringstidspunktet • Må være mulig for tredjepart å verifisere for å unngå tvister
Digitale signaturer • Må være et bitmønster som avhenger av meldingen som signeres • Må bruke unik informasjon om avsender for å unngå forfalsking og sikre ekthet • Må være enkle å produsere • Må være enkle å kjenne igjen og verifisere • Må være umulig å forfalske • Må være mulig å lagre for senere bruk
RSA-systemet • La oss si at du ønsker å sende meg en superhemmelig melding eller en stor seddelbunke. • Anta videre at • vi har hvert vårt hengelås (hver har forskjellig) og tilhørende nøkkel, • hengelåsene våre er uhyre vanskelig å kopiere – det er derfor det ikke finnes noen andre slike hengelåser og • vi bor så langt fra hverandre at den eneste muligheten du har for å sende meldingen til meg er å sende den i et lite skrin som er sikret mot alle typer innbrudd så lenge det er låst. • Hvordan skal du klare og sende meldingen til meg uten å kommunisere med meg og uten at noen andre får tak i den?
RSA-systemet Svar: • Du låser skrinet med din hengelås, beholder nøkkelen din og sender skrinet til meg. • Når jeg får skrinet, låser jeg også skrinet med min hengelås og sender skrinet som nå er låst med to låser tilbake til deg. • Du låser opp låsen din og sender skrinet til meg igjen, og dermed kan jeg endelig åpne skrinet med min nøkkel!
RSA-systemet • For å gjøre ting enda enklere og tidsbesparende: • Hadde det ikke vært greit om den åpne hengelåsen min hadde vært allemannseie, slik at alle som ønsket å sende meg en melding kunne få tak i den og smekke den på et sikkert skrin med meldingen i? • Det gjør jo ikke noe om alle kan få tak i hengelåsen så lenge bare jeg kan åpne den. • Dette er tankegangen bak det som kalles et "public key cryptosystem" ("kjent-nøkkel-kryptosystem"). • Ideen kom på 1970-tallet. • Et kryptosystem er for øvrig en algoritme som kan omgjøre en melding slik at den blir ugjenkjennelig (koding), og som kan omgjøre det ugjenkjennelige slik at vi får tilbake originalmeldingen (dekoding).
RSA-systemet • Hovedfordelene med kjent-nøkkel-systemer er økt sikkerhet og enklere bruk: • Jeg trenger ikke å gi nøkkelen min til noen, siden den ikke brukes til å kode meldingen, men bare til å dekode den. • Dette er i motsetning til å bruke et hemmelig-nøkkel-system: her brukes nøkkelen både til koding og dekoding, og dermed må både du og jeg på en eller annen måte utveksle en hemmelig nøkkel, med fare for at andre får tak i den og dermed kan knekke koden. • Det er imidlertid ulemper ved å bruke kjent-nøkkel-systemer, så i dag kombinerer man begge systemene, både for å øke sikkerheten og for å minske tidsbruken.