mirror of
https://github.com/yusufipk/dead-man-switch-2.0.git
synced 2026-09-11 09:26:07 +00:00
feat: phase 4 completed
This commit is contained in:
+26
-6
@@ -18,16 +18,18 @@
|
||||
- [x] Mesaj düzenleme/silme
|
||||
- [x] IDOR güvenlik açığı düzeltildi
|
||||
|
||||
### Faz 3: Dosya Yükleme (R2) 🔲
|
||||
### Faz 3: Dosya Yükleme (R2) ✅
|
||||
- [x] Cloudflare R2 entegrasyonu
|
||||
- [x] Dosya upload/download API
|
||||
- [x] Dosya listeleme UI
|
||||
|
||||
### Faz 4: Client-side Encryption 🔲
|
||||
- [ ] Web Crypto API wrapper
|
||||
- [ ] Encrypt/decrypt utilities
|
||||
- [ ] Şifreli mesaj oluşturma akışı
|
||||
- [ ] Decrypt sayfası (alıcı için)
|
||||
### Faz 4: Client-side Encryption ✅
|
||||
- [x] Web Crypto API wrapper
|
||||
- [x] Encrypt/decrypt utilities
|
||||
- [x] Şifreli mesaj oluşturma akışı
|
||||
- [x] Decrypt sayfası (alıcı için)
|
||||
- [x] Şifreli mesaj düzenleme
|
||||
- [x] Dosya adı şifreleme
|
||||
|
||||
### Faz 5: Check-in & Cron 🔲
|
||||
- [ ] Check-in API endpoint
|
||||
@@ -54,6 +56,23 @@
|
||||
- [ ] Production deployment
|
||||
- [ ] Monitoring setup
|
||||
|
||||
### Sonradan Yapılacaklar
|
||||
1. Static Salt in Key Derivation
|
||||
- Severity: Medium
|
||||
- Location: src/lib/crypto.ts (Lines 13-13)
|
||||
- Line Content:
|
||||
|
||||
1 salt: encoder.encode("dead-man-switch-salt"),
|
||||
- Description:
|
||||
The deriveKeyFromPassword function uses a hardcoded, static salt ("dead-man-switch-salt") for all users and messages. In the event of a database compromise, this allows an attacker to
|
||||
perform mass rainbow table or dictionary attacks to crack passwords for all users simultaneously. A unique salt per encryption operation is required to force attackers to crack each
|
||||
password individually.
|
||||
- Recommendation:
|
||||
1. Generate a random, cryptographically secure salt (e.g., 16 bytes) for each new message or file encryption operation.
|
||||
2. Store this salt alongside the ciphertext (e.g., as a prefix to the encrypted string or in a separate database column).
|
||||
3. Update deriveKeyFromPassword to accept salt as a parameter.
|
||||
4. Update the encrypt and decrypt flows to pass this unique salt during key derivation.
|
||||
|
||||
## Tamamlanan
|
||||
- ✅ Teknoloji stack seçimi
|
||||
- ✅ Memory bank oluşturma
|
||||
@@ -61,6 +80,7 @@
|
||||
- ✅ Faz 1: Auth sistemi
|
||||
- ✅ Faz 2: Mesaj CRUD
|
||||
- ✅ Faz 3: Dosya Yükleme (R2)
|
||||
- ✅ Faz 4: Client-side Encryption
|
||||
|
||||
## Bilinen Sorunlar
|
||||
(henüz yok)
|
||||
|
||||
Reference in New Issue
Block a user