Мені було цікаво, чи можна вибрати різні паролі для шифрування пристрою в ICS?
Маючи той самий пароль для шифрування та розблокування екрана, це не так безпечно ...
Дякую за підказки.
Мені було цікаво, чи можна вибрати різні паролі для шифрування пристрою в ICS?
Маючи той самий пароль для шифрування та розблокування екрана, це не так безпечно ...
Дякую за підказки.
Відповіді:
Ні. Цитата з http://support.google.com/android/bin/answer.py?hl=uk&answer=1663755 :
Зауважте, що це той самий PIN-код або пароль, які ви використовуєте для розблокування телефону без шифрування, і його не можна встановити самостійно.
EDIT: Я знайшов це на xda, але думаю, що це може бути ризикованим і не вартих зусиль. http://forum.xda-developers.com/showthread.php?t=1680857
Для телефонів, які вже зашифровані, команда Android 5.x (Lollipop) дещо змінилася. Тепер замість того, щоб вводити пароль у лапках, спочатку потрібно кодувати пароль як шістнадцятковий та видавати наступні команди після отримання root:
vdc cryptfs changepw password HEX_ENCODED_PASSWORD_HERE
Оскільки пароль кодується шістнадцятковим, отримане значення не потребує цитат навколо нього.
Інша згадана команда vdc cryptfs changepw 'plaintext password here'
не впливає на Android 5.x та пізніші версії.
Якби я змінив свій пароль testing
, я отримав би цю команду після отримання root:
vdc cryptfs changepw password 74657374696e67
Якби я хотів змінити свій пароль на щось більш екзотичне (яке включало спеціальні символи, лапки та інші розділові знаки, наприклад, What's up "Doc"?
я отримав би наступну команду adb shell
після отримання su
root:
vdc cryptfs changepw password 5768617427732075702022446f63223f
Тепер перезавантажте телефон (ви можете надати reboot
команду), і вам буде запропоновано новий пароль.
Якщо пристрій зараз незашифрований, ви видасте таку команду:
vdc cryptfs enablecrypto inplace HEX_ENCODED_PASSWORD_HERE
Телефон перезавантажиться автоматично і проходить процес шифрування, який може зайняти годину або більше.
EncPassChanger стверджує, що це зробити, проте не перевіряв цього.
Пароль шифрування не має відповідати PIN-коду для розблокування екрана. Насправді ви можете зашифрувати свій пристрій паролем, навіть не маючи пароля / PIN-коду для блокування екрана. (це було спочатку з моїм недавно встановленим пристроєм).
Якщо ви думаєте про можливу безпечну реалізацію, це має сенс. Зашифрований пароль не використовується безпосередньо для шифрування ваших даних. По-перше, ключова функція деривації застосовується до парольної фрази. Потім отриманий ключ використовується для шифрування головного ключа. (Цей головний ключ використовується для шифрування диска.)
Зміна головного ключа неможлива без повторного шифрування всіх даних, що займає досить багато часу. Що можливо, і набагато швидше, це зміна парольної фрази, яка захищає головний ключ. На відміну від програмного забезпечення LUKS з ліцензією GPLv2 , ви можете вказати лише одну парольну фразу.
Вимоги:
adb
.Інструкції:
adb shell
на комп’ютері. (див. також 2)su
Припустивши, що ваш пароль є Give Mom batteries
, виконайте таку команду:
vdc cryptfs changepw 'Give Mom batteries'
Якщо ви вибрали екзотичні символи для своєї парольної фрази, обов'язково уникайте їх.
Я знайшов ці аргументи, заглянувши у вихідний код vold, зокрема CommandListener.cpp . Ця команда завжди була доступна з моменту введення шифрування диска в ICS:
$git log -n1 --oneline 70a4b3fd7a84a84bbe6e9d6d4ca3ee2098259fd
70a4b3f Change cryptfs changepw to only require a new password.
$ git branch --contains 70a4b3fd7a84a84bbe6e9d6d4ca3ee2098259fd -a
* cm-10.1
remotes/origin/HEAD -> origin/cm-10.1
remotes/origin/cm-10.1
remotes/origin/cm-9.0.0
remotes/origin/cm-9.1.0
remotes/origin/ics
remotes/origin/ics-release
remotes/origin/jellybean
remotes/origin/jellybean-stable
remotes/origin/mr1.1-staging