Biztonsági architektúra

A LexTime adatvédelmi rétegeinek mérnöki leírása. A közérthető összefoglalót a főoldalon találod, ez az oldal a pontos technikai működést dokumentálja.

Borítékolt mező-titkosítás

Az érzékeny mezők (ügyfélnevek, e-mail címek, telefonszámok, ügy- és kapcsolattartó-adatok) nem nyers szövegként tárolódnak, hanem mezőnként hitelesített titkosítással: AES-256-GCM. A GCM hitelesítő címkéje az integritást is védi, a rejtjelezett érték észrevétlenül nem módosítható.

A kulcskezelés borítékolt: minden iroda (tenant) saját 256 bites adatkulcsot kap, amelyet egy, az adatbázison és a kódtáron kívül tárolt fő kulcs borítékol. Az irodánkénti kulcsból HKDF származtat két alkulcsot: egyet a titkosításhoz, egyet a kereső-indexhez. Adat és kulcs így fizikailag soha nincs egy helyen, és az irodák adatai kulcs-szinten is elkülönülnek.

Amit az iroda lát Kovács és Társa Ügyvédi Iroda Ami az adatbázisban van LTv1·9f3a1c77…b04e·GCM·e8d4…521a c9f0…7d2b A visszafejtéshez az iroda saját kulcsa kell, amely nem az adatbázisban van.
Algoritmus
AES-256-GCM, mezőnkénti véletlen nonce-szal, hitelesítő címkével.
Kulcs-hierarchia
Fő kulcs (adatbázison kívül) → irodánkénti 256 bites adatkulcs → HKDF-alkulcsok.
Izoláció
Irodánként külön kulcs: egy iroda kulcsa a másik iroda adatához matematikailag sem használható.

Vak index: keresés nyers szöveg nélkül

A titkosított mezőkre keresni is lehet, anélkül, hogy az adatbázis valaha nyers szöveget látna. A rendszer a normalizált értékből HMAC-SHA-256 kulcsolt lenyomatot (vak indexet) képez, és az egyezés-keresés ezen a lenyomaton fut. Az index kulcsa is irodánkénti, HKDF-fel származtatott alkulcs, így az index önmagában sem fejthető vissza, és irodák között nem vethető össze.

Jelszavak és munkamenet

A jelszavakat Argon2id memóriakemény hash védi, visszafejthető formában soha nem tárolódnak. Belépéskor a munkamenet-azonosító cserélődik (session fixation ellen), a munkamenet-cookie HttpOnly és SameSite=Lax beállítású, élesben Secure jelzővel. A tartós belépés (emlékezz rám) tokenje az adatbázisban csak hash-elve szerepel.

Belépés-védelem

Próbálkozás-korlát
Iroda + e-mail + IP hármasra: 5 hibás kísérlet után 15 perc zárolás.
Letiltott fiók
A letiltás kérésenként újraellenőrződik: az élő munkamenet is azonnal megszakad.
Jelszó-visszaállítás
64 hexjegyű véletlen token, az adatbázisban hash-elve, egyszer használatos, lejárattal.

Kérés-szintű védelem

Minden állapot-módosító (POST) kérést központi CSRF-védelem kapuz: token nélkül vagy hibás tokennel a kérés 419-cel elutasításra kerül. Minden erőforrás-hozzáférés iroda- és szülő-hatókörrel szűrt (IDOR ellen): egy tétel csak a saját irodáján és saját szülő-rekordján keresztül érhető el.

Content-Security-Policy
Szigorú forrás-lista: csak saját kiszolgáló és a nevesített betűtípus-/CDN-források.
HSTS
HTTPS kikényszerítése a böngésző szintjén.
Egyéb headerek
nosniff, X-Frame-Options: DENY, Referrer-Policy.

Kulcs-rotáció

Az irodánkénti kulcsok parancssori eszközzel rotálhatók: az újratitkosítás irodánként, tranzakcióban fut, éles módosítás előtt dry-run móddal ellenőrizhető. Rotáció után a régi kulccsal titkosított adat már nem olvasható, a folyamat az indexeket is újraképzi.

Kérek bemutatót