Needham-Schroeder-protokolla

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

Needham-Schroeder-protokolla  on yleinen nimi symmetrisille ja epäsymmetrisille todennus- ja avaintenvaihtoprotokolloille. Molemmat protokollat ​​ehdottivat Michael Schroeder ja Roger Needham [1] . Symmetriseen salaukseen perustuva muunnelma käyttää välissä olevaa luotettavaa osapuolta. Tästä protokollasta tuli perusta koko luokan tällaisille protokollille. Esimerkiksi Kerberos on yksi symmetrisen Needham-Schroeder-protokollan vaihtoehdoista. Epäsymmetriseen salaukseen perustuva muunnos on suunniteltu osapuolten keskinäiseen todentamiseen . Alkuperäisessä muodossaan molemmat protokollan versiot ovat haavoittuvia [2] [3] .

Historia

Michael Schroeder ja Roger Needham muotoilivat vuonna 1978 symmetrisen avaimen todennusprotokollan, ehkä tunnetuimman todennus- ja avaintenmuodostusprotokollan [1] . Se on kuitenkin haavoittuvainen Dorothy E. Denningin  ja Giovanni Maria Saccon vuonna 1981 keksimälle hyökkäykselle [ 2] .  Tästä huolimatta siitä tuli perusta koko luokan tällaisille protokollille. Erityisesti Kerberos-protokolla on yksi Needham-Schroeder-todennusprotokollan muunnelmista, jotka perustuvat luotettavaan kolmanteen osapuoleen ja sen Denningin ja Saccon ehdottamiin muunnelmiin [2] . Julkisen avaimen todentamisen Needham-Schroeder-protokolla on myös haavoittuvainen. Vuonna 1995 Gavin Lowe kuvaili mahdollista hyökkäystä protokollaa vastaan ​​[3] .  

Needham-Schroeder-protokolla symmetriseen avaimeen

Symmetrisen avaimen salausmenetelmässä oletetaan, että salainen avain on tiedossa sekä todennuspalvelimelle ( Trent ) että molemmille vaihtosubjekteille : (Alice) ja ( Bob). Aluksi molemmilla kohteilla on salaiset avaimet: ja , jotka ovat vain heidän ja jonkun luotetun osapuolen tiedossa - todennuspalvelin. Protokollan suorittamisen aikana Alice ja Bob saavat palvelimelta uuden salaisen istuntoavaimen salaamaan keskinäiset viestit tässä viestintäistunnossa, eli vain Bob voi purkaa viestien salauksen Alicelta Bobille, vain Alice voi purkaa viestien salauksen Bobilta Alicelle. . Lisäksi vaihdon kohteiden tulee olla varmoja siitä, että saapuva viesti on lähetetty juuri niille, joiden kanssa vaihto tulee tapahtua. Bobin on oltava varma, että hän sai viestin Alicelta ja päinvastoin. Protokolla tarjoaa myös tämän. Oletetaan, että vaihdon aloittaa Alice. Oletetaan, että heillä on yhteinen todennuspalvelin. Harkitse protokollan [4] toteutusta :

Vaihto alkaa siten, että Alice luo satunnaisluvun (tunnisteen), jota käytetään kerran. Ensimmäinen viesti Alicelta Trentille sisältää tulevan vaihdon osallistujien nimet ja Alicen luoman satunnaisluvun:

Tämä viesti lähetetään selkeänä tekstinä, mutta se voidaan salata Alicen avaimella :

Saatuaan tämän viestin Trent hakee Alicen ja Bobin yksityiset avaimet tietokannasta: ja ja laskee uuden istuntoavaimen . Trent lähettää sitten Alicelle seuraavan viestin:

Alice osaa purkaa ja lukea Trentin viestin. Hän tarkistaa viestistä henkilöllisyystodistuksensa, mikä vahvistaa, että viesti on vastaus hänen ensimmäiseen viestiinsä Trentille. Se tarkistaa myös sen kohteen nimen, jonka kanssa se aikoo vaihtaa tietoja. Tämä tarkistus on pakollinen, koska jos tätä nimeä ei olisi, tunkeilija voisi korvata Bobin nimen omalla ensimmäisessä viestissä, ja Alice, epäilemättä mitään, olisi edelleen vuorovaikutuksessa tunkeilijan kanssa. Alice ei voi lukea osaa viestistä, koska tämä osa on salattu Bobin avaimella. Alice lähettää Bobille hänen avaimellaan salatun katkelman:

Vain Bob voi purkaa sen salauksen, koska se on salattu hänen yksityisellä avaimellaan. Salauksen purkamisen jälkeen Bob omistaa myös istuntoavaimen . Liisen nimi viestissä vahvistaa sen tosiasian, että viesti on häneltä. Lisäksi dataa vaihdettaessa käytetään istuntoavainta. Jotta järjestelmästä tulee symmetrinen ja uusintahyökkäyksen mahdollisuutta pienentää , Bob luo satunnaisluvun (Bobin ID) ja lähettää Alicelle seuraavan istuntoavaimella salatun viestin:

Alice purkaa sen ja lähettää Bobin odottaman vastauksen, myös istuntoavaimella salattuna:

Säännöllisesti vuorovaikutuksessa oleville kumppaneille voit vähentää viestien määrän kolmeen poistamalla kaksi ensimmäistä. Tässä tapauksessa avainta käytetään toistuvasti [5] .

Hyökkäys Needham-Schroeder-protokollaa vastaan ​​symmetrisen avaimen todentamiseksi

Needham-Schroeder-protokolla on alttiina Dorothy E. Denningin  ja Giovanni Maria Saccon vuonna 1981 keksimälle viestin uudelleenlähetyshyökkäykselle [ 2] .  Hyökkäyksen aikana Hyökkääjä sieppaa ja korvaa protokollan kohtien 3,4,5 viestit. Hyökkääjä sieppaa viestin Alicelta Bobille protokollan kolmannessa vaiheessa ja estää Alicen. Korvaa sitten Alicen nykyisen viestin toisella vanhasta Alicen ja Bobin välisestä istunnosta. Olettaen, että vanha istuntoavain on haavoittuvainen, hyökkääjä voi selvittää sen arvon ja alkaa vaihtaa tietoja Bobin kanssa Alicen varjolla [4] .

Tämän seurauksena Bob luulee, että hänellä on uusi istuntoavain Alicen kanssa, mutta itse asiassa avain on vanha ja Hyökkääjän tuntema.

Harkitse mahdollista hyökkäyksen toteutusta:

Tämän seurauksena Bob on varma, että hän loi viestintäistunnon Alicen kanssa, koska kaikki tarvittavat protokollavaiheet suoritettiin oikein ja kaikki viestit osoittautuivat oikeiksi.

Tämä hyökkäys aiheuttaa vakavamman vaaran - todellisen yhteyden puuttumisen kumppanien välillä. Hyökkääjän ei tarvitse odottaa, että Alice aloittaa protokollan. Koska hän tuntee vanhan istuntoavaimen , hän voi aloittaa hyökkäyksen itse aloittamalla protokollan vaiheesta 3. Bob luulee ottaneensa yhteyttä Aliceen, kun taas Alice ei ottanut yhteyttä ollenkaan [6] .

Haavoittuvuuden korjaus

Denning ja Sacco ehdottivat aikaleimojen käyttöä viesteissä estämään yllä käsitellyn kaltaiset hyökkäykset [2] . Merkitään tällainen tarra kirjaimella . Harkitse vaihtoehtoa haavoittuvuuden korjaamiseksi:

  1. ,

Saatuaan Trentiltä protokollaviestit Alice ja Bob voivat todeta, että heidän viesteihinsä ei ole vastattu, tarkistamalla epätasa-arvon:

missä (nykyinen aika) on vastaanottajan nykyinen paikallinen aika;  on intervalli, joka edustaa Trentin ajan ja paikallisen ajan sallittua eroa;  on odotettu aikaviive. Sieltä he ovat vakuuttuneita viestien ja erityisesti istuntoavaimen "tuoreudesta". Koska aikaleima on salattu Alicen ja Bobin salaisilla avaimilla, Trentin jäljitelmä on mahdotonta ihanteellisessa salausjärjestelmässä [7] .

Myös tässä tarkistetussa protokollaspesifikaatiossa tarve suojata tietojen eheys on selkeästi korostettu. Jos protokollan osallistujien välillä vaihdetut viestit eivät vääristyneet lähetyksen aikana , molemmat osapuolet voivat varmistuksen jälkeen olla varmoja, että istuntoavain on yhdenmukainen sekä käyttäjien että "tuoreus"-tunnisteen kanssa. Tämän pitäisi saada heidät vakuuttuneiksi siitä, että toinen on autenttinen ja että vanhaa istuntoavainta ei käytetä [8] .

Eri todennuspalvelinten tapaus

Tosielämässä Alice ja Bob voivat olla niin kaukana toisistaan, ettei yhteistä todennuspalvelinta ole [5] . Tästä syystä Alicella voi yleensä olla oma todennuspalvelin: , ja Bobilla oma: . Koska tässä tapauksessa Alice joutuu myös rakentamaan Bobille muotoisen viestin . Molemmat palvelimet ovat mukana sen muodostamisessa, koska se voi salata vain Liisa-avaimella ja käyttää vain Bobin avainta: . Samalla on tarkoitus taata palvelimien välisen tiedonsiirron turvallisuus. Harkitse esimerkkiä kahdesta eri palvelimesta, joilla on yhteys toisiinsa:

Vaiheet 1, 4-7 vastaavat yllä olevan yleisen todennuspalvelimen tapauksen vaiheita 1-5. Toisessa vaiheessa Alicen palvelin ei löydä Bobia asiakasluettelosta ja ottaa yhteyttä Bobin palvelimeen. Hän tuntee Bobin avaimen ja osaa suorittaa tarvittavan salauksen. Tämän jälkeen salatut tiedot lähetetään takaisin Alicen todennuspalvelimelle, joka lähettää ne Alicelle [5] .

Entity Authentication Protocol

Protokollan "response-revoke" -mekanismi [9] tarjoaa ns. entiteettiautentikoinnin [ISO 1] . Entiteetin todennus suoritetaan varmentamalla jonkin kryptografisen toiminnon varmentaja. Se osoittaa testauskäyttäjän olemassaolon, joka katsotaan vahvistetuksi, jos testaaja on suorittanut jonkin kryptografisen toimenpiteen sen tapahtuman jälkeen, että toinen käyttäjä pitää viimeisenä.

Needham-Schroeder-protokollan toisessa vaiheessa Alice purkaa kertaluonteisen satunnaisluvun , jonka hän itse loi ensimmäisessä vaiheessa. Tämä vahvistaa sen tosiasian, että Trent suoritti salauksen saatuaan viestin Alicelta. Tämän seurauksena Alice tietää, että Trent oli olemassa tämän tapahtuman jälkeen, eli Trent läpäisi olemassaolon todennuksen suhteessa Aliceen. Samaan aikaan Bob, joka osallistuu samaan protokollaan, ei voi olla varma Trentin olemassaolosta [7] .

Needham-Schroeder-protokolla julkisen avaimen todentamiseen

Julkisen avaimen salausjärjestelmät

Esitellään merkintä:

Lisäksi vain Alice tietää salaisen avaimen, ja julkinen avain on muiden tiedossa.

Tämä tarkoittaa, että täydellisesti salatun tekstin on taatusti luonut Alice, koska vain hän omistaa tämän salaisen avaimen. Tästä syystä salatekstiä kutsutaan digitaaliseksi viestin allekirjoitukseksi . Sen salauksen purkamista julkisella avaimella kutsutaan Alice's signature verification [10] .

Needham-Schroeder-protokolla julkisen avaimen todentamiseen

Needham-Schroeder-protokollan epäsymmetrinen variantti (kahden avaimen malli). Trent omistaa kaikkien palvelemiensa asiakkaiden julkiset avaimet. Alicella on julkinen avain ja yksityinen avain , Bobilla on molemmat , Trentillä ja . Anna Alice aloittaa uusi istunto Bobin kanssa [11] :

Alice, protokollan alullepanija, pyytää Trentiltä Bobin julkista avainta ensimmäisessä viestissä:

Mihin Trent, protokollan toisessa vaiheessa, vastaa viestillä Bobin julkisella avaimella ja hänen nimellään. Viesti on salattu Trentin yksityisellä avaimella , eli se on hänen digitaalinen allekirjoitus . Tämän allekirjoituksen pitäisi saada Alice vakuuttuneeksi siitä, että hän sai viestin Trentiltä. Oletetaan, että Alice tuntee Trentin julkisen avaimen ja pystyy purkamaan viestin salauksen eli varmistamaan allekirjoituksen.

Seuraavaksi Alice luo satunnaisen luvun ja lähettää sen Bobille nimensä kanssa salattuaan sen aiemmin Bobin julkisella avaimella.

Vain Bob voi purkaa tämän viestin salauksen, koska tämä vaatii hänen yksityisen avaimensa . Viestistä hän saa tietää, että Alice haluaa alkaa vaihtaa tietoja hänen kanssaan. Siksi Bob tarvitsee Alicen julkisen avaimen ja suorittaa samat toiminnot kuin Alice:

Tämän seurauksena vaihdon osallistujat tietävät toistensa julkiset avaimet. Sen jälkeen suoritetaan keskinäinen todennus käyttämällä generoituja satunnaislukuja :

Needham ja Schroeder ehdottivat numeroiden käyttöä jaetun salaisen avaimen alustamiseksi [1] , joka tarjoaa salaisen yhteyden Alicen ja Bobin välille. Denning ja Sacco huomauttivat myöhemmin, että tämä protokolla ei takaa, että julkiset avaimet ovat uusia eivätkä vanhojen kaksoiskappaleita. Tämä ongelma voidaan ratkaista monin eri tavoin, erityisesti käyttämällä aikaleimoja [2] avaimilla varustetuissa viesteissä. Needham ja Schroeder harkitsivat myös aikaleimojen käyttöä, mutta hylkäsivät tämän ajatuksen laadullisen aikastandardin puutteen vuoksi [12] .

Hyökkäys Needham-Schroeder-protokollaa vastaan ​​julkisen avaimen todentamiseksi

Hyökkäystä protokollaa vastaan ​​ehdotti Gavin Lowe [3 ] .  Hän jakoi pöytäkirjan kahteen osaan, jotka eivät olleet loogisesti yhteydessä toisiinsa. Ensin: protokollan 1, 2, 4, 5 vaihetta - julkisen avaimen hankkiminen. Toinen: 3, 6, 7 vaihetta - Liisa ja Bob -todennus. Oletetaan, että ensimmäinen osa on tapahtunut ja harkitsemme toista:

3. 6. 7.

Olkoon Attacker henkilö, joka on järjestelmän laillinen käyttäjä . Hän voi suorittaa tavallisia viestintäistuntoja järjestelmän muiden käyttäjien kanssa. Hyökkäyksissä käytetään kahden protokollan samanaikaista käynnistämistä: ensimmäisessä Alice suorittaa oikean istunnon Hyökkääjän kanssa, toisessa Hyökkääjä esiintyy Liisana kommunikoidessaan Bobin kanssa [13] .

1.3. 2.3. 2.6. 1.6. 1.7. 2.7.

Vaiheessa 1.3 Liisa lähettää Hyökkääjälle satunnaisluvun , jonka Hyökkääjä lähettää välittömästi Bobille toisen protokollan vaiheessa 2.3. Bob saa tämän viestin ja generoi vaiheessa 2.6 oman satunnaislukunsa ja vastaa, mikä hänen mielestään on Liisa. Hyökkääjä ei voi purkaa tämän viestin salausta, joten hän lähettää sen Alicelle vaiheessa 1.6. Alice vastaanottaa epäilyttävän viestin, purkaa sen ja palauttaa Bobin satunnaisluvun Hyökkääjälle vaiheessa 1.7 salaamalla viestin Hyökkääjän julkisella avaimella. Nyt Hyökkääjä tietää Bobin satunnaisluvun ja voi vastata hänelle vaiheessa 2.7. Bob on varma, että hän aloitti viestintäistunnon Alicen kanssa, koska hän salasi viestin satunnaisella numerolla hänen avaimellaan ja sai oikean vastauksen.

Hyökkäyksen pääkohta on, että Hyökkääjä voi pakottaa Alicen purkamaan Bobin satunnaisluvun salauksen hänen puolestaan. Liisa tässä hyökkäyksessä toimii oraakkelina  - järjestelmän käyttäjä, joka suorittaa jonkin salausoperaation Hyökkääjän edun mukaisesti [14] .

Esimerkki seurauksista

Harkitse esimerkkiä tämän hyökkäyksen seurauksista. Olkoon Bob joku pankki. Sitten Alicea esiintyvä Hyökkääjä voi käyttää hänen tiliään ja siirtää rahaa siltä omalleen. Pankki on varma, että toimenpiteen suoritti Alice [14] .

Yksinkertainen protokollakorjaus

Estä yllä kuvattu hyökkäys lisää kuudennessa vaiheessa viestiin vastaajan nimi:

2.6.

Tässä tapauksessa Hyökkääjä ei voi välittää viestiä Alicelle, koska Alice odottaa häneltä seuraavan viestin:

1.6.

joita Hyökkääjä ei voi saada joko välittämällä Bobin viestejä eteenpäin tai itse [14] .

Haavoittuvuuden korjaus

Ensimmäinen vaihtoehto 3. 6. 7.

Uudistetussa määrittelyssä  tämä on viesti, joka on vahvistettava Alicen julkisella avaimella, eli se on Alicen allekirjoitus . Tässä määrittelyssä satunnaisluvut ensin allekirjoitetaan ja sitten salataan toisen käyttäjän julkisella avaimella. Koska Bob allekirjoittaa numeronsa vaiheessa 6, Lowin hyökkäys tulee mahdottomaksi. Jos Hyökkääjä välittää viestin Alicelle, hän huomaa vahvistusvirheen [15] .

Toinen vaihtoehto

Käyttämällä "salaa ja allekirjoita" -menetelmää voit tarkentaa sitä seuraavasti:

3. 6. 7.

Nyt Hyökkääjä ei pysty edes aloittamaan viestintäprotokollaa Bobin kanssa toisen henkilön puolesta [15] .

Käytännön käyttö

Kerberos -protokolla on suunniteltu ratkaisemaan verkon käyttäjän todennusongelma . Sen pääajatuksena on käyttää luotettavaa kolmatta osapuolta, joka myöntää käyttäjälle pääsyn palvelimeen käyttämällä yhteistä istuntoavainta, joka on jaettu käyttäjän ja palvelimen välillä. Tämä protokolla perustuu Needham-Schroeder-protokollan muunnelmaan, jossa käytetään aikaleimaa [16] [1] .

Muistiinpanot

  1. 1 2 3 4 Needham, Schroeder, 1978 .
  2. 1 2 3 4 5 6 Denning, Sacco, 1981 .
  3. 1 2 3 Lowe, 1995 .
  4. 1 2 Mao, 2005 , s. 76.
  5. 1 2 3 Semenov Yu.A. .
  6. Mao, 2005 , s. 77.
  7. 1 2 Mao, 2005 , s. 79.
  8. Mao, 2005 , s. 641.
  9. Mao, 2005 , s. 75.
  10. Mao, 2005 , s. 80.
  11. Mao, 2005 , s. 81.
  12. Needham, Schroeder, 1987 .
  13. Mao, 2005 , s. 83.
  14. 1 2 3 Mao, 2005 , s. 84.
  15. 1 2 Mao, 2005 , s. 643.
  16. Mao, 2005 , s. 462.

Standardit

  1. ISO 9798-2: Tietotekniikka - Suojaustekniikat - Entiteetin todennusmekanismit - Osa 2: Kokonaisuuden todennus symmetrisiä tekniikoita käyttäen.

Kirjallisuus

  • Roger M. Needham, Michael D. Schroeder. Salauksen käyttäminen todentamiseen suurissa tietokoneverkoissa   // Commun . ACM. - New York, NY, USA: ACM, 1978. - Voi. 21 , iss. 12 . - s. 993-999 . — ISSN 0001-0782 . doi : 10.1145 / 359657.359659 .
  • Dorothy E. Denning, Giovanni Maria Sacco. Aikaleimat avainjakeluprotokollassa   // Commun . ACM. - New York, NY, USA: ACM, 1981. - Voi. 24 , iss. elokuu 1981 , no. 8 . - s. 533-536 . — ISSN 0001-0782 . - doi : 10.1145/358722.358740 .
  • Roger M. Needham, Michael D. Schroeder. Todennus tarkistettu  //  SIGOPS Oper. Syst. Rev.. - New York, NY, USA: ACM, 1987. - Voi. 21 , iss. 1 . - s. 7-7 . — ISSN 0163-5980 . doi : 10.1145 / 24592.24593 .
  • Gavin Lowe. Hyökkäys Needham-Schroeder julkisen avaimen todennusprotokollaa vastaan  ​​//  Information Processing Letters. - 1995. - Voi. 56 , nro. 3 . - s. 131-133 . — ISSN 0020-0190 . - doi : 10.1016/0020-0190(95)00144-2 .
  • Schneier B. Sovellettu kryptografia. Protokollat, algoritmit, lähdekoodi C-kielellä = Applied Cryptography. Protokollat, algoritmit ja lähdekoodi julkaisussa C. - M. : Triumph, 2002. - 816 s. - 3000 kappaletta.  - ISBN 5-89392-055-4 .
  • Wenbo Mao. Moderni kryptografia: teoria ja käytäntö = Modern Cryptography: Theory and Practice. - Williams Publishing House, 2005. - ISBN 5-8459-0847-7 .
  • Semenov Yu.A. Needham-Schroeder-todennusprotokolla symmetristen ja epäsymmetristen salausjärjestelmien tapauksissa . Haettu: 8. joulukuuta 2012.

Linkit