Hvad er offentlig nøglekryptografi?
Hjem
Artikler
Hvad er offentlig nøglekryptografi?

Hvad er offentlig nøglekryptografi?

Let øvet
Offentliggjort Jan 31, 2019Opdateret Nov 8, 2022
5m

Introduktion

Offentlig nøglekryptografi (PKC), også kendt som asymmetrisk kryptografi, er en ramme, der bruger både en privat og en offentlig nøgle i modsætning til den enkelte nøgle, der bruges i symmetrisk kryptografi. Brugen af nøglepar giver PKC et unikt sæt egenskaber og muligheder, der kan bruges til at løse udfordringer, som er forbundet med andre kryptografiske teknikker. Denne form for kryptografi er blevet et vigtigt element i moderne computersikkerhed samt en kritisk komponent i det voksende kryptovaluta-økosystem.


Hvordan fungerer offentlig nøglekryptografi?

I et PKC-skema bruges den offentlige nøgle af en afsender til at kryptere oplysninger, mens den private nøgle bruges af en modtager til at dekryptere den. Fordi de to nøgler er forskellige fra hinanden, kan den offentlige nøgle deles sikkert uden at gå på kompromis med sikkerheden for den private. Hvert asymmetriske nøglepar er unikt, hvilket sikrer, at en meddelelse, der er krypteret ved hjælp af en offentlig nøgle, kun kan læses af den person, der har den tilsvarende private nøgle.

Fordi asymmetriske krypteringsalgoritmer genererer nøglepar, der er matematisk forbundet, er deres nøglelængder meget længere end dem, der bruges i symmetrisk kryptografi. Denne længere længde - typisk mellem 1.024 og 2.048 bit - gør det ekstremt vanskeligt at beregne en privat nøgle ud fra dens offentlige modstykke. En af de mest almindelige algoritmer til asymmetrisk kryptering, der bruges i dag, er kendt som RSA. 

I RSA-skemaet genereres nøgler ved hjælp af et modul, der nås ved at multiplicere to tal (ofte to store primtal). Grundlæggende genererer modulet to nøgler (en offentlig, der kan deles, og en privat, der skal holdes hemmelig). RSA-algoritmen blev først beskrevet i 1977 af Rivest, Shamir og Adleman (dermed RSA) og er fortsat en vigtig komponent i offentlige nøglekryptografisystemer.


PKC som krypteringsværktøj

Offentlig nøglekryptografi løser et af de mangeårige problemer med symmetriske algoritmer, som er kommunikationen af nøglen, der bruges til både kryptering og dekryptering. At sende denne nøgle over en usikker forbindelse risikerer at udsætte den for tredjeparter, som derefter kan læse alle meddelelser, der er krypteret med den delte nøgle. Selvom der findes kryptografiske teknikker (såsom Diffie-Hellman-Merkle-nøgleudvekslingsprotokollen) til at løse dette problem, er de stadig sårbare over for angreb. I offentlig nøglekryptografi kan den nøgle, der bruges til kryptering, derimod deles sikkert over enhver forbindelse. Som et resultat tilbyder asymmetriske algoritmer et højere beskyttelsesniveau sammenlignet med de symmetriske.


Generering af digitale signaturer

En anden anvendelse af asymmetriske kryptografialgoritmer er autentificering af data ved hjælp af digitale signaturer. Dybest set er en digital signatur en hash oprettet ved hjælp af dataene i en meddelelse. Når meddelelsen er sendt, kan signaturen kontrolleres af modtageren ved hjælp af afsenderens offentlige nøgle. På denne måde kan de godkende kilden til meddelelsen og sikre, at den ikke er blevet manipuleret. I nogle tilfælde anvendes digitale signaturer og kryptering sammen, hvilket betyder, at selve hashen kan krypteres som en del af meddelelsen. Det skal dog bemærkes, at ikke alle digitale signaturordninger bruger krypteringsteknikker.


Begrænsninger

Selvom det kan bruges til at forbedre computersikkerheden og give verifikation af meddelelsesintegritet, har PKC nogle begrænsninger. På grund af de komplekse matematiske operationer, der er involveret i kryptering og dekryptering, kan asymmetriske algoritmer være ret langsomme, når de tvinges til at håndtere store mængder data. Denne type kryptografi afhænger også stærkt af antagelsen om, at den private nøgle forbliver hemmelig. Hvis en privat nøgle ved et uheld deles eller eksponeres, kompromitteres sikkerheden for alle meddelelser, der er krypteret med den tilsvarende offentlige nøgle. Det er også muligt for brugere ved et uheld at miste deres private nøgler, i hvilket tilfælde det bliver umuligt for dem at få adgang til de krypterede data.


Anvendelser af offentlig nøglekryptografi

Denne type kryptografi bruges af mange moderne computersystemer til at sørge for sikkerhed af følsomme oplysninger. E-mails kan for eksempel krypteres ved hjælp af offentlige nøglekryptografiteknikker for at deres indhold forbliver fortroligt. 

SSL-protokollen (Secure Sockets Layer), der muliggør sikre forbindelser til websteder, anvender også asymmetrisk kryptografi. PKC-systemer er endda blevet udforsket som et middel til at tilvejebringe et sikkert elektronisk afstemningsmiljø, der potentielt ville give vælgerne mulighed for at deltage i valg fra deres hjemmecomputere.

PKC har også en fremtrædende plads i blockchain- og kryptovaluta-teknologi. Når en ny kryptovaluta-tegnebog er oprettet, genereres der et par nøgler (offentlige og private nøgler). Tegnebogsadressen genereres ved hjælp af den offentlige nøgle og kan deles sikkert med andre. Den private nøgle bruges derimod til at oprette digitale signaturer og verificere transaktioner og skal derfor holdes hemmelig. 

Når en transaktion er blevet verificeret ved at bekræfte den hash, der er indeholdt i den digitale signatur, kan denne transaktion føjes til blockchain-hovedbogen. Dette system til verifikation af digitale signaturer sikrer, at kun den person, der har den private nøgle tilknyttet den tilsvarende kryptovaluta-tegnebog, kan flytte midlerne. 

Det skal bemærkes, at den asymmetriske kryptografi, der anvendes i kryptovaluta-applikationer, er forskellig fra dem, der bruges til computersikkerhedsformål. Bitcoin og Ethereum bruger for eksempel en specifik algoritme til at verificere transaktioner, kendt som Elliptic Curve Digital Signature Algorithm (ECDSA). ECDSA opretter også digitale signaturer uden brug af kryptering. Det betyder, at blockchain ikke har brug for kryptering, i modsætning til hvad mange typisk tror.


Sammenfatning

Lige fra computersikkerhed til verifikation af kryptovaluta-transaktioner spiller offentlig nøglekryptografi en vigtig rolle i at beskytte moderne digitale systemer. Ved at bruge parrede offentlige og private nøgler løser asymmetriske kryptografialgoritmer grundlæggende sikkerhedsproblemer, der præsenteres af symmetriske cifre. Selvom PKC har været i brug i mange år, udvikles der regelmæssigt nye anvendelser og applikationer til det, især inden for blockchain og kryptovaluta.