Kryptering benyttes når informasjon skal utveksles
mellom sender og mottaker over et ikke tiltrodd samband.
Teknikken er gammel og ble bl.a. benyttet av Julius
Cæsar. Innenfor forsvaret har kryptering vært
vanlig i lengre tid for beskyttelse av informasjon. I de
senere år har bruk av krypteringsteknikker blitt
mer og mer vanlig i forbindelse med sending av
informasjon mellom datasystemer, spesielt med bruk av
Internett som nettverk mellom sender og mottaker.
Internett tjenester, som elektronisk post, web, news og
ftp, tilbyr ikke sikker (avlyttingssikkert)
overføring av informasjon. For at konfidensiell
informasjon skal kunne overføres sikkert må
denne krypteres.
Det er 5 ingredienser ved bruk av konvensjonell kryptering
Figur 17.3 i boken illustrerer dette. Den hemmelige nøkkelen er en parameter til krypteringsalgoritmen. Forskjellige nøkler vil gi forskjellig kryptert tekst. Både sender og mottaker må ha den hemmelige nøkkelen, denne benyttes både ved kryptering og dekryptering. Dekrypteringen kjører krypteringsprosessen i revers og skal gjenskape den originale teksten.
Fordeler:
Rask kryptering
Ulemper:
Nøkkeldistribusjon. Alle nøkler må være hemmelige. Stiller krav til sikker distribusjon av nøkler.
Det eksisterer mange ulike krypteringsalgoritmer, fra de enkle benyttet på Cæsars tid, til de mer avanserte som benyttes i dag. Styrken i en krypteringsalgoritme bestemmer hvor lett/vanskelig det er å knekke krypteringsalgoritmen eller nøkkelen som benyttes
Substitution chiper
Teknikker benyttet på Cæsars tid kommer i
denne kategorien. Hver bokstav i den opprinnelige teksten
ble byttet ut med en annen bokstav i alfabetet. Et enkelt
prinsipp bestod i at hver bokstav ble flyttet et visst
antall plasser i alfabetet. Krypteringsalgoritmen kunne
være som følger: Forflytt hver bokstav x
antall plasser mot høyre. X er her en parameter
som kan variere fra gang til gang, en slik parameter
betegnes som nøkkelen til krypteringsalgoritmen.
Avhengig av nøkkelen vil den samme
krypteringsalgoritmen gi forskjellig resultat.
En forbedring av denne algoritmen vil være å
bytte ut hver bokstav med en tilfeldig annen bokstav. Med
dette prinsippet vil det for hver bokstav være 26
muligheter (engelske alfabetet), totalt for hele
alfabetet blir det 26! mulige kombinasjoner, dvs.
nøkler. En datamaskin som kjenner
krypteringsalgoritmen og som benytter 1msek pr.
nøkkel ville benytte år på å
gå igjennom alle disse nøklene.
Med kjennskap til kryptering generelt og algoritmen som benyttes kan det være mulig å analysere seg fram til tekst og nøkkel. Dette betegnes for kryptoanalyse.
Knekking av tekst/nøkkel går ut på å prøve alle mulige nøkler på en kryptert tekst inntil en lykkes. I gjennomsnitt må halvparten av alle mulige nøkkelkombinasjoner testes. Tabell 17-1 i boken viser tider for utprøving av alle mulige nøkler avhengig av nøkkellengde og datamaskinkapasitet.
For at en krypteringsalgoritme skal betegnes som god bør følgende krav stilles:
Data Encryption Standard (DES) fra 1977 utviklet av IBM & NIST(Am. Forsvaret) er mye benyttet, men også omdiskutert. NIST anbefaler å benytte DES i forretningsapplikasjoner. Standard DES benytter en 56 biters nøkkel.
Kryptoanalyse:
Design kriteria for algoritmen er aldri publisert. Finnes
det en bakdør ? Storebror ser deg ? Ingen har
kunnet påvise dette. Algoritmen har siden den ble
lansert overlevd mange angrep og analyser.
DES benytter en nøkkel på 56 biter, knekket
på 22 timer av samarbeidende datasystemer på
Internett !
Tripple DES: Benytter en 112 biters nøkkel , egentlig to nøkler.
Første store nyhet på krypteringsfronten på ”tusener av år” lansert i 1976 av Diffie & Hellman. Krypteringsteknikk basert på bruk av matematiske funksjoner istedenfor enkle operasjoner på et bitmønster.
Nøkkelpar: Offentlig nøkkelkryptering (ONK) benytter et nøkkelpar som består av en offentlig og en privat nøkkel. Den offentlige nøkkelen kan gjøres tilgjengelig for alle som en ønsker å utveksle informasjon sikkert med, mens den private nøkkelen må holdes hemmelig.
En melding som er kryptert med en offentlig nøkkel kan bare dekrypteres med den tilhørende private nøkkelen i nøkkelparet.
Fig 17-5 i boken illustrerer kryptering ved hjelp av ONK. Forklaring til figuren.
Dvs. at etter pkt. 2 over kan ikke Bob dekryptere den krypterte meldingen, han har jo ikke den private nøkkelen som hører til.
Offentlige nøkler kan disponeres fritt. Disse kan gjøres tilgjengelig for andre ved hjelp av nøkkeltjenere. Nøkkeltjenere lagrer offentlige nøkler på forespørsel fra klienter, svarer på forespørsler fra klienter etter nøkler og tilbyr som regel søkefunksjonalitet etter nøkler.
Nøkler kan også offentliggjøres på web, med e-post eller gjøres tilgj. for finger når de legges i .plan filen under unix.
Fordeler:
Offentlig nøkkel kan distribueres fritt, trenger ikke være redd for kompromittering av denne.
Ulemper:
Langsom kryptering
Offentlig nøkkelkryptering (ONK) kan benyttes i en annen sammenheng også. I det forrige eksemplet ønsker nå Bob å sende en hemmelig melding til Alice, men denne gangen er ikke innholdet hemmelig. Derimot ønsker nå Bob at Alice skal være sikker på at meldingen kom fra han og at meldingen ikke er endret underveis.
Prinsipp:
Pretty Good Privacy(PGP) er et fritt tilgjengelig program som benytter ONK. Mange e-post klienter har støtte for PGP. PGP baserer seg på en kombinasjon av ONK og konvensjonell kryptering for å unngå problemene med langsom kryptering ved kun bruk av ONK.
Prisnippet er som følger ved sending av en melding kryptert ved hjelp av PGP.
Konvensjonell kryptering benyttes altså til kryptering/dekryptering av selve meldingen. Denne kan bli stor slik at bruk av ONK her vil vært en langsom prosess. ONK benyttes kun til kryptering/dekryptering av sesjonsnøkkelen. Denne er liten i sammenlignet med meldingen, slik at denne prosessen er rask.
Selv om ONK gjør det lettere med distribusjon av nøkler gjenstår et problem. Hvordan kan en være sikker på at den offentlige nøkkelen en har tilhører rett person ? Det kan jo være en annen som har sendt deg denne med falsk identitet. For å være sikker på dette benyttes en tiltrodd tredjepart som kan garantere at en nøkkel tilhører rette vedkommende.
En slik betrodd tredjepart er en sertifikatutsteder. Sertifikatutstederen signerer offentlige nøkler – disse kalles da et sertifikat.
Framgangsmåte:
Alle som har sertifikatutstederens offentlige nøkkel kan verifisere at brukerens offentlige nøkkel virkelig kommer fra han.
For å beskytte et internt nettverk mot et eksternt
ikke tiltrodd nettverk er det svært vanlig å
benytte en brannmur (engelsk: firewall). Med brannmur
menes her et datasystem med spesiell programvare som har
til oppgave å overvåke trafikken mellom det
eksterne og det interne nettverket. Brannmuren er
konfigurert slik at den kun slipper igjennom trafikk som
er i henhold til bedriftens sikkerhetspolitikk, all annen
trafikk sperres ute. Brannmuren utfører
altså en filtreringsfunksjon i henhold til sitt
oppsett. I dag benyttes særlig brannmurer som
sikringstiltak mot uønsket trafikk fra Internett.
Figur 2.1 viser et slikt oppsett.
Figur 2.1
Brannmurfunksjonen kan utføres av en ruter med spesiell programvare eller av et dedikert datasystem med standard OS og tilleggsprogramvare. Brannmuren har alltid minst to nettverkskort. Det ene kortet er tilknyttet det interne nettverket som skal beskyttes, mens det andre kortet er tilknyttet det eksterne nettverket. Det eksisterer ingen direkte forbindelse mellom det interne og det eksterne nettverket, unntatt via brannmuren.
Brannmurer ser på alle pakkene inn til og ut fra det interne nettverket som skal beskyttes. For hver pakke kan brannmuren bestemme bl.a. protokolltype (SMTP, FTP, HTTP ), portnummer, mottaker og avsender adresse. Avhengig av brannmurens oppsett slippes pakkene igjennom eller ikke.
Et typisk oppsett er at e-post tillates begge veier, dvs. inn til og ut fra det interne nettverket. Brannmuren vil da slippe igjennom alle SMTP pakker. Dersom web tillates slippes HTTP pakker igjennom. Pakkefiltrering kan utføres av en router.
En applikasjon på brannmuren opptrer på vegne av brukeren (proxy: stedfortreder). Applikasjonen tar i mot forespørselen fra brukeren og analyserer denne for å se om forespørselen kan tillates eller ikke i henhold til den oppsatt sikkerhetspolitikk. Applikasjonen kjenner den protokollen som benyttes og kan derfor i større grad analysere forespørslene enn hva tilfellet er med port filtrering. For eksempel en HTTP proxy kan se på URL adressen som aksesseres og ut i fra en oppsatt liste over tillatte/forbudte URL adresser tillate forespørselen eller ikke. En brannmur som benytter dette prinsippet er alltid et fullverdig datasystem med Unix/Linux eller tilsvarende operativsystem. I tillegg har systemet spesialprogramvare for dette formålet. System av denne typen kan normalt også gi forskjellig oppsett for forskjellige brukere/brukergrupper. Systemet kan utføre portfiltrering i tillegg.