Bezpečnostní principy a šifrování dat velkých jazykových modelů

1. Základní bezpečnostní principy

  1. Minimalizace dat – neukládáme nic, co asistent skutečně nepotřebuje k funkci.
  2. Oddělení tajemství – API klíče, hesla, přístupové tokeny nikdy nejsou tvrdě v kódu, ale ve Secrets/Vault.
  3. Šifrování „in transit“ – veškerá komunikace přes TLS 1.2+ (HTTPS, mTLS tam, kde můžeme).
  4. Šifrování „at rest“ – disky (cloud storage, DB) šifrované (AES‑256).
  5. Jemnozrnná kontrola přístupu – role, policy, princip nejmenších oprávnění.
  6. Audit & detekce – logujeme přístup k citlivým sloupcům, klíčům, exportům.
  7. Rotace a expirace – klíče a tokeny mají definovanou životnost, automaticky rotujeme.

2. Co konkrétně „šifrujeme“

VrstvaPříklad citlivých datOpatření
Databáze / úložištěe‑maily, objednávky, zákaznické poznámkyTransparentní šifrování disku + sloupcové/field‑level šifrování (např. email_hash)
Prompt / kontextInterní dokumenty, smlouvy, cenové kalkulacePseudonymizace, maskování entit před odesláním do modelu
Logy a monitoringChybové zprávy s identifikátoryScrubování (regex, DLP), tokenizace před uložením
ZálohyDump databázeŠifrování před uložením (age / GPG / KMS wrap)
Dočasné cacheEmbeddings, odpovědiŠifrovaný cache store (např. Redis TLS + AOF na šifrovaném disku)

3. Postup implementace (praktický checklist)

A. Kategorizace dat

  • Seznam tabulek / polí → štítek: public / internal / confidential / restricted.
  • Vymezíme, co vůbec může do AI modelu (whitelist).

B. Šifrování klíčových polí

  • Column/Field level: citlivé hodnoty (např. email, phone, iban) ukládáme jako:
    • value_encrypted (AES‑GCM)
    • value_hash (SHA‑256 se salt) pro vyhledávání rovností.
  • Keys drží KMS (AWS KMS / GCP KMS / Azure Key Vault). Aplikace nikdy „netvrdí“ master key.

C. Pseudonymizace & maskování do promptu

  • Před sestavením promptu běží pipeline:
    1. NER / regex filtry (e‑maily, čísla objednávek, osobní údaje).
    2. Nahrazení placeholderem (např. <<OBJEDNAVKA_123>>).
    3. Mapovací tabulka držena lokálně (neposílá se ven).
  • Po odpovědi reverzní substituce – jen tam, kde je to povoleno.

D. Přenos & API volání

  • Vynucené TLS, kontrola certificate pinning (pro interní služby).
  • Žádné citlivé hodnoty v URL query parametrech (pouze v těle POST).

E. Secrets management

  • Vault (HashiCorp / cloud secrets).
  • Politika: žádný „secret“ ve verzovacím systému. Pre-commit hook to kontroluje.
  • Rotace: definováno v CI pipeline (např. měsíčně / při incidentu okamžitě).

F. Logging / Monitoring

  • Před uložením logů anonymizujeme PII (Data Loss Prevention filtr).
  • Oddělené logy pro přístup k dešifrovací funkci (security feed).
  • Alerty při anomáliích (neobvyklý objem dešifrování).

G. Zálohy & exporty

  • dump.sql → okamžitě pipeline šifruje symetricky → klíč zabalen KMS.
  • Přenášení záloh jen přes zabezpečené kanály (SFTP/TLS, žádný e‑mail).

H. Testy & ověřování

  • Unit test: de/encrypt funguje, chyby se logují bez plaintextu.
  • Penetrační test: zkouší získat klíče z runtime (by design impossible bez role).
  • Chaos test: expirovaný klíč → aplikace musí bezpečně obnovit z KMS.

4. Typy šifrování a kdy je použít

TypKdyPoznámka
AES‑256 (GCM) symetrickéPole, soubory, zálohyGCM = autentizace integrity
TLS 1.3Přenos datDefault – žádné fallbacky na zastaralé šifry
Hash (SHA‑256 + salt/pepper)Vyhledávání rovnosti (email)Není dešifrovatelné, jen porovnání
Deterministic encryption (AEAD)Potřebuješ GROUP BY / JOINPozor na pattern leakage
Format‑preserving (FPE)Čísla karet, strukturované kódyMinimalizuje úpravy schématu

5. Pseudonymizace vs. anonymizace

  • Pseudonymizace: lze zpětně převést (máme mapu) – potřebné pro operace.
  • Anonymizace: nevratné – používáme pro analytické agregace, trénink, benchmarking.

6. Co dát do marketingové věty (shrnutí)

„Řídíme přístupy, šifrujeme data na disku i v přenosu, citlivá pole pseudonymizujeme a vše auditujeme.“


7. Nejčastější chyby (čemu se vyhnout)

ChybaProč je problém
Ukládání plaintextu v logu nebo chybové stránceLeak PII při incidentu
Sdílené dlouhožijící API klíčeNemožná atribuce & rotace
Šifrování bez řízení přístupu ke klíčůmÚtočník s přístupem k app serveru vše dešifruje
Hard‑coded secrets v repozitářiRiziko úniku přes fork / backup
Neřešení záloh„Backdoor“ k datům v nešifrované podobě

8. Rychlý „MVP“ postup (pokud začínáš dnes)

  1. Zapni šifrování storage (managed DB) + TLS vynucení.
  2. Inventarizuj citlivá pole, přidej hash/enc sloupce.
  3. Zaveď Vault a migruj secrets.
  4. Přidej maskování do prompt pipeline.
  5. Přidej audit logy dešifrování a alerty.
  6. Naplánuj rotaci klíčů & review každého čtvrt roku.

VM

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *