Maskování, anonymizace a pseudonymizace dat

V souvislosti s ochranou osobních údajů a citlivých informací se často setkáváme s požadavkem, aby vybraná data byla uložena tak, aby jich v případě úniku nebylo možné zneužít.
V tomto článku se podíváme, jaké jsou naše možnosti a co je to maskování, anonymizace a pseudonymizace.
Maskování
Maskování dat je proces úpravy citlivých dat takovým způsobem, že pro neoprávněné narušitele nemají žádnou nebo jen malou hodnotu. Tohoto požadavku lze dosáhnout mnoha různými způsoby. V některých případech tak lze učinit ručně a někde zase jen za použití HW appliance, SW anebo služby.
Konkrétní metody maskování dat nejsou nikde standardizovány a certifikovány, a nikdy asi ani nebudou, protože to vzhledem k povaze dat a jejich různému užití dost dobře nejde.
Některé systémy a databáze již mají nástroje na maskování dat v sobě zabudovány. V tomto případě je nutné určit, kterých dat se má proces maskování týkat. V ideálním případě by mělo dojít k takové úpravě dat, že když se k nim dostane útočník, tak by neměl být schopen rekonstruovat původní data. Například identifikovat osobu skrze její osobní údaje.
Zároveň by maskovaná data měla umožnit s nimi provádět matematicko-statistické výpočty s tím, že by neměly poskytovat diametrálně odlišné výsledky od výsledků prováděných nad původními daty. Příkladem takového maskování může být homomorfní šifrování, které umožňuje provádět výpočty se zašifrovanými daty, aniž by bylo nutné je nejprve dešifrovat. Výsledné výpočty jsou ponechány v zašifrované formě, která po dešifrování vede k výstupu, který je identický s výstupem, který byl vytvořen, kdyby byly operace provedeny s nezašifrovanými daty.
V reálné praxi se často používají jednodušší metody, jako nahrazování hodnot podle připravené tabulky v databázi. Tento vztah může být zachycen v samotné databázi propojením mezi tabulkami. Avšak nemusí být vyjádřen.
Maskování se může týkat jen hodnot v různých sloupcích téže tabulky, např. rodné číslo a pohlaví nebo město a PSČ. Náročnost maskování si uvědomíme zejména v případě napojení na další systémy, protože i tam musí dojít ke stejné změně, aby nebyla narušena referenční integrita. To vyžaduje dobrou znalost daného prostředí a použití odpovídajících nástrojů a metod.
Kromě toho zde máme i nejrůznější legislativní požadavky jako je třeba GDPR, které v této souvislosti hovoří o tzv. anonymizací a pseudonymizací dat. Nebo PCI-DSS, který hovoří o tokenizaci neboli nahrazování jedné hodnoty za jinou.
V případě PCI-DSS se jedná o nahrazení čísla karty (PAN) za jinou hodnotu, ale myslí tím jak reverzibilní tokenizaci (de facto pseudonymizace za použití kryptografie nebo převodní tabulky), tak i a ireverzibilní tokenizaci (de facto anonymizace za použití maskování a hashování), které jsou popsány dále.
Anonymizace
Termín anonymizace se používá v oblasti ochrany osobních údajů tam, kde nechceme, aby bylo možné zjistit původní hodnoty osobních údajů. Rozlišujeme dva přístupy k anonymizaci:
- Randomizaci: stejná vstupní hodnota bude generovat na výstupu v zásadě pokaždé jinou hodnotu) nebo
- Generalizaci: různé hodnoty na vstupu budou převedeny na v zásadě stejné nebo podobné hodnoty na výstupu
Při anonymizaci se využívá jednocestná funkce, takže původní data nelze zpětně rekonstruovat. Možné metody anonymizace jsou:
- Substitution – nahrazení jedné hodnoty za jinou z tabulky, kde jsou třeba rovnoměrně zastoupena náhodně vygenerovaná mužská a ženská jména;
- Shuffling/swapping – náhodné zpřeházení jmen v jednom sloupci tabulky (suma sedí, ale neví se, komu patřily dílčí částky);
- Scrambling – náhodné zpřeházení znaků/čísel v rámci jednoho pole je možné použít jen v některých případech, protože často hrozí narušení integrity, může dojít k vytvoření snadno luštitelného anagramu a je zřejmé, že byl použit scrambling;
- Variance/blurring/averaging/generalizing/Introducing noise – drobné změny v číslech, např. v částkách a datech směrem nahoru nebo dolů a náhodně o pár jednotek v určitém intervalu anebo jejich zprůměrování;
- Nulling out/deleting/supressing – vynulování nebo také vymazání dané hodnoty nebo celého řádku může narušit integritu a také je indikátorem maskování;
- Data masking out/blacklining/data redaction – jen část řetězce nebo čísla je vidět ostatní je nahrazeno opakujícím se písmenem nebo náhodně generovaným řetězcem;
- Hashování – hashovací funkce jsou ireverzibilní, ovšem mnohé hodnoty lze snadno predikovat a pak rychle vytvořit hashe např. pro rodná čísla, čísla občanských průkazů nebo jména, příjmení a adresy a ty porovnat s hodnotami v DB, Správným řešením proto je, aby do výpočtu hash nevstupovaly pouze anonymizované hodnoty, ale navíc i sůl.
Ne každá výše uvedená metoda se však hodí na všechno, a některé jsou v určitých situacích méně nebo více vhodné či nevhodné. Vždy záleží na povaze dat a vztahu mezi nimi. Např. použít shufflingu na DB, ve které jsou jména, které má jen jeden nebo několik málo občanů v ČR nemusí stačit.
Už pouhý výskyt jména a jedno s jakými daty, bude indikovat, že daná osoba je v DB a pak už jen bude záležet na tom, o jakou DB se jednalo. Ne vždy je tak možné bez uvedení typu dat a kontextu prohlásit, zda použitá metoda vedla skutečně k anonymizaci.
Pseudonymizace
Používáme tam, kde potřebujeme mít možnost získat původní hodnotu. V případě pseudonymizace lze s vynaložením většího či menšího úsilí zjistit identitu dané osoby, protože se znalostí algoritmu a klíče nebo převodní tabulky lze zjistit, jaká byla původní hodnota. Je tomu tak proto, že pro převod dat ze vstupu na výstup je zpravidla používána nějaká reversibilní funkce, takže lze původní hodnotu rekonstruovat. Možné metody pseudonymizace jsou:
- Šifrování – všechna nebo vybraná data jsou zašifrována – dochází k nahrazení jedné hodnoty jinou, která vznikne aplikováním šifrovacího klíče (reverzibilní operace) V okamžiku, kdy se budou v databázi nacházet stejné hodnoty a nebo útočník bude znát jaká byla původní hodnota, může mu to stačit;
- Tokenizace – nahrazení jedné hodnoty jinou a udržování této vazby v tabulce. Slabým místem je pak samotná převodní tabulka.
Poznámka: Problematiku ochrany osobních údajů pokrývá mimo jiné i publikace NIST 800-122 Guide to Protecting the Confidentiality of Personally Identifiable Information (PII), která je k dispozici ve formátu pdf zde.
ČERMÁK, Miroslav. Maskování, anonymizace a pseudonymizace dat. Online. Clever and Smart. 2024. ISSN 2694-9830. Dostupné z: https://www.cleverandsmart.cz/maskovani-anonymizace-a-pseudonymizace-dat/. [cit. 2025-02-10].
Štítky: kryptografie
K článku “Maskování, anonymizace a pseudonymizace dat” se zde nenachází žádný komentář - buďte první.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.