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.
- Her kasanın dosyaları rastgele bir anahtarla şifrelenir. Bu anahtarı yalnızca o kasanın deseni (en üst seviyede PIN'iyle birlikte), eklediyseniz kurtarma ifadesi veya açtıysanız parmak iziniz açabilir.
- Her desen bir kasa açar. Kayıtlı hiçbir kasayla eşleşmeyen bir desen boş bir kasa açar ve siz bir dosya ekleyene kadar hiçbir şey yazılmaz.
- Biz geliştiriciler, deseninize, PIN'inize, 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, hiçbir noktadan iki kez geçmeden bir desen çizersiniz. Yeni kurduğunuz bir desen en az 6 nokta gerektirir. 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.
- Bir kurtarma ifadesiyle birlikte tutulan kopya dışında (aşağıya bakın) desenin hiçbir kopyası saklanmaz. Uygulama bir deseni, anahtarı açmayı deneyerek kontrol eder.
- Noktaların üstündeki PIN kutusuna yazdığınız her şey, desenle aynı anahtar türetme işlemine girer. Boş kutu yalnızca desen demektir.
Güvenlik seviyeleri
Her kasanın tek bir seviyesi vardır. Başlarken seçersiniz; daha sonra deseni yeniden çizerek Ayarlar > Kasa > Güvenlik seviyesi bölümünden değiştirebilirsiniz.
- En yüksek güvenlik (Ultra): desen ve 6 ila 8 haneli bir PIN, ikisi de yalnızca aklınızda. Yapay zekâ ile tahmine karşı bile güvenli. Birini unutursanız kasa kurtarılamaz.
- Seviye 1 (önerilir): yalnızca desen. Yaygın şekillerden kaçınırsanız güvenli. Unutursanız kasa kurtarılamaz.
- Seviye 2: desen ve kâğıda yazılmış bir kurtarma ifadesi. Deseni unutursanız yeniden girebilirsiniz, ancak kâğıdı bulan herkes de kasayı açabilir.
- Seviye 3: desen ve parmak izi. En pratik olanı, ancak biri parmağınızı zorla sensöre bastırabilir. Parmak izi yalnızca bir kasada çalışır.
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
- Kurtarma ifadesi isteğe bağlıdır. Bir kasa yalnızca Seviye 2'yi seçtiğinizde ifade alır ve ifade kısa bir testi geçtikten sonra kaydedilir.
- 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ı ve kasanın deseninin (ve PIN'inin) bir kopyası telefonda, her biri iki kez şifrelenmiş olarak saklanır: bir kez ana anahtarla, bir kez de bir Android Keystore anahtarıyla. İfade kasayı açtığında uygulama deseni bir kez gösterir. Uygulama kilitlendiğinde desen unutulur.
- Deseni değiştirdiğinizde ifade aynı kalır. İfadesi olmayan bir kasanın, desen unutulursa geri dönüş yolu yoktur.
Parmak izi
Parmak iziyle kilit açma isteğe bağlıdır ve bir kasada çalışı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ış kopyalarını barındırır: biri yedeği oluştururken çizdiğiniz desen için, diğeri kasanın varsa 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 çizersiniz. Geri yüklenen kasa kurtarma ifadesi olmadan başlar.
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.
- Her yeni desen için boş bir kasa. Dosyası olmayan bir kasa, kaydedilmiş olsun ya da olmasın aynı görünür; böylece sizi uygulamayı açmaya zorlayan kişi başka ne olduğunu bilemez. Bunu Ayarlar > Güvenlik bölümünden kapatabilirsiniz; o zaman hiçbir şey açmayan bir desen hata gösterir.
Tahminleri yavaşlatma
Her desen bir kasa açtığı için tahmin yapmak, çok sayıda boş kasanın açılması gibi görünür. LifeVeil bunu ekranda bir şey söylemeden yavaşlatır ve bekleme, doğru desen dahil her desen için aynıdır.
- 24 saat içinde dosyası olmayan kasaların 10 kez açılması her kilit açmaya 10 saniye, 20 kez açılması 60 saniye, 30 kez açılması ise en fazla olan 5 dakikayı ekler.
- Otomasyon belirtileri doğrudan en üst seviyeye götürür: üst üste üç kez birbirinden 2 saniyeden kısa arayla tamamlanan desenler veya parmak yerine erişilebilirlik hizmetlerinden ya da enjekte edilmiş girdiden gelen dokunmalar.
- Boş kasa açılmadan geçen her 24 saat, yavaşlatmayı bir adım azaltır. Telefonun saatini geri almak süreyi kısaltmaz.
- Bu yalnızca uygulamanın içinde çalışır. Kopyalanmış bir dosyayla bilgisayarda yapılan tahminleri yavaşlatmaz (aşağıdaki sınırlara bakın).
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. Uygulama yaygın şekiller konusunda uyarır. En üst güvenlik seviyesi 6 ila 8 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 ve deseni 6 noktadan az olan bir kasayı kaydetmeden önce sizi uyarır.
Tahmin ne kadar sürebilir
Uygulamanın içinde her deneme yaklaşık bir saniye sürer ve tekrarlanan tahminler her kilit açmayı en fazla 5 dakikaya kadar yavaşlatır. 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. En üst seviyedeki bir PIN bu sayıları 108 katına kadar çoğaltı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.
Kurtarma ifadesi deseni de gösterir
Bir kasanın kurtarma ifadesine sahip olan herkes o kasayı açabilir ve uygulama ona kasanın desenini ve PIN'ini gösterir. Aynı deseni başka bir yerde, örneğin telefonunuzun ekran kilidinde kullanıyorsanız, onu da öğrenir. Kâğıdı dosyaların kendisi kadar güvende tutun.
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. Yavaşlatma, kaydedilmiş ve kaydedilmemiş boş kasaları aynı şekilde sayar; bu yüzden beklemenin kendisi onları birbirinden ayırt ettirmez.
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.
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.
İfade yoksa kimse yardım edemez
Kurtarma ifadesi olmayan bir kasanın desenini unutursanız ya da hem deseni hem de ifadeyi kaybederseniz, o kasanın dosyalarını kimse kurtaramaz. Biz bile.