Hvordan HTTPS sikrer tilkoblingen din: Hva enhver nettutvikler bør vite. Symmetrisk og asymmetrisk kryptering for nybegynnere

For å utveksle meldinger og skjule innhold fra tredjeparter, brukes kryptering. Den brukes der det kreves økt beskyttelsesnivå. Det er to krypteringsskjemaer: symmetrisk og asymmetrisk.

Hva er kryptering

Kryptering vil være nyttig når du trenger å skjule noe informasjon fra uautoriserte personer og gi hemmelige data til autoriserte brukere.

Et trekk ved denne typen dataoverføring er bruken av en nøkkel.

Det er tre sikkerhetstilstander:

  • skjule informasjon fra fremmede;
  • forebygging av endringer;
  • opprettholde integriteten til informasjonen;
  • identifikasjon av avsender.

For å lese informasjon kreves det i tillegg til nøkkelen en dekoder. Det er dette som gjør det umulig for nettkriminelle å få tak i data, fordi ved å fange opp dataene, men ikke ha nøkkel, er det umulig å lese dem.

Det finnes to typer kryptering: symmetrisk og asymmetrisk.

Hovedformålet med kryptering er å lagre informasjon. Dette lar deg jobbe med noen data fra upålitelige kilder, overføre meldinger over usikre kanaler. Informasjon sendes slik:

  • avsenderen krypterer dataene;
  • mottakeren dekrypterer.

Hver transformasjon implementeres ved hjelp av algoritmer som bruker nøkler til å løse. Symmetriske og asymmetriske krypteringsmetoder er kryptografisk sterke.

Krypto motstand

Symmetriske og asymmetriske krypteringssystemer har en egenskap som er ansvarlig for vanskeligheten med å få uautorisert tilgang.

Det er 2 hovedtyper av kryptografisk styrke til et krypteringssystem.

  • Et absolutt motstandsdyktig system kan ikke avsløres, selv med uendelig store dataressurser. Den kjennetegnes ved at det genereres en egen nøkkel for hver melding. Lengden er lik eller større enn lengden på meldingen.
  • Tilstrekkelig sterke systemer brukes i et sivilt kryptografisk system. En slik algoritme er vanskelig å tyde, men med tilgjengeligheten av passende ressurser blir det mulig.
  • Sammenligning av den kryptografiske styrken til noen krypteringssystemer

    Maksimal RSA-nøkkelstørrelse er 4096 biter.

    Den brukes til kryptering og signatur. Den kryptografiske styrken kan beskrives som 2.7.1028 for en 1300 bits nøkkel. Ordningen brukes i mange standarder, RSA-krypteringsprinsippet er en av de første asymmetriske algoritmene.

    ElGamal-skjemanøkkelstørrelsen er RSA - 4096 bits. Den brukes til både kryptering og digitale signaturer. Den kryptografiske styrken til dette systemet skiller seg ikke fra RSA med samme nøkkelstørrelse.

    DSA-metoden bruker en mye mindre nøkkel på 1024 biter. Den brukes utelukkende til digitale signaturer.

    Symmetrisk og asymmetrisk kryptering

    Disse to typene kryptering er forskjellige i antall nøkler og nivået av motstand mot sprekker.

    Hvis én nøkkel brukes til koding og dekoding, er denne krypteringen symmetrisk. Asymmetrisk kryptering innebærer bruk av én nøkkel for hver algoritme.

  • En offentlig nøkkel brukes til å kryptere en eller annen kode, som er en spesifikk melding. Nøkkelen er kjent for begge parter, den sendes over en ubeskyttet kanal, og kan avlyttes. Den viktigste oppgaven med å lagre informasjon er å beskytte nøkkelen mot avlytting.
  • Privat brukes til dekryptering. Kun kjent på den ene siden. Den kan ikke avlyttes, siden den er med samme samtalepartner hele tiden.
  • Formålet med kryptering avgjør hvordan konfidensialitet opprettholdes. En av de første var symmetrisk, asymmetrisk kryptering, oppfunnet senere for å gi større sikkerhet.

    Funksjoner av symmetrisk kryptering

    Det symmetriske beskyttelsessystemet har følgende fordeler.

  • Høy hastighet og enkel implementering.
  • For å sikre styrken til chifferen brukes en kort nøkkellengde.
  • Ulempene inkluderer følgende:

    • kompleksiteten til nøkkelstyring i et stort nettverk;
    • kompleksiteten til nøkkelutvekslingen;
    • behovet for å finne en pålitelig kanal for å overføre nøkkelen til partene;
    • manglende evne til å bruke for digitale signaturer, sertifikater.

    For å kompensere for manglene, brukes et kombinert opplegg der nøkkelen som brukes til dekryptering, overføres ved hjelp av asymmetrisk kryptering. Det overføres ved hjelp av symmetrisk kryptering.

    Funksjoner av asymmetrisk kryptering

    Å bruke et offentlig-privat nøkkelpar kan brukes som:

    • uavhengige midler for informasjonsbeskyttelse;
    • nøkkeldistribusjonsanlegg;
    • midler for brukerautentisering.

    Har følgende fordeler:

    • lagring av den hemmelige nøkkelen på et trygt sted, i stedet for som den åpne overføres over den åpne kanalen;
    • dekrypteringsnøkkelen er kjent for bare én part;
    • i et stort asymmetrisk system, bruk færre taster i motsetning til en symmetrisk.

    Det er vanskelig å gjøre noen endringer i slike algoritmer. Et system som dette har lange taster. Hvis den symmetriske nøkkelen er 128 biter, er RSA-nøkkelen 2304 biter. På grunn av dette lider dekrypteringshastigheten - den er 2-3 ganger langsommere. Dekryptering krever store dataressurser.

    Det er mange eksempler på symmetriske og asymmetriske krypteringssystemer.

    Symmetrisk kryptering – hvordan ser det ut?

    Et eksempel på symmetrisk kryptering og implementeringsskjema er nedenfor.

  • Det er to samtalepartnere som planlegger å utveksle konfidensiell informasjon.
  • Den første samtalepartneren genererer en nøkkel d, krypteringsalgoritmer E og dekryptering D. Deretter sender han denne informasjonen til den andre samtalepartneren.
  • Meldingen dekrypteres med nøkkel d.
  • Den største ulempen er manglende evne til å fastslå ektheten til teksten. Hvis nøkkelen blir fanget opp, vil angriperen dekryptere den hemmelige informasjonen.

    Det finnes klassiske metoder.

  • Enkel og dobbel permutasjon.
  • Magisk firkant.
  • Enkel permutasjon.
  • Den første metoden er en av de enkleste og bruker ikke en nøkkel i skjemaet. Avsender og mottaker blir enige om en bestemt nøkkel, representert i form av en tabellstørrelse. Den overførte meldingen skrives til kolonnene i tabellen, men leses linje for linje. Når mottakeren kjenner størrelsen på tabellen, dekrypterer meldingen.

    For å gi mer hemmelighold brukes en dobbel permutasjon. Dermed skjer krypteringen av den tidligere krypterte teksten. For dette må tabeller variere i antall rader og kolonner. De er fylt vertikalt, horisontalt, i en slange, i en spiral. Denne metoden styrker ikke krypteringen, men krakkingsprosessen tar lengre tid.

    Den "magiske firkanten" er en mer kompleks struktur, som er en matrise. Naturlige tall er skrevet inn i cellene på en slik måte at summen av tallene for hver kolonne, rad, diagonal er den samme. Hvert tall tilsvarer en bokstav i meldingen. Den resulterende teksten skrives ut til en streng ved å sammenligne tall og symboler.

    Eksempler på asymmetrisk kryptering

    I dette tilfellet sendes den offentlige nøkkelen over en åpen kanal og kan teoretisk avskjæres av angripere.

    I motsetning til symmetriske krypteringsnøkler, er asymmetriske krypteringsnøkler annerledes. Den offentlige nøkkelen brukes til kryptering, den private nøkkelen brukes til å dekryptere meldingen. Bruk av to nøkler løser avskjæringsproblemet som var i den symmetriske metoden. Den implementeres som følger.

  • Den første samtalepartneren velger krypterings- og dekrypteringsalgoritmer, et par nøkler. Den offentlige nøkkelen sendes til den andre samtalepartneren.
  • Den andre samtalepartneren krypterer informasjonen ved å bruke den mottatte nøkkelen. Sender informasjon til den første chattepartneren, som dekrypterer meldingen ved hjelp av den private nøkkelen.
  • Det er slike grunnleggende metoder for asynkron kryptering.

  • El Gamal-chiffer.
  • RSA

    RSA er den første kryptografiske algoritmen som brukes for både kryptering og digital signatur.

    Det er beskrevet som følger.

  • To primtall er valgt, for eksempel 3 og 7.
  • Modulen n beregnes - produktet av to tall. Det viser seg 21.
  • Euler-funksjonen φ = (p-1) × (q-1) = 2 × 6 = 12 beregnes.
  • Ethvert primtall e mindre enn φ og primtall med φ beregnes. Tilgjengelige alternativer: 5, 7, 11.
  • Et tallpar e, n (5, 21) er en offentlig nøkkel. Nå er tallene d og n for den private nøkkelen beregnet. Tallet d tilfredsstiller betingelsen (d × e) mod φ = 1 og er lik 17. Som et resultat er det andre paret med tall 17 og 21 en privat nøkkel. Kryptering utføres som følger: meldingen heves til potensen e, resten av divisjonen med n tas, og resultatet må være mindre enn n. Det viser seg 10 - det vil være kodede data. For dekoding heves e til potensen d, og resten av divisjonen med n beregnes.

    DSA

    DSA (i motsetning til RSA) brukes kun til digitale signaturer, ikke kryptering. Den angitte signaturen kan verifiseres offentlig. Det er to algoritmer for signaturgenerering og verifisering. Det er hashmeldingen som er kryptert, som representerer teksten i digital form. Derfor velges en kompleks hashfunksjon for å unngå kollisjoner. Å bygge en digital signatur består av følgende trinn.

  • Velge en kryptografisk hash-funksjon H (x).
  • Bitheten til et primtall q må være lik verdien av hashfunksjonen H (x).
  • Valg av et slikt primtall p slik at p-1 er delelig med q uten rest.
  • Beregner tallet g = h (p-1) / q mod p. h må være et vilkårlig tall i området 1 til p-1.
  • Et tilfeldig tall k velges fra 0 til q.
  • R = (gk mod p) mod q beregnes.
  • Da er s = k-1 (H (m) + xr)) mod q.
  • Hvis r = 0 eller s = 0, velges et annet tall k.
  • El Gamal-ordningen

    ElGamal-kryptering brukes til digitale signaturer. Det er en fortsettelse av Diffie-Hellman-algoritmen.

    Når du arbeider med denne ordningen, er det viktig å vurdere følgende funksjon. El Gamal-kryptering er ikke en digital signaturalgoritme med samme navn. Når den er kryptert, konverteres teksten til et chiffer, som er 2 ganger lengre enn den opprinnelige meldingen.

    Nøkler genereres som følger.

  • Et tilfeldig primtall p er valgt.
  • Tallet g må være den primitive roten av p.
  • Tallet x må være større enn 1 og mindre enn p-1. Dette vil være den private nøkkelen.
  • Den offentlige nøkkelen y beregnes deretter ved å bruke formelen g ^ x mod p.
  • Ved kryptering av teksten M velges systemnøkkelen K. Den er større enn én og mindre enn p-1. Deretter beregnes tallene a og b, som er chiffertekst, a = g ^ k mod p og b = y ^ k M mod p.

  • Utvikling av nettsider,
  • Algoritmer
    • Oversettelse

    Hvordan fungerer HTTPS uansett? Dette er et spørsmål jeg har slitt med i flere dager i arbeidsutkastet mitt.

    Som webutvikler visste jeg at det å bruke HTTPS for å beskytte brukerdata var en veldig, veldig god idé, men jeg hadde aldri en solid forståelse av hvordan HTTPS faktisk fungerer.

    Hvordan er data beskyttet? Hvordan kan klient og server etablere en sikker forbindelse hvis noen allerede lytter på kanalen deres? Hva er et sikkerhetssertifikat og hvorfor skal jeg betale noen for å få det?

    Rørledning

    Før vi dykker ned i hvordan dette fungerer, la oss kort snakke om hvorfor det er så viktig å sikre Internett-tilkoblinger og hva HTTPS beskytter mot.

    Når en nettleser sender en forespørsel til favorittnettstedet ditt, må den forespørselen gå gjennom mange forskjellige nettverk, hvorav alle potensielt kan brukes til å avlytte eller tukle med den etablerte tilkoblingen.

    Fra din egen datamaskin til andre datamaskiner på ditt lokale nettverk, gjennom rutere og svitsjer, gjennom din ISP og gjennom mange andre mellomleverandører – et stort antall organisasjoner videresender dataene dine. Hvis en angriper befinner seg i minst én av dem, har han mulighet til å se hvilke data som overføres.

    Vanligvis sendes forespørsler over vanlig HTTP, der både klientens forespørsel og serverens svar sendes i klartekst. Og det er mange overbevisende grunner til at HTTP ikke bruker kryptering som standard:

    Dette krever mer datakraft.
    Mer data blir overført
    Kan ikke bruke caching

    Men i noen tilfeller, når ekstremt viktig informasjon (som passord eller kredittkortinformasjon) overføres over kommunikasjonskanalen, må det iverksettes ytterligere tiltak for å forhindre avlytting av slike forbindelser.

    Transport Layer Security (TLS)

    Nå skal vi dykke inn i kryptografiens verden, men vi trenger ikke noen spesiell erfaring for dette - vi vil bare vurdere de mest generelle spørsmålene. Så, kryptografi lar deg beskytte forbindelsen fra potensielle angripere som ønsker å forstyrre forbindelsen eller bare lytte til den.

    TLS, etterfølgeren til SSL, er den protokollen som oftest brukes for å gi sikre HTTP-tilkoblinger (kalt HTTPS). TLS er ett lag under HTTP i OSI-modellen. Forklarende på fingrene betyr dette at i prosessen med å utføre en forespørsel, skjer først alle "tingene" knyttet til TLS-tilkoblingen og først deretter alt relatert til HTTP-tilkoblingen.

    TLS er et hybrid kryptografisk system. Dette betyr at den bruker flere kryptografiske tilnærminger, som vi vil diskutere videre:

    1) Asymmetrisk kryptering (et offentlig nøkkelkryptosystem) for å generere en delt hemmelighet og autentisering (det vil si å bekrefte at du er den du sier du er).
    2) Symmetrisk kryptering, ved å bruke en hemmelig nøkkel for å kryptere forespørsler og svar ytterligere.

    Offentlig nøkkel kryptosystem

    Et offentlig nøkkel kryptosystem er en type kryptografisk system der hver part har både en offentlig og en privat nøkkel matematisk relatert. Den offentlige nøkkelen brukes til å kryptere meldingsteksten på tull, mens den private nøkkelen brukes til å dekryptere og hente den originale teksten.

    Siden en melding ble kryptert med den offentlige nøkkelen, kan den bare dekrypteres med den tilsvarende private nøkkelen. Ingen av tastene kan tjene begge funksjonene. Den offentlige nøkkelen publiseres i det offentlige uten risiko for å utsette systemet for trusler, men den private nøkkelen skal ikke gis videre til noen som ikke har rett til å dekryptere dataene. Så vi har nøkler - offentlige og private. En av de mest imponerende fordelene med asymmetrisk kryptering er at to parter, tidligere helt uvitende om hverandre, kan etablere en sikker forbindelse, i utgangspunktet utveksle data over en åpen, usikker forbindelse.
    Klienten og serveren bruker sine egne private nøkler (hver sin egen) og den publiserte offentlige nøkkelen for å generere en delt hemmelighet for økten.

    Dette betyr at hvis noen er mellom klienten og serveren og observerer forbindelsen, vil han fortsatt ikke kunne finne ut verken klientens private nøkkel, eller serverens private nøkkel, eller øktens hemmelige nøkkel.

    Hvordan er dette mulig? Matte!

    Diffie-Hellman-algoritmen

    En av de vanligste tilnærmingene er Diffie-Hellman (DH) nøkkelutvekslingsalgoritme. Denne algoritmen lar klienten og serveren bli enige om en delt hemmelighet uten å måtte overføre hemmeligheten over forbindelsen. Dermed vil ikke angripere som lytter til kanalen kunne bestemme den hemmelige nøkkelen, selv om de avskjærer alle datapakker uten unntak.

    Når DH-nøkkelutvekslingen har funnet sted, kan den resulterende hemmelige nøkkelen brukes til å kryptere ytterligere tilkoblinger i denne økten ved å bruke mye enklere symmetrisk kryptering.

    Litt matte...

    De matematiske funksjonene som ligger til grunn for denne algoritmen har et viktig særpreg - de er relativt enkle å beregne i foroverretningen, men praktisk talt ikke beregnet i motsatt retning. Det er her veldig store primtal spiller inn.

    La Alice og Bob være to parter som utveksler nøkler ved hjelp av DH-algoritmen. Først er de enige om en eller annen grunn rot(vanligvis et lite tall som 2,3 eller 5) og et veldig stort primtall prime(mer enn 300 sifre). Begge verdiene sendes i klartekst over kommunikasjonskanalen, uten trussel om å kompromittere forbindelsen.

    Husk at både Alice og Bob har sine egne private nøkler (mer enn 100 sifre), som aldri overføres over kommunikasjonskanaler.

    Blandingen overføres over kommunikasjonskanalen blanding avledet fra private nøkler så vel som verdier prime og rot.

    Og dermed:
    Alices blanding = (root ^ Alice's Secret) % primtall
    Bobs blanding = (root ^ Bob's Secret) % primtall
    hvor % er resten av divisjonen

    Dermed lager Alice blandingen sin basert på de godkjente verdiene til konstantene ( rot og prime), Bob gjør det samme. En gang fikk de verdier blanding hverandre, utfører de ytterligere matematiske operasjoner for å få øktens private nøkkel. Nemlig:

    Alice sine beregninger
    (Bobs blanding ^ Alice's Secret) % prime

    Bobs beregninger
    (Alices blanding ^ Bob's Secret) % prime

    Resultatet av disse operasjonene er det samme nummeret for både Alice og Bob, og dette nummeret blir den private nøkkelen for denne økten. Vær oppmerksom på at ingen av partene skulle sende sin private nøkkel over kommunikasjonskanalen, og den mottatte hemmelige nøkkelen ble heller ikke overført over en åpen forbindelse. Fabelaktig!

    For de som er mindre matematisk kunnskapsrike, gir Wikipedia et utmerket bilde som forklarer prosessen ved å bruke fargeblanding som eksempel:

    Legg merke til hvordan den opprinnelige fargen (gul) til slutt blir til den samme "blandede" fargen for både Bob og Alice. Det eneste som overføres over den åpne kommunikasjonskanalen er halvblandede farger, faktisk meningsløse for alle som lytter til kommunikasjonskanalen.

    Symmetrisk kryptering

    Utveksling av nøkler skjer kun én gang per økt, under forbindelsesetablering. Når partene allerede har blitt enige om den hemmelige nøkkelen, skjer klient-server-interaksjonen ved hjelp av symmetrisk kryptering, noe som er mye mer effektivt for overføring av informasjon, siden det ikke kreves ekstra bekreftelseskostnader.

    Ved å bruke den hemmelige nøkkelen som er oppnådd tidligere, i tillegg til å bli enige om krypteringsmodusen, kan klienten og serveren kommunisere sikkert ved å kryptere og dekryptere meldinger mottatt fra hverandre ved hjelp av den hemmelige nøkkelen. En angriper som kobler seg til kanalen vil bare se "søppel" gå frem og tilbake over nettverket.

    Godkjenning

    Diffie-Hellman-algoritmen lar to parter få en privat hemmelig nøkkel. Men hvordan kan begge parter være sikre på at de virkelig snakker med hverandre? Vi har ikke snakket om autentisering ennå.

    Hva om jeg ringer vennen min, vi vil utføre DH-nøkkelutveksling, men plutselig viser det seg at samtalen min ble avlyttet og faktisk kommuniserte med noen andre?! Jeg vil fortsatt kunne kommunisere trygt med denne personen – ingen andre vil kunne høre på oss – men det vil slett ikke være hvem jeg tror jeg kommuniserer med. Det er ikke for sikkert!

    For å løse autentiseringsproblemet trenger vi en offentlig nøkkelinfrastruktur for å sikre at forsøkspersoner er den de sier de er. Denne infrastrukturen er bygget for å opprette, administrere, distribuere og tilbakekalle digitale sertifikater. Sertifikater er de irriterende tingene du må betale for for å få nettstedet ditt til å kjøre over HTTPS.

    Men, faktisk, hva er dette sertifikatet, og hvordan gir det oss sikkerhet?

    Sertifikater

    I en grov tilnærming er et digitalt sertifikat en fil som bruker en elektronisk digital signatur (mer om dette om et minutt) og knytter en datamaskins offentlige (offentlige) nøkkel til dens eierskap. En digital signatur på et sertifikat betyr at noen bekrefter at en gitt offentlig nøkkel tilhører en bestemt person eller organisasjon.

    I hovedsak forbinder sertifikater domenenavn med en bestemt offentlig nøkkel. Dette forhindrer en angriper i å avsløre sin offentlige nøkkel ved å utgi seg for serveren som klienten får tilgang til.

    I telefoneksemplet ovenfor kan en hacker prøve å vise meg den offentlige nøkkelen sin som utgir seg for å være min venn - men signaturen på sertifikatet hans vil ikke tilhøre noen jeg stoler på.

    For at et sertifikat skal være klarert av en nettleser, må det være signert av en akkreditert sertifiseringsinstans (sertifikatmyndighet, CA). CA-er er selskaper som manuelt bekrefter at en person som prøver å få et sertifikat oppfyller følgende to betingelser:

    1. er ekte;
    2. har tilgang til domenet den prøver å få et sertifikat for.

    Når CA er sikker på at søkeren er en reell søker og at han faktisk kontrollerer domenet, signerer CA sertifikatet for dette nettstedet, og setter i hovedsak et bekreftelsesstempel på det faktum at den offentlige nøkkelen til nettstedet virkelig tilhører ham og kan være til å stole på.

    Nettleseren din er allerede forhåndslastet med en liste over akkrediterte CAer. Hvis serveren returnerer et sertifikat som ikke er signert av en akkreditert CA, vil en stor rød advarsel vises. Ellers kan alle signere falske sertifikater.

    Så selv om hackeren tok den offentlige nøkkelen til serveren sin og genererte et digitalt sertifikat som bekrefter at denne offentlige nøkkelen er assosiert med facebook.com, vil ikke nettleseren tro på dette, siden sertifikatet ikke er signert av en akkreditert CA.

    Andre ting å vite om sertifikater

    Utvidet validering
    I tillegg til de vanlige X.509-sertifikatene, finnes det utvidede valideringssertifikater som gir et høyere nivå av tillit. Ved å utstede et slikt sertifikat, utfører CA enda flere kontroller av personen som mottar sertifikatet (vanligvis ved hjelp av passdetaljer eller kontoer).

    Ved mottak av et slikt sertifikat viser nettleseren en grønn linje i adressefeltet, i tillegg til det vanlige låsikonet.

    Betjener flere nettsteder på én server
    Siden utveksling av data over TLS-protokollen skjer allerede før starten av HTTP-tilkoblingen, kan det oppstå problemer dersom flere nettsider ligger på samme webserver på samme IP-adresse. Rutingen av virtuelle verter gjøres av webserveren, men TLS-tilkoblingen skjer enda tidligere. Et enkelt sertifikat for hele serveren vil bli brukt når du ber om et hvilket som helst nettsted på serveren, noe som kan forårsake

    Hei!
    La oss ta en titt på hva symmetrisk og asymmetrisk kryptografi er - hvorfor de kalles det, hva de brukes til og hvordan de er forskjellige.

    For å være presis er det mer riktig å si symmetriske og asymmetriske krypteringsalgoritmer.

    Kryptografi (krypto - gjemme, gjemme), som vitenskapen om å skjule det som er skrevet, vitenskapen om å skjule informasjon.

    De fleste av krypteringsalgoritmene som brukes er åpen kildekode, det vil si at beskrivelsen av algoritmen er tilgjengelig for alle. Hemmeligheten er krypteringsnøkkelen, uten hvilken det er umulig å kryptere, og enda mer, å dekryptere informasjon.

    Symmetriske krypteringsalgoritmer er algoritmer som bruker samme nøkkel for kryptering og dekryptering. Det vil si at hvis vi ønsker å utveksle krypterte meldinger med en venn, så må vi først avtale hvilken krypteringsnøkkel vi skal bruke. Det vil si at vi vil ha én krypteringsnøkkel for to.

    I symmetriske algoritmer er krypteringsnøkkelen en sårbarhet, og det må utvises mer forsiktighet for å forhindre at andre lærer nøkkelen.

    Asymmetriske krypteringsalgoritmer er alogrytmer der forskjellige, men matematisk relaterte nøkler brukes til kryptering og dekryptering. Slike assosierte nøkler kalles et kryptopar. En av dem er privat, den andre er offentlig. Samtidig kan informasjon kryptert med en offentlig nøkkel kun dekrypteres ved hjelp av en privat nøkkel, og omvendt kan det som er kryptert med en privat nøkkel kun dekrypteres med en offentlig nøkkel.
    Du oppbevarer den private nøkkelen på et trygt sted, og ingen andre enn du vet det, og du gir ut en kopi av den offentlige nøkkelen til alle. Derfor, hvis noen ønsker å utveksle krypterte meldinger med deg, krypterer han meldingen ved hjelp av din offentlige nøkkel, som er tilgjengelig for alle, og denne meldingen kan kun dekrypteres med din private nøkkel.

    Nå om hva og hvorfor symmetriske og asymmetriske algoritmer brukes:
    Tabellen viser at for å kryptere en stor mengde informasjon, for strømmingskryptering (for eksempel kryptert VPN), brukes raske og lite krevende symmetriske algoritmer.

    Men hvis vi trenger å sikre en liten mengde informasjon så mye som mulig, mens vi ikke er begrenset av tid og dataressurser, kan vi bruke asymmetrisk kryptografi.

    I livet er selvfølgelig alt litt annerledes enn i teorien.
    I livet brukes en kombinasjon av symmetriske og asymmetriske algoritmer.

    For eksempel, en VPN med kryptering:

      Det første trinnet bruker asymmetriske nøkkelalgoritmer for å få en symmetrisk krypteringsnøkkel ().
    I det andre trinnet krypteres strømmedataene ved hjelp av symmetriske algoritmer med nøkkelen generert i det første trinnet.

    Det er derfor vanlig praksis å bruke en symmetrisk nøkkel for raskt å kryptere store datamengder. I dette tilfellet, for utveksling og overføring av en symmetrisk nøkkel, brukes asymmetriske krypteringsalgoritmer.

    Vi har gitt ut en ny bok, "Content Marketing on Social Media: How to Get Into the Heads of Subscribers and Fall in Love with Your Brand".

    Abonner på

    HTTP er den som tillater overføring av data. Opprinnelig ble det opprettet for å sende og motta dokumenter som inneholder lenker inne for å utføre en overgang til tredjepartsressurser.

    Forkortelsen lyder "HyperText Transfer Protocol", som betyr "protokoll for overføring". HTTP tilhører en applikasjonslaggruppe basert på spesifikasjonene som brukes av OSI.

    For bedre å forstå hva HTTP betyr, la oss se på en enkel analogi. La oss forestille oss at du kommuniserer med en utlending på et sosialt nettverk. Han sender deg en melding på engelsk, du mottar den. Men du kan ikke forstå innholdet, fordi du ikke kan språket nok. Bruk en ordbok for å dekryptere meldingen. Etter å ha forstått essensen, svarer du utlendingen på russisk og sender svaret. Utlendingen får svar og tyder ved hjelp av tolk budskapet. For å forenkle hele mekanismen fungerer Internett-protokollene HTTP som en oversetter. Med deres hjelp kan nettleseren oversette det krypterte innholdet på nettsider og vise innholdet deres.

    Hva er HTTP for?

    HTTP-protokollen brukes til å utveksle informasjon ved hjelp av en klient-server-modell. Klienten komponerer og sender en forespørsel til serveren, deretter behandler og analyserer serveren den, hvoretter et svar opprettes og sendes til brukeren. På slutten av denne prosessen lager klienten en ny kommando, og alt gjentas.

    Dermed gjør HTTP-protokollen det mulig å utveksle informasjon mellom ulike brukerapplikasjoner og spesielle webservere, samt koble til nettressurser (vanligvis nettlesere). I dag driver den beskrevne protokollen hele nettverket. HTTP-dataoverføringsprotokollen brukes også til å overføre informasjon over andre lavere nivåprotokoller som WebDAV eller SOAP. I dette tilfellet er protokollen et transportmiddel. Mange programmer er også avhengige av HTTP som sitt primære kommunikasjonsverktøy. Dataene presenteres i ulike formater, for eksempel JSON eller XML.

    HTTP er en protokoll for utveksling av informasjon over en IP/TCP-tilkobling. Vanligvis bruker serveren port 80 av TCP-typen for dette. Hvis ingen port er spesifisert, vil klientprogramvaren bruke TCP-port 80 som standard. I noen tilfeller kan andre porter brukes.

    HTTP-protokollen bruker et symmetrisk krypteringsskjema og bruker symmetriske kryptosystemer. Symmetriske kryptosystemer innebærer bruk av samme nøkkel for å kryptere og dekryptere informasjon.

    Hvordan HTTP skiller seg fra HTTPS

    Forskjellen kan finnes selv fra dekoding av forkortelser. HTTPS står for Hypertext Transfer Protocol Protection. Dermed er HTTP en egen protokoll, og HTTPS er en utvidelse for å beskytte den. Over HTTP overføres informasjon usikret, og HTTPS gir kryptografisk beskyttelse. Dette gjelder spesielt for ressurser med ansvarlig autorisasjon. Disse kan være sosiale nettverk eller nettsteder for betalingssystemer.

    Hvorfor er overføring av ubeskyttede data farlig? Et avlyttingsprogram kan overføre dem til nettkriminelle når som helst. HTTPS har en kompleks teknisk organisasjon, som lar deg pålitelig beskytte informasjon og utelukke muligheten for uautorisert tilgang til den. Forskjellen ligger også i portene. HTTPS fungerer vanligvis på port 443.

    Dermed brukes HTTP for dataoverføring, og HTTPS tillater sikker dataoverføring ved bruk av kryptering og autorisasjon på ressurser med et høyt sikkerhetsnivå.

    Ekstra funksjonalitet

    HTTP er rik på funksjonalitet og er kompatibel med ulike utvidelser. 1.1-spesifikasjonen som er i bruk i dag gjør at oppgraderingshodet kan brukes til å bytte og jobbe gjennom andre protokoller ved utveksling av data. For å gjøre dette må brukeren sende en forespørsel til serveren med denne overskriften. Hvis serveren trenger å bytte til en spesifikk sentral ved hjelp av en annen protokoll, returnerer den en forespørsel til klienten, som viser statusen "426 Upgrade Required".

    Denne funksjonen er spesielt relevant for utveksling av informasjon via WebSocket (har RFC 6455-spesifikasjonen, lar deg utveksle data når som helst, uten unødvendige HTTP-forespørsler). For å bytte til WebSocket sender en bruker en forespørsel med oppgraderingshodet og verdien "websocket". Serveren svarer deretter med "101 Switching Protocols". Etter dette øyeblikket begynner overføringen av informasjon via WebSocket.