Offentlig-nøkkelkryptografi er bruk av asymmetrisk kryptografi på en slik måte at den ene nøkkelen offentliggjøres mens den andre holdes hemmelig. Offentlig-nøkkelkryptografi er i praksis nødvendig, men ikke tilstrekkelig, for å realisere digitale signaturer. Digitale signaturer i sin tur er helt nødvendig for at to ukjente parter skal kunne etablere tillit til hverandre over et datanett. Slik tillit er blant annet en forutsetning for sikker bruk av Internett.  

Stadig flere dokumenter er utelukkende digitale, og digitale signaturer, og derfor offentlig-nøkkelkryptografi, anvendes på stadig flere områder i samfunnet.  Den første praktiske realiseringen av offentlig-nøkkelkryptografi kom i 1977 ved publiseringen av RSA.

Offentlig-nøkkelkryptografi tilbyr alltid digitale signaturer. Noen systemer tilbyr også å sende krypterte meldinger til eieren av den hemmelige nøkkelen.

All asymmetrisk kryptografi som kan brukes til å realisere offentlig-nøkkelkryptografi har det til felles at  en signatur laget med den hemmelige nøkkelen kan verifiseres med den offentlige.

Den grunnleggende ideen er å offentliggjøre den ene nøkkelen og knytte en identitet til den; for eksempel et navn, en internettadresse eller et organisasjonsnummer. For enkelhets skyld kan vi si at det rykkes inn en annonse som sier Offentlige nøkkel K tilhører Firma AS.

Anta at man har et (digitalt) dokument utstedt av Firma AS som bærer en digital signatur. Om den offentlig kjente nøkkelen K verifiserer signaturen, da kan man konkludere at ingen andre enn Firma AS kan ha laget signaturen.  

Dette, å knytte en handling (kryptering) til informasjon (dokumentet) kalles å etablere en digital signatur. At enhver skal kunne overbevise seg selv om at den digitale signaturen er gyldig, forutsetter naturligvis at den nødvendige nøkkelen for å gjøre det er offentlig (fritt) tilgjengelig.  Derfor er offentlig-nøkkelkryptografi og digitale signaturer nært knyttet til hverandre.

Noen asymmetriske metoder som kan benyttes til å realisere offentlige nøkler tilbyr bare digitale signaturer. Det vil si, den underliggende teknologien tilbyr bare én krypteringskanal. Den går fra den hemmelige nøkkelen til den offentlige. Den mest brukte teknologi av denne typen er ElGamal. Denne algoritmen ligger til grunn for standarden Digital Signature Standard (FIPS-186-3). Merk at selv om kanalen teknisk sett er en krypteringskanal, tilbyr den ikke hemmelighold. Det vil si at signaturen er lagt ved dokumentet heller enn å være en del av dokumentet selv.

Andre metoder for offentlig-nøkkelkryptografi, i særdeleshet den svært utbredte RSA, er slik at de to nøklene i paret realiserer hver sin krypteringskanal. Disse to kanalene er begge én-veis.

For å signere med RSA genereres først en digital kontrollverdi, for eksempel ved hjelp av en hakkefunksjon av dokumentet. Kontrollverdien krypteres så med den hemmelige nøkkelen. Den krypterte kontrollverdien kalles signaturen og legges ved dokumentet.  For å verifisere en signatur må man selv generere en tilsvarende digital kontrollverdi av dokumentet og så dekryptere signaturen med den offentlige nøkkelen. Dersom kontrollverdien man finner etter dekryptering er identisk med den kontrollverdien man selv har generert, da kan man konkludere at signaturen er gyldig. Det betyr at kanalen som går fra den hemmelige nøkkelen til den offentlige brukes til å realisere digitale signaturer.

Med RSA vil et dokument som er kryptert med den offentlige nøkkelen kun kunne dekrypteres med den tilhørende hemmelige nøkkelen. Det vil si at enhver kan sende krypterte dokumenter til den som kjenner den hemmelige nøkkelen. For eksempel kan et dokument krypteres med den offentlige nøkkelen, det krypterte dokumentet brennes på en CD og sendes i posten. Når dokumentet ankommer er avsender ukjent for mottaker, men dersom innholdet kan dekrypteres med den hemmelige nøkkelen, vet mottaker at ingen andre har lest innholdet. En offentlig RSA-nøkkel er derfor en kommunikasjonskanal med ukjent avsender og med bare én mottaker.

Det er mulig å realisere digitale signaturer selv uten bruk av asymmetrisk kryptografi, utelukkende med symmetrisk kryptografi.  Man kan for eksempel anvende en (online) tjeneste som knytter en melding til en person. Man kan altså enten på forhånd benytte en PKI med en tiltrodd tredjepart for å knytte en nøkkel til en person, eller man kan benytte en tiltrodd tredjepart til å knytte en melding til en person i ettertid.  Det er fordeler og ulemper med begge løsningene.

Fordelen med å bruke offentlig-nøkkelkryptering er at den digitale signaturen kan verifiseres av enhver, også uten å være knyttet til et datanett. Den viktigste ulempen er at å trekke tilbake utgåtte eller ikke lenger gyldige nøkler krever betydelig innsats.

Fordelen med en onlinetjeneste er at nøkler kan oppgraderes kontinuerlig. Dette øker sikkerheten. På den andre siden er verifikasjon av en signatur ikke mulig uten at tjenesten er tilgjengelig i sanntid.

Begge løsningene krever at den hemmelige nøkkelen oppbevares tilfredsstillende.

Styrken i et krypteringssystem, og implisitt styrken i en digital signatur, avhenger av teknologien som til enhver tid er tilgjengelig. Derfor vil man i praksis alltid knytte en maksimal levetid til en nøkkel som skal benyttes til å lage digitale signaturer. Alle steder hvor digitale signaturer skal erstatte signaturer på papir må man ta hensyn til dette: Hvordan verifisere at en signatur var gyldig da den ble beregnet dersom nøklene i ettertid ikke lenger tilbyr sikkerhet. Standarden PAdES LTV fra ETSI (TS 102 778, se lenke nederst) er én måte å forsøke å overkomme dette grunnleggende problemet.

Å spre en offentlig nøkkel ved å rykke inn en annonse i en avis er upraktisk.  Om ikke annet så fordi det krever at nøkkelen kopieres inn i datamaskiner for hånd. Sammen med offentlige nøkler kommer det derfor vanligvis en PKI.

Fordi en tiltrodd tredjepart er vanskelig å oppdrive fungerer offentlig-nøkkelkryptering best i lukkede systemer. GSM og BankID er gode eksempler på dette. Et hederlig unntak er at brukerne av Internett i sin alminnelighet stoler på firmaet som har laget deres nettleser til å gå god for de offentlige nøklene som er knyttet til nettsteder.

Foreslå endringer i tekst

Foreslå bilder til artikkelen

Kommentarer

1. februar skrev Svein Johan Knapskog

Guro,
jeg mener at bruken av et asymmetrisk kryptosystem der den ene nøkkelen offentliggjøres bør kalles offentlig-nøkkel kryptografi (i to ord). Er det noen gode grunner som jeg ikke har tenkt på til at dette ikke er gjort her?
mvh,
Svein.

Har du spørsmål om eller kommentarer til artikkelen?

Kommentaren din vil bli publisert under artikkelen, og fagansvarlig eller redaktør vil svare når de har mulighet.

Du må være logget inn for å kommentere.