Чи достатньо безпечно використовувати PIN-код для шифрування?


19

На Android 4.0 (Samsung Galaxy Nexus) є можливість шифрування телефону. Я дізнався це про шифрування на Android 3.0, чи ті самі алгоритми, які використовуються в Android 4? http://source.android.com/tech/encryption/android_crypto_implementation.html

Моє головне питання стосується використання PIN-коду для розшифровки телефону. Чому я змушений використовувати той самий пароль, щоб розблокувати екран та розшифрувати телефон? Це обмеження дозволить мені використовувати пароль низької складності (наприклад, PIN-код), оскільки було б важко написати, тобто 17 символів, щоб розблокувати мій телефон для простого телефонного дзвінка.

Спроби грубої сили проти розблокування екрана можна запобігти, тобто шляхом перезавантаження силою кожні 5 спроб. Тому немає необхідності в дуже сильному паролі, PIN-код може бути досить хорошим.
Цей тип захисту не можна використовувати на диску, тому більша потреба у більш надійних паролях тут. (Це не дуже допомагає, що кількість ентропій паролів збільшилася, оскільки користувачів буде дуже мало зі складним паролем, тому зловмисник може просто спробувати більшість паролів з низькою складністю). Які міркування змушені використовувати один і той же пароль для обох функцій?


3
Так, але якщо я використовую пароль, мені потрібно буде використовувати його, щоб просто розблокувати екран. Не дуже зручно вводити 17 символів для швидкого дзвінка. Таким чином, більшість користувачів отримають належне за допомогою PIN-кодів, і це було б першим, що спробує зловмисник. Кращим підходом могло б бути дозволити парольні фрази для шифрування диска та дозволити прості PIN-коди на заблокованому екрані. Щоб уникнути спроб грубої сили на блокувальному екрані, можливе перезавантаження після 3 невдалих спроб, що призвело до запиту пароля.
Крістофер Как

1
На жаль, я не знаю, що хтось, крім Google, не міг би розповісти вам міркування, на жаль. Ви можете спробувати трекер помилок Android, щоб надіслати запит на функцію, ймовірно. Це здається розумною справою подати туди.
eldarerathis

2
Так, проти спроби входу на екран розблокування, але не проти розшифровки жорсткого диска. Це те, що я намагаюся сказати, розблокування екрана не повинно бути таким, як шифрування жорсткого диска (яке повинно бути набагато довше 4 цифр), і, таким чином, не слід змушувати використовувати одне і те саме для обох.
Крістофер Как

1
+1, я повністю з тобою @ ChristopherKäck Це рішення не має сенсу, інженери google повинні були б знати краще, сподіваюсь, вони скоро його виправлять.
Жоао Портела

1
@Christopher: але ви базуєте своє рішення на неправильному передумові, шифрування на диску було 128-бітним AES, а не чотиризначним PIN-кодом. Визначення того, чи є ця схема безпечною чи за своєю суттю несправною, не є досвідом Android.SE.
Лежи Райан

Відповіді:


4

Я думаю, що я знайшов рішення. Перевірте це посилання . Це злом, і він вимагає вкорінення телефону, але він дозволяє використовувати буквено-цифровий пароль для шифрування та PIN-код для розблокування екрана.



1

Використовуючи пароль / фразу проти чотиризначного штифта, ви підвищуєте безпеку свого пристрою. Хитрість полягає в тому, що навіть маючи чотири знаки пароля, ви просто підвищили свою безпеку з двох причин:

  • Ви збільшили кількість доступних символів.
  • Ви забрали знання зловмисників про вашу довжину pw.

Якщо зловмисник знає, що ваш пароль - 14 символів, він є більш безпечним, ніж чотири-восьми знаковий пароль, але типова статистика використовує діапазони (1-4, 1-8, 1-14), а не реальність (що було б просто обчисленням комбінації однієї довжини).

Наразі отримати доступ до даних телефону просто ДОСЛІДНО ЛЕСНО . Ваша бабуся має здібності робити це (Без образи ні вам, ні вашій родині: P). Тож, хоча ви маєте рацію, що в цьому шифруванні є обмеження, "зламана" версія працює НАПРЕЧНО краще, ніж не шифровані дані, які зараз практикуються.

Ви самі вирішите, наскільки чутливі та приватні ваші дані, а також наскільки ви цільові для того, щоб такі дані були викрадені. Вибір відповідного пароля - це ваша відповідальність, коли ви оцінили цей ризик.


2
Так, але я вважаю, що було б простим рішенням проблеми мати різні паролі для розблокування екрана та розшифровки пристрою (як я вже згадував тут android.stackexchange.com/questions/17086/… ), оскільки вони використовуються в різних senarios і повинні мати різні атрибути.
Крістофер Как

1

Якщо ви намагаєтесь зламати шифрування диска, незалежно від решти пристрою у сценарії, коли у вас вимкнено пристрій або просто мікросхеми пам'яті, це інший вектор атаки, ніж той, який використовується у включеному режимі пристрій, захищений паролем, де ключ розшифровки може зберігатися в пам'яті (це призводить до вразливості, використовуваної такими речами, як стимулятори ключів шифрування Firewire, що є поширеними на ПК із використанням старого програмного забезпечення для шифрування FDE, а не модуля типу TPM), або на екрані розблокування може бути брутальний- вимушені (або мають свої вразливості).

Якщо ви нападаєте на диск безпосередньо, то в цьому випадку ви не атакуєте чотиризначний PIN-код або пароль користувача, який шифрує пристрій, ви атакуєте 128-бітний ключ AES:

Головний ключ - це 128-бітове число, створене читанням з / dev / urandom. Він шифрується хешем пароля користувача, створеного за допомогою функції PBKDF2 з бібліотеки SSL. Нижній колонтитул також містить випадкову сіль (також зчитується з / dev / urandom), яка використовується для додавання ентропії до хешу з PBKDF2 та запобігання атакам веселої таблиці на пароль.

З пункту 4 у розділі " Увімкнення шифрування на пристрої " Приміток щодо реалізації шифрування в Android 3.0, до якого ви пов’язані.

(збирався бути коментарем, але закінчився занадто довго)


1
Дякую за цей приємний коментар! Однак одна річ; я не шукаю пароль користувача (який, швидше за все, буде чотиризначним штифтом, тому що ви змушені ділитися клавішею з розблокуванням екрана, і все інше буде зайвим вводити телефонний дзвінок), щоб розшифрувати 128-бітний AES ключ? (замість того, щоб шукати ключ безпосередньо). Якщо я хешував усі 10000 штифтів з функцією PBKDF2 + сіль, чи не буде лише 10000 спроб розшифровки для мене, щоб спробувати?
Крістофер Как

@Melpomene " Атака з райдужною таблицею ", про яку вони говорять, - це коли ви попередньо зашифрувати всі 10 000 комбінацій, щоб побачити, як вони виглядають зашифрованими, а потім просто порівняти те, що на диску, і те, що є у вашій веселковій таблиці. " Випадкова сіль " - це те, що використовується, щоб запобігти цьому, створивши набагато більше 10 000 комбінацій, про які вам доведеться відгадати (якщо вам спочатку не вдасться розробити "сіль").
GAThrawn

1
Веселка - це розумний спосіб зберігання зашифрованих паролів так. І якщо використовується сіль, її, мабуть, потрібно буде спеціально сконструювати лише для злому паролів із цією сіллю. Це не дуже важка операція, коли на вибір є лише 10 000 паролів. Зауважте, що Сіль завжди вважається відомим зловмиснику (оскільки, здається, читається з / dev / urandom в документах, це найчастіше зберігається в чистому тексті або зашифровано паролем користувача). У будь-якому випадку пароль користувача є слабкою ланкою.
Крістофер Как

Але мені навіть не потрібно було б створювати веселку, оскільки зберігання (або обчислення) 10000 хешей не так вже й важко для моєї пам'яті (процесор).
Крістофер Как

Використання ключової функції виведення типу PBKDF2 здається гарною новиною, але типовий чотиризначний штифт - це лише 10000 можливих комбінацій.
Жоао Портела


0

Якщо у вас ввімкнено віддалену очищення (припустимо, що вона все ще працює із зашифрованим пристроєм), PIN-код може не захищати ваш пристрій назавжди, але це може зробити це досить довго, щоб ви могли витерти свій пристрій.


2
Проблема полягає в тому, що короткий PIN-код може захистити пристрій лише тоді, коли він увімкнено. Тому вимкнення викраденого пристрою запобігає його стиранню, а також PIN-код може бути зламаний в режимі офлайн-грубої атаки. Отже, короткий PIN-код не допоможе вам у цій ситуації.
Роберт

@Robert, я не надто знайомий з тим, як працює віддалене скло. Якщо це робиться через Exchange, чи повинен телефон увійти в той самий момент, коли буде видана команда віддаленого очищення? Моя думка полягає в тому, що якщо я можу видалити віддалену стерту протягом 30 хвилин або близько того, щоб втратити телефон, це досить добре для мене, але я не маю жодних фінансових даних, головним моїм клопотом є мій електронний лист GMail.
Шанс

2
Телефон повинен бути ввімкненим і в режимі он-лайн через деякий час після того, як ви видали команду віддаленого очищення. Якщо телефон було вимкнено (і залишається вимкненим), команда wipe буде марною.
Роберт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.