Logo ru.androidermagazine.com
Logo ru.androidermagazine.com

Что такое полное шифрование диска в Android Lollipop?

Оглавление:

Anonim

Там много информации о Android 5.0 Lollipop "по умолчанию" полное шифрование диска (FDE). Часть из них - хорошая информация, часть - плохая информация, а большая часть - это просто повторяющиеся фрагменты спекуляций. В то время как это способствует хорошей беседе - а о FDE стоит поговорить, - мы хотели разбить все тонкости на легкие для чтения обсуждения.

Это не значит, что этот документ должен быть основным в шифровании Android. Google уже опубликовал это. Мы собираемся решить вопросы, ориентированные на потребителя, которые мы продолжаем слышать. Как всегда, используйте комментарии для обсуждения, чтобы мы все могли кое-что узнать.

Что такое шифрование?

Шифрование - это процесс защиты данных с использованием ключа шифрования. Думайте о пароле как о ключе, а шифрование - это очень надежный замок. Вам нужен ключ, чтобы войти, чтобы сделать что-то. И хотя вход без правильного ключа возможен, это не очень вероятно. (Да, любая и каждая система шифрования - теоретически, по крайней мере - может быть побеждена терпеливыми и хитрыми людьми.)

На наших устройствах Android все пользовательские данные на устройстве (начиная с Android 3.0) могут быть зашифрованы. Данные на самом деле шифруются на лету, прежде чем они будут записаны на диск. В свою очередь, данные дешифруются, прежде чем они возвращаются в любую программу, которая запрашивает их. Все, что вам нужно, это правильный ключ, который основан на пароле с использованием главного пароля устройства.

Изменения в Lollipop

В то время как FDE был доступен в Android с момента неудачной Android 3.x Honeycomb, Android 5.0 вносит довольно большие изменения и улучшения в то, как все это работает.

В Lollipop FDE работает с функцией ядра, которая действует непосредственно на уровне блоков хранилища. Это означает, что шифрование может работать на флэш-устройствах, таких как хранилище eMMC, которые не имеют собственных функций шифрования, поскольку они представляются ядру как стандартное блочное устройство. Шифрование невозможно с файловыми системами, которые взаимодействуют напрямую с хранилищем (например, YAFFS). Люди, которые сделали ваш телефон или планшет, могли бы включить метод шифрования внешнего хранилища (например, SD-карты), но Android AOSP в основном работает с внутренним хранилищем. Используемый алгоритм - 128-битный AES с CBC и зашифрованный вектор инициализации солевого сектора с использованием хэш-функции SHA256. Главный ключ также использует вызовы библиотеки OpenSSL.

Другими словами, это чертовски безопасно.

При первой загрузке в Android ваше устройство создает случайный 128-битный мастер-ключ, затем хэширует его и сохраняет в крипто-метаданных. Эти данные разблокированы паролем вашего пользователя. (И помните, ребята, не используйте слабые пароли.) Полученный хэш также подписывается с помощью аппаратного обеспечения, такого как функции на основе TEE (это Trusted Execution Environment), такие как TrustZone. До Android 5.0 главный ключ был зашифрован только на основе пароля пользователя, который мог быть уязвим для атак вне коробки через ADB.

Интересно, что Google не использует аппаратный криптографический движок Qualcomm в AOSP или для Nexus 6. Это неэффективно, поскольку оно требует шифрования и дешифрования на базе ЦП во время дискового ввода-вывода (вероятно, с интервалом в 512 байт) по сравнению с использованием аппаратного шифрования Qualcomm. характеристики производительности. Мы не собираемся второй раз догадываться, почему это делается, но знаем, что производители могут свободно внедрять его по своему усмотрению. Мы надеемся, что они будут.

Google много сделал для обеспечения полного шифрования диска на Android. В общем, они проделали довольно хорошую работу.

Проблемы с производительностью

Возможно, вы слышали о низкой производительности чтения и записи на диск на устройствах Nexus с включенным шифрованием. Это правда - когда вам нужно зашифровать и расшифровать на лету, скорость дискового ввода-вывода пострадает. Как упоминалось выше, Google не использует аппаратные функции ядра Qualcomm на Nexus 6, что заставляет его страдать еще больше. Но насколько это плохо?

Дисковый ввод-вывод в Lollipop в несколько раз быстрее, чем в KitKat и предыдущих версиях Android. Оптимизация программного обеспечения и код для конкретного устройства означает, что Android может читать и писать из хранилища быстрее, чем когда-либо. Это очень хорошая вещь, которая в основном сводится на нет медленным временем ввода-вывода из-за шифрования.

Если вам нужно использовать FDE (или вы вынуждены использовать его, потому что вы купили новый Nexus и не хотите устанавливать кастомную прошивку), ваша производительность все равно будет лучше (на бумаге), чем на KitKat. Это просто не будет так хорошо, как могло бы быть без шифрования. В реальных условиях большинство пользователей, о которых мы говорили, не замечают никаких задержек устройства из-за медленного ввода-вывода. Ваш опыт может быть другим.

Если вы хотите или нуждаетесь в FDE, компромисс, вероятно, того стоит.

Шифрование не является обязательным (и нужно ли оно в любом случае?)

Любой, у кого есть телефон с обновлением Lollipop, может сказать, что Lollipop не заставляет вас использовать шифрование. В то время как Nexus 6 и Nexus 9 (и, возможно, все будущие устройства Nexus) поставляются с включенным им и нелегким способом его выключения, на телефонах, которые были обновлены до Lollipop - как Galaxy Note 4 - автоматически не включается полное шифрование диска.

То же самое касается новых устройств, которые поставляются с Android 5.x, таких как LG G Flex 2. Опция есть, если вы хотите включить его, но по умолчанию полное шифрование отключено. Это приводит нас к выбору - нам нужно полное шифрование диска?

Многие из нас найдут полное шифрование диска полезным. Если у вас есть конфиденциальная информация, которая вам никогда не захочется попасть в чужие руки на вашем телефоне, FDE - это находка. Чтобы кто-то мог получить ваши данные, он должен знать пароль вашего устройства. Никакие хлопоты по проводу не позволят им взломать, и при условии, что вы использовали надежный пароль, ваши данные в безопасности, потому что после нескольких неправильных предположений все блокируется.

Для других достаточно просто стандартной блокировки экрана безопасности. Если мы потеряем телефон, мы можем удаленно стереть его с помощью диспетчера устройств Android или другой утилиты, и если кто-то сможет отключиться от сети, прежде чем мы сможем стереть его, то повезет, что мы сможем обойти наш пароль на экране блокировки (это может произойти), и все получить несколько фотографий и доступ к учетной записи Google, что мы можем быстро изменить пароль.

Существует также вопрос об отслеживании всего правительства. Хотя у большинства из нас нет причин бояться каких-либо последствий для того, что мы сохранили на наших телефонах, мы все же заслуживаем частной конфиденциальности и защиты в отношении наших личных данных. Полное шифрование диска приближает нас к защите наших данных от правительственных учреждений, которые считают, что им нужно это увидеть.

Только вы знаете, если вам нужно полное шифрование устройства.