Prečo zoznam vylúčení nie je hashovaný
V tomto článku
Vytváranie webu znamená otvárať ho dvadsaťkrát denne. Na počítadle so štyridsiatimi návštevníkmi mesačne tvorí autor polovicu štatistík. Preto existuje nastavenie: nepočítať návštevy z vlastnej adresy.
Všade inde v tejto službe sa adresy hashujú s tajnou soľou a dátumom a samotná adresa sa nikdy neuloží. Na tomto jedinom mieste sa ukladá presne tak, ako bola zadaná, v otvorenej podobe. Je to zámerné rozhodnutie, ktoré si zaslúži otvorené vysvetlenie namiesto toho, aby ho musel niekto sám objaviť.
Verzia, ktorá sa skúšala ako prvá
Prvá implementácia ukladala kontrolný súčet adresy, v súlade so všetkým ostatným. Fungovala, ukladala menej a bola takmer zbytočná: väčšina domácich pripojení dostáva každý deň novú adresu. Vylúčenie bolo správne v okamihu nastavenia a nasledujúce ráno bezcenné.
Dennú zmenu prežije rozsah — zvyčajne /24 alebo /16 poskytovateľa, ktorý zostáva rovnaký, kým sa posledná časť obmieňa. A rozsah nemožno porovnávať ako kontrolný súčet. Hashovanie zámerne ničí poradie a „patrí táto adresa do tohto rozsahu“ je otázkou poradia. Neexistuje šikovná obchádzka; tieto dve požiadavky smerujú proti sebe.
Rozsah sa preto ukladá tak, ako bol zadaný, normalizovaný, spolu s oboma hranicami, každou v šestnástich bajtoch, a jediné porovnanie BETWEEN rozhodne. IPv4 sa zapisuje v tvare IPv6, takže obe rodiny majú rovnakú šírku a jedno porovnanie pokrýva obe.
Prečo je tento kompromis tu prijateľný
Ukladá sa vlastná sieť prevádzkovateľa, ktorú sám zadal, ktorá sa mu spätne zobrazuje a ktorú môže kedykoľvek odstrániť. Nie je to adresa návštevníka. Zásady ochrany osobných údajov hovoria to isté rovnakými slovami, pretože druhá možnosť — opisovať službu, akoby hashovala všetko, a potichu toto vynechať — by bola druhom zhruba pravdivého tvrdenia, ktoré má menšiu hodnotu než žiadne tvrdenie.
Limit je desať položiek na počítadlo: dosť pre domácnosť, kanceláriu a mobilné pripojenie a dosť málo na to, aby sa zoznam nemohol stať univerzálnym úložiskom adries.
Druhý typ pre veci, ktoré sa presúvajú
Časť návštevnosti má stálu identitu a nestálu adresu: monitor dostupnosti, nástroj četového programu na načítavanie náhľadov odkazov, kontrolná služba. Žiadny rozsah ich nezachytí.
Pri nich vylúčenie namiesto toho porovnáva úryvok identifikačného reťazca prehliadača. Zadanie uptimerobot zachytí celý reťazec, ktorý odosiela. Minimum sú štyri znaky, pretože dvojpísmenový úryvok by sa objavil takmer v každom identifikačnom reťazci a úplne by vypol počítadlo.
Všeobecné poučenie
Návrh ochrany osobných údajov je súborom kompromisov a zaujímavé časti sú tam, kde sa pravidlo muselo prispôsobiť. Pravidlá, ktoré sa nikdy neprispôsobujú, zvyčajne znamenajú, že ich ešte nikto neotestoval na skutočnej požiadavke.
Treba sa vyhnúť tichému prispôsobeniu pravidla. Hashované pole, ktoré v skutočnosti nie je hashované, ale dokumentácia ho tak opisuje, je horšie než otvorené pole opísané otvorene — míňa dôveru, ktorú si nezískalo, a napokon ho odhalí niekto, kto nečakal, že to bude musieť kontrolovať.