Tüm diskin şifrelenmesi, şifrelenmiş bir anahtar kullanarak Android cihazdaki tüm kullanıcı verilerini kodlama işlemidir. 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 şifrelemesi Android 4.4'te kullanıma sunulmuştur ancak Android 5.0'te aşağıdaki yeni özellikler kullanıma sunulmuştur:
- İlk önyüklemenin uzun sürmesini önlemek için yalnızca veri bölümündeki kullanılan blokları şifreleyen hızlı şifreleme oluşturuldu. 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'e yükseltilen ve ardından şifrelenen cihazlar, fabrika verilerine sıfırlanarak şifrelenmemiş 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 şifrelemenin 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 NAND flaş çipiyle iletişim kuran YAFFS ile şifreleme yapılamaz.
Şifreleme algoritması, 128 Gelişmiş Şifreleme Standardı'dır (AES). şifreli blok zincirleme (CBC) ve ESSIV:SHA256. Ana anahtar, OpenSSL kitaplığına yapılan çağrılar aracılığıyla 128 bit AES ile şifrelenir. 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 cryptfs.cpp dosyasında tanımlanan varsayılan şifreyi bulabilirsiniz.
Kullanıcı cihazda PIN/geçiş anahtarı veya şifre ayarlarken yalnızca 128 bitlik anahtar yeniden şifrelenir ve saklanır. (yani kullanıcı PIN/kart/desen değişiklikleri kullanıcı verilerinin yeniden şifrelenmesi.) Yönetilen cihazların PIN, desen veya şifre kısıtlamalarına tabi olabileceğini unutmayın.
Şifreleme, init
ve vold
tarafından yönetilir.
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 çerçevenin başlatılması gerekir ve çerçevenin çalışması için /data
'ün çalıştırılması gerekir. Bu sorunu çözmek için /data
üzerine geçici bir dosya sistemi monte edilir.
Bu şekilde Android, şifre isteyebilir, ilerleme durumunu gösterebilir veya veri önerebilir
silin. Geçici dosya sisteminden gerçek /data
dosya sistemine geçiş yapmak için sistemin, geçici dosya sisteminde açık dosyaları olan her işlemi durdurması ve bu işlemleri gerçek /data
dosya sisteminde yeniden başlatması gerektiği sınırlamasını getirir. Bunun için tüm hizmetler
şu üç gruptan birinde olmalıdır: core
, main
ve
late_start
.
core
: Başladıktan sonra hiçbir zaman kapatılmaz.main
: Disk şifresi girildikten sonra kapatıp 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ş cihazlar için dört akış vardır. Cihaz yalnızca bir kez şifrelenir ve ardından normal bir önyükleme akışı izlenir.
- 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: Ayarlanmış bir şifreye sahip şifrelenmiş bir cihazı başlatma.
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.
forceencrypt ile yeni bir cihazı şifreleme
Bu, Android 5.0 cihazların normal ilk açılışıdır.
forceencrypt
işaretiyle şifrelenmemiş dosya sistemini algılama/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
'ü tetikler. Bu davold
'nin/data
'ı şifre olmadan şifrelemesine neden olur. (Bu yeni bir cihaz olduğu için "Hiçbiri" ayarlanır.)- Tmpfs'leri ekle
vold
, tmpfs/data
'i (ro.crypto.tmpfs_options
'deki tmpfs seçeneklerini kullanarak) bağlar vevold.encrypt_progress
özelliğini 0 olarak ayarlar.vold
, şifrelenmiş bir sistemi başlatmak için tmpfs/data
'yi hazırlar vevold.decrypt
mülkünü şu şekilde ayarlar:trigger_restart_min_framework
- İlerlemeyi göstermek için çerçeveyi getirme
Cihazda şifrelenecek veri miktarı neredeyse hiç olmadığı için ilerleme çubuğu şifreleme çok hızlı gerçekleştiği için sıklıkla görülür. İlerleme kullanıcı arayüzü hakkında daha fazla bilgi için Mevcut bir cihazı şifreleme başlıklı makaleyi inceleyin.
/data
şifrelendiğinde çerçeveyi kaldırınvold
,vold.decrypt
alanını şu şekilde ayarlıyor:trigger_default_encryption
defaultcrypto
hizmet. (Bu işlem, varsayılan olarak şifrelenmiş bir kullanıcı verisi bağlamak için aşağıdaki akışı başlatır.)trigger_default_encryption
,/data
için bir şifreleme anahtarı ile veya onsuz şifrelenip şifrelenmediğini şifre. Android 5.0 cihazlar ilk başlatılırken şifrelenir. Bu nedenle, şifre ayarlanmamış olmalıdır. Bu nedenle,/data
dosyasının şifresini çözer ve bağlarız./data
'i monte edininit
, daha sonra şunu kullanarak bir geçici hedef RAMDisk'e/data
ekler:ro.crypto.tmpfs_options
parametresinden aldığı parametreleriinit.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
Bu durum, L sürümüne taşınmış, şifrelenmemiş bir Android K veya önceki sürüm cihazı şifrelendiğinde ortaya çıkar.
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.
Yerinde şifrelemeyi etkinleştirmek için vold
, gerçek blok cihazın her bir sektörünü okuyup kripto blok cihazına yazmak üzere bir döngü başlatır. vold
, bir sektörü okumadan ve yazmadan önce sektörün kullanılıp kullanılmadığını kontrol eder. Bu sayede, veri miktarı az veya hiç olmayan yeni bir cihazda şifreleme işlemi çok daha hızlı gerçekleşir.
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ü,
passwd
kullanıcının kilit ekranı şifresi olmak üzerecryptfs enablecrypto inplace
komutuylavold
'ü çağırır. - Ç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ğinitrigger_shutdown_framework
olarak ayarlar. Bu,init.rc
adlı çocuğunlate_start
vemain
sınıflarında hizmetleri durdur. - Şifreleme altbilgisi oluşturma
- Görsel içerik haritası dosyası oluşturma
- Yeniden başlat
- İçerik haritası dosyasını algılama
/data
dosyasını şifrelemeye başlamaArdı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
daha sonra şifreleme meta verilerini oluşturur ve yazar.- Ş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
, şifrelenmiş bir sistemi başlatmak için tmpfs'yi/data
hazırlar vevold.decrypt
mülkünü şu şekilde ayarlar:trigger_restart_min_framework
- İlerlemeyi göstermek için çerçeveyi getirme
trigger_restart_min_framework
,init.rc
'unmain
sınıfı hizmetleri başlatmasına neden olur. Çerçeve,vold.encrypt_progress
değerinin 0 olarak ayarlandığını gördüğünde, beş saniyede bir bu mülkü sorgulayan ve ilerleme çubuğunu güncelleyen ilerleme çubuğu kullanıcı arayüzünü gösterir. Ş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
, meta verilerdekiENCRYPTION_IN_PROGRESS
işaretini temizler.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şlatma
Şifre olmadan şifrelenmiş bir cihazı başlattığınızda bu durumla karşılaşırsınız. Android 5.0 cihazlar ilk açılışta şifrelendiğinden, ayarlanmış bir şifre olmamalıdır. Bu nedenle, varsayılan şifreleme durumu budur.
- Şifre içermeyen şifrelenmiş
/data
dosyalarını algılama/data
monte edilemediği veencryptable
veyaforceencrypt
işaretlerinden biri ayarlandığı için Android cihazın şifrelenmiş olduğunu algılama.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. - /data şifresini çözme
Cihazın kullanıma hazır olması için engellenen cihazın üzerine
dm-crypt
cihazı oluşturur. - /data'yı bağlama
vold
, şifresi çözülmüş gerçek/data
bölümünü bağlar ve ardından 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
'ünpost-fs-data
komutlarını çalıştırmasına neden olur. Gerekli dizinleri oluşturur veya bağlantıları kullanıpvold.post_fs_data_done
değerini 1 olarak ayarlayın.vold
, bu mülkte 1'i gördükten sonravold.decrypt
mülkünü şu şekilde ayarlar:trigger_restart_framework.
Bu,init.rc
'ınmain
sınıfındaki hizmetleri tekrar başlatmasına ve ayrıca önyüklemeden sonra ilk kezlate_start
sınıfındaki hizmetleri başlatmasına neden olur. - Çerçeveyi başlat
Artık çerçeve, şifresi çözülmüş
/data
'yi kullanarak tüm hizmetlerini başlatır ve sistem kullanıma hazırdır.
Ş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.
- Şifrelenmiş cihazı şifreyle algılama
Bayrak simgesi nedeniyle Android cihazın şifrelenmiş olduğunu algılama
ro.crypto.state = "encrypted"
./data
şifreyle şifrelendiği içinvold
,vold.decrypt
değerinitrigger_restart_min_framework
olarak ayarlar. - tmpfs'yi bağlama
init
,init.rc
kaynağından iletilen parametrelerle/data
için verilen ilk montaj seçeneklerini kaydetmek üzere beş mülk ayarlar.vold
, kripto eşlemeyi ayarlamak için aşağıdaki ö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 isteğinde bulunacak çerçeveyi başlatma
Çerçeve başlar ve
vold.decrypt
değerinintrigger_restart_min_framework
olarak ayarlandığını görür. Bu, çerçeveye bir tmpfs/data
diskinde başlatıldığını ve kullanıcı şifresini alması gerektiğini bildirir.Ancak öncelikle, diskin düzgün şekilde şifrelendiğinden emin olması gerekir.
cryptfs cryptocomplete
komutunuvold
'a gönderir.vold
, şifreleme başarıyla tamamlandıysa 0, dahili hata için -1 veya Şifreleme başarıyla tamamlanmadıysa -2.vold
,CRYPTO_ENCRYPTION_IN_PROGRESS
işaretinin kripto meta verilerine bakarak bunu belirler. Bu ayar ayarlanmışsa şifreleme işlemi kesintiye uğramıştır ve cihazda kullanılabilir veri yoktur.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. - Şifre kullanarak verilerin şifresini çözme
cryptfs cryptocomplete
başarılı olduğunda çerçeve, disk şifresini isteyen 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 önyükleme grafiği gösterir ve ardından
cryptfs restart
komutuylavold
'ü çağırır.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
'i monte edinvold
, 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
özelliğinitrigger_post_fs_data
olarak ayarlar. Bu,init.rc
'ünpost-fs-data
komutlarını çalıştırmasına neden olur. Onlar gerekli dizinleri veya bağlantıları oluşturun ve ardındanvold.post_fs_data_done
- 1.vold
, söz konusu mülkte 1 değerini gördüğündevold.decrypt
mülkünütrigger_restart_framework
olarak ayarlar. 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
Artık çerçeve, şifresi çözülmüş
/data
dosya sistemini kullanarak tüm hizmetlerini başlatır ve sistem kullanıma hazırdır.
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
- tmpfs'yi bağlama
- Ş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 temizleme işlemini gerçekleştirmesini isteyin:
vold
, şifreleme işlemi sırasında bir hata algılarsa ve henüz hiçbir veri yok edilmediyse ve çerçeve etkinse vold
, vold.encrypt_progress
mülkünü error_not_encrypted
olarak ayarlar.
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 kaldırıldıktan sonra ancak ilerleme çubuğu kullanıcı arayüzü açılmadan önce oluşursa vold
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 bir sorun olmaması için
tıklayın. Bu durumun yaşanması 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. Ardından kullanıcı arayüzünde, şifrelemenin başarısız olduğunu belirten bir mesaj gösterilir ve kullanıcının cihazı fabrika ayarlarına sıfırlayabileceği bir düğme sunulur.
Şifrelenmiş anahtarı depolama
Şifrelenmiş anahtar, kripto 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ı kutu dışı saldırılara karşı dayanıklı hale getirmek için, elde edilen anahtarı depolanan bir TEE anahtarıyla imzalayarak bu algoritmayı genişletiriz. Elde edilen imza daha sonra scrypt'in bir kez daha uygulanmasıyla uygun uzunlukta bir anahtara dönüştürülür. Bu anahtar daha sonra ana anahtarı şifrelemek ve ana anahtarın şifresini çözmek için kullanılır. 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 üretmek 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ştirin
Kullanıcı ayarlar bölümünde şifresini değiştirmeyi veya kaldırmayı seçtiğinde kullanıcı arayüzü, cryptfs changepw
komutunu vold
'e gönderir 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 burada 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 tüm çerçevenin kapatılması amacıyla vold tarafından ayarlanır. |
vold.decrypt trigger_restart_min_framework |
ro.crypto.state değerine bağlı olarak, şifreleme için ilerleme çubuğu kullanıcı arayüzünü başlatmak veya şifre isteğinde bulunmak üzere vold tarafından ayarlanır. |
vold.encrypt_progress |
Çerçeve başladığında, bu özellik ayarlanmışsa ilerleme çubuğu kullanıcı arayüzü moduna girin. |
vold.encrypt_progress 0 to 100 |
İlerleme çubuğu kullanıcı arayüzünde, ayarlanan yüzde değeri gösterilmelidir. |
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ğu kullanıcı arayüzünde, şifrelemenin tamamlandığını belirten bir mesaj gösterilir ve kullanıcıya cihazı yeniden başlatması için bir düğme sunulur. Bu hatanın oluşması beklenmez. |
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ışmıyor olduğundan bu hataya kimin yanıt verdiği anlaşılmıyor. Zaten böyle bir durum da olmamalıdır. |
vold.post_fs_data_done 0 |
vold.decrypt değerini trigger_post_fs_data olarak ayarlamadan hemen önce vold tarafından ayarlanır. |
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 |
vold komutu checkpw tarafından ayarlanır ve daha sonra vold komutu restart tarafından kullanılır. |
ro.crypto.state unencrypted |
Bu sistemin şifrelenmemiş bir /data ro.crypto.state encrypted ile çalıştığını belirtmek için init tarafından ayarlanır. init tarafından şu şekilde ayarlandı:
bu sistem şifrelenmiş bir /data ile çalışıyor. |
|
Bu beş özellik, init.rc 'den iletilen parametrelerle /data 'yi bağlamaya çalıştığında init tarafından ayarlanır. vold , kripto eşlemeyi ayarlamak için bunları kullanır. |
ro.crypto.tmpfs_options |
tmpfs /data dosya sistemini bağlarken init'in kullanacağı seçeneklerle init.rc tarafından ayarlanır. |
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