Täyden levyn salaus on prosessi, jossa kaikki Android-laitteen käyttäjätiedot salataan salatun avaimen avulla. Kun laite on salattu, kaikki käyttäjän luoma tieto salataan automaattisesti ennen sen tallentamista levylle ja kaikki luetut tiedot puretaan automaattisesti ennen niiden palauttamista kutsuvalle prosessille.
Täyden levyn salaus otettiin käyttöön Androidissa 4.4:ssä, mutta Android 5.0:ssa otettiin käyttöön nämä uudet ominaisuudet:
- Luotu nopea salaus, joka salaa vain käytetyt lohkot dataosiossa, jotta ensimmäinen käynnistys ei kestäisi kauan. Vain ext4- ja f2fs-tiedostojärjestelmät tukevat tällä hetkellä nopeaa salausta.
- Lisättiin
forceencrypt
fstab-lippu salaukseen ensimmäisen käynnistyksen yhteydessä. - Lisätty tuki kuvioille ja salaukselle ilman salasanaa.
- Lisättiin laitteistolla tuettu salausavaimen tallennus käyttäen Trusted Execution Environmentin (TEE) allekirjoitustoimintoa (kuten TrustZone). Lisätietoja on kohdassa Salausavaimen tallentaminen.
Varoitus: Android 5.0:aan päivitetyt ja sen jälkeen salatut laitteet voidaan palauttaa salaamattomaan tilaan tehdasasetusten palautuksella. Uusia Android 5.0laitteita, jotka on salattu ensimmäisellä käynnistyskerralla, ei voi palauttaa salaamattomaan tilaan.
- Miten Androidin täyden levyn salaus toimii
- Virrat
- Kryptaa uusi laite forceencryptillä
- Kryptaa olemassa oleva laite
- Salatun laitteen käynnistäminen oletussalauksella
- Salatun laitteen käynnistäminen ilman oletussalausta
- Epäonnistuminen
- Salatun avaimen tallentaminen
- Salasanan muuttaminen
- Salausominaisuudet
- Salausominaisuudet
- init properties
- Init-toiminnot
Miten Androidin täyden levyn salaus toimii
Androidin täyden levyn salaus perustuu dm-crypt
, joka on ytimen ominaisuus, joka toimii lohkolaitteiden tasolla. Tämän vuoksi salaus toimii Embedded MultiMediaCardin (eMMC) ja vastaavien flash-laitteiden kanssa, jotka esiintyvät ytimelle lohkolaitteina. Salaus ei ole mahdollista YAFFS:llä, joka puhuu suoraan rawNAND-flash-sirulle.
Salausalgoritmi on 128 Advanced Encryption Standard (AES), jossa on salakirjoituslohkojen ketjutus (CBC) ja ESSIV:SHA256. Pääavain salataan128-bittisellä AES:llä OpenSSL-kirjaston kutsujen avulla. Avaimen on oltava vähintään 128-bittinen (256 on valinnainen).
Huomautus: OEM-valmistajat voivat käyttää 128-bittistä tai korkeampaa 128-bittistä pääavaimen salaukseen.
Android 5.0 -versiossa on neljä erilaista salaustilaa:
- default
- PIN
- password
- pattern
Ensimmäisen käynnistyksen yhteydessä laite luo satunnaisesti luodun 128-bittisen pääavaimen ja hashaa sen oletussalasanalla ja tallennetulla suolalla. Oletussalasana on: ”default_password ”Tuloksena syntyvä hash on kuitenkin myös allekirjoitettu TEE:n (kuten TrustZone) kautta,joka käyttää allekirjoituksen hash:ia pääavaimen salaamiseen.
Vakiosalasana on määritelty Android Open Source Project cryptfs.cpp-tiedostossa.
Kun käyttäjä asettaa laitteeseen PIN-koodin/salasanan tai salasanan, vain 128-bittinen avain salataan ja tallennetaan uudelleen. (ts. käyttäjän PIN-koodin/passin/kuvion muutokset EIVÄT aiheuta käyttäjätietojen uudelleenkryptausta.) Huomaa, ettähallittavaan laitteeseen voi kohdistua PIN-koodi-, kuvio- tai salasanarajoituksia.
Kryptausta hallitaan init
ja vold
:llä.init
kutsuu vold
:aa, ja vold asettaa ominaisuuksia laukaisemaantapahtumia (triggerevents) initissä. Myös muut järjestelmän osat katsovat ominaisuuksia suorittaakseen tehtäviä, kuten raportoidakseen tilasta, kysyäkseen salasanaa tai kehottaakseen tehdasasetusten palauttamiseen kohtalokkaan virheen sattuessa. vold
:n salausominaisuuksien käyttämiseen järjestelmä käyttää komentorivityökalunvdc
cryptfs
komentoja: checkpw
,restart
, enablecrypto
, changepw
,cryptocomplete
, verifypw
, setfield
,getfield
, mountdefaultencrypted
, getpwtype
,getpw
ja clearpw
.
Voidaksesi salata, purkaa tai pyyhkiä /data
, /data
ei saa olla asennettuna. Käyttöliittymän (UI) näyttäminen edellyttää kuitenkin, että kehys on käynnistettävä ja että kehys vaatii /data
:n suorittamisen. Tämän pulman ratkaisemiseksi /data
:ään asennetaan väliaikainen tiedostojärjestelmä, jonka avulla Android voi tarvittaessa kysyä salasanoja, näyttää edistymistä tai ehdottaa tietojen pyyhkimistä. Se asettaa rajoituksen, että siirtyäkseen väliaikaisesta tiedostojärjestelmästä oikeaan /data
-tiedostojärjestelmään järjestelmän on pysäytettävä kaikki prosessit, joilla on avoimia tiedostoja väliaikaisessa tiedostojärjestelmässä, ja käynnistettävä nämä prosessit uudelleen oikeassa /data
-tiedostojärjestelmässä. Tätä varten kaikkien palveluiden on kuuluttava johonkin kolmesta ryhmästä: core
, main
ja late_start
.
-
core
: Ei koskaan sammuta käynnistyksen jälkeen. -
main
: Sammutetaan ja käynnistetään uudelleen levyn salasanan syöttämisen jälkeen. -
late_start
: Käynnistyy vasta sen jälkeen, kun/data
on purettu ja asennettu.
Näiden toimintojen käynnistämiseksi vold.decrypt
-ominaisuus asetetaan erilaisiksi merkkijonoiksi.Palveluiden lopettamiseksi ja uudelleenkäynnistämiseksi init
-komennot ovat:
-
class_reset
: Pysäyttää palvelun, mutta sallii sen uudelleenkäynnistämisen class_startilla. -
class_start
: Käynnistää palvelun uudelleen. -
class_stop
: Pysäyttää palvelun ja lisääSVC_DISABLED
-lipun. Pysäytetyt palvelut eivät vastaaclass_start
:een.
Virrat
Salattua laitetta varten on neljä virtaa. Laite salataan vain kerran ja sen jälkeen noudatetaan normaalia käynnistysvirtaa.
- Salaa aiemmin salaamaton laite:
- Salaa uusi laite
forceencrypt
:lla: Pakollinen salaus ensimmäisellä käynnistyksellä (alkaen Android L:stä). - Salaa olemassa oleva laite: Käyttäjän aloitteesta tapahtuva salaus (Android K ja aiemmat).
- Salaa uusi laite
- Käynnistä salattu laite:
- Salatun laitteen käynnistäminen ilman salasanaa: Salatun laitteen käynnistäminen, johon ei ole asetettu salasanaa (koskee laitteita, joissa on Android 5.0 ja uudempi).
- Salatun laitteen käynnistäminen salasanalla: Käynnistetään salattu laite, jolla on asetettu salasana.
Näiden virtojen lisäksi laite voi myös epäonnistua salauksessa /data
.Kukin virta selitetään yksityiskohtaisesti alla.
Kryptaa uusi laite forceencryptillä
Tämä on normaali ensimmäinen käynnistys Android 5.0-laite.
- Havaitse salaamaton tiedostojärjestelmä, jossa on
forceencrypt
-lippu/data
ei ole salattu, mutta sen on oltava, koskaforceencrypt
määrää sen. irrota/data
. - Aloita salaus
/data
vold.decrypt = "trigger_encryption"
laukaiseeinit.rc
,jolloinvold
salaa/data
ilman salasanaa.(None on asetettu, koska tämän pitäisi olla uusi laite.) - Mount tmpfs
vold
mounttaa tmpfs/data
:n (käyttäen tmpfs-asetuksia kohdastaro.crypto.tmpfs_options
) ja asettaa ominaisuudenvold.encrypt_progress
arvoksi 0.vold
esivalmistelee tmpfs/data
:n salatun järjestelmän käynnistämistä varten ja asettaa ominaisuudenvold.decrypt
arvoksi:trigger_restart_min_framework
- Tuo esiin kehys, joka näyttää edistymisen
Koska laitteessa ei ole käytännössä lainkaan salattavaa dataa, edistymispalkki ei useinkaan näy, koska salaus tapahtuu niin nopeasti. Katso lisätietoja edistymisen käyttöliittymästä kohdastaOlemassa olevan laitteen salaaminen.
- Kun
/data
on salattu, ota alas kehysvold
asettaavold.decrypt
tilaantrigger_default_encryption
, joka käynnistäädefaultcrypto
-palvelun. (Tämä käynnistää alla olevan virran, jolla asennetaan oletussalattu käyttäjätieto.)trigger_default_encryption
tarkistaa salaustyypin nähdäkseen, onko/data
salattu salasanalla vai ilman salasanaa. Koska Android 5.0 -laitteet salataan ensimmäisellä käynnistyskerralla, salasanaa ei pitäisi olla asetettu; siksi puramme salauksen ja mounttaamme/data
. - Mount
/data
init
mounttaa/data
tmpfs RAM-levylle käyttäenparametreja, jotka se poimiiro.crypto.tmpfs_options
:stä, joka on asetettuinit.rc
:ssä. - Käynnistä kehys
Asettaa
vold
:ntrigger_restart_framework
:ksi, joka jatkaa tavallista käynnistysprosessia.
Kryptaa olemassa oleva laite
Tämä tapahtuu, kun salaat salaamattoman Android K:n tai aikaisemmanlaitteen, joka on siirretty L:ään.
Tämä prosessi on käyttäjän käynnistämä, ja sitä kutsutaan koodissa nimellä ”inplace-salaus”. Kun käyttäjä valitsee laitteen salauksen, käyttöliittymä varmistaa, että akku on ladattu täyteen ja verkkolaite on kytketty verkkovirtaan, jotta virta riittää salausprosessin loppuun saattamiseen.
Varoitus: Jos laitteesta loppuu virta ja se sammuu ennen kuin se on saanut salauksen valmiiksi, tiedoston tiedot jäävät osittain salattuun tilaan. Laite on palautettava tehdasasetuksiin, ja kaikki tiedot menetetään.
Voidaksesi ottaa käyttöön paikan päällä tapahtuvan salauksen, vold
käynnistää silmukan, joka lukee jokaisen sektorin reaalilohkolaitteesta ja kirjoittaa sen sitten salauslohkolaitteeseen. vold
tarkistaa, onko sektori käytössä ennen sen lukemista ja kirjoittamista, mikä tekee salauksesta paljon nopeampaa uudessa laitteessa, jossa on vain vähän tai ei lainkaan dataa.
Laitteen tila: Aseta ro.crypto.state = "unencrypted"
ja suorita on nonencrypted
init
-triggeri jatkaaksesi käynnistystä.
- Tarkista salasana
Käyttöliittymä kutsuu
vold
komennollacryptfs enablecrypto inplace
jossapasswd
on käyttäjän lukitusnäytön salasana. - Sammuta kehys
vold
Tarkistaa virheiden varalta, palaa -1, jos salausta ei voida suorittaa, japainaa syyn lokiin. Jos se voi salata, se asettaa ominaisuudenvold.decrypt
arvoksitrigger_shutdown_framework
. Tämä aiheuttaa sen, ettäinit.rc
pysäyttää luokkienlate_start
jamain
palvelut. - Luo kryptoalustan
- Luo leipätiedoston
- Reboot
- Havainnoi leipätiedoston
- Aloita kryptaus
/data
vold
sen jälkeen asettaa kryptauskartoituksen, joka luo virtuaalisen salauslohkolaitteen, joka vastaa todellista lohkolaitetta, mutta salaa jokaisen sektorin, kun sitä kirjoitetaan, ja purkaa jokaisen sektorin, kun sitä luetaan.vold
luo sitten kryptometatiedot ja kirjoittaa ne ulos. - Samalla kun se salaa, mount tmpfs
vold
asentaa tmpfs/data
:n (käyttäen tmpfs-asetuksiaro.crypto.tmpfs_options
:stä) ja asettaa ominaisuudenvold.encrypt_progress
arvoksi 0.vold
valmistelee tmpfs/data
:n salatun järjestelmän käynnistämistä varten ja asettaa ominaisuudenvold.decrypt
arvoksi:trigger_restart_min_framework
- Tuo esiin kehyksen näyttämään edistymistä
trigger_restart_min_framework
aiheuttaainit.rc
käynnistämäänmain
-luokan palvelut. Kun kehys näkee, ettävold.encrypt_progress
on asetettu 0:ksi, se tuo esiin edistymispalkkiUI:n, joka kysyy kyseistä ominaisuutta viiden sekunnin välein ja päivittää edistymispalkin.Salaussilmukka päivittäävold.encrypt_progress
joka kerta, kun sekryptaa toisen prosentin osiosta. - Kun
/data
on salattu, päivitä kryptauksen alatunnisteKun
/data
:n salaus on onnistunut,vold
tyhjentää lipputunnisteenENCRYPTION_IN_PROGRESS
metatiedoissa.Kun laitteen lukitus on onnistuneesti avattu, salasanaa käytetään tämän jälkeen pääavaimen salaamiseen ja crypto footer päivitetään.
Jos uudelleenkäynnistys epäonnistuu jostain syystä,
vold
asettaa ominaisuudenvold.encrypt_progress
arvoksierror_reboot_failed
ja käyttöliittymän pitäisi näyttää viesti, jossa käyttäjää pyydetään painamaan painiketta uudelleenkäynnistystä varten. Tämän ei odoteta koskaan tapahtuvan.
Salatun laitteen käynnistäminen oletussalauksella
Tämä tapahtuu, kun käynnistät salatun laitteen ilman salasanaa.Koska Android 5.0 -laitteet salataan ensimmäisellä käynnistyskerralla, salasanaa ei pitäisi asettaa, joten tämä on oletussalaustila.
- Detect encrypted
/data
with no passwordHavaitse, että Android-laite on salattu, koska
/data
ei voida asentaa ja jokin lipuistaencryptable
taiforceencrypt
on asetettu.vold
asettaavold.decrypt
arvoksitrigger_default_encryption
, mikä käynnistäädefaultcrypto
-palvelun.trigger_default_encryption
tarkistaa salaustyypin nähdäkseen, onko/data
salattu salasanalla vai ilman salasanaa. - Purkaa salauksen /data
Luo
dm-crypt
-laitteen lohkolaitteen päälle, joten laiteon käyttövalmis. - Mount /data
vold
asentaa sitten puretun todellisen/data
-osion ja valmistelee uuden osion. Se asettaa ominaisuudenvold.post_fs_data_done
arvoksi 0 ja asettaa sittenvold.decrypt
arvoksitrigger_post_fs_data
. Tämä saainit.rc
suorittamaanpost-fs-data
-komennot. Ne luovat tarvittavat hakemistottai linkit ja asettavat sittenvold.post_fs_data_done
arvoksi 1.Kun
vold
näkee 1:n tuossa ominaisuudessa, se asettaa ominaisuudenvold.decrypt
arvoksi:trigger_restart_framework.
Tämä saainit.rc
käynnistämään luokanmain
palvelut uudelleen ja myös luokanlate_start
palvelut ensimmäistä kertaa käynnistyksen jälkeen. - Käynnistä kehys
Nyt kehys käynnistää kaikki palvelunsa käyttäen purettua
/data
,ja järjestelmä on käyttövalmis.
Salatun laitteen käynnistäminen ilman oletussalausta
Tämä tapahtuu, kun käynnistät salatun laitteen, jossa on asetettu salasana. Laitteen salasana voi olla pin, kuvio tai salasana.
- Tunnista salattu laite salasanalla
Tunnista, että Android-laite on salattu, koska lippu
ro.crypto.state = "encrypted"
vold
asettaavold.decrypt
arvoksitrigger_restart_min_framework
, koska/data
onsalattu salasanalla. - Mount tmpfs
init
asettaa viisi ominaisuutta tallentamaan alkuperäiset mount-asetukset, jotka on annettu/data
:lleinit.rc
:stä välitetyillä parametreilla.vold
käyttää näitä ominaisuuksia kryptokartoituksen määrittämiseen:-
ro.crypto.fs_type
-
ro.crypto.fs_real_blkdev
-
ro.crypto.fs_mnt_point
-
ro.crypto.fs_options
-
ro.crypto.fs_flags
(ASCII 8-numeroinen heksanumero, jota edeltää 0x)
-
- Käynnistää kehyksen kysyäkseen salasanaa
Kehys käynnistyy ja näkee, että
vold.decrypt
:n arvona ontrigger_restart_min_framework
. Tämä kertoo kehykselle, että se käynnistyy tmpfs-levyllä/data
ja sen on saatava käyttäjän salasana.Ensin sen on kuitenkin varmistettava, että levy on salattu oikein. Se lähettää komennon
cryptfs cryptocomplete
osoitteeseenvold
.vold
palauttaa 0, jos salaus suoritettiin onnistuneesti, -1 sisäisen virheen sattuessa, tai-2, jos salaus ei suoritettu onnistuneesti.vold
määrittää tämän etsimällä salausmetatiedoistaCRYPTO_ENCRYPTION_IN_PROGRESS
-merkin. Jos se on asetettu, salausprosessi keskeytettiin ja laitteessa on nousevaa dataa. Josvold
palauttaa virheen, käyttöliittymän pitäisi näyttää käyttäjälle viesti laitteen uudelleenkäynnistämisestä ja tehdasasetusten palauttamisesta ja antaa käyttäjälle painike, jota hän voi painaa tätä varten. - Salakirjoituksen purkaminen salasanalla
Kun
cryptfs cryptocomplete
on onnistunut, kehys näyttää käyttöliittymän, jossa kysytään levyn salasanaa. Käyttöliittymä tarkistaa salasanan lähettämällä komennoncryptfs checkpw
osoitteeseenvold
. Jos salasana on oikea (mikä määritetään kiinnittämällä salattu/data
onnistuneesti väliaikaiseen paikkaan ja irrottamalla se sitten),vold
tallentaa salatun lohkolaitteen nimen ominaisuuteenro.crypto.fs_crypto_blkdev
ja palauttaa käyttöliittymälle tilan 0. Jos salasana on väärä, se palauttaa -1 UI:lle. - Pysäytä kehys
UI asettaa salauksen käynnistysgrafiikan ja kutsuu sitten
vold
komennollacryptfs restart
.vold
asettaa ominaisuudenvold.decrypt
arvoksitrigger_reset_main
, mikä saainit.rc
tekemäänclass_reset main
. Tämä pysäyttää kaikki pääluokan palvelut, jolloin tmpfs/data
voidaan irrottaa. - Mount
/data
vold
mounttaa sitten puretun todellisen/data
-osion ja valmistelee uuden osion (jota ei ehkä ole koskaan valmisteltu, jos se on salattu wipe-vaihtoehdolla, jota ei tueta ensimmäisessä versiossa). Se asettaa ominaisuudenvold.post_fs_data_done
arvoksi 0 ja sittenvold.decrypt
arvoksitrigger_post_fs_data
. Tämä saainit.rc
suorittamaanpost-fs-data
-komentonsa. Ne luovat tarvittavat hakemistot tai linkit ja asettavat sittenvold.post_fs_data_done
:n arvoksi 1. Kunvold
näkee kyseisen ominaisuuden olevan 1, se asettaa ominaisuudenvold.decrypt
arvoksitrigger_restart_framework
. Tämä saainit.rc
käynnistämäänluokanmain
palvelut uudelleen ja myös luokanlate_start
palvelut ensimmäistä kertaa käynnistyksen jälkeen. - Käynnistä koko kehys
Nyt kehys käynnistää kaikki palvelunsa käyttäen purettua
/data
tiedostojärjestelmää, ja järjestelmä on käyttövalmis.
Epäonnistuminen
Laite, joka ei onnistu purkamaan salausta, voi olla sekaisin muutamasta syystä. Laitealoitetaan normaalilla käynnistysvaiheiden sarjalla:
- Havaitse salattu laite salasanalla
- Mount tmpfs
- Käynnistä kehys kysyäkseen salasanaa
Mutta sen jälkeen kun kehys on auennut, laitteessa voi esiintyä virheitä:
- Salasana täsmää, mutta tietoja ei voida purkaa
- Käyttäjä syöttää väärän salasanan 30 kertaa
Jos näitä virheitä ei saada korjattua, kehota käyttäjää pyyhkimään tiedot tehtaalla:
Jos vold
havaitsee virheen salausprosessin aikana ja jos mitään tietoja ei ole vielä tuhoutunut ja kehys on toiminnassa, vold
asettaa ominaisuuden vold.encrypt_progress
arvoksi error_not_encrypted
.Käyttöliittymä kehottaa käyttäjää käynnistämään järjestelmän uudelleen ja ilmoittaa, että salausprosessi ei koskaan käynnistynyt. Jos virhe ilmenee sen jälkeen, kun kehys on purettu, mutta ennen kuin edistymispalkin käyttöliittymä on päällä, vold
käynnistää järjestelmän uudelleen. Jos uudelleenkäynnistys epäonnistuu, se asettaa vold.encrypt_progress
:n arvoksi error_shutting_down
ja palauttaa arvon -1; mutta virheestä ei ole mitään kiinni. Tämän ei odoteta tapahtuvan.
Jos vold
havaitsee virheen salausprosessin aikana, se asettaa vold.encrypt_progress
arvoksi error_partially_encrypted
ja palauttaa -1. Käyttöliittymän pitäisi tällöin näyttää viesti, jonka mukaan salaus epäonnistui, ja tarjota käyttäjälle painike laitteen tehdasasetusten palauttamista varten.
Salatun avaimen tallentaminen
Salattu avain tallennetaan salausmetatietoihin. Laitteiston varmuuskopiointi toteutetaan käyttämällä Trusted Execution Environmentin (TEE) allekirjoitusominaisuutta.Aiemmin salasimme pääavaimen avaimella, joka luotiin soveltamalla scrypttia käyttäjän salasanaan ja tallennettuun suolaan. Jotta avain olisi vastustuskykyinen off-box-hyökkäyksiä vastaan, laajennamme tätä algoritmia allekirjoittamalla tuloksena olevan avaimen tallennetulla TEE-avaimella. Tuloksena saatu allekirjoitus muutetaan sitten sopivan pituiseksi avaimeksi soveltamalla vielä kerran scrypt-ohjelmaa. Tätä avainta käytetään sitten pääavaimen salaamiseen ja purkamiseen. Avaimen tallentaminen:
- Luo satunnainen 16 tavun levyn salausavain (DEK) ja 16 tavun suola.
- Sovelletaan scryptiä käyttäjän salasanaan ja suolaan 32 tavun väliavaimen 1 (IK1) tuottamiseksi.
- Täytetään IK1:een nolla tavua laitteistoon sidotun yksityisen avaimen (HBK) kokoon asti: 00 || IK1 || 00..00; yksi nollatavu, 32 IK1-tavua, 223 nollatavua.
- Sign täydentää IK1:n HBK:lla, jolloin saadaan 256 tavun IK2.
- Sovelletaan scryptiä IK2:een ja suolaa (sama suola kuin vaiheessa 2) 32 tavun IK3:n tuottamiseksi.
- Käytä IK3:n 16 ensimmäistä tavua KEK:nä ja 16 viimeistä tavua IV:nä.
- Salaa DEK AES_CBC:llä, avaimella KEK ja alustusvektorilla IV.
Salasanan muuttaminen
Kun käyttäjä valitsee vaihtaa tai poistaa salasanansa asetuksissa, käyttöliittymä lähettää komennon cryptfs changepw
osoitteeseen vold
, ja vold
salaa levyn pääavaimen uudelleen uudella salasanalla.
Salausominaisuudet
vold
ja init
kommunikoivat keskenään asettamalla ominaisuuksia. Seuraavassa on luettelo käytettävissä olevista salausominaisuuksista.
Salausominaisuudet
Ominaisuus | Kuvaus |
---|---|
vold.decrypt trigger_encryption |
Salaa asema ilman salasanaa. |
vold.decrypt trigger_default_encryption |
Tarkista, onko asema salattu ilman salasanaa.jos on, purkaa salaus ja kiinnitä se,muuten aseta vold.decrypt arvoksi trigger_restart_min_framework. |
vold.decrypt trigger_reset_main |
Aseta vold sammuttamaan käyttöliittymä, joka kysyy levyn salasanaa. |
vold.decrypt trigger_post_fs_data |
Aseta vold valmistelemaan /data tarvittavilla hakemistoilla jne. |
vold.decrypt trigger_restart_framework |
Asettaa vold käynnistämään oikean kehyksen ja kaikki palvelut. |
vold.decrypt trigger_shutdown_framework |
Asettaa vold sammuttamaan koko kehyksen aloittaakseen salauksen. |
vold.decrypt trigger_restart_min_framework |
Set by vold käynnistääprogress bar UI for encryption orprompt for password, depending onthe value of ro.crypto.state . |
vold.encrypt_progress |
Kun kehys käynnistyy,jos tämä ominaisuus on asetettu, astu edistymispalkin UI-tilaan. |
vold.encrypt_progress 0 to 100 |
Edistymispalkin UI:n tulisi näyttää asetettu prosenttiarvo. |
vold.encrypt_progress error_partially_encrypted |
Edistymispalkin käyttöliittymän tulisi näyttää viesti, jonka mukaan salaus epäonnistui, ja antaa käyttäjälle mahdollisuus laitteen tehdasasetusten palauttamiseen. |
vold.encrypt_progress error_reboot_failed |
Edistymispalkin käyttöliittymän tulisi näyttää viesti, jonka mukaan salaus on suoritettu loppuun, ja antaa käyttäjälle painike laitteen uudelleenkäynnistämiseksi. Tätä virhettä ei odoteta tapahtuvan. |
vold.encrypt_progress error_not_encrypted |
Edistymispalkin käyttöliittymän pitäisi näyttää viesti, jossa sanotaan, että tapahtui virhe, tietoja ei salattu tai menetetty, ja antaa käyttäjälle painike järjestelmän uudelleenkäynnistämiseksi. |
vold.encrypt_progress error_shutting_down |
Edistymispalkin käyttöliittymä ei ole käynnissä, joten on epäselvää, kuka reagoi tähän virheeseen. Eikä sen pitäisi muutenkaan koskaan tapahtua. |
vold.post_fs_data_done 0 |
Setaa vold juuri ennen vold.decrypt :n asettamista trigger_post_fs_data :ksi. |
vold.post_fs_data_done 1 |
Setaa init.rc tai init.rc juuri tehtävän post-fs-data päättämisen jälkeen. |
init properties
Property | Description | |
---|---|---|
ro.crypto.fs_crypto_blkdev |
Asetetaan komennolla vold checkpw myöhempää käyttöä varten komennolla vold restart . |
|
ro.crypto.state unencrypted |
Asetetaan init :llä kertomaan, että tämä järjestelmä toimii salaamattomalla /data ro.crypto.state encrypted :llä. Set by init to say this system is running with an encrypted /data . |
|
|
Nämä viisi ominaisuutta asetetaan init :n toimesta, kun init yrittää liittää /data :n parametreilla, jotka on välitetty init.rc :stä. vold käyttää näitä kryptokartoituksen määrittämiseen. |
|
ro.crypto.tmpfs_options |
Määrittää init.rc asetukset, joita initin tulisi käyttää, kun se mounttaa tmpfs /data -tiedostojärjestelmää. |