Küpsiste tüübid: põhjalik tehniline juhend
Kõik küpsised ei ole ühesugused. Küpsise tüüp määrab, kui kaua see püsib, kes saab seda lugeda, kui turvaliselt see liigub ning — mis kõige olulisem — kas selle jaoks on vaja kasutaja nõusolekut. Nende erinevuste mõistmine on hädavajalik nii nõuetele vastavuse kui ka rakendamise seisukohalt.
Seansiküpsised vs. püsiküpsised
Kõige põhilisem erinevus on selles, kui kaua küpsis säilib.
Seansiküpsised
Seansiküpsis eksisteerib ainult brauseriseansi kestel. Sellel ei ole Expires ega Max-Age atribuuti. Kui kasutaja sulgeb brauseri, küpsis kustutatakse.
Set-Cookie: cart_id=xyz789; Path=/; Secure; HttpOnly
Seansiküpsiseid kasutatakse tavaliselt järgnevaks:
- Sisselogimisoleku säilitamine külastuse ajal
- Ostukorvi sisu
- CSRF-kaitse tokenid
- Mitmeetapiliste vormide andmed
Kuna seansiküpsised ei püsi, on need privaatsuse seisukohalt üldiselt vähem sekkuvad. Sellegipoolest vajavad need nõusolekut, kui need ei ole rangelt vajalikud kasutaja soovitud teenuse osutamiseks.
Püsiküpsised
Püsiküpsisel on selgesõnaline aegumiskuupäev. See jääb alles ka pärast brauseri taaskäivitamist ning püsib kasutaja seadmes seni, kuni see aegub või käsitsi kustutatakse.
Set-Cookie: preferences_lang=en; Path=/; Max-Age=31536000; Secure
See küpsis püsib ühe aasta (31 536 000 sekundit). Levinud kasutusalad on muu hulgas:
- „Jäta mind meelde“ sisselogimisfunktsioon
- Keele- ja teemaeelistused
- Analüütika identifikaatorid (Google Analyticsi küpsised püsivad kuni 2 aastat)
- Reklaami jälgimine (mõned reklaamiküpsised püsivad 13 kuud või kauem)
Püsiküpsiste suhtes rakendatakse privaatsusregulatsioonides suuremat tähelepanu. CNIL (Prantsusmaa andmekaitseasutus) on soovitanud küpsise maksimaalseks elueaks 13 kuud ning nõusolekut tuleb samuti uuendada vähemalt iga 13 kuu tagant.
Esimese osapoole vs. kolmanda osapoole küpsised
See erinevus on privaatsusdebati keskmes ja mõjutab otseselt nõusolekunõudeid.
Esimese osapoole küpsised
Esimese osapoole küpsise seab domeen, mida kasutaja tegelikult külastab. Kui külastate saiti example.com, on iga küpsis, mille seab example.com, esimese osapoole küpsis.
Esimese osapoole küpsiseid kasutatakse veebisaidi põhifunktsioonideks: seansid, eelistused, analüütika, mida veebisaidi haldaja ise käitab. Neid saab lugeda ainult see domeen, mis need seadis.
Näide: külastate saiti shop.example.com. Server seab küpsise nimega session_id. See küpsis saadetakse ainult domeenile shop.example.com ja selle alamdomeenidele. Ükski teine veebisait ei pääse sellele ligi.
Kolmanda osapoole küpsised
Kolmanda osapoole küpsise seab mõni muu domeen kui see, mida kasutaja külastab. Kui example.com laadib reklaamiskripti domeenilt ads.tracker.com ja see skript seab küpsise domeeni tracker.com alla, on tegemist kolmanda osapoole küpsisega.
Nii toimib saidiülene jälgimine. Küpsis tracker.com saadetakse iga päringuga domeenile tracker.com, olenemata sellest, milline veebisait päringu käivitas. Kui tracker.com-i skriptid on manustatud 10 000 veebisaidile, saavad nad jälgida sama kasutajat kõigi 10 000 saidi lõikes.
Kolmanda osapoole küpsised on peamine sihtmärk nii regulatiivse jõustamise kui ka brauseritasandi piirangute puhul:
- Safari on blokeerinud kolmanda osapoole küpsised vaikimisi alates 2020. aastast (ITP)
- Firefox blokeerib teadaolevad kolmanda osapoole jälgijad vaikimisi (ETP)
- Chrome loobub kolmanda osapoole küpsistest oma Privacy Sandbox algatuse raames
- Regulatiivsed jõustamismeetmed sihivad valdavalt kolmanda osapoole jälgimisküpsiseid
Turvalised küpsised
Atribuudiga Secure küpsis saadetakse ainult HTTPS-ühenduste kaudu. Seda ei edastata kunagi krüpteerimata HTTP kaudu.
Set-Cookie: auth_token=secret123; Secure
See takistab vahendajaründajal (man-in-the-middle) küpsist ebaturvalises ühenduses pealt kuulata. Iga küpsis, mis sisaldab tundlikku teavet — seansi identifikaatorid, autentimistokenid, isikuandmed — peaks alati olema märgistatud kui Secure.
Nõuetele vastavuse seisukohalt võib Secure-lipu kasutamata jätmist tundlike küpsiste puhul käsitleda kui asjakohaste tehniliste meetmete rakendamata jätmist GDPR artikli 32 (töötlemise turvalisus) alusel.
HttpOnly küpsised
Atribuudiga HttpOnly küpsisele ei pääse JavaScript ligi meetodi document.cookie kaudu. See saadetakse ainult serverile suunatud HTTP-päringutega.
Set-Cookie: session_id=abc123; HttpOnly
See on oluline turvameede. Saidiülese skriptimise (XSS) rünnakud üritavad sageli küpsiseid varastada, süstides JavaScripti, mis loeb document.cookie. HttpOnly-lipp tõkestab selle ründevektori täielikult.
Seansiküpsised ja autentimisküpsised peaksid peaaegu alati olema HttpOnly. Küpsised, mida peab lugema kliendipoolne JavaScript (näiteks kasutajaliidest mõjutavad eelistusküpsised), ei saa olla HttpOnly.
SameSite küpsised
Atribuut SameSite reguleerib, kas küpsis saadetakse saidiüleste päringutega. See võeti kasutusele saidiülese päringuvõltsimise (CSRF) rünnakute leevendamiseks ja selleks, et anda saitidele suurem kontroll saidiülese küpsiste käitumise üle.
SameSite=Strict
Küpsis saadetakse ainult samalt saidilt pärinevate päringutega. Kui kasutaja klõpsab saidil other.com lingil, mis viib saidile your-site.com, siis seda esialgse päringuga küpsist ei saadeta.
See on kõige turvalisem seadistus, kuid võib rikkuda seaduslikku funktsionaalsust. Näiteks kui kasutaja klõpsab teie saidile viivat linki e-kirjas, ei saadetaks tema seansiküpsist ja ta paistaks välja logituna.
SameSite=Lax
Küpsis saadetakse ülataseme navigatsioonide korral (lingile klõpsamine), kuid mitte saidiüleste alampäringute korral (piltide või freimide laadimine või AJAX-päringute tegemine teiselt saidilt). See on kaasaegsetes brauserites vaikeväärtus, kui atribuuti SameSite ei ole määratud.
Lax pakub mõistlikku tasakaalu turvalisuse ja kasutatavuse vahel. See takistab kolmanda osapoole saitidel käivitada teie saidil autenditud toiminguid, lubades samas tavapärasel lingi kaudu navigeerimisel töötada.
SameSite=None
Küpsis saadetakse kõigi päringutega, sealhulgas saidiüleste päringutega. See on vajalik kolmanda osapoole küpsiste toimimiseks. Väärtusega SameSite=None seatud küpsisel peab olema ka atribuut Secure.
Set-Cookie: tracking_id=xyz; SameSite=None; Secure
Iga küpsis, mis peab töötama saidiüleses kontekstis (manustatud vidinad, kolmanda osapoole autentimine, saidiülene jälgimine), peab kasutama SameSite=None. See muutub üha olulisemaks, kuna brauserid karmistavad oma vaikimisi küpsistepoliitikat.
Zombiküpsised ja superküpsised
Neid tasub mainida, sest need kujutavad endast katseid privaatsuskontrollidest mööda hiilida:
- Zombiküpsised on küpsised, mis taastavad end pärast kustutamist. Tavaliselt toimivad need nii, et salvestavad sama identifikaatori mitmesse salvestusmehhanismi (küpsised, localStorage, IndexedDB, Flash LSO-d) ja kasutavad seda, mis säilib, ülejäänute taastamiseks. Seda praktikat peetakse laialdaselt petlikuks ning see on olnud jõustamismeetmete objektiks.
- Superküpsised on jälgimismehhanismid, mis toimivad tavaliste küpsiste tasandist allpool — näiteks internetiteenuse pakkuja tasandi päisesüst (Verizoni UIDH) või HSTS-põhine sõrmejälje võtmine. Kasutajatel on neid äärmiselt keeruline kontrollida või kustutada.
Nii zombiküpsised kui ka superküpsised on selgelt vastuolus GDPR-i ja ePrivacy nõuetega. Nende kasutamine kujutaks endast läbipaistvuse, seaduslikkuse ja andmete minimeerimise põhimõtete rikkumist.
Võrdlustabel
| Tüüp | Eluiga | Ulatus | Kas tavaliselt on nõusolek vajalik? | Peamised kasutusalad |
|---|---|---|---|---|
| Seansiküpsis | Ainult brauseriseanss | Esimese osapoole | Ainult siis, kui pole hädavajalik | Sisselogimisolek, ostukorv, CSRF-tokenid |
| Püsiküpsis (1. osapool) | Päevad kuni aastad | Esimese osapoole | Tavaliselt jah | Eelistused, analüütika, „jäta mind meelde“ |
| Püsiküpsis (3. osapool) | Päevad kuni aastad | Saidiülene | Peaaegu alati jah | Reklaam, taassihtimine, sotsiaalmeedia vidinad |
| Secure | Varieerub | Ainult HTTPS | Sõltub eesmärgist | Iga tundlik küpsis |
| HttpOnly | Varieerub | Ainult serveripoolne | Sõltub eesmärgist | Seansi ID-d, autentimistokenid |
| SameSite=Strict | Varieerub | Ainult samalt saidilt | Sõltub eesmärgist | CSRF-tundlikud toimingud |
| SameSite=Lax | Varieerub | Sama sait + ülataseme navigatsioon | Sõltub eesmärgist | Üldine seansihaldus |
| SameSite=None | Varieerub | Kõik kontekstid (nõuab Secure) | Peaaegu alati jah | Kolmanda osapoole manused, saidiülene autentimine |
Mida see nõuetele vastavuse jaoks tähendab
Küpsise tüüp mõjutab otseselt teie nõuetele vastavuse kohustusi:
- Esimese osapoole seansiküpsised, mis on rangelt vajalikud (sisselogimisseansid, ostukorvid, CSRF-tokenid), on ePrivacy artikli 5(3) alusel nõusolekunõuetest vabastatud.
- Esimese osapoole püsiküpsised analüütika, eelistuste või funktsionaalsuse jaoks vajavad üldiselt nõusolekut — kuigi mõned andmekaitseasutused lubavad esimese osapoole analüütika puhul teatud tingimustel piiratud erandeid.
- Kolmanda osapoole küpsised mis tahes kujul vajavad peaaegu alati selgesõnalist eelnevat nõusolekut. Seaduslikke erandeid on väga vähe.
- Turvaatribuudid (Secure, HttpOnly, SameSite) ei muuda nõusolekunõudeid, kuid nende kasutamine annab tunnistust heast turvatavast — mis on iseenesest GDPR-i nõue.
Täpselt teadmine, milliseid küpsiseid teie veebisait seab — ja mis tüüpi iga küpsis on — on iga nõuetele vastavuse programmi alus. Passiro skanner tuvastab ja klassifitseerib automaatselt iga küpsise teie veebisaidil, sealhulgas kolmanda osapoole küpsised, mida seavad manustatud skriptid, millest te ei pruugi teadlikki olla.
Nüüd, kui mõistame tüüpe, vaatame, kuidas küpsised on korraldatud nõusolekukategooriatesse — klassifikatsioonisüsteem, mis määrab, kuidas need teie küpsisebänneris kuvatakse.
Kas sinu veebisait vastab kupsiste reeglitele?
Skanni oma veebisaiti tasuta ja leia koik kupsised monikuminutiga.
Skanni oma kupsiseid tasuta