Tam disk şifreleme, bir Android cihazdaki tüm kullanıcı verilerinin şifrelenmiş anahtar. Bir cihaz şifrelendiğinde, kullanıcı tarafından oluşturulan tüm veriler diske ve tüm okumalara uygulamadan önce otomatik olarak şifrelenir çağrı işlemine döndürmeden önce verilerin şifresini otomatik olarak çözer.
Tam disk şifreleme, Android 4.4 sürümünde kullanıma sunulmuştur ancak Android 5.0 kullanıma sunulmuştur. şu yeni özellikleri kullanın:
- Yalnızca veri bölümünde kullanılan blokları şifreleyen hızlı şifreleme oluşturuldu uzun sürmesini önlemek için otomatik olarak devreye girer. Yalnızca ext4 ve f2fs dosya sistemleri şu anda hızlı şifrelemeyi desteklemektedir.
forceencrypt
eklendi fstab flag'ini kullanın.- Şifresiz kalıplar ve şifreleme için destek eklendi.
- Güvenilir kullanılarak şifreleme anahtarı için donanım destekli depolama alanı eklendi Yürütme ortamının (TEE) imzalama özelliği (TrustZone gibi). Daha fazla bilgi için Şifrelenmiş anahtarı depolama bölümüne bakın. bolca fırsat sunuyor.
Dikkat: Android 5.0 ve ardından yeni sürüme geçirilen cihazlar fabrika verilerine sıfırlama işlemiyle şifrelenmemiş bir duruma döndürülebilir. Yeni Android 5.0 ilk başlatma sırasında şifrelenen cihazlar şifrelenmemiş duruma döndürülemez.
Android tam disk şifrelemesinin işleyiş şekli
Android tam disk şifrelemesi, bir çekirdek olan dm-crypt
temel alınarak oluşturulur.
engelleme cihazı katmanında çalışan özelliklerdir. Bunun nedeni:
Şifreleme, Embedded MultiMediaCard (eMMC) ile ve
kendisini blok olarak gösteren benzer flash cihazları
cihazlar. Doğrudan ham ile iletişim kuran YAFFS ile şifreleme mümkün değildir
NAND flash çipi.
Şifreleme algoritması, 128 Gelişmiş Şifreleme Standardı'dır (AES). şifreli blok zincirleme (CBC) ve ESSIV:SHA256. Ana anahtar, şununla şifrelenmiştir: OpenSSL kitaplığına yapılan çağrılar aracılığıyla 128 bit AES. Veri analizi için 128 bit veya daha fazla (256 isteğe bağlıdır).
Not: OEM'ler ana anahtarı şifrelemek için 128 bit veya daha yüksek bir sürüm kullanabilir.
Android 5.0 sürümünde dört tür şifreleme durumu vardır:
- varsayılan
- PIN
- şifre
- desen
İlk başlatmadan sonra, cihaz rastgele oluşturulmuş 128 bitlik bir ana anahtar oluşturur ardından varsayılan bir şifre ve saklanan takviye değer ile karma oluşturma işlemi uygular. Varsayılan şifre şöyledir: "default_password" Ancak sonuçta elde edilen karma, bir TEE (ör. TrustZone) aracılığıyla da imzalanır. ana anahtarı şifrelemek için bir imza karması kullanır.
Android Açık Kaynak Projesi'nde tanımlanan varsayılan şifreyi bulabilirsiniz: cryptfs.cpp dosyası olarak kaydedebilirsiniz.
Kullanıcı, cihazda PIN/şifre veya şifre ayarladığında yalnızca 128 bit anahtar yeniden şifrelenip depolanır. (yani kullanıcı PIN/kart/desen değişiklikleri kullanıcı verilerinin yeniden şifrelenmesi.) Lütfen yönetilen cihaz PIN, desen veya şifre kısıtlamalarına tabi olabilir.
Şifreleme init
ve vold
tarafından yönetiliyor.
init
, vold
yöntemini çağırır ve ses, özellikleri tetikleyecek şekilde ayarlar
etkinliklerdir. Sistemin diğer bölümleri
Ayrıca, raporlama durumu, proje başlatma belgesi,
şifre veya önemli bir hata durumunda fabrika ayarlarına sıfırlama istemini görebilirsiniz. Çağırmak için
şifreleme özelliklerini vold
içine aldığınızda sistem, komut satırı aracını
vdc
adlı çocuğun cryptfs
komutları: checkpw
,
restart
, enablecrypto
, changepw
,
cryptocomplete
, verifypw
, setfield
,
getfield
, mountdefaultencrypted
, getpwtype
,
getpw
ve clearpw
.
/data
içeriğini şifrelemek, şifresini çözmek veya temizlemek için /data
monte edilmemelidir. Ancak herhangi bir kullanıcı arayüzünü (UI) göstermek için
ve çerçevenin çalışması için /data
gerekir. Alıcı:
bu sorunu çözerseniz /data
cihazına geçici bir dosya sistemi eklenir.
Bu şekilde Android, şifre isteyebilir, ilerleme durumunu gösterebilir veya veri önerebilir
silin. E-postadan başka bir sayfaya geçebilmek için
geçici dosya sistemini gerçek /data
dosya sistemine kaydederse sistem
geçici dosya sistemindeki açık dosyalar içeren her işlemi durdurun ve bu işlemleri yeniden başlatın
diğer /data
dosya sistemi üzerindedir. Bunun için tüm hizmetler
şu üç gruptan birinde olmalıdır: core
, main
ve
late_start
.
core
: Başlattıktan sonra hiçbir zaman kapatmayın.main
: Diski kapatıp disk şifresi girildikten sonra yeniden başlatın.late_start
:/data
şifresi çözülüp eklenene kadar başlamaz.
Bu işlemleri tetiklemek için vold.decrypt
özelliği
çeşitli dizeler kullanın.
Hizmetleri sonlandırmak ve yeniden başlatmak için init
komutları şu şekildedir:
class_reset
: Bir hizmeti durdurur ancak class_start ile yeniden başlatılmasına izin verir.class_start
: Bir hizmeti yeniden başlatır.class_stop
: Bir hizmeti durdurur veSVC_DISABLED
işareti ekler. Durdurulan hizmetlerclass_start
yanıt vermiyor.
Akışlar
Şifrelenmiş bir cihaz için dört akış vardır. Bir cihaz yalnızca bir kez şifrelenir ve ardından normal bir başlatma akışı izler.
- Daha önce şifrelenmemiş bir cihazı şifreleme:
- Yeni bir cihazı
forceencrypt
ile şifreleyin: Zorunlu şifreleme (Android L sürümünden itibaren) - Mevcut bir cihazı şifreleme: Kullanıcı tarafından başlatılan şifreleme (Android K ve önceki sürümler).
- Yeni bir cihazı
- Şifrelenmiş bir cihazı başlatın:
- Şifrelenmiş bir cihazı şifre kullanmadan başlatma: Şu özelliklere sahip şifrelenmiş bir cihazı başlatma: oluşturulmuş şifresine sahip olmamalıdır (Android 5.0 ve sonraki sürümleri çalıştıran cihazlar için geçerlidir).
- Şifrelenmiş bir cihazı şifreyle başlatma: Şu özelliklere sahip şifrelenmiş bir cihazı başlatma: belirlenmiş bir şifreye sahip.
Cihaz bu akışlara ek olarak /data
öğesini şifrelemeyebilir.
Akışların her biri aşağıda ayrıntılı olarak açıklanmıştır.
Yeni bir cihazı zorla şifreleme ile şifreleme
Bu, Android 5.0 cihazın normal ilk başlatma işlemidir.
- Şifrelenmemiş dosya sistemini
forceencrypt
işaretiyle algıla/data
şifrelenmedi ancakforceencrypt
tarafından zorunlu kılındığı için şifrelenmesi gerekiyor./data
bağlantısını kesin. /data
alanını şifrelemeye başlavold.decrypt = "trigger_encryption"
,init.rc
işlemini tetikler, Bu durumdavold
,/data
öğesini şifre olmadan şifrelemesine neden olur. (Bu yeni bir cihaz olması gerektiği için hiçbiri ayarlanmadı.)- Tmpfs'leri ekle
vold
, bir .mpfs/data
ekler (ro.crypto.tmpfs_options
) ilevold.encrypt_progress
özelliğini 0 olarak ayarlar.vold
, geçici bir sistemi/data
başlatmaya hazırlar vevold.decrypt
mülkü için:trigger_restart_min_framework
- İlerlemeyi göstermek için bir çerçeve oluşturma
Cihazda şifrelenecek veri miktarı neredeyse hiç olmadığı için ilerleme çubuğu genellikle şifreleme çok hızlı gerçekleştiği için görünmez. Görüntüleyin Daha fazlası için mevcut bir cihazı şifreleyin kullanıcı arayüzüyle ilgili ayrıntıları paylaşacağım.
/data
şifrelendiğinde çerçeveyi kaldırınvold
,vold.decrypt
alanını şu şekilde ayarlıyor:trigger_default_encryption
defaultcrypto
hizmet. (Bu işlem, bir alt kümeyi monte etmek için aşağıdaki akışı varsayılan şifrelenmiş kullanıcı verileri.)trigger_default_encryption
,/data
için bir şifreleme anahtarı ile veya onsuz şifrelenip şifrelenmediğini şifre. Android 5.0 cihazlar ilk başlatmada şifrelendiğinden, şifre oluşturulmamış olmalıdır; bu nedenle şifresini çözer ve/data
öğesini ekleriz./data
ekleinit
, daha sonra şunu kullanarak bir geçici hedef RAMDisk'e/data
ekler: daha önce ayarlanmış olanro.crypto.tmpfs_options
parametresinden aldığıinit.rc
içinde.- Çerçeveyi başlat
vold
,vold.decrypt
alanını şu şekilde ayarlıyor:trigger_restart_framework
, normal başlatma işlemine devam eder bahsedeceğim.
Mevcut bir cihazı şifreleme
Şifrelenmemiş bir Android K veya önceki sürümleri şifrelediğinizde bu olur. cihaz L'ye taşındı.
Bu işlem kullanıcı tarafından başlatılır ve "yerinde şifreleme" olarak adlandırılır ve kod. Kullanıcı bir cihazı şifrelemeyi seçtiğinde kullanıcı arayüzü, pil tam olarak şarj edilmiş ve AC adaptörü takılı olduğundan yeterli şifreleme işlemini tamamlaması gerekir.
Uyarı: Cihazın gücü biterse ve cihaz tamamlanmadan kapanırsa şifreleniyorsa, dosya verileri kısmen şifrelenmiş durumda bırakılır. Cihaz, fabrika ayarlarına sıfırlanmaz ve tüm veriler kaybolur.
Yer içi şifrelemeyi etkinleştirmek için vold
, her birini okuyacak bir döngü başlatır
sektöründeki verileri analiz ederek
Crystal, oldukça popüler. vold
, belirli bir sektörün mevcut olup olmadığını kontrol eder.
yardımcı olur, bu da okumadan ve yazmadan
bir cihazda şifreleme yöntemini çok daha hızlı
bir şekilde ayarlayabilirsiniz.
Cihazın durumu: ro.crypto.state = "unencrypted"
olarak ayarlayın
ve başlatmaya devam etmek için on nonencrypted
init
tetikleyicisini yürütün.
- Şifreyi kontrol edin
Kullanıcı arayüzü,
cryptfs enablecrypto inplace
komutunu kullanarakvold
öğesini çağırır Buradapasswd
, kullanıcının kilit ekranı şifresidir. - Çerçeveyi kaldırmak
vold
hataları kontrol eder, şifrelenemiyorsa -1 değerini döndürür ve günlüğe bir neden yazdırır. Şifreleyebiliyorsavold.decrypt
özelliğini ayarlar. Hedef:trigger_shutdown_framework
. Bu,init.rc
adlı çocuğunlate_start
vemain
sınıflarında hizmetleri durdur. - Şifreleme altbilgisi oluşturma
- İçerik haritası dosyası oluşturma
- Yeniden başlat
- İçerik haritası dosyasını algılama
/data
alanını şifrelemeye başlaArdından
vold
, sanal bir şifreleme bloku cihazı oluşturan kripto eşlemesini ayarlar gerçek blok cihazla eşlenen ancak yazıldığı sırada her bir kesimi şifreleyen ve okunduğunda her bir sektörün şifresini çözer.vold
, ardından oluşturur ve yazar kripto meta verilerini çıkarmanız gerekir.- Şifrelenirken geçici dosya depolama alanınızı ekleyin
vold
, geçici dosya (tmpfs) seçeneklerini kullanarak/data
eklerro.crypto.tmpfs_options
öğesinden) ve özelliği ayarlarvold.encrypt_progress
olan değer 0 olarak değiştirildi.vold
geçici dosyaları hazırlar Şifrelenmiş bir sistemi başlatmak ve özelliği ayarlamak için/data
vold.decrypt
-trigger_restart_min_framework
- İlerlemeyi göstermek için bir çerçeve oluşturma
trigger_restart_min_framework
nedeninit.rc
main
hizmet sınıfını başlat. Çerçeve, bu çerçeveyivold.encrypt_progress
değeri 0 olarak ayarlandığında ilerleme çubuğu görünür Her beş saniyede bir özelliği sorgulayan ve ilerleme çubuğunu güncelleyen kullanıcı arayüzü. Şifreleme döngüsü, her seferindevold.encrypt_progress
olarak güncellenir. bölümün başka bir yüzdesini şifreler. /data
şifrelendiğinde, şifreleme altbilgisini güncelleyin/data
başarıyla şifrelendiğindevold
temizlenir meta veridekiENCRYPTION_IN_PROGRESS
işaretini kullanır.Cihazın kilidi başarıyla açıldığında şifre şu amaçlarla kullanılır: ana anahtarı şifrelemek ve şifreleme altbilgisi güncellenir.
Yeniden başlatma herhangi bir nedenle başarısız olursa
vold
özelliği ayarlarvold.encrypt_progress
-error_reboot_failed
ve kullanıcı arayüzünde, kullanıcının cihazından tekrar başlat. Bunun hiçbir zaman meydana gelmesi beklenmez.
Şifrelenmiş bir cihaz varsayılan şifrelemeyle başlatılıyor
Şifrelenmiş bir cihazı şifre kullanmadan başlattığınızda bu olur. Android 5.0 cihazlar ilk başlatmada şifrelendiği için herhangi bir ayar yapılmamalıdır Bu nedenle, varsayılan şifreleme durumu budur.
- Şifresiz, şifrelenmiş
/data
öğesini algılaAndroid cihazın şifrelenmiş olduğu belirlendi. Bunun nedeni:
/data
değeri eklenmez veencryptable
veya flag'lerinden biriforceencrypt
ayarlandı.vold
,vold.decrypt
alanını şu şekilde ayarlıyor:trigger_default_encryption
, başlatılacak.defaultcrypto
hizmet.trigger_default_encryption
./data
ile şifrelenmiş olup olmadığını görmek için şifreleme türünü kontrol eder. bu işlemi yapabilirsiniz. - /verilerin şifresini çözme
Cihazın blok cihaz üzerinde oluşturulması için
dm-crypt
cihazı kullanıma hazır. - /data ekle
vold
, daha sonra şifresi çözülmüş gerçek/data
bölümünü ekler ve yeni bölümü hazırlar. Mülkü ayarlar.vold.post_fs_data_done
değerini 0 olarak belirler, ardındanvold.decrypt
değerini ayarlar alıcı:trigger_post_fs_data
. Bu,init.rc
tarayıcısının çalışmasına neden olurpost-fs-data
komutları. Gerekli dizinleri oluşturacaktır veya bağlantıları kullanıpvold.post_fs_data_done
değerini 1 olarak ayarlayın.vold
bu mülkteki 1 değerini gördüğünde özelliği ayarlarvold.decrypt
alıcı:trigger_restart_framework.
Buinit.rc
adlı kullanıcınınmain
sınıfında hizmetleri başlatmasına neden olur ve ayrıca ilk olaraklate_start
sınıfında hizmetleri başlatır geçen süre. - Çerçeveyi başlat
Şimdi çerçeve, şifresi çözülmüş
/data
öğesini kullanarak tüm hizmetlerini başlatıyor ve hazır olduğundan emin olun.
Şifrelenmiş bir cihazı varsayılan şifreleme olmadan başlatma
Şifrelenmiş bir cihazı başlattığınızda veya şifre. Cihazın şifresi bir PIN, desen veya şifre olabilir.
- Şifreyle şifrelenmiş cihazı algılama
Bayrak simgesi nedeniyle Android cihazın şifrelenmiş olduğunu algılama
ro.crypto.state = "encrypted"
.vold
,vold.decrypt
alanını şu şekilde ayarlıyor:trigger_restart_min_framework
, çünkü/data
bir şifre ile şifrelenmiştir. - Tmpfs'leri ekle
init
, ilk ekleme seçeneklerini kaydetmek için beş özellik ayarlarinit.rc
öğesinden geçirilen parametrelerle/data
için verildi.vold
, kripto eşlemeyi ayarlamak için şu özellikleri kullanır:ro.crypto.fs_type
ro.crypto.fs_real_blkdev
ro.crypto.fs_mnt_point
ro.crypto.fs_options
ro.crypto.fs_flags
(Başında 0x olan 8 haneli onaltılık ASCII sayısı)
- Şifre istemi çerçevesini başlat
Çerçeve başlar ve
vold.decrypt
değerinintrigger_restart_min_framework
. Bu, çerçeveye Tmpfs/data
diskinde başlatılıyor ve kullanıcı şifresini alması gerekiyor.Ancak öncelikle, diskin düzgün şekilde şifrelendiğinden emin olması gerekir. Google
cryptfs cryptocomplete
komutunuvold
adresine gönderir.vold
, şifreleme başarıyla tamamlandıysa 0, dahili hata için -1 veya Şifreleme başarıyla tamamlanmadıysa -2.vold
belirlerCRYPTO_ENCRYPTION_IN_PROGRESS
için kripto meta verilerine bakarak bunu tıklayın. Bu parametre ayarlanmışsa şifreleme işlemi kesintiye uğramıştır ve cihazdaki kullanılabilir verilerdir.vold
bir hata döndürürse kullanıcı arayüzünün kullanıcıya cihazı yeniden başlatıp fabrika ayarlarına sıfırlaması ve kullanıcıya basması için bir düğmeye basın. - Verilerin şifresini şifreyle çözme
cryptfs cryptocomplete
başarılı olduğunda çerçeve disk şifresini soran bir kullanıcı arayüzü gösterir. Kullanıcı arayüzü, şifreyicryptfs checkpw
komutuvold
adresine gönderiliyor. Öğe doğru olduğundan emin olun (bu,/data
kodunun geçici bir konumda şifresini çözdükten sonra bağlantısını kestiysevold
, mülkündeki şifresi çözülmüş blok cihazın adını kaydederro.crypto.fs_crypto_blkdev
ve kullanıcı arayüzüne 0 durumunu döndürür. Öğe şifre yanlışsa kullanıcı arayüzüne -1 değerini döndürür. - Çerçeveyi durdurma
Kullanıcı arayüzü bir kripto başlatma grafiği oluşturur ve ardından
vold
öğesinicryptfs restart
komutunu kullanın.vold
özelliği ayarlarvold.decrypt
olan trafiktrigger_reset_main
değerine ayarlanır, bu da neden olurinit.rc
tarihindeclass_reset main
yapılacak. Bu işlem tüm hizmetleri durdurur bu işlem,/data
geçici dosya depolama öğelerinin (tmpfs) kaldırılmasına olanak tanır. /data
eklevold
, daha sonra şifresi çözülmüş gerçek/data
bölümünü ekler ve yeni bölümü hazırlar (bu bölüm, bu özellik, ilk sürümde desteklenmeyen silme seçeneğiyle şifrelendi. .vold.post_fs_data_done
özelliğini 0 olarak ayarlar ve ardındanvold.decrypt
,trigger_post_fs_data
olarak ayarlanıyor. Bu durum,post-fs-data
komutlarını çalıştırmak içininit.rc
tuşlarına basın. Kendisi gerekli dizinleri veya bağlantıları oluşturun ve ardındanvold.post_fs_data_done
- 1.vold
, 1vold.decrypt
özelliğinitrigger_restart_framework
. Bu,init.rc
ürününün başlatılmasına neden olur. hizmetlerimain
sınıfında tekrar ele alır ve sınıfta hizmet başlatır Açılıştan beri ilk kezlate_start
.- Tam çerçeveyi başlat
Şimdi çerçeve, şifresi çözülmüş
/data
anahtarını kullanarak tüm hizmetlerini başlatıyor ve sistemin kullanıma hazır olmasını sağlayın.
Başarısız
Şifresini çözemeyen bir cihazın birkaç nedeni olabilir. Cihaz şu normal adım dizisiyle başlar:
- Şifreyle şifrelenmiş cihazı algıla
- Geçici dosya depolama noktası
- Şifre istemek için çerçeveyi başlat
Ancak çerçeve açıldıktan sonra cihaz bazı hatalarla karşılaşabilir:
- Şifre eşleşiyor ancak verilerin şifresini çözemiyor
- Kullanıcı 30 kez yanlış şifre girer
Bu hatalar çözülmezse kullanıcıdan fabrika ayarlarına temizlemesini isteyin:
vold
şifreleme işlemi sırasında bir hata algılarsa ve
henüz hiçbir veri yok edilmedi ve çerçeve oluşturuldu, vold
küme
error_not_encrypted
mülkündeki vold.encrypt_progress
mülkü.
Kullanıcı arayüzü, kullanıcıdan yeniden başlatmasını ister ve şifreleme işlemiyle ilgili uyarı verir.
hiç başlamadı. Hata, çerçeve yıkıldıktan sonra ortaya çıkıyorsa ancak sistem
vold
, ilerleme çubuğu kullanıcı arayüzü yüklenmeden sistemi yeniden başlatır. Eğer
yeniden başlatma başarısız olursa vold.encrypt_progress
,
error_shutting_down
ve -1 değerini döndürür; ama herhangi bir değişiklik
tıklayın. Bunun olması beklenmez.
vold
şifreleme işlemi sırasında bir hata algılarsa
vold.encrypt_progress
-error_partially_encrypted
ve -1 değerini döndürür. Kullanıcı arayüzünde şifrelemeyi belirten bir mesaj gösterilir.
kullanıcının cihazı fabrika ayarlarına sıfırlaması için bir düğme sağlar.
Şifrelenmiş anahtarı depolama
Şifrelenmiş anahtar, şifreleme meta verilerinde depolanır. Donanım desteği: Güvenilir Yürütme Ortamı'nın (TEE) imzalama özelliği kullanılarak uygulanır. Daha önce ana anahtarı, scrypt uygulayarak oluşturulan bir anahtarla şifreliyorduk ve saklanan güvenlik açığına kaydedilir. Anahtarı esnek bir yapıda emin olmak için, elde edilen anahtarı imzalayarak bu algoritmayı gizli TEE anahtarı kullanır. Elde edilen imza uygun bir imzaya dönüştürülür. uzunluk anahtarı bir kez daha uygulanır. Bu anahtar, daha sonra ve ana anahtarın şifresini çözer. Bu anahtarı depolamak için:
- Rastgele 16 baytlık disk şifreleme anahtarı (DEK) ve 16 baytlık takviye oluşturun.
- 32 baytlık ara kod oluşturmak için kullanıcı şifresine ve takviye değere sşifreleme uygulayın anahtar 1'i (IK1) tıklayın.
- IK1'i donanıma bağlı özel anahtarın (HBK) boyutuna sıfır baytla doldurun. Özellikle, şu şekilde doldurulur: 00 || İK1 || 00..00; bir sıfır bayt, 32 IK1 bayt, 223 sıfır bayt.
- 256 bayt IK2 üretmek için IK1'i HBK ile imzalayın.
- 32 bayt IK3 oluşturmak için IK2'ye şifreleme ve tuz (2. adımla aynı takviye) uygulayın.
- IK3'ün ilk 16 baytını KEK, son 16 baytını IV olarak kullanın.
- DEK'yi AES_CBC, anahtar KEK ve başlatma vektörü IV ile şifreleyin.
Şifreyi değiştirme
Bir kullanıcı, ayarlarında şifresini değiştirmeyi veya kaldırmayı seçtiğinde kullanıcı arayüzü,
cryptfs changepw
komutunu vold
komutuna ve
vold
, disk ana anahtarını yeni şifreyle yeniden şifreler.
Şifreleme özellikleri
vold
ve init
birbirleriyle iletişim kurmak için
ayar özellikleri. Şifreleme için kullanılabilen özelliklerin listesini aşağıda bulabilirsiniz.
Hacim özellikleri
Özellik | Açıklama |
---|---|
vold.decrypt trigger_encryption |
Sürücüyü şifre. |
vold.decrypt trigger_default_encryption |
Şifre kullanılmadan şifrelenip şifrelenmediğini görmek için sürücüyü kontrol edin.
Varsa şifresini çözüp ekleyin,
else vold.decrypt öğesini, trigger_restart_min_framework olarak ayarlayın. |
vold.decrypt trigger_reset_main |
Disk şifresini isteyen kullanıcı arayüzünü kapatmak için vold tarafından ayarlandı. |
vold.decrypt trigger_post_fs_data |
/data için gerekli dizinleri ve diğer bilgileri hazırlamak üzere hacim tarafından ayarlandı |
vold.decrypt trigger_restart_framework |
Gerçek çerçeveyi ve tüm hizmetleri başlatmak için gönüllü olarak belirleyin. |
vold.decrypt trigger_shutdown_framework |
Şifrelemeyi başlatmak için tam çerçeveyi kapatmak üzere gönüllü tarafından ayarlandı. |
vold.decrypt trigger_restart_min_framework |
şifreleme için ilerleme çubuğu kullanıcı arayüzü
şifre istemi veya
ro.crypto.state değerine ayarlanır. |
vold.encrypt_progress |
Çerçeve başladığında Bu özellik ayarlanmışsa olduğunu görebilirsiniz. |
vold.encrypt_progress 0 to 100 |
İlerleme çubuğu kullanıcı arayüzü ayarlanan yüzde değerini görüntüleyin. |
vold.encrypt_progress error_partially_encrypted |
İlerleme çubuğunun kullanıcı arayüzünde, şifrelemenin başarısız olduğunu belirten bir mesaj görüntülenir ve kullanıcıya o sırada cihazı fabrika ayarlarına sıfırlayın. |
vold.encrypt_progress error_reboot_failed |
İlerleme çubuğunun kullanıcı arayüzünde şifreleme yazan bir mesaj gösterilir. kullanıcıya cihazı yeniden başlatması için bir düğme verin. Bu hata beklenmiyor. |
vold.encrypt_progress error_not_encrypted |
İlerleme çubuğu kullanıcı arayüzü hata belirten bir mesaj görüntüle hiçbir veri şifrelenmemişse veya şifrelenmemişse kullanıcıya sistemi yeniden başlatması için bir düğme verin. |
vold.encrypt_progress error_shutting_down |
İlerleme çubuğu kullanıcı arayüzü çalışmadığından kimin yanıt vereceği belirsiz bu hataya gider. Zaten böyle bir durum da olmamalıdır. |
vold.post_fs_data_done 0 |
vold.decrypt ayarından hemen önce vold tarafından ayarlandı
alıcı: trigger_post_fs_data . |
vold.post_fs_data_done 1 |
init.rc veya
init.rc , post-fs-data görevini tamamladıktan hemen sonra. |
başlatma özellikleri
Özellik | Açıklama |
---|---|
ro.crypto.fs_crypto_blkdev |
Daha sonra kullanmak üzere vold komutu checkpw tarafından ayarlandı
vold komutuyla restart belirleyebilirsiniz. |
ro.crypto.state unencrypted |
init tarafından, bu sistemin şifrelenmemiş bir cihazla çalıştığını belirtmek için ayarlandı
/data ro.crypto.state encrypted . init tarafından şu şekilde ayarlandı:
bu sistem şifrelenmiş bir /data ile çalışıyor. |
|
Bu beş özellik,
/data öğesini şuradan geçirilen parametrelerle eklemeye çalıştığında: init
init.rc . vold , kripto eşlemeyi ayarlamak için bunları kullanır. |
ro.crypto.tmpfs_options |
init.rc tarafından, ilk e-postanın şu durumlarda kullanması gereken seçeneklerle ayarlandı:
geçici dosya sistemi /data dosya sistemi ekleniyor. |
Başlatma işlemleri
on post-fs-data on nonencrypted on property:vold.decrypt=trigger_reset_main on property:vold.decrypt=trigger_post_fs_data on property:vold.decrypt=trigger_restart_min_framework on property:vold.decrypt=trigger_restart_framework on property:vold.decrypt=trigger_shutdown_framework on property:vold.decrypt=trigger_encryption on property:vold.decrypt=trigger_default_encryption