Lær hva kryptering betyr i konteksten av data og cybersikkerhet. Denne artikkelen gir en grundig innføring i definisjonen av kryptering og forklarer hvordan de tre ulike typene kryptering fungerer.
Hva er kryptering?
Kryptering er konvertering av data til en form som ikke lett kan forstås av uvedkommende. Prosessen med å konvertere krypterte data tilbake til sin opprinnelige form kalles dekryptering.
Kryptering sikrer at sensitiv informasjon ikke kan leses, brukes eller misbrukes av parter som ikke skal ha tilgang. Krypteringsprosessen bruker spesielle algoritmer kalt chiffer og matematiske variabler kalt krypteringsnøkler for å omdanne lesbare klartekstdata til chiffertekst.
Krypteringsteksten, som ser ut som en lang sekvens av tilfeldige bokstaver og tall, er meningsløs hvis man ikke vet hvilken kode og hvilken nøkkel som ble brukt til å kryptere dataene.
Techopedia forklarer krypteringsbetydningen
Begrepet kryptering kommer fra det greske ordet «kryptos», som betyr «skjult» eller «hemmelig». Krypteringsdefinisjonens etymologi gjenspeiler det grunnleggende formålet med kryptering: å skjule informasjon, skjule dens verdi og holde dens betydning hemmelig.
Hvordan fungerer kryptering?
Kryptering fungerer ved at lesbare data (klartekst) omdannes matematisk til et uleselig format (chiffertekst).
Alle krypteringsopplegg krever to ting: en kompleks algoritme (chiffer) og en hemmelig nøkkel som brukes til å tilpasse algoritmen. Kombinasjonen av de to tingene er det som gjør en krypteringsprosess sterk.
For å knekke krypteringen må en ondsinnet aktør reversere krypteringsprosessen og finne ut hvilken algoritme som ble brukt til å kryptere dataene, og hvilken hemmelig nøkkel som ble brukt til å tilpasse algoritmen.
Det er to viktige prinsipper som ligger til grunn for hvordan krypteringssystemer fungerer: substitusjonschiffer og permutasjonschiffer.
- Substitusjonschiffer: Erstatt tegn i klarteksten med andre tegn i henhold til et definert mappingsystem. Et klassisk eksempel er Caesar-chifferet, der hver bokstav flyttes til et visst antall posisjoner i alfabetet. I en mer kompleks substitusjonskryptering, for eksempel monoalfabetisk kryptering, erstattes hver bokstav i klarteksten med en unik bokstav fra en kryptert versjon av alfabetet. Dette gjør det vanskeligere å knekke koden uten å kjenne til substitusjonsregelen.
- Permutasjonsalgoritmer: Fungerer ved å omorganisere elementene i klarteksten i henhold til en bestemt regel eller et bestemt sett med regler, som bestemmes av krypteringsnøkkelen. Denne prosessen, som også kalles transponering, skaper en chiffertekst der den opprinnelige rekkefølgen i klarteksten er kryptert. Styrken til en permutasjonsalgoritme ligger i at det er vanskelig å gjette de opprinnelige posisjonene til elementene uten å vite hvilken nøkkel som ble brukt under transponeringen.
Hva er en krypteringsnøkkel?
En krypteringsnøkkel er en streng med binære sifre (bits) som bestemmer resultatet av en kryptografisk algoritme. Styrken til et krypteringsopplegg er i stor grad avhengig av nøkkelhemmeligheten og -integriteten.
Retningslinjer og prosedyrer for nøkkeladministrasjon sikrer at hemmelige nøkler byttes ut eller oppdateres etter behov. Beste praksis for nøkkeladministrasjon gjør det mulig å legge til nye nøkler, nye brukere og nye krypteringsscenarioer uten at det går på bekostning av sikkerheten.
Effektiv nøkkeladministrasjon innebærer ikke bare å beskytte nøklene mot uautorisert tilgang, men også å sørge for at autoriserte brukere har tilgang til riktig nøkkel når det er behov for det. Hvis en krypteringsnøkkel kommer på avveie, er det ingen måte å gjenopprette den på, og resultatet kan bli permanent tap av data.
Etter hvert som organisasjoner vokser og krypteringsbehovene deres utvikler seg, må et robust nøkkelhåndteringssystem være skalerbart og kunne tilpasses.
Mange bransjer er underlagt forskrifter som krever spesifikke standarder for krypteringsnøkler. Når nøkkeladministrasjon er inkludert i organisasjonens sikkerhetspolicy, kan det hjelpe de ansatte med å overholde regelverket og hjelpe organisasjonen med å unngå økonomiske straffer.
Hva er en krypteringsalgoritme?
En krypteringsalgoritme er en matematisk formel som brukes til å omdanne klartekst til chiffertekst. Formålet med krypteringsalgoritmer er å beskytte data ved å omdanne dem til et format som bare kan leses av de partene som har den riktige hemmelige nøkkelen.
Krypteringsalgoritmer fungerer sammen med et par hemmelige nøkler: en krypteringsnøkkel som brukes til å kryptere dataene, og en dekrypteringsnøkkel som brukes til å reversere prosessen.
Typer krypteringsalgoritmer
Valget av krypteringsalgoritme avhenger av sensitiviteten til dataene som skal beskyttes, samt krav til ytelse og samsvar med standarder eller forskrifter.
Her er en liste over spesifikke krypteringsalgoritmer som er mye i bruk i dag:
Typer krypteringsordninger
Krypteringssystemer kan kategoriseres på tre forskjellige måter:
- Etter hvilken type nøkkel de bruker.
- Etter driftsmodus.
- Etter det underliggende prinsippet algoritmen er basert på.
Nøkler
Krypteringssystemer kan bruke symmetriske nøkler, asymmetriske nøkler eller (som oftest) en kombinasjon av symmetriske og asymmetriske nøkler.
Symmetriske krypteringsnøkler bruker samme nøkkel til å kryptere og dekryptere en melding. Denne typen kryptering er rask, effektiv og egner seg godt til kryptering av dokumenter. Den brukes imidlertid ikke ofte til svært sensitiv kommunikasjon, fordi begge parter må ha tilgang til den samme hemmelige nøkkelen.
Asymmetrisk kryptering (også kalt offentlig nøkkelkryptografi) fungerer ved at det genereres par av matematisk relaterte nøkler. Den ene nøkkelen brukes til å kryptere en melding, og den andre nøkkelen brukes til å dekryptere meldingen. Avsenderen krypterer en melding ved hjelp av mottakerens offentlig tilgjengelige nøkkel. Meldingen dekrypteres deretter med mottakerens private nøkkel.
Asymmetrisk kryptering sammenlignes ofte med en låst postkasse som har en luke for å motta meldinger. Alle som kjenner adressen til postkassen (den offentlige nøkkelen), kan sende en melding, men det er bare eieren av postkassen som har den private nøkkelen til å åpne postkassen og lese meldingen.
Homomorfisk kryptering er en form for asymmetrisk kryptering som gjør det mulig å utføre beregninger på krypterte data. Når de dekrypteres, skal resultatet av beregningene stemme overens med resultatet av operasjonene som om de hadde blitt utført på ren tekst.
Homomorfisk kryptering, som primært bruker asymmetriske nøkler, er i en tidlig fase av å bli tatt i bruk til daglig bruk. Utviklingen drives i stor grad av behovet for å beskytte personlig identifiserbar informasjon (PII) i nettskyen.
Ende-til-ende-kryptering (E2EE) hindrer tredjeparter i å lese data mens de overføres fra ett system eller en enhet til en annen. Denne typen kryptering bruker vanligvis en kombinasjon av asymmetriske og symmetriske krypteringsnøkler. I starten brukes asymmetrisk kryptering til å utveksle en symmetrisk nøkkel mellom de kommuniserende partene på en sikker måte. Når den symmetriske nøkkelen er delt, brukes den til å kryptere og dekryptere meldinger. E2EE gir sterk databeskyttelse, men det kan være vanskelig å implementere den riktig. Feil håndtering av E2EE-krypteringsnøkler kan gjøre dataene utilgjengelige selv for legitime brukere.
Postkvantekryptering er et viktig område innen krypteringsforskning, fordi kvantedatamaskiner har potensial til å knekke mange av de kryptografiske algoritmene som brukes i dag.
Utvikling og implementering av kvanteresistente algoritmer er et proaktivt tiltak for å sikre IT-infrastrukturen mot fremtidige trusler . Hovedutfordringene er å skape og standardisere nye algoritmer som ikke kan brytes av en kvantedatamaskin, og å implementere dem uten å forstyrre eksisterende sikkerhetsrammeverk og infrastrukturer.
Noen forskere mener at eksisterende symmetriske krypteringsalgoritmer (som AES-256) kan være tilstrekkelig motstandsdyktige mot kvanteangrep ved å øke nøkkelstørrelsen. Andre forskere tror at krypteringsordninger etter kvantekryptering vil bruke en kombinasjon av symmetriske algoritmer for massekryptering og asymmetriske algoritmer for nøkkelutveksling og autentisering på Internett.
Operasjonsmodi for kryptering
Krypteringsoperasjonsmodi beskriver hvordan en krypteringsalgoritme håndterer data. Blokkchiffre og strømchiffre er to vanlige typer operasjonsmodi.
- Blokkchiffre krypterer datablokker av fast størrelse. Blokkchiffre er generelt å foretrekke for sikker kryptering av data som lagres eller overføres i kjente, faste størrelser. Hvis klarteksten ikke passer perfekt inn i en blokk, legges det til utfylling for å fylle ut blokken. Blokkchiffre har ikke i seg selv mekanismer for å sikre dataintegritet. Dette problemet løses ofte ved å kombinere blokkchiffre med en modus som krypteringsblokk-kjeding.
- Stream ciphers krypterer klartekst én bit eller byte om gangen. De fungerer ved å generere en tilsynelatende tilfeldig strøm av biter, kjent som en nøkkelstrøm, som deretter kombineres med klartekstbitene ved hjelp av en operasjon som XOR. Den kombinerte prosessen produserer krypteringstekst. Hemmeligheten bak denne typen operasjonsmodus ligger i nøkkelstrømmen; den må være så tilfeldig som mulig og bare brukes én gang. Stream cipher-operasjonsmoduser er nyttige når den totale datastørrelsen er ukjent, for eksempel i sanntidskommunikasjonsscenarioer.
Underliggende prinsipper for kryptering
De underliggende prinsippene for kryptering refererer til de grunnleggende matematiske og logiske konseptene som krypteringsalgoritmene bygger på. Dagens krypteringsordninger kombinerer ofte flere prinsipper for å sikre robusthet.
Substitusjons-permutasjonsnettverk er for eksempel et strukturelt designprinsipp for blokkchiffre. Hver runde begynner med et substitusjonslag og avsluttes med et permutasjonslag. AES og mange andre krypteringsmetoder bygger på SPN-strukturen.
I tillegg til substitusjon og permutasjon er dette noen av de andre viktige krypteringsprinsippene som ligger til grunn:
Skjuler hvordan nøkkelen påvirker krypteringsprosessen, noe som gjør det vanskeligere å utlede nøkkelen fra den krypterte teksten.
Sprer påvirkningen fra hvert enkelt tegn (eller bit) i klarteksten over en stor del av krypteringsteksten. Målet er å sikre at enhver endring i klarteksten, uansett hvor liten den er, fører til betydelige og omfattende endringer i krypteringsteksten.
Teknisk sett er dette en strukturell design for blokkchiffer snarere enn et prinsipp i seg selv. Feistel-nettverk deler data i to deler, og kjører dem gjennom flere runder med behandling med en nøkkel, der halvdelene blandes og byttes om i hver runde. Mange mye brukte blokkchiffre, inkludert trippel DES, bygger på denne strukturen.
Transformerer data til en hash med fast størrelse. Hashing utfyller kryptering ved å tilby integritetskontroller, sikker passordhåndtering og muliggjøre digitale signaturer.
Slik krypterer du e-post
Det er viktig å huske at e-post ikke krypteres automatisk som standard.
De fleste e-postleverandører bruker TLS-protokollen til å kryptere e-post under transport, men protokollen krypterer ikke data som ligger lagret på e-postservere. Det betyr at hvis en angriper får tilgang til en leverandørs server, vil vedkommende kunne få tilgang til ukrypterte e-poster som er lagret der.
Noen e-postleverandører, som ProtonMail, tilbyr ende-til-ende-kryptering, men det krever at både avsender og mottaker bruker samme tjeneste og innstillinger.
Hvorfor trenger du kryptering?
Kryptering er et viktig verktøy for å sikre personvernet og opprettholde påliteligheten til digital kommunikasjon og transaksjoner.
Kryptering er avgjørende for å beskytte digital informasjon av flere viktige grunner:
Når skal man bruke kryptering?
Kryptering bør brukes i alle situasjoner der sensitiv informasjon må beskyttes mot uautorisert tilgang eller eksponering. Kryptering er for eksempel en grunnleggende komponent i HTTPS, som er en sikker versjon av hypertekstoverføringsprotokollen (HTTP) som brukes til nettkommunikasjon.
HTTPS bruker SSL/TLS-protokoller for å opprette en sikker, kryptert forbindelse mellom en nettleser og en server. Dette sikrer at alle data som overføres via tilkoblingen, inkludert personlig informasjon, påloggingsinformasjon og betalingsopplysninger, krypteres og beskyttes mot avlytting.
Slik implementerer du kryptering
Organisasjoner kan bruke en rekke ulike metoder for å kryptere data. Hvilke strategier og metoder de kan bruke, avhenger av hvilket beskyttelsesnivå de ønsker å oppnå, hvilken type data de ønsker å kryptere, hvilke potensielle risikoer eller trusler de står overfor, og hvor mye databehandling og økonomiske ressurser de er villige til å investere.
Hvordan knekke kryptering
Krypteringsbrudd, som også kan kalles kryptoanalyse, er et forsøk på å dechiffrere krypterte data uten krypteringsnøkkelen. Det finnes flere teoretiske og praktiske tilnærminger til å knekke kryptering. De inkluderer blant annet:
Denne metoden krever at man prøver alle mulige nøkler til man finner den riktige. Hvor nyttig denne metoden er, avhenger av nøkkellengden og krypteringsalgoritmens styrke. Komplekse algoritmer med lengre nøkler er vanskeligere å knekke på denne måten.
Denne tilnærmingen leter etter svakheter i krypteringsalgoritmer som kan utnyttes. Analytiske angrep kan bruke maskinlæring (ML) til å bistå med statistisk analyse av chiffertekster.
Denne tilnærmingen utnytter informasjon om den fysiske implementeringen av systemet for å prøve å finne riktig nøkkel. Den baserer seg på informasjon om timing, strømforbruk, elektromagnetiske lekkasjer eller til og med lyder.
Denne tilnærmingen går ut på å avlytte kommunikasjon og plassere angriperen mellom to parter. MITM-angrep kan brukes til å utnytte svakheter i krypteringsimplementeringen eller nøkkelutvekslingsprosessen.
Fordeler og ulemper med kryptering
Kryptering sørger for datasikkerhet og personvern, men som all annen teknologi har den fordeler og ulemper. Ved å forstå dem kan du ta informerte beslutninger om når og hvordan du skal bruke kryptering.
- Forbedret sikkerhet
- Personvern
- Overholdelse av lover og regler
- Sikker kommunikasjon
- Tillit og troverdighet
- Beskyttelse mot datainnbrudd
- Overhead på ytelse
- Kompleks nøkkelhåndtering
- Utfordringer med datagjenoppretting
- Kompleksitet ved første gangs oppsett
- Problemer med interoperabilitet
- Kostnader
Konklusjon
Krypteringsalgoritmer forvrenger informasjon og gjør den meningsløs uten riktig nøkkel. Det er viktig å forstå krypteringens betydning, slik at du kan ta informerte valg om hvilken algoritme du skal bruke når du skal beskytte digital informasjon mot uautorisert tilgang.
Ofte stilte spørsmål
Hva er kryptering i enkle ordelag?
Hva er de to typene kryptering?
Hva er et eksempel på kryptering?
Referanser
- Monoalphabetic Substitution Ciphers (MASCs) (Nku)
- 16.3: Transposition Ciphers – Mathematics LibreTexts (Math.libretexts)
- OPERATIONAL BEST PRACTICES FOR ENCRYPTION KEY MANAGEMENT (Cisa)
- plaintext – Glossary | CSRC (Csrc.nist)
- ciphertext – Glossary | CSRC (Csrc.nist)
- Chacha20 Algorithms (Xilinx.github)
- Poly1305 Algorithm (Xilinx.github)
- Schneier on Security: Twofish (Schneier)
- Serpent home page (Cl.cam.ac)