Olen itse asiassa työskennellyt joidenkin ideoiden parissa tällä alueella, joten tässä on toistaiseksi ajatuksiani. Pahoittelen etukäteen tämän vastauksen naurettavaa pituutta.
Salasanan palautusmekanismit on suunniteltava kolmella päämielellä:
- Suojaus
- Käytettävyys
- Luotettavuus
Hyvän mekanismin saavuttamiseksi meidän on saavutettava tasapaino näiden kolmen välillä.
Muutama väite, jonka haluaisin haluaisin tehdä ennen aloittamista:
Oikea, oikeaan vastaukseen!
1. Monitekijäinen todennus
Monitekijäinen todennus (MFA) on yksi turvallisimmista menetelmistä tilin palauttamiseen ja ihmisen todentamiseen yleensä. Niille teistä, jotka eivät tunne MFA: ta, se toimii periaatteella, että todentamiseen vaaditaan useampi kuin yksi kirjautumistunnus:
- Jotain, jonka tiedät (esim. Salasana, salainen vastaus)
- Sinulla on jotain (esim. avain, laitteistotunnus jne.)
- Jotain mitä olet (esim. sormenjälki)
Huomaa, että sinulla on useita yhtä tyyppiä, esim kahta salasanaa tai salasanaa ja PIN-koodia ei lasketa MFA: ksi. Katson sinua verkkopankkisivustoilla.
1.1. Jotain, mitä tiedät
Salasanaa palautettaessa yleinen tapa käyttäjän todentamiseksi on esittää heille joitain kysymyksiä. Valitettavasti nämä kysymykset ovat yleensä esimerkiksi "Missä koulussa kävit?" ja "Mikä on äitisi tyttönimi?", jotka hyökkääjät saavat uskomattoman helposti selville sosiaalisen verkostoitumisen kautta. Lisäksi monet käyttäjät eivät halua vastata näihin kysymyksiin ilmoittautuessaan, joten he vain osuvat avainjoukkoon ja mitätöivät kysymyksen tarkoituksen.
Verkkokaupan verkkosovelluksissa ja muissa verkkosovelluksissa, jotka tallentavat yksityisiä henkilökohtaisia tietoja (esim. osoite / puhelinnumero), voidaan pyytää näitä tietoja. Muista kuitenkin, että nämä tiedot saattavat löytyä myös verkosta.
Vaihtoehtona olisi esittää asiayhteyteen liittyviä kysymyksiä, jotka perustuvat käyttäjän kokemuksiin sivustolla. Esimerkiksi Hotmail pyytää sähköpostiosoitetta, jonka kanssa olet äskettäin kommunikoinut, sekä joitain muita tietoja tilisi toiminnasta. Tämä on melko mukautettavissa useimmissa verkkosovellustyypeissä, mutta ei aina sovellettavissa.
1.2. Jotain mitä sinulla on
Usein sivustot kuvaavat linkin tai kertakäyttösalasanan lähettämisen sähköpostiosoitteeseesi MFA-muodossa. Väitän, että tämä on väärä oletus. Käyttäjät jakavat salasanat tilien välillä. Tämä on ehdoton tosiasia, etkä voi estää sitä. Sinänsä sinun on oletettava, että hyökkääjällä on jo pääsy käyttäjän sähköpostiosoitteeseen. Tarkastelemme tämän seurauksia myöhemmin.
Matkapuhelinten lisääntyminen on tehnyt niistä erinomaisen mekanismin kaksivaiheiseen todennukseen eräänä taajuusalueen ulkopuolisena tarkistuksena. Käyttäjän on helppo ymmärtää ja käyttää tekstiviestien palautustunnuksia, ja puhelinta käyttävällä hyökkääjällä on epätodennäköistä. Tämä menetelmä ei kuitenkaan ole virheetön. Suurin ongelma on, kun käyttäjä menettää puhelimensa tai vaihtaa palveluntarjoajaa. Tämä mitätöi puhelimen täysin käyttökelpoisena palautuslaitteena. Toinen ongelma on, että käyttäjillä ei ole aina puhelinta mukanaan.
Sovelluksen käyttö älypuhelimissa korjaa ongelman osittain. Jos käyttäjä vaihtaa palveluntarjoajaansa, sovellus pysyy puhelimessa. Sekä tekstiviestipohjaisten että sovelluspohjaisten palautusten salliminen antaa kohtuullisen luotettavuusodotuksen.
Vaihtoehtoisesti anna käyttäjän liittää kirjautumistarjoajan tili (esim. OpenID) ja käyttää voimassa olevaa kirjautumista tälle tilille. "jotain mitä tiedät" todiste.
Muut mahdolliset mekanismit:
- Fyysinen tunniste (esim. RSA SecurID, USB-tunnus) - ei täysin toimiva useimmissa paikoissa, mutta hyödyllinen pankeille, sisäisille yritysjärjestelmille ja muille korkean tietoturvan tilanteille.
- Tiedosto - Satunnaisesti luotu tiedosto, joka annetaan käyttäjälle rekisteröitymisen yhteydessä. Hash tallennettu tietokantaan. Palautuksen jälkeen käyttäjä pyysi toimittamaan tiedoston. Ei paras käytettävyys tai turvallisuus, mutta mahdollisesti hyödyllinen.
1.3. Jotain sinä olet
Täällä asiat saavat hauskaa ja scifiä. Biometrinen todennus on suosittu viime aikoina. Melko monissa kannettavissa tietokoneissa on sormenjälkitunnistimet, ja voit noutaa halpoja USB-tietokoneita suhteellisen pienillä kustannuksilla. Toinen suosittu biometrinen mekanismi on kasvojentunnistus verkkokameran kautta. Molemmat ovat turvallisuuden kannalta erinomaisia, kun ne tehdään oikein, mutta molemmilla on muutama ongelma:
- Useimmat toteutukset ovat todennäköisyysperusteisia ja siksi epävarmoja. Mikä estää hyökkääjää pitämästä kasvosi valokuvaa kameraa vasten?
- Et voi luottaa siihen, että jokaisella käyttäjällä on sormenjälkitunnistin, eivätkä kaikki käyttäjät ole yhteensopivia keskenään. Lisäksi olet vuorovaikutuksessa laitteiston kanssa, joten se vaatii natiivisovelluksen puhumaan web-sovelluksellesi.
- Biometristen tietojen kenttä on suhteellisen uusi, joten ei ole olemassa ikääntyneitä oikein tutkittuja toteutuksia täysin ymmärretyt tietoturvamallit.
Kaiken kaikkiaan "jotain olet" -malli toimii henkilökohtaisessa tunnistamisessa, mutta se ei ole oikeasti mahdollista verkkosovelluksissa, ellet tarjoa asiakkaillesi sormenjälkitunnistimet ja sopiva ohjelmisto.
1.4. UM: n parhaat käytännöt
Yhden tekijän todennus ei riitä. Kuten olemme nähneet kaikista viimeaikaisista rikkomuksista, on vaikea pitää salasanoja turvassa ja jopa silloin, kun ne ovat uudelleen hajautettuna ne voidaan silti rikkoa. MFA on välttämätön sekä kirjautumiselle että salasanan palauttamiselle. Matkapuhelintodennus palautustarkoituksiin ratkaisee useimmat ongelmat, kunhan mobiililaitetta voidaan edelleen käyttää. Jos mobiilitodennus ei ole mahdollista, sinulla on oltava manuaalinen vahvistusprosessi, jossa heidän on vakuutettava ihminen, että he ovat todellinen kauppa.
2. Palautusmekanismit
On olemassa useita erilaisia salasanan palautusmenetelmiä, joista monet jäävät tietoturvan suhteen paljon jäljessä. Aion keskustella joistakin, joita olen nähnyt luonnossa, selittää heidän hyvät ja huonot puolensa ja ehdottaa parempia.
2.1. Salasanan lähettäminen takaisin
Perusmekanismi on vain lähettää käyttäjän salasana heille. Älä koskaan tee tätä. Se on kamalaa mitattavaa. Ensinnäkin se vaatii, että tallennat salasanoja selkeässä tekstissä tai ainakin käännettävässä muodossa. Sinun on hajautettava salasanat oikein ja noudatettava parhaita käytäntöjä suolaa varten. Toiseksi lähetät käyttäjän salasanan selkeässä tekstissä, selkeän tekstin protokollan kautta Internetissä. Tämän tekeville ihmisille on varattu erityinen helvettitaso.
2.2. Uuden salasanan luominen
Jotkut sivustot luovat uuden satunnaisen salasanan, hajauttavat sen ja lähettävät sen sitten sähköpostitse käyttäjälle. Tämä ei ole hyvä idea monista syistä, vaikka suurinta osaa niistä voidaan lieventää jollakin tavalla. Perusongelma on, että lähetät käyttökelpoisen salasanan selkeällä tekstillä olevalle käyttäjälle. Muita tämän menetelmän aiheita ovat:
- Monet käyttäjät ovat laiskoja, monet niistä nollautuvat ja käskevät vain selainta muistamaan satunnaisen salasanan.
- Monet sivustot eivät Älä pakota sinua vaihtamaan salasanaa, kun salasana otetaan käyttöön ensimmäisen kerran.
- Hyökkääjällä, jolla on pääsy sähköpostitilille, on pääsy salasanaan riippumatta siitä, mitä mekanismeja käytit käyttäjän todentamiseen.
2.3. Palautuslinkki
Tämä on yksi paremmista (ja onneksi suositummista) mekanismeista. Siihen sisältyy käyttäjän todentaminen ja sitten sähköpostitse kertakäyttölinkki. Kun nollauslinkkiä on käytetty, käyttäjää kehotetaan asettamaan uusi salasana. Kun se on tehty, linkki on virheellinen. Lisäturvaa voidaan tarjota sisällyttämällä linkkeihin vanhentumisajat ja varmistamalla, että linkki on virheellinen, kun salasana on asetettu tai käyttäjän istunnon aikakatkaisun jälkeen.
tämä menetelmä on, kun muistamme aikaisemman oletuksemme. Käyttäjän sähköpostitili ei ole turvallinen. Se ei ole "jotain, jonka tiedät". Vaikka hyökkääjän aikaikkuna on lyhyt, he voivat silti murtautua sisään. Tietenkin kaikki tämä mitätöidään edelleen, jos (tai pikemminkin, kun) käyttäjä unohtaa sähköpostisalasanansa.
2.4. Älä koskaan poistu sivustolta.
Tämä on todellakin pyhä graali, mutta sitä voidaan käyttää vain vahvan monitekijän todennuksen rinnalla. Kun käyttäjä on todennut itsensä käyttämällä yhdistelmää turvakysymyksiä, kaistan ulkopuolisia tarkistuksia (esim. Matkapuhelin), avaintiedostoja, biometrisiä tietoja, ihmisen todentamista jne., Heidät ohjataan välittömästi salasananvaihtolomakkeeseen. Tämä ohittaa kokonaan tarpeen käyttää sähköpostiosoitteita lainkaan.
Jos uskot todella, että sähköpostiosoitteen käyttäminen linkin lähettämiseen on välttämätöntä, harkitse ei-sähköpostin palautusvaihtoehdon tarjoamista, mikä lisää tarkastusten määrää. että sinun on läpäistävä.
3. Päätelmä
Turvallisuutta, käytettävyyttä ja luotettavuutta on vaikea tasapainottaa parhaimmillaan, mutta tämä tilanne koskee suoraan käyttäjää, joka on jo osoittautunut epäluotettavaksi. En sano tätä millään tavalla halveksivassa mielessä, vaan pikemminkin sitä, että olemme kaikki virheellisiä.
On tärkeää, että salasanan palautusjärjestelmä on käyttökelpoinen ja yksinkertainen säästämättä tietoturvaa. Ennen kuin otat käyttöön massiivisen 3-tekijän todennusprosessin kaikilla verkkosovelluksesi osa-alueilla, mieti mitä suojaat. Jos olet vain pieni yritys, joka myy asioita verkossa, voit todennäköisesti päästä eroon kahden tekijän palautumisesta. Jos olet merkittävä jälleenmyyjä, pankki tai sosiaalinen verkostoitumissivusto, sinun on käytettävä vahvaa 2-kerrointa palautuksessa (useita tyyppejä kutakin) ja 2-kerrointa kirjautumattomiin lähteistä.
lause: pidä se yksinkertaisena, ajattele yleisösi.