Offentlig og privat nøkkel: hva brukes de til? Public Key Kryptografi Nøkkelvarighet

💖 Liker du det? Del lenken med vennene dine
offentlig nøkkel, bemerket at dette kravet benekter hele essensen av kryptografi, nemlig muligheten til å opprettholde universell hemmelighold i kommunikasjon.

Den andre oppgaven er behovet for å lage mekanismer som vil gjøre det umulig å erstatte noen av deltakerne, dvs. behov for digital signatur. Når kommunikasjon brukes til en lang rekke formål, for eksempel kommersielle og private formål, må elektroniske meldinger og dokumenter ha tilsvarende signatur i papirdokumenter. Det må lages en metode for å sikre at alle deltakere er overbevist om at e-posten er sendt av en bestemt deltaker. Dette er et sterkere krav enn autentisering.

Diffie og Hellman oppnådde betydelige resultater ved å foreslå en måte å løse begge problemene på som er radikalt forskjellig fra alle tidligere tilnærminger til kryptering.

La oss først se på de generelle funksjonene krypteringsalgoritmer med en offentlig nøkkel og krav til disse algoritmene. La oss bestemme kravene som må oppfylles av en algoritme som bruker en nøkkel for kryptering og en annen nøkkel for dekryptering, og det er beregningsmessig umulig å bestemme dekrypteringsnøkkelen med kun kjennskap til krypteringsalgoritmen og krypteringsnøkkelen.

I tillegg har noen algoritmer, for eksempel RSA, følgende egenskaper: hver av de to nøklene kan brukes til både kryptering og dekryptering.

Vi vil først vurdere algoritmer som har begge egenskapene, og deretter gå videre til offentlige nøkkelalgoritmer som ikke har den andre egenskapen.

Når man skal beskrive symmetrisk kryptering og offentlig nøkkelkryptering vil vi bruke følgende terminologi. Nøkkel brukt i symmetrisk kryptering, ringer vi hemmelig nøkkel. De to nøklene som brukes i offentlig nøkkelkryptering vil bli kalt offentlig nøkkel Og privat nøkkel. Den private nøkkelen holdes hemmelig, men vi vil kalle den den private nøkkelen i stedet for den hemmelige nøkkelen for å unngå forvirring med nøkkelen som brukes i symmetrisk kryptering. Den private nøkkelen vil bli betegnet med KR, den offentlige nøkkelen med KU.

Vi vil anta at alle deltakere har tilgang til hverandres offentlige nøkler, og at private nøkler opprettes lokalt av hver deltaker og derfor ikke skal distribueres.

Når som helst kan deltakeren endre sin privat nøkkel og publiser den offentlige nøkkelen som utgjør paret, og erstatte den gamle offentlige nøkkelen med den.

Diffie og Hellman beskriver kravene som må oppfylles krypteringsalgoritme med en offentlig nøkkel.

  1. Det er beregningsmessig enkelt å lage et par (offentlig nøkkel KU, privat nøkkel KR).
  2. Det er beregningsmessig enkelt, gitt en offentlig nøkkel og en ukryptert melding M, å lage en tilsvarende kryptert melding:
  3. Det er beregningsmessig enkelt å dekryptere en melding ved å bruke den private nøkkelen:

    M = D KR [C] = D KR ]

  4. Det er beregningsmessig umulig å vite den offentlige nøkkelen KU å bestemme den private nøkkelen KR.
  5. Det er beregningsmessig umulig, å kjenne den offentlige nøkkelen KU og den krypterte meldingen C, å gjenopprette den opprinnelige meldingen M.

    Et sjette krav kan legges til, selv om det ikke gjelder for alle offentlige nøkkelalgoritmer:

  6. Krypterings- og dekrypteringsfunksjonene kan brukes i hvilken som helst rekkefølge:

    M = E KU]

Dette er ganske sterke krav som introduserer konseptet. Enveis funksjon er en funksjon der hvert argument har en enkelt invers verdi, mens funksjonen i seg selv er lett å beregne, men den inverse funksjonen er vanskelig å beregne.

Typisk betyr "lett" at problemet kan løses i en polynomtid av lengden på inngangen. Således, hvis inngangslengden har n biter, er funksjonsberegningstiden proporsjonal med n a , hvor a er en fast konstant. Dermed sies algoritmen å tilhøre klassen polynomiske algoritmer P. Begrepet "hard" betyr et mer komplekst konsept. Generelt vil vi anta at problemet ikke kan løses hvis innsatsen for å løse det er større enn polynomtiden til inngangsverdien. For eksempel, hvis inngangslengden er n bits, og funksjonsberegningstiden er proporsjonal med 2n, så anses det som et beregningsmessig umulig problem. Dessverre er det vanskelig å avgjøre om en bestemt algoritme viser en slik kompleksitet. Dessuten fokuserer tradisjonelle syn på beregningsmessig kompleksitet på den verste eller gjennomsnittlige kompleksiteten til en algoritme. Dette er uakseptabelt for kryptografi, som krever manglende evne til å invertere en funksjon for alle eller nesten alle inngangsverdier.

La oss gå tilbake til definisjonen ensidig funksjon med luke, som, som enveis funksjon, er lett å beregne i én retning og vanskelig å beregne i motsatt retning med mindre noe tilleggsinformasjon er tilgjengelig. Med denne tilleggsinformasjonen kan inversjonen beregnes i polynomisk tid. Dermed, enveis funksjon med luke tilhører familien enveisfunksjoner f k slik at

Vi ser at utviklingen av en bestemt offentlig nøkkelalgoritme avhenger av oppdagelsen av den tilsvarende ensidig funksjon med luke.

Krypteringsanalyse av offentlige nøkkelalgoritmer

Som i saken symmetrisk kryptering, krypteringsalgoritme med en offentlig nøkkel er sårbar for et frontalangrep. Mottiltaket er standard: bruk store nøkler.

Et offentlig nøkkelkryptosystem bruker visse ikke-inverterbare matematiske funksjoner. Kompleksiteten ved å beregne slike funksjoner er ikke lineær med antall biter av nøkkelen, men øker raskere enn nøkkelen. Dermed må nøkkelstørrelsen være stor nok til å gjøre et brute force-angrep upraktisk, men liten nok til å tillate praktisk kryptering. I praksis er nøkkelstørrelsen laget slik at et brute force-angrep er upraktisk, men den resulterende krypteringshastigheten er sakte nok til at algoritmen kan brukes til generelle formål. Derfor er offentlig nøkkelkryptering for tiden hovedsakelig begrenset til nøkkeladministrasjons- og signeringsapplikasjoner som krever kryptering av en liten blokk med data.

En annen form for angrep er å finne en måte å beregne den private nøkkelen ved å kjenne den offentlige nøkkelen. Det er umulig å bevise det matematisk Denne formen angrep er ekskludert for en spesifikk offentlig nøkkelalgoritme. Så enhver algoritme, inkludert den mye brukte RSA-algoritmen, er mistenkelig.

Til slutt er det en form for angrep spesifikk for måten offentlige nøkkelsystemer brukes på. Dette er et sannsynlig meldingsangrep. Anta for eksempel at meldingen som sendes utelukkende består av en 56-bits sesjonsnøkkel for en symmetrisk krypteringsalgoritme. En motstander kan kryptere alle mulige nøkler ved hjelp av den offentlige nøkkelen, og kan dekryptere enhver melding som samsvarer med chifferteksten som overføres. Dermed, uavhengig av nøkkelstørrelsen på det offentlige nøkkelskjemaet, utgjør angrepet et brute force-angrep på 56-biten symmetrisk nøkkel. Forsvaret mot et slikt angrep er å legge til et visst antall tilfeldige biter til enkle meldinger.

Grunnleggende bruk av offentlige nøkkelalgoritmer

Hovedbruken av offentlige nøkkelalgoritmer er kryptering/dekryptering, signaturoppretting og verifisering, og nøkkelutveksling.

Kryptering med en offentlig nøkkel består av følgende trinn:


Ris. 7.1.

  1. Bruker B oppretter et par nøkler KU b og KR b som brukes til å kryptere og dekryptere overførte meldinger.
  2. Bruker B gjør sin krypteringsnøkkel tilgjengelig på en pålitelig måte, dvs. offentlig nøkkel KU b . Den sammenkoblede private nøkkelen KR b holdes hemmelig.
  3. Hvis A ønsker å sende en melding til B, krypterer han meldingen ved å bruke B sin offentlige nøkkel KU b.
  4. Når B mottar meldingen, dekrypterer han den ved å bruke sin private nøkkel KR b. Ingen andre vil kunne dekryptere meldingen, siden bare B kjenner denne private nøkkelen.

Hvis brukeren (sluttsystemet) lagrer sin private nøkkel sikkert, vil ingen kunne spionere på overførte meldinger.

Å opprette og bekrefte en signatur består av følgende trinn:


Ris. 7.2.
  1. Bruker A oppretter et par nøkler KR A og KU A, som brukes til å opprette og verifisere signaturen til overførte meldinger.
  2. Bruker A gjør sin verifikasjonsnøkkel tilgjengelig på en pålitelig måte, dvs.

Kryptografiske nøkler kan avvike fra hverandre i lengden, som følgelig også er forskjellig i styrken til en gitt nøkkel. Jo lengre tasten er, jo flere mulige valgkombinasjoner. For eksempel, hvis du bruker en nøkkellengde på 128 biter, vil nøkkelen være en av 2128 mulige alternativer. Det er mer sannsynlig at tyven vinner i lotto enn å hente en mulig nøkkel. På en standard hjemme-PC, for en nøkkel på 40 biter, må du bruke 6 timer på å prøve ut alle mulige. Men selv nøkler med en lengde på 128 biter kan være sårbare, og fagfolk kan knekke dem.

Direkte symmetrisk pålitelighet avhenger av styrken til nøkkellengden og krypteringsalgoritmen. Hvis for eksempel algoritmen er ideell, kan den bare dekrypteres ved å søke gjennom alle nøklene. For å implementere denne metoden trenger du litt chiffertekst og ren tekst. For eksempel, hvis nøkkellengden er 128 biter, vil en superdatamaskin trenge 1025 år for å søke gjennom alle nøklene. Spørsmålet oppstår umiddelbart: hvorfor ikke bruke en nøkkellengde på over 9999, eller 4000 byte.
Samtidig er kryptografi en veldig subtil vitenskap, hvor vi ønsker å øke påliteligheten, vi kan tvert imot redusere den med minimale endringer i algoritmen. Når de sjekker styrken til en krypteringsalgoritme, sjekker de forholdene som gjør at en angriper kan få tilstrekkelig mengde klartekst eller chiffertekst. Heldigvis er det i virkeligheten svært få mennesker som virkelig er høyt kvalifisert til å implementere vellykkede angrep for å dekryptere data.

Mange offentlige nøkkelkrypteringsalgoritmer implementerer funksjoner for å faktorisere et tall som er produktet av to store primtall. på 70-tallet tok det titalls kvadrillioner av år å dekomponere et 125-sifret tall. Det har ikke mye tid i dag. Spørsmålet ble stilt ovenfor, hvorfor ikke bruke overr9999 lange nøkler, for da oppstår ikke spørsmålet om holdbarhet og pålitelighet. Det er nødvendig å ta hensyn til ikke bare pålitelighet og hemmelighold, men også tidsverdien av informasjon og tiden brukt på å implementere slik kryptering. For eksempel vil informasjon miste verdi om 10 år, og vi brukte økonomiske ressurser som vil betale seg først etter 20 år, hvor er logikken?

For å evaluere en offentlig nøkkel, må man måle kryptoanalytisk datakraft i pug-år. Dette er antall operasjoner per sekund som utføres i løpet av et år. For eksempel har selskaper 107 pug-år, og regjeringen har 109 pug-år. I fig. 1. du kan se hvor lang tid det tar å dekomponere tall av forskjellige lengder. Ofte er verdifull informasjon kryptert i lang tid. Ideen om å bruke et par måneder på å multiplisere et stort antall for å kunne foreta kjøp med andres kredittkort er attraktiv. Den anbefalte lengden på offentlige nøkler er vist i figur 2.

Bilde 1

Figur - 2

Et kryptoanalytisk angrep mot krypteringsalgoritmer er tradisjonelt rettet mot det tynneste eller svakeste punktet i algoritmen. Vanligvis bruker bedrifter hybridsystemer; dette er systemer som bruker en offentlig og privat nøkkel. Styrken til hver algoritme må tilsvare tilstrekkelig pålitelighet. I fig.3. Nøkkellengdepar for de asymmetriske og symmetriske algoritmene vises.

(MAC). Når du bruker samme algoritme, avhenger krypteringsresultatet av nøkkelen. For moderne sterke kryptografialgoritmer gjør tapet av en nøkkel det praktisk talt umulig å dekryptere informasjon.

For moderne symmetriske algoritmer (AES, CAST5, IDEA, Blowfish, Twofish), er hovedkarakteristikken for kryptografisk styrke nøkkellengden. Kryptering med nøkler på 128 biter eller høyere vurderes sterk, siden dekryptering av informasjon uten nøkkel krever år med kraftige superdatamaskiner. For asymmetriske algoritmer basert på tallteoriproblemer (faktoriseringsproblem - RSA, diskret logaritmeproblem - Elgamal), på grunn av funksjonene deres, er minimum pålitelig nøkkellengde for øyeblikket 1024 biter. For asymmetriske algoritmer basert på bruk av elliptisk kurveteori (ECDSA, GOST R 34.10-2001, DSTU 4145-2002), er minimum pålitelig nøkkellengde 163 biter, men lengder på 191 biter og høyere anbefales.

Nøkkelklassifisering

Kryptografiske nøkler varierer i henhold til algoritmene de brukes i.

  • Hemmelige (symmetriske) nøkler- nøkler som brukes i symmetriske algoritmer (kryptering, generering av autentisitetskoder). Hovedegenskapen til symmetriske nøkler: for å utføre både forover og bakover kryptografiske transformasjoner (kryptering/dekryptering, MAC-beregning/MAC-verifisering), må du bruke samme nøkkel (eller nøkkelen for omvendt transformasjon kan enkelt beregnes fra nøkkelen for direkte konvertering, og vice versa). På den ene siden sikrer dette høyere konfidensialitet av meldinger, på den andre siden skaper det problemer med nøkkeldistribusjon i systemer med et stort antall brukere.
  • Asymmetriske nøkler- nøkler brukt i asymmetriske algoritmer (kryptering, digital signatur); generelt sett er nøkkelpar, siden de består av to nøkler:
    • Privat nøkkel(no:Privat nøkkel) - en nøkkel som kun er kjent for eieren. Bare brukeren som holder sin private nøkkel hemmelig, garanterer at en angriper ikke kan forfalske et dokument og en digital signatur på vegne av sertifisøren.
    • Offentlig nøkkel(no:Public key) - en nøkkel som kan publiseres og brukes til å verifisere ektheten til et signert dokument, samt for å forhindre svindel fra den sertifiserende personens side i form av at han nekter å signere dokumentet. Den offentlige nøkkelen til signaturen beregnes som verdien av en funksjon av den private nøkkelen, men kunnskap om den offentlige nøkkelen gjør det ikke mulig å bestemme den private nøkkelen.

Hovedegenskapen til et nøkkelpar: ved å bruke den hemmelige nøkkelen kan den offentlige nøkkelen enkelt beregnes, men ved å bruke en kjent offentlig nøkkel er det nesten umulig å beregne den hemmelige. I digitale signaturalgoritmer plasseres signaturen vanligvis på brukerens private nøkkel og verifiseres på den offentlige nøkkelen. På denne måten kan hvem som helst sjekke om denne brukeren sette denne signaturen. Dermed sikrer asymmetriske algoritmer ikke bare integriteten til informasjon, men også dens autentisitet. Med kryptering blir meldinger tvert imot kryptert med en offentlig nøkkel og dekryptert med en hemmelig nøkkel. Dermed er det bare mottakeren og ingen andre (inkludert avsender) som kan dekryptere meldingen. Bruken av asymmetriske algoritmer eliminerer problemet med å distribuere brukernøkler i systemet, men byr på nye problemer: påliteligheten til de mottatte nøklene. Disse problemene løses mer eller mindre vellykket innenfor rammen av en offentlig nøkkelinfrastruktur (PKI).

  • Session (sesjon) nøkler- nøkler generert mellom to brukere, vanligvis for å beskytte en kommunikasjonskanal. Vanligvis er øktnøkkelen delt hemmelighet- informasjon som genereres basert på den hemmelige nøkkelen til den ene parten og den offentlige nøkkelen til den andre parten. Det er flere protokoller for å generere øktnøkler og delte hemmeligheter, blant dem spesielt Diffie-Hellman-algoritmen.
  • Koble- nøkkelinformasjon generert under driften av en kryptografisk algoritme basert på en nøkkel. Ofte genereres undernøkler basert på en spesiell nøkkelutvidelsesprosedyre.

se også


Wikimedia Foundation. 2010.

Se hva "Nøkkel (kryptografi)" er i andre ordbøker:

    Nøkkel: Wiktionary har en artikkel "nøkkel" Nøkkel, kilde et sted hvor underjordisk vann renner til overflaten av jorden ... Wikipedia

    Nøkkel er et verktøy for å åpne en lås. Skiftenøkkel, justerbar skiftenøkkel, verktøy for å skru ut bolteforbindelser. Nøkkelinformasjon (kryptografi) som brukes av en algoritme for å transformere en melding ved kryptering eller dekryptering. Nøkkel... ... Wikipedia

    Dette begrepet har andre betydninger, se Nøkkel (betydninger). Tast inn nøkkelhull B... Wikipedia

    - (gresk, fra kryptos secret, og grapho skriver jeg). Skriving i konvensjonelle tegn (kryptert), bare kjent for de personene som mottar en spesiell nøkkel for lesing. Ordbok med utenlandske ord inkludert i det russiske språket. Chudinov A.N., 1910. KRYPTOGRAFI... ... Ordbok for utenlandske ord i det russiske språket

    Den tyske Lorenz-kryptomaskinen ble brukt under andre verdenskrig for å kryptere de mest hemmelige meldingene Kryptografi (fra gammelgresk ... Wikipedia

    Hovedartikkel: Kryptografiens historie Fotokopi av Zimmerman-telegrammet Under første verdenskrig ble kryptografi, og spesielt kryptoanalyse, et av verktøyene for krigføring. Kjente fakta... Wikipedia

    Innhold 1 Russian Empire 1.1 Army 1.2 Navy 2 British Empire 3 F ... Wikipedia

    KRYPTOGRAFI- (fra det greske "cryptos" hemmelig, skjult) kunsten å skrive med hemmelige koder og dechiffrere dem. Det er her begrepet "kryptogram" kommer fra, det vil si noe skrevet i en kode eller i en annen form som er forståelig bare for de som har nøkkelen til det som er skrevet. I … … Symboler, tegn, emblemer. Encyclopedia

    Offentlig nøkkelkryptering/OFFENTLIG NØKKELKRYPTOGRAFI- utviklet av Whitfielf Diffi. Bruker et par nøkler, og hvert par har følgende egenskaper: alt kryptert av en av dem kan dekrypteres ved hjelp av den andre; å ha én nøkkel av et par, kalt offentlig... Forklarende ordbok om informasjonssamfunnet og den nye økonomien

    Dette begrepet har andre betydninger, se Key. Nøkkelen er i nøkkelhullet... Wikipedia

Påliteligheten til et symmetrisk kryptosystem avhenger av styrken til den kryptografiske algoritmen som brukes og lengden på den hemmelige nøkkelen. La oss anta at selve algoritmen er ideell - den kan bare brytes ved å prøve alle mulige nøkler. Denne typen kryptoanalytiske angrep kalles brute force. For å bruke denne teknikken, vil en kryptoanalytiker trenge noe chiffertekst og den tilsvarende klarteksten. For eksempel, når det gjelder et blokkchiffer, er det nok for ham å motta en blokk med chiffertekst og den tilsvarende klarteksten. Det er ikke så vanskelig å gjøre.

En kryptoanalytiker kan lære innholdet i en melding på forhånd og deretter avskjære den når den overføres i kryptert form. Ved noen tegn kan han også gjette at meldingen som sendes ikke er mer enn tekstfil, utarbeidet ved hjelp av en felles editor, et datamaskinbilde i et standardformat, en filundersystemkatalog eller en database. Det som er viktig for kryptanalytikeren er at i hvert av disse tilfellene er det kjent noen få byte i klarteksten til den avlyttede chiffermeldingen, noe som er nok til at han kan sette i gang et angrep med kunnskap om klarteksten.

Å beregne kompleksiteten til et brute-force-angrep er ganske enkelt. Hvis nøkkelen er 64 biter lang, vil en superdatamaskin som kan prøve 1 million nøkler på 1 sekund bruke mer enn 5 tusen år på å sjekke alle mulige nøkler. Hvis nøkkellengden økes til 12cS biter, vil den samme superdatamaskinen trenge 10 25 år for å telle opp alle nøklene. Universet eksisterer bare i 10" år, så vi kan si at 10 er en ganske stor sikkerhetsmargin for de som bruker 128-5 nøkler.

Men før vi skynder oss å finne opp et kryptosystem med en nøkkellengde på 4 KB, bør vi huske antagelsen ovenfor, nemlig: krypteringsalgoritmen som brukes er ideell i den forstand at den bare kan åpnes med brute force. Å overbevise dette i praksis er ikke så lett som det kan virke ved første øyekast. Kryptografi krever finesse og tålmodighet. Nye svært komplekse kryptosystemer, ved nærmere undersøkelse, viser seg ofte å være svært ustabile. Og å gjøre selv små endringer i en sterk kryptografisk algoritme kan redusere styrken betydelig. Derfor bør du bare bruke påviste chiffer som har vært kjent i mange år, og ikke være redd for å vise sykelig mistanke mot de nyeste krypteringsalgoritmene, uavhengig av uttalelsene fra forfatterne deres om den absolutte påliteligheten til disse algoritmene.

Det er også viktig å ikke glemme Kerckhoffs regel: styrken til en krypteringsalgoritme bør bestemmes av nøkkelen, og ikke av detaljene i selve algoritmen. For å være sikker på styrken til chifferen som brukes, er det ikke nok å analysere det, forutsatt at fienden er grundig kjent med krypteringsalgoritmen. Vi må også vurdere et angrep på denne algoritmen, der fienden kan få en hvilken som helst mengde chiffertekst og tilsvarende klartekst. Dessuten, for å øke påliteligheten, bør det antas at kryptoanalytikeren har evnen til å organisere et angrep med en valgt klartekst av vilkårlig lengde.

Heldigvis, i det virkelige liv, har de fleste som er interessert i innholdet i de krypterte filene dine ikke de høye kvalifikasjonene og dataressursene som verdens supermaktsregjeringer har til rådighet. Sistnevnte vil neppe bruke tid og penger på å lese din lidenskapelige, rent personlige melding. Men hvis du planlegger å velte "anti-nasjonal regjeringen», må du seriøst tenke på styrken til krypteringsalgoritmen som brukes.

Kompleksiteten og kostnadene ved et brute-force-angrep

Et brute-force angrep er vanligvis en form for klartekst kunnskapsangrep. Forutsatt at et brute force-angrep er det mest effektive av de mulige angrepene på den symmetriske krypteringsalgoritmen du bruker. da må nøkkelen være lang nok til å avvise dette angrepet. Hvor lenge?

Blant parametrene som må tas i betraktning når man vurderer et brute-force angrep, bør først og fremst nevnes

Totalt antall nøkler som kontrolleres og tiden brukt av fienden på å sjekke én nøkkel. Antall nøkler for en bestemt algoritme er vanligvis fast. For eksempel bruker DES-algoritmen en 56-bits nøkkel. Dette betyr at nøkkelrommet inneholder 2 56 nøkler.

Hastigheten på å sjekke nøkler er mindre viktig enn antallet. For enkelhets skyld kan vi anta at, uavhengig av krypteringsalgoritmen, er tiden som kreves for å bekrefte én nøkkel den samme. I praksis er denne antagelsen feil, og for forskjellige kryptografiske algoritmer kan denne tiden variere titalls ganger. Siden vårt mål er å finne en nøkkellengde der styrken til krypteringsalgoritmen mot et brute-force-angrep er millioner av ganger større enn grensen som gjør dette angrepet umulig i praksis, er vår antagelse fullstendig berettiget.

Når du bestemmer deg for en tilstrekkelig nøkkellengde, blir DES-algoritmen oftest betraktet som en krypteringsalgoritme. I 1977, amerikanske kryptologer W. Diffie (W.Diffie) og M. Hellman (M.Hellman) uttalte at med dagens utviklingsnivå av datateknologi, er det mulig å bygge en spesialisert superdatamaskin for å åpne nøklene til DES-algoritmen ved hjelp av en brute force-metode. Med 1 million brikker, hver i stand til å sjekke 1 million nøkler per sekund, ville denne superdatamaskinen gå gjennom alle 256 nøklene på 20 timer.

Et brute-force-angrep er ideelt for implementering på en parallell superdatamaskin som består av mange prosessorer. De individuelle prosessorene som søker etter nøkkelen trenger ikke å kommunisere med andre prosessorer på superdatamaskinen mens de utfører sin del av søket. Følgelig er ikke alle prosessorene til en spesialisert superdatamaskin designet for parallellsøk etter nøkler, ikke engang plassert i samme by, enn si i samme rom.

I 1993, den amerikanske kryptologen M. Wiener (M.Wiener) designet en superdatamaskin for å angripe DES-algoritmen ved å bruke en brute force-metode. Wieners resonnement gjelder ikke bare for DES-algoritmen, men også for nesten alle andre krypteringsalgoritmer. Superdatamaskinen, designet av Wiener, består av spesialiserte brikker, brett og stativer. Ifølge Wiener, for å garantere åpningen av en 56-bits nøkkel på 7 timer, ville produksjonen av en slik superdatamaskin ikke kreve mer enn 1 million dollar. I følge Moores lov fanges datakraften til datamaskiner hvert og et halvt år. Derfor, innen 2001, vil kostnadene for superdatamaskinen oppfunnet av Wiener synke 10 ganger og utgjøre bare 100 tusen dollar. Det betyr at nå store selskaper og "kul» kriminelle organisasjoner kan åpne 56-bits nøkler. For militære kryptoanalytikere er 64-biters nøkler tilgjengelige i de fleste industrialiserte land.

I 1996 publiserte Diffie, Wiener og andre respekterte amerikanske kryptologer resultatene av deres forskningsarbeid for å bestemme nøkkellengden som kreves for å beskytte informasjonen mot brute-force-angrep. (bord. 6.1).

Tabell 6.1. Kostnader og beregningsmessig kompleksitet til et brute-force-angrep

Hvem angriper

Angrepsvanskelighet

Vedvarende nøkkel

Lite firma

10 tusen dollar

Stort selskap

10 millioner dollar

Føderalt byrå

300 millioner dollar

Til de som er gitt i tabellen. 6.1-figurer bør behandles med forsiktighet. Den teoretiske beregningen av kostnadene ved å utføre brute-force-angrep på kryptografiske nøkler av forskjellig lengde er alltid vesentlig forskjellig fra hva kryptoanalytikere møter i praksis når de kjøper eller utvikler superdatamaskiner for å utføre slike angrep. Dette forklares med at noen antakelser som er gjort viser seg å være svært langt fra virkeligheten, mens andre faktorer rett og slett ikke er tatt med i betraktningen. I dette tilfellet beregnet Diffie, Wiener og andre at egendefinerte brikker som ikke koster mer enn $10 ville bli brukt til å lage en spesialisert superdatamaskin for et brute-force-angrep. NSA anslår at slike brikker vanligvis koster 100 ganger mer. NSA tvilte også på antakelsen om at, uavhengig av krypteringsalgoritmen, bare lengden på nøkkelen bestemmer kompleksiteten til et kryptoanalytisk angrep. I tillegg ble det ved sammenstillingen av tabellen ikke tatt hensyn til kostnadene til forsknings- og utviklingsarbeid, som for det første eksemplaret av en superdatamaskin vanligvis utgjør minst 10 mill. Det ble heller ikke tatt hensyn til kostnadene ved innkjøp av dataminne.

Ut fra det som er sagt kan det trekkes en svært viktig konklusjon. Hvis noen virkelig vil vite nøkkelen du brukte, er det bare å bruke nok penger. Derfor er kostnaden for informasjonen du krypterer avgjørende. Hvis prisen på markedsdagen er omtrent $2, er det usannsynlig at noen vil bestemme seg for å bruke $1 million for å få den. Men hvis fortjenesten fra å lese krypteringen din er $100 millioner, pass på! Den eneste trøsten kan være det faktum at over tid blir all informasjon veldig raskt utdatert og mister sin verdi.

Programvareangrep

Uten spesialisert datautstyr som utfører et parallelt søk etter nøkler, har et brute-force-angrep mye lavere sjanse for å lykkes. Men hvis du ikke har en ekstra million dollar å bruke på å lage slikt utstyr, er det en annen, billigere måte å prøve å åpne nøkkelen du er interessert i.

Det finnes et stort antall datamaskiner i verden (Av Eksperter anslår at antallet i 1996 nådde 200 millioner), som, for ikke å stå stille, kunne prøve nøklene. Et eksperiment utført tidlig i 1997 viste at en 48-bits nøkkel kunne knekkes ved hjelp av denne metoden i løpet av to uker. Og selv om denne nøkkelen ble funnet ved hjelp av en brute force-metode etter å ha sjekket litt mer enn halvparten av alle mulige nøkler, er resultatet som ble oppnådd imponerende, siden ikke mer enn 5 tusen datamaskiner av de eksisterende 200 millioner ble brukt samtidig under angrepet, og totalt var bare 7 tusen datamaskiner involvert i angrepet.

Den største hindringen for å utnytte de millioner av dataenheter som er spredt rundt i verden, er manglende evne til å få eierne til å delta i angrepet. Du kan selvfølgelig høflig be hver av dem om en tjeneste, men for det første vil dette ta mye tid, og for det andre vil svaret i de fleste tilfeller mest sannsynlig være et fast "Nei" Du kan prøve å snike deg inn på andres datamaskiner gjennom nettverket, men dette vil ta enda mer tid, og i tillegg kan du bli arrestert.

Det virker mer fornuftig å lage et datavirus som, i stedet for å slette filer fra harddisk og vise % dumme meldinger på skjermen; ubemerket av datamaskineieren vil den prøve mulige nøkler. Studier viser at viruset vil ha fra 70 til 90 % av prosessortiden til datamaskinen det infiserte. Etter å ha åpnet nøkkelen, kan viruset generere nytt virus, som inneholder informasjon om nøkkelen som ble funnet, og send den vandre rundt datanettverk til han når sin herre.

Med en mer subtil tilnærming vil et virus som har oppdaget nøkkelen vise informasjon som:

EN ALVORLIG FEIL HAR BLITT OPPDAGET I DIN DATAMASKIN!

VÆR SÅ SNILL OG RING (095 )123-45-67

OG LES FØLGENDE 48-BIT NUMMER TIL OPERATØREN:

Xxxxxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx

DEN FØRSTE SOM RAPPORTERER DENNE FEILEN ER GARANTERT

BELØNING I BELØP PÅ 100 (STA) DOLLAR.

Hvis viruset klarer å infisere 10 millioner datamaskiner, som hver skanner minst 1 tusen nøkler per sekund, vil en 56-bits nøkkel bli funnet på mindre enn 3 måneder. I tillegg må du punge ut penger for å bestikke produsentene av antivirusprogrammer, men dette problemet har ingenting med datakryptografi å gjøre, som nå diskuteres.

Kinesisk lotteri

La oss anta at for et brute-force-angrep er en spesiell brikke innebygd i hver kinesisk radio og TV uten unntak, som sjekker 1 million nøkler per sekund. Hver av dem teller automatisk opp sitt undersett av nøkler etter å ha mottatt chiffertekst og tilsvarende klartekstfragmenter fra luften. Så snart den kinesiske regjeringen ønsker å åpne en nøkkel, vedtar den et dekret som forplikter alle eiere av TV-er og radioer til å slå på enhetene sine på et bestemt tidspunkt, slik at de kan motta et par fragmenter av tekst og begynne å søke etter nøklene .

For den funnet nøkkelen er det en betydelig premie. Takket være dette blir radioer og TV-er med innebygde brikker godt utsolgt, og åpnede nøkler blir raskt gjort oppmerksom på den kinesiske regjeringen. Hvis du tenker på at hver tiende kineser har en radio eller fjernsyn, vil det ta den kinesiske regjeringen maksimalt 43 timer å knekke en 64-bits nøkkel. I tabellen 6.2 viser kompleksiteten ved å åpne en 64-bits nøkkel ved å bruke "Kinesisk lotteri» når det holdes i Kina, samt i USA, Irak og Israel.

Tabell 6.2. Vanskeligheten med å åpne en 64-bits nøkkel ved å bruke "Kinesisk lotterier"

Krypteringsnøkkel– dette er hemmelig informasjon (et sett med tall og bokstaver) som brukes av en algoritme for å kryptere og dekryptere informasjon.

Styrken til en nøkkel avhenger av lengden i biter. SSL-teknologi bruker chiffer på 4096 biter for rotsertifikatet og 128–256 biter for klientsertifikater. Denne lengden er tilstrekkelig for sikker dataoverføring.

SSL-protokollen bruker asymmetrisk eller offentlig nøkkelkryptering for å etablere en tilkobling. Til tross for navnet er det 2 nøkler som brukes her: offentlig og privat. Begge genereres når du ber om et SSL-sertifikat.

Offentlig (offentlig nøkkel) tilgjengelig for alle. Brukes til å kryptere data når nettleseren får tilgang til serveren.

Privat (hemmelig nøkkel) bare kjent for eieren av nettstedet. Brukes til å dekryptere data sendt av nettleseren.

Kryptering med to nøkler av forskjellige typer garanterer informasjonssikkerheten. Selv om svindleren fanger opp trafikken, vil han ikke kunne dekryptere den uten den private nøkkelen.

Den asymmetriske algoritmen er imidlertid ressurskrevende, og krypteringshastigheten er 2-3 størrelsesordener lavere enn den symmetriske algoritmen. Derfor, i SSL-teknologi, brukes offentlig nøkkelkryptering kun for å forhandle en hemmelig symmetrisk nøkkel. Med dens hjelp etableres en sikker HTTPS-forbindelse - data overføres raskt og sikkert.

Å bruke symmetrisk kryptering med en gang er upålitelig. I denne algoritmen krypterer og dekrypterer den samme nøkkelen informasjon. Den besøkende på nettstedet og servereieren må bli enige om det uten vitner.

Det vil ikke være mulig å overføre det via post, telefon eller SMS – de vil avlytte eller avlytte det.

Midler, må sende den symmetriske nøkkelen i en kryptert melding. Men sørg først for at riktig mottaker mottar den.

  1. For å autentisere serveren, bekrefter den besøkendes nettleser at SSL-sertifikatet er signert av et klarert autoritetssertifikat.
  2. For å bli enige om en symmetrisk krypteringsnøkkel, bruker serveren og nettleseren asymmetrisk offentlig nøkkelkryptering.

La oss se på denne prosessen ved å bruke ekte nøkler som et eksempel:

Bob sender Alice en lås som bare han har nøkkelen til.

Låsen her er en offentlig nøkkel.

Alice låser Bobs hemmelige boks og sender den tilbake.

Nettleseren krypterer også meldingen ved hjelp av en offentlig nøkkel og overfører den til serveren.

Ingen vil kunne åpne boksen: Verken Alice selv eller de postansatte.

På samme måte kan en svindler ikke dekryptere en nettlesermelding uten den private nøkkelen.

Bob mottar esken, åpner den med sin eneste nøkkel og lærer hemmeligheten.

Serveren dekrypterer meldingen med en privat nøkkel som bare den har.

Akkurat som Alice og Bob fører hemmelig korrespondanse, oppretter nettleseren og serveren en sikker HTTPS-tilkobling og utveksler data.

fortelle venner