İçeriğe geç
Emin Akif Erzurumlu
Bütün çalışmalar

Şifre Kasam

Flutter ile çok kullanıcılı yerel şifre yöneticisi. Bilinen bir güvenlik kısıtı var ve bunu saklamıyorum.

Rol
Mobil geliştirme
Kapsam
Bireysel
Yıl
2026
Problem

Şifre yöneticilerinin çoğu bulut tabanlı. Tek cihazda kalan, internet bağlantısı gerektirmeyen ve aynı telefonu paylaşan birden fazla kişiyi destekleyen bir kasa yazmak istedim.

Yaklaşım
  • Flutter ve Dart ile tek kod tabanından mobil uygulama.
  • Kayıtlar cihazda SQLite (sqflite) veritabanında; hiçbir veri dışarı çıkmıyor.
  • Çok kullanıcılı yapı: her kullanıcının kayıtları kendi hesabına bağlı.
Bu projedeki işim

Bireysel proje, tamamı bana ait.

Sonuç

Kayıt ekleme, arama, düzenleme ve çok kullanıcılı erişim çalışıyor. Uygulama tamamen çevrimdışı.

Bilinen kısıt

Bu sürüm şifreleri SQLite veritabanında düz metin olarak saklıyor. Cihaza fiziksel veya root erişimi olan biri tüm kayıtları okuyabilir; yani uygulama bugün gerçek kullanım için uygun değildir. Planlanan çözüm: kullanıcının ana parolasından Argon2id ile anahtar türetip kayıtları AES-GCM ile şifrelemek.

Öğrendiğim

Bir şifre yöneticisinin tek işi şifreleri korumaktır; benim sürümüm bu işi yapmıyor. Bunu fark etmek, kendi kodumu bir saldırganın gözünden okumayı öğretti: "veritabanı cihazda kalıyor" ifadesi, cihaza erişen birinin veriyi okuyamayacağı anlamına gelmiyor. Tehdit modelini yazmadan güvenlik kararı verilemiyormuş.

Kullanılan

Flutter · Dart · SQLite · sqflite