Sīkdatņu veidi: pilnīga tehniskā rokasgrāmata
Ne visas sīkdatnes ir vienādas. Sīkdatnes veids nosaka, cik ilgi tā saglabājas, kas to var nolasīt, cik droši tā tiek pārsūtīta un — kas ir izšķiroši — vai tai ir nepieciešama lietotāja piekrišana. Šo atšķirību izpratne ir būtiska gan atbilstības, gan ieviešanas ziņā.
Sesijas sīkdatnes vs. pastāvīgās sīkdatnes
Pati fundamentālākā atšķirība ir tā, cik ilgi sīkdatne pastāv.
Sesijas sīkdatnes
Sesijas sīkdatne pastāv tikai pārlūkprogrammas sesijas laikā. Tai nav Expires vai Max-Age atribūta. Kad lietotājs aizver pārlūkprogrammu, sīkdatne tiek izdzēsta.
Set-Cookie: cart_id=xyz789; Path=/; Secure; HttpOnly
Sesijas sīkdatnes parasti izmanto, lai:
- saglabātu pieteikšanās stāvokli apmeklējuma laikā;
- saglabātu iepirkumu groza saturu;
- nodrošinātu CSRF aizsardzības tokenus;
- saglabātu vairāku soļu veidlapu datus.
Tā kā sesijas sīkdatnes nesaglabājas, tās no privātuma viedokļa parasti ir mazāk aizskarošas. Tomēr tām joprojām ir nepieciešama piekrišana, ja tās nav absolūti nepieciešamas lietotāja pieprasītā pakalpojuma sniegšanai.
Pastāvīgās sīkdatnes
Pastāvīgai sīkdatnei ir noteikts derīguma termiņš. Tā pārdzīvo pārlūkprogrammas restartēšanu un paliek lietotāja ierīcē, līdz tās derīguma termiņš beidzas vai to manuāli izdzēš.
Set-Cookie: preferences_lang=en; Path=/; Max-Age=31536000; Secure
Šī sīkdatne saglabāsies vienu gadu (31 536 000 sekundes). Izplatītākie lietojuma veidi ir šādi:
- funkcija «atcerēties mani» pieteikšanās brīdī;
- valodas un noformējuma preferences;
- analītikas identifikatori (Google Analytics sīkdatnes saglabājas līdz pat 2 gadiem);
- reklāmas izsekošana (dažas reklāmas sīkdatnes saglabājas 13 mēnešus vai ilgāk).
Pastāvīgās sīkdatnes tiek pakļautas rūpīgākai izvērtēšanai saskaņā ar privātuma noteikumiem. CNIL (Francijas datu aizsardzības iestāde) ir ieteikusi maksimālo sīkdatnes darbības laiku 13 mēnešus, un piekrišana arī ir jāatjauno vismaz reizi 13 mēnešos.
Pirmās puses vs. trešās puses sīkdatnes
Šī atšķirība ir centrāla privātuma debatēs un tieši ietekmē piekrišanas prasības.
Pirmās puses sīkdatnes
Pirmās puses sīkdatni iestata domēns, kuru lietotājs faktiski apmeklē. Ja apmeklējat example.com, jebkura example.com iestatītā sīkdatne ir pirmās puses sīkdatne.
Pirmās puses sīkdatnes izmanto tīmekļa vietnes pamatfunkcijām: sesijām, preferencēm, analītikai, ko vietnes operators veic pats. Tās var nolasīt tikai domēns, kas tās iestatījis.
Piemērs: jūs apmeklējat shop.example.com. Serveris iestata sīkdatni ar nosaukumu session_id. Šī sīkdatne tiek nosūtīta tikai uz shop.example.com un tā apakšdomēniem. Neviena cita tīmekļa vietne tai nevar piekļūt.
Trešās puses sīkdatnes
Trešās puses sīkdatni iestata cits domēns, nevis tas, kuru lietotājs apmeklē. Kad example.com ielādē reklāmas skriptu no ads.tracker.com un šis skripts iestata sīkdatni tracker.com domēnā, tā ir trešās puses sīkdatne.
Šādi darbojas starpvietņu izsekošana. tracker.com sīkdatne tiek nosūtīta ar katru pieprasījumu uz tracker.com neatkarīgi no tā, kura tīmekļa vietne pieprasījumu izraisīja. Ja tracker.com skripti ir iegulti 10 000 tīmekļa vietnēs, tie var novērot vienu un to pašu lietotāju visās 10 000 vietnēs.
Trešās puses sīkdatnes ir gan regulatīvās izpildes, gan pārlūkprogrammu līmeņa ierobežojumu galvenais mērķis:
- Safari kopš 2020. gada pēc noklusējuma bloķē trešās puses sīkdatnes (ITP);
- Firefox pēc noklusējuma bloķē zināmus trešās puses izsekotājus (ETP);
- Chrome ar savu Privacy Sandbox iniciatīvu pakāpeniski atsakās no trešās puses sīkdatnēm;
- regulatīvās izpildes darbības lielākoties ir vērstas pret trešās puses izsekošanas sīkdatnēm.
Drošās sīkdatnes
Sīkdatne ar atribūtu Secure tiek nosūtīta tikai pa HTTPS savienojumiem. Tā nekad netiks pārsūtīta pa nešifrētu HTTP.
Set-Cookie: auth_token=secret123; Secure
Tas neļauj «cilvēks pa vidu» (man-in-the-middle) uzbrucējam pārtvert sīkdatni nedrošā savienojumā. Jebkura sīkdatne, kas satur sensitīvu informāciju — sesijas identifikatorus, autentifikācijas tokenus, personas datus —, vienmēr ir jāatzīmē kā Secure.
No atbilstības viedokļa Secure karoga neizmantošana sensitīvām sīkdatnēm var tikt uzskatīta par atbilstošu tehnisko pasākumu neieviešanu saskaņā ar GDPR 32. pantu (apstrādes drošība).
HttpOnly sīkdatnes
Sīkdatnei ar atribūtu HttpOnly nevar piekļūt ar JavaScript, izmantojot document.cookie. Tā tiek nosūtīta tikai ar HTTP pieprasījumiem uz serveri.
Set-Cookie: session_id=abc123; HttpOnly
Tas ir izšķirošs drošības pasākums. Starpvietņu skriptēšanas (XSS) uzbrukumi bieži mēģina nozagt sīkdatnes, ievadot JavaScript, kas nolasa document.cookie. Karogs HttpOnly pilnībā novērš šo vektoru.
Sesijas sīkdatnēm un autentifikācijas sīkdatnēm gandrīz vienmēr vajadzētu būt HttpOnly. Sīkdatnes, kas jānolasa klienta puses JavaScript (piemēram, preferenču sīkdatnes, kas ietekmē lietotāja saskarni), nevar būt HttpOnly.
SameSite sīkdatnes
Atribūts SameSite kontrolē, vai sīkdatne tiek nosūtīta ar starpvietņu pieprasījumiem. Tas tika ieviests, lai mazinātu starpvietņu pieprasījumu viltošanas (CSRF) uzbrukumus un dotu vietnēm lielāku kontroli pār starpvietņu sīkdatņu darbību.
SameSite=Strict
Sīkdatne tiek nosūtīta tikai ar pieprasījumiem, kas nāk no tās pašas vietnes. Ja lietotājs noklikšķina uz saites vietnē other.com, kas ved uz your-site.com, sīkdatne ar šo sākotnējo pieprasījumu netiks nosūtīta.
Tas ir drošākais iestatījums, taču tas var pārtraukt likumīgu funkcionalitāti. Piemēram, ja lietotājs no e-pasta noklikšķina uz saites, kas ved uz jūsu vietni, viņa sesijas sīkdatne netiks nosūtīta, un viņš izskatīsies izrakstījies.
SameSite=Lax
Sīkdatne tiek nosūtīta ar augšējā līmeņa navigāciju (klikšķinot uz saites), bet ne ar starpvietņu apakšpieprasījumiem (attēlu, rāmju ielādi vai AJAX pieprasījumu veikšanu no citas vietnes). Tas ir noklusējuma iestatījums mūsdienu pārlūkprogrammās, ja nav norādīts atribūts SameSite.
Lax nodrošina saprātīgu līdzsvaru starp drošību un lietojamību. Tas neļauj trešās puses vietnēm izraisīt autentificētas darbības jūsu vietnē, vienlaikus ļaujot darboties parastajai saišu navigācijai.
SameSite=None
Sīkdatne tiek nosūtīta ar visiem pieprasījumiem, tostarp starpvietņu pieprasījumiem. Tas ir nepieciešams, lai trešās puses sīkdatnes darbotos. Sīkdatnei, kas iestatīta ar SameSite=None, ir jābūt arī atribūtam Secure.
Set-Cookie: tracking_id=xyz; SameSite=None; Secure
Jebkurai sīkdatnei, kurai jādarbojas starpvietņu kontekstā (iegultie logrīki, trešās puses autentifikācija, starpvietņu izsekošana), ir jāizmanto SameSite=None. Tas kļūst arvien aktuālāks, jo pārlūkprogrammas pastiprina savu noklusējuma sīkdatņu politiku.
Zombija sīkdatnes un superkūkas
Tās ir vērts pieminēt, jo tās atspoguļo mēģinājumus apiet privātuma kontroli:
- Zombija sīkdatnes ir sīkdatnes, kas pēc izdzēšanas atjauno pašas sevi. Tās parasti darbojas, glabājot vienu un to pašu identifikatoru vairākos glabāšanas mehānismos (sīkdatnes, localStorage, IndexedDB, Flash LSO) un izmantojot to, kurš izdzīvo, lai atjaunotu pārējos. Šī prakse tiek plaši uzskatīta par maldinošu, un par to ir veiktas izpildes darbības.
- Superkūkas ir izsekošanas mehānismi, kas darbojas līmenī zem parastajām sīkdatnēm — piemēram, ISP līmeņa galvenes iesūtīšana (Verizon UIDH) vai HSTS balstīta pirkstu nospiedumu veidošana. Lietotājiem tās ir ārkārtīgi grūti kontrolēt vai izdzēst.
Gan zombija sīkdatnes, gan superkūkas ir nepārprotami nesavienojamas ar GDPR un ePrivacy prasībām. To izmantošana būtu pārredzamības, likumības un datu minimizācijas principu pārkāpums.
Salīdzinājuma tabula
| Veids | Darbības laiks | Darbības joma | Vai parasti nepieciešama piekrišana? | Galvenie lietojuma gadījumi |
|---|---|---|---|---|
| Sesijas | Tikai pārlūkprogrammas sesija | Pirmās puses | Tikai tad, ja nav būtiska | Pieteikšanās stāvoklis, grozs, CSRF tokeni |
| Pastāvīgā (1. puses) | No dienām līdz gadiem | Pirmās puses | Parasti jā | Preferences, analītika, «atcerēties mani» |
| Pastāvīgā (3. puses) | No dienām līdz gadiem | Starpvietņu | Gandrīz vienmēr jā | Reklāma, atkārtota mērķorientēšana, sociālie logrīki |
| Secure | Mainīgs | Tikai HTTPS | Atkarībā no mērķa | Jebkura sensitīva sīkdatne |
| HttpOnly | Mainīgs | Tikai servera puse | Atkarībā no mērķa | Sesijas ID, autentifikācijas tokeni |
| SameSite=Strict | Mainīgs | Tikai tā pati vietne | Atkarībā no mērķa | CSRF jutīgas darbības |
| SameSite=Lax | Mainīgs | Tā pati vietne + augšējā līmeņa navigācija | Atkarībā no mērķa | Vispārīga sesiju pārvaldība |
| SameSite=None | Mainīgs | Visi konteksti (nepieciešams Secure) | Gandrīz vienmēr jā | Trešās puses iegulnes, starpvietņu autentifikācija |
Ko tas nozīmē atbilstības ziņā
Sīkdatnes veids tieši ietekmē jūsu atbilstības pienākumus:
- Pirmās puses sesijas sīkdatnes, kas ir absolūti nepieciešamas (pieteikšanās sesijas, iepirkumu grozi, CSRF tokeni), ir atbrīvotas no piekrišanas prasībām saskaņā ar ePrivacy 5. panta 3. punktu.
- Pirmās puses pastāvīgajām sīkdatnēm analītikai, preferencēm vai funkcionalitātei parasti ir nepieciešama piekrišana — lai gan dažas datu aizsardzības iestādes noteiktos apstākļos pieļauj ierobežotus izņēmumus attiecībā uz pirmās puses analītiku.
- Jebkura veida trešās puses sīkdatnēm gandrīz vienmēr ir nepieciešama nepārprotama iepriekšēja piekrišana. Ir ļoti maz likumīgu izņēmumu.
- Drošības atribūti (Secure, HttpOnly, SameSite) nemaina piekrišanas prasības, bet to izmantošana apliecina labu drošības praksi, kas pati par sevi ir GDPR prasība.
Precīza zināšana, kuras sīkdatnes iestata jūsu tīmekļa vietne — un kāds ir katras no tām veids —, ir jebkuras atbilstības programmas pamats. Passiro skeneris automātiski identificē un klasificē katru sīkdatni jūsu tīmekļa vietnē, tostarp trešās puses sīkdatnes, kuras iestata iegulti skripti, par kuriem jūs, iespējams, pat neapzināties.
Tagad, kad esam izpratuši veidus, aplūkosim, kā sīkdatnes tiek organizētas piekrišanas kategorijās — klasifikācijas sistēmā, kas nosaka, kā tās parādās jūsu sīkdatņu paziņojumā.
Vai jūsu tīmekļa vietne atbilst sīkdatņu noteikumiem?
Skenējiet savu tīmekļa vietni bezmaksas un atrodiet visas sīkdatnes dažu minūšu laikā.
Skenēt savas sīkdatnes bezmaksas