Şifre Yönetimi Temelleri: Master Password vs Cloud Sync
Şifre yönetimi iki temel stratejiye ayrılır. Master password yaklaşımında tek bir güçlü şifre tüm diğer şifreleri kilitler. Cloud sync ise şifrelerinizi şifreli halde buluta kaydeder ve cihazlar arasında senkronize eder. Hangisi daha güvenli? Cevap: ikisi de güvenli, ama farklı risk profilleri vardır.
Master password, AES-256 gibi güçlü şifreleme algoritmasıyla tüm şifreleri şifreler. Buluta hiçbir şey çıkmaz. Tüm veriler cihazınızda kalır.
Avantajları:
- Sızıntı riski minimumdir (veri bulutta değildir)
- İnternet bağlantısı gerekli değildir
- Tam kontrol sahibisiniz
Dezavantajları:
- Şifreyi unutursanız, verileri kurtaramıyorsunuz
- Cihazlar arası senkronizasyon manuel yapılmalıdır
- Bir cihazda şifre değişirse diğerlerine aktarmalısınız
Cloud sync, şifrelerinizi şifreli biçimde bulutta depolar. Master password bulutta tutulmaz; sadece şifrelenmiş veriler bulutta yatır. Anahtarlar cihazınızda kalır.
Avantajları:
- Cihazlar otomatik senkronize olur
- Yedek otomatiktir
- Yeni cihaza kolayca erişebilirsiniz
Dezavantajları:
- Bulut sağlayıcısı saldırıya uğrarsa risk vardır
- İnternet bağlantısı gereklidir
- Üçüncü tarafın koduna güvenmek zorundasınız
Master password yaklaşımını simüle edelim:
1from cryptography.fernet import Fernet2import os34# Master password'den anahtar türet5def create_key_from_password(master_password: str) -> bytes:6from cryptography.hazmat.primitives import hashes7from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF28import base64910salt = b'fixed_salt_12345' # Gerçekte random olmalı11kdf = PBKDF2(12algorithm=hashes.SHA256(),13length=32,14salt=salt,15iterations=100000,16)17key = base64.urlsafe_b64encode(kdf.derive(master_password.encode()))18return key1920# Şifre şifrele21def encrypt_password(master_password: str, password: str) -> str:22key = create_key_from_password(master_password)23cipher = Fernet(key)24encrypted = cipher.encrypt(password.encode())25return encrypted.decode()2627# Şifre çöz28def decrypt_password(master_password: str, encrypted: str) -> str:29key = create_key_from_password(master_password)30cipher = Fernet(key)31decrypted = cipher.decrypt(encrypted.encode())32return decrypted.decode()3334# Kullanım35master = "MyMasterPassword123!"36original_password = "facebook_sifrem_xyz"3738encrypted = encrypt_password(master, original_password)39print(f"Şifreli: {encrypted}")4041decrypted = decrypt_password(master, encrypted)42print(f"Çözülen: {decrypted}")Çıktı:
1Şifreli: gAAAAABl8x9k2k...[uzun string]2Çözülen: facebook_sifrem_xyzMaster password seçin eğer:
- Maksimum kontrol istiyorsanız
- Buluta güvenmiyorsanız
Cloud sync seçin eğer:
- Kolaylık önemliyse
- Birden fazla cihaz kullanıyorsanız
Gerçek uygulamalar (1Password, Bitwarden) ikisini birleştirir: Master password ile cloud'daki veriyi şifreler. Böylece güvenlik ve kolaylık bir arada olur.
0 yorum