In computer science , ja erityisemmin kryptologian , eli avainten vaihdon protokollaa (tai avaimen neuvottelu tai avain laitoksessa tai avainjakauman ) on mekanismi, jolla useat osallistujat sopia. Salausavaimen . Julkisen avaimen salauksen keksiminen 1970-luvulla tuotti ensimmäisen avaimenvaihtoprotokollan, jonka voidaan osoittaa olevan turvallinen, vaikka viestintä tapahtuu suojaamattomalla kanavalla, ilman luotettavan kolmannen osapuolen käyttöä . Yksi ensimmäisistä tämäntyyppisistä protokollista Whitfield Diffien ja Martin Hellmanin vuoksi on nykyään eniten käytetty Internetissä TLS- protokollan kautta . Tästä keksinnöstä Diffie ja Hellman palkittiin arvostetulla Turing-palkinnolla vuonna 2016.
Ennen julkisen avaimen salauksen löytämistä ei tiedetty mitään matemaattista menetelmää avainten vaihdon suorittamiseksi, joka perustui täysin operatiiviseen turvallisuuteen: avain oli ilmoitettava jo suojatun kanavan kautta. Sillä punainen puhelin , jota käytetään kertakäyttöisiä maski salausta , tämä tarkoitti fyysisen kuljetuksen diplomaattilaukut sisältävien avaimet (muodossa reikäkortit ) pois Yhdysvaltojen ja Venäjän , ja päinvastoin.
Mutta tunnetuin tapaus on varmasti kuin Enigma koneen , käytetään aikana toisen maailmansodan , jonka Akseli voimat salata radioliikennettä. Saksan armeija vaihtoi päivittäin Enigman salausavaimet, jotka vastaavat yhteysparametreja ja roottoreiden valintaa. Jo ennen sotaa, vuonna 1932, ranskalainen vakooja Hans-Thilo Schmidt onnistui saamaan avaimet saman vuoden syys- ja lokakuussa. Erityisesti näiden tietojen avulla puolalainen Marian Rejewskin joukkue onnistui kehittämään salauksen purkumenetelmän, joka oli automatisoitu vuodesta 1938. Avainta vaihdettiin vain kerran päivässä, kaikki samana päivänä siepatut viestit rikottiin samanaikaisesti. Alan Turing onnistuu organisoimaan Enigman viestinnän salauksen purkamalla Rejewskin työtä ja turvautumalla muihin Saksan joukkojen operatiivisiin virheisiin .
Ensimmäisen avaimenvaihtomekanismin on Ralph Merkle , joka kuvasi sitä vuonna 1974 ja julkaisi vuonna 1976. Ajatuksena on laatia julkinen luettelo ongelmista, "pulmista", joiden ratkaiseminen vaatii jonkin verran ponnisteluja. salaisuudet kerran ratkaistu. Avaimen luomiseksi valitsemme satunnaisesti yhden näistä pulmista, jotka ratkaisemme. Ensimmäinen salaisuus välitetään palapelin omistajalle ja kertoo heille, mikä palapeli on ratkaistu, ja toinen salaisuus toimii salausavaimena.
Keskustelua kuunteleva vastustaja ei a priori tiedä mikä palapeli on valittu. Kahden osanottajan valitseman avaimen löytämiseksi vastustajan on pahimmassa tapauksessa ratkaistava kaikki ehdotetut pulmat. Siksi se kohtaa toisen asteen monimutkaisuuden ongelman.
Vuonna satunnainen oraakkeli mallia , voimme osoittaa, että turvallisuuden, protokolla on käytännössä neliömäinen määrä arvoituksia. Tätä monimutkaisuutta ei pidetä riittävänä nykyaikaisessa salauksessa, mutta Boaz Barakin ja Mohammad Mahmoody-Ghidaryn tulos osoittaa, että tässä mallissa ei voida tehdä paremmin.
Vuonna 1976, nojaten rakentaminen Merkle, Whitfield Diffie ja Martin Hellman ehdottaa käyttämään ongelma diskreetti logaritmi on äärellisessä kentässä , laskennallinen ongelma pitää vaikeaa, koska perustana rakentaa avaintenvaihtoprotokollaa.
Toimintaperiaate on seuraava: avaimen luomiseksi Alice ja Bob valitsevat salaa kokonaisluvun ja vastaavasti. Alice laskee ja Bob laskee , missä on melko suuren, etukäteen neuvoteltujen alaryhmien generaattori. Alice lähettää Bobille ja Bob Alicelle. Lopuksi Alice laskee ja Bob laskee ; nämä kaksi määrää ovat itse asiassa yhtä suuret, mikä voidaan nähdä nopeasta laskelmasta.
Keskustelua kuunteleva vastustaja kohtaa seuraavan ongelman: annettu , laskettu . Tätä ongelmaa kutsutaan Diffie-Hellmanin laskennalliseksi ongelmaksi . Vuonna 2018 tunnetuin tapa hyökätä siihen on laskea erilliset logaritmit.
Diskreetin logaritmin ratkaiseminen geneerisessä ensimmäisen kertaluvun ryhmässä vaatii ponnistelua , eli vastustaja kohtaa eksponentiaalisesti vaikeampaa ongelmaa kuin protokollan käyttäjät. Diffien ja Hellmanin alun perin käyttämissä äärellisissä kenttien multiplikatiivisissa alaryhmissä on itse asiassa tehokkaampia algoritmeja, varsinkin muunnelmia yleistetystä lukukenttäseulasta . Vuonna 1984 Neal Koblitz ja Victor S. Miller ehdottavat käyttää sen sijaan elliptisen käyrän järkevien pisteiden ryhmää . Hyvin valituille käyrille ei tunneta klassista hyökkäystä, joka olisi tehokkaampi kuin yleiset hyökkäykset.
Käytännössä avaimena ei käytetä Diffie-Hellman -protokollan suoraa tulosta: sitä käytetään pikemminkin entropian lähteenä , joka toimitetaan avaimen johtamisfunktiolle .
Edellä kuvattu Diffie-Hellman-protokolla takaa vain turvallisuuden passiivista vastustajaa vastaan, joka pystyy salakuuntelemaan keskustelua, mutta ei häiritse sitä. Jos vastustaja pystyy sieppaamaan viestinnän, on mahdollista järjestää mies keskelle -hyökkäys . Tätä varten vastustajan on vain esitettävä olevansa Alice Bobin kanssa ja Bob Alicen kanssa. Hän muodostaa avaimen jokaisen kanssa ja voi siten purkaa Alicen lähettämät viestit (ja haluttaessa lähettää ne Bobille mahdollisesti muutettuaan ne).
Tällaisen tilanteen estämiseksi vaihtoprotokolla on todennettava. Tätä varten voimme käyttää allekirjoitusjärjestelmää ja varmistaa, että kukin lähetetty viesti on sen kirjoittajan allekirjoittama ja vastaanottajan vahvistama. Suorituskyvyn vuoksi vain koko keskustelun kattava allekirjoitus voidaan tuottaa: tämä on TLS : n omaksuma lähestymistapa . Tämä yksinkertaistaminen kuitenkin heikentää avaimenvaihtoa käytännössä, koska hyökkääjällä on keskustelun loppuun asti väärennettävä allekirjoitus: se on yksi Logjam-hyökkäyksen komponentteista .
Digitaalisen allekirjoituksen oikeellisuuden varmistamiseksi vastaanottajan on oltava tietoinen vastaavasta vahvistusavaimesta. Se on pitkäaikainen julkinen avain, joka voidaan sertifioida sen alkuperän takaamiseksi. Todennettu avaintenvaihto perustuu siten julkisen avaimen infrastruktuurin saatavuuteen . Turvallisuus digitaalisen allekirjoituksen käytetään, voi perustua muihin olettamuksiin kuin Diffie-Hellman ongelma, kuten vaikeus factoring suuret kokonaislukuja varten RSA .
Käytetty määrä (tai ) voidaan siten laskea jokaisessa istunnossa uudella (tai vastaavalla ). Käytön, "lyhytaikainen" istuntoavainta tarjoaa seuraavat takuu: Jos istunto avain huomaa vastustaja, jälkimmäinen ei ole tietoa menneisyydessä tai tulevaisuudessa istuntoja. Sanotaan, että tällainen mekanismi takaa täydellisen jatkuvan luottamuksellisuuden .
Toisaalta viestien allekirjoittamiseen käytetty pitkäaikainen avain, jos vastustaja havaitsee sen, antaa hänelle mahdollisuuden anastaa yhden osanottajan henkilöllisyyden. Tietyissä allekirjoitusjärjestelmissä, erityisesti Schnorrin ja sen muunnelmien DSA , ECDSA , EdDSA , allekirjoituksissa satunnaislukugeneraattorin heikkoudet saattavat paljastaa salaisen avaimen. Vuonna 2004 NIST standardisoi Dual_EC_DRBG- algoritmin näennäissatunnaislukugeneraattorina, joka on tarkoitettu käytettäväksi erityisesti digitaalisissa allekirjoituksissa. Vuonna 2013 Edward Snowden n paljastuksia vahvisti, että tämä oli yritys heikentää kryptografia (osana on NSA: n Bullrun ohjelma ), joiden avulla sen laatijat ennustaa sukupolven satunnaislukuja läpi takaoven . Dual_EC_DRBG poistettiin vuonna 2014 virallisesta NIST-luettelosta.
Sen sijaan, että protokolla, jossa molemmat osapuolet hankkivat avaimen, on mahdollista, että toinen osapuolista päättää avaimen, jonka se välittää toiselle. Jotta tämä lähetys olisi turvallista, lähetetty avain salataan: tätä kutsutaan avainkapseloinniksi .
Avainten kapselointimekanismi voi käyttää mitä tahansa julkisen avaimen salausta, esimerkiksi RSA : Alice julkaisee julkisen avaimensa, Bob valitsee satunnaiset tiedot, jotka hän salaa Alice-avaimella. Näitä tietoja käytetään molempien osapuolten avaimen johtamiseen.
Äärimmäinen kapselointitapaus koostuu symmetrisen salauksen käytöstä avaimen lähettämiseen, mikä edellyttää, että molemmat osapuolet ovat aiemmin koordinoineet salaisuuden. Tämä salaisuus voi olla esimerkiksi salasana : puhutaan salasanalla todennetusta avaimen vaihdosta (PAKE), josta ensimmäisiä versioita ehdotettiin vuonna 1992 ja jotka hajotettiin nopeasti. Ensimmäiset rakenteet, joilla oli todiste turvallisuudesta, saatiin vuonna 2000, satunnaisen oraakelin mallina . Ensimmäinen malli vakiomallissa on vuodelta 2001.
Vuonna 2002 Antoine Joux osoittaa, kuinka Weil-kytkimiä käytetään elliptisillä käyrillä kolmitoimisen avaimenvaihdon suorittamiseksi yhdessä käännöksessä. Diffie-Hellman -protokolla edellyttäisi turvakanavan perustamista jokaisen parin välille, jos sitä käytettäisiin.
Vuonna 2003 Dan Boneh ja Alice Silverberg ehdottivat tämän rakenteen yleistämistä, jotta avain voidaan vaihtaa mielivaltaisen määrän osallistujia varten kryptografisen monirivisen sovelluksen avulla. Tämä on tehokkaasti laskettavissa oleva algoritmi, joka tyydyttää erityisesti sen, että kaikki kokonaisluvut ja kaikki meillä on , mikä vahvistaa kytkinten turvallisuusominaisuuksien laajentumisen. Ensimmäiset ehdokkaat, jotka on sittemmin hajonnut, näkyi vasta vuonna 2013.
Tehokkaan monen osapuolen avaimenvaihtoprotokollan rakentaminen ja salauksen monirivisen sovelluksen suunnittelu ovat edelleen avoimia tutkimuskysymyksiä vuonna 2018.
Erillinen logaritmiongelma, johon Diffie-Hellman-protokolla perustuu, voidaan ratkaista tehokkaasti kvanttitietokoneella Shorin algoritmia käyttämällä . Lisäksi istunnon todentamiseen käytetty allekirjoitus on myös vaarassa.
Siksi on ehdotettu useita korvausprotokollia, jotka eivät kärsi tällaisista heikkouksista. Ehdotuksista lasketaan erityisesti Jao-De Feo -algoritmi, joka perustuu supersinkulaaristen elliptisten käyrien isogeeneihin, ja New Hope -algoritmi, joka perustuu lyhyisiin vektoriongelmiin Euclidean verkoissa. New Hope otettiin käyttöön ja käytettiin kokeellisesti Google Chrome -selaimessa vuonna 2016.
Edelliseen osaan liittymättä ehdotettiin, että avainten vaihdon turvallisuuden varmistamiseksi matemaattisten ja laskennallisten takuiden sijasta käytettäisiin fysiikan ominaisuuksia. Tarkemmin sanottuna kietoutumattomien hiukkasten virtauksen tilastollisten ominaisuuksien havainnointi , joka liittyy kloonaamattomaan lauseeseen, mahdollistaa kuuntelevan vastustajan havaitsemisen ja "heittämisen" osan näin paljastetuista biteistä korjaamalla melu (joka korjaa myös mittauksiin liittyvät virheet). Tämä sovitteluvaihe johtaa bittisarjaan molemmille osapuolille, jotka haluavat vaihtaa avaimen. Lisävahvistusvaihe on tarpeen avaimen johtamiseksi yhteisestä sekvenssistä.
Useat näistä protokollista on toteutettu ja validoitu kokeellisesti useita satoja kilometrejä pitkin.
Kvanttiavainvaihto aiheuttaa kuitenkin useita teknisiä ja operatiivisia haasteita, jotka tällä hetkellä rajoittavat sen käyttöönottoa: erityisesti osallistujien välille on luotava erityinen viestintäkanava. Esimerkiksi, että BB84 , B92 tai SARG04 protokollia , on välttämätöntä pystyä varmistamaan kuljetuksen matalan energian fotonit säilyttäen niiden polarisaatio huolimatta ilmiöitä decoherence koko kanavan pituudelta.