Categories
Bezpečnost Technologie

Návod: Jak trénovat vaše algoritmy a neporušit při tom do GDPR?

Máte skvělou aplikaci, která už má své zákazníky a potřebujete inovovat? Asi víte, že pokud použijete pro trénink AI nebo jiných algoritmů osobní údaje, automaticky se na vás sesype sprška povinností podle GDPR. O rizicích ani nemluvě. Trénování na synteticky vytvořených datech zase nemusí přinést výsledky, které potřebujete. Jak to tedy udělat?

To tajemství se jmenuje anonymizace dat podle GDPR.

Každý dobrý IT specialista vám řekne, že anonymizace dat je v dnešním technologickém světě utopie. Stačí přidat pár údajů – i když to někdy může být dost těžké – a umíte zpětně identifikovat danou osobu, tedy její údaje deanonymizovat.

To je pravda.

Například jeden výzkum ukázal, že analýzou anonymizovaného datasetu s údaji z telefonních hovorů 1,5 milionu lidí v okruhu 100 km podle umístění antény, která propojovala jejich hovor nebo SMS, nasbíraných za 15 měsíců, bylo možné identifikovat 95 lidí jen s použitím 4 známých lokalizačních bodů (kde se za těch 15 měsíců nacházeli). A k identifikaci více než 50 % lidí stačily jen 2 lokalizační body (tedy domov – práce). Více vědět není třeba, jen 2 údaje z vaší GPS navigace a vědí, že jste to vy.

Takže realita dává za pravdu IT specialistům. Ale nezoufejte. GDPR totiž nevyžaduje nezvratnou, 100% anonymizaci v technologickém, ale v právním smyslu. Jak tomu rozumět?

Podívejme se na to.

Co jsou osobní údaje?

Zřejmě mnozí z vás raději přeskočí tuto část, protože „však to je jasné“. Divili byste se, ale určit, co ještě jsou a co už nejsou osobní údaje, není vůbec jednoduché.

Podle práva jde o údaje, které se týkají osoby, kterou jsme už identifikovali, nebo kterou můžeme s jejich pomocí potenciálně identifikovat.

Identifikovat osobu znamená možnost vyčlenit ji z určité skupiny buď přímo – podle jejího jména, příjmení, adresy, data narození nebo jiných údajů, nebo nepřímo. Nepřímo znamená, že osobu můžeme oddělit od ostatních ve skupině, aniž bychom znali její běžné identifikační údaje. Stačí vědět, že je jí přidělen určitý identifikátor (např. cookies) nebo máme jiné údaje, např. z GPS o trasách, kterými každý den cestuje, jaké weby navštěvuje, jaká dynamická IP jí byla přidělena, kde se přihlašuje apod.

Jak tedy zjistíme, že dataset údajů, ze kterých nevíme, jak se někdo jmenuje nebo kde bydlí, je v režimu GDPR?

Musíme si uvědomit, že osobní údaje jsou informace, které nemusí obsahovat přímé identifikační údaje, tedy být „o osobě“. Záleží i na účelu údajů a následném způsobu jejich použití.

Osobními údaji jsou obecně informace, které se týkají nějaké osoby:

  1. svým obsahem (jsou o dané osobě),
  2. svým účelem (samy o sobě nemusí obsahovat identifikační informace o dané osobě, ale jsou získávány pro její pozdější identifikaci, např. záznamy z kamer),
  3. svým důsledkem (i když z nich samých je těžké někoho identifikovat, dají se použít s dopadem na práva a zájmy konkrétní osoby, např. ovlivnění jejího chování na internetu prostřednictvím personalizované reklamy).

Co je anonymizace?

Pokud máte jakékoli osobní údaje ve svých systémech, podléháte GDPR. To znamená ošetření celého datového toku, přípravu povinné dokumentace, smluv s dodavateli služeb, bezpečnostních opatření, procesů pro vyřizování GDPR žádostí zákazníků, hlášení bezpečnostních incidentů a pár dalších věcí.

Chcete-li své datasety využít k trénování algoritmů a nechcete projít celou torturou nebo nevíte, jak to podle GDPR dělat, je třeba upravit databázi.

První otázka zní: co když údaje oddělím tak, že zůstane skupina, z níž nelze nic vyvodit, a zbytek uložím odděleně? Nebo identifikační údaje nahradím kódem, který budu znát jen já? Tento proces se nazývá pseudonymizace a podle GDPR je to jedno z bezpečnostních opatření ke zvýšení ochrany. Pokud ale druhou skupinu údajů uchováváte a můžete ji kdykoli přiřadit k první, stále jste v režimu GDPR.

Jak se tedy z něj dostat?

Anonymizace je proces, kdy se osobní údaje nezvratně upraví tak, že zpětně z nich není možné identifikovat žádnou osobu. Ani nepřímo.

Nezvratně však neznamená, že je to úplně nemožné. Ale kde je hranice, kdy podle GDPR jsou data anonymizována a kdy ne?

GDPR to vidí prakticky

Právo má sloužit lidem, proto by nemělo být absurdní. Stejně je tomu i zde.

GDPR vyžaduje přijetí přiměřených opatření k zajištění anonymizace, aby žádná osoba nemohla být z dat identifikována nebo po přidání dalších dat.

Při volbě přiměřených opatření je třeba zohlednit všechny způsoby, které by bylo pravděpodobně možné použít k deanonymizaci.

Při posouzení, zda je možné je pravděpodobně použít, je důležité zohlednit:

  • náklady, které by deanonymizace vyžadovala,
  • čas potřebný k deanonymizaci,
  • aktuální technologie, které by šlo použít,
  • potenciální technologický vývoj v blízké budoucnosti,
  • veřejně dostupná data, která by šla k datům připojit,
  • uniklá data, např. na dark webu,
  • citlivost anonymizovaných dat nebo osob, kterých se data týkala, a motivaci cizích osob je deanonymizovat.

Je proto vhodné udělat analýzu rizik deanonymizace podle výše uvedených kategorií. Pokud vyjde, že data by teoreticky mohla být deanonymizována, ale stálo by to tolik času, peněz a nepřiměřeného úsilí, a nemyslíte si, že by o to někdo měl zájem, můžete je považovat za anonymizovaná.

Stačí tedy získat nebo vytvořit dataset, který s přiměřenou pravděpodobností není možné deanonymizovat. Tedy ne úplně nemožné. A můžete začít trénovat své algoritmy.

Nejlepší anonymizační techniky

GDPR i většina podobných předpisů EU obsahuje tzv. performativní pravidla. Ta určují, jaký výsledek máte dosáhnout, ale neříkají, jak toho dosáhnout.

Pojďme si zmínit alespoň některé z doporučených technik. Žádná z nich sama o sobě není dostatečnou zárukou anonymizace, proto je vhodné je kombinovat, případně použít je co nejvíce.

Samozřejmě, konkrétní typ zvolené techniky vždy záleží na tom, co s anonymizovanými daty potřebujeme dělat.

Maskování

Maskování je jednoduchá technika, která je spíše doplňkem ostatních efektivnějších metod a měla by být jejich nezbytnou součástí. Spočívá v odebrání zjevných identifikátorů z databáze, jako jsou jména, příjmení, bydliště atd. Sama o sobě však nepředstavuje anonymizaci, protože ve většině případů mohou zbývající identifikátory pohodlně stačit k identifikaci konkrétních osob.

Když už máme v prvním kroku maskovaná data, můžeme pokračovat dále.

Randomizace

Randomizace představuje techniku anonymizace, v rámci které se data upraví tak, že se tím přeruší propojení mezi osobou a daty, aniž by se snížila hodnota dat.

Tato úprava může zahrnovat doplnění náhodných dat (tzv. noise addition) nebo drobné náhodné změny tak, aby se propojení mezi osobou a jejími daty přerušilo.

Příklad: Pokud máme dataset osob s určitou výškou, můžeme ke každému doplnit nebo odebrat pár centimetrů z výšky. Ve výsledku poměr výšky jednoho k druhému zůstane zachován, ale nelze už najít mezi nimi osobu s určitou výškou, protože tato již bude patřit někomu jinému nebo se v databázi vůbec nenachází.

Tip: K nahrazení skutečných dat fiktivními můžete použít například Python knihovnu pro generování falešných údajů, tedy nástroj používaný speciálně pro anonymizaci datasetů.

Samostatným podtypem randomizace je permutace, kdy skutečné údaje patřící určitým osobám „posouváme“ mezi nimi tak, že se ztratí spojení mezi osobou a skutečným údajem.

Příklad: Pokud máme stejný dataset osob s určitou výškou, tyto výšky jen promícháme tak, aby určitá osoba A s výškou 167 cm byla po permutaci osobou A s výškou 185 cm. Tak můžeme pracovat se skutečnými daty o výskytu určité výšky, ale ztratí se propojení s původní osobou.

Generalizace

Tato technika zahrnuje redukci přesných dat, pokud nejsou potřebná. V zásadě se odebere konkrétní hodnota a daný subjekt nebo informace se zařadí do určité skupiny. Tímto způsobem bude určitý atribut sdílen s více lidmi v dané skupině.

Příklad: Pokud pracujeme s databází lidí, kteří mají určitý věk, výšku a původ určený městem, můžeme z nich vytvořit skupiny od – do, tedy rozdělení lidí:
– podle věku, např. 16–25, 26–35, 36–45 atd.;
– spolu se skupinou podle výšky, např. 166–175 cm, 176–185 cm, 186–195 cm atd.;
– s lokalizací podle okresu, kraje nebo jiné geografické oblasti místo konkrétního města.

I v tomto případě je třeba být opatrný. Pokud máme osobu s nezvyklou výškou, např. 205 cm, nebo váhou, řekněme 185 kg v určitém městě, a město nahradíme okresem nebo krajem, stále je vysoká pravděpodobnost její identifikovatelnosti, hlavně pokud ani ve větším geografickém prostoru není více osob s takto nadprůměrnou výškou.

Využití pravděpodobnosti

Pokud pracujete s dokumenty s osobními údaji, které vytvářejí uživatelé například i ve vaší aplikaci, a chcete je anonymizovat, můžete vypočítat pravděpodobnost, s jakou se některé sekce nebo určitý obsah v dokumentech opakují. Také pravděpodobnost, jak často se opakují určité chyby nebo chybné vzorce při jejich tvorbě. A tyto následně využít při tvorbě upravených (anonymizovaných) dokumentů.

Pokud navíc zamaskujete kontaktní údaje falešnými (viz Python knihovnu výše), případně nahradíte i další údaje tímto způsobem, jste na nejlepší cestě k anonymizovaným údajům.

Pamatujte, že žádná anonymizační technika není 100 % spolehlivá. To však ani nepotřebujete. Nezapomeňte zohlednit výše uvedená kritéria a pokud zjistíte, že vámi použité techniky jsou jen s velkými náklady prolomitelné, je velká šance, že jste mimo GDPR.

Nezapomeňte respektovat soukromí ostatních stejně, jako vy očekáváte respekt k tomu svému.

Tento obsah má pouze informační charakter.