Mahzen
Güvenlik mimarisi

Parolalarınızı biz de göremeyiz.
İşte nedeni.

Mahzen "güvenli" demekle yetinmez; ne yaptığını anlatır. Aşağıda ana parolanızın tarayıcınızdan neden hiç çıkmadığını, ekip paylaşımının nasıl çalıştığını ve sunucunun neyi görüp neyi göremediğini adım adım bulacaksınız.

1
Ana parola → anahtarTarayıcıda Argon2id (WASM, 64 MiB bellek maliyeti) ile ana parolanızdan bir kök anahtar türetilir. Parola hiçbir istekle sunucuya gitmez.
2
HKDF ile alt anahtarlarKök anahtardan HKDF-SHA256 ile ayrı amaçlı anahtarlar üretilir: kimlik doğrulama ve kasa şifreleme aynı anahtarı paylaşmaz.
3
Kasa şifrelemeHer kasanın kendi AES-256-GCM anahtarı vardır. Kayıtlar tarayıcıda şifrelenir; sunucuya yalnız ciphertext ve rastgele nonce gider.
4
Ekiple paylaşımKasa anahtarı, üyenin RSA-OAEP-2048 açık anahtarıyla sarmalanır. Yalnız o üyenin tarayıcısındaki özel anahtar açabilir; üye çıkınca kasa anahtarı döndürülür.

Sunucu ne görür, ne görmez?

VeriSunucudaTarayıcıda
Ana parolaHiçbir zamanYalnız oturum süresince bellekte
Kayıt içerikleri (kullanıcı adı, parola, not)AES-256-GCM ile şifreli blobÇözülmüş hâli, yalnız kasa açıkken
Kasa anahtarlarıÜye başına RSA ile sarılmışÖzel anahtarla çözülür
Kullanıcı e-postası, kasa adları, üyeliklerAçık (yetkilendirme için gerekli)
TOTP gizli anahtarlarıKayıt içeriğiyle birlikte şifreliKod tarayıcıda üretilir
Sızıntı kontrolü (HIBP)Yok; parola özeti bize de gitmezSHA-1'in ilk 5 karakteriyle k-anonimlik sorgusu
Dürüst not: Meta veriler (kim, hangi kasaya, ne zaman erişti) yetkilendirme ve denetim günlüğü için sunucuda tutulur. Şifrelenen, kayıtların içeriğidir.

Hesap ve oturum güvenliği

İki adımlı doğrulama

Hesap girişinde TOTP (RFC 6238) desteklenir. Kasa içindeki TOTP kayıtları da şifreli saklanır ve kodlar tarayıcıda üretilir.

Hız sınırı ve kilitleme

Giriş, davet ve paylaşım işlemleri IP ve hesap bazında hız sınırına tabidir; hatalı denemeler kaydedilir.

Şifreli yedek (.mzbak)

Kasanızı dilediğiniz an tek dosya olarak dışa aktarırsınız. Dosya, ana parolanızdan türetilen anahtarla şifrelidir; Mahzen'e bağımlı kalmazsınız.

Tarayıcı ve taşıma güvenliği

Tüm trafik HTTPS + HSTS; sayfalar Content-Security-Policy ile yalnız kendi kaynağından betik yükler. Şifreleme WebCrypto API ve argon2 kütüphanesiyle yapılır.

Sık sorulanlar

Ana parolamı unutursam ne olur?

Kurtaramayız. Sıfır bilgi mimarisinde ana parola hiçbir zaman sunucuya gitmez; onu bilmeyen hiç kimse (biz dahil) verinizi çözemez. Bu yüzden kasa sahibi için kurtarma anahtarı üretip güvenli bir yerde saklamanızı isteriz.

Sunucu ele geçirilirse parolalarım açığa çıkar mı?

Hayır. Sunucuda yalnız şifreli veri (ciphertext) ve açık anahtarlar bulunur. Çözmek için tarayıcınızda Argon2id ile türetilen anahtar gerekir; o anahtar cihazınızdan çıkmaz.

Ekip arkadaşıma bir parolayı nasıl güvenle veriyorsunuz?

Her kasanın kendi AES-256-GCM anahtarı vardır. Bir üye eklendiğinde kasa anahtarı o üyenin RSA-OAEP-2048 açık anahtarıyla şifrelenir; yalnız onun tarayıcısındaki özel anahtar açabilir. Üye çıkarıldığında kasa anahtarı yenilenir.

HaveIBeenPwned kontrolünde parolam dışarı gidiyor mu?

Hayır. k-anonimlik yöntemiyle parolanın SHA-1 özetinin yalnız ilk 5 karakteri sorgulanır; eşleşme kontrolü tarayıcınızda yapılır.

Mahzen açık kaynak mı, denetlendi mi?

Kod tabanı Tuma Bilişim tarafından geliştirilir; bağımsız dış denetim henüz yapılmadı. Şifreleme, standart WebCrypto ve argon2 kütüphaneleriyle uygulanır; bu sayfada mimariyi olduğu gibi anlatıyoruz, sorularınız için bize yazın.

Mimariyi kendiniz görün

Demo hesabında bir kayıt oluşturun, tarayıcının ağ sekmesinde sunucuya giden verinin şifreli olduğunu izleyin.

Demoyu aç   Ekibinizle başlayın