Soukromí v prohlížeči

Proč profily, kontejnery a izolace stránek rozhodují o soukromí

Moderní prohlížeče nejsou pouze „okna do webu“. Jsou to složité sandboxované platformy, jejichž architektura přímo ovlivňuje, kolik o vás mohou weby zjistit, jak snadno lze spojovat vaše aktivity napříč službami a jaké škody může způsobit kompromitace jedné záložky. Klíčové koncepty – více profilů, kontejnery (izolované „cookie sklady“) a izolace stránek (procesová i datová) – tvoří základ obrany proti sledování, krádeži relací a bočním kanálům. Tento článek vysvětluje principy, rozdíly, implementace v hlavních prohlížečích a doporučení pro jednotlivce i firmy.

Modely hrozeb a cíle ochrany

  • Profilování napříč weby: reklamní a analytické sítě spojují identitu a chování.
  • Únik nebo krádež relace: zneužití cookies/úložiště k převzetí účtu.
  • Boční kanály: načítání zdrojů přes stejný proces/úložiště (history sniffing, cache probing).
  • Cross-tenant rizika: míchání pracovních a osobních kontextů (SSO, jednotné cookies).
  • Snížení entropie pro fingerprinting: konzistentní izolace a minimalismus dat.

Prohlížečové profily: koncept a architektura

Profil je samostatný pracovní prostor prohlížeče: vlastní cookies, LocalStorage/IndexedDB, historii, rozšíření, certifikáty, klíčenky a politiky. Profily se navzájem nevidí a mohou být spuštěny paralelně.

  • Výhody: pevná hranice mezi identitami (práce/osobní/test), méně „přelévaní“ cookies, menší riziko cross-site korelace.
  • Nevýhody: správa více instancí, duplicitní rozšíření, vyšší spotřeba paměti.
  • Případy použití: oddělení cloud tenantů, administrátorské účty, A/B testování s různými politikami soukromí.

Kontejnery (izolované „cookie sklady“): jemnozrnná izolace v rámci jednoho profilu

Kontejner (např. Multi-Account Containers) vytváří samostatný prostor pro cookies a další webová úložiště pro vybranou množinu domén. Umožňuje mít současně přihlášení do stejných služeb (např. dva e-maily) bez míchání stavů.

  • Mechanika: každému kontejneru je přiřazen izolovaný cookie store, izolované storage a často i barevné označení záložek pro lepší uživatelskou zkušenost.
  • Výhody: minimální tření při přepínání identit, lepší kontrola referer a third-party vložek (sociální widgety v samostatném kontejneru).
  • Omezení: ne všechna rozšíření respektují kontejnery stejně; síťová vrstva může zůstat společná (vyžaduje další opatření).

Izolace stránek: procesy, paměť a hranice mezi původy

Site Isolation prosazuje pravidlo, že rozdílné site (obvykle eTLD+1 + schéma + port) běží v oddělených procesech. Tím se snižuje riziko bočních kanálů a zvyšuje odolnost vůči chybám typu Spectre.

  • Procesová izolace: každý site (a často i cross-site iframe) v samostatném procesu s vlastním sandboxem.
  • Partitioning stavu: cache, cookies, storage, service workeři a síťový stav se váží na top-level site (případně na double keying s prvkem embeddujícího kontextu).
  • Přínosy: obtížnější překročení sandboxu, méně sdílení cache, nižší účinnost pixelů a třetích stran při korelaci.

Prvky izolace stavu: cookies, cache a storage

  • Cookies: atributy SameSite a partitioning třetích stran (oddělené „krabičky“ pro každého embeddera).
  • Cache a síťový stav: Network State Partitioning – oddělení DNS cache, přerušených spojení, HSTS a TLS session ticketů podle top-level site.
  • Storage: Storage Partitioning – LocalStorage/IndexedDB/Service Worker scope vázaný na kontext shora (zabraňuje „supercookies“ přes sdílená úložiště).
  • Fenced Frames a podobné mechanismy: bezpečnější embedování bez sdílení identifikátorů.

Profily vs. kontejnery vs. čisté okno: co kdy zvolit

Potřeba Nejlepší řešení Důvod
Přísné oddělení práce a soukromí Samostatné profily Oddělená rozšíření, klíče, politika, historie
Paralelní přihlášení do stejného webu Kontejnery Rychlé přepínání, izolované cookies na úrovni domén
Jednorázová „čistá“ relace Soukromé okno Ephemerální stav, bez prolévání historie
Obrana proti bočním kanálům Site/Process Isolation Oddělené procesy a síťové stavy

Konfigurace a doporučená nastavení (prohlížeče)

  • Firefox: víceprofilový spouštěč, Multi-Account Containers, Total Cookie Protection (partitioning), Enhanced Tracking Protection; volitelně First-Party Isolation pro přísnější rozdělení.
  • Chromium/Chrome/Edge: více profilů s oddělenými politikami; Site Isolation ve výchozím nastavení, partitioning storage a omezení třetích stran; doporučené SameSite=Lax/Strict a pravidla pro třetí strany.
  • Safari: přísná prevence trackerů (ITP), izolace stavu a silná výchozí omezení třetích stran.

Praktické vzory pro jednotlivce

  1. Minimálně dva profily: „Práce“ (firemní SSO, rozšíření, VPN certifikáty) a „Soukromí“ (bez účtů, minimum rozšíření).
  2. Kontejnery pro velké platformy: sociální sítě, e-mail a cloud v oddělených kontejnerech; externí odkazy otevírat mimo „osobní“ kontejnery.
  3. Soukromá okna pro rizikové úkony: dočasná přihlášení, citlivé vyhledávání, testování bez vlivu na historii.
  4. Minimalismus rozšíření: méně je více; rozšíření mají přístup ke stránkám a mohou snižovat soukromí.

Podnikové politiky a řízení rizika

  • Standardizované profily: centrálně spravované profily s politikami (povolená rozšíření, DLP, certifikáty, nastavení cookie).
  • Tenant a účetní izolace: šablony profilů pro jednotlivé klienty/projekty; povinné využití kontejnerů pro sociální sítě a webmail.
  • SSO a prohlížeč: omezit remember me, vynucovat FIDO2/WebAuthn, zkracovat životnost relací.
  • Logování a forenzika: korelovat události s profilem/kontextem; zakázat „soukromé“ profily pro administrátory.

Technické detaily: hranice, které nejčastěji selhávají

  • Únik URL parametrů: i s izolací cookies mohou utm_* a identifikátory v URL korelovat identity; doporučuje se automatické ořezávání parametrů.
  • Shared workers a BroadcastChannel: nutné respektovat partitioning podle top-level site; kontrola kompatibility.
  • Cache a Service Worker scope: správné scopy a registrace, aby se zabránilo neočekávanému sdílení.
  • Schémata a subdomény: konzistentní používání eTLD+1 a explicitní separace (např. auth.example.com vs. app.example.com).

Minimalismus dat na straně aplikace

  • SameSite a Secure cookies: HttpOnly, Secure, SameSite=Strict/Lax jako výchozí; Path/Domain minimalizovat.
  • Rotace identifikátorů: krátké TTL pro session a refresh tokeny; vázání na kontext (device binding).
  • Redukce třetích stran: načítat zdroje z vlastní domény; přesun měření na server s respektem k souhlasu.
  • Privacy by default: deaktivovat volitelné trackery bez souhlasu; implementovat storage partitioning-safe strategie.

Testování a audit izolace

  1. Matice domén × kontejnerů: ověřit, že přihlášení do A v kontejneru 1 není viditelné v kontejneru 2.
  2. Kontrola cache a storage: nástroje vývojáře – sekce Application/Storage; ověření oddělení podle top-level site.
  3. SSO scénáře: federované přihlášení (OpenID/OAuth/SAML) – testy v paralelních profilech a v soukromých oknech.
  4. Rozšíření: audit oprávnění, omezení běhu na vybrané domény, testování interakce s kontejnery.

Výkonnostní dopady a optimalizace

  • Více procesů ≠ vždy pomalejší: site isolation zvyšuje bezpečnost, ale prohlížeče optimalizují sdílení knihoven a plánování.
  • Profily a RAM: aktivní pouze nezbytné profily; zastavování pozadí a uspávání záložek.
  • CDN a partitioning: dopady na cache hit-rate – zvážit first-party hosting kritických zdrojů.

Typické scénáře a doporučená nastavení

  • Práce na dálku: profil „Práce“ (FIDO2 povinné, minimum rozšíření), profil „Osobní“ (bez SSO k práci), kontejnery pro sociální sítě.
  • Admin účty: samostatný profil bez rozšíření, povinný soukromý režim pro přístup do konzol, krátké TTL relací.
  • Marketing/analytika: oddělený profil s explicitním souhlasem pro testovací nástroje; žádné třetí strany v produkčním profilu.

Checklist soukromí v prohlížeči

  • Mám minimálně dva oddělené profily a používám je konzistentně?
  • Jsou velké platformy v samostatných kontejnerech a odkazy se neotvírají v „nesprávném“ kontextu?
  • Běží site/process isolation a je zapnutý partitioning cookies, cache a storage?
  • Používám FIDO2/WebAuthn a krátké relace pro citlivé účty?
  • Mám minimální počet rozšíření s omezeným rozsahem oprávnění?

Měření zralosti (KPI)

  • Podíl izolovaných přihlášení: procento citlivých služeb v samostatných profilech/kontejnerech.
  • Incidenty úniku relace: počet detekovaných cross-context cookie/Storage úniků.
  • Cache hit-rate vs. soukromí: sledovat dopady partitioningu a optimalizovat hosting zdrojů.
  • Adopce FIDO2: procento účtů bez SMS-OTP.

Limity a budoucí vývoj

  • Kompatibilita: některé starší aplikace počítají se sdíleným stavem – vyžadují refaktor.
  • Standardizace partitioningu: konsolidace chování napříč prohlížeči pokračuje.
  • On-device výpočty: více funkcí přesunout na klienta bez odesílání identifikátorů; bezpečnější embedování (fenced, CHIPS/partitioned cookies).

Vrstvená strategie místo jediného přepínače

Profily tvoří hrubou, organizační hranici; kontejnery umožňují jemné oddělení identit v rámci dne; izolace stránek a partitioning oddělují procesy a data tak, aby chyba či tracker nezasáhly jinde. Skutečná odolnost vzniká jejich kombinací, disciplínou používání a minimalismem dat v samotných aplikacích. Když jsou tyto vrstvy nastavené a dodržované, prohlížeč se stává silným nástrojem ochrany soukromí – nikoli slabým místem.