Teljes lemezes titkosítás

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

Az Android teljes lemezes titkosítása a dm-crypton 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 egy SVC_DISABLED jelzőt. A leállított szolgáltatások nem válaszolnak a class_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).
  • 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.

  1. Érzékeli a titkosítatlan fájlrendszert forceencrypt flaggel

    /data nem titkosított, de titkosítani kell, mert a forceencrypt előírja.Unmount /data.

  2. A /data

    vold.decrypt = "trigger_encryption" titkosításának megkezdése init.rc kiváltja vold a /data titkosítását jelszó nélkül (Nincs beállítva, mert ez egy új eszköznek kell lennie.).)

  3. Mount tmpfs

    vold mountol egy tmpfs /data-t (a ro.crypto.tmpfs_options tmpfs opciókat használva) és a vold.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 a vold.decrypt tulajdonságot: trigger_restart_min_framework

  4. 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.

  5. Amikor /data titkosítva van, vegye le a keretrendszert

    vold állítsa vold.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.

  6. Mount /data

    init majd csatlakoztatja a /data-t egy tmpfs RAMDiskre a ro.crypto.tmpfs_options-ből átvett paraméterekkel, amelyek a init.rc-ben vannak beállítva.

  7. Start framework

    A vold-t trigger_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.

  1. Check password

    A felhasználói felület meghívja a vold parancsot cryptfs enablecrypto inplaceamelyben passwd a felhasználó lock screen jelszava.

  2. 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 a vold.decrypttulajdonságot trigger_shutdown_framework-ra állítja. Ennek hatására a init.rc leállítja a late_start és main osztályok szolgáltatásait.

  3. Készítsen kriptalábrázolást
  4. Készítsen morzsafájlt
  5. Újraindítás
  6. Felismeri a morzsafájlt
  7. 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.

  8. Miközben titkosít, mount tmpfs

    vold mountol egy tmpfs /data-t (a ro.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

  9. Bring up framework to show progress

    trigger_restart_min_framework kaz init.rc indítja el a main 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íti vold.encrypt_progress, amikor a partíció újabb százalékát titkosítja.

  10. Amikor /data titkosítva van, frissítse a crypto footer-t

    Amikor /data sikeresen titkosítva van, vold törli a ENCRYPTION_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 a vold.encrypt_progress tulajdonságot error_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.

  1. Detect encrypted /data with no password

    Megállapítja, hogy az Android eszköz titkosított, mert /datanem lehet csatlakoztatni, és a encryptable vagyforceencrypt jelzők egyike be van állítva.

    vold beállítja a vold.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.

  2. Decrypt /data

    Elkészíti a dm-crypt eszközt a blokkeszköz felett, így az eszközhasználatra kész.

  3. 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 a vold.decryptt trigger_post_fs_data-re állítja. Ennek hatására a init.rc futtatja a post-fs-data parancsokat. Ezek létrehozzák a szükséges könyvtárakatvagy linkeket, majd a vold.post_fs_data_done tulajdonságot 1-re állítják.

    Mihelyt a vold látja az 1-et ebben a tulajdonságban, a vold.decrypt tulajdonságot vold.decrypt-re állítja: trigger_restart_framework. Ezáltal a init.rc újra elindítja a main osztályú szolgáltatásokat, és a late_start osztályú szolgáltatásokat is elindítja a rendszerindítás óta először.

  4. 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ó.

  1. Encrypted device with a password

    Detect that the Android device is encrypted because the flagro.crypto.state = "encrypted"

    vold set vold.decrypt totrigger_restart_min_framework because /data iscrypted with a password.

  2. Mount tmpfs

    init öt tulajdonságot állít be a /data számára megadott kezdeti mount optionsgiven a init.rc-től átadott paraméterekkel.A vold ezeket a tulajdonságokat használja a kripto leképezés beállításához:

    1. ro.crypto.fs_type
    2. ro.crypto.fs_real_blkdev
    3. ro.crypto.fs_mnt_point
    4. ro.crypto.fs_options
    5. ro.crypto.fs_flags (ASCII 8 számjegyű hexa szám, amelyet 0x előz meg)
  3. Start framework to prompt for password

    A keretrendszer elindul és látja, hogy a vold.decrypt értéke trigger_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 parancsot vold-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. A vold ezt úgy állapítja meg, hogy a kripto metaadatokban keresi a CRYPTO_ENCRYPTION_IN_PROGRESSjelzőt. Ha ez be van állítva, akkor a titkosítási folyamat megszakadt, és az eszközön tárolható adatok vannak. Ha a vold 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.

  4. 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 a cryptfs checkpw parancs vold-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 a ro.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.

  5. Stop framework

    A UI megjeleníti a kripto boot grafikát, majd meghívja a vold-t a cryptfs restart paranccsal. A vold avold.decrypt tulajdonságot trigger_reset_main-re állítja, aminek hatására ainit.rc elvégzi a class_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.

  6. 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). A vold.post_fs_data_done tulajdonságot 0-ra állítja, majd a vold.decrypt-t trigger_post_fs_data-re állítja. Ennek hatására a init.rc futtatja a post-fs-data parancsokat. Ezek létrehozzák a szükséges könyvtárakat vagy hivatkozásokat, majd a vold.post_fs_data_done tulajdonságot 1-re állítják. Amint a vold látja az 1-et ebben a tulajdonságban, a vold.decrypt tulajdonságot trigger_restart_framework-re állítja. Ennek hatására a init.rc újra elindítja a main osztályú szolgáltatásokat, és a late_start osztályú szolgáltatásokat is elindítja a rendszerindítás óta először.

  7. Start full framework

    Most a keretrendszer elindítja az összes szolgáltatását a visszafejtett /datafá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:

  1. Titkosított eszköz felismerése jelszóval
  2. Mount tmpfs
  3. 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:

  1. Generáljon véletlenszerű 16 bájtos lemez titkosítási kulcsot (DEK) és 16 bájtos sót.
  2. 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.
  3. 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.
  4. Az IK1-et HBK-val feltöltve 256 bájtos IK2-t kapunk.
  5. 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.
  6. Az IK3 első 16 bájtját használja KEK-ként, az utolsó 16 bájtot pedig IV-ként.
  7. 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.

ro.crypto.fs_type
ro.crypto.fs_real_blkdev
ro.crypto.fs_mnt_point
ro.crypto.fs_options
ro.crypto.fs_flags

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

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.