Articles

symmetriske krypteringsalgoritmer: Live Long & Encrypt

meget gerne tribbles i Star Trek, symmetrisk kryptering er overalt. Vi undersøger symmetriske nøglealgoritmer og fører dig til steder, hvor ingen ikke-IT-person er gået før

symmetriske krypteringsalgoritmer er de underliggende processer, der muliggør sikker kommunikation. Hvis du skulle sætte det ind i Star Trek-relaterede termer, er symmetriske algoritmer warparpdrevet til dit stjerneskibs fremdrivningssystem., De er integreret i informationssikkerhed og er det, der hjælper din virksomhed med at komme videre med datakryptering sikkert og ved hurtigere end lyshastigheder.

(Ja, Jeg ved, jeg flyver virkelig mit nørdeflag højt i dag. Mens fascinerende, symmetriske nøglealgoritmer ikke er nøjagtigt” lette ” eller lette at læse — så jeg er nødt til at have det sjovt, når jeg skriver. For fanden, Jim, jeg er cybersikkerhedsforfatter, ikke kryptograf.)

sørg for at opdatere din kaffe (eller earl grey te, hvis det er mere din hastighed)., Vi er ved at tage et dybt dykke ind i at udforske, hvad symmetriske krypteringsalgoritmer er, hvorfor de er vigtige, og hvad de mest almindelige symmetriske krypteringsalgoritmetyper er.

gør det sådan.

lad os hash det ud.

Redaktørens Note: Denne artikel er den første i en række artikler om symmetrisk kryptering., Sørg for at tjekke de relaterede artikler nedenfor:

  • Symmetrisk Kryptering 101: Definition, Hvordan Det Virker & Når Det er Brugt
  • Asymmetrisk vs Symmetrisk Kryptering: Definitioner & Forskellene
  • Block Cipher vs Stream Cipher: Hvad De Er & Hvordan De Arbejde

Hvad Er en Symmetrisk Algoritme, og Hvordan Fungerer Det?

symmetriske algoritmer er de kryptografiske funktioner, der er centrale for symmetrisk nøglekryptering., De er et sæt instruktioner eller trin, som computere følger for at udføre specifikke opgaver i forbindelse med kryptering og dekryptering af data.

har du lyst til at have brug for en universel oversætter? Okay, lad os nedbryde det lidt mere.

symmetriske krypteringsalgoritmer bruges (kombineret med en krypteringsnøgle) til at gøre to vigtigste ting:

  1. Krypter. Konverter læsbar tekst (klartekst) til ulæselig, krypteret tekst (cipherte .t).
  2. dekryptere. Konverter cipherte .t tilbage til klartekst.

symmetriske krypteringsalgoritmer bruger den samme krypteringsnøgle til både kryptering og dekryptering., (I modsætning til asymmetriske krypteringsalgoritmer, der bruger to forskellige nøgler.)

krypteringsalgoritmer er generelt baseret på matematik og kan variere fra meget enkle til meget komplekse processer afhængigt af deres design. I tilfælde af symmetriske krypteringsalgoritmer er de parret med en enkelt nøgle til at konvertere læsbare (klartekst) data til uforståelig gibberish (cipherte .t). De bruger derefter den samme nøgle til derefter dekryptere cipherte .t tilbage i klartekst. Og alt dette gøres på en måde, der sikrer data fortrolighed og privatliv. Ret sejt, ikke?,

symmetriske krypteringsalgoritmer er faktisk kendt under et par forskellige navne:

  • symmetriske nøglealgoritmer,
  • symmetriske cifre,
  • hemmelige nøglealgoritmer og
  • Bulk-cifre. (Vi snakker mere om bulk ciphers lidt senere.)

generelt er formålet med kryptering at gøre det, så kun en person med nøglen kan dekryptere og læse den hemmelige besked., I tilfælde af at du har brug for en hurtig påmindelse om, hvor symmetrisk kryptering virker, her er et hurtigt overblik:

Dette eksempel besked blev krypteret med AES-128 symmetrisk krypteringsalgoritme. Målet her er bare at vise dig, hvordan en symmetrisk kryptografi fungerer.

i denne grafik ovenfor, flytter fra venstre mod højre, vil du se, at du starter med klartekst, læsbare data. Når den symmetriske krypteringsalgoritme og nøgle anvendes på disse data, det bliver ulæselig cipherte .t., Måden at dekryptere denne meddelelse for at dechiffrere dens betydning er at bruge en dekrypteringsnøgle. I tilfælde af symmetrisk kryptering er dekrypteringsnøglen identisk med den nøgle, der blev brugt til at kryptere dataene. Grundlæggende bruger du den samme nøgle to gange.

Hvad gør symmetriske krypteringsalgoritmer faktisk?

i en nøddeskal er en symmetrisk algoritme et sæt instruktioner i kryptografi, der bruger en nøgle til at kryptere og dekryptere data. Disse krypteringsalgoritmer og nøgler er lette i den forstand, at de er designet til hastighed i behandlingen af store blokke eller strømme af data., (Dette er grunden til symmetriske krypteringsalgoritmer er kendt som bulk ciphers.)

Asymmetriske nøglealgoritmer og nøgler er på den anden side ressourcespisere. Nøglerne er massive og er dyre at bruge i skala. Hvad jeg mener er, at de suger meget af dine CPU-behandlingsressourcer og tid, batteristrøm og båndbredde til at udføre.

husk, hvordan vi beskrev symmetriske algoritmer som værende en nøglekomponent i dit warparpdrev? Lad os fortsætte med den analogi., Så hvis du skulle tænke over, hvilke asymmetriske krypteringsalgoritmer der er, ville de være som svarende til thrusterne i fremdrivningssystemet. Jo da, de får dig der til sidst, men de er ikke egnede til hurtig kryptering i skala.

de er dog gode til at kryptere mindre batches af data i offentlige kanaler. Og asymmetriske nøgleudvekslinger (som vi snart vil tale mere om) er en fantastisk måde at distribuere nøgler på i de usikre offentlige kanaler.dette er grunden til, at folk ofte henvender sig til symmetrisk kryptering til kodning af store mængder data.,

Hvad bestemmer styrken af en symmetrisk krypteringsalgoritme?

som du snart vil opdage, oprettes ikke alle symmetriske algoritmer lige. De varierer med hensyn til styrke — men hvad der præcist er betyder styrke i kryptografi? Det korte svar er, at kryptografisk styrke handler om, hvor svært det er for en hacker at bryde krypteringen for at få adgang til dataene. Det længere svar kan naturligvis variere afhængigt af den type algoritme, du vurderer., Men generelt, kryptografiske styrke typisk koges ned til et par centrale træk:

  • længden, tilfældighed og uforudsigelighed af den symmetriske nøgle,
  • algoritmen s evne til at modstå eller blive resistente over for kendte angreb, og
  • manglende tilbage døre eller andre tilsigtede sårbarheder.

symmetrisk kryptering kan være lidt af en balancegang, fordi du har brug for algoritmer og nøgler, der er beregningsmæssigt hårdt endnu praktisk nok til at bruge med acceptabel ydeevne.,

symmetriske krypteringsalgoritmer kan ikke stå på egen hånd i offentlige kanaler

selvom symmetriske krypteringsalgoritmer måske lyder som de mest logiske værktøjer til alle typer online datakryptering, er det ikke helt så enkelt. Ligesom den altid logiske Spock og den karismatiske Kaptajn Kirk har symmetrisk kryptering også svagheder — især når de bruges alene på offentlige kanaler., Disse svagheder kommer i form af key distribution og centrale spørgsmål:

  • Du har brug for en sikker forbindelse til at distribuere symmetriske nøgler, og
  • Forsøger at holde op med alle, der har en kopi af den nøgle kan være en smerte, hvis du gav det ud til en masse mennesker.

Når du bruger symmetrisk kryptering, ideelt set, du og den person, du kommunikerer med sortere din hemmelige nøgle i god tid (før du bruger det for enhver udveksling af oplysninger). Dette betyder, at for at dele en symmetrisk nøgle sikkert med nogen, skal du møde dem personligt for at give dem det., Men hvad nu hvis du er over hele landet fra den anden part? Eller værre, hvad hvis du er på den anden side af verden fra dem?selvom dette ikke ville være et problem i Star Trek-universet, hvor du simpelthen kunne transportere fra et sted til et andet inden for få sekunder, er dette ikke muligt i vores 21.århundrede transporterløse verden. Her udveksler folk information med webebservere over hele verden hvert øjeblik af hver dag. Det betyder, at folk ikke kan mødes før tid til at uddele eller modtage nøgler. Så vi er nødt til at stole på andre midler til sikkert at udveksle nøgler med andre parter.,

det er her asymmetriske algoritmer — eller mere specifikt nøgleudvekslingsprotokoller — kommer i spil. Asymmetriske nøgleudvekslinger gør det muligt at udveksle symmetriske nøgler i ellers usikre offentlige kanaler. Hvad du måske eller måske ikke er klar over, er, at du faktisk bruger denne kombination af symmetriske og asymmetriske krypteringsteknikker lige nu.

Asymmetriske teknikker gør sikker symmetrisk kryptering mulig Over Internettet

lad os betragte din forbindelse til vores hjemmeside som et eksempel. Se det hængelåsikon i din bro ?ser?, Det betyder, at du har forbindelse til et sikkert websiteebsted.

Så, når du først er tilsluttet til TheSSLstore.com din browser har haft til at udføre en proces med vores server, der er kendt som en TLS handshake. Dette håndtryk er en måde for serveren at bevise over for din bro .ser, at det er legitimt og ikke er en bedrager. (Du ved, fordi cyberkriminelle elsker at foregive at være andre mennesker til at narre folk i forbindelse med dem. De er lidt ligesom Romulanere på den måde-altid engagere sig i kneb.,) Håndtryksprocessen bruger asymmetrisk kryptering og asymmetriske nøgleudvekslingsprocesser til at gøre dette.

  • den asymmetriske krypteringsproces verificerer de digitale signaturer.
  • den asymmetriske nøgleudvekslingsproces krypterer den pre-master hemmelighed, som din bro .ser og webebserveren vil bruge til at oprette en symmetrisk sessionsnøgle.

selvfølgelig er der et par versioner af håndtrykket — TLS 1.0, TLS 1.2, TLS 1.3 — og der er specifikke forskelle i, hvordan de fungerer. (For eksempel skubber Internet Engineering Task Force for streng brug af fremadskridende hemmeligholdelse kun ciphers i TLS 1.,3-men det er et emne for en anden gang.) Ved bare, at kun TLS 1.2-håndtrykket skal være det minimum, der bruges. Fra oktober 2020 rapporterer Qualualys SSL Labs, at 99% af sitesebstederne understøtter TLS 1.2-protokollen og 39.8% understøtter TLS 1.3-protokollen.

vi kommer ikke ind på detaljerne i, hvordan TLS-håndtrykket fungerer her, men ved, at det indebærer brug af chiffersuiter., Disse grupper af cifre, der hjælper med at gøre det muligt at etablere en sikker HTTPS-forbindelse ved at fastslå, hvilken af hver af følgende for at bruge:

  • Et-protokollen (TLS)
  • En asymmetrisk nøgle udveksling algoritme (som Diffie-Hellman -)
  • bulk-kryptering cipher
  • En digital signatur
  • En hash-funktion (såsom SHA2-2)
  • En message authentication code (MAC) funktion

Du kan læse mere om forløbet i denne explainer blog om, hvordan TLS handshake værker. Men for nu, lad os forblive med emnet ved hånden af symmetriske krypteringsalgoritmer.,

De to typer symmetriske algoritmer (Ciphers)

under den symmetriske kryptering, der finder sted, når du opretter forbindelse sikkert til et websiteebsted, bruger du en bulk-cipher for at få det til at ske. Der er to underkategorier af bulk ciphers: blok ciphers og stream ciphers.

Block Ciphers

i denne type cipher opdeles klartekstdata i grupper med fast længde af bits kendt som blokke (som typisk er forbundet via en proces kendt som kæde). Hver blok bliver derefter krypteret som en enhed, hvilket gør denne proces lidt langsom., Og hvis der ikke er nok data til helt at fylde en blok, bruges” polstring “(typisk et aftalt antal 0 ‘ er) derefter til at sikre, at blokkene opfylder kravene til fast længde.

den ideelle blokcipher har en massiv nøglelængde, der ikke er praktisk, så mange moderne cifre skal skalere nøglestørrelser for at gøre dem anvendelige. Men lige som en hurtig note: i modsætning til med asymmetrisk kryptering bestemmer symmetriske krypteringsnøglestørrelser ikke størrelsen på datablokkene.,

størstedelen af moderne symmetriske krypteringsalgoritmer falder inden for block cipher camp, og disse typer ciphers har bredere anvendelsesmuligheder og anvendelsesmuligheder. Så vi vil primært fokusere på dem her. Men hvis du spekulerer på, hvad de mest populære eller almindelige stream ciphers er, skal du ikke bekymre dig, vi har dig dækket.

Stream Ciphers

Med denne type cipher krypterer den klartekstdata en bit ad gangen. Som sådan bliver data behandlet i en strøm snarere end i bidder som i blokcifre. Dette gør processen mindre ressourceintensiv og hurtigere at opnå.,

nu kommer vi ikke ind på alle detaljerne i blokcifre og streame ciphers — det er et helt andet emne. Men den gode nyhed er, at vi allerede har skrevet en artikel, der dækker blok ciphers vs stream ciphers. Så sørg for at tjekke den ene ud for et mere dybtgående kig på, hvad de er, og hvordan de fungerer.

Okay, nu er det her, hvor tingene begynder at blive spændende (eller mere kompliceret, afhængigt af dit perspektiv). Med delt nøglekryptering er der flere velkendte symmetriske nøglealgoritmer at kende., Lad os bryde dem alle ned for at forstå, hvad de er, og hvordan de fungerer.

symmetrisk Algoritmeliste: de 3 mest almindelige symmetriske Algoritmetyper

i dette afsnit har vi sammensat en symmetrisk algoritmeliste, der hjælper os med at navigere i de mest almindelige symmetriske cifre. Vi starter med en af de ældste og arbejder os op til det “nyeste og bedste” – hvilket betyder den algoritme, som vi typisk bruger i dag til moderne symmetrisk kryptering.

Datakrypteringsstandard (DES)

først på vores liste er datakrypteringsstandarden., DES, også kendt som DEA (forkortelse for data encryption algorithm), er en af de tidligste symmetriske krypteringsalgoritmer, der siden er blevet forældet. Det er baseret på Feistel Cipher (ligesom mange andre sorter af block ciphers) og var faktisk anses for en af de første symmetriske algoritmer til at blive vedtaget som en Federal Information Processing Standard (FIPS) i 1976.

DES går tilbage til begyndelsen af 1970 ‘ erne, da dens oprindelige form (“Lucifer”) blev udviklet af IBM cryptographer Horst Feistel., IBM rapporterer, at krypteringsmetoden oprindeligt blev oprettet på anmodning af Lloyds Bank i Det Forenede Kongerige. National Bureau of Standards (nu kendt som National Institute of Standards, eller NIST for kort) endte med at søge forslag til en kommerciel ansøgning om kryptering, og IBM indsendte en variation af den. Det var endda ønsket til brug af National Security Agency (NSA) for at beskytte deres data.

denne type symmetrisk kryptering kortlægger input af en bestemt længde til output af en bestemt længde., Som sådan fungerer det på 64-bit blokke — hvilket betyder, at det kunne kryptere data i grupper på op til 64 blokke samtidigt-og har en nøglestørrelse på 56 bit. Der er også 8 ekstra paritetsbits til nøglen, som tjener som en måde at kontrollere for dataoverførselsfejl. Det er dog vigtigt at bemærke, at paritetsbits ikke er noget, du nogensinde vil bruge til kryptering.

denne størrelsesnøgle er faktisk meget lille efter dagens standarder, hvilket gør den meget modtagelig for brute force-angreb., Nøgle-og bloklængderne adskiller sig også fra den originale Lucifer-nøgle og bloklængder, som begge blev reduceret fra 128 bit.

for at lære mere om, hvordan DES-kryptering og Feistel-netværk fungerer, kan du tjekke denne fantastiske video fra Coursera og Stanford University.

dokumentet med Datakrypteringsstandard (DES) (FIPS PUB 46-3) blev officielt trukket tilbage den 19.maj 2005 sammen med dokumenterne FIPS 74 og FIPS 81., Det Nationale institut for Standarder og Teknologi ‘ s Secretary of Commerce offentliggjort følgende i Federal Register:

“Disse FIPS er trukket tilbage, fordi FIPS 46-3, DES, ikke længere giver den sikkerhed, der er nødvendig for at beskytte den Føderale regering oplysninger. FIPS 74 og 81 er tilknyttede standarder, der giver mulighed for implementering og drift af DES.”

DES-kryptering blev efterfulgt af triple data encryption algorithm (HINANDEN), og for nogle programmer, men ikke alle., DES blev dog primært erstattet som en anbefaling af advanced encryption standard, eller hvad der er kendt som AES-kryptering, i 2000. Dette er, hvad vi oftest bruger i dag til symmetrisk kryptering.

lad os nu undersøge de to andre typer symmetriske krypteringsalgoritmer.

Triple Data Encryption Algorithm (tdea)

den tredobbelte datakrypteringsalgoritme, der blev oprettet i slutningen af 1990 ‘ erne, er lidt vanskelig, da den faktisk går med flere forkortelser: TDEA, TDES og 3DES., Men som du sikkert kan gætte fra sit navn, er 3DES baseret på begrebet DES men med et T .ist.

i Modsætning til sin forgænger, HINANDEN bruger flere separate nøgler til at kryptere data — en variation af HINANDEN bruger to nøgler, og den anden variation bruger tre nøgler (derfor “triple” i dens navn). Den stærkere af de to er den, der bruger tre nøgler.,

Her er en illustration af, hvordan de tre-tasten HINANDEN processen fungerer:

Dette er en forenklet visual af processen for at vise, hvordan HINANDEN arbejder for at kryptere tekst i uforståelige ciphertext.

brugen af flere taster gør behandlingen af data langsom og øger beregningsmæssige overhead, hvilket er grunden til organisationer ofte sprunget over 3DES og flyttede direkte til at bruge AES.

TDEA fungerer ved hjælp af en anstændig 168-bit nøglestørrelse., Men ligesom DES fungerer 3DES også på små 64-bit blokke. Dens lille blok størrelse gjorde det modtageligt for S .eet32 sårbarhed (CVE-2016-2183 og CVE-2016-6329), eller hvad der er kendt som s .eet32 fødselsdag angreb. Denne udnyttelse udnytter en sårbarhed, der gør det muligt for utilsigtede parter at få adgang til dele af DES/tdea-krypterede data.

tdea symmetric key encryption algorithm er indstillet til at afvige med hensyn til at være nyttig til kryptografisk beskyttelse i 2023. Men i mellemtiden, NIST SP 800-76 Rev., 2 specificerer, at 3DES kan bruges af føderale regeringsorganisationer til at beskytte følsomme uklassificerede data, så længe de bruges “inden for rammerne af et total sikkerhedsprogram.”Et sådant program vil omfatte:

  • god informationssikkerhedspraksis,
  • stærke fysiske sikkerhedsprocedurer og
  • computernetværk eller systemadgangskontrol.

Advanced Encryption Standard (AES)

AES er den mest almindelige type symmetrisk krypteringsalgoritme, som vi bruger i dag. Faktisk bruger selv NSA AES-kryptering til at sikre sine følsomme data.,

AES er en variant af Rijndael-familien af symmetriske krypteringsalgoritmer. I modsætning til sine DES-eller TDEA-kolleger er det baseret på et substitutions-permutationsnetværk. Så, det bruger dette som sit fundament i stedet for Feistel cipher. Du finder den avancerede krypteringsstandard, der bruges til alt fra SSL/TLS-kryptering til trådløs og processorsikkerhed. Det er hurtigt, sikkert og øger ikke din behandling overhead (i det mindste når du bruger den rigtige tast).,

AES fungerer på blokstørrelser på 128 bit, uanset den anvendte nøglestørrelse, og udfører krypteringsoperationer i flere runder.

Der er i alt fire AES-kryptering sub-processer:

  1. AddRoundKey
  2. SubBytes
  3. ShiftRows
  4. MixColumns

De runder, som er udført på plaintext data, bruger udskiftninger fra en lookup tabel. Så, en af de runder ser beslægtet med dette:

Dette er et illustrativt eksempel på den ShiftRows drift.,

AES, som blev den nye FIPS-godkendte krypteringsstandard efter udskiftning af DES og erstatter 3DES, har en maksimal nøglestørrelse på op til 256 bit. Dette er cirka 4, 5 gange større end en DES-nøgle. Enhver større, og det ville ikke være praktisk til skala applikationer. Nu bestemmer størrelsen på nøglen, hvor mange runder af operationer der skal udføres — for eksempel vil en 128-bit nøgle have 10 runder, mens en 256-bit nøgle vil have 14.

selvfølgelig er AES-kryptering utrolig stærk., Så ethvert forsøg på at knække AES via brute force ved hjælp af moderne computerteknologi er “forgæves”, som et bestemt kollektiv af cybernetiske individer elsker at sige. Selv generalløjtnant data ville sandsynligvis kæmpe med en sådan beregningsmæssige indsats. Jeg siger det, fordi selv kvantecomputere ikke forventes at have så stor indflydelse på symmetrisk krypteringsalgoritme, som det vil på, siger moderne asymmetriske krypteringsmetoder. (Symmetriske krypteringsmetoder ville kræve, at større nøgler er kvantebestandige, mens offentlige nøglemetoder ikke længere vil være sikre — periode.,)

for et mere dybtgående kig på advanced encryption standard, skal du sørge for at tjekke vores anden artikel om emnet. Der får du et meget teknisk kig på, hvordan AES fungerer.

Selvfølgelig, Disse Er ikke de Eneste Tre Symmetriske Algoritmer I Brug…

Der er masser af andre typer af symmetriske krypteringsalgoritmer, der er nyttige til forskellige formål og kryptografiske funktioner. Bare for at give dig en hurtig smag inkluderer listen over nogle af disse algoritmer:

selvfølgelig er der også andre cifre — men vi vil ikke inkludere dem alle her., Men dette giver dig i det mindste nogle eksempler på, hvad der er derude, hvad angår AES-algoritmer.

hvor du finder symmetriske algoritmer på arbejdet

symmetriske krypteringsalgoritmer, når de bruges alene, er bedst egnet til kryptering af data i hvile eller i ikke-offentlige kanaler. Jeg siger det, fordi de ofte findes at beskytte hviledata i forskellige situationer, herunder databaser, onlinetjenester og bankrelaterede transaktioner. (Sidstnævnte skyldes, at Betalingskortindustriens Datasikkerhedsstandarder, eller PCI DSS for kort, kræver det.,)

men det er ikke de eneste steder, de er nyttige. Åh nej — du finder også symmetriske algoritmer i brug på tværs af internettet., Når du bruger dem i forbindelse med asymmetrisk kryptering for key exchange — som når du opretter forbindelse til et sikkert websted, — så symmetrisk kryptering kommer i spil med tjenester såsom:

  • Website data udveksling
  • Google ‘ s G Suite af online-tjenester
  • CodeGuard hjemmeside backup-værktøj
  • SalesForce-platform

Hvad Vi Sløret Ud på Symmetriske krypteringsalgoritmer (TL;DR)

Havde ikke lyst til at dykke ned i alle de teknisk mumbo-jumbo? (Eller har du ikke lyst til at læse gennem mine nørdede Star Trek sammenligninger af symmetriske krypteringsalgoritmer?,) Ingen bekymringer. Her er et par af de vigtigste takeaways fra denne artikel på symmetrisk nøgle algoritmer:

  • krypteringsalgoritmer er grundlæggende trin-for-trin anvisninger til, der udfører kryptografiske funktioner (såsom kryptering, dekryptering, maskiner osv.). Algoritmer kommer i asymmetriske og symmetriske Sorter. I den første krypterer en nøgle data, og en anden dekrypterer data. I sidstnævnte udfører en nøgle både krypterings-og dekrypteringsfunktionerne.
  • symmetriske algoritmer er effektive processer, der er designet til kryptering af data i sikre, ikke-offentlige kanaler.,
  • en proces kendt som et TLS-håndtryk gør det muligt for dig at bruge en form for symmetrisk kryptering i offentlige kanaler.
  • Der er mange forskellige typer symmetriske nøglealgoritmer, der er blevet brugt i de senere år. Tre af de mest almindelige omfatter DES, TDEA / 3DES og AES.

sørg for at holde øje med vores næste kapitel i denne blogserie om symmetrisk kryptering i de kommende uger. Og indtil næste gang … leve længe og ordentligt.

  • #krypteringsalgoritmer
  • #Symmetrisk