Skip to content

Şifreleme Detayları

PratikYedek zero-knowledge modelde çalışır: sunucu yöneticileri (Berhan dahil) dosya içeriğinizi hiçbir zaman göremez. Bunu sağlayan kriptografi mimarisi aşağıda.

Master parola → Master Key (Argon2id)

  1. Hesap oluşturma sırasında master parola belirlersiniz (hesap şifresinden ayrı)
  2. Argon2id algoritması ile parola → 32-byte master key türetilir
  3. Parametreler: iterations=3, memory=64MB, parallelism=4 (OWASP 2024 önerisi)
  4. Salt: hesap_id (KDF anti-rainbow attack)
  5. Master key sadece cihazınızda üretilir; sunucuya gönderilmez

Master parola kaybı

Master parola kaybı = veri kaybı. PratikYedek kurtarma garantisi vermez (zero-knowledge). Bu yüzden:

  • Master parolayı şifre yöneticisinde saklayın (1Password, Bitwarden)
  • Recovery key (24 kelime) basıp güvenli yere kaldırın
  • Kurumsal pakette SuperAdmin recovery opsiyonu var (ekip yönetiminde)

Dosya şifreleme (AES-256-GCM)

  1. Master key → HKDF-SHA256 ile dosya başına unique key türetilir
  2. Her dosya AES-256-GCM ile şifrelenir
  3. GCM modu: confidentiality + integrity (auth tag); manipulation tespit edilir
  4. IV (nonce): 96-bit random; her chunk için yeni IV
  5. Chunk size: 4 MB; büyük dosyalar parçalanır → her chunk ayrı şifreli

Kopia repository şifreleme

PratikYedek dahili olarak Kopia kullanır (content-addressed storage). Kopia repository AES-256-CTR-POLY ile şifrelidir; repository password:

  1. Master key → HKDF-SHA256 (info: kopia-repo-password.v1, length: 32B)
  2. Base64URL encode → 43 karakter
  3. Kopia repository init/connect'te kullanılır
  4. Cihaz başına aynı master parola → aynı repository password → cihazlar arası tutarlı

Detay: ADR-026 (browser Argon2id) + crypto package wire-format test.

Recovery key — 24 kelime

Master parola kaybına karşı:

  1. Hesap kurulumunda 24 kelime BIP39 mnemonic üretilir
  2. AES-256-GCM ile master key'in wrapped versiyonu sunucuda saklanır
  3. Recovery key → wrapped master key unwrap → erişim geri kazanılır
  4. Recovery key sunucuya gönderilmez; sadece wrap/unwrap için yerel kullanılır

Şifre güvenliği (server-side)

Master parola dışında, hesap şifresi ve diğer credentialler:

VeriSaklama
Hesap şifresibcrypt hash (plaintext yok; cost factor 12)
2FA TOTP secretencrypted-at-rest (server master key)
SMS OTPbcrypt hash (5 dk TTL)
OAuth token (BYOS)encrypted-at-rest, refresh rotation
Master parolaHİÇBİR YERDE SAKLANMAZ (sadece cihazda)

TLS — wire-level

Sunucu ile cihaz arası tüm trafik TLS 1.3 + Perfect Forward Secrecy. Cert: Let's Encrypt (auto-renew 60g). HSTS preload + CSP strict.

Algoritma seçimleri (özet)

AmaçAlgoritmaParametre
Parola → keyArgon2id3 iter / 64MB / 4 par
Dosya şifrelemeAES-256-GCM256-bit key, 96-bit IV
Key derivationHKDF-SHA256info per-use
Kopia repoAES-256-CTR-POLYKopia default
Hash (audit chain)SHA-256rolling hash
Şifre hashbcryptcost 12
TLSTLS 1.3PFS zorunlu

KVKK § 12 uyumu

KVKK Veri Güvenliği Tedbirleri Tebliği "şifreleme" zorunluluğu için PratikYedek:

  • ✅ Veri at-rest şifreli (AES-256-GCM)
  • ✅ Veri in-transit şifreli (TLS 1.3)
  • ✅ Veri in-use şifreli (memory-zeroing master key)
  • ✅ Algoritma OWASP/NIST güncel önerilerine uyumlu
  • ✅ Anahtarlar zero-knowledge (sunucu yöneticisi okuyamaz)

Sıkça sorulanlar

AES-256 mı, AES-128 mi yeter? AES-128 zaten 2050'lere kadar güvenli kabul ediliyor (NIST). PratikYedek AES-256 kullanır — kuantum sonrası geçiş için fazladan margin.

Quantum-resistant şifreleme var mı? Şu an yok. NIST PQC algoritmaları (Kyber, Dilithium) standardize oldu; Faz 5+ değerlendirilecek.

Şifreleme performans cezası ne kadar? AES-NI donanım hızlandırması ile modern CPU'da %2-5 yavaşlama. Argon2id parametreleri ilk login'de 2-3 saniye alır (kasıtlı yavaş — brute-force koruma).

Master parolamı değiştirmek istiyorum, dosyalar yeniden mi şifrelenir? Hayır. Master parola → master key türetiminin wrapped versiyonu güncellenir. Dosya şifreleme katmanı dokunulmaz (rotation pahalı olurdu). Master parola wrap key'in derivation source'udur.

KVKK + TTK + VUK uyumlu yedekleme platformu