Fra sikring av nettsteder til signering av programvare, du finner asymmetrisk kryptografi (inkludert kryptering) i bruk praktisk talt overalt på nettet. Her er det du trenger å vite om den kryptografiske prosessen som bidrar til å holde dataene dine sikre på nettet
Asymmetrisk kryptering er ryggraden i internettsikkerhet. Uten det er det like enkelt å stjele kritisk sensitive data som å ta godteri fra en baby for de fleste nettkriminelle. Vi har sett mange av de smertefulle påminnelsene de siste årene i datainnbrudd som er et resultat av utløpte SSL/TLS-sertifikater. (Derfor snakker vi alltid om viktigheten av sertifikatadministrasjon for å unngå disse problemene.)
Men hva er asymmetrisk kryptering? Vi starter med en rask definisjon av kryptering av offentlig nøkkel før vi går videre til å utforske dette mer tekniske emnet grundig.
Hva er asymmetrisk kryptering? Offentlig nøkkelkryptering definert og forklart
For å si det enkelt, krypterer og dekrypterer asymmetrisk kryptering dataene som deles mellom to parter i offentlige, usikre kanaler (som internett). Denne prosessen innebærer bruk av to separate, men relaterte nøkler. I et nøtteskall handler det om å sikre den sensitive informasjonen din for å holde den unna hendene på uautoriserte brukere eller enheter (f.eks. nettkriminelle) når du skal laste den opp til en nettside, sende den via e-post osv.
Asymmetrisk kryptering er også en del av det som er kjent som asymmetrisk nøkkelkryptografi og offentlig nøkkelkryptering fordi de to nøklene som brukes er matematisk relaterte, men unike (derav asymmetriske):
- Én nøkkel, som kalles en offentlig nøkkel fordi den er kjent av alle, krypterer vanligvis data.
- Den andre nøkkelen, passende kalt en privat nøkkel fordi den bare er kjent for nøkkelinnehaveren, dekrypterer data.
Her er en grunnleggende titt på hvordan denne prosessen skjer ved å bruke de to nøklene:
Asymmetrisk kryptering kan brukes til å kryptere data og/eller for digital signering av data. Prosessen vist i denne grafikken illustrerer hvordan asymmetrisk kryptografi brukes til å kryptere data.
Ærlig talt er asymmetrisk kryptering et begrep som høres mer komplekst og skremmende ut enn det faktisk er. Når du forstår det grunnleggende, vil det hele gi mye mer mening. Men hvis alt dette er litt vanskelig å forstå, la oss forestille oss at du har en spesiell safe som bruker to låser – en nøkkel låser safen og den andre åpner den. På samme måte med asymmetrisk kryptering kan alle som har tilgang til den offentlige nøkkelen bruke den til å kryptere data, men bare personen som har tilgang til den private nøkkelen kan dekryptere denne informasjonen.
Asymmetrisk kryptering er kjernen i et rammeverk kjent som offentlig nøkkelinfrastruktur . Jeg kommer ikke til å gå inn på detaljene om hvordan PKI fungerer. Så jeg vil bare gi deg en rask oppsummering før du går videre: PKI er grunnlaget for teknologier, retningslinjer og prosesser som gjør oss i stand til å sende sensitive data sikkert over internett. Den er avhengig av en kombinasjon av offentlige og private nøkkelalgoritmer, digitale sertifikater og retningslinjer.
Formål med å bruke asymmetrisk kryptering for datasikkerhet på nettet
Formålet med kryptering er å sikre at all sensitiv data du ønsker å dele med en bestemt person holdes hemmelig for alle bortsett fra den tiltenkte mottakeren. Dette er nødvendig fordi vi lever i en tid da vi deler og overfører data via flere Internett-leverandører og rutere, og mange mil med kabler under havet.
Historisk sett pleide du å møte noen ansikt til ansikt for å utveksle meldinger eller hemmelige nøkler for å låse opp fremtidig kommunikasjon. (Dette er kjent som nøkkeldistribusjon.) Denne prosessen krevde vanligvis å ta en hest, båt eller tog for å møte den andre parten for å gi dem en kopi av din hemmelige nøkkel. Men med internett har disse tidkrevende møtestedene som trengs for å utveksle kommunikasjon blitt erstattet med nesten umiddelbar digital kommunikasjon via internett.
Alt dette er fint, bortsett fra ett lite problem: Internett er utrolig usikkert. Uten en måte for brukere å sikkert utveksle nøkler for å kryptere dataene deres, kan hvem som helst avskjære kommunikasjonen under overføring. Asymmetrisk kryptering løser dette nøkkeldistribusjonsproblemet ved å skape en måte å sikkert utveksle nøkler (eller nøkkelrelaterte data) uten å måtte møte den andre parten personlig.
Utveksling av nøkler, eller nøkkeldata, krever mye matematisk fotarbeid
Kryptering fungerer ved å bruke en kompleks matematisk formel på de originale (lesbare) dataene dine for å konvertere dem til en lang, ufattelig datastreng. Så hvis du tok meldingen «Jeg kan ikke vente på sesong 4 av «Stranger Things!» og krypterte den med en 2048-biters RSA offentlig nøkkel (mer om RSA senere), ville du ende opp med en tullmelding som ser slik ut:
gb7Ty/ZcAz2PQF8wLW28ji3g1znuIjucFkgbSjCvvkfgRWStvz/f4atUiNeLbzoJi/agxRJPGuffzPyEBUf4lwZESWEN+UNQRsqhKrp5dYtVYY+wMaevf7rOBBN8O/lHRdJXUyHgF2nPvjkJsnU1AspAB8llYOyUFyL/0vhfi9DAmT0PoB4a8TKKUPVuZG6WN0L56fXtEtl0sx9QMFPHZNU4EPfE+0H6KB7joGw8livqHACSHYL3r63ePFWh/0qG1s2ZYjf6CWrBghih2HUCJx6IcprA0+UJE7AgJBBLMqOTP53xwwz9sFRFhHRHepWaboxCuUXHNtbiebeB2qfVwg==
Det er klart at dette ikke er noe som noe menneske kan tyde meldingen – det er en god ting når det gjelder å holde sensitiv informasjon hemmelig. Den gode nyheten er at datamaskiner lar oss bruke krypteringsnøkler i denne størrelsen – og større – for å kryptere data på en sikker måte slik at uautoriserte brukere ikke får tilgang til dem.
Det som gjør denne enda bedre nyheten er at selv om en skurk prøvde å bruke en moderne superdatamaskin for å prøve å knekke nøkkelen, ville de fortsatt være uheldige. Dette er fordi de rene databehandlingsressursene og tiden som kreves vil strekke seg over mye lengre enn hele deres levetid og levetiden til mange generasjoner av familiemedlemmer som følger – dvs. vi snakker millioner av år her.
Jeg snakker deg gjennom prosessen for hvordan asymmetrisk nøkkelkryptering fungerer senere i artikkelen. Men foreløpig vil jeg påpeke at asymmetrisk nøkkelkryptering ikke er det eneste verktøyet vi har i ermene når det kommer til PKI…
Asymmetrisk kryptering fungerer vanligvis hånd-i-hånd med symmetrisk kryptering
Teknisk sett kan asymmetrisk kryptering brukes alene som en måte å sende og motta data på. Men hvorfor vil du gjøre det? Det er bare for stort og ressurskrevende til å brukes til det formålet i stor skala. (Ikke bra for store bedrifter som håndterer mange koblinger til nettsidene og tjenestene deres.) Dette er grunnen til at asymmetrisk kryptering i mange tilfeller brukes i utgangspunktet som en måte å trygt utveksle sensitive data mellom to parter før de går over til å bruke symmetrisk kryptering for resten av utvekslingen.
Symmetrisk kryptering, eller det som noen ganger kalles symmetrisk nøkkelkryptering, bruker bare én nøkkel for både datakryptering og dekryptering. Dette betyr at det bare er en enkelt nøkkel som må holdes sikker – derfor er denne metoden for kryptering kjent som privat nøkkelkryptering eller hemmelig nøkkelkryptering.
Symmetrisk kryptering er raskere og antas også å være sikrere enn asymmetrisk kryptering når partene bruker mindre nøkkelstørrelser. (Når du bruker store nøkkelstørrelser, vil asymmetrisk kryptering være uendelig bedre en med symmetrisk kryptering, men gjør det på bekostning av hastighet.) Men hver kryptografisk tilnærming har sine bruksområder og applikasjoner.
Hvor du finner asymmetrisk nøkkelkryptering i bruk
Så nå som vi vet hva asymmetrisk nøkkelkryptering er og har en grunnleggende idé om hva den gjør, la oss utforske noen eksempler på hvordan du kan bruke den til å forbedre organisasjonens datasikkerhet:
- Nettstedsikkerhet: Asymmetrisk kryptering brukes som en del av SSL/TLS-håndtrykket. Håndtrykket er den praktisk talt øyeblikkelige prosessen der en server autentiserer seg til nettleseren som prøver å koble seg til den. De to partene utveksler data de kan bruke til nøkkelutveksling eller generering. (Etter det bruker de den delte nøkkelen for å etablere en sikker, symmetrisk kryptert kommunikasjonskanal.)
- E-postkryptering: Når du krypterer sensitive meldinger og vedlegg, bruker du mottakerens offentlige nøkkel til å signere alt digitalt, slik at bare den tilhørende private nøkkelen kan dekryptere den. Så, i tilfelle du lurer på, ja, begge parter (sender og mottaker) må ha e-postsigneringssertifikater for å utveksle krypterte meldinger.
- Digitale signaturer (dokumenter, programvare, e-poster osv.): Asymmetrisk kryptering er også integrert i digitale signaturer (må ikke forveksles med elektroniske signaturer). Disse kryptografiske signaturene brukes til å bekrefte identiteten til dokumentet, den kjørbare filen eller e-postskaperen.
- Blokkjede : En blokkjede er en lang, sekvensiell linje med datablokker som «lenker» (binder) tilbake kronologisk helt tilbake til den første datablokken. Hver ny blokk inneholder data fra den forrige blokken, som bidrar til å tjene som en historisk registrering. Har du noen gang hørt om Bitcoin? Denne kryptovalutaen er et eksempel på en digital valuta som er bygget på en blokkjede. Men blokkjeder har også andre bruksområder, for eksempel å tilby en vei med desentraliserte økonomiske transaksjoner, lagerstyring og forsyningskjedestyring.
5 Asymmetrisk kryptering og digitale signaturalgoritmer
Algoritmer er i utgangspunktet instruksjonene som datamaskiner bruker for å løse et problem. Asymmetriske nøkkelkrypteringsalgoritmer kommer i forskjellige «smaker» eller varianter som du kan velge mellom. Men du kan ikke ta en helhetlig tilnærming når det gjelder å velge de riktige asymmetriske krypteringsalgoritmene for å møte dine behov.
Selvfølgelig er det klare forskjeller mellom mange av disse asymmetriske nøkkelalgoritmene – hvordan de fungerer, hva deres spesifikke nøkkellengder og sikkerhetsstyrker er osv. Du må velge den riktige basert på dine behov eller brukstilfeller. La oss raskt utforske to av de vanligste krypteringsalgoritmene for offentlig nøkkel:
- Elliptic Curve Cryptography (ECC) — ECC – algoritmen bruker noe kjent som en elliptisk kurve (matematiske strukturer) for å generere offentlig-private nøkkelpar. Fordelen med ECC er forbedret ytelse på grunn av mindre nøkkelstørrelser og mengden av beregningsmessige overhead.
- RSA (Rivest Shamir Adleman) — RSA regnes som en av de mest sikre (og mest brukte) asymmetriske nøkkelkrypteringsalgoritmene. Det er praktisk talt uslåelig med moderne datamaskiner. RSA bruker to unike, store primtall for å generere sine offentlig-private nøkkelpar. RSA brukes også som en nøkkelutvekslingsalgoritme i TLS 1.2, men den er avviklet som en nøkkelutvekslingsalgoritme i TLS 1.3.
RSA er selvfølgelig ikke den eneste asymmetriske nøkkelutvekslingsalgoritmen. Her er noen andre bemerkelsesverdige algoritmer som også er verdt å nevne for sikker distribusjon av ekstern nøkkel:
- Diffie-Hellman — Denne nøkkelutvekslingsprotokollen eller, mer nøyaktig, en nøkkelgenereringsprotokoll (selv om begrepene ofte brukes om hverandre) er basert på eksponentielle beregninger. Det vi mener med det er i stedet for å utveksle nøkler, DH gjør det mulig for de to partene å utveksle offentlige verdier som brukes til å beregne sikre, symmetriske sesjonsnøkler. Når en flyktig nøkkel brukes, skaper den det som er kjent som perfekt fremadrettet hemmelighold fordi nøklene genereres for hver økt. Qualys SSL Labs rapporterer at bare 0,6 % av de undersøkte nettstedene på Alexas liste over verdens mest populære nettsteder ikke støtter videresendingshemmelighold (per 18. mai 2022).
- Digital Signature Standard (DSS) — Denne digitale signatur- og krypteringsalgoritmen er basert på elliptisk kurvekryptografi og er den nyere versjonen av digital signaturalgoritmen (DSA). Både DSS og DSA er imidlertid avviklet og skal ikke lenger brukes til ekstern nøkkelutveksling.
- Elliptic Curve Digital Signature Algorithm (ECDSA) — Denne nøkkelutvekslingsprotokollen, som bygger på den digitale signaturalgoritmen, bruker elliptiske kurver for å utlede sine små kryptografiske nøkler. Fordelen her er at fordi nøklene er mindre enn for eksempel RSA, bidrar det til å gjøre dem mer effektive.
En rask oversikt over hvordan asymmetrisk kryptering fungerer
Asymmetrisk kryptering mellom to parter fungerer ved å bruke en offentlig nøkkel for å kryptere data og en privat nøkkel for å dekryptere dem. Prosessen ser omtrent slik ut:
En oversikt over hvordan asymmetrisk kryptering fungerer for å holde sensitive data sikret mot nysgjerrige øyne. Avsenderen bruker mottakerens offentlige nøkkel for å kryptere sensitive data, og mottakeren bruker sin tilsvarende private nøkkel for å dekryptere den. Med SSL/TLS-kryptering for HTTPS-aktiverte nettsteder, innebærer denne prosessen utveksling av symmetriske nøkkeldata som kan brukes til å lage en sikker, kryptert kommunikasjonskanal.
Hvis du skulle bryte ned hvordan denne prosessen ser ut, la oss vurdere Stranger Things – eksemplet fra tidligere. La oss si at jeg vil sende deg følgende melding: «Jeg kan ikke vente på sesong 4 av «Stranger Things!» (Ikke sikker på hvorfor denne meldingen skulle være sensitiv nok til å kreve kryptering, men la oss bare kjøre med den.) I dette tilfellet vil jeg bruke den offentlige nøkkelen din (som ser omtrent slik ut når du bruker en 2048-bits RSA-nøkkel) for å dekryptere dataen:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvsMXSpjUnpcjhKlmcKs3JZXQPbRCZedVr3nd0TLlm70gyl4OWwSKiIhH754xf3yuj4a3qgnjHFBzd3SEJyd1ciyfZ7npRc4lMY38/54iB7bG2++i5cHAHcUXvB/+T/72HQquGc16heskGj+ZC9ePfNmWv5w8s8DtRjM3ykq3QDLoLi91XITzB9xGTRnOJN+AtGm0zMLrhOceXBvcAM/SNGLApbDoXEbMe3F/cx9mxklz+CLjQBO0hTPtijv/Ruv6h76msDaGQ3JFyNjPUXEVCoqBSHW9HiV5MPjtkwv+joKEQpgWIb4VOZ+MrZn9KarrZPDRJaHGzoYLl9x1EH8EbwIDAQAB
Når du bruker den på meldingen, ender du opp med datastrengen vi viste deg tidligere:
gb7Ty/ZcAz2PQF8wLW28ji3g1znuIjucFkgbSjCvvkfgRWStvz/f4atUiNeLbzoJi/agxRJPGuffzPyEBUf4lwZESWEN+UNQRsqhKrp5dYtVYY+wMaevf7rOBBN8O/lHRdJXUyHgF2nPvjkJsnU1AspAB8llYOyUFyL/0vhfi9DAmT0PoB4a8TKKUPVuZG6WN0L56fXtEtl0sx9QMFPHZNU4EPfE+0H6KB7joGw8livqHACSHYL3r63ePFWh/0qG1s2ZYjf6CWrBghih2HUCJx6IcprA0+UJE7AgJBBLMqOTP53xwwz9sFRFhHRHepWaboxCuUXHNtbiebeB2qfVwg==
Selvfølgelig vil du ikke vite hva jeg sier med meldingen fortsatt kryptert. Du vil da bruke din private nøkkel, som er betydelig lengre for å dekryptere datastrengen:
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+wxdKmNSelyOEqWZwqzclldA9tEJl51Wved3RMuWbvSDKXg5bBIqIiEfvnjF/fK6PhreqCeMcUHN3dIQnJ3VyLJ9nuelFziUxjfz/niIHtsbb76LlwcAdxRe8H/5P/vYdCq4ZzXqF6yQaP5kL14982Za/nDyzwO1GMzfKSrdAMuguL3VchPMH3EZNGc4k34C0abTMwuuE5x5cG9wAz9I0YsClsOhcRsx7cX9zH2bGSXP4IuNAE7SFM+2KO/9G6/qHvqawNoZDckXI2M9RcRUKioFIdb0eJXkw+O2TC/6OgoRCmBYhvhU5n4ytmf0pqutk8NElocbOhguX3HUQfwRvAgMBAAECggEBAKXo+Y3opCuWWc7conrlfp4S0T2JVKJac9ydSj3TXX15HVbEPQoORgp/NMmDtZsirpOn4H9kAAG1OuevD+0Z1XzKsI0/VVJf+1tBGcScHQ7Geef5YJ0hSNzbeUwmK0IaBqW1jzxjyOdGXmzx2UNCZMp6WDEoSmcwKW1/yEsJdp2+51lIAglNeTo1axmRHAcbP6M/gOhCytdC3Vb6e51XKuEQzwT/+Lxpin+EMfRhjCMyws308MAROEBaOLW1HaijMGfVES5jk8HNaLkMFQwxxP4TahKIuq5ArixwpzDvD88fvkwDeWswGWLsY9R6EUOKty37jwEaXQcXQD9TlUxZ6ukCgYEA7gFNsp2PRMkZmPVRPjs/4Um/4WCPZ7UfLULbWGwBKtr5BZ+/Uiq+qYbBlHzODzczIMEH+9mxWsZoBGkRe/mYJaHu0fgGLSe71LZDMeC4cCktzchc/OPVe8LGRJ2imvP1A36Mi6O2fh2szUEhMzXJEYwlXGb+lG97nXqYD+bfJ10CgYEAzS9goBALH88s74EhJWHfXnYNfeQqVrSImSMZBhTcIGueIDH8SUKaHHTlvCtNzhcUdzSSuWwiGLRA2JagxHHw+AK5iTkamuG5guodOHl4nXq2Isprcsee7ocbgkt6Omd1CE9e9ehtJ3NghDKMQ6xfKgbqyrycOcVY0wpWSku/mjsCgYBqeprQNj1KgM266MWYGdnSaLQ3mIOP2jBAh5CqVmePTLfsFDP8BrOWFHu2er+VfxSYqsNvoUz/V5RhpL/1vwyaiX/W4CejPAuEdqZJQkhBpaqgTeuMGEICRHl/aSa+PDZ5gbxPHMcgVRZiHalEx+NUvmZYmJt8vQOIyLgPJTLg4QKBgGmTHBufxamLVyqw/ZYXgvA+u/hvwx0z7SkmdwS7DPydgxI7xf0ICPXlbCPjADivhXdElM5VhkHB1a/b6ULLAdsKw96IhFj3FhX3UiuxzM7yye6iyqCXd/5xhEUJgw20F/K7rDfJbQikhB/hRmy3r4uXXY4NeDD9ixOjuPyndyHrAoGAcnqQM09aY1S/OlwWGVzUZEe0MSDxypR80ezTQ8up9G3C/wYIZN2YGbGUbxS/KcoyonO8LuKopf8Gib7IkagXMWTiX9xgV+vU80E/KzMPaVZtnry5ffpeBXnYCs9UEeBvkoGQwyXO9Tfy/k2AQEpBLZKbP2968c0o+QPHB25C9Uk=
Dette vil da dekryptere dataene og tillate deg å lese den originale
Siste tanker om asymmetrisk kryptering
Greit, vi har gønnet på nok om asymmetrisk kryptografi og dens tilsvarende krypterings- og nøkkelutvekslingsalgoritmer. Forhåpentligvis vil du forlate denne artikkelen med større kunnskap om asymmetriske kryptosystemer enn du startet med.
Asymmetrisk kryptering og nøkkelutvekslingsalgoritmer er hjørnesteinene i moderne offentlig nøkkelinfrastruktur. Uten dem ville det ikke vært mulig å eksternt utveksle sensitiv eller på annen måte hemmelig informasjon via offentlige kanaler som internett. Vi vil fortsatt bruke hemmelige møter ansikt til ansikt som stereotype spioner fra Hollywood-filmer.
Å forstå hva asymmetrisk kryptering er og hvordan alt fungerer, er det første trinnet for å bidra til å styrke organisasjonens cyberforsvar. Når du innser viktigheten av å administrere sertifikatene dine og beskytte kryptografiske nøkler, vil det hjelpe deg å unngå mange av fallgruvene som hjelper selskaper med å lage lite flatterende overskrifter på grunn av datainnbrudd og andre sikkerhetshendelser.