A teljes lemezes titkosítás az Android-eszközön lévő összes felhasználói adat titkosítása egy titkosított kulcs segítségével. Miután az eszköz titkosítva van, minden felhasználó által létrehozott adat automatikusan titkosításra kerül, mielőtt a lemezre kerül, és minden olvasás automatikusan visszafejti az adatokat, mielőtt visszaadja azokat a hívó folyamatnak.
A teljes lemezes titkosítás a 4.4-es Androidban került bevezetésre, de az Android 5.0 bevezette ezeket az új funkciókat:
- A gyors titkosítás, amely csak a használt blokkokat titkosítja az adatpartíción, hogy az első indítás ne tartson sokáig. Jelenleg csak az ext4 és az f2fs fájlrendszerek támogatják a gyors titkosítást.
- Hozzáadta a
forceencrypt
fstab flag-et az első indításkor történő titkosításhoz. - Hozzáadta a minták és a jelszó nélküli titkosítás támogatását.
- Hozzáadta a titkosítási kulcs hardveresen támogatott tárolását a Trusted Execution Environment (TEE) aláírási képességének használatával (például egy TrustZone-ban). További részletekért lásd: A titkosított kulcs tárolása.
Vigyázat! Az Android 5.0-ra frissített, majd titkosított készülékek a gyári adatok visszaállításával visszaállíthatók titkosítatlan állapotba. Az első indításkor titkosított új Android 5.0készülékek nem állíthatók vissza titkosítatlan állapotba.
- Hogyan működik az Android teljes lemezes titkosítása
- Folyamatok
- Új eszköz titkosítása forceencrypt
- Egy meglévő eszköz titkosítása
- Titkosított eszköz indítása alapértelmezett titkosítással
- Titkosított eszköz indítása alapértelmezett titkosítás nélkül
- Failure
- A titkosított kulcs tárolása
- A jelszó módosítása
- A titkosítási tulajdonságok
- Vold properties
- init properties
- Init actions
Hogyan működik az Android teljes lemezes titkosítása
Az Android teljes lemezes titkosítása a dm-crypt
on alapul, amely egy kernelfunkció, amely a blokkeszköz rétegén működik. Emiatt a titkosítás működik a beágyazott MultiMediaCard (eMMC) és hasonló flash eszközökkel, amelyek a kernel számára blokkeszközként jelennek meg. A titkosítás nem lehetséges a YAFFS-sel, amely közvetlenül a nyers NAND flash chiphez beszél.
A titkosítási algoritmus 128 Advanced Encryption Standard (AES), CBC (Ccipher-block chaining) és ESSIV:SHA256. A főkulcs titkosítása128 bites AES-szel történik az OpenSSL könyvtár hívásain keresztül. A kulcshoz legalább 128 bites kulcsot kell használni (a 256 bites választható).
Megjegyzés: Az OEM-ek 128 bites vagy magasabb titkosítást használhatnak a mester kulcs titkosításához.
Az Android 5.0 kiadásban négyféle titkosítási állapot létezik:
- alapértelmezett
- PIN
- jelszó
- minta
A készülék az első indításkor véletlenszerűen generált 128 bites mester kulcsot hoz létre, majd egy alapértelmezett jelszóval és egy tárolt sóval hash-olja azt. Az alapértelmezett jelszó: “default_password “Az így kapott hash azonban egy TEE-n (például TrustZone) keresztül is aláírásra kerül,amely az aláírás hash-ját használja a mester kulcs titkosításához.
Az Android Open Source Project cryptfs.cppfile-ban megtalálható az alapértelmezett jelszó.
Amikor a felhasználó beállítja a PIN/pass vagy jelszót az eszközön, csak a 128 bites kulcsot titkosítja újra és tárolja. (azaz a felhasználói PIN/pass/minta módosításai NEM okozzák a felhasználói adatok újratitkosítását.) Vegye figyelembe, hogy a kezelt eszközre vonatkozhatnak PIN, minta vagy jelszó korlátozások.
A titkosítást a init
és vold
kezeli.init
meghívja a vold
-t, és vold beállítja a tulajdonságokat, hogy init-ben eseményeket váltson ki. A rendszer más részei is megnézik a tulajdonságokat, hogy olyan feladatokat hajtsanak végre, mint az állapotjelentés, a jelszó kérése vagy a gyári visszaállításra való felszólítás végzetes hiba esetén. A vold
titkosítási tulajdonságainak meghívásához a rendszer a parancssori eszközvdc
cryptfs
parancsait használja: checkpw
,restart
, enablecrypto
, changepw
,cryptocomplete
, verifypw
, setfield
,getfield
, mountdefaultencrypted
, getpwtype
,getpw
és clearpw
.
A /data
titkosításához, dekódolásához vagy törléséhez a /data
nem lehet csatlakoztatva. Ahhoz azonban, hogy bármilyen felhasználói felület (UI) megjelenjen, a keretrendszernek el kell indulnia, és a keretrendszernek szüksége van /data
futtatására. Ennek a rejtélynek a megoldására egy ideiglenes fájlrendszer van csatolva a /data
-re.Ez lehetővé teszi az Android számára, hogy szükség szerint jelszavakat kérjen, előrehaladást mutasson, vagy adattörlést javasoljon. Ez azt a korlátozást jelenti, hogy az ideiglenes fájlrendszerről a valódi /data
fájlrendszerre való átváltáshoz a rendszernek le kell állítania minden olyan folyamatot, amely nyitott fájlokat tárol az ideiglenes fájlrendszeren, és újra kell indítania ezeket a folyamatokat a valódi /data
fájlrendszeren. Ehhez minden szolgáltatásnak a három csoport egyikébe kell tartoznia: core
, main
és late_start
.
-
core
: Indítás után soha nem áll le. -
main
: Lezárás, majd újraindítás a lemezjelszó megadása után. -
late_start
: Nem indul addig, amíg a/data
titkosítása és csatolása meg nem történt.
Ezek a műveletek kiváltásához a vold.decrypt
tulajdonságot különböző karakterláncokra kell állítani.A szolgáltatások leállításához és újraindításához a init
parancsok a következők:
-
class_reset
: Leállítja a szolgáltatást, de lehetővé teszi, hogy a class_start segítségével újraindítható legyen. -
class_start
: Egy szolgáltatás újraindítása. -
class_stop
: Leállít egy szolgáltatást és hozzáad egySVC_DISABLED
jelzőt. A leállított szolgáltatások nem válaszolnak aclass_start
-re.
Folyamatok
Egy titkosított eszközhöz négy folyamat tartozik. Egy eszköz csak egyszer van titkosítva, majd a normál indítási folyamatot követi.
- Egy korábban nem titkosított eszköz titkosítása:
- Új eszköz titkosítása a
forceencrypt
segítségével: Kötelező titkosítás az első indításkor (az Android L-től kezdve). - Egy meglévő eszköz titkosítása: Felhasználó által kezdeményezett titkosítás (Android K és korábbiak).
- Új eszköz titkosítása a
- Titkosított eszköz indítása:
- Titkosított eszköz indítása jelszó nélkül: Beállított jelszóval nem rendelkező titkosított eszköz indítása (Android 5.0 és újabb operációs rendszert futtató eszközökre vonatkozik).
- Titkosított eszköz indítása jelszóval: Beállított jelszóval rendelkező titkosított eszköz indítása.
Ezeken az áramlatokon kívül az eszköz titkosítása is sikertelen lehet /data
.Az egyes áramlatokat az alábbiakban részletesen ismertetjük.
Új eszköz titkosítása forceencrypt
Ez a normál első indítás egy Android 5. sz.0 eszköz.
- Érzékeli a titkosítatlan fájlrendszert
forceencrypt
flaggel/data
nem titkosított, de titkosítani kell, mert aforceencrypt
előírja.Unmount/data
. - A
/data
vold.decrypt = "trigger_encryption"
titkosításának megkezdéseinit.rc
kiváltjavold
a/data
titkosítását jelszó nélkül (Nincs beállítva, mert ez egy új eszköznek kell lennie.).) - Mount tmpfs
vold
mountol egy tmpfs/data
-t (aro.crypto.tmpfs_options
tmpfs opciókat használva) és avold.encrypt_progress
tulajdonságot 0-ra állítja.vold
előkészíti a tmpfs/data
-t egy titkosított rendszer indításához és beállítja avold.decrypt
tulajdonságot:trigger_restart_min_framework
- Hozd fel a keretrendszert a haladás megjelenítésére
Miatt, hogy az eszközön gyakorlatilag nincs titkosítandó adat, a haladásjelző gyakran nem is fog megjelenni, mert a titkosítás olyan gyorsan történik. Lásd: Meglévő eszköz titkosítása a haladás felhasználói felületével kapcsolatos további részletekért.
- Amikor
/data
titkosítva van, vegye le a keretrendszertvold
állítsavold.decrypt
atrigger_default_encryption
értékre, ami elindítja adefaultcrypto
szolgáltatást. (Ez elindítja az alábbi folyamatot az alapértelmezett titkosított felhasználói adatok mountolásához.)trigger_default_encryption
ellenőrzi a titkosítás típusát, hogy lássa, hogy/data
titkosított-e apassworddel vagy anélkül. Mivel az Android 5.0 eszközök az első indításkor titkosítva vannak, nem kell jelszót beállítani; ezért dekódoljuk és csatlakoztatjuk a/data
-t. - Mount
/data
init
majd csatlakoztatja a/data
-t egy tmpfs RAMDiskre aro.crypto.tmpfs_options
-ből átvett paraméterekkel, amelyek ainit.rc
-ben vannak beállítva. - Start framework
A
vold
-ttrigger_restart_framework
-re állítja, ami folytatja a szokásos boot folyamatot.
Egy meglévő eszköz titkosítása
Ez történik, amikor titkosít egy titkosítatlan Android K vagy korábbiAndroid K vagy korábbi készüléket, amelyet L-re migráltak.
Ezt a folyamatot a felhasználó kezdeményezi, és a kódban “inplace titkosításnak” nevezik. Amikor a felhasználó kiválasztja az eszköz titkosítását, a felhasználói felület meggyőződik arról, hogy az akkumulátor teljesen fel van töltve és a hálózati adapter be van dugva, így elegendő energia áll rendelkezésre a titkosítási folyamat befejezéséhez.
Figyelmeztetés: Ha az eszköz lemerül és kikapcsol, mielőtt befejezné a titkosítást, a fájladatok részben titkosított állapotban maradnak. Az eszközt vissza kell állítani a gyári állapotba, és minden adat elveszik.
A helyben történő titkosítás engedélyezéséhez a vold
egy ciklusba kezd, hogy beolvassa a valós blokkeszköz minden egyes szektorát, majd beírja azt a kriptoblokkeszközbe. vold
az olvasás és írás előtt ellenőrzi, hogy egy szektor használatban van-e, ami sokkal gyorsabbá teszi a titkosítást egy új eszközön, amely kevés vagy semmilyen adatot nem tartalmaz.
Az eszköz állapota: Set ro.crypto.state = "unencrypted"
és a on nonencrypted
init
trigger végrehajtása a bootolás folytatásához.
- Check password
A felhasználói felület meghívja a
vold
parancsotcryptfs enablecrypto inplace
amelybenpasswd
a felhasználó lock screen jelszava. - Take down the framework
vold
ellenőrzi a hibákat, -1-et ad vissza, ha nem tud titkosítani, és kiírja az okot a naplóba. Ha tud titkosítani, akkor avold.decrypt
tulajdonságottrigger_shutdown_framework
-ra állítja. Ennek hatására ainit.rc
leállítja alate_start
ésmain
osztályok szolgáltatásait. - Készítsen kriptalábrázolást
- Készítsen morzsafájlt
- Újraindítás
- Felismeri a morzsafájlt
- Elkezdi a titkosítást
/data
vold
majd beállítja a kripto leképezést, amely létrehoz egy virtuális kriptoblokk-eszközt,amely leképezi a valódi blokk-eszközt, de minden egyes szektort titkosít, amikor írják,és minden egyes szektort dekódol, amikor olvassák.vold
ezután létrehozza és kiírja a kripto metaadatokat. - Miközben titkosít, mount tmpfs
vold
mountol egy tmpfs/data
-t (aro.crypto.tmpfs_options
-ből származó tmpfs opciókat használva) és a propertyvold.encrypt_progress
-t 0-ra állítja.vold
előkészíti a tmpfs/data
-t egy titkosított rendszer indításához és a propertyvold.decrypt
-t beállítja:trigger_restart_min_framework
- Bring up framework to show progress
trigger_restart_min_framework
kazinit.rc
indítja el amain
szolgáltatási osztályt. Amikor a keretrendszer látja, hogyvold.encrypt_progress
0-ra van állítva, előhívja a progress barUI-t, amely öt másodpercenként lekérdezi ezt a tulajdonságot és frissíti a progress bar-t.A titkosítási ciklus minden alkalommal frissítivold.encrypt_progress
, amikor a partíció újabb százalékát titkosítja. - Amikor
/data
titkosítva van, frissítse a crypto footer-tAmikor
/data
sikeresen titkosítva van,vold
törli aENCRYPTION_IN_PROGRESS
jelzést a metaadatokban.Az eszköz sikeres feloldása után a jelszó felhasználásra kerül a mesterkulcs titkosításához, és frissül a crypto footer.
Ha az újraindítás valamilyen okból nem sikerül,
vold
avold.encrypt_progress
tulajdonságoterror_reboot_failed
-re állítja, és a felhasználói felületnek egy üzenetet kell megjelenítenie, amely arra kéri a felhasználót, hogy nyomjon meg egy gombot az újraindításhoz. Ez várhatóan soha nem fordul elő.
Titkosított eszköz indítása alapértelmezett titkosítással
Ez történik, amikor egy titkosított eszközt jelszó nélkül indítunk el.Mivel az Android 5.0 eszközök az első indításkor titkosítva vannak, nem kell beállítottjelszónak lennie, ezért ez az alapértelmezett titkosítási állapot.
- Detect encrypted
/data
with no passwordMegállapítja, hogy az Android eszköz titkosított, mert
/data
nem lehet csatlakoztatni, és aencryptable
vagyforceencrypt
jelzők egyike be van állítva.vold
beállítja avold.decrypt
értékettrigger_default_encryption
-re, ami elindítja adefaultcrypto
szolgáltatást.trigger_default_encryption
ellenőrzi a titkosítás típusát, hogy kiderüljön, hogy/data
jelszóval vagy jelszó nélkül van-e titkosítva. - Decrypt /data
Elkészíti a
dm-crypt
eszközt a blokkeszköz felett, így az eszközhasználatra kész. - Mount /data
vold
ezután mountolja a dekódolt valódi/data
partíciót, majd előkészíti az új partíciót. Avold.post_fs_data_done
tulajdonságot 0-ra állítja, majd avold.decrypt
ttrigger_post_fs_data
-re állítja. Ennek hatására ainit.rc
futtatja apost-fs-data
parancsokat. Ezek létrehozzák a szükséges könyvtárakatvagy linkeket, majd avold.post_fs_data_done
tulajdonságot 1-re állítják.Mihelyt a
vold
látja az 1-et ebben a tulajdonságban, avold.decrypt
tulajdonságotvold.decrypt
-re állítja:trigger_restart_framework.
Ezáltal ainit.rc
újra elindítja amain
osztályú szolgáltatásokat, és alate_start
osztályú szolgáltatásokat is elindítja a rendszerindítás óta először. - Start framework
Most a keretrendszer elindítja az összes szolgáltatását a visszafejtett
/data
használatával,és a rendszer készen áll a használatra.
Titkosított eszköz indítása alapértelmezett titkosítás nélkül
Ez történik, amikor egy titkosított eszközt indítunk beállított jelszóval. Az eszköz jelszava lehet pin, minta vagy jelszó.
- Encrypted device with a password
Detect that the Android device is encrypted because the flag
ro.crypto.state = "encrypted"
vold
setvold.decrypt
totrigger_restart_min_framework
because/data
iscrypted with a password. - Mount tmpfs
init
öt tulajdonságot állít be a/data
számára megadott kezdeti mount optionsgiven ainit.rc
-től átadott paraméterekkel.Avold
ezeket a tulajdonságokat használja a kripto leképezés beállításához:-
ro.crypto.fs_type
-
ro.crypto.fs_real_blkdev
-
ro.crypto.fs_mnt_point
-
ro.crypto.fs_options
-
ro.crypto.fs_flags
(ASCII 8 számjegyű hexa szám, amelyet 0x előz meg)
-
- Start framework to prompt for password
A keretrendszer elindul és látja, hogy a
vold.decrypt
értéketrigger_restart_min_framework
. Ez azt mondja a keretrendszernek, hogy egy tmpfs/data
lemezről indul, és meg kell kérnie a felhasználói jelszót.Először azonban meg kell győződnie arról, hogy a lemez megfelelően titkosított. Elküldi a
cryptfs cryptocomplete
parancsotvold
-ra.vold
0-t ad vissza, ha a titkosítás sikeresen befejeződött, -1 belső hiba esetén, vagy-2-t, ha a titkosítás nem fejeződött be sikeresen. Avold
ezt úgy állapítja meg, hogy a kripto metaadatokban keresi aCRYPTO_ENCRYPTION_IN_PROGRESS
jelzőt. Ha ez be van állítva, akkor a titkosítási folyamat megszakadt, és az eszközön tárolható adatok vannak. Ha avold
hibát ad vissza, a felhasználói felületnek üzenetet kell megjelenítenie a felhasználónak az eszköz újraindítására és gyári alaphelyzetbe állítására, és meg kell adnia a felhasználónak egy gombot, amelyet megnyomhat ehhez. - Decrypt data with password
Ha a
cryptfs cryptocomplete
sikeres, a keretrendszer megjelenít egy felhasználói felületet, amely a lemez jelszavát kéri. A felhasználói felület a jelszót acryptfs checkpw
parancsvold
-ra történő elküldésével ellenőrzi. Ha a jelszó helyes (amit a dekódolt/data
ideiglenes helyre történő sikeres mountolásával, majd leválasztásával lehet megállapítani),vold
elmenti a dekódolt blokkeszköz nevét aro.crypto.fs_crypto_blkdev
tulajdonságba, és 0 állapotot küld vissza az UI-nak. Ha a jelszó helytelen, -1-et ad vissza az UI-nak. - Stop framework
A UI megjeleníti a kripto boot grafikát, majd meghívja a
vold
-t acryptfs restart
paranccsal. Avold
avold.decrypt
tulajdonságottrigger_reset_main
-re állítja, aminek hatására ainit.rc
elvégzi aclass_reset main
feladatot. Ez leállítja az összes szolgáltatást a főosztályban, ami lehetővé teszi a tmpfs/data
leválasztását. - Mount
/data
vold
ezután mountolja a dekódolt valódi/data
partíciót, és előkészíti az új partíciót (ami lehet, hogy soha nem készült el, ha a wipe opcióval lett titkosítva, ami az első kiadásban nem támogatott). Avold.post_fs_data_done
tulajdonságot 0-ra állítja, majd avold.decrypt
-ttrigger_post_fs_data
-re állítja. Ennek hatására ainit.rc
futtatja apost-fs-data
parancsokat. Ezek létrehozzák a szükséges könyvtárakat vagy hivatkozásokat, majd avold.post_fs_data_done
tulajdonságot 1-re állítják. Amint avold
látja az 1-et ebben a tulajdonságban, avold.decrypt
tulajdonságottrigger_restart_framework
-re állítja. Ennek hatására ainit.rc
újra elindítja amain
osztályú szolgáltatásokat, és alate_start
osztályú szolgáltatásokat is elindítja a rendszerindítás óta először. - Start full framework
Most a keretrendszer elindítja az összes szolgáltatását a visszafejtett
/data
fájlrendszer használatával, és a rendszer készen áll a használatra.
Failure
Az eszköz, amelynek nem sikerül a dekódolás, több okból is hibás lehet. Az eszköz a normál lépéssorozattal indul a rendszerindításhoz:
- Titkosított eszköz felismerése jelszóval
- Mount tmpfs
- Start framework to prompt for password
De miután a keretrendszer megnyílt, az eszköz néhány hibával találkozhat:
- A jelszó megegyezik, de nem tudja visszafejteni az adatokat
- A felhasználó 30-szor rossz jelszót ad meg
Ha ezek a hibák nem oldódnak meg, kérje a felhasználót a gyári törlésre:
Ha a vold
hibát észlel a titkosítási folyamat során, és ha még nem semmisültek meg adatok és a keretrendszer működik, a vold
a vold.encrypt_progress
tulajdonságot error_not_encrypted
-re állítja.A felhasználói felület újraindításra szólítja fel a felhasználót, és figyelmezteti, hogy a titkosítási folyamat soha nem indult el. Ha a hiba a keretrendszer lebontása után következik be, de még mielőtt a progress bar UI megjelenik, a vold
újraindítja a rendszert. Ha az újraindítás sikertelen, akkor vold.encrypt_progress
-et error_shutting_down
-re állítja és -1-et ad vissza; de nem lesz semmi, ami a hibát elkapja. Ez nem várható.
Ha a vold
hibát észlel a titkosítási folyamat során, akkor a vold.encrypt_progress
értékét error_partially_encrypted
-ra állítja és -1-et ad vissza. A felhasználói felületnek ekkor egy üzenetet kell megjelenítenie a titkosítás sikertelenségéről, és egy gombot kell biztosítania a felhasználó számára az eszköz gyári visszaállításához.
A titkosított kulcs tárolása
A titkosított kulcsot a titkosítási metaadatokban tárolja. A hardveres alátámasztás a Trusted Execution Environment (TEE) aláírási képességének használatával valósul meg.Korábban a mesterkulcsot a scryptt alkalmazásával generált kulccsal titkosítottuk a felhasználó jelszavára és a tárolt sóra. Annak érdekében, hogy a kulcs ellenálló legyen az off-box támadásokkal szemben, ezt az algoritmust kiterjesztjük a kapott kulcsnak egy tárolt TEE-kulccsal történő aláírásával. Az így kapott aláírást ezután a scrypt egy újabb alkalmazásával megfelelő hosszúságú kulccsá alakítjuk. Ezt a kulcsot ezután a főkulcs titkosítására és visszafejtésére használjuk. A kulcs tárolásához:
- Generáljon véletlenszerű 16 bájtos lemez titkosítási kulcsot (DEK) és 16 bájtos sót.
- Alkalmazza a scryptet a felhasználói jelszóra és a sóra a 32 bájtos intermediateekey 1 (IK1) előállításához.
- Töltsük fel az IK1-et nulla bájttal a hardverhez kötött privát kulcs (HBK) méretéig: 00 || IK1 || 00..00; egy nulla bájt, 32 IK1 bájt, 223 nulla bájt.
- Az IK1-et HBK-val feltöltve 256 bájtos IK2-t kapunk.
- Alkalmazzuk a scryptet az IK2-re és a sót (ugyanazt a sót, mint a 2. lépésben), hogy 32 bájtos IK3-at kapjunk.
- Az IK3 első 16 bájtját használja KEK-ként, az utolsó 16 bájtot pedig IV-ként.
- Kódolja a DEK-t AES_CBC-vel, a KEK kulccsal és az IV inicializációs vektorral.
A jelszó módosítása
Ha a felhasználó úgy dönt, hogy megváltoztatja vagy eltávolítja jelszavát a beállításokban, az UI elküldi a cryptfs changepw
parancsot a vold
-nak, ésvold
újrakódolja a lemez mesterkulcsát az új jelszóval.
A titkosítási tulajdonságok
vold
és init
a tulajdonságok beállításával kommunikálnak egymással. Íme a titkosításhoz rendelkezésre álló tulajdonságok listája.
Vold properties
Property | Description |
---|---|
vold.decrypt trigger_encryption |
Encrypt the drive with no password. |
vold.decrypt trigger_default_encryption |
Vizsgálja meg, hogy a meghajtó jelszó nélkül titkosítva van-e. Ha igen, dekódolja és csatolja, különben állítsa be a vold.decrypt értéket trigger_restart_min_framework-ra. |
vold.decrypt trigger_reset_main |
A vold állítsa le a lemez jelszavát kérő felhasználói felületet. |
vold.decrypt trigger_post_fs_data |
A vold állítsa elő a /data -et a szükséges könyvtárakkal, stb. |
vold.decrypt trigger_restart_framework |
Beállítja a vold, hogy elindítsa a valódi keretrendszert és az összes szolgáltatást. |
vold.decrypt trigger_shutdown_framework |
Beállítja a vold, hogy leállítsa a teljes keretrendszert a titkosítás elindításához. |
vold.decrypt trigger_restart_min_framework |
Set by vold to start theprogress bar UI for encryption orprompt for password, depending onthe value of ro.crypto.state . |
vold.encrypt_progress |
A keretrendszer indításakor,ha ez a tulajdonság be van állítva, belép a progress bar UI módba. |
vold.encrypt_progress 0 to 100 |
A progress bar UI-nak a beállított százalékos értéket kell megjelenítenie. |
vold.encrypt_progress error_partially_encrypted |
A progress bar UI-nak üzenetet kell megjelenítenie, hogy a titkosítás sikertelen volt, és lehetőséget kell adnia a felhasználónak a készülék gyári visszaállítására. |
vold.encrypt_progress error_reboot_failed |
A progress bar UI-nak üzenetet kell megjelenítenie, hogy a titkosítás befejeződött, és gombot kell adnia a felhasználónak a készülék újraindítására. Ez a hiba nem várható. |
vold.encrypt_progress error_not_encrypted |
A progress bar UI-nak egy üzenetet kell megjelenítenie, amely szerint hiba történt, nem titkosított vagy elveszett adatokat, és a felhasználónak egy gombot kell adnia a rendszer újraindításához. |
vold.encrypt_progress error_shutting_down |
A progress bar UI nem fut, így nem világos, ki fog reagálni erre a hibára. És amúgy sem szabadna megtörténnie. |
vold.post_fs_data_done 0 |
Közvetlenül a vold.decrypt beállítása előtt trigger_post_fs_data . |
vold.post_fs_data_done 1 |
Közvetlenül a post-fs-data feladat befejezése után init.rc vagy init.rc . |
init properties
Property | Description | |
---|---|---|
ro.crypto.fs_crypto_blkdev |
A vold parancs checkpw által a vold parancs restart általi későbbi használatra beállítva. |
|
ro.crypto.state unencrypted |
Az init által beállított |
jelzi, hogy ez a rendszer titkosítatlan /data ro.crypto.state encrypted rendszerrel fut. Set by init to say this system is running with an encrypted /data . |
|
Ezt az öt tulajdonságot a init állítja be, amikor megpróbálja a /data -et a init.rc -ből átadott paraméterekkel csatlakoztatni. A vold ezeket használja a kriptomapping beállításához. |
|
ro.crypto.tmpfs_options |
Az init.rc által beállított opciókat az initnek kell használnia, amikor a tmpfs /data fájlrendszert mountolja. |
Init actions
.