Hvad er kryptografi? En komplet oversigt

Contents

Hvis du er interesseret i at læse mere dybtgående om, hvordan Bitcoin fungerer, kan du gøre det på Bitcoin.org.

5. Introduktion til kryptografi

I denne klasse vil vi lære dig de grundlæggende byggesten til kryptografi, og især lige nok til at få en følelse af, hvordan de fungerer på et konceptuelt niveau. At forstå kryptografi på et konceptuelt niveau giver dig god intuition til, hvordan industrielle systemer bruger kryptografi i praksis. Dog er kryptografi i praksis meget vanskelig at få ret. Faktiske kryptografiske implementeringer i den virkelige verden kræver stor opmærksomhed på detaljer og har hundreder af mulige faldgruber. F.eks. Vi har ikke tid til at undervise alle disse detaljer og faldgruber til dig i CS 161, så du bør aldrig implementere din egen kryptografi ved hjælp af algoritmerne, vi lærer dig i denne klasse. I stedet handler den kryptografi, vi viser dig i denne klasse, lige så meget om at uddanne dig som forbruger som at uddanne dig som ingeniør. Hvis du finder ud af, at du har brug for en krypteret forbindelse mellem to computere, eller hvis du har brug for at sende en krypteret besked til en anden person, skal du bruge eksisterende veludstyrede kryptografiske værktøjer. Dog vil du ofte blive konfronteret med problemet med at forstå, hvordan noget skal fungere. Du kan også blive bedt om at evaluere forskellen mellem alternativer. For det skal du forstå den underliggende kryptografiske teknik involveret. Tilsvarende er der undertiden applikationer, der drager fordel af kryptografiske primitiver på ikke-kryptografiske måder, så det er nyttigt at kende primitiver. Du ved aldrig, hvornår du muligvis har brug for en hash, en HMAC eller en blokciffer til en ikke-sikkerhedsopgave, der drager fordel af deres tilfældighedsegenskaber. I sammendraget skal du vide, at vi vil lære dig lige nok kryptografi til at være farlig, men ikke nok til at implementere industriel styrke kryptografi i praksis.

5.2. Kort historie om kryptografi

Ordet “kryptografi” kommer fra de latinske rødder krypt, Betydning hemmelig og Graphia, betyder skrivning. Så kryptografi er bogstaveligt talt studiet af, hvordan man skriver hemmelige beskeder. Ordninger til at sende hemmelige meddelelser går tilbage til antikken. For 2.000 år siden beskæftigede Julius Caesar det, der i dag er omtalt som “Caesar Cypher”. For eksempel, hvis Caesar brugte et skift med \ (3 \), ville meddelelsen “kryptografi” blive kodet som “fubswrjudskb”. Med udviklingen af ​​telegrafen (elektronisk kommunikation) i 1800 -tallet blev behovet for kryptering i militær og diplomatisk kommunikation særlig vigtigt. De koder, der blev brugt i denne “pen og blæk” -periode, var relativt enkle, da meddelelser skulle afkodes for hånd. Koderne var heller ikke særlig sikre efter moderne standarder. Den anden fase af kryptografi, den “mekaniske æra”, var resultatet af et tysk projekt for at skabe en mekanisk enhed til at kryptere meddelelser i en uknuselig kode. Det resulterende Enigma Maskinen var en bemærkelsesværdig bedrift af teknik. Endnu mere bemærkelsesværdig var den massive britiske indsats under 2. verdenskrig at bryde koden. Den britiske succes med at bryde Enigma -koden hjalp med at påvirke krigsforløbet og forkorte den med cirka et år, ifølge de fleste eksperter. Der var tre vigtige faktorer i brud på Enigma -koden. Først lykkedes det briterne at få en kopi af en fungerende Enigma -maskine fra Polen, som havde knækket en enklere version af koden. For det andet trak de allierede på en hel del hjernekraft, først med polerne, der beskæftigede en stor kontingent af matematikere til at knække strukturen og derefter fra briterne, hvis projekt omfattede Alan Turing, en af ​​grundlæggerne af datalogi. Den tredje faktor var den rene skala i den kodebrydende indsats. Tyskerne regnede med, at Enigma var godt lige ukugbelig, men hvad de ikke var med til. På sit højeste beskæftigede den britiske kodebreaking organisation over 10.000 mennesker, et indsatsniveau, der meget overskred alt, hvad tyskerne havde forventet. De udviklede også elektromekaniske systemer, der parallelt kunne søge i et utroligt antal mulige nøgler, indtil den rigtige blev fundet. Moderne kryptografi er kendetegnet ved dens afhængighed af matematik og elektroniske computere. Det har sine tidlige rødder i Claude Shannons arbejde efter 2. verdenskrig. Analysen af engangs pude (diskuteret i det næste kapitel) skyldes Shannon. De tidlige 1970’ere blev introduktionen af ​​et standardiseret kryptosystem, DES, af National Institute for Standards in Technology (NIST). Des besvarede det voksende behov for digitale krypteringsstandarder i bank og andre virksomheder. I årtiet startede i slutningen af ​​1970’erne og så en eksplosion af arbejde på en beregningsteori om kryptografi.

5.3. Definitioner

Intuitivt kan vi se, at Caesar Cypher ikke er sikker (prøv alle 26 mulige skift, og du får den originale besked tilbage), men hvordan kan vi bevise, at det faktisk er usikker? For formelt at studere kryptografi bliver vi nødt til at definere en matematisk streng ramme, der lader os analysere sikkerheden for forskellige kryptografiske ordninger. Resten af ​​dette afsnit definerer nogle vigtige udtryk, der vises i hele enheden.

5.4. Definitioner: Alice, Bob, Eve og Mallory

Det mest basale problem i kryptografi er et af at sikre kommunikationens sikkerhed på tværs af et usikkert medium. To tilbagevendende medlemmer af rollebesætningen af ​​karakterer i kryptografi er Alice og Bob, der ønsker at kommunikere sikkert som om de var i det samme rum eller fik en dedikeret, uudnyttelig linje. De har dog kun til rådighed en telefonlinje eller en internetforbindelse, der er udsat for at tappe af en aflyttende modstander, Eva. I nogle indstillinger kan Eva muligvis erstattes af en aktiv modstander Mallory, Hvem kan manipulere med kommunikation ud over aflytning på dem. Målet er at designe en ordning til at kryptere meddelelserne mellem Alice og Bob på en sådan måde, at Eva ikke har nogen anelse om indholdet af deres udveksling, og Mallory er ikke i stand til at manipulere med indholdet af deres udveksling uden at blive opdaget. Med andre ord ønsker vi at simulere den ideelle kommunikationskanal ved kun at bruge den tilgængelige usikre kanal.

5.5. Definitioner: nøgler

Den mest basale byggesten i ethvert kryptografisk system (eller kryptosystem) er nøgle. Nøglen er en hemmelig værdi, der hjælper os med at sikre beskeder. Mange kryptografiske algoritmer og funktioner kræver en nøgle som input til at låse eller låse en vis hemmelig værdi op. Der er to vigtigste nøglemodeller i moderne kryptografi. I Symmetrisk nøgle Model, Alice og Bob kender begge værdien af ​​en hemmelig nøgle og skal sikre deres kommunikation ved hjælp af denne delte hemmelige værdi. I Asymmetrisk nøgle model, hver person har en hemmelig nøgle og en tilsvarende offentlig nøgle. Du kan huske RSA-kryptering fra CS 70, som er en asymmetrisk-nøgle-krypteringsskema.

5.6. Definitioner: Fortrolighed, integritet, ægthed

I kryptografi er der tre vigtigste sikkerhedsegenskaber, som vi ønsker at opnå. Fortrolighed er den ejendom, der forhindrer modstandere i at læse vores private data. Hvis en meddelelse er fortrolig, kender en angriber ikke sit indhold. Du kan tænke på fortrolighed som at låse og låse en besked op i en lockbox. Alice bruger en nøgle til at låse beskeden i en kasse og sender derefter beskeden (i den låste boks) over den usikre kanal til Bob. Eva kan se den låste boks, men kan ikke få adgang til beskeden indeni, da hun ikke har en nøgle til at åbne kassen. Når Bob modtager kassen, er han i stand til at låse den op ved hjælp af nøglen og hente meddelelsen. De fleste kryptografiske algoritmer, der garanterer fortrolighedsarbejde som følger: Alice bruger en nøgle til Krypter En besked ved at ændre den til en krypteret form, som angriberen ikke kan læse. Hun sender derefter denne krypterede besked over den usikre kanal til Bob. Når Bob modtager den krypterede meddelelse, bruger han nøglen til dekrypter beskeden ved at ændre den tilbage til sin oprindelige form. Vi kalder undertiden beskeden simpel tekst Når det er ukrypteret og Ciffertekst Når det er krypteret. Selv hvis angriberen kan se den krypterede chiffertekst, skal de ikke være i stand til at dekryptere den tilbage i den tilsvarende PLAINTEXT – kun den tilsigtede modtager, Bob, skulle være i stand til at dekryptere beskeden. Integritet er den ejendom, der forhindrer modstandere i at manipulere med vores private data. Hvis en meddelelse har integritet, kan en angriber ikke ændre indholdet uden at blive opdaget. Autenticitet er den ejendom, der lader os afgøre, hvem der har oprettet en given besked. Hvis en meddelelse har ægthed, kan vi være sikre på, at meddelelsen blev skrevet af den person, der hævder at have skrevet den. Du tænker måske, at ægthed og integritet synes meget tæt beslægtet, og du ville være korrekt; Det giver mening, at før du kan bevise, at en meddelelse kom fra en bestemt person, skal du først bevise, at meddelelsen ikke blev ændret. Med andre ord, før du kan bevise ægthed, skal du først være i stand til at bevise integritet. Dette er dog ikke identiske egenskaber, og vi vil se på nogle kanttilfælde, når vi går videre i den kryptografiske enhed. Du kan tænke på kryptografiske algoritmer, der sikrer integritet og ægthed som at tilføje et segl på den meddelelse, der sendes. Alice bruger nøglen til at tilføje et specielt segl, som et stykke bånd på konvolutten, på meddelelsen. Hun sender derefter den forseglede besked over den usikre kanal. Hvis Mallory Tampers med beskeden, vil hun bryde båndet på konvolutten og derfor bryde forseglingen. Uden nøglen kan Mallory ikke oprette sit eget segl. Når Bob modtager beskeden, kontrollerer han, at tætningen ikke er ulemperet, før han ikke forsegler konvolutten og afslører beskeden. De fleste kryptografiske algoritmer, der garanterer integritet og ægthedsarbejde som følger: Alice genererer en Tag eller en Underskrift på en besked. Hun sender beskeden med mærket til Bob. Når Bob modtager meddelelsen og mærket, verificerer han, at mærket er gyldigt for den meddelelse, der blev sendt. Hvis angriberen ændrer meddelelsen, skal mærket ikke længere være gyldigt, og Bobs verifikation vil mislykkes. Dette vil lade Bob opdage, hvis meddelelsen er ændret og ikke længere er den originale meddelelse fra Alice. Angriberen skal ikke være i stand til at generere gyldige tags til deres ondsindede beskeder. En relateret egenskab, som vi måske ønsker, at vores kryptosystem skal have deniabilitet. Hvis Alice og Bob kommunikerer sikkert, vil Alice måske offentliggøre en besked fra Bob og vise den til en dommer og hævde, at det kom fra Bob. Hvis kryptosystemet har afviselighed, er der ikke noget kryptografisk bevis til rådighed for at garantere, at Alice’s offentliggjorte meddelelse kom fra Bob. Overvej for eksempel et tilfælde, hvor Alice og Bob bruger den samme nøgle til at generere en underskrift på en meddelelse, og Alice offentliggør en meddelelse med en gyldig signatur. Så kan dommeren ikke være sikker på, at budskabet kom fra Bob – underskriften kunne være blevet oprettet af Alice.

5.7: Oversigt over ordninger

Vi vil se på kryptografiske primitiver, der giver fortrolighed, integritet og godkendelse i både de symmetriske og asymmetriske-nøgleindstillinger.

Symmetrisk-nøgle Asymmetrisk-nøgle
Fortrolighed Bloker chiffere med kædetilstande (E.g., AES-CBC) Offentlig nøgle kryptering (E.g., El Gamal, RSA -kryptering)
Integritet og godkendelse Macs (e.g., AES-CBC-MAC) Digitale underskrifter (E.g., RSA -underskrifter)
  • Kryptografiske hash Giv en envejs fordøjelse: De gør det muligt for nogen at kondensere en lang besked til en kort rækkefølge af, hvad der ser ud til at være tilfældige bits. Kryptografiske hash er irreversible, så du kan ikke gå fra den resulterende hash tilbage til den originale meddelelse, men du kan hurtigt verificere, at en meddelelse har en given hash.
  • Mange kryptografiske systemer og problemer har brug for en masse tilfældige bits. For at generere disse bruger vi en Pseudo tilfældigt nummergenerator, En proces, der tager en lille mængde ægte tilfældighed og strækker den til en lang sekvens, der skal ikke kan skelnes fra faktiske tilfældige data.
  • Nøgleudveksling ordninger (e.g. Diffie-Hellman Key Exchange) Tillad Alice og Bob at bruge en usikker kommunikationskanal til at blive enige om en delt tilfældig hemmelig nøgle, der efterfølgende bruges til symmetrisk nøgle-kryptering.

5.8. Definitioner: Kerckhoffs princip

Lad os nu undersøge trusselmodellen, som i denne indstilling involverer at besvare spørgsmålet: Hvor magtfulde er angriberen Eve og Mallory?

For at overveje dette spørgsmål skal du huske Kerckhoffs princip Fra de tidligere noter om sikkerhedsprincipper:

Kryptosystemer skal forblive sikre, selv når angriberen kender alle interne detaljer i systemet. Nøglen skal være det eneste, der skal holdes hemmeligt, og systemet skal være designet til at gøre det nemt at skifte nøgler, der lækkes (eller mistænkes for at blive lækket). Hvis dine hemmeligheder lækkes, er det normalt meget lettere at ændre nøglen end at erstatte enhver forekomst af køresoftwaren. (Dette princip er tæt knyttet til Shannons Maxim: Stol ikke på sikkerhed gennem uklarhed.)

I overensstemmelse med Kerckhoffs princip antager vi, at angriberen kender krypterings- og dekrypteringsalgoritmerne. 1 Den eneste information, som angriberen mangler, er den / de hemmelige nøgler (r).

5.9. Definitioner: Trusselsmodeller

Når man analyserer fortroligheden af ​​en krypteringsordning, er der flere muligheder for, hvor meget adgang til en aflyttende angriber Eve har til den usikre kanal:

  1. Eve har formået at aflytte en enkelt krypteret besked og ønsker at gendanne The PlaintExt (den originale meddelelse). Dette er kendt som en kun angreb på chiffertekst.
  2. Eve har opfanget en krypteret meddelelse og har også allerede nogle delvise oplysninger om The PlaintExt, som hjælper med at udlede krypteringens art. Denne sag er en Kendte PLAINTEXT ATTACK. I dette tilfælde er Evas viden om klageren delvis, men ofte overvejer vi i stedet fuldstændig viden om en forekomst af PLAINTEXT.
  3. Eva kan fange en krypteret besked fra Alice til Bob og gen-send den krypterede besked til Bob igen. Dette er kendt som en Replay Attack. F.eks. Eva kender måske ikke dekrypteringen af ​​meddelelsen, men hun kan stadig sende krypteringen gentagne gange for at udføre angrebet.
  4. Eve kan narre Alice for at kryptere vilkårlige beskeder om Evas valg, som Eva derefter kan observere de resulterende chiffertekster. (Dette kan ske, hvis Eve har adgang til krypteringssystemet, eller kan generere eksterne begivenheder, der vil føre Alice til at sende forudsigelige meddelelser som svar.) På et andet tidspunkt krypterer Alice en meddelelse, der er ukendt for Eva; Eve opfanger krypteringen af ​​Alice’s budskab og sigter mod at gendanne budskabet i betragtning af hvad Eve har observeret om tidligere krypteringer. Denne sag er kendt som en Valgt-plaintExt-angreb.
  5. Eva kan narre Bob til at dekryptere nogle chiffertekster. Eve vil gerne bruge dette til at lære dekrypteringen af ​​en anden chiffertekst (forskellig fra chifferteksterne Eve narret Bob i dekryptering). Denne sag er kendt som en Valgt-ciphertext-angreb.
  6. En kombination af de to foregående sager: Eva kan narre Alice til at kryptere nogle beskeder om Evas valg og kan narre Bob til at dekryptere nogle chiffertekster af Evas valg. Eve vil gerne lære dekrypteringen af ​​en anden chiffertekst, der blev sendt af Alice. (For at undgå at gøre denne sag trivielt må Eve ikke narre Bob til at dekryptere chifferteksten sendt af Alice.) Denne sag er kendt som en Valgt-plaintExt/CipHerText-angreb, og er den mest alvorlige trusselmodel.

I dag insisterer vi normalt på, at vores krypteringsalgoritmer giver sikkerhed mod valgte-plaintekst/chiffertekst-angreb, både fordi disse angreb er praktiske i nogle indstillinger, og fordi det faktisk er muligt at give god sikkerhed, selv mod denne meget magtfulde angrebsmodel.

For enkelhedsgraden vil denne klasse imidlertid primært fokusere på sikkerhed mod valgte-plaintekst-angreb.

  1. Historien om Enigma giver en mulig begrundelse for denne antagelse: i betragtning af hvor vidt enigmaet blev brugt, var det uundgåeligt, at de før eller senere ville de allierede få deres hænder på en gåtepara -maskine, og det gjorde de faktisk. ↩

Hvad er kryptografi? En komplet oversigt

Kuraterede backend podcasts, videoer og artikler. Alle gratis.

Hvis du ønsker at blive en backend-udvikler, eller bare holde dig ajour med de nyeste backend-teknologier og tendenser, fandt du det rigtige sted. Abonner nedenfor for at få en kopi af vores nyhedsbrev, bagagerummet.Dev slo, hver måned i din indbakke. Ingen spam, ingen sponsorer, helt gratis.

�� Hvad er kryptografi?

Kort sagt, kryptografi giver en metode til sikker kommunikation. Det stopper uautoriserede parter, ofte benævnt modstandere eller hackere, fra at få adgang til de hemmelige meddelelser, der er kommunikeret mellem autoriserede parter. Den metode, som kryptografi giver, kaldes kryptering.

Kryptering transformerer en nøgle og input, simpel tekst, til et krypteret output, Ciffertekst. Krypteringsalgoritmer betragtes kun som sikre, hvis angribere ikke kan bestemme nogen egenskaber ved sagsøgeren eller nøglen, når de kun præsenteres for chifferteksten. En angriberen skal ikke være i stand til at finde ud af det hvad som helst om en nøgle, selvom de har mange klager/chiffertekst -kombinationer, der bruger den nøgle.

Et reelt eksempel på en ægte verden ville være kreditkortoplysninger, du bruger til køb på Amazon eller andre e-handelswebsteder. Koden i din webbrowser krypterer The Plaintext, dit kortnummer, til chiffertekst, som for nogen uden nøglerne ville se ud som ulæselig, tilfældig tekst. Når dit kortnummer først når sin tilsigtede modtager, online butikken, ville deres software dekryptere det tilbage til PLAINTEXT, så de kan opkræve dig for dit køb.

�� Principper for kryptografi

De centrale principper for moderne kryptografi inkluderer:

  • Fortrolighed
  • Integritet
  • Ikke-afvisning
  • Godkendelse

Lad os gå over hver enkelt efter en.

�� Fortrolighed

Datafortrolighed sikrer, at dataene er begrænset til dem, der er autoriseret til at se dem. Dataene skal kun være synlige for dem, der har nogle kritiske oplysninger, som dekrypteringsnøglen, for eksempel.

�� Integritet

Dataintegritet henviser til nøjagtighed, legitimitet og konsistens af information i et system. Når en meddelelse sendes, især ved hjælp af et ikke -betroet medium som Internettet, sikrer dataintegritet os, at en meddelelse ikke blev manipuleret med eller ved et uheld ændret.

Lad os bruge eksemplet med militære ordrer. Vi er i krig, og en hærgeneral har brug for at sende en tilbagetrækningsbestilling til sine tropper over havet. Uden garanti for dataintegritet kunne en hacker opfange meddelelsen, ændre ordren og sende den på vej. Hæren kan modtage en ordre om at gå videre og gå lige i en fælde, som generalen vidste om.

�� Ikke-afvisning

Ikke-afvisning sikrer, at ingen kan nægte gyldigheden af ​​de pågældende data og faktisk er et juridisk udtryk, der bruges i cybersikkerhed. Ikke-afvisning opnås typisk ved brug af en tjeneste, der giver bevis for informationens oprindelse og integritet. Det gør det næsten umuligt at med succes benægte, hvem eller hvor en meddelelse kom fra.

Ikke-afvisning ligner dataintegritet, men det har mere at gøre med at vide WHO sendte oplysningerne og mindre med, om det var ændret langs vejen. I det militære eksempel ovenfra, selvom vi kunne garantere, at tilbagetrækningsordren aldrig blev manipuleret med, ville ikke-afvisning være en måde at sikre, at det var generalen, der gav ordren i første omgang, og ikke en fjendens spion.

�� Autentificering

Der er to slags godkendelse, der typisk bruges i kryptografi.

  1. Integritetsgodkendelse som en Mac eller HMAC sikrer, at data ikke er blevet manipuleret med.
  2. Kilde -godkendelse, som et SSL -certifikat, kan bruges til at verificere identiteten af, hvem der oprettede oplysningerne. Hver gang du opretter forbindelse til et websted over HTTPS, sikrer din browser, at du er tilsluttet det websted, du tror, ​​du er ved at kontrollere SSL -certifikatet.

�� Retningslinjer for kryptografer

Forsøg aldrig at designe dit eget kryptosystem. De bedste kryptografer i verden designer rutinemæssigt kryptosystemer med alvorlige sikkerhedsfejl. Som det viser sig, er det virkelig Svært at opbygge et sikkert system. Der er bare for mange angrebsvektorer til at overveje.

For at et kryptosystem kan betragtes som ”sikkert”, skal det gennemgå intens kontrol af sikkerhedssamfundet. “Sikkerhed gennem uklarhed”, eller det faktum, at angribere muligvis ikke har kendskab til dit system, er noget, der aldrig bør stole på. Faktisk udsætter gode systemer sig for angribere, hvordan de fungerer. Kun de private nøgler skal holdes hemmelige.

Fjenden kender systemet. Man burde designe systemer under den antagelse, at fjenden straks vil få fuld fortrolighed med dem.

Ifølge Kerckhoffs ‘princip

Tag altid rimelige skridt for at beskytte de nøgler, som dine softwaresystemer bruger.

Aldrig Opbevar krypteringstaster i almindelig tekst med de data, de beskytter. Det er det virtuelle ækvivalent med at låse din hoveddør og forlade nøglen på rammen. Det er det første sted, hvor en angriber ser ud.

Lad os se på et par tommelfingerregler for sikkert opbevaring af nøgler.

  1. Beskyt dine private nøgler med stærke adgangskontrollister, eller ACL’er. Følg princippet om mindst privilegium, det vil sige kun give dem, du virkelig har brug for nøglerne for at få adgang til dem.
  2. Brug en sikker adgangskode eller en hemmelig manager For at holde styr på dine nøgler. Gode ​​hemmelige ledere vil kryptere dine nøgler ved hjælp af en stærk nøgleafføringsfunktion som Bcrypt eller Scrypt.
  3. I ekstreme tilfælde et hardwaresikkerhedsmodul er en fysisk enhed, der kan bruges til at gemme taster offline sikkert. Softwareapplikationer kan derefter få adgang til HSM’er, der er tilsluttet den samme maskine. HSM Faktisk udfører dekryptering på selve HSM, så tasterne forlader aldrig enheden.

Til sidst skal du sikre dig, at du kun bruger nøglestyrker og driftstilstande, der overholder den nyeste branche bedste praksis. F.eks.

�� Hvilke praktiske problemer løser kryptografi?

Et sikkert system giver de fire principper for kryptografi til systemer i den virkelige verden. Fortrolighed, integritet, godkendelse og ikke-afvisning er nødvendige egenskaber i moderne software, og de ville ikke være muligt uden kryptografi.

Softwaresystemer, især dem, der findes på nettet, har ofte mange slutpunkter, klienter, afhængigheder, netværk og servere. Alle de fysiske maskiner, der kræves for at få dit krydsord -app til at arbejde, skal kommunikere via netværk, der ikke kan stole på. Internetkommunikation finder sted over åbne, offentlige netværk, der kan kompromitteres trivielt af eksterne angribere.

Der er to hovedtyper af angreb, der findes på åbne netværk:

  • I et passivt angreb: hackeren lytter til en netværksforbindelse og læser følsomme oplysninger, da den transmitteres.
  • I et aktivt angreb: angriberen efterligger en klient eller server, opfanger kommunikation, der er beregnet til den under transit, og ændrer oplysningerne, inden de videresender den til sin oprindelige destination.

Fortroligheds- og integritetsbeskyttelsen leveret af kryptografiske protokoller såsom SSL/TLS kan beskytte kommunikation mod ondsindet aflytning og manipulation. Autentificeringsbeskyttelse sikrer, at de data, du modtager, virkelig kom fra hvem du troede, de kom fra. For eksempel sender du dit personnummer til din bank eller til en nigeriansk prins?

Kryptografi er ikke kun nyttig til data under transit, det kan også bruges til at beskytte data i hvile. Data, der simpelthen er gemt på en disk i en database, kan krypteres for at forhindre fremtidige adgang til at læse den. Denne form for kryptering sker, når du låser din telefon eller computer og holder dine oplysninger sikre, hvis dine enheder er stjålet.

�� Typer af kryptografi

Der er tre hovedtyper af kryptografi:

  1. Symmetrisk nøglekryptering
  2. Asymmetrisk nøglekryptering
  3. Hash fungerer

�� Symmetrisk nøglekryptografi

Symmetrisk kryptering bruger Samme nøgle til kryptering og dekryptering. Afsenderen og modtageren af ​​meddelelsen bruger en enkelt delt nøgle til at kryptere og dekryptere beskeder. Symmetriske nøglesystemer er hurtigere og enklere, men det er vanskeligt at dele nøgler. Hvis du har brug for at kommunikere over et usikkert medium, hvordan ville du få nøglen til modtageren i første omgang?

Svaret er, at du for en anden part sandsynligvis vil bruge asymmetrisk kryptering, som vi snart dækker. Symmetrisk kryptering udmærker sig, når du krypterer information i hvile. For eksempel krypterer din adgangskodeadministrator dine adgangskoder, men de sendes ikke til nogen. Du har kun brug for en nøgle, fordi du er den eneste, der bruger den.

Almindelige symmetriske krypteringsalgoritmer inkluderer AES og DES.

Symmetrisk kryptering vs asymmetrisk kryptering

�� Asymmetrisk nøglekryptografi

Asymmetrisk kryptering bruger forskellige taster til kryptering og dekryptering. Et par nøgler, der er kryptografisk relaterede, bruges til at kryptere og dekryptere information. En offentlig nøgle bruges til kryptering, mens dens private nøgle bruges til dekryptering.

Hvis jeg vil modtage en besked fra min kone, ville jeg sende hende min offentlige nøgle. Den offentlige nøgle er netop det, offentligt. Hvis nogen opfanger nøglen, er det ikke et problem, de vil ikke være i stand til at bruge den til at dekryptere noget.

Min kone ville derefter bruge min offentlige nøgle til at kryptere en besked til mig. Nu, da jeg er den eneste, der ejer den tilsvarende private nøgle, vil jeg være i stand til at dekryptere den meddelelse, når jeg modtager den.

Almindelige asymmetriske krypteringsalgoritmer ECC og RSA.

Ejendomme Symmetrisk Asymmetrisk
Nøgler En enkelt nøgle En privat og offentlig nøgle
Fart Hurtigere, enkel Langsommere, mere kompleks
Brug sager Bulk -kryptering af data i hvile Kryptering af data i transit mellem to parter
Principper leveret Fortrolighed Fortrolighed, godkendelse, ikke-afvisning

�� Hash fungerer

Den tredje mest almindelige type kryptografi involverer hashfunktioner. Ingen nøgle bruges i denne algoritme. En fast længde-værdi beregnes ud fra den sagsøger, hvilket gør det umuligt for indholdet af den sagsøger.

Fordi den samme klosterekst altid vil hash til den samme output, kan det bruges til for eksempel at sammenligne adgangskoder uden nogensinde at gemme dem.

Populære hashing-funktioner inkluderer SHA-256, BCRYPT og Scrypt.

�� Kryptologi vs kryptografi vs kryptanalyse

�� Kryptologi

Kryptologi er videnskaben om hemmelige meddelelser. Alt, hvad der har at gøre med at fremstille eller bryde koder, falder i kryptologiens domæne. Kryptologi kan også betragtes som studiet af kryptering og dekryptering. I et nøddeskal, kryptografi og kryptanalyse er de to grene under paraplyen af ​​kryptologi.

  • Kryptografi: Undersøgelse af bygning af sikre kryptosystemer.
  • Cryptanalysis: Study of Breaking Cryptosystems.
  • Kryptologi: Undersøgelse af både kryptografi og kryptanalyse.

Kryptologi er ekstremt tung på matematik, såsom nummerteori og anvendelse af formler og algoritmer. En interessant anekdote er, at kryptologi var hovedfeltet for de første computerforskere, herunder Alan Turing selv.

�� Kryptografi

Folk bruger ofte dovent “kryptografi” i stedet for ordet “kryptologi”, men i virkeligheden fokuserer kryptografi kun på at opbygge kryptosystemer.

F.eks kryptografi arbejde.

�� kryptanalyse

Cryptanalysis er det inverse af kryptografi. Det er studiet af, hvordan man bryder hemmelige koder, ikke gør dem. At have en solid forståelse af kryptanalyse er dog grundlæggende i kryptografi, da man må kende deres fjende.

Forestil dig, at FBI får fat i din personlige mobiltelefon, og de vil snuppe rundt for at se, hvad du har gjort. De metoder, de vil anvende til at “knække” koden og dekryptere indholdet af din telefon, ville være kryptanalyseteknikker.

For mere information har vi et komplet indlæg om kryptologi vs kryptografi

�� Hvad er kvanteberegning og vil kvante computing break cryptography?

Hvor en klassisk bit har en enkelt binær værdi som 0 eller 1, kan en qubit indeholde begge værdier samtidigt. Dette betyder, at en enkelt qubit kan indeholde meget mere information end en klassisk bit, og alt dette er muliggjort af fænomenet superposition. Denne unikke egenskab giver dem mulighed for at behandle information på potentielt logaritmisk tid eller med andre ord eksponentielt hurtigere end klassiske computere.

Mange asymmetriske krypteringsalgoritmer er blevet matematisk bevist at blive brudt af kvantecomputere ved hjælp af Shors algoritme. Fordi algoritmer som RSA stoler stærkt på, at normale computere ikke hurtigt kan finde de vigtigste faktorer, har de været sikre i årevis. Med kvantecomputere, der bryder denne antagelse, kan det være tid til at finde nye standarder.

På den anden side antages symmetrisk kryptering eller mere specifikt AES-256. Det betyder, at kvantecomputere ikke forventes at være i stand til at reducere angrebstiden nok til at være effektiv, hvis nøglestørrelserne er store nok.

For mere information, læs vores indlæg om, hvorvidt AES-256 er kvantemodstandsmæssig

�� Hvordan bruger bitcoin, cryptocurrency og andre blockchains kryptografi?

Bitcoin og andre cryptocurrencies er afhængige af kryptografiske algoritmer til at fungere, og dermed “krypto” i navnet. Bitcoin bruger to primære kryptografiske metoder. Den første er asymmetrisk kryptering. En bitcoin -tegnebog er i sin kerne en samling af private nøgler, der kan bruges til at underskrive transaktioner på netværket. Bitcoin og andre blockchain -teknologier bruger kryptografiske underskrifter, som er en form for asymmetrisk kryptering, for at garantere, at når du sender en bitcoin til din ven, var det faktisk dig, der sendte det.

Den anden er hashing. Bitcoin Mining bruger Sha-256-algoritmen til at fungere som et proof-of-work på netværket. Fordi output fra hash -funktioner ikke let kan gættes, kan netværket stole på, at en aktør i netværket har brugt en hel del energi, der beregner resultatet af en beregning.

Årsagen til at vi er interesseret i, at det tog nogen meget arbejde at tilføje en ny blok til blockchain er at gøre det mere sikkert. Hver miner skal løse et vanskeligt “hash -lotteri” for at tilføje en ny blok, men hvis det var for let, kunne enhver tilføje nye blokke hurtigt til at omskrive blockchain til deres fordel. Proof-of-Work-konsensus er det, der gør Bitcoin til det mest sikre offentlige netværk, der nogensinde er skabt i menneskets historie.

Hvis du er interesseret i at læse mere dybtgående om, hvordan Bitcoin fungerer, kan du gøre det på Bitcoin.org.

�� Historie om kryptografi – en tidslinje for vigtige begivenheder

Kryptologi er en meget ung videnskab. Selvom mennesker har haft rudimentære former for kryptografi i tusinder af år, begyndte den systematiske undersøgelse af kryptologi som videnskab kun for omkring hundrede år siden. Fremkomsten af ​​computere gjorde kryptografi mange størrelsesordrer mere kompleks end det tidligere havde været.

  • 1900 f.Kr – Første bevis for ændrede symboler i tekst fundet i graven til Khnumhotep II i Egypten. Skrifterne var ikke beregnet til at være hemmelige, men er det første bevis, vi har for nogen, der ændrer kodningssymboler.
  • 100 f.Kr – Ceasar Cipher. Julius Caesar var kendt for at bruge en form for kryptering til at formidle hemmelige meddelelser til hans hærgeneraler, der er lagt ud på krigsfronten. Denne substitutionsciffer, kendt som Caesar -chiffer, er måske den mest nævnte historiske chiffer (en algoritme, der bruges til kryptering eller dekryptering) i akademisk litteratur. Det er en simpel ciffer, hvor hver karakter af den almindelige tekst simpelthen erstattes af en anden karakter med at danne chifferteksten. For eksempel bliver “a” “d”, “b” bliver “e”, og så videre.
  • 500 e.Kr – Vigenere’s chiffer. Vigenere designet en chiffer, der siges at have været den første chiffer, der brugte en hemmelig nøgle.
  • 1800Hebern Rotor Machine. I begyndelsen af ​​1800 -tallet, da alt blev elektrisk, designet Hebern en elektromekanisk enhed, der brugte en enkelt rotor, hvor den hemmelige nøgle er indlejret i en roterende disk. Det nøgle kodede en substitutionsboks, og hvert tastetryk på tastaturet resulterede i output fra chiffertekst. Ligesom Caesar- og Vigenere -chiffererne blev Heberns maskine brudt ved hjælp af bogstavfrekvenser.
  • 1918 – Enigma Machine. Engima -maskinen blev opfundet af den tyske ingeniør Arthur Scherbius i slutningen af ​​første verdenskrig og blev stærkt brugt af tyske styrker under 2. verdenskrig. Enigma -maskinen anvendte 3 eller flere rotorer, der drejer i forskellige hastigheder, når du skriver på tastaturet og udsender tilsvarende bogstaver i chifferteksten. I tilfælde af Enigma var nøglen den oprindelige indstilling af rotorerne.
  • 1943 Alan Turing m. Dette hold var også ansvarlig for at knække Enigma -maskinen under den anden verdenskrig.
  • 1948 – Claude Shannon skriver et papir, der er ansvarlig for at etablere vores moderne matematiske grundlag for informationsteori.
  • 1970 – Lucifer -chiffer. I de tidlige 1970’ere designede et team fra IBM en chiffer kaldet Lucifer. Nation Bureau of Standards (nu NIST) i U.S. Sæt en anmodning om forslag til en blokciffer, der ville blive en national standard. Lucifer blev til sidst accepteret og blev DES (datakrypteringsstandard).
  • 1977 – RSA Public Key -kryptering opfundet af Ron Rivest, Adi Shamir og Leonard Adleman.
  • 1991 – Phil Zimmermann frigiver PGP.
  • 1994 – Secure Sockets Layer (SSL) krypteringsprotokol frigivet af NetScape, som nu sikrer størstedelen af ​​det moderne web.
  • 1994 – Peter Shor udtænker en algoritme, der lader kvantecomputere bestemme faktoriseringen af ​​store heltal.
  • 1997 – Des brudt af udtømmende søgning. I 1997 og de følgende år blev Des brudt af et udtømmende søgeangreb. Det største problem med DES var den lille størrelse af krypteringsnøglen. Efterhånden som computerkraften steg, blev det let at brute tvinge alle de forskellige kombinationer af nøglen til at få en mulig PLAINTEXT -meddelelse.
  • 2000 – AES accepteret som DES -erstatning. I 1997 udsendte NIST igen en anmodning om forslag om en ny blokciffer. Det modtog 50 indsendelser. I 2000 accepterede det Rijndael og døbte den som AES eller den avancerede krypteringsstandard.
  • 2004 – MD5 viser sig at være sårbar over for kollisioner
  • 2009 – Bitcoin Network -lancering

�� Til videre undersøgelse

For begyndere: Hvis du er blevet inspireret til at lære kryptografi som en nybegynder til kodning og datalogi, har vi et helt Computer Science Course Curriculum til at tage dig fra komplet begynder til kandidatniveau. Da kryptografi er et mere avanceret emne, foreslår vi, at du starter med vores læring python.

For erfarne kodere: Vi anbefaler vores læring af kryptografikurs.

Kryptografi forklarede

Ny opfordring til handling

Anmod om demo

Kryptografi er kunsten og videnskaben i hemmelig skrivning. Det er grundlaget for online identitet, privatliv og sikkerhed. Kun omhyggelig og veludført anvendelse af kryptografi giver mulighed for at holde private oplysninger skjult for nysgerrige øjne og ører. Oprindelsen af ​​udtrykket ‘kryptografi’ stammer fra to ord på det græske sprog – κρυπτός (kryptós), der betyder hemmelig eller skjult, og γράφειν (graphein), hvilket betyder skrivning.

Vores moderne verden er afhængig af elektroniske midler til at oprette, opbevare og overføre information. Sikkerheden i dette digitale liv skylder meget kryptografi. Kryptografi skærer vores daglige liv på flere måder, som folk ofte er klar over.

Praktiske hverdagslige applikationer

Vores mobiltelefoner, computere, onlinetjenester og næsten al personlig online kommunikation er afhængige af forskellige kryptografiske algoritmer og metoder til beskyttelse af privatlivets fred og integritet af de involverede identiteter og data.

I løbet af en almindelig dag bruger vi mange, undertiden temmelig avancerede, kryptografiske enheder – der er smarte kort i vores tegnebøger, bærbare computere på vores skriveborde, mobiltelefoner i vores lommer, køretøjsinformationssystemer i vores biler, elektroniske låse på vores døre, og så videre.

Algoritmer – Transformering af data

Kryptografiske algoritmer er de grundlæggende værktøjer til denne handel. En algoritme er en metode eller en teknik, der anvendes til data. Når en algoritme bruges til at kryptere (skjule) dataene, omdannes de læsbare oplysninger (ofte omtalt som “rentext”) til en uleselig (krypteret) form. Når en krypteret data (eller “chiffertekst”) returneres til dens læsbare form, kaldes processen dekryptering.

Nogle algoritmer er tovejs (eller symmetrisk), hvilket betyder, at den samme algoritme (og nøgle) bruges til både kryptering og dekryptering. I modsætning hertil fungerer en en-retningelig algoritme kun på en måde (dvs. operationen kan ikke vendes). Et eksempel på en en -retningelig kryptografisk algoritme er en hash -algoritme, der producerer en hash – et digitalt “fingeraftryk” af de behandlede data. Hashet identificerer pålideligt oprindelsesdataene, og ingen to datasæt producerer den samme hash, men alligevel kan dette digitale fingeraftryk ikke omdannes til de originale data.

Der er tre hovedkategorier af disse algoritmer:

  • Offentlig nøgle Kryptografiskalgoritmer
  • Data Integritetsbeskyttelse Algoritmer
  • Symmetriske chifferalgoritmer.

Omkring disse tre kategorier af algoritmer imødekommer tre forskellige grundlæggende behov:

  • Pålidelig Godkendelse (af brugere og andre enheder)
  • Data Integritetsbeskyttelse
  • Beskyttelse af data privatliv.

Denne afdeling er noget af en forenkling, men vil tjene til denne artikel. For en mere grundig analyse, se en autoritativ kilde som Applied Cryptography af hr. Bruce Schneier .

Godkendelse med offentlige nøgler

Mens offentlig nøglekryptografi tillader datakryptering til beskyttelse af privatlivets fred (og bruges til det i nogle tilfælde, såsom PGP -e -mail -beskyttelsesordningen), er det besværlig. I stedet bruges det mest til at implementere stærk online godkendelse.

Stærk godkendelse er det mest fremtrædende brugssag om offentlig nøgle kryptografi, og i denne rolle bruger vi (ofte ubevidst) det dagligt.

Vigtige koncepter i offentlige nøglekryptosystemer er:

  • Nøglepar, der består af en offentlig nøgle og en privat nøgle
  • Offentlig nøglekryptografiskalgoritmer som RSA, DSA og ECDSA
  • Nøglelængder. For mere information, se retningslinjer for nøglestørrelse

Praktisk anvendelse af asymmetrisk krypto

Asymmetrisk kryptografi og private/offentlige nøglepar bruges i vid udstrækning til smartkortgodkendelse, SSH offentlig nøgle-godkendelse og autentificering af serverne til HTTPS-sikrede onlinetjenester.

PKI -certifikat

Asymmetrisk kryptografi er den centrale teknologi bag offentlig nøgleinfrastruktur (PKI), der tillader skalerbar udstedelse, tilbagekaldelse og styring af digitale certifikater. Certifikater bruges til stærk godkendelse og digitale underskrifter, og de danner grundlaget for tillid til andre sikkerhedsmetoder og protokoller, såsom SSL/TLS. PKI er undertiden blevet kaldt ID -kortkontoret på Internettet, da PKI tillader pålidelig, tredjepart,.

Integritetsbeskyttelse

Vores daglige liv nedbrydes i fantastiske mængder data hver dag – vores sundhedsregistre, økonomiske oplysninger, beskæftigelsesregistre, serviceabonnementer og andre dele af vores hverdag, registreres i og overføres mellem forskellige online systemer. Stoffet i vores liv er afhængigt af integriteten af ​​den svimlende masse af data – hver bit af disse oplysninger skal forblive nøjagtigt som det er. Datas integritet holder os i live – i nogle tilfælde ganske bogstaveligt.

Cryptography tilbyder metoder til beskyttelse og inspektion af integriteten af ​​digitale data i form af hashing og meddelelsesdigestalgoritmer. Disse envejsfunktioner kan tage et givet stykke data af vilkårlig størrelse og beregne et unikt, lille fingeraftryk af disse data. Dette fingeraftryk, hash, er unik for det bestemte stykke data, og endda en lille ændring i dataene resulterer i en helt anden hash. Disse hasher tillader påvisning af ændringer i data og er en væsentlig komponent i ethvert kryptosystem, der kræver beskyttelse af dataintegritet.

SHA-1 og SHA-2 er almindelige hash-algoritmer .

Praktiske anvendelser af hash -algoritmer

At sikre integriteten af ​​data, der er modtaget fra onlinekilder, er en af ​​de mest almindelige praktiske anvendelser af hash -algoritmer. Et temmelig enkelt og manuelt eksempel på brug.

SHA-1-kontrol af Linux ISO-billeder

På en mere avanceret og automatiseret måde er de forskellige hash-algoritmer integreret i sikre kommunikationsprotokoller, virusscannere, indholdsstyringssystemer og e-handelsplatforme. I disse praktiske applikationer bruges kryptografiske hash og meddelelsesfordøjer til at sikre integriteten af ​​data, når det krydser mellem systemer og netværk.

Beskyttelse af beskyttelse af personlige oplysninger

Den mest almindelige og sandsynligvis nemmeste forståede brug af kryptografi er de symmetriske chiffer . En symmetrisk krypteringsalgoritme er en metode, der gør data “skjult”, når den anvendes i den ene retning og returnerer dataene, der kan læses, når de bruges i den anden retning. De symmetriske (hemmelige) nøglefunktioner som adgangskoden til de beskyttede data. Disse algoritmer er typisk temmelig hurtige til at udføre, og de bruges i vid udstrækning til at garantere privatlivets fred i datakommunikation, databaser/harddiske og andre applikationer, hvor relativt store mængder data skal kryptografisk behandles i realtid (eller tæt på realtid).

Da den nøgle, der bruges til datakryptering og dekryptering, skal deles med hvert slutpunkt for den krypterede forbindelse eller med hver modtager af de krypterede data, er nøglegenereringen og udvekslingen et kritisk træk ved kryptosystemer, der bruger symmetriske chiffere. En fælles nøgleudvekslingsmekanisme i sikkerhedsprotokoller er Diffie-Hellman Key Exchange .

Almindelige symmetriske chiffer er for eksempel:

Praktiske anvendelser af symmetriske chiffer

Symmetriske chiffer bruges til sikker online kommunikation på utallige måder. De virtuelle private netværk (VPN’er), der forbinder fjerngrene i et enkelt virksomhedsnetværk, beskytter datakommunikation med protokoller, der bruger symmetriske chiffer. Symmetriske chiffere beskytter også databeskyttelse på mobiltelefoni, de fleste WiFi-netværk og i praktisk talt enhver online bank- og e-handelsservice.

Data ved REST -løsninger bruger hurtige symmetriske krypteringsalgoritmer til kryptering af diskindhold mod uekte brug. En almindelig krypteringsalgoritme i denne brugssag er AES-XTS .

Kryptografiske nøgler og nøglestyring

Et kryptosystem er et multiplum af dets dele – et væsentligt sikkerhedsmæssigt problem på ethvert system er den måde, krypteringstasterne styres. Selv den stærkeste krypteringsalgoritme giver ingen sikkerhed, hvis angriberen kan få adgang til krypteringstasterne .

Enterprise -netværk generelt er designet med omhyggelige overvejelser til identitet og adgangsstyring. De vejledende principper for at give adgang til ressourcer baseret på en persons rolle (det være sig en bruger eller en proces) eller af adskillelse af opgaver giver et udgangspunkt for en veldesignet adgangskontrolimplementering. Disse principper skal anvendes til praksis i alle aspekter af virksomhedsadgang. Indtil videre har brugerniveau-adgangskontrollen været i lyset af IAM, men i nyere tid har fokus.

Vi ved SSH Secure Communications mellem systemer, automatiserede applikationer og mennesker. Vi stræber efter at opbygge fremtidssikker og sikker kommunikation for virksomheder og organisationer til at vokse sikkert i den digitale verden.

  • Løsninger
    • Zero Trust Suite
    • Kvantesikker kryptografi (QSC)
    • Sikkert samarbejde 2024
    • Sikkerhedsrisikobegrænsning
    • OT SIKKERHED
    • MSP Security
    • Sikre Active Directory
    • Just-in-time adgang
    • Sikker adgang til leverandør
    • Hybrid Cloud Security
    • Credentials & Secrets Management
    • Det revisser og overholdes
    • Privx ™ Hybrid Pam
    • UKM Zero Trust ™
    • Tectia SSH Client/Server ™
    • Tectia ™ Z/OS
    • SSH Secure Collaboration 2024
    • Sikker mail 2024
    • Sikkert tegn
    • NQX ™ kvantesikker
    • SSH Risk Assessment ™
    • Professionelle tjenester
    • Support
    • Karrierer
    • Referencer
    • Downloads
    • Manualer
    • Begivenheder og webinarer
    • Blog
    • Om os
    • Kontakt
    • Investorer
    • Partnere
    • Trykke

    Bliv på toppen af ​​det nyeste inden for cybersikkerhed

    Være den første til at vide om SSHs nye løsninger, produkt
    Opdateringer, nye funktioner og andre SSH -nyheder!