Evästeen allekirjoittaja ja poistaja
Allekirjoita ja poista allekirjoitus HTTP-evästearvoista käyttäen HMAC-SHA256:ta turvallista istunnonhallintaa ja tietojen eheyden tarkistusta varten
Syöte
Tuloste
Lue lisää
Mikä on evästeiden allekirjoittaminen?
Evästeiden allekirjoittaminen on turvallisuustekniikka, joka lisää kryptografisen allekirjoituksen evästearvoon varmistaen sen eheyden ja aitouden. Kun palvelin lähettää evästeen selaimelle, se liittää siihen hash-pohjaisen viestintunnisteen (HMAC). Tämä allekirjoitus luodaan käyttäen salaisuusavainta, joka on vain palvelimen tiedossa. Kun selain lähettää evästeen takaisin, palvelin voi tarkistaa allekirjoituksen varmistaakseen, että eväste ei ole muuttunut.
Miten HMAC-SHA1-allekirjoittaminen toimii?
HMAC (Hash-based Message Authentication Code) yhdistää kryptografisen tiivistealgoritmiin ja salaisuusavaimeen tuottaakseen ainutlaatuisen allekirjoituksen. Evästeiden allekirjoittamisessa prosessi toimii seuraavasti:
Allekirjoittaminen: Alkuperäinen evästearvoon yhdistetään salaisuusavain käyttäen HMAC-SHA1-algoritmia, tuottaen allekirjoituksen. Lopullinen allekirjoitettu evästemuoto on
arvo.allekirjoitus, jossa allekirjoitus on base64url-koodattu.Todentaminen: Vastaanottaessaan allekirjoitetun evästeen, palvelin erottaa alkuperäisen arvon ja allekirjoituksen, laskee uudelleen odotetun allekirjoituksen käyttäen samaa salaisuusavainta ja vertaa niitä käyttäen ajoitusturvallista vertailua estääkseen ajoitushyökkäyksiä.
Miksi käyttää allekirjoitettuja evästeitä?
Allekirjoittamattomat evästeet voidaan helposti muokata käyttäjien tai haitallisten skriptien toimesta. Käyttäjä voisi muuttaa istunto-ID:tään, käyttäjärooliaan tai muuta arkaluontoista tietoa, joka on tallennettu evästeisiin. Allekirjoitetut evästeet estävät tämän, sillä mikä tahansa muutos tekee allekirjoituksen kelvottomaksi.
Työkalun kuvaus
Tämä työkalu mahdollistaa evästearvojen allekirjoittamisen ja allekirjoituksen purkamisen käyttäen HMAC-SHA1-allekirjoituksia, yhteensopien suositun cookie-signature-npm-paketin muodon kanssa. Syötä evästearvosi ja salaisuusavaimesi luodaksesi allekirjoitetun evästeen tai liitä allekirjoitettu eväste poimiaksesi ja varmistaaksesi sen alkuperäisen arvon.
Esimerkkejä
Evästeen allekirjoittaminen:
| Syöte (Allekirjoittamaton) | Salaisuusavain | Tuloste (Allekirjoitettu) |
|---|---|---|
user123 |
my-secret-key |
user123.SNk0sCiCAuZ5cwj0lNdJfUgwqU4 |
session_abc |
app-secret |
session_abc.sBzU4FZRe3BfgNWZQB4viGTH37A |
Evästeen allekirjoituksen purkaminen:
| Syöte (Allekirjoitettu) | Salaisuusavain | Tuloste (Allekirjoittamaton) |
|---|---|---|
test.sOx9vuKRxxXdUOK0uLcAQ4CIORo |
password |
test |
Virheellisen allekirjoituksen havaitseminen:
Jos yrität purkaa evästeen väärällä salaisuusavaimella tai muokatulla arvolla, työkalu näyttää "Virheellinen allekirjoitus" -virheen.
Ominaisuudet
- Allekirjoita evästeita HMAC-SHA1:llä käyttäen mitä tahansa salaisuusavainta
- Pura allekirjoitus ja todenna allekirjoitettuja evästeita poimiaksesi alkuperäiset arvot
- Ajoitusturvallinen vertailu estää ajoitushyökkäykset todennuksen aikana
- Yhteensopiva muoto Node.js:n
cookie-signature-paketin kanssa - Selainpohjainen käsittely käyttäen Web Crypto API:a - ei tietoja lähetetä palvelimille
Käyttötapaukset
- Express.js-istuntojen testaaminen: Varmista, että Express-istunnon evästeet on asianmukaisesti allekirjoitettu ja voidaan purkaa salaisuusavaimellasi
- Todennusongelmien vianmääritys: Pura allekirjoitettujen evästeiden alkuperäiset arvot ratkaistaksesi kirjautumis- tai istunto-ongelmia
- Tietoturva-auditointi: Varmista, että evästeiden allekirjoitukset toimivat oikein web-sovelluksessasi
- Kryptografian oppiminen: Ymmärrä, miten HMAC-pohjainen evästeiden allekirjoittaminen toimii käytännössä
- Migraatiotestaus: Varmista evästeiden yhteensopivuus, kun vaihdat salaisuusavaimia tai siirryt kehyksestä toiseen