Mikä on Diffie – Hellman-avainvaihto ja miten se toimii?

Mikä on Diffie – Hellman-avainvaihto ja miten se toimii


Diffie-Hellman-avaimenvaihto oli yksi tärkeimmistä kehityksistä julkisen avaimen salauksessa ja se on edelleen usein toteutettu useissa nykyajan erilaisissa tietoturvaprotokollissa.

Se antaa kahdelle osapuolelle, joka ei ole aiemmin tavannut, turvallisesti perustaa avaimen, jolla he voivat suojata viestintäänsä. Tässä artikkelissa selitetään, mihin sitä käytetään, miten se toimii askel askeleelta, sen eri variaatiot sekä turvallisuusnäkökohdat, jotka on huomioitava sen turvallisen toteuttamiseksi.

Mikä on Diffie-Hellman-avaimenvaihto?

Diffie-Hellman-avaimenvaihto oli ensimmäinen laajalti käytetty menetelmä avainten turvalliseksi kehittämiseksi ja vaihtamiseksi epävarman kanavan kautta.

Se ei ehkä näytä niin jännittävältä tai uraauurtavalta yllä esitetyissä olosuhteissa, joten annetaan esimerkki, joka selittää, miksi Diffie-Hellman-avaimenvaihto oli niin tärkeä virstanpylväs salausmaailmassa ja miksi sitä käytetään edelleen niin usein nykyään.

Oletetaan, että olet erittäin salainen vakooja ja sinun on lähetettävä tärkeitä tietoja pääkonttorillesi. Kuinka estäisit vihollisiasi saamasta turhaa viestiä?

Yleisin ratkaisu olisi salata viesti koodilla. Helpoin tapa on etukäteen järjestää mitä tyyppi koodia ja avainta aiot käyttää etukäteen, tai tehdä se turvallisen viestintäkanavan kautta.

Oletetaan, että olet erityisen paha vakooja, ja sinä ja pääkonttorisi päätät käyttää heikkoa muutos-salausta viestien koodaamiseen. Tässä koodissa jokaisesta "a" tulee "b", jokaisesta "b" tulee "c", jokaisesta "c" tulee "d" ja niin edelleen, aina siihen asti, että "z" muuttuu "a".

Tämän muutos-salauksen alla viestistä “Let’s get dinner” tulee ”Mfu’t hfu ejoofs”. Onneksi hypoteettisessa tilanteessa vastustajasi ovat yhtä epäkompetentteja kuin sinä etkä pysty murtamaan niin yksinkertaista koodia, joka estää heitä pääsemästä viestin sisältöön.

Mutta mitä tapahtuu, jos et pystynyt sovittamaan koodia vastaanottajan kanssa etukäteen?

Oletetaan, että haluat kommunikoida liittolaisen kansakunnan vakoojan kanssa, jota et ole koskaan tavannut aiemmin. Sinulla ei ole suojattua kanavaa, jolla he voivat puhua. Jos et salaa viestiäsi, kuka tahansa sen vastustaja voi lukea sen sisällön. Jos salaa sen sanomatta liittolaiselle koodia, vihollinen ei pysty lukemaan sitä, mutta liittolainen ei myöskään.

Tämä numero oli yksi suurimmista salamyynnistä 1970-luvulle saakka:

Kuinka voit turvallisesti vaihtaa tietoja jonkun kanssa, jos sinulla ei ole ollut mahdollisuutta jakaa avainta etukäteen?

Diffie-Hellman-avainvaihto oli ensimmäinen julkisesti käytetty mekanismi tämän ongelman ratkaisemiseksi. Algoritmi antaa niille, jotka eivät ole koskaan tavanneet aiemmin, luoda turvallisesti jaetun avaimen, jopa epävarman kanavan kautta, jota vastustajat voivat seurata.

Diffie-Hellman-avaimenvaihdon historia

Diffie-Hellman-avaimenvaihto juontaa juurensa 1970-luvulle. Vaikka kryptografiakenttä oli kehittynyt huomattavasti koko aikaisemman kahdennenkymmenennen vuosisadan ajan, nämä edistysaskeleet keskittyivät pääasiassa symmetrisen avaimen salaustekniikan alueelle.

Vasta vuonna 1976 julkisen avaimen algoritmit syntyivät julkisella alueella, kun Whitfield Diffie ja Martin Hellman julkaisivat paperinsa, Uudet suunnat kryptografiassa. Yhteistyössä hahmoteltiin uuden järjestelmän, joka tunnetaan nimellä., Taustalla olevia mekanismeja Diffie-Hellman-avaimenvaihto.

Teos inspiroi osittain Ralph Merklen aikaisempaa kehitystä. Niin kutsuttu Merklen palapelit saa aikaan yhden osapuolen luomalla ja lähettämällä joukon salaustehtäviä toiselle. Näiden arvoitusten ratkaiseminen vie kohtuullisen määrän laskennallisia resursseja.

Vastaanottaja valitsee satunnaisesti yhden palapelin ratkaistavaksi ja viettää tarvittavat ponnistelut sen suorittamiseksi. Kun palapeli on ratkaistu, tunniste ja istuntoavain paljastetaan vastaanottajalle. Sitten vastaanottaja lähettää tunnisteen takaisin alkuperäiselle lähettäjälle, joka antaa lähettäjälle tietää, mikä palapeli on ratkaistu.

Koska alkuperäinen lähettäjä on luonut palapelit, tunniste antaa heidän tietää, minkä istunnon avaimen vastaanottaja löysi, ja molemmat osapuolet voivat käyttää tätä avainta kommunikoidakseen turvallisemmin. Jos hyökkääjä kuuntelee vuorovaikutusta, hänellä on pääsy kaikkiin arvoituksiin sekä tunniste, jonka vastaanottaja lähettää takaisin alkuperäiselle lähettäjälle..

Tunniste ei kerro hyökkääjälle, mitä istunnon avainta käytetään, joten paras tapa tietojen salauksen purkamiseen on ratkaise kaikki palapelit paljastaaksesi oikea istuntoavain. Koska hyökkääjän on ratkaistava keskimäärin puolet arvoituksista, avaimen avaaminen on heille huomattavasti vaikeampaa kuin vastaanottajalle..

Tämä lähestymistapa tarjoaa enemmän turvallisuutta, mutta se ei ole kaukana täydellisestä ratkaisusta. Diffie-Hellman-avainvaihto otti osaa näistä ideoista ja teki niistä monimutkaisempia turvallisen menetelmän luomiseksi julkisen avaimen salaukselle..

Vaikka siitä on tullut tunnetuksi Diffie-Hellman-avainvaihto, Martin Hellman on ehdottanut algoritmin nimeämistä Diffie-Hellman-Merkle-avaimenvaihtoksi sen sijaan, että se heijastaisi Ralph Merklen julkisen avaimen salaustekniikkaan tekemää työtä.

Julkisesti ajateltiin, että Merkle, Hellman ja Diffie olivat ensimmäisiä ihmisiä, jotka kehittivät julkisen avaimen kryptografian vuoteen 1997 asti, jolloin Britannian hallitus luokitteli työn, jonka hän teki 1970-luvun alkupuolella. James Ellis, Clifford Cox ja Malcolm Williamson.

Näyttää siltä, ​​että trio keksi ensimmäisen julkisen avaimen salausohjelman vuosina 1969 - 1973, mutta heidän työnsä luokiteltiin kahdeksi vuosikymmeneksi. Se toteutettiin Yhdistyneen kuningaskunnan tiedustelupalvelun hallituksen viestinnän päämajassa (GCHQ).

Heidän löytönsä oli itse asiassa RSA-algoritmi, joten Diffie, Hellman ja Merkle kehittivät edelleen ensimmäisiä Diffie-Hellman-avaimenvaihtoa, mutta eivät enää julkisen avaimen kryptografian keksijöitä..

Missä käytetään Diffie-Hellman-avaimenvaihtoa?

Diffie-Hellman-avaimenvaihdon päätarkoitus on kehittää turvallisesti jaettuja salaisuuksia, joita voidaan käyttää avainten saamiseen. Näitä avaimia voidaan sitten käyttää symmetrisen avaimen algoritmien kanssa tiedon siirtämiseen suojatulla tavalla. Symmetrisiä algoritmeja käytetään yleensä salaamaan suurin osa tiedoista, koska ne ovat tehokkaampia kuin julkisen avaimen algoritmit.

Teknisesti Diffie-Hellman-avaintenvaihtoa voidaan käyttää julkisten ja yksityisten avainten perustamiseen. Käytännössä kuitenkin käytetään RSA: ta sen sijaan. Tämä johtuu siitä, että RSA-algoritmi pystyy myös allekirjoittamaan julkisen avaimen varmenteita, kun taas Diffie-Hellman-avainten vaihto ei ole.

ElGamal-algoritmi, jota käytettiin voimakkaasti PGP: ssä, perustuu Diffie-Hellman-avaimenvaihtoon, joten mikä tahansa sitä käyttävä protokolla toteuttaa tehokkaasti eräänlaisen Diffie-Hellmanin.

Diffie-Hellman-avaintenvaihto on yksi yleisimmistä menetelmistä avainten turvalliseen jakeluun usein toteutettu tietoturvaprotokollissa, kuten TLS, IPsec, SSH, PGP ja monet muut. Tämä tekee siitä olennaisen osan turvallista viestintäämme.

Osana näitä protokollia Diffie-Hellman-avaintenvaihtoa käytetään usein auttamaan yhteyden suojaamista verkkosivustoon, etäyhteyttä toiseen tietokoneeseen ja salattujen sähköpostien lähettämistä.

Kuinka Diffie-Hellman-avaintenvaihto toimii?

Diffie-Hellman-avaimenvaihto on monimutkainen, ja voi olla vaikea saada päätäsi ympäri, kuinka se toimii. Se käyttää erittäin suuria määriä ja paljon matematiikkaa, jotain, mitä monet meistä pelkäävät edelleen niistä pitkistä ja tylsistä lukion oppitunneista.

Jotta asiat olisivat hieman ymmärrettäviä, aloitamme selittämällä Diffie-Hellman-avaimenvaihdon analogialla. Kun sinulla on käsitys siitä, miten se toimii, siirrymme tekniseen kuvaukseen taustalla olevista prosesseista.

Paras analogia Diffie-Hellman-järjestelmälle on ajatella kaksi ihmistä sekoittaen maalia. Käytetään salausstandardia ja sanotaan, että heidän nimensä ovat Alice ja Bob. He molemmat sopivat satunnaisväristä aluksi. Oletetaan, että he lähettävät toisilleen viestin ja päättää keltaisesta niiden yhteisestä väristä, aivan kuten alla olevassa kaaviossa:

Diffie-Hellman--2

näkevät oman salaisuutensa. He eivät kerro toiselle osapuolelle valintansa. Sanotaan, että Alice valitsee punainen, kun taas Bob valitsee hieman vihertävän sininen.

Seuraava vaihe on, että sekä Alice että Bob sekoittavat salaiset värinsä (punainen Alicelle, vihreän sininen Bobille) keltaiseen, josta he ovat sopineet keskenään. Kaavion mukaan Alice päätyy oranssi sekoitus, kun taas Bobin tulos on a syvempi sininen.

Kun sekoitus on valmis, he lähettävät tuloksen toiselle osapuolelle. Alice saa syvemmän sinisen, sillä aikaa Bobille lähetetään oranssinvärinen maali.

Saatuaan sekoitetun tuloksen kumppaniltaan, he lisäävät salaisen värin siihen. Alice ottaa syvemmän sinisen ja lisää salaisen punaisen maalinsä, sillä aikaa Bob lisää salaisuutensa vihertävän sinisen oranssiin sekoitukseen, jonka hän juuri sai.

Lopputulos? He molemmat tulevat esiin samalla värillä, mikä tässä tapauksessa on inhottavaa ruskeaa. Se ei ehkä ole sellainen väri, jolla haluat maalata olohuoneesi, mutta se on silti jaettu väri. Tätä jaettua väriä kutsutaan yhteinen salaisuus.

Diffie-Hellman-avaintenvaihdon kriittinen osa on, että molemmat osapuolet päätyvät samaan tulokseen ilman, että heidän tarvitse koskaan lähettää koko yhteistä salaisuutta viestintäkanavan kautta. Valitsemalla yhteinen väri, omat salaiset värit, vaihtamalla sekoitus ja lisäämällä sitten oma väri vielä kerran, molemmilla osapuolilla on tapa päästä samaan yhteiseen salaisuuteen ilman, että sinun on koskaan lähetettävä koko asiaa.

Jos hyökkääjä kuuntelee vaihtoa, kaikki mitä he pääsevät käyttämään, on yhteinen keltainen väri, josta Alice ja Bob alkavat, sekä sekoitetut värit. Koska tämä tapahtuu todella valtavien määrien avulla maalin sijasta, nämä tiedot eivät riitä hyökkäykseen havaitsemaan joko alkuperäisiä salaisia ​​värejä tai yhteistä salaisuutta (teknisesti on mahdollista laskea yhteinen salaisuus näistä tiedoista, mutta Diffie-Hellman-avaimenvaihdon turvalliseen toteutukseen tarvittaisiin aikaa ja laskennallisia resursseja, joita ei voida tehdä käytännössä).

Tämä Diffie-Hellman-avaimenvaihdon rakenne tekee siitä niin hyödyllisen. Sen avulla osapuolet voivat kommunikoida mahdollisesti vaarallisen yhteyden kautta ja keksivät silti jaetun salaisuuden, jonka avulla he voivat tehdä salausavaimia tulevaa viestintää varten. Ei ole väliä, kuuntelevatko kaikki hyökkääjät, koska koko jaettua salaisuutta ei koskaan lähetetä yhteyden kautta.

Diffie-Hellman-avaimenvaihdon tekniset yksityiskohdat

Aika matematiikkaan ...

Älä huolestu, otamme sen hitaasti ja yritämme tehdä koko prosessista mahdollisimman helppoa ymmärtää. Se noudattaa samanlaista lähtökohtaa kuin yllä esitetty analogia, mutta värien sekoittamisen ja lähettämisen sijaan, Diffie-Hellman-järjestelmä todella tekee laskelmat poikkeuksellisen suurien alkulukujen perusteella ja lähettää sitten ne yli.

Turvallisuuden varmistamiseksi on suositeltavaa, että prime (p) on vähintään 2048 bittiä pitkä, joka on binäärinen ekvivalentti noin tämän koon desimaaliluvusta:

415368757628736598425938247569843765827634879128375827365928736 84273684728938572983759283475934875938475928475928739587249587 29873958729835792875982795837529876348273685729843579348795827 93857928739548772397592837592478593867045986792384737826735267 3547623568734869386945673456827659498063849024875809603947902 7945982730187439759284620950293759287049502938058920983945872 0948602984912837502948019371092480193581037995810937501938507913 95710937597019385089103951073058710393701934701938091803984091804 98109380198501398401983509183501983091079180395810395190395180935 8109385019840193580193840198340918093851098309180019

Jotta kenenkään pää ei räjähtää, suoritamme tämän selityksen paljon pienemmillä numeroilla. Ole tietoinen siitä Diffie-Hellman-avaimenvaihto olisi epävarma, jos se käyttäisi niin pieniä numeroita kuin esimerkissämme. Käytämme vain niin pieniä lukumääriä osoittamaan konseptia yksinkertaisemmalla tavalla.

Diffie-Hellman-avaimenvaihdon alkeellisimmassa muodossa, Alice ja Bob aloittavat päättämällä molemmat numerot aluksi, toisin kuin yksi ainoa yleinen maali yllä olevassa esimerkissä. Nämä ovat moduuli (p) ja pohja (g).

Käytännössä, moduuli (p) on erittäin suuri alkuluku, sillä aikaa basso (g) on suhteellisen pieni laskennan yksinkertaistamiseksi. Basso (g) on johdettu syklisestä ryhmästä (G), joka yleensä luodaan hyvissä ajoin ennen muiden vaiheiden suorittamista.

Oletetaan esimerkiksi, että moduuli (p) On 17, kun taas pohja (g) On 4.

Kun he ovat molemminpuolisesti päättäneet näistä numeroista, Alice asettuu salaiseen numeroon () itselleen, kun taas Bob valitsee oman salaisuutensa (b). Oletetaan, että he valitsevat:

a = 3

b = 6

Alice suorittaa sitten seuraavan laskelman saadaksesi numeron, jonka hän lähettää Bobille:

A = ga mod s

Edellä olevassa laskelmassa, mod tarkoittaa modulo-operaatiota. Nämä ovat pääasiassa laskelmia jäljellä olevan kappaleen selvittämiseksi sen jälkeen, kun vasen puoli on jaettu oikealla. Esimerkiksi:

15 mod 4 = 3

Jos ymmärrät, miten modulo-toiminnot toimivat, voit tehdä ne itse seuraavissa laskelmissa, muuten voit käyttää online-laskuria.

Joten laitetaan numeromme kaavaan:

A = 43 mod 17

A = 64 mod 17

A = 13

Kun teemme saman Bobille, saamme:

B = 46 mod 17

B = 4096 mod 17

B = 16

Alice lähettää sitten tuloksensa () Bobille, kun taas Bob lähettää hahmonsa (B) Alicelle. Alice laskee sitten jaetun salaisuuden (s) käyttämällä Bobilta saamansa numeroa (B) ja hänen salainen numero () käyttämällä seuraavaa kaavaa:

s = Ba mod p

s = 163 mod 17

s = 4 096 mod 17

s = 16

Sitten Bob suorittaa olennaisesti saman laskelman, mutta numerolla, jonka Alice lähetti hänelle () sekä oma salainen numero (b):

s = b mod p

s = 136 mod 17

s = 4 826 809 mod 17

s = 16

Kuten näette, molemmat osapuolet päätyivät samaan tulokseen s, 16. Tämä on jaettu salaisuus, jonka vain Alice ja Bob tietävät. Tämän jälkeen he voivat käyttää tätä asettaaksesi avaimen symmetriseen salaukseen, jotta he voivat lähettää tietoja turvallisesti keskenään tavalla, että vain he voivat käyttää sitä..

Huomaa, että vaikka B ja s ovat samat yllä olevassa esimerkissä, tämä on vain sattumaa, joka perustuu tähän kuvioon valittuihin pieniin lukuihin. Normaalisti nämä arvot eivät olisi samat Diffie-Hellman-avaimenvaihdon todellisessa toteutuksessa.

Vaikka suuri osa yllä olevista tiedoista lähetetään kanavan kautta selkeästi (p, g, A ja B) ja potentiaaliset hyökkääjät voivat lukea, jaettu salaisuus (s) ei koskaan välitetä. Hyökkääjän ei olisi käytännöllistä laskea jaettua salaisuutta (s) tai jompikumpi salaisista numeroista ( ja b) selkeästi lähetettyjen tietojen perusteella.

Tämä tietenkin edellyttää, että Diffie-Hellman-avaimenvaihto on toteutettu oikein ja että käytetään riittävän suuria lukuja. Niin kauan kuin näitä säännöksiä noudatetaan, Diffie-Hellman-avaimenvaihtoa pidetään turvallisena tapana luoda yhteinen salaisuus, jota voidaan käyttää tulevan viestinnän turvaamiseen.

Yhteisen avaimen luominen useiden osapuolten välillä

Diffie-Hellman-avaimenvaihtoa voidaan käyttää myös perustamaan jaettu avain, jolla on enemmän osallistujia. Se toimii samalla tavalla paitsi, että jokaiselle osapuolelle tarvitaan lisää laskentakierroksia lisätäkseen salainen numero ja päästäkseen samaan jaettuun salaisuuteen.

Aivan kuten Diffie-Hellman-avaintenvaihdon kahden osapuolen versiossa, jotkut tiedot lähetetään epävarmojen kanavien kautta, mutta eivät riitä, jotta hyökkääjä voi laskea jaetun salaisuuden.

Miksi Diffie-Hellman-avaintenvaihto on turvallinen?

Matemaattisella tasolla Diffie-Hellman-avainvaihto perustuu yksisuuntaisiin toimintoihin turvallisuuden perustana. Nämä ovat laskelmia, jotka on helppo tehdä yhdellä tavalla, mutta paljon vaikeampaa laskea käänteisesti.

Tarkemmin sanottuna se vetoaa Diffie-Hellman-ongelmaan, jossa oletetaan, että oikeilla parametreilla on mahdotonta laskea gab erillisistä arvoista g, g ja gb. Tällä hetkellä ei ole julkisesti tunnettua tapaa löytää helposti gab muista arvoista, minkä vuoksi Diffie-Hellman-avaintenvaihtoa pidetään turvallisena huolimatta siitä, että hyökkääjät voivat siepata arvot p, g, , ja B.

Authentication & Diffie-Hellman-avaimenvaihto

Todellisessa maailmassa Diffie-Hellman-avaimenvaihto käy vain harvoin. Tärkein syy tähän on se ei tarjoa todennusta, mikä jättää käyttäjät alttiiksi keskitason ihmisille-hyökkäyksille.

Nämä hyökkäykset voivat tapahtua, kun Diffie-Hellman-avaimenvaihto toteutetaan itsessään, koska sillä ei ole keinoa tarkistaa, onko yhteyden toinen osapuoli todella sitä, jonka he sanovat olevansa. Ilman minkäänlaista todennusta, käyttäjät voivat tosiasiassa olla yhteydessä hyökkääjiin kun he luulevat olevansa yhteydessä luotettavan osapuolen kanssa.

Tästä syystä Diffie-Hellman-avaintenvaihto toteutetaan yleensä joidenkin todennusvälineiden rinnalla. Tähän sisältyy usein digitaalisten varmenteiden ja julkisen avaimen algoritmin, kuten RSA: n, käyttö kunkin osapuolen henkilöllisyyden todentamiseksi.

Variantit Diffie-Hellman-avaimenvaihdosta

Diffie-Hellman-avainvaihto voidaan toteuttaa monella eri tavalla, ja se on myös tarjonnut perustan useille muille algoritmeille. Jotkut näistä toteutuksista tarjoavat valtuutuksen, kun taas toisilla on erilaisia ​​salausominaisuuksia, kuten täydellinen eteenpäin suuntautuva salaisuus.

Elliptinen käyrä Diffie-Hellman

Elliptinen käyrä Diffie-Hellman hyödyntää elliptisten käyrien algebrallista rakennetta, jotta sen toteutukset voivat saavuttaa samanlaisen turvatason pienemmällä näppäinkokoilla. 224-bittinen elliptinen käyräavain tarjoaa saman tietoturvatason kuin 2048-bittinen RSA-avain. Tämä voi tehdä vaihtoa tehokkaammaksi ja vähentää säilytysvaatimuksia.

Sen lisäksi, että pienempi näppäimen pituus ja se, että se riippuu elliptisten käyrien ominaisuuksista, elliptinen käyrä, Diffie-Hellman toimii samalla tavalla kuin tavallinen Diffie-Hellman-näppäimenvaihto.

TLS   

TLS, joka on protokolla, jota käytetään turvaamaan suuri osa Internetistä, voi käyttää Diffie-Hellman-vaihtoa kolmella eri tavalla: nimettömällä, staattisella ja lyhytaikaisella. Käytännössä vain lyhytaikainen Diffie-Hellman tulisi ottaa käyttöön, koska muilla vaihtoehdoilla on turvallisuusongelmia.

  • Anonyymi Diffie-Hellman - Tämä Diffie-Hellman-avaintenvaihdon versio ei käytä mitään todennusta, joten se on alttiina keskelle-iskuihin. Sitä ei tule käyttää tai toteuttaa.
  • Staattinen Diffie-Hellman - Staattinen Diffie-Hellman käyttää varmenteita palvelimen todentamiseksi. Se ei todenna asiakasta oletuksena, eikä se myöskään tarjoa eteenpäin salaisuutta.
  • Ephemeral Diffie-Hellman - Tätä pidetään turvallisimpana toteutuksena, koska se tarjoaa täydellisen eteenpäin salaisuuden. Se yhdistetään yleensä algoritmiin, kuten DSA tai RSA, todentamiseksi yksi tai molemmat yhteyden osapuolet. Efemeri Diffie-Hellman käyttää erilaisia ​​näppäinpareja joka kerta, kun protokolla suoritetaan. Tämä antaa yhteydelle täydellisen eteenpäin suuntautuvan salaisuuden, koska vaikka avain vaarantuu tulevaisuudessa, sitä ei voida käyttää salaamaan kaikki aiemmat viestit.

ElGamal

ElGamal on julkisen avaimen algoritmi, joka on rakennettu Diffie-Hellman-avaimenvaihdon päälle. Kuten Diffie-Hellman, se ei sisällä yksinään todentamista koskevia säännöksiä, ja se yhdistetään yleensä muihin mekanismeihin tätä tarkoitusta varten.

ElGamalia käytettiin pääasiassa PGP: ssä, GNU Privacy Guardissa ja muissa järjestelmissä, koska sen pääkilpailija RSA oli patentoitu. RSA: n patentti päättyi vuonna 2000, minkä ansiosta se voitiin vapaasti toteuttaa mainitun päivämäärän jälkeen. Siitä lähtien ElGamalia ei ole otettu käyttöön niin usein.

STS

Station-to-Station (STS) -protokolla perustuu myös Diffie-Hellman-avaimenvaihtoon. Se on toinen keskeinen sopimusjärjestely, mutta tarjoaa suojan ihmisten keskellä -hyökkäyksiltä ja täydellisen eteenpäin salaisuuden.

Se vaatii, että molemmilla yhteyden osapuolilla on jo avainpari, jota käytetään molemmin puolin todentamiseen. Jos osapuolia ei vielä tunneta toistensa kanssa, varmenteita voidaan käyttää molempien osapuolten henkilöllisyyden vahvistamiseen.

Diffie-Hellman-avaimenvaihto & RSA

Kuten aiemmin keskustelimme, Diffie-Hellman-avaintenvaihto toteutetaan usein RSA: n tai muiden algoritmien rinnalla yhteyden todennuksen aikaansaamiseksi. Jos tunnet RSA: n, saatat ihmetellä miksi kukaan häiritsisi myös Diffie-Hellman-avaimenvaihtoa, koska RSA antaa osapuolille, jotka eivät ole koskaan tavanneet, kommunikoida turvallisesti.

RSA antaa käyttäjilleen salata viestit kirjeenvaihtajan julkisella avaimella, jotta ne voidaan salata vain vastaavalla yksityisellä avaimella. Käytännössä kuitenkin, RSA: ta ei käytetä salaamaan koko viestintää - tämä olisi aivan liian tehoton.

Sen sijaan RSA: ta käytetään usein vain keinona todentaa molemmat osapuolet. Se tekee tämän kanssa kunkin osapuolen digitaaliset sertifikaatit, jotka varmentajaviranomainen on todennut todistaa, että varmenteen omistaja on todella sitä, mitä he sanovat olevansa, ja että varmenteen julkinen avain todella kuuluu heille.

Vastavuoroinen todennus, kukin osapuoli allekirjoittaa viestin yksityisellä avaimellaan ja lähettää sen sitten viestintäkumppanilleen. Kukin vastaanottaja voi sitten tarkista toisen osapuolen henkilöllisyys tarkistamalla allekirjoitetut viestit suhteessa heidän viestintäkumppaninsa digitaalisen sertifikaatin julkiseen avaimeen (katso yllä mainittu artikkeli RSA: sta saadaksesi lisätietoja tämän toiminnasta, erityisesti Viestien allekirjoittaminen jakso).

Nyt kun molemmat osapuolet on todennettu, on teknisesti mahdollista jatkaa RSA: n käyttöä salattujen viestien turvalliseen lähettämiseen keskenään, mutta se olisi lopulta liian tehotonta..

Tämän tehottomuuden kiertämiseksi monet tietoturvaprotokollat ​​käyttävät algoritmia, kuten Diffie-Hellman-avaimenvaihto keksimään yhteisen salaisuuden, jota voidaan käyttää yhteisen symmetrisen avaimen luomiseen. Tätä symmetristä avainta käytetään sitten symmetrisen avaimen algoritmissa, kuten AES, tietojen salaamiseen. että molemmat osapuolet aikovat lähettää turvallisesti keskenään.

Se voi tuntua monimutkaiselta ja monimutkaiselta prosessilta, mutta päätyy paljon nopeampaan ja vähemmän vaativaan resursseihin verrattuna julkisen avaimen algoritmin käyttöön koko vaihtoon. Tämä johtuu siitä, että symmetrisen avaimen salaus on suuruusluokkaa tehokkaampaa kuin julkisen avaimen salaus.

Juuri mainitsemiemme tehottomuuksien lisäksi on joitain muita haittapuolia, jotka johtuvat pelkästään RSA: n käytöstä. RSA tarvitsee pehmusteen turvallisuuden varmistamiseksi, joten ylimääräinen algoritmi olisi toteutettava asianmukaisesti sen rinnalla sen turvallisuuden varmistamiseksi.

RSA ei tarjoa täydellistä eteenpäin salaisuutta, joko, mikä on toinen haitta verrattuna lyhytaikaiseen Diffie-Hellman-avaimenvaihtoon. Yhdessä nämä syyt ovat, miksi monissa tilanteissa on parasta soveltaa RSA: ta vain Diffie-Hellman-avaimenvaihdon yhteydessä.

Vaihtoehtoisesti Diffie-Hellman-avaintenvaihto voidaan yhdistää digitaalisen allekirjoitusstandardin (DSS) kaltaiseen algoritmiin autentikoinnin, avaintenvaihdon, luottamuksellisuuden tarjoamiseksi ja tietojen eheyden tarkistamiseksi. Tällaisessa tilanteessa RSA: ta ei tarvita yhteyden turvaamiseksi.

Diffie-Hellman-avaimenvaihdon turvallisuuskysymykset

Diffie-Hellman-avaimenvaihdon turvallisuus riippuu siitä, miten se toteutetaan, samoin kuin siihen valituista numeroista. Kuten edellä totesimme, sillä ei ole keinoa todentaa toista osapuolta itse, mutta käytännössä käytetään muita mekanismeja sen varmistamiseksi, että yhteyden toinen osapuoli ei ole huijari..

Numeron valintaparametrit

Jos Diffie-Hellman-avaimenvaihdon reaalimaailman toteutuksessa käytettäisiin niin pieniä numeroita kuin esimerkissämme, se tekisi vaihtoprosessista triviaalin hyökkääjän murtumaan. Mutta tärkeätä ei ole vain numeroiden koko - numeroiden on myös oltava riittävän satunnaisia. Jos satunnaislukugeneraattori tuottaa ennustettavan tuloksen, se voi heikentää Diffie-Hellman-avaimenvaihdon turvallisuutta kokonaan..

Numero p pitäisi olla 2048 bittiä pitkä turvallisuuden varmistamiseksi. Basso, g, voi olla suhteellisen pieni luku, kuten 2, mutta sen on tultava määräyksestä G sillä on suuri tärkein tekijä

Logjam-hyökkäys

Diffie-Hellman-avainvaihto suunniteltiin sen perusteella, että diskreetin logaritmin ongelma oli vaikea ratkaista. Tehokkain yleisesti tunnettu mekanismi ratkaisun löytämiseksi on numerokenttäseula-algoritmi.

Tämän algoritmin ominaisuudet otettiin huomioon, kun Diffie-Hellman-avaimenvaihto suunniteltiin. Vuoteen 1992 mennessä tiedettiin, että tietylle ryhmälle, G, kolme algoritmin neljästä vaiheesta voitaisiin mahdollisesti laskea etukäteen. Jos tämä edistysaskel säilyisi, viimeinen vaihe voitiin laskea suhteellisen lyhyessä ajassa.

Tämä ei ollut liian huolestuttavaa, ennen kuin huomasi, että merkittävä osa Internet-liikenteestä käyttää samoja ryhmiä, jotka ovat 1024 bittiä tai pienempiä. Vuonna 2015 akateeminen joukkue suoritti laskelmat yleisimmälle 512-bittiselle alustalle, jota Diffie-Hellman-avainvaihto TLS: ssä käytti..

He myös pystyivät alentamaan 80 prosenttia TLS-palvelimista, jotka tukivat DHE-EXPORTia, jotta he hyväksyisivät 512-bittisen vientiluokan Diffie-Hellman-avaimenvaihdon yhteyteen. Se tarkoittaa, että Jokainen näistä palvelimista on alttiita hyvin resurssoidun vihollisen hyökkäykselle.

Tutkijat jatkoivat tulosten ekstrapolointia, arvioidaan, että kansallisvaltio voisi rikkoa 1024-bittisen alkuluvun. Hajottamalla yhden yleisimmin käytetyn 1024-bittisen alustan, akateeminen joukkue arvioi, että vastustaja voisi seurata 18% miljoonasta suosituimmasta HTTPS-verkkosivustosta..

He jatkoivat, että toinen alke antaa vastakkaiselle mahdollisuuden purkaa 66%: n VPN-palvelimien ja 26%: n SSH-palvelimien yhteydet. Myöhemmin raportissa akateemikot ehdottivat, että NSA: lla saattaa olla jo nämä ominaisuudet.

"Julkisten NSA-vuotojen tarkka käsittely osoittaa, että viraston hyökkäykset VPN-verkkoihin ovat yhdenmukaisia ​​tällaisen tauon saavuttamisen kanssa."

Tästä haavoittuvuudesta huolimatta Diffie-Hellman-avaintenvaihto voi silti olla turvallinen, jos se on toteutettu oikein. Niin kauan kuin 2048-bittistä avainta käytetään, Logjam-hyökkäys ei toimi. Päivitetyt selaimet ovat myös turvassa tältä hyökkäykseltä.

Onko Diffie-Hellman-avaimenvaihto turvallinen?

Vaikka Diffie-Hellman-avaintenvaihto voi vaikuttaa monimutkaiselta, se on olennainen osa turvallista tietojenvaihtoa verkossa. Niin kauan kuin se on toteutettu sopivan todennusmenetelmän rinnalla ja numerot on valittu oikein, sitä ei pidetä hyökkäyksille alttiina.

Diffie-Hellman-avaimenvaihto oli innovatiivinen menetelmä kahden tuntemattoman osapuolen auttamiseksi kommunikoimaan turvallisesti, kun se kehitettiin 1970-luvulla. Vaikka nyt otamme käyttöön uudempia versioita suuremmilla avaimilla suojautuaksemme modernilta tekniikalta protokolla itsessään näyttää siltä, ​​että se on edelleen turvallinen kvanttitietojen saapumiseen saakka ja sen mukana tulevat edistyneet hyökkäykset.

Tietoturvayritystarpeet TheDigitalArtist lisensoitu CC0

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

Add a Comment

Your email address will not be published. Required fields are marked *

93 − = 83