MS-CHAP

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 31.10.2020 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

MS-CHAP ( Microsoft Challenge Handshake Authentication Protocol ) on  protokolla, jolla todennetaan palvelimen ja asiakkaan väliset yhteydet välittämättä viimeksi mainitun salasanaa haaste-vastausmekanismin avulla . MS- CHAP on CHAP -protokollan toteutus, joka tarjoaa mekanismin todennusvirhesanomien palauttamiseen ja mahdollisuuden vaihtaa käyttäjän salasanaa. [1] [2] Lisäksi MS-CHAP tarjoaa salausavainten luomisen MPPE- protokollalle , jota käytetään yhdessä Microsoft PPTP :n kanssa [2] [3] .

Historia

MS-CHAP on versio CHAP-protokollasta, jonka Microsoft on kehittänyt vuonna 1997 Windows 3.1 :lle ja Windows 95 :lle . Sitten MS-CHAP nimettiin uudelleen MS-CHAPv1:ksi ja korvattiin MS-CHAPv2:lla protokollan tietoturvavirheiden vuoksi, joista suurin oli, että asiakas lähetti vastauksen, joka sisälsi kaksi arvoa: "LAN Manager Challenge Responce" ja "NT Challenge Responce", joka tehtiin ylläpitämään palvelimelle tallennettuja käyttäjätilejä, jotka on luotu ennen Windows NT:n tiivisteen tuloa ja joita ei ole vielä päivitetty. [1] Molemmat arvot laskettiin käyttämällä samaa mekanismia, mutta käyttämällä eri hajautusarvoja: LAN Manager ja NT LAN Manager , joissa ensimmäinen tiiviste oli huomattavasti heikompi kuin toinen eikä tarjonnut riittävää suojaustasoa. MS-CHAPv2 esiteltiin vuonna 1998 Windows 98 :n ja Windows NT 4.0 SP4:n julkaisun myötä. Vuonna 1999 Bruce Schneier , David Wagner ja Peter Zatko julkaisivat tietoturvatutkimuksen MS-CHAPv2-protokollasta [3] , jossa tunnistettiin protokollan haavoittuvuudet ja hyökkäysmenetelmät. Microsoft poisti MS-CHAPv1-protokollan käytöstä Windows Vistassa vuonna 2007. [4] Vuodesta 2012 lähtien Microsoft on varoittanut, että PPTP- ja MS-CHAPv2-protokollien yhdistelmän käyttäminen VPN :n ensisijaisena todennusmekanismina on turvatonta, ja suosittelee PEAP -MS-CHAPv2 -todennusmekanismin tai L2TP- , IKEv2- , SSTP - VPN-tunneleiden käyttöä. MS-CHAPv2- tai EAP -MS-CHAPv2 -protokollien yhteydessä. [5]

MS-CHAP v1

MS-CHAPv1 on CHAP : n kaltainen todennusmekanismi , mutta siinä on tärkeä ero: CHAPissa palvelimen on tallennettava asiakkaan salasana palautuvasti salatussa muodossa, jonka salaus puretaan aina, kun asiakas todentaa, kun taas MS-CHAP v1:ssä palvelin tarvitsee vain MD4 :n tälle -salasanahajautusmuodolle. [6]

MS-CHAPv1-mekanismi koostuu seuraavista vaiheista [6] [3] :

  1. Asiakas lähettää sisäänkirjautumispyynnön palvelimelle.
  2. Palvelin vastaa 8-tavuisella satunnaisella vastauksella (haaste).
  3. Asiakas käyttää salasanansa LAN Manager -tiivistettä , lisää viisi nollatavua 16-tavuiseen tulokseen ja jakaa tuloksena olevan 21-tavuisen merkkijonon kolmeen 7-tavuiseen osaan saadakseen kolme avainta DES:lle. Jokaista näistä avaimista käytetään salaamaan palvelimen lähettämä haaste. Kaikki kolme tuloksena olevaa salauslohkoa yhdistetään 24-tavuiseksi LMChallengeResponseksi. Asiakas luo myös toisen 24-tavuisen NTChallengeResponsen käyttämällä Windows NT -tiivistettä ja samaa menettelyä. Sitten sekä LMChallengeResponse- että NTChallengeResponse-arvot sekä 1-tavuinen Use NTChallengeResponse -lippu lähetetään palvelimelle.
  4. Palvelin käyttää tietokantaan tallennetun asiakkaan salasanan tiivistettä purkaakseen vastaanotetun vastauksen. Jos salatut lohkot vastaavat haastearvoa, todennus suoritetaan ja asiakkaalle lähetetään onnistumispaketti.

MS-CHAP v2

MS-CHAP v2 korjaa joitain MS-CHAP v1:n puutteita, kuten seuraavassa taulukossa näkyy. [7]

MS-CHAP-protokollan version 1 ongelma MS-CHAP-protokollan versio 2 ratkaisu
LAN Manager -vastauksen salaus, jota käytetään taaksepäin yhteensopivuuteen vanhempien Microsoftin etäkäyttöasiakkaiden kanssa, on kryptografisesti haavoittuvainen.

MS-CHAP v2 ei enää salli salattuja LAN Manager -vastauksia, koska LAN Managerin tiiviste on paljon heikompi tiivistetoiminto ja se voidaan murtaa ja käyttää sitten Windows NT -tiivisteen murtamiseen. Siten Microsoft on tehnyt hajota ja hallitse -hyökkäyksen mahdottomaksi poistamalla LAN Managerin tiivisteen MS-CHAPv2:sta [3] .

LAN Managerin salasanan muutoksen salaus on kryptografisesti haavoittuvainen. MS-CHAP v2 ei enää salli salatun LAN Managerin salasanan vaihtamista.
Vain yksisuuntainen todennus on mahdollista. Etäkäyttöasiakas ei voi tarkistaa, muodostaako se yhteyden organisaationsa etäkäyttöpalvelimeen vai naamioituneeseen palvelimeen.

MS-CHAP v2 tarjoaa kaksisuuntaisen todennuksen, joka tunnetaan myös nimellä keskinäinen todennus. Etäkäyttöasiakas saa vahvistuksen, että etäkäyttöpalvelimella, johon se yrittää muodostaa yhteyden, on pääsy käyttäjän salasanaan.

40-bittistä salausta käytettäessä salausavain perustuu käyttäjän salasanaan. Aina kun käyttäjä muodostaa yhteyden samalla salasanalla, luodaan sama salausavain.

MS-CHAP v2:ssa salausavain perustuu aina käyttäjän salasanaan ja mielivaltaiseen kyselymerkkijonoon. Joka kerta kun käyttäjä muodostaa yhteyden samalla salasanalla, luodaan erilainen salausavain.

Yhteyden kautta molempiin suuntiin lähetettävä data käyttää yhtä salausavainta.

MS-CHAP v2 -protokollaa käytettäessä tiedon vastaanottamista ja lähettämistä varten luodaan erilliset salausavaimet.

Todennusalgoritmi

MS-CHAPv2-protokollan toimintamekanismi [2] [3] :

Avaimien hankkiminen MPPE:lle

MS-CHAPv2 on Microsoftin PPTP-protokollan todennusprotokolla, jonka salausprotokollana toimii MPPE . MPPE vaatii MS-CHAPv2-todennusprosessin luomien 40- tai 128-bittisten salausavaimien käyttöä.

MPPE-avainten johtaminen MS-CHAPv2-tunnistetiedoista toimii näin [3] :

  1. 16-tavuinen NT-salasanan hajautus, 24-tavuinen "Challenge Response" MSCHAPv2-keskuksesta ja 27-tavuinen "This is the MPPE Master Key" -merkkijono tiivistetään käyttämällä SHA-1: tä. Tulos katkaistaan ​​sitten 16-tavuiseksi pääavaimeksi.
  2. Pääavain muunnetaan deterministisen prosessin avulla istuntoavaimien pariksi.

40-bittisille istuntoavaimille kohta (2) toimii seuraavasti:

128-bittisille istuntoavaimille prosessi kohdassa (2) on seuraava:

"Magic"-vakiot ovat erilaisia ​​riippuen siitä, mihin suuntaan avainta käytetään - salatakseen liikennettä asiakkaalta palvelimelle tai palvelimelta asiakkaalle.

Pakettimuoto

PPP CHAP -haastepaketti [2]

Vastauspaketti [2]

Vastauspaketilla on sama rakenne kuin haastepaketilla.

Menestyspaketti [2]

Viesti-kenttä sisältää 42-tavun vastausmerkkijonon. Viestikentän muoto:S=<auth_string> M=<message>

Vikapaketti [2]

Failure-paketilla on sama rakenne kuin Onnistumispaketilla. Muotoiltu teksti kuitenkin tallennetaan Viesti-kenttään, mikä, vastoin tavallisia CHAP-sääntöjä, vaikuttaa protokollan toimintaan. Viestikentän muoto: E=eeeeeeeeee R=r C=cccccccccccccccccccccccccccccccc V=vvvvvvvvvv M=<msg>

Salausanalyysi ja hyökkäykset

Tässä algoritmissa on useita ongelmia, joiden yhdistelmä voi johtaa sen onnistuneeseen murtamiseen .

"Haastevastauksen" luomisen analyysi

Sanakirjahyökkäys [ 3]

"Challenge Response" -vastauksen hankkimismenettely luo vakavan heikkouden MS-CHAP-protokolliin: sen avulla hyökkääjä voi nopeuttaa sanakirjahakua tekijällä , millä on melko vaikuttava vaikutus, kun otetaan huomioon useimpien käyttäjien salasanojen suhteellisen pieni entropia.

"Authenticator Challenge", "Peer Authenticator Challenge" ja "UserName" tarjotaan selkeästi ja niitä voidaan salakuunnella, mikä tarkoittaa, että "Challenge Hash" voidaan helposti saada julkisesti saatavilla olevista tiedoista. On hyvä mahdollisuus, että salasana voidaan palauttaa, koska monet salasanat ovat sanakirjasanoja tai muuten helposti arvattavia. Ensinnäkin on huomattava, että Z:n arvo (määritetty vaiheessa (3c)) voidaan helposti palauttaa. Koska on olemassa vain mahdollisia vaihtoehtoja Z (koska Z :n kahdelle ensimmäiselle tavulle on valintoja) ja meillä on tunnettu selväteksti ("Challenge Hash")-salatekstipari (DESz("Challenge Hash")), me voi toistaa jokaisen Z-vaihtoehdon, mikä paljastaa salasanan NT-hajautusarvon kaksi viimeistä tavua.

Sanakirjan toistamiseksi suoritetaan esilaskenta : jokainen mahdollinen salasana tiivistetään. Hajautustulokset lajitellaan kahden viimeisen tavun mukaan, ja sitten kun MS-CHAP-vaihto on näkyvissä ja NT-tiivisteen kaksi viimeistä tavua voidaan palauttaa (yllä olevalla menetelmällä), kaikki vastaavat merkinnät valitaan hash-luettelosta. . Tämä antaa hyökkääjälle joukon todennäköisiä salasanoja, jotka antavat halutun arvon kahdelle viimeiselle NT-hajautustavulle. Seuraavaksi jokainen näistä vaihtoehdoista tarkistetaan raa'alla voimalla: sen "Haastevastaus" lasketaan ja verrataan ylikuudeltuun arvoon.

Näin ollen yllä ehdotettu optimoitu hyökkäys on noin kertaa nopeampi kuin tavallinen sanakirjahyökkäys, jossa kaikki salasanat tarkistetaan. Se koskee sekä MS-CHAPv1:tä että MS-CHAPv2:ta. Tällainen haavoittuvuus on kuitenkin paljon tärkeämpi MS-CHAPv2:lle, koska MSCHAPv1:n tapauksessa on helpompi hyökätä LanManager-tiivistettä vastaan ​​kuin NT-tiivistettä vastaan.

Raaka voimahyökkäys DES -avaimia vastaan ​​[9]

"Challenge Response" -generointialgoritmi on heikko lenkki, vaikka salasanat sisältävät riittävän entropian. NT-hajautus voidaan palauttaa arvaamalla kaksi tavua kolmannesta DES - avaimesta, mikä vaatii laskennan, ja kahdella raakavoimahakulla ensimmäiselle ja toiselle DES-avaimelle. Jokainen DES-avain on 56-bittinen, mutta jotta et mene yli kahden ensimmäisen avaimen vaihtoehtoja, voit käyttää sitä tosiasiaa, että molemmat DES-operaatiot salaavat saman "Challenge Hash" -hajasteen eri avaimilla. Siksi riittää, että suoritat vain salaustoiminnot:

desKeyX = nolla ; desKeyY = nolla ; for ( pitkä i = 0 ; i < 2 ^ 56 ; i ++ ) { tulos = DES ( avain [ i ] , selkeä teksti ); if ( tulos == salateksti1 ) { desKeyX = tulos ; } else if ( tulos == salateksti2 ) { desKeyY = tulos ; } }

Kun NT-tiiviste on palautettu, kaikki salatut istunnot voidaan lukea ja todennusjärjestelmä voidaan rikkoa ilman vaivaa. Tämä osoittaa, että jopa käytettäessä 128-bittisiä RC4 -avaimia MPPE:lle, MS-CHAP tarjoaa vain 56-bittistä suojausta vastaavan.

MPPE:n avainten luomisen analyysi [3]

Protokolla heikentää 40-bittisiä MPPE - avaimia asettamalla 64-bittisen RC4 - avaimen ylemmän 24 bitin arvoksi 0xD1269E. Tiedetään, että jos jollakulla on oikeus valita RC4-avaimen korkeat bitit, hän voi määrätä käyttäjälle heikon avainten luokan RC4:lle. Joten jos MS-CHAP:n kehittäjät halusivat rakentaa porsaanreiän protokollaan, he voisivat käyttää etuliitettä heikentääkseen RC4:ää.

Tilastollisissa testeissä havaittiin, että näppäimillä, jotka alkavat 0xD1269E, ensimmäinen ja toinen tavu RC4:n lähdössä saavat arvot 0x09ja 0x00todennäköisyydellä 0,0054 ja 0,0060, vastaavasti, mikä on huomattavasti suurempi kuin todennäköisyys 1 /256 = 0,0039, mikä voidaan odottaa hyvältä salaukselta.

Katso myös

Muistiinpanot

  1. 12 RFC 2433, 1998 .
  2. 1 2 3 4 5 6 7 RFC 2759, 2000 .
  3. 1 2 3 4 5 6 7 8 MS-CHAP:n krypta-analyysi, 1999 .
  4. Vanhentunut MS-CHAPv1, 2007 .
  5. Microsoft Security Tips 2012 .
  6. 12 MS- CHAP v1 .
  7. MS-CHAP v2 .
  8. PPPCHAP, 1996 .
  9. Moxie Marlinspike, 29.6.2012 .

Lähteet