SRP: turvallinen etäsalasanaprotokolla
Ymmärrä, miten SRP mahdollistaa asiakkaan ja palvelimen keskinäisen todentamisen ilman, että palvelin tallentaa salasanoja.
SRP: turvallinen etäsalasanaprotokolla on ilmainen Cryptology Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cryptology Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
SRP:n yleiskatsaus ja historia
Secure Remote Password (SRP) -protokollan kehitti Tom Wu Stanfordissa, ja se julkaistiin RFC 2945 -määrityksenä vuonna 2000. Myöhemmin määriteltiin parannettu versio SRP-6a. SRP mahdollistaa jaettuun salasanaan perustuvan molemminpuolisen autentikoinnin ilman, että itse salasanaa koskaan siirretään, edes salatussa muodossa.
Palvelin tallentaa verifioijan, ei salasanaa
SRP-rekisteröinnin aikana asiakas laskee salasanan verifioijan v = g^x mod N, missä x = H(salt || password) ja N on suuri safe prime. Palvelin tallentaa vain suolan ja verifioijan v. Vaikka palvelimen tietokanta vaarantuisi, tallennettu verifioija ei paljasta salasanaa suoraan.
SRP-istuntoavaimen luonti
SRP-kirjautumisen aikana asiakas ja palvelin suorittavat Diffie–Hellmanin kaltaisen vaihdon, joka tuottaa jaetun istuntoavaimen. Kummankin osapuolen laskennassa hyödynnetään salasanasta johdettua arvoa, joten tuloksena syntyvän istuntoavaimen voivat laskea oikein vain salasanan tunteva osapuoli ja verifioijan tunteva osapuoli.
Molemminpuolinen autentikointi SRP:ssä
SRP tarjoaa molemminpuolisen autentikoinnin: asiakas todistaa tietävänsä salasanan ja palvelin todistaa hallitsevansa oikeaa verifioijaa. Tämä estää phishing-hyökkäykset, joissa väärennetty palvelin yrittäisi kerätä salasanatietoja, koska väärennetty palvelin ei voi suorittaa SRP-vaihtoa loppuun oikein ilman aitoa verifioijaa.
Verifioijan laskenta
Verifioija lasketaan muodossa v = g^x mod N, missä x = H(salt || password), g on generaattori ja N vähintään 2048-bittinen safe prime. Diskreetin logaritmin ongelman vuoksi x:n johtaminen v:stä on käytännössä mahdotonta. Salasanan voi todentaa vain suorittamalla koko SRP-vaihdon onnistuneesti.
SRP-6a:n parannukset
SRP-6a korjaa alkuperäisten SRP-3- ja SRP-6-mallien heikkouksia ottamalla käyttöön kertoimen k = H(N, g) ja muuttamalla asiakkaan ja palvelimen laskentajärjestystä. Nämä muutokset estävät tietyt two-for-one-arvaushyökkäykset ja varmistavat, että palvelimen panos sidotaan protokollaan varhaisessa vaiheessa.
SRP tuotantojärjestelmissä
SRP:tä on otettu merkittävästi käyttöön todellisissa järjestelmissä. Apple käyttää SRP:tä iCloud Keychain -synkronointiin, jotta laitteet voivat noutaa avainnipputietoja paljastamatta tilin salasanaa Applen palvelimille. 1Password on käyttänyt SRP:tä autentikointimallissaan estääkseen tunnistetietojen paljastumisen palvelimella.
SRP estää phishingin
Koska SRP tuottaa istuntoavaimen, joka sitoo yhteen sekä salasanan että palvelimen verifioijan, phishing-palvelin ei voi suorittaa SRP-kättelyä loppuun oikein. Käyttäjän yhteys phishing-sivustoon SRP:n kautta johtaa autentikoinnin epäonnistumiseen, mikä tarjoaa sisäänrakennetun phishingin estävän ominaisuuden, jota perinteisessä salasanan lähettämisessä ei ole.
SRP:n rajoitukset
SRP on laskennallisesti raskas, sillä se edellyttää modulaarista eksponentointia suurilla, vähintään 2048-bittisillä kokonaisluvuilla. Sen toteuttaminen oikein on monimutkaista, ja parametrien validointiin liittyy monia hienovaraisia sudenkuoppia, jotka ovat johtaneet toteutusten haavoittuvuuksiin. Protokolla edellyttää myös suojattua kanavaa (TLS), jotta itse vaihdon passiivinen salakuuntelu voidaan estää.
TLS-SRP-salauspaketit
RFC 5054 määrittelee TLS-SRP-salauspaketit, jotka yhdistävät SRP:n molemminpuolisen autentikoinnin suoraan TLS-kättelyyn. Näin palvelinsertifikaatteja ei tarvita, mutta salattu molemminpuolinen autentikointi säilyy. TLS-SRP:n käyttöönotto on kuitenkin käytännössä ollut vähäistä, koska FIDO2 ja OPAQUE ovat nousseet nykyaikaisemmiksi vaihtoehdoiksi.
SRP ja modernit vaihtoehdot
Vaikka SRP oli uraauurtava, OPAQUEn kaltaiset modernit vaihtoehdot tarjoavat vahvempia turvallisuustakuita, kuten suojan esilaskentahyökkäyksiä vastaan, ja FIDO2/passkeys poistavat salasanat kokonaan. Uusissa järjestelmissä suositellaan OPAQUEa tai FIDO2:ta, mutta SRP on edelleen kelvollinen valinta järjestelmiin, jotka edellyttävät salasanapohjaista molemminpuolista autentikointia ilman phishing-alttiutta.
SRP-verifioijan tarkistus
Mitä palvelin tallentaa käyttäjän salasanan sijaan?
Oppitunnin kertaus: SRP-autentikointi
SRP tallentaa salasanan sijaan salasanaverifioijan, muodostaa jaetun istuntoavaimen DH:n kaltaisella vaihdolla ja tarjoaa phishingiä kestävän molemminpuolisen autentikoinnin. SRP-6a parantaa alkuperäistä mallia tarjoamalla suojan arvaushyökkäyksiä vastaan. Applen iCloud Keychain ja 1Password käyttävät SRP:tä tuotannossa. OPAQUE ja FIDO2 ovat uusien järjestelmien moderneja seuraajia.
Opi Cryptology Academy tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 67
- Oppitunnit
- 261
Usein kysytyt kysymykset
Onko oppitunti ”SRP: turvallinen etäsalasanaprotokolla” ilmainen?
Kyllä – oppitunnin ”SRP: turvallinen etäsalasanaprotokolla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cryptology Academy-kurssin, päivitä CoddyKit PROhon. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”SRP: turvallinen etäsalasanaprotokolla”?
Ymmärrä, miten SRP mahdollistaa asiakkaan ja palvelimen keskinäisen todentamisen ilman, että palvelin tallentaa salasanoja. Harjoittelet Cryptology Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cryptology Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cryptology Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”SRP: turvallinen etäsalasanaprotokolla”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cryptology Academy-oppitunnilla?
Kyllä. Jokainen Cryptology Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Salasanatodennuksen perustavanlaatuinen ongelma
- SRP: turvallinen etäsalasanaprotokolla
- PAKE-protokollat ja niiden ominaisuudet
- Salasanaton todennus: WebAuthn ja FIDO2