Ana içeriğe geç
DLP · 4 dk okuma

Deterministic Masking — Aynı TC Her Seferinde Aynı Maskeli

Deterministic masking nedir, neden DLP'de tercih edilir? Forensic değer + KVKK uyumu dengesi.

Yazar: Mehmet Özbakır

DLP’de bir TC kimlik numarası maskeleme yapılırken aynı TC her zaman aynı sonuçla maskelensin mi? Bu basit görünen tercih aslında DLP felsefesini tanımlar.

İki yaklaşım:

  • Deterministic: aynı input → aynı output (her zaman)
  • Random/Non-deterministic: aynı input → her seferinde farklı output

VeritaDLP deterministic yaklaşımı seçer. Bu yazıda nedenini anlatıyoruz.

Random masking örneği

İlk olay:  TC: 12345678901 → TC: ABC***DEF
İkinci olay: TC: 12345678901 → TC: XYZ***QRS

Her olayda farklı maskeli karakter. Maksimum gizlilik — aynı kişi 2 olay arasında bağlanamaz.

Pro:

  • KVKK Madde 4 (veri minimumda) en sıkı yorumu
  • Forensic analist bile kişiyi takip edemez

Kontra:

  • Forensic değer sıfır — pattern analiz yapılamaz
  • “Bu kullanıcı bugüne kadar kaç kez TC sızdırdı?” sorusu cevapsız
  • KVKK denetiminde “olay tarihçesi” zayıf

Deterministic masking örneği

İlk olay:  TC: 12345678901 → TC: 123******01
İkinci olay: TC: 12345678901 → TC: 123******01

Aynı sonuç her zaman. 2. olayda analist “aynı kişi” diye fark eder.

Pro:

  • Forensic pattern analizi mümkün
  • Kullanıcı bazlı risk skoru (aynı TC 5 kez sızdırılmış)
  • KVKK denetiminde “olay tarihçesi” zengin
  • Audit log’da olay korelasyonu

Kontra:

  • Kimlik takibi mümkün — KVKK açısından tartışılır
  • Forensic analist bilinçli kötü niyet kullanırsa kişi tanınabilir

VeritaDLP 2. yaklaşımı seçti — forensic değer KOBİ için kritik.

Teknik implementasyon

Deterministic mask basit kural set:

def mask_tc(tc: str) -> str:
    """Aynı TC her zaman aynı mask → ilk 3 + son 2."""
    return tc[:3] + "*" * 6 + tc[-2:]

mask_tc("12345678901") == "123******01"  # her zaman

Hashing değil — basit dönüşüm. Bu kasıtlı:

  • Cryptographic hash (SHA256) yapsak: aynı input aynı output (det), ama 64 char hex çıktısı forensic’te işe yaramaz
  • Format-preserving encryption: anahtara bağlı, anahtar sızarsa geri çevrilebilir

Basit pattern-mask hem deterministic hem format-preserving.

KVKK aydınlatma metninde belirtilir

Deterministic mask’in kimlik takip riski olduğu için KVKK aydınlatma metninde net açıklanır:

“VeritaDLP DLP yazılımı tespit ettiği TC kimlik, IBAN, kredi kartı gibi hassas verileri kısmi maskeleme (partial masking) ile kaydeder. Aynı veri farklı olaylarda aynı maskeli görüntü ile kaydedilir (deterministic masking). Bu durum:

  • Olayların bağlamsal forensic analizi için gereklidir
  • Kişiyi tanımlamak için yeterli bilgi içermez
  • KVKK Madde 4 (veri minimumda) prensibi gözetilir

Forensic analist olaylar arasında pattern arayabilir ama maskelenen verilerden gerçek kimliği elde edemez. Bu kasıtlı bir tradeoff’tur — şirket güvenliği için forensic değer korunur.”

Bu metin VeritaDLP’de hazır şablon.

Forensic değer örneği — gerçek senaryo

Bir şirkette 3 ayrı olay:

Olay 1 (Pazartesi 14:00): Çalışan Ahmet, USB’ye dosya kopyaladı. TC mask: 123******01.

Olay 2 (Çarşamba 09:30): Aynı çalışan, e-posta gönderdi. TC mask: 456******02.

Olay 3 (Cuma 18:00): Aynı çalışan, yazıcı çıktısı aldı. TC mask: 123******01 ve 789******03.

Forensic analist:

  • Olay 1 + 3 — aynı 123******01 TC görünüyor → muhtemelen aynı müşteri verisi
  • Olay 2 farklı TC → farklı müşteri
  • Çalışan Ahmet’in 1 hafta içinde 3 müşteri verisi sızdırma denemesi

Pattern ortaya çıkar. Random mask olsaydı analist bunu hiç göremezdi.

Strict Privacy Mode — opsiyon

Bazı tenant’lar “deterministic risk istemiyorum” diyebilir. Strict Privacy Mode seçeneği:

  • Mask kaydedilmiyor (masked summary tamamen disabled)
  • Sadece PII sayım kaydedilir (“TC: 47, IBAN: 12 tespit edildi”)
  • Olay olduğu bilinir ama içerik yok

Tenant ayarı content_summary.mode:

  • masked (default) — partial visibility + deterministic
  • disabled — Strict Privacy Mode

KOBİ %95 default’u kullanır. Hassas sektör (avukat, sağlık özel kategori) disabled tercih edebilir.

Hash + salt yaklaşımı (alternatif)

Bazı DLP’ler hash + tenant salt kullanır:

mask = sha256(tc + tenant_salt)[:16]

Pro:

  • Tek yönlü (cryptographic)
  • Format-preserving değil ama “fake ID” üretir

Kontra:

  • 16 char hex çıktısı (a3f5c7d2b1e89f04) forensic’te insan okumaz
  • KVKK aydınlatma metninde anlatımı zor

VeritaDLP basit pattern-mask tercih eder — insan okur, deterministic, KVKK uyumu kolay anlatım.

Cross-tenant mask paylaşılmaz

Önemli not: deterministic mask tenant’a özel.

Tenant A: 12345678901 → 123******01
Tenant B: 12345678901 → 123******01 (rastlantı, aynı şablon)

Ama Tenant A operatörü Tenant B operatöründe aynı sonucu görse bile verisi paylaşılmıyor — sadece deterministic mask kuralı aynı. Şablon evrensel, içerik tenant izole.

KVKK için bu kritik: tenant’lar arası veri sızıntısı yok.

Yaygın yanılgı

“Deterministic mask = veri açıklanıyor”

Yanlış. Deterministic mask sadece aynı veri aynı şablonla gösteriliyor demektir. Maskeli haline bakarak gerçek değeri hesaplamak imkansız — orta 6 hane belirsiz, 1 milyon olası TC vardır.

Brute force yapmak isteyen birinin 10^6 = 1 milyon TC denemesi gerek, bu da pratik değil (KVKK Kurulu denetiminde de net).

Sonuç

Deterministic masking — forensic değer + KVKK uyumu dengesinde optimal seçim. Kişi tanınamaz ama olay pattern analizi mümkün. KOBİ DLP’leri için doğru tercih.

VeritaDLP deterministic + partial visibility default kullanır. Strict Privacy Mode opsiyon olarak sunulur (hassas sektör için).

Etiketler: #deterministic-masking #dlp #kvkk #forensic

İlgili yazılar

Yeni rehberler için kaydolun

Ayda en fazla 2 e-posta. KVKK rehberleri, ürün güncellemeleri ve vaka çalışmaları. Tek tıkla iptal.

Double opt-in: kaydolduktan sonra e-postanıza onay bağlantısı gönderilir. Bağlantıya tıklayana kadar listeye eklenmezsiniz. KVKK Madde 11 başvuruları: dpo@veritadlp.com .