Mi lenne, ha műveleteket végezhetnénk adatokon anélkül, hogy valaha is látnánk őket?
Ha egy felhőszolgáltató képes lenne betanítani egy modellt a titkosított orvosi leleteiden, anélkül, hogy egyetlen bájtnyi érzékeny információt is dekódolna? Ez nem sci-fi, hanem a homomorf titkosítás ígérete, amit sokan a kriptográfia „Szent Gráljának” tartanak!
Míg az egyesített tanulás a modellt viszi az adatokhoz, a homomorf titkosítás lehetővé teszi, hogy a titkosított adatokat vigyük a modellhez, megnyitva ezzel az adatvédelem egy teljesen új dimenzióját.
A homomorf titkosítás alapgondolata
A hagyományos titkosítási sémák (mint az AES vagy az RSA) egy alapvető korláttal rendelkeznek: ha műveletet akarsz végezni a titkosított adaton, először vissza kell fejtened.
Ez a visszafejtési lépés sebezhető pontot hoz létre, ahol a memóriában az adatok nyers formában léteznek. A homomorf titkosítás (Homomorphic Encryption, HE) ezt a problémát oldja meg azáltal, hogy lehetővé teszi bizonyos matematikai műveletek elvégzését közvetlenül a titkosított adatokon (ciphertext)!
A folyamat lényege, hogy ha van két titkosított értéked, enc(a) és enc(b), akkor elvégezhetsz rajtuk egy műveletet (jelöljük ⊕-szal), és az eredmény, enc(a) ⊕ enc(b), visszafejtve ugyanazt adja, mintha a műveletet az eredeti, nyers adatokon végezted volna el: decrypt(enc(a) ⊕ enc(b)) = a + b. Ez a tulajdonság teszi lehetővé a „vak” számításokat.
A homomorfia szintjei: A részlegestől a teljesig
A homomorf titkosítás nem egyetlen technológia, hanem egy spektrum. A különböző sémák abban térnek el, hogy milyen és mennyi műveletet támogatnak a titkosított adatokon.
- Részben Homomorf Titkosítás (Partially Homomorphic Encryption – PHE): Ezek a sémák egyetlen típusú művelet (vagy összeadás, vagy szorzás) tetszőleges számú elvégzését teszik lehetővé. Például a Paillier-kriptorendszer additívan homomorf, míg a „tankönyvi” RSA multiplikatívan. Egyszerűek és viszonylag gyorsak, de a képességeik korlátozottak.
- Valamennyire Homomorf Titkosítás (Somewhat Homomorphic Encryption – SHE): Ezek a rendszerek már mindkét műveletet (összeadást és szorzást) támogatják, de csak korlátozott számban. Minden művelet „zajt” ad a titkosított adathoz, és egy bizonyos zajszint felett a visszafejtés meghiúsul. Ez korlátozza a számítási kör „mélységét”.
- Teljesen Homomorf Titkosítás (Fully Homomorphic Encryption – FHE): Az FHE a végső cél. Lehetővé teszi az összeadások és szorzások tetszőleges kombinációját és számát. Ezt egy „bootstrapping” nevű zseniális, de számításigényes eljárással éri el, amely periodikusan „megtisztítja” a titkosított adatot a felgyülemlett zajtól, lényegében „újratitkosítva” azt.
| Tulajdonság | PHE (Részleges) | SHE (Valamelyest) | FHE (Teljes) |
|---|---|---|---|
| Támogatott műveletek | Csak összeadás VAGY csak szorzás | Összeadás és szorzás | Összeadás és szorzás |
| Műveletek száma | Korlátlan (egy típusból) | Korlátozott | Gyakorlatilag korlátlan |
| Kulcsmechanizmus | Egyszerűbb (pl. Paillier) | Komplex (pl. BGV, BFV) | Nagyon komplex, bootstrapping szükséges (pl. CKKS, TFHE) |
| Teljesítmény | Viszonylag gyors | Lassabb | Rendkívül lassú |
| Tipikus AI alkalmazás | Egyszerű aggregációk, titkosított szavazás | Egyszerűbb modellek (pl. lineáris regresszió) inferenciája | Bonyolultabb modellek inferenciája/tanítása (kutatási fázis) |
Homomorf titkosítás az AI Red Team szemével: Lehetőségek és buktatók
AI Red Teamerként a HE kétélű fegyver. Egyrészt rendkívül erős védelmi mechanizmus, ami megnehezíti a dolgunkat, másrészt a komplexitása és a jelenlegi korlátai új támadási felületeket nyitnak.
Az AI Vörös Csapat célpontjai (a gyengeségek)
- Teljesítmény és mellékcsatornák (Side-Channels): Az FHE műveletek nagyságrendekkel lassabbak, mint a nyers adatokon végzett társaik. Ez a lassúság önmagában információt szivárogtathat. Az AI Red Team elemezheti a számítási időt, a memóriahasználatot vagy az energiafogyasztást, hogy következtessen a titkosított adatokon végzett műveletekre (pl. egy elágazás melyik ága futott le), ami idővel az adatokra vonatkozó információt is felfedhet.
- Implementációs hibák: Az FHE könyvtárak (mint a Microsoft SEAL, a HElib vagy a TFHE) rendkívül bonyolultak. Egy apró hiba a paraméterek beállításában (pl. túl alacsony biztonsági szint, nem megfelelő zajbüdzsé) katasztrofális következményekkel járhat, és az egész sémát sebezhetővé teheti. Az AI Red Team feladata ezeket a konfigurációs hibákat felkutatni.
- Ciphertext mérete: A titkosított adatok jelentősen nagyobbak, mint a nyers adatok (akár több ezerszeresére is duzzadhatnak). Ez nemcsak a tárolást és a hálózati forgalmat terheli, de metaadat-analízisre is lehetőséget adhat.
- Funkcionalitásbeli korlátok: A jelenlegi FHE sémák alapvetően aritmetikai műveletekre (összeadás, szorzás) vannak optimalizálva. A nem polinomiális függvények (pl. ReLU aktivációs függvény egy neurális hálóban) közelítése bonyolult és pontatlan lehet, ami a modell teljesítményét rontja. Egy támadó kihasználhatja ezeket a pontatlanságokat.
Mire jó az AI-ban? (az erősségek)
A kihívások ellenére a HE forradalmasíthatja a biztonságos AI-t:
- Privacy-Preserving Machine Learning (PPML): Lehetővé teszi, hogy egy szolgáltató modellt tanítson vagy inferenciát végezzen a felhasználók adataiból anélkül, hogy valaha is hozzáférne a nyers adatokhoz. Ez ideális orvosi, pénzügyi vagy más érzékeny területeken.
- Biztonságos felhőalapú számítások: A vállalatok kiszervezhetik a számításokat a felhőbe anélkül, hogy megbíznának a felhőszolgáltatóban. A szolgáltató csak a titkosított adatokat látja, a számításokat elvégzi, és a titkosított eredményt küldi vissza.
- Biztonságos lekérdezések: Egy kliens titkosítva küldhet egy lekérdezést egy adatbázisnak, amely a teljes titkosított adatbázison végrehajtja a keresést, és csak a szintén titkosított találatot küldi vissza.
Gyakorlati betekintés: Pszeudokód egy egyszerű művelethez
Hogy kézzelfoghatóbbá tegyük a folyamatot, nézzünk egy egyszerű pszeudokódot, ami két titkosított szám összeadását mutatja be egy FHE könyvtár (pl. SEAL) logikája alapján.
# Pszeudokód a homomorf összeadáshoz
# --- Kliens oldalon ---
# 1. Kontextus és kulcsok generálása
params = FHE.Parameterek(biztonsagi_szint=128, ...)
kontextus = FHE.Kontextus(params)
kulcspar = FHE.KulcsGeneralas(kontextus)
nyilvanos_kulcs = kulcspar.nyilvanos
titkos_kulcs = kulcspar.titkos
# 2. Adatok titkosítása a nyilvános kulccsal
szam1_nyers = 10
szam2_nyers = 25
szam1_titkos = FHE.Titkosit(szam1_nyers, nyilvanos_kulcs)
szam2_titkos = FHE.Titkosit(szam2_nyers, nyilvanos_kulcs)
# A kliens elküldi a 'szam1_titkos' és 'szam2_titkos' adatokat a szervernek.
# --- Szerver oldalon ---
# 3. Művelet végrehajtása a titkosított adatokon
# A szervernek nincs hozzáférése a titkos kulcshoz!
eredmeny_titkos = FHE.Osszead(szam1_titkos, szam2_titkos)
# A szerver visszaküldi az 'eredmeny_titkos' adatot a kliensnek.
# --- Ismét a kliens oldalon ---
# 4. Az eredmény visszafejtése a titkos kulccsal
eredmeny_nyers = FHE.Visszafejt(eredmeny_titkos, titkos_kulcs)
# 5. Ellenőrzés
print(f"Az eredmény: {eredmeny_nyers}") # Várt kimenet: Az eredmény: 35
assert eredmeny_nyers == szam1_nyers + szam2_nyers
Erőteljes, de rétegelt eszköz
A homomorf titkosítás rendkívül ígéretes technológia, amely alapjaiban változtathatja meg, hogyan gondolkodunk az adatbiztonságról az AI korában. Ugyanakkor ez sem általános csodaszer.
A jelenlegi teljesítménybeli korlátok és a komplexitás miatt leginkább olyan speciális, magas kockázatú környezetekben alkalmazható, ahol az adatvédelem mindenek felett áll. AI Red Teamerként ismernünk kell a működését, hogy felismerjük a gyenge pontjait, és védekezőként pedig tudnunk kell, mikor és hogyan érdemes bevetni ezt a hatékony, de erőforrás-igényes eszközt.
Míg a HE azt a problémát oldja meg, hogy egy fél számításokat végezhessen egy másik fél titkosított adatain, felmerül a kérdés: mi történik, ha több, egymásban nem bízó fél szeretne közösen elvégezni egy számítást anélkül, hogy felfednék a saját bemeneti adataikat egymás előtt? Erre ad választ a következő fejezetben tárgyalt biztonságos többszereplős számítás (Secure Multi-Party Computation).