Kapitel 8 Kryptering

Kapitel 8 Kryptering

Kryptografi kommer af græsk. Krypto betyder hemmelig og grafi betyder skrivning. Med andre ord er kryptografi hemmelig skrift. Historisk set kendes det først i forbindelse med militære begivenheder.
Kryptering benyttes som betegnelse for handlingen at kryptografere. Det ses ofte, at man forkorter ordene til det mere letlæste: Kryptering og at kryptere. Tilsvarende den modsatte vej: De-kryptering og at de-kryptere. Da denne form er kortere, bliver den benyttet i denne bog.
En forståelse af kryptering, dens metoder, fordele og svagheder, er væsentlig for alle, der beskæftiger sig med sikkerhed. Kryptering er en af de allermest effektive metoder til datasikring. Herudover kan teknikken benyttes til andre formål. For eksempel at sikre identiteten af en afsender.
Vigtige transaktioner, pengeoverførsler, bestillinger af varer med videre vil i stigende grad kunne ske papirløst. Men en forudsætning herfor er, at man kan være sikker på ikke at modtage falske bestillinger eller sende beløb til de forkerte.

Metode og nøgle
En datakryptering kræver to komponenter:


Med disse to midler gøres budskabet ulæseligt for alle andre end netop dem, der kender nøglen og algoritmen. Når man har krypteret en tekst, kaldes den et kryptogram. Et kryptogram kan dekrypteres, så det igen bliver til læselig tekst. Alle beskrivelser af kryptering har et eksempel, så det skal læseren heller ikke spares for:


Teksten kan være SØRENS FAR HAR PENGE. Denne kan krypteres ved, at man oversætter alle bogstaverne til det bogstav, der i alfabetet står to pladser til højre herfor. S bliver således til U, 0 bliver til A, R bliver til S også videre. På denne måde bliver:


SØRENS FAR HAR PENGE til:


UATGPU HCTJCT RGP1G


Selve det at rotere alfabetet til højre er algoritmen, og at det netop roteres to pladser er nøglen. Hvis man roterede tre pladser, ville det være en anden nøgle. Hvis man ikke kender algoritmen, ved man ikke, hvordan man skal bruge nøglen. Og hvis man ikke kender nøglen, kan man ikke bruge algoritmen.

Det virkelige liv
Eksemplet er stærkt forenklet, og virkelighedens krypteringsteknikker er langt mere komplicerede. De navne, man kender disse under, henviser som regel til algoritmen. Algoritmen er den mest bestemmende faktor for, hvor svært det er at bryde et kryptogram og giver i det givne eksempel kun 29 mulige nøgler. Hvis man kendte reglen om at bytte tegn et antal pladser, ville det være let at afprøve de 29 nøgler. Til praktisk brug må man derfor have algoritmer, der er langt sværere at bryde. Her gennemgås de to mest anerkendte.
DES
DES eller Data Encryption Standard er udviklet af IBM og ophøjet til en standard af det amerikanske National Bureau of Security (NBS). DES algoritmen er i princippet af nøjagtig samme type som bogens eksempel, blot er den langt mere kompleks, og det mulige antal nøgler er meget større, nemlig ca. 7 med 16 nuller efter. Man bruger samme nøgle til både at kryptere og dekryptere med. Systemet kaldes derfor symmetrisk.
Det er teoretisk muligt at bryde DES, men trods ihærdige anstrengelser fra mange sider er der foreløbig ingen beviste eksempler herpå. Banksystemer verden over bruger i vid udstrækning DES, og dataoverførslen mellem Dankort-terminalerne og PBS er for eksempel krypteret med DES.
En kryptering med DES kan udføres med et edb-program. Imidlertid er de indgående beregninger temmelig tunge, så ganske ofte laver man en DES-løsning som en kombination af program og et stykke isenkram. Dette isenkram kaldes for en DES-chip, da det er udformet som et integreret kredsløb, altså en chip.

RSA
RSA er opkaldt efter dens tre fædre: Rivest, Shamir og Adleman. Den er noget anderledes end DES og det tilhørende eksempel med Sørens far .... RSA baseres nemlig på to forskellige nøgler. Den ene kan kun bruges til at kryptere med, og den anden kan kun bruges til at dekryptere med. Selv om man kender den ene nøgle, vil det ikke være muligt at finde ud af den anden. Algoritmen er mere kompleks end DES. Det betyder blandt andet, at der skal bruges flere ressourcer, altså mere edbkraft, på at bruge algoritmen og formentlig også flere ressourcer på at bryde den. RSA kan også – teoretisk set – brydes, men holder formentlig længere end DES.
Der er flere varianter af RSA under andre navne. De kaldes under et for asymmetriske algoritmer eller Public Key systemer (offentlig nøgle systemer). Den nøgle, der kan kryptere, kaldes almindeligvis den offentlige, og den, der kan dekryptere, kaldes den hemmelige. Disse algoritmer åbner en hel serie af muligheder.

Nøglebrættet
I symmetriske krypteringssystemer som eksemplet med Sørens far ... og DES – benyttes den samme nøgle til både kryptering og dekryptering. Det betyder, at alle, der skal kunne tale sammen via krypterede meddelelser, skal kende de samme nøgler. Det lyder ikke umiddelbart som noget problem, men er reelt en meget stor ulempe ved de symmetriske systemer. Dels er der problemet med at sende en nøgle på en sikker måde, og dels kan der opstå et betydeligt problem med at holde styr på alle de forskellige nøgler, man må opbevare. Man skal nemlig have mindst én nøgle for hver samtalepartner.
I asymmetriske - public key - systemer kan alle nøjes med ét nøgle-sæt. Den offentlige nøgle – altså den der bruges til at kryptere med – kan sættes i telefonbogen. Alle, der ønsker at sende en fortrolig besked, kan slå modtagerens offentlige krypteringsnøgle op i telefonbogen og anvende den på den fortrolige meddelelse, inden den sendes. Det er nu kun muligt at læse beskeden, hvis man har den hemmelige nøgle. Afsenderen kan være sikker på, at det kun er modtageren, der kan læse meddelelsen, i hvert fald såfremt modtageren passer godt på sin hemmelige nøgle.
Der har vist sig en tendens til at udvide public key systemernes anvendelsesområde. Når man gør det, bliver nøgleadministrationen igen mere kompliceret. Her kan man nøjes med at slå fast, at til samme brug er nøgleadministrationen markant nemmere i public key systemer end i symmetriske systemer som DES. Til gengæld er en effektiv RSA nøgle også meget længere end en DES nøgle. En RSA nøgle er så lang, at ingen normale mennesker har mulighed for at lære den udenad, nemlig 100 til 200 cifre.

Praktisk brug
Det mest åbenlyse formål med kryptering er at holde noget hemmeligt, men har dog yderligere to, mindre kendte, anvendelsesområder. Det kan bruges til at afsløre, om der er ændret i data, og til at verificere, at noget er, hvad det giver sig ud for at være.
Når man har hemmeligheder, man ikke kan låse inde, kan man gribe til kryptering. Hemmelighederne bliver ulæselige og er dermed beskyttet mod åbenbaring, men ikke mod ødelæggelse. Det benyttes ofte i datakommunikation mellem systemer, der hver har en sikkerhedsbarriere omkring sig. Kommunikationslinjer er pr. definition svære at låse inde og beskytte mod aflytning.
Problemet med ødelæggelse eller tab af meddelelser, der sendes via telekommunikation er dog til at overse: Det er yderst sjældent, at det er en uerstattelig original, man sender, så gen-transmission kan i almindelighed finde sted.
I systemer, hvor sikkerhedsbarrieren er for svag, kan man også bruge kryptering til alligevel at lave et nogenlunde sikkert miljø. Det sker ofte i forbindelse med pc-sikkerhedssystemer.

Troværdige data
Det kan være et stort problem at sikre, at der ikke er ændret i data. Normalt ønsker man både at sikre sig mod meningsforvanskning af oplysninger og mod, at systemet fungerer forkert på grund af ændringer i programmer, data og så videre.
Tamperproof er et særligt begreb, der benyttes i forbindelse med krypteringssystemer. At et system er tamperproof eller sikret mod hærværk betyder, at hvis der ændres i det, bryder det totalt sammen og destruerer sig selv. Anvendelsen af kryptering i denne forbindelse bygger på det faktum, at ændres en krypteret meddelelse, vil den oftest blive oversat til volapyk, når den dekrypteres.
Tamperproof benyttes også til at karakterisere fysiske enheder til sikkerhedsbrug, for eksempel den DES-chip, der (vi er stadig 1991) i Dankort-terminalernes centrale enhed – den med knapperne til brugerkoden – bryder ifølge konstruktøren uopretteligt sammen, hvis nogen forsøger at bryde ind i den. Det svarer nogenlunde til, at tyven efter et, i øvrigt vellykket, indbrud i et pengeskab mødes af en bunke penge, der er ætset op af syre.

Verificering af afsender
Hvis man vender et traditionelt public key system om, således at man hemmeligholder krypteringsnøglen og offentliggør dekrypteringsnøglen, kan man verificere, at afsenderen er den, han giver sig ud for at være.
A sender en besked til B. A krypterer meddelelsen med sin hemmelige krypteringsnøgle. Eftersom A har offentliggjort den nøgle, der skal til for at dekryptere, kan alle gøre det, også B. Når dekrypteringen lykkes ved hjælp af A’s dekrypteringsnøgle, kan B være sikker på, at det er A og kun A, der er afsenderen.

Elektronisk underskrift
En underskrift på et dokument regnes juridisk for at være det, der verificerer, at underskriftens indehaver er den, han påstår at være. At man overhovedet kan få den idé, at lade en underskrift have juridisk gyldighed, stammer formodentlig fra, at håndskrift er personlig og måske endda unik. Man efterlader så at sige sit fingeraftryk. Endvidere er underskriften mere eller mindre sat på samme stykke papir som de aftaler, man skriver under på. Dette binder underskriften til meddelelsen.
Når man sender en elektronisk meddelelse, kan man ikke bruge denne form for papir og blæk verifikation. I stedet kan man bruge RSA baglæns som beskrevet i ovenstående afsnit. Ikke alene kan modtageren være sikker på, at afsenderen er den, han påstår at være. Men afsenderen kan heller ikke nægte at have fremsendt dokumentet, da han er den eneste, der er i stand til at fremstille netop denne krypterede meddelelse. Nemlig den, der lader sig dekryptere med dekrypteringsnøglen. Hvis man husker at datere aftalen, har man endvidere indført det, der kaldes uafviselighed. Afsenderen kan ikke afvise at have sendt netop den meddelelse.

Jura og elektroniske aftaler
I dag (som altså var i 1991) indgås hovedparten af juridiske aftaler på papir, der underskrives af parterne i altalen. En mundtlig aftale er for så vidt lige så bindende som en skriftlig, men det kan være vanskeligt at bevise, at den er indgået, og hvad den nærmere går ud på. Samme vanskelighed opstår, hvis man går fra aftaler skrevet på papir til aftaler, der indgås elektronisk. Disse vanskeligheder søges overvundet ved nye tekniske metoder, og det kan nødvendiggøre lovændringer.
En bindende aftale
Bindende elektroniske aftaler kan have karakter af elektronisk post. I stedet for at udfærdige en aftale på papir, udfærdiges et elektronisk dokument, der så skal kunne bruges som bevis.
Vanskeligheden ligger i beviset for, at parterne har indgået aftalen. Parternes underskrift mangler. Løsningen på denne opgave skal dække mange slags elektroniske aftaler lige fra privatpersonen, der hæver penge i banken, til meget indviklede transaktioner mellem firmaer.
Electronic Data Interchange (EDI) er standarder for, hvorledes firmaer kan udveksle strukturerede data. Sådanne data er eksempelvis fakturaer, regninger, bankposteringer, betalinger osv.

Uafviselighed
For at kunne lave bindende elektroniske aftaler stilles nye krav til sikkerhedssystemerne. Ikke alene skal modtageren af en meddelelse kunne sikre sig, at det kommer fra den rigtige afsender. Det skal også sikres, at afsenderen ikke kan nægte at have sendt meddelelsen. Dette kan sikres med public key krypteringssystemer, men det kræver standardisering.
Der er to store problemer ved at indarbejde globale elektroniske aftalemuligheder. Dels er der den tekniske koordinering med det formål, at alle kan tale med alle, altså standardisering. Dels kræves vedtagelse af en ensartet lovgivning i alle lande. Sagen kompliceres af, at der er nationale og økonomiske interesser, der skal plejes undervejs.

Fremtidsmusik?
Standardiseringsarbejde er en meget langsommelig proces. Ikke alene skal man nå til en formel enighed, men det, man bliver enige om, skal også være det, der reelt bliver indført. En vedtagen standard, der ikke bliver brugt i praksis, er ikke det papir værd, den er skrevet på. Derfor er det ikke ualmindeligt, at standardiseringsorganisationerne venter med at vedtage en standard, til de kan se, at et givet produkt eller en løsning har den tilstrækkelige gennemslagskraft.

 

 

Ovenstående tekst og billede må citeres i uddrag med kildeangivelse: Anders Djursaa & Torsten Møller Madsen © 1991, 2018

Henvises til hele teksten, må der linkes til: http://inteko.dk/Contents/sikkert_kap8.html

Til Kapitel 9 - Sikkerhedssystemer