LifeVeil dosyalarınızı nasıl korur
Bu sayfa, LifeVeil'in ne yaptığını ve ne yapamadığını sade bir dille anlatır. Fazla büyük bir söze güvenmenizdense sınırları bilmenizi tercih ederiz.
Kısaca
- Tüm şifreleme telefonunuzda gerçekleşir. LifeVeil sunucusu ve hesabı yoktur.
- Dosyalarınız rastgele bir anahtarla şifrelenir. Bu anahtarı yalnızca deseniniz, kurtarma ifadeniz veya parmak iziniz açabilir.
- Biz geliştiriciler, deseninize, ifadenize veya anahtarlarınıza hiçbir zaman sahip olmayız. Dosyalarınızı açamayız ve deseninizi sıfırlayamayız.
- Android'in yerleşik şifrelemesini ve tanınmış libsodium kitaplığını kullanırız. Kendi şifrelememizi yazmadık.
- LifeVeil henüz bağımsız bir güvenlik denetiminden geçmedi.
Desenden anahtara
5×5 bir ızgarada, en az 6 nokta kullanarak ve hiçbir noktadan iki kez geçmeden bir desen çizersiniz. LifeVeil, deseni libsodium kitaplığındaki Argon2id ile bir anahtara dönüştürür (Android'de 1.0.20 sürümü).
- Ayarlar: 64 MiB bellek, 3 geçiş, 1 şerit, 256 bit anahtar.
- Argon2id kasıtlı olarak yavaştır ve her tahmin için çok bellek gerektirir. Bu, ekran kartlarıyla tahmin yapmayı çok daha pahalı hâle getirir.
- Test telefonlarımızda bir kilit açma yaklaşık 0,6 ila 0,9 saniye sürer.
- Desen, rastgele 16 baytlık bir cihaz tuzu ile karıştırılır. Tuz uygulamada saklanır ve telefondan dışarı kopyalanamayan Android Keystore içindeki bir anahtarla şifrelenir.
- Desenin hiçbir kopyası saklanmaz. Uygulama bir deseni, anahtarı açmayı deneyerek kontrol eder.
- Arka arkaya 5 yanlış desenden sonra 30 saniye beklemeniz gerekir. Sonraki her hatada bekleme süresi iki katına çıkar, en fazla 16 dakikaya kadar.
Dosyalar nasıl şifrelenir
- Her kasanın rastgele 256 bitlik bir ana anahtarı vardır. Desen anahtarınız ve kurtarma anahtarınız yalnızca bu ana anahtarı "sarar" (şifreler).
- Dosyalar, küçük resimler ve öğelerinizin listesi (orijinal dosya adları, tarihler, boyutlar), Android'in yerleşik şifrelemesi kullanılarak AES-256-GCM ile şifrelenir. GCM, bir dosyanın değiştirilip değiştirilmediğini veya başkasıyla yer değiştirip değiştirmediğini de algılar.
- Uygulamadaki dosyaların adları rastgeledir. Büyük dosyalar 1 MiB'lık parçalar hâlinde şifrelenir; böylece videolar, depolama alanına hiçbir zaman şifresiz bir kopya yazılmadan oynatılır.
- JPEG fotoğraflarda gizli ayrıntılar (kamera ve tarih gibi EXIF bilgileri) ayrı olarak ve yine şifreli olarak saklanır.
- Uygulama kilitlendiğinde bellekte tuttuğu anahtarların üzerine sıfır yazar.
Kurtarma ifadesi
- Bir kasa oluşturduğunuzda telefonun güvenli rastgele sayı üreteci 9 İngilizce kelime seçer. Kelimeler, 1.024 yaygın kelimeden oluşan iki listeden, 4 sabit sıralamadan birine göre gelir. Bu, 92 bit rastgelelik demektir. Kelimeler, uygulamanın tüm dillerinde İngilizcedir.
- İfade aynı Argon2id ayarlarından geçer ve ana anahtarı tek başına açar. Cihaz tuzuna ihtiyaç duymaz; bu nedenle desen artık çalışmadığında bile çalışır.
- İfadenin bir kopyası telefonda iki kez şifrelenmiş olarak saklanır: bir kez ana anahtarla, bir kez de bir Android Keystore anahtarıyla. Deseninizi yeniden çizdikten sonra Ayarlar'da görebilirsiniz.
- Deseninizi değiştirdiğinizde veya yeniden girmek için ifadeyi kullandığınızda yeni bir ifade alırsınız. Eskisi artık çalışmaz.
Parmak izi
Parmak iziyle kilit açma isteğe bağlıdır. Parmak izini LifeVeil değil, Android kontrol eder; uygulama parmak izinizi hiçbir zaman almaz. Ana anahtarı, Android Keystore içinde yalnızca güçlü bir biyometrik doğrulamanın hemen ardından çalışan bir anahtar açar. Biri telefona yeni bir parmak izi eklerse bu anahtar çalışmayı bırakır ve deseninizi yeniden kullanmanız gerekir.
Yedek dosyası
- Bir yedek, tek bir
.lvbdosyasıdır. Öğelerinizi zaten şifrelenmiş oldukları hâliyle içerir; ayrıca ana anahtarın sarılmış iki kopyasını barındırır: biri yedeği oluştururken çizdiğiniz desen için, diğeri o sırada sahip olduğunuz kurtarma ifadesi için. - Desen kopyası, cihaz tuzu yerine her yedek için yeni bir rastgele tuz kullanır. Yedeği yeni bir telefonda açabilmenizi sağlayan budur.
- Dosyanın başlığı, değişiklikler veya yer değiştirmiş parçalar algılanacak şekilde korunur.
- Nereye kaydedeceğinizi Android'in kendi kaydetme ekranıyla seçersiniz. Dosya hiçbir zaman bizden geçmez.
- Geri yüklemek için dosyayı kendi deseniyle veya kendi ifadesiyle açın. Ardından yeni bir desen çizer ve yeni bir kurtarma ifadesi alırsınız.
Uygulamadaki diğer korumalar
- Ekran görüntüleri, ekran kaydı ve son uygulamalar listesindeki önizleme her ekranda engellenir.
- Varsayılan olarak uygulama, siz ondan çıkar çıkmaz kilitlenir. Bunun yerine 30 saniye veya 1 dakika seçebilirsiniz.
- Android'in kendi bulut yedeklemesi ve telefondan telefona aktarımı LifeVeil verilerini içermez. Bunun yerine yedek dosyasını kullanın.
- Uygulama konum, kişiler veya "tüm dosyalar" erişimi istemez.
- Yanlış desende boş kasa. Hiçbir kasayı açmayan bir desen, hata yerine boş bir kasa açar; böylece sizi uygulamayı açmaya zorlayan kişi başka ne olduğunu bilemez. Yanlış denemeler yine sayılır, davetsiz misafir fotoğrafları yine çekilir ve bekleme süreleri yine uygulanır. Bunu Ayarlar > Güvenlik > Yanlış desende boş kasa bölümünden kapatabilirsiniz.
Yapay zekâ ve desen tahmini
- Yapay zekâ matematiği atlayamaz. Her tahmin yine de 64 MiB bellekle Argon2id çalıştırmak zorundadır. Yapay zekâ Argon2id'yi veya AES'i kırmaz; dolayısıyla hiçbir tahmin daha ucuza gelmez.
- Yapay zekânın değiştirdiği şey tahminlerin sırasıdır. İnsanların sevdiği şekilleri (harfler, kareler, sık seçilen başlangıç köşeleri) öğrenip önce bunları deneyebilir. Omzunuzun üzerinden çekilmiş bir videodan veya ekrandaki parmak lekelerinden bir deseni okumaya da yardımcı olabilir.
- Bu yüzden savunmalar matematikle değil, desenle ilgilidir. Güç göstergesi yaygın şekiller konusunda uyarır. Desen + PIN 4–6 haneli bir PIN ekler; böylece videoda görülen bir desen yetmez. Desen çizgisini gizle çekilecek bir çizgi bırakmaz. Android Keystore içindeki cihaz tuzu, telefon dışında tahmin yapılmasını engeller.
Bilmeniz gereken sınırlar
Hiçbir uygulama her şeye karşı koruma sağlayamaz. LifeVeil'in dürüst sınırları şunlardır.
Basit desenler tahmin edilebilir
Kısa veya yaygın şekiller (bir L, bir Z, düz bir çizgi) sizi izleyerek, ekrandaki lekelerden veya birkaç denemede tahmin edilebilir. Gerçek desenleri tahmin etmek, olası desen sayısının düşündürdüğünden çok daha kolaydır. Daha fazla nokta ve daha fazla dönüş kullanın. Uygulama çok basit desenler konusunda sizi uyarır.
Tahmin ne kadar sürebilir
Uygulamanın içinde her deneme yaklaşık bir saniye sürer ve 5 hatadan sonra bekleme süreleri uzar. Ancak yedek dosyanızı ele geçiren veya cihaz tuzunu root yapılmış bir telefondan almış biri, tahminleri bekleme olmadan bir bilgisayarda yapabilir. Argon2id bunu yavaşlatır, ancak bir desenin olasılıkları uzun bir parolanınkinden çok daha azdır. Saniyede yaklaşık 1.000 tahmin yapan tek bir üst düzey ekran kartı (RTX 4090 sınıfı) için kaba tahminler:
| Tahmin edilen | Olasılık sayısı | Süre, tek ekran kartı |
|---|---|---|
| En yaygın 10.000 desen | 104 | yaklaşık 10 saniye |
| 6 noktalı tüm desenler | 1,28 × 108 | yaklaşık 1,5 gün |
| 7 noktalı tüm desenler | 2,42 × 109 | yaklaşık 28 gün |
| 8 noktalı tüm desenler | 4,36 × 1010 | yaklaşık 1,4 yıl |
| Kurtarma ifadesi (92 bit) | 4,95 × 1027 | yaklaşık 1,6 × 1017 yıl |
Bunlar ölçüm değil, tahmindir. Desen sayıları üst sınırlardır; gerçek desenler çok daha azdır. Daha fazla veya daha hızlı donanım, tahmini orantılı olarak hızlandırır.
Yedek dosyanızı gizli tutun
Yedek dosyası cihaz tuzunu içermez; bu nedenle onu ele geçiren herkes, yukarıda gösterildiği gibi desenleri çevrimdışı deneyebilir. Dosyayı yalnızca sizin erişebildiğiniz bir yerde, örneğin kendi bulut hesabınızda saklayın ve daha uzun bir desen kullanın.
Root yapılmış veya virüslü telefonlar
Biri uygulamanın izinleriyle kod çalıştırabiliyorsa (örneğin root yapılmış bir telefonda veya tam denetime sahip kötü amaçlı bir yazılımla), cihaz tuzunu açıp çevrimdışı tahmin yapabilir. Kasa açıkken anahtarlar bellektedir ve root erişimiyle veya bir hata ayıklayıcıyla okunabilir. Android ve Flutter içinde oluşturulan bazı kopyalar ile ekranda gösterilen fotoğraflar bellekten hemen silinemez.
Bazı bilgiler görünür
Uygulamanın depolama alanındaki şifreli dosyaların sayısı, yaklaşık boyutları ve ne zaman oluşturulup değiştirildikleri gizlenmez. LifeVeil'in yüklü olduğu da gizlenmez.
Boş kasa yalnızca ekranı kandırır
Uygulamanın dosyalarını okuyabilen biri (örneğin rootlu bir telefonda) kasa klasörlerini sayabilir ve bu ayarın açık olduğunu görebilir. Ayrıca 5 yanlış desenden sonra uygulama sizi bekletir; bu da önceki desenlerin hiçbir şey açmadığını gösterir.
Kılık yalnızca ana ekranı değiştirir
- Yalnızca başlatıcıdaki simge ve ad değişir. Telefonun Ayarlar > Uygulamalar listesi, uygulama bilgileri ve depolama ekranları yine LifeVeil'i gösterir.
- Ekran okuyucular yine de "LifeVeil" diyebilir. Örneğin Samsung One UI başlatıcısı TalkBack'e gerçek uygulama adını verir ve uygulama bunu değiştiremez.
- Android'in paylaşım menüsü her zaman gerçek uygulama adını gösterir; bu nedenle simgeyi değiştirdiğinizde LifeVeil bu menüden çıkar. Yeniden açabilirsiniz.
- Android izin istekleri gerçek adı gösterir; bu nedenle uygulama, siz simgeyi değiştirmeden önce izinleri ister.
- Simge değiştirilmişken uygulama bildirim göndermez.
- Kılık kodu (4 ila 8 hane) yalnızca kilit ekranını gösterir. Dosyalarınızı açmaz. Tuzlanmış bir karma değer olarak saklanır, ancak olasılıklar bu kadar az olduğundan dosyayı ele geçiren biri kodu kolayca bulabilir.
Parmak izi daha zayıf bir yoldur
Parmak iziyle kilit açma Argon2id'yi atlar. Gücü, telefonunuzun parmak izi sensörüne ve Android Keystore'a bağlıdır. Ayarlar'dan istediğiniz zaman kapatabilirsiniz.
Davetsiz misafir fotoğrafları
Uygulama deklanşör sesi çalmaz, ancak Japonya ve Kore gibi bazı ülkelerde satılan telefonlar her zaman çalar. Başka bir uygulama kamerayı kullanıyorsa veya ön kamera yoksa fotoğraf çekilmez. Oluşturduğunuz ilk kasanın kilidini açana kadar fotoğraflar bir Android Keystore anahtarıyla mühürlenir.
Fotoğraf ayrıntıları
- HEIC, PNG ve WebP fotoğraflarda gizli ayrıntılar (EXIF) dosyanın içinde kalır. Dosyanın tamamı yine şifrelenir.
- Android 10 ve sonraki sürümlerde Android, LifeVeil'in okuduğu fotoğraflardan GPS konumunu kaldırır, çünkü uygulama konum erişimi istemez. Orijinal galeriden silindiğinde bu konum bilgisi de yok olur.
- Android'in fotoğraf seçicisiyle eklenen fotoğraflar, seçici orijinal adı vermediği için tarihe dayalı yeni adlar alır.
Sistem ekranları sırasında kilitleme duraklatılır
Bir sistem ekranı açıkken (izin isteği, silme onayı, fotoğraf veya dosya seçici, parmak izi istemi) ve bir içe veya dışa aktarma sürerken uygulama kilitlenmek için bekler. Uygulamadan çıktıysanız bu işlem bittikten 2 saniye sonra kilitlenir.
Kasalar tek bir cihaz tuzunu paylaşır
Bir telefondaki tüm kasalar aynı cihaz tuzunu kullanır. Bu tuz birinin elindeyse tek bir tahmin tüm kasaları aynı anda dener. Tek bir kasaya saldırmanın maliyeti ise aynıdır.
Hiçbir uygulamanın engelleyemeyeceği şeyler
Deseninizi çizerken sizi izleyen biri veya ekranınızı kaydeden bir kamera.
İkisini de kaybederseniz kimse yardım edemez
Hem deseninizi hem de kurtarma ifadenizi kaybederseniz dosyalarınızı kimse kurtaramaz. Biz bile.