Nettverk sikkerhet

Kryptering

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.

Konvensjonell kryptering

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.

Algoritmer

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.

Kryptoanalyse

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:

DES

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.

Offentlig nøkkel kryptering

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.

Prinsipp kryptering

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.

  1. Bob og Alice skal utveksle sikker informasjon med hverandre, Bob skal i dette tilfellet sende en kryptert melding til Alice.
  2. Bob må skaffe seg Alice sin offentlige nøkkel
  3. Bob krypterer meldingen med Alice sin offentlige nøkkel
  4. Send meldingen
  5. Alice motar den krypterte meldingen og kan dekryptere den med sin private nøkkel. Det er kun Alice som kan gjøre dette. Meldingen er jo kryptert med hennes offentlige nøkkel, da er det kun Alice sin private nøkkel som kan dekryptere den.

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.

Nøkkeldistribusjon

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

Digitale signaturer

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:

  1. Bob har sin private nøkkel og Alice har Bob sin offentlige nøkkel.
  2. Bob benytter et program som beregner en sjekksum av meldingen som skal sendes og krypterer sjekksummen med sin private nøkkel. Sjekksummen som beregnes er unik for meldingen (kan sammenlignes med CRC sjekksum i forbindelse med overføring av data). Ved 1 eller flere biters endring i meldingen vil alltid sjekksummen bli en annen, en kan dermed ut fra denne bestemme om meldingen er endret eller ikke.
  3. Meldingen sammen med den krypterte sjekksummen sendes
  4. Alice mottar meldingen og foretar samme sjekksum beregning som Bob
  5. Alice dekrypterer den mottatte sjeksummen med Bob sin offentlige nøkkel og sammenligner mottatt og beregnet verdi. Dersom disse stemmer er dokumentet kommet uendret fram. Bob må være avsenderen for det er jo bare han som sitter på den hemmelige nøkkelen som meldingen var kryptert med.

Bruk av offentlig nøkkelkryptering

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.

  1. PGP genererer en sesjonsnøkkel som skal benyttes for konvensjonell kryptering for denne sesjonen
  2. Meldingen krypteres ved hjelp av konvensjonell kryptering og sesjonsnøkkelen
  3. Sesjonsnøkkelen krypteres med mottakerens offentlige nøkkel
  4. Den krypterte meldingen og sesjonsnøkkelen sendes til mottakeren
  5. Mottakeren dekrypterer sesjonsnøkkelen ved hjelp av sin private nøkkel og ONK
  6. Den dekrypterte sesjonsnøkkelen benyttes for dekryptering av selve meldingen ved hjelp av konvensjonell kryptering

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.

Sertifikater

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:

  1. Generer nøkkelpar
  2. Send offentlig nøkkel til tiltrodd sertifikatutsteder
  3. Sertifikatutsteder må ved hjelp av en sikker metode verifisere at nøkkelen kommer fra riktig person
  4. Sertifikatutsteder signerer offentlig nøkkel ved å legge på informasjon som tid og varighet, beregner sjekksum av signaturen og krypterer denne med sin private nøkkel. Den krypterte signaturen legges til den offentlige nøkkelen og vi har nå et sertifikat.

Alle som har sertifikatutstederens offentlige nøkkel kan verifisere at brukerens offentlige nøkkel virkelig kommer fra han.

Brannmurer


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

Konfigurasjon brannmur

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.

Teknikker

Pakkefiltrering

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.

Proxy

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.

Knut Collin, Høgskolen i Narvik