Kontaktovat podporu

Odpovíme e-mailem, obvykle do dvou dnů.

Google reCAPTCHA kontroluje toto odeslání kvůli ochraně před zneužitím; data se přitom předávají společnosti Google. Skript se načte až při otevření tohoto formuláře.

← Všechny články

Proč seznam vyloučení není hashovaný

Kdo staví web, otevře ho dvacetkrát denně. U počítadla se čtyřiceti návštěvníky měsíčně tvoří polovinu statistik sám autor. Proto existuje nastavení: nepočítat návštěvy z mé vlastní adresy.

Všude jinde v této službě se adresy hashují s tajným saltem a datem a samotná adresa se nikdy neuloží. Na tomto jediném místě se ukládá přesně tak, jak byla zadána, v otevřené podobě. Je to záměrné rozhodnutí a zaslouží si, aby se řeklo nahlas, místo aby ho někdo musel objevit.

Verze, která se zkoušela jako první

První implementace ukládala kontrolní součet adresy, v souladu se vším ostatním. Fungovala, ukládala méně a byla téměř k ničemu: většina domácích připojení dostává každý den novou adresu. Vyloučení platilo ve chvíli, kdy se nastavilo, a druhý den ráno bylo bezcenné.

Denní změnu přežije rozsah – obvykle blok /24 nebo /16 poskytovatele, který zůstává stejný, zatímco poslední část adresy se mění. A rozsah nelze porovnávat jako kontrolní součet. Hashování záměrně ničí pořadí, a „leží tato adresa v tomto rozsahu?“ je otázka na pořadí. Žádná chytrá cesta kolem neexistuje – oba požadavky míří opačným směrem.

183.10.1.7283.10.1.94383.10.1.203mění se dennězůstává stejnákontrolní součet ničí pořadí – a „leží to v tom rozsahu?“ je otázka na pořadí

Rozsah se proto ukládá tak, jak byl zadán, v normalizované podobě, spolu se svými dvěma hranicemi po šestnácti bajtech, a jediné BETWEEN rozhodne. IPv4 se zapisuje ve tvaru IPv6, takže obě rodiny mají stejnou šířku a jedno porovnání pokryje obě.

Proč je tento kompromis tady přijatelný

Ukládá se vlastní síť provozovatele, kterou sám zadal, která se mu zobrazuje a kterou může kdykoli smazat. Není to adresa návštěvníka. Zásady ochrany osobních údajů říkají totéž stejnými slovy, protože alternativa – popsat službu tak, že hashuje všechno, a tuto výjimku potichu vynechat – by byla přesně tím druhem tvrzení pravdivého jen v hrubých rysech, které má menší cenu než žádné tvrzení.

Limit je deset položek na počítadlo: dost pro domov, kancelář a mobil a zároveň tak málo, že se seznam nemůže stát obecným úložištěm adres.

Druhý druh, pro věci v pohybu

Část provozu má stálou identitu a proměnlivou adresu: monitor dostupnosti, stahovač náhledů odkazů z chatovacího programu, kontrolní služba. Takové žádný rozsah nezachytí.

U nich se vyloučení místo toho řídí úryvkem identifikace prohlížeče. Zadání uptimerobot zachytí celý řetězec, který posílá. Minimum jsou čtyři znaky, protože dvoupísmenný úryvek by se objevil téměř v každém identifikačním řetězci a počítadlo by úplně vypnul.

Obecné poučení

Návrh ochrany soukromí je souborem kompromisů a zajímavá místa jsou ta, kde se pravidlo muselo ohnout. Pravidla, která se nikdy neohnou, obvykle znamenají, že je zatím nikdo nevyzkoušel proti skutečnému požadavku.

Vyhnout se je třeba tomu, ohnout pravidlo potichu. Hashované pole, které ve skutečnosti hashované není, a přesto ho dokumentace tak popisuje, je horší než obyčejné pole popsané obyčejně – utrácí důvěru, kterou si nezasloužilo, a dříve či později ho najde někdo, kdo nečekal, že to bude muset kontrolovat.

Reklama