OAuth2 ja OpenID Connect perusteellisesti · Oppitunti

Tokenien tietoturva (access/refresh)

Tutustukaa access- ja refreshtokenien turvallisen tallentamisen, siirtämisen ja vanhentamisen parhaisiin käytäntöihin.

Oppitunti 1/412 vaihetta

Tokenien tietoturva (access/refresh) on ilmainen OAuth2 ja OpenID Connect perusteellisesti-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu OAuth2 ja OpenID Connect perusteellisesti-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. OAuth2 ja OpenID Connect perusteellisesti-kurssilla on yhteensä 4 oppituntia.

Miksi tunnusten tietoturva on tärkeää

Tervetuloa tunnusten tietoturvaa käsittelevälle oppitunnille! Tässä oppitunnissa perehdymme OAuth2:n ja OpenID Connectin tärkeiden osien, käyttöoikeustunnusten ja päivitystunnusten, suojaamiseen.

Nämä tunnukset ovat kuin digitaalisia avaimia. Jos ne joutuvat vääriin käsiin, käyttäjien tietoihin tai sovelluksesi resursseihin voidaan saada luvaton pääsy. Niiden suojaaminen on ensiarvoisen tärkeää.

Käyttöoikeustunnusten ymmärtäminen

Käyttöoikeustunnukset ovat tunnistetietoja, jotka antavat asiakassovellukselle luvan käyttää tiettyjä resursseja käyttäjän puolesta. Niitä voi ajatella väliaikaisina pääsylippuina.

  • Niillä on lyhyt voimassaoloaika (minuuteista tunteihin).
  • Niitä käytetään API-pyyntöjen valtuuttamiseen suoraan.
  • Jos ne vaarantuvat, niiden lyhyt voimassaoloaika rajoittaa vahinkoja.

Päivitystunnusten ymmärtäminen

Päivitystunnuksia käytetään uusien käyttöoikeustunnusten hankkimiseen nykyisen tunnuksen vanhennuttua ilman, että käyttäjän tarvitsee tunnistautua uudelleen. Ne ovat kuin pääavain.

  • Niillä on huomattavasti pidempi voimassaoloaika (päiviä, viikkoja tai jopa kuukausia).
  • Ne ovat erittäin arkaluonteisia, koska niiden vaarantuminen voi mahdollistaa jatkuvan pääsyn.
  • Ne tulee säilyttää mahdollisimman turvallisesti.

Suojattu tiedonsiirto: HTTPS/TLS

Tunnusten suojauksen tärkein sääntö on siirtää tunnukset aina HTTPS:n (TLS:n) kautta. Tämä salaa asiakkaan ja palvelimen välisen viestintäkanavan.

Ilman HTTPS:ää suojaamattoman verkon (kuten julkisen Wi-Fi-verkon) kautta lähetetyt tunnukset voidaan helposti siepata, mikä voi johtaa välittömään tietoturvan vaarantumiseen.

Käyttöoikeustunnusten turvallinen tallennus

Käyttöoikeustunnusten lyhyen voimassaoloajan vuoksi niiden tallennus asiakkaan puolella on suunniteltava huolellisesti:

  • Verkkosovellukset: Tallentakaa tunnukset muistiin (JavaScript-muuttujiin) tai suojattuihin httpOnly-evästeisiin. Välttäkää localStorage- ja sessionStorage-tallennusta XSS-haavoittuvuuden vuoksi.
  • Mobiilisovellukset: Käyttäkää alustan omaa suojattua tallennusta, kuten iOS:n Keychainia tai Androidin Keystorea.

Tunnuksen vanhenemisen simulointi

Käyttöoikeustunnukset on suunniteltu vanhenemaan. Tämä koodikatkelma havainnollistaa, miten voidaan tarkistaa, onko myöntämis- ja vanhenemisajoilla esitetty tunnus edelleen voimassa.

public class Main {
  public static void main(String[] args) {
    long issuedAtMillis = System.currentTimeMillis() - (5 * 60 * 1000); // Token issued 5 minutes ago
    long expiresInMillis = 10 * 60 * 1000; // Token expires in 10 minutes from issue
    long expiresAtMillis = issuedAtMillis + expiresInMillis;

    System.out.println("Token issued 5 minutes ago.");
    System.out.println("Expires 10 minutes from issue.");

    if (System.currentTimeMillis() > expiresAtMillis) {
      System.out.println("Status: Token EXPIRED.");
    } else {
      System.out.println("Status: Token ACTIVE.");
    }
  }
}

Päivitystunnusten suojaaminen

Päivitystunnukset ovat pitkän voimassaoloaikansa vuoksi kaikkein kriittisimpiä suojattavia. Niiden tallennuksen on oltava vieläkin tiukemmin suojattua:

  • Verkkosovellukset: Käyttäkää yksinomaan httpOnly- ja secure-evästeitä. Älkää koskaan tallentako tunnuksia JavaScriptin kautta käytettävissä olevaan tallennustilaan.
  • Mobiilisovellukset: Käyttäkää saatavuuden mukaan laitteistopohjaista suojattua tallennusta (esimerkiksi iOS:n Secure Enclavea tai Androidin TEE:tä).

Päivitystunnusten kierrätys (RTR)

Refresh Token Rotation (RTR) on tärkeä tietoturvaparannus. Aina kun asiakas käyttää päivitystunnusta uuden käyttöoikeustunnuksen hankkimiseen, valtuutuspalvelimen tulee myöntää uusi päivitystunnus ja mitätöidä vanha.

Jos varastettu vanha päivitystunnus otetaan käyttöön, oikea asiakas havaitsee tilanteen, koska sen nykyinen päivitystunnus ei enää toimi. Tämä on merkki mahdollisesta tietoturvaloukkauksesta.

Tunnusten kumoamisstrategiat

Tunnusten ei pidä vain vanhentua, vaan ne on voitava myös kumota. Valtuutuspalvelimen on tarjottava keinot tunnusten ennenaikaiseen mitätöintiin.

  • Kirjautuminen ulos: Kaikki siihen liittyvät käyttöoikeus- ja päivitystunnukset tulee kumota.
  • Salasanan vaihtaminen: Kumotkaa kaikki aktiiviset tunnukset, jotta käyttäjän on tunnistauduttava uudelleen.
  • Epäilyttävä toiminta: Jos tunnuksen epäillään vaarantuneen, se tulee kumota välittömästi.

Tunnusten voimassaoloaikojen hallinta

Tärkeää on löytää tasapaino tietoturvan ja käyttäjäkokemuksen välillä:

  • Käyttöoikeustunnukset: Pitäkää niiden voimassaoloaika lyhyenä (esimerkiksi 5–15 minuuttia). Näin hyökkääjälle jää vähemmän aikaa toimia, jos tunnus vaarantuu.
  • Päivitystunnukset: Niiden voimassaoloaika voi olla pidempi (esimerkiksi 7–30 päivää), mutta niiden on oltava kumottavissa ja ne kannattaa suojata RTR:n avulla.

Tunnusten tietoturvatarkistus

Mitkä seuraavista ovat suositeltuja parhaita käytäntöjä OAuth2/OIDC-tunnusten suojaamiseen?

Kertaus: Suojatut tunnukset

Olette oppineet tärkeät käytännöt käyttöoikeus- ja päivitystunnusten suojaamiseen!

  • HTTPS/TLS on välttämätön tiedonsiirrossa.
  • Käyttöoikeustunnukset on säilytettävä suojatusti ja lyhyen aikaa (muistissa tai httpOnly-evästeissä).
  • Päivitystunnukset vaativat parhaan mahdollisen suojauksen (httpOnly- ja secure-evästeet sekä laitteistopohjainen tallennus), ja niiden kanssa tulisi käyttää Refresh Token Rotation -kierrätystä.
  • Toteuttakaa tehokkaat kumoamisstrategiat ja hallitkaa tunnusten voimassaoloaikoja harkitusti.
Aloita maksutta

Opi OAuth2 ja OpenID Connect perusteellisesti 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
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Tokenien tietoturva (access/refresh)” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa OAuth2 ja OpenID Connect perusteellisesti-oppimispolun 3 oppituntia, myös oppitunnin “Tokenien tietoturva (access/refresh)”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. OAuth2 ja OpenID Connect perusteellisesti-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Tokenien tietoturva (access/refresh)”?

Tutustukaa access- ja refreshtokenien turvallisen tallentamisen, siirtämisen ja vanhentamisen parhaisiin käytäntöihin. Harjoittelet OAuth2 ja OpenID Connect perusteellisesti-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni OAuth2 ja OpenID Connect perusteellisesti-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin OAuth2 ja OpenID Connect perusteellisesti-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Tokenien tietoturva (access/refresh)”-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ä OAuth2 ja OpenID Connect perusteellisesti-oppitunnilla?

Kyllä. Jokainen OAuth2 ja OpenID Connect perusteellisesti-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

  1. Tokenien tietoturva (access/refresh)
  2. State-parametri ja CSRF
  3. Grant-tyyppien parhaat käytännöt
  4. Uudelleenohjaus-URIen suojaaminen
← Takaisin: OAuth2 ja OpenID Connect perusteellisesti