Kirjautuminen, istunnonhallinta ja pääsynhallinta
Autentikointi, istunnonhallinta ja pääsynhallinta ovat tärkeitä osia web-sovellusten turvallisuutta. Autentikointi tarkoittaa käyttäjän todentamista, kun taas istunnonhallinta viittaa käyttäjän istunnon hallintaan web-sovelluksessa. Pääsynhallinta tai auktorisointi viittaa siihen ettei käyttäjän anneta suorittaa sellaisia toimintoja, tai päästä käsiksi sellaisiin tietoihin, joihin käyttäjällä ei ole lupaa. Tässä on lyhyt selitys siitä, miten nämä toiminnot toimivat web-sovelluksissa:
Autentikointi:
- Käyttäjä syöttää käyttäjätunnuksensa ja salasanansa web-sovelluksen kirjautumissivulle.
- Web-sovellus vastaanottaa tiedot ja tarkistaa, vastaavatko ne tallennettuja käyttäjätietoja.
- Jos tiedot ovat oikein, web-sovellus antaa käyttäjän kirjautua sisään ja luo istunnon, joka liittyy käyttäjän tietoihin.
- Jos tiedot ovat virheellisiä, käyttäjä saa virheilmoituksen ja hänet ohjataan takaisin kirjautumissivulle.
Autentikointi käytännössä
Kun käyttäjä kirjautuu sisään web-sovellukseen käyttäjätunnuksella ja salasanalla, web-sovellus vertaa käyttäjän syöttämiä tietoja tallennettuihin tietoihin tietokannassa. Tietokanta sisältää käyttäjätietoja, kuten käyttäjänimen, salasanan ja muita tietoja käyttäjästä.
Salasanatiivisteistä
Tärkeää on, että salasanaa ei tallenneta tietokantaan sellaisenaan, vaan salasanasta luodaan hash, joka tallennetaan tietokantaan. Hash on yksisuuntainen funktio, joka muuntaa salasanan satunnaisen näköiseksi merkkijonoksi, joka ei ole enää palautettavissa takaisin alkuperäiseen muotoonsa. Tämä tarkoittaa sitä, että tietokannassa ei tallenneta varsinaista salasanaa, vaan sen hash.
Kun käyttäjä syöttää käyttäjätunnuksen ja salasanan web-sovelluksen kirjautumissivulle, web-sovellus hakee käyttäjätiedot tietokannasta käyttäjänimen perusteella. Tämän jälkeen web-sovellus käyttää hash-toimintoa syöttääkseen käyttäjän antaman salasanan ja vertaa tätä hash-arvoa tietokannassa tallennettuun hash-arvoon. Jos hash-arvot ovat samat, käyttäjän syöttämä salasana on oikein ja käyttäjä pääsee kirjautumaan sisään.
Tämä on oleellista, koska jos salasanat tallennettaisiin tietokantaan sellaisenaan, hakkerit voivat suoraan varastaa vaarantuneesta tietokannasta käyttäjien salasanat ja helposti käyttää niitä väärin.
Hakkeroinnin oppiminen alkaa tästä
Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.