Avainten jakeluprotokolla

Avainten jakeluprotokollat ​​ovat sovittu käyttäjän toimien sarja ( cryptographic protocol ) suojatun viestintäkanavan luomiseksi, joka koostuu istuntoavainten generoimisesta ja vaihtamisesta sekä viestien  todentamisesta .

Avainten jakeluprotokollien päätehtävä on osallistujien (kutsumme heitä jatkossa, kuten aina, Alice ja Bob ) yhteisen avaimen kehittäminen. Samaan aikaan sekä Bobin että Alicen on oltava varmoja siitä, että yhteys on keskustelukumppaniin, ei tunkeilijaan tai hahmoon. Useimmat näistä protokollista perustuvat luotetun keskuksen (jäljempänä Trent) olemassaoloon, ja oletetaan, että Trent jakaa salaisen avaimen jokaiselle käyttäjälle, joten ennen protokollan alkamista kaikki avaimet ovat jo käyttäjissä.

Kaikki avainten jakeluprotokollat ​​on jotenkin jaettu seuraaviin luokkiin (päällekkäiset):

Symmetriset protokollat

Todennuksessa ja avaintenvaihtoprotokollassa käytetyt kryptografiset merkinnät
Istunnon aloittajan Alice ( Alice ) tunnisteet
Bobin ( Bob ) tunniste , puoli, josta istunto muodostetaan
Luotetun välittäjän Trentin ( Trent ) tunniste
Alicen, Bobin ja Trentin julkiset avaimet
Alicen, Bobin ja Trentin salaiset avaimet
Tietojen salaus Alicen avaimella tai Alicen ja Trentin yhteisellä avaimella
Tietojen salaus Bobin avaimella tai Bobin ja Trentin yhteisellä avaimella
Tietojen salaus Alice, Bobin salaisilla avaimilla (digitaalinen allekirjoitus)
Istunnon järjestysnumero (uudelleentoistohyökkäysten estämiseksi)
Satunnainen istuntoavain, jota käytetään tietojen symmetriseen salaukseen
Tietojen salaus väliaikaisella istuntoavaimella
Liisa ja Bob ovat lisänneet viesteihin aikaleimat
Satunnaiset luvut ( nonce ), jotka Alice ja Bob valitsivat vastaavasti

Pääartikkeli: Symmetriset kryptojärjestelmät

Wide Mouth Frog

Wide-Mouth Frog -protokolla  on yksinkertaisin avaintenhallintaprotokolla. Sen avulla kaksi tilaajaa voivat muodostaa yhteisen istuntoavaimen turvallista viestintää varten keskenään [1] . Luotettu keskus osallistuu protokollaan .

Protokollan kuvaus [2]
  • Alice haluaa luoda istuntoavaimen Bobin kanssa. Hän aloittaa muodostamalla:

1. K - satunnainen istuntoavain

2. T A  - aikaleima

ja lähettää Trentille (luotettu keskus) lisäämällä hänen nimensä:

M ° = A, E A (TA , B, K).

  • Trent käyttää Alicen kanssa jaettua salaista avainta purkaa viestin salauksen ja tarkistaa, että aikaleima T A ja Bobin tunnus ovat oikein. Jos kaikki on hyvin, se muodostaa:

T B  on uusi aikaleima (joka voi olla erilainen kuin T A ) ja lähetetään Bobille

M 1 \u003d E B ( TB , A, K).

  • Bob vastaanottaa viestin, purkaa sen salauksen Trentin kanssa jaetulla avaimella ja tarkistaa aikaleiman T A ja Alicen tunnuksen. Jos viesti läpäisi testin, Bob jakaa nyt avaimen Alicen kanssa.

Needham-Schroeder Protocol

Needham - Schroeder jaetun avaimen protokolla on tärkeä ensisijaisesti historiallisista syistä. Vuodesta 1978 lähtien se on ollut perusta monille luotettujen keskusavainten jakeluprotokollien käyttöön. Kerberos- ja Otway-Rees-protokollat ​​mukaan lukien (kuvattu alla) ovat peräisin tästä protokollasta.

Tämä protokolla on esimerkki protokollasta, joka ei riipu aikaleimoista ja tarjoaa samalla avaimen luomisen ja vahvistuksen.

Kuvaus Needham-Schroeder-protokollan toiminnasta Tilanne ennen protokollan alkua
  • 3 näyttelijää: asiakkaat Alice ja Bob, jotka haluavat saada avaimen kommunikoidakseen keskenään, Trent on luotettava keskus.
  • Alicella ja Bobilla on salaiset avaimet E A ja E B kommunikoidakseen Trentin kanssa.
  • Alice valitsee N A , Bob valitsee N B .
Protokollan toimintajakso
  • Joten Alice käynnistää protokollan, muodostaa viestin, joka koostuu hänen ja Bobin tunnisteista sekä valitusta numerosta N A , ja lähettää sen Trentille.

M ° = A, B, NA .

  • Saatuaan viestin Alicelta Trent muodostaa kaksiosaisen viestin. Ensimmäisessä osassa hän laittaa N A :n, Bobin tunnisteen, sekä uuden avaimen K, jonka Alice ja Bob haluavat saada. Viestin toinen osa sisältää myös uuden avaimen K ja Alicen tunnuksen, mutta se on salattu Trentin ja Bobin salaisella avaimella E B . Koko viesti on salattu Alice ja Trentin yksityisellä avaimella E A . ja lähetettiin Alicelle.

M1 = E A (NA , B, K, E B (K, A)).

  • Alice purkaa viestin salauksen. Löydettyään viestistä N A :n hän on vakuuttunut puhuneensa Trentin kanssa. Hän ei täysin pysty lukemaan toista osaa, jonka E B on salannut , ja lähettää sen Bobille.

M2 = E B (K, A).

  • Bob vastaanottaa ja purkaa viestin, ottaa esiin uuden avaimen K ja muodostaa Alicelle viestin, jossa hän kertoo hänelle numeronsa N B salattuna uudella avaimella.

M 3 \u003d E K ( NB ).

  • Alice vastaanottaa viestin, ottaa N B :n esiin , muuttaa sen ja lähettää sen takaisin Bobille.

M 4 = E K (N B - 1) [3] .

  • Alice ja Bob jakavat avaimen K.

Kerberos-protokolla

Kerberos- protokolla on hajautettu todennusjärjestelmä (todennus), jonka avulla käyttäjän puolesta toimiva prosessi (asiakas) voi todistaa henkilöllisyytensä palvelimelle lähettämättä tietoja verkon kautta , mikä voi antaa hyökkääjän myöhemmin esiintyä käyttäjänä. Kerberos varmistaa asiakkaan ja palvelimen välillä vaihdettavien tietojen eheyden ja luottamuksellisuuden tarpeen mukaan.

Kerberos kehitettiin 80-luvun puolivälissä MIT:n Athena - projektissa .

Koska Kerberosin käyttö on levinnyt eri ympäristöihin, muutokset ovat tulleet välttämättömiksi uusien käyttötapojen tukemiseksi. Näiden tarpeiden täyttämiseksi Kerberos version 5 ( Kerberos V5 ) kehitys aloitettiin vuonna 1989 . Vaikka versio 4 on edelleen käynnissä monilla sivustoilla, versiota 5 pidetään Kerberos-standardina [4] .

Kerberoksen työnkuva Tilanne ennen protokollan alkua
  • 3 näyttelijää: Alice on asiakas, Bob on palvelin, jolle Alice haluaa todistaa henkilöllisyytensä, Trent on luotettava keskus.
  • Alicella ja Bobilla on salaiset avaimet E A ja E B kommunikoidakseen Trentin kanssa.
  • Alice valitsee numeron N A ja asettaa myös aikaleiman T A kellonsa mukaan.
  • t on Trentin valitsema voimassaoloaika (elinikä).
Protokollan toimintajakso
  • Alice, joka aloittaa protokollan, lähettää Trentille 3 asiaa tavallisena tekstinä: hänen ja Bobin tunnisteet sekä valitun numeron N A .

M ° = A, B, NA .

  • Trent, saatuaan viestin Alicelta, luo avaimen K jatkoviestintää varten Alicen ja Bobin välillä ja lähettää takaisin kaksiosaisen viestin Alicelle. Ensimmäinen osa on salattu Alicen yksityisellä avaimella ja sisältää K, N A , voimassaoloajan t ja Bobin tunnuksen. Toinen osa on Alicelle tuntematon - se on salattu Bobin salaisella avaimella, ja se sisältää K, t ja Alicen tunnisteen.

M1 = EA (K, NA , t, B), EB ( K, A , t).

  • Alice purkaa Trentiltä saadun viestin ensimmäisen osan, vastaanottaa avaimen K ja luo Bobille lähetettävän uuden paketin, joka sisältää Alicen tunnisteen t ja aikaleiman T A . Sen jälkeen Alice lähettää kaksiosaisen viestin Bobille: ensimmäinen osa on se, joka tuli Trentiltä, ​​ja toisen osan on luonut Alice.

M2 = E B (K, A, t), E K (A, TA , t).

  • Bob vastaanottaa viestin. Purettuaan ensimmäisen osan salauksen hän ottaa esiin uuden avaimen K ja sen avulla purkaa toisen osan salauksen. Vahvistaakseen Alicelle, että hän tietää uuden avaimen K, Bob lähettää hänelle viestin, jossa on aikaleima, joka on salattu uudella avaimella K.

M 3 \u003d E K ( TA ).

  • Alice varmistaa, että Bob on Bob. Tässä pätee seuraava päättely: Bob pystyi purkamaan Liisalta aikaleimalla varustetun viestin salauksen vain, jos hän tiesi avaimen K. Ja hän voisi tietää avaimen K vain, jos hän tiesi E B :n . Ja koska tämä on Bobin ja Trentin salainen avain, Alicelle viestin lähettäjä on Bob.
  • Alice ja Bob ovat valmiita vaihtamaan viestejä näppäimellä K [5] .
Lisäykset Kerberos-lippu

Erikoiskirjallisuudessa sanomaa E B (K, A, t) kutsutaan usein lipuksi. Aina kun kuvitteellinen Alice todistaa henkilöllisyytensä kuvitteelliselle Bobille (verkon käyttäjien määrä voi olla paljon suurempi kuin 2), hän luottaa Trentiin ( luotettu keskus ) luomaan uuden salaisen avaimen ja luovuttamaan sen turvallisesti . molemmille käyttäjille. Uutta salaista avainta K kutsutaan istuntoavaimeksi ja se on Kerberos Ticket , jota käytetään sen toimittamiseen Bobille. Kerberos Ticket on luotettavan viranomaisen myöntämä sertifikaatti , joka on salattu E B  :n, Bobin ja Trentin julkisella avaimella. Lippu sisältää muun muassa satunnaisen istuntoavaimen, jota käytetään Alice by Bobin todentamiseen , sen osallistujan nimen (tässä tapauksessa Alice), jolle istuntoavain myönnettiin, ja vanhenemispäivän, jonka jälkeen istuntoavain ei enään voimassa. Tätä varmennetta (Kerberos Ticket) ei lähetetä suoraan Bobille, vaan se lähetetään asiakkaalle (Alice), joka lähettää sen Bobille tarkistettavaksi osana pyyntöä. Koska varmenne on salattu palvelimella vain Trentin ja Bobin tuntemalla avaimella, asiakkaan (Alice) varmennetta (Kerberos Ticket) ei ole mahdollista muuttaa [4] .

Otway-Riis Protocol

Otway - Rees-protokolla on symmetrinen avainprotokolla, jonka avulla voit jakaa avaimia ilman aikaleimoja .

Jälleen, ennen protokollan aloittamista meillä on:

  • Trusted Center Trent
  • 2 käyttäjää: Alice ja Bob, jotka saivat E A:n ja E B :n
  • Alice valitsee N ja N A , Bob valitsee N B.
Protokollan kuvaus [6]
  • Alice muodostaa Bobille viestin, jossa hän lähettää N, A, B selkeänä tekstinä sekä saman N, A, B:n N A :lla salattuna Trentin kanssa jaetulla avaimella E A.

M 0 \u003d N, A, B, E A (NA , N, A , B)

  • Bob saa viestin, jonka toinen osa on hänelle täysin mahdotonta, lisää siihen yhden rivin, jonka hän salaa avaimella E B ja lähettää Trentille.

M 1 \u003d N, A, B, E A (NA , N, A , B), E B (NB , N, A, B).

  • Trent, joka tuntee molemmat avaimet, voi purkaa Alicen ja Bobin viestien salauksen. Nyt hänen tavoitteenaan on vahvistaa olevansa Trent ja muodostaa K-avain jatkoviestintään Alicen ja Bobin välillä.

Trent luo avaimen K ja lähettää viestin Bobille.

M 2 \u003d E A ( NA , K), E B (NB , K).

  • Ensimmäinen osa, joka on salattu Alicen avaimella, Bob ei voi purkaa salausta ollenkaan, ja hän purkaa rauhallisesti toisen osan ja N B laskettuna varmistaa, että viesti tuli Trentiltä. Sitten hän saa luodun avaimen K. Nyt Bob on valmis kommunikoimaan Alicen kanssa, on vain toimitettava avain hänelle. Bob lähettää Trentin viestin ensimmäisen osan Alicelle.

M 3 = EA ( NA , K ).

  • Alice vastaanottaa viestin, tarkistaa, että se on Trentiltä (NA ) , ja lukee avaimen K.
  • Alice ja Bob ovat valmiita kommunikoimaan.
Mikä on tulos

Iloisesti saamme 4 viestiä:

  • Bob on varma puhuneensa Trentin kanssa: Bob lähetti hänelle numeron N B salattuna salaisella avaimella E B ja sai takaisin toisen viestin, joka sisälsi saman numeron ja oli salattu samalla avaimella.
  • Alice puolestaan ​​on myös varma, että Bob puhui Trentin kanssa, koska hän lähetti numeronsa N A salattuna avaimella E A ja sai takaisin toisen viestin, joka sisälsi myös N A:n ja salatun E A:n .
  • Alicella ja Bobilla on yhteinen avain K.
Ongelma
  • Alice ei voi mitenkään olla varma, että Bob on Bob. Hän on vain varma, että hän kommunikoi tietyn henkilön kanssa, joka voi mennä Trentiin. Tämän ongelman ratkaisemiseksi vaiheessa 4 Bob voi lähettää Alicelle paitsi E A: n (NA , K), mutta myös esimerkiksi E K : n (NA , N B ), mikä osoittaa, että hän tuntee avaimen K. Ja Alice voi puolestaan ​​vastata Bob E K (N B ), mikä osoittaa myös, että hän tuntee avaimen K [5] .

Epäsymmetriset protokollat

Pääartikkeli: Julkisen avaimen salausjärjestelmä

Needham-Schroeder Protocol

Needham - Schroeder julkisen avaimen protokolla julkaistiin samalla tavalla kuin sen symmetrinen serkku vuonna 1978. Tämä on laajalti käytetty malli salausprotokollien muodollisten menetelmien tutkimuksessa. Tämä suosio tulee ilmeisesti yhdestä tämän alueen menestyneimmistä tarinoista - vuonna 1994 protokolla koki onnistuneen uusintahyökkäyksen 16 vuotta sen julkaisemisen jälkeen. Hyökkäyksen suoritti  kanadalainen tietojenkäsittelytieteilijä David G. Lowe [ 7] .

Worcester Polytechnic Instituten verkkosivustolta löydät David G. Lowen julkaiseman alkuperäisen artikkelin [8]

Tämä protokolla tarjoaa avainten k A ja k B keskinäisen siirron sekä keskinäisen autentikoinnin.

Kuvaus protokollan toiminnasta Tilanne ennen työn aloittamista
  • Alicella ja Bobilla on julkiset koodausmenettelyt PA ja P B.
  • Alice ja Bob haluavat tunnistaa toisensa kolmella viestillä ja käyttämällä julkisia avaimia.
Protokollan toimintajakso
  • Alice valitsee oman osan avaimesta k A ja muodostaa Bobille viestin, johon hän laittaa tunnuksensa ja k A:n . Koko viesti salataan Bobin julkisella avaimella P B ja lähetetään hänelle.

M 0 = P B (A, k A ).

  • Bob on purkanut viestin salauksen ja tietää nyt, että Alice haluaa puhua hänen kanssaan ja hän haluaa käyttää avainta k A kommunikoidakseen . Bob valitsee oman osan avaimesta, k B , ja lähettää Alicelle viestin, joka koostuu kahdesta avaimesta k A ja k B ja jotka on salattu Alicen julkisella avaimella. Siten Bob vahvistaa Alicelle saaneensa osan hänen avaimestaan ​​K A .

M1 = PA ( k A , kB ) .

  • Nyt on Alicen vuoro todistaa Bobille olevansa Alice. Tätä varten sen on kyettävä purkamaan avaimella PA salattujen viestien salaus . Hän tekee hyvin, että hän purkaa Bobin viestin salauksen, ottaa sieltä k A :n ja lähettää Bobille viestin, joka sisältää hänen avaimensa k B .

M 2 = P B (k B ).

  • Tämän seurauksena Alice on viestivaiheessa M 1 varma, että Bob on Bob, ja Bob tietää koko avaimen. Ja viestivaiheessa M 2 Bob on varma, että hän puhui Alicelle, ja hän tietää koko avaimen. [5]

Tunnetuimmat hyökkäykset salausprotokollia vastaan ​​[9]

Korvaus

Korvaus (eng. Impersonation) - yritys korvata yksi käyttäjä toisella. Tunkeilija, joka puhuu toisen osapuolen puolesta ja jäljittelee täysin sen toimintaa, saa vastauksena tietyn muotoisia viestejä, jotka ovat välttämättömiä protokollan yksittäisten vaiheiden väärentämiseen.

Vastatoimia ovat:

  • tunnistusalgoritmin määrittävän tiedon salassa pitäminen viholliselta;
  • protokollan eri vaiheissa lähetettyjen eri viestimuotojen käyttö;
  • lisäämällä niihin erityisiä tunnistemerkkejä ja viestinumeroita. Kolmannen osapuolen käyttävissä protokollissa hyökkäykset, jotka perustuvat luotetun palvelimen korvaamiseen, ovat mahdollisia.

Esimerkiksi toinen osapuolista, jolla on luottamuksellinen suhde palvelimeen, toimii sen puolesta, korvaa sen vaihtoliikennettä muilla osapuolilla ja saa sen seurauksena mahdollisuuden paljastaa keskuksen luomien avainten arvot.

Toista hyökkäys

Toista hyökkäys nykyisessä tai edellisessä istunnossa aiemmin lähetetyn viestin tai sen osan uudelleenkäyttö protokollan nykyisessä istunnossa .

Esimerkiksi tietojen uudelleenlähetys aiemmin suoritetusta todennusprotokollasta voi johtaa saman tai eri käyttäjän onnistuneeseen uudelleentunnistukseen.

Avainten siirtoprotokollassa tätä hyökkäystä käytetään usein aiemmin käytetyn istuntoavaimen - tuoreushyökkäyksen - uudelleen asettamiseen.

Vastatoimina on varmistaa istunnon eheys ja mahdottomuus lisätä siihen tarpeettomia viestejä. Voit tehdä tämän lisäämällä aikaleimat tai satunnaiset numerot lähetettyihin viesteihin sekä osapuolen tunnisteita.

Yhdistelmähyökkäys

Lomitteluhyökkäys on korvaaminen tai muu petosmenetelmä, joka käyttää yhdistelmää tietoja aiemmin suoritetuista protokollista, mukaan lukien vihollisen aiemmin määräämät protokollat.

Vastatoimenpidemenetelmänä on varmistaa protokollaistuntojen ja yksittäisten viestien eheys.

Muistiinpanot

  1. Pablo Giambiagi. Salassapito turvaprotokollan mobiilitoteutuksille. - 2001. - S. 36 . — ISSN 1403-5286 .
  2. John Kelsey, Bruce Schneier, David Wagner. Protokollavuorovaikutukset ja valittu protokollahyökkäys. - 1997. - S. 8 . — ISSN 0302-9743 .
  3. Aleksei Lisitsa. Needham-Schroeder-todennusprotokolla ja sen muodollinen analyysi . Käyttöpäivä: 15. joulukuuta 2014. Arkistoitu alkuperäisestä 7. maaliskuuta 2016.
  4. ↑ 1 2 B. Clifford Neuman ja Theodore Ts'o. [ http://www.isi.edu/div7/publication_files/kerberos_an_auth.htm Kerberos: An Authentication Service for Computer Networks] (kuollut linkki) . IEEE Communications Magazine (1994). Haettu 15. joulukuuta 2014. Arkistoitu alkuperäisestä 26. toukokuuta 2013. 
  5. ↑ 1 2 3 Sergei Nikolenko. Avaimet ja protokollat ​​niille (syksy 2009). Käyttöpäivä: 14. joulukuuta 2014. Arkistoitu alkuperäisestä 14. joulukuuta 2014.
  6. Dr. Geoff Hamilton. Avainten vaihto- ja todennusprotokollat ​​(linkki ei käytettävissä) . Käyttöpäivä: 14. joulukuuta 2014. Arkistoitu alkuperäisestä 14. joulukuuta 2014. 
  7. Olivier Michel. Needham-Schroeder Public-Key -protokollan analyysi MGS:n kanssa . Käyttöpäivä: 15. joulukuuta 2014. Arkistoitu alkuperäisestä 8. maaliskuuta 2016.
  8. Gavin Lowe. Hyökkäys Needham-Schroeder julkisen avaimen todennusprotokollaa vastaan ​​(1995). Haettu 15. joulukuuta 2014. Arkistoitu alkuperäisestä 16. joulukuuta 2014.
  9. A.V. Cherjomushkin. Cryptographic Protocols: tärkeimmät ominaisuudet ja haavoittuvuudet (marraskuu 2009).

Kirjallisuus

  • Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone. Sovellettavan kryptografian käsikirja. - 1996. - S. 489-534. — 816 s. - ISBN 0-8493-8523-7 .

Linkit

  • Sergei Nikolenko. Salausprotokollat . Lectorium. (Kurssimateriaalit)
  • DR. Bill Young. Johdatus  tietokoneturvallisuuteen . Texasin yliopisto (2014). — Luentokurssi tietoturvasta, mukaan lukien salausprotokollat.