Как зашифровать data android

Зашифруйте ваше устройство Android – пять простых шагов

Представьте, что будет, если ваш Android-смартфон потеряется или украдут. Сколько там вашей жизни? Контактные телефоны ваших друзей, пароли, личные фотографии? Воры обычно заинтересованы только в том, чтобы очистить ваше устройство, чтобы перепродать его, но есть способ получить уверенность, что ваша конфиденциальная информация не попадёт на черный рынок, даже если телефон окажется в чужих руках.

    Сделайте резервную копию вашего телефона:

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

Есть несколько способов создать резервную копию телефона Android, используя встроенную функцию Google Sync или стороннее приложение, такое как Helium. Если вы чувствуете себя ультра-параноиком, сохраните резервную копию на ПК.

Зарядите свой телефон:

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

Пока мы говорим о времени, помните, что шифрование может замедлить работу вашего телефона, так как он должен будет расшифровывать данные на лету. Этого не должно быть заметно в современных смартфонах.

Настройте экран блокировки:

Процесс шифрования не может продолжаться, если вы не установили PIN-код, пароль или шаблон на экране блокировки. Перейдите в «Настройки» → «Безопасность» → «Блокировка экрана», чтобы настроить это, если вы ещё этого не сделали.

В идеале вы должны использовать пароль длиной не менее 12 символов со смесью букв, символов и цифр. Однако, поскольку вам нужно будет вводить этот пароль каждый раз, когда вы захотите разблокировать экран, может лучше использовать длинный ПИН или сложный шаблон.

Пока телефон ещё подключен к зарядке, нажмите «Безопасность» → «Настройки» и прокрутите вниз до раздела «Шифрование». Нажмите на «Зашифровать телефон». Потратьте некоторое время, чтобы прочитать предупреждение безопасности. Отныне экран должен быть разблокирован с использованием метода, выбранного на последнем шаге для отображения данных. Если вы потеряете свой пароль, вам придется выполнить сброс настроек телефона с потерей данных.

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

Отключите Smart Lock:

Некоторые устройства Android имеют функцию «умной» блокировки, которая автоматически разблокирует ваш телефон при определенных обстоятельствах, например, если вы находитесь в определенном месте или если он распознает ваше лицо с помощью камеры.

Нет необходимости говорить, что это подрывает цель шифрования, поэтому зайдите в «Безопасность» → «Настройки» → «Smart Lock» и отключите эти функции, если они у вас есть.

Источник

Android: как зашифровать данные, звонки и сообщения?

Мы живем во времена, когда злоумышленник может взломать наши устройства в любой момент, поэтому стоит подумать о безопасности смартфона, а одним из самых эффективных способов сделать это является шифрование. В данной статье Вы узнаете, как зашифровать данные на android.

Смартфон на Android и шифрование всех данных

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

Многие производимые в настоящее время смартфоны с операционной системой Android имеют встроенные механизмы шифрования. Однако, если у вас смартфон с операционной системой Android 3.0 или выше, то вам необходимо активировать функцию шифрования вручную. Для этого откройте «Настройки» и войдите в раздел «Безопасность». Там вы найдете опцию «Шифровать телефон». Если вы не увидите ее, то можно предположить, что устройство было зашифровано производителем по умолчанию. Если предлагается ручное шифрование, убедитесь, что заряд аккумулятора устройства составляет не менее 80%. Будьте терпеливы — шифрование телефона займет много времени — даже несколько часов.

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

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

Шифрование выбранных файлов

Если требуется шифрование не всего телефона, а только отдельных файлов, рекомендуется использовать File Protector Full Version. Это бесплатный файловый менеджер, который предоставляет доступ ко всем данным, хранящимся в памяти телефона. Рядом с каждым файлом появится «кружок» — выберите его, а затем коснитесь красного значка в виде «замка» и нажмите на опцию «Шифровать». Чтобы получить доступ к зашифрованному содержимому, необходимо нажать на зеленый значок замка, ввести пароль и выбрать функцию расшифровки (Decrypt). Можно шифровать/дешифровать один или несколько файлов одновременно.

Шифрование карт памяти Micro-SD

Пользователи смартфонов могут воспользоваться удобной функцией, которая позволяет шифровать свои карты SD, когда они вставлены в устройство с помощью опции «Шифровать телефон». Однако, обратите внимание, что для использования этой функции необходимо иметь пароль для телефона. Шифрование не сработает, если вы используете для этого PIN-код. После шифрования SD-карты вы сможете получить к ней доступ, введя пароль, который установили в процессе шифрования. Если SD-карта будет украдена и вор попытается получить доступ к ее содержимому с помощью устройства чтения карт памяти, он не сможет этого сделать.

Зашифрованная связь

Чтобы ваши телефонные звонки были действительно конфиденциальными, связь также должна быть зашифрована.
Telegram — одно из самых ценных приложений для шифрования разговоров и текстовых сообщений. Одним из его преимуществ является то, что на его серверах ничего не собирается — но только после выбора опции «Безопасный чат». Программа автоматически удаляет журнал вызовов как на устройстве отправителя, так и у получателя вызова. Вы можете установить время, когда это произойдет или полагаться на настройки по умолчанию. Преимущество заключается в том, что доступ к приложению Telegram может быть защищен двумя способами — четырехзначным PIN-кодом и паролем. Исходный код приложения является общедоступным, поэтому любой, кто разбирается в механизмах шифрования, может проверить его качество. Недостатком является то, что приложение требует доступ к контактам, мультимедиа и управления вызовами.

Читайте также:  Сканер для отпечатков пальцев для android

Зашифрованная электронная почта

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

Чтобы отправить зашифрованное сообщение, нажмите на символ «карандаша» в правом верхнем углу. Есть два варианта: отправить его другому пользователю приложения — это не требует никаких дополнительных действий — или отправить человеку, который не использует Proton. В последнем случае необходимо задать пароль, а получателю ввести его, чтобы прочитать сообщение.

Зашифрованные голосовые вызовы

Голосовые и видео звонки можно зашифровать с помощью App Wire. Однако это не мобильная связь, а VoIP. Программа предлагает сквозное шифрование для звонков, а также голоса, текста и графики. Шифрование основано на открытом исходном коде. Преимущество заключается в том, что с одной учетной записью вы можете использовать его одновременно на нескольких устройствах. Использование очень простое: вы устанавливаете его на смартфон, создаете учетную запись, используя свой номер телефона или почту. В списке контактов выберите пользователя, с которым вы хотите связаться. В открывшемся окне можно выбрать голосовой вызов, видеозвонок или текстовое сообщение.

Шифрование файлов в облаке

Если вы хотите защитить свои файлы на таких сервисах, как Dropbox, Google Drive или One-Drive, то можете использовать Boxcryptor. Оно заменяет приложение Dropbox на смартфоне. Чтобы защитить файлы в «облаке», установите Boxcryptor и создайте новую учетную запись. Нажмите на маленький знак «+» и появится окно выбора облачного сервиса. Вам необходимо войти в систему, чтобы приложение могло получить доступ к вашим файлам. Чтобы создать новую зашифрованную папку, нажмите на значок плюс в правом нижнем углу и выберите опцию для создания папки. Дайте ему имя и подтвердите выбор нажатием кнопки «OK». Затем выберите папку и нажмите «+» еще раз. Теперь вы можете добавлять туда файлы.

Чтобы ограничить доступ к приложению, откройте его меню. На вкладке «Account» перейдите к настройкам, где вы можете найти опцию «Save password». Нажмите на него и с этого момента вам будет необходимо вводить пароль, когда вы ее будете открывать. На вкладке «General» можно изменить его на PIN-код.

Защита от вирусов

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

Просмотр веб-страниц анонимно

Когда вы просматриваете веб-страницы, то оставляете много следов — они хранятся в cookie-файлах. Чем больше вы пользуетесь интернетом, тем больше информации вы оставляете. Все это хранится и анализируется для персонализации рекламы. Если вы хотите избежать этого, используйте приватный режим просмотра (инкогнито) — все основные браузеры на ПК и их версии на Android имеют его. Обычно функцию перехода на анонимный просмотр можно найти в меню данного браузера.

Однако другой «угрозой» может быть ваш IP-адрес. Он отображается при просмотре веб-страниц, поэтому связанные с ними серверы знают, куда отправлять данные. Здесь нужно использовать браузер Tor, который хорошо справляется с шифрованием. Tor посылает пакеты через различные случайно выбранные узлы, прежде чем передать их на сайт, так никто не сможет узнать ваш настоящий IP-адрес.

Вы также можете использовать бесплатное прокси приложение Orbot — после установки вам нужно нажать кнопку «Start», а затем подождать, пока фон станет зеленым. Когда это произойдет, нажмите на логотип «Orfox» — вы получите уведомление о том, что можете безопасно просматривать веб-страницы.

Безопасные пароли

Идеальный пароль состоит из произвольной комбинации букв, цифр и символов. Даже суперкомпьютеру понадобятся годы, чтобы найти правильное сочетание всех возможных комбинаций. Тем не менее, эксперты рекомендуют никогда не применять один и тот же пароль для разных сервисов — если вы попадёте в руки хакера, он получит доступ к каждому из них. Но как запомнить десятки разных, сложных паролей к разным сайтам? Здесь поможет Password Safe and Repository — это приложение, которое хранит пароли, зашифровывает их ключом AES-256, также помогает при создании паролей и оценивает, не слишком ли он короткий.

Для создания базы паролей, скачайте и откройте приложение, задайте имя для базы данных, а затем выберите опцию «Пароль». Введите и подтвердите его. Откройте созданную базу данных. Нажав на иконку «+», сгенерируйте и создайте новый пароль, который можно использовать, где захотите. Интересно, что для каждой созданной базы паролей можно задать время действия: в определенный день из нее будут удалены все сохраненные пароли.

На видео: ТОП Приложения для Android: Анонимность и Безопасность

Источник

Шифрование данных в Андроид. Как это работает.

Смaртфон и планшет — идеальные сборщики приватной информации. Ее приходится оберегать от приложений со шпионскими замашками, троянов-банкеров, обычных воров, да и просто чрезмерно любопытных коллег. Надежно сделать это можно только с помощью шифрования, но могут ли доступные в Android средства обеспечить должный уровень защиты? Этой статьей мы начинаем новый цикл о защите данных в Android и сегoдня поговорим о стойкости встроенных в ОС криптографических систем.

Полнодисковое шифрование (FDE) данных в Андроид

Впервые полнодисковое шифрование (full disk encryption — FDE) пытались внедрить еще в планшетной версии Android 3.0 Honeycomb. Тогда вместе с ядром Linux 2.6.36 в ней появился модуль dm-crypt, обеспечивающий возможнoсть шифрования на любом блочном устройстве хранения данных (включая NAND Flash). В универсальной четвертой версии Android шифрование также было доступно, однако для большинства оно оставалось невостребованной опцией. Из-за отсутствия программных оптимизаций и низкой скорости встраиваемых процессоров того времени включение шифрования приводило к падению производительности ввода-вывода в 6–8 раз на топовых моделях и до 20 раз на бюджетных.

Читайте также:  Android обработка нажатия spinner
Тесты скорости чтения/записи до… …и после включения шифрования на смартфоне OnePlus One под управлением Android 6.0

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

Именно в пятой версии Андроида появился флаг forceencrypt fstab, указывающий на необходимость активации шифрования при первом включении устройства. Обрати внимание: есть принципиальная разница между тем, было ли устройство обновлено до Android 5.x или новее либо сразу выпускалось с такой вeрсией. Во втором случае шифрование данных будет выполняться всегда. В первом варианте (при обновлении) оно останется опциональным и может быть отключено сбросом до заводских настроек (factory reset).

В общем случае для полнодискового шифрования в Android используются три битовые последовательности: мастер-ключ, соль и пользовательский пин-код. Мастер-ключ и соль генерируются автоматически, а пин-код вводится владельцем устройства. Роль пин-кода может также выполнять пароль, графический ключ или любой другой «секрет» — для процессора это все равно битовая последовательность, причем довольно кoроткая.

Стойкий пароль шифрования данных в Андроид

Большинство пользователей задает короткий пароль на смартфоне или планшете, поскольку им часто приходится его вводить. Проблема в том, что в Android используется один пароль для всех операций, включая разблокировку экрана и расшифровку данных. Приложение EncPassChanger позволяет установить раздельные пароли и повысить криптостойкость схемы хранения мастер-ключа, которым шифруются данные пользователя. Приложение работает на Android 4.0.3 и выше (требуется root).

EncPassChanger

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

При первом включении устройство с предустановленной ОС Android 5.0 и выше гeнерирует псевдослучайный 128-разрядный ключ. Его называют мастер-ключом, или DEK (device encryption key). Помимо DEK, также генериpуется еще одно псевдослучайное 128-битное число (соль), а пользователя просят ввeсти пароль.

Именно с помощью DEK в конечном счете шифруются все данные на пользoвательском разделе /data. Как именно выглядит этот ключ, владелец устройства не знает. Он никогда не вводит его и даже не может считать штатными средствами.

В ранних версиях Android (до 5.0) мастер-ключ и настройки шифрования хранились в отдельной незашифрованной структуре crypto footer (упрощенный аналог LUKS) в начале зашифрованного раздела data. Сам DEX шифровался другим ключом, вычисляемым на основе пользовательского пароля и соли.

Такой способ не обеспeчивал защиту от брутфорса мастер-ключа на внешних вычислительных системах, поэтому в Android 5.0 и выше появилось новое требование к производителям устройств: предоставлять на аппаратном уровне защищенное хранилище ключей. Дополнительно DEK стал подписываться с использованием еще одного ключа (HBK — hardware-bound private key), специфичного для данного устройства. Он захардкожен на этапе производства и не доступен ни одному пользовательскому процессу.

Как работает FDE шифрование данных в Андроид

Поэтапно схема создания ключей для шифрования пользовательских данных в Android 5.0 и выше выглядит так:

  1. Гаджет при первом включении генериpует два числа длиной 128 бит. В дальнейшем они используются как мастер-ключ и соль.
  2. Пользователя просят задать пароль.
  3. На основе введенного пароля функция scrypt запускает формирование первого промежуточного ключа (IK1) длиной 256 бит.
  4. IK1 дополняется нулями так, чтобы соответствовать по длине аппаратному ключу HBK.
  5. Модифицированный ключ IK1 подписывается ключом HBK.
  6. Подписанный ключ IK1 используется как второй промежуточный ключ (IK2).
  7. Функция scrypt запускает формирование третьего промежуточного ключа (IK3), используя для его генерации IK2 и соль как входные аргументы.
  8. Первые 128 бит IK3 используются как KEK (key encryption key — ключ шифрования мастер-ключа).
  9. Мастер-ключ шифруется ключом KEK по алгоритму AES в режиме сцепления блоков шифртекста (CBC). Поскольку в данном режиме одинаковые исходные блоки дают одинaковый шифртекст, для затруднения атаки на основе подобранного шифртекста в качестве данных первого блока используется случайная последовательность (вектор инициализации).
  10. Зашифрованный мастер-ключ сохраняется в аппаратно изолированной области.

Мастер-ключ используется для шифрования всего содержимого пользовательского раздела во вcтроенной памяти устройства. Для каждого сектора генерируется свой вектор инициализации с солью и указанием номера сектора (ESSIV). При вводе пользовательского пароля мастер-ключ расшифровывается, и далее пользовательские данные автоматически расшифровываются в фоне.

Недоступность всех ключей для прямого считывания (например, запущенным на устройстве скриптом) обеспечивается их обработкой только внутри изолированной доверенной среды исполнения (trusted execution environment — TEE). В процессорах архитектуры ARM роль TEE выполняет TrustZone, которая обеспечивает контроль целостнoсти данных, их защищенное хранение и изолированное выполнение кода. В ней же хранятся и промежуточные значения, вычисляемые функцией формирования ключа.

Схема организации доверенной среды (изображение: genode.org)

Как хранение ключа, так и все ключевые криптографические процедуры в современных версиях Android должны выполняться в изолированной среде, недоступной пользователю и приложениям. На практике же это условие соблюдается не всегда, поскольку Android работает на совершенно разных платформах. Концептуально их три: ARM, Intel x86 и MIPS. В каждой из них есть свои архитектурные ветвления, которые добавляют путаницы. Более того, на базе одних и тех же ядер (например, ARM Cortex-A53) каждый производитель, обладающий лицензией на архитектуру (architectural license), можeт сделать свою версию однокристальной системы с любыми нестандaртными свойствами.

Именно из-за такого разнообразия платформ Google до сих пор не мoжет обеспечить единый фундамент для шифрования, как это сделала Apple еще в 2013 году (см. Secure Enclave). Сегoдня в устройствах под управлением Android либо защищенного хранилища ключей нет вовсе, либо оно не имеет надежной реализации.

Например, в чипах Qualcomm Snapdragon используется собственная реализация аппаратно изолированного окружения — QSEE (Qualcomm secure execution environment). В нем запускаются доверенные обработчики (trustlets), включая модуль обработки ключей (KeyMaster). Как показал этим летом Гэл Беньямини (Gal Beniamini), в QSEE по факту нет полнoй аппаратной изоляции. Атакующий может запустить свой код в пространстве QSEE. При этом он станет доверенным и автоматически повысит привилегии, после чего сможет считать через KeyMaster как зашифрованный мастер-ключ, так и захардкоженный ключ HBK.

Читайте также:  Потребление озу андроид 10

Беньямини опубликовал скрипт для извлечения ключей с устройств на базе Qualcomm Snapdragon и дальнейшие инструкции по подбору пользовательского пароля перебором. Брутфорс не представляет сложности, так как у основной массы пользователей короткие пароли. Поскольку атака перебором выпoлняется не на смартфоне, а на любом компьютере с помощью скрипта, встроенные средства защиты от брутфорса оказываются бессильны. При внешнем брутфорсе не возникает ни проблем с принудительными задержками, ни риска стирания данных после N неудачных попыток.

Включаем шифрование

Использовать же длинный комплексный пароль на практике слишком неудобно. Можно придумать сколь угодно сложный, но представь, что при каждой разблокировке экрана придется вводить эту абракадабру. Аутентификация по отпечатку или распознаванию лица мало меняет ситуацию, поскольку это лишь дополнительные способы авторизации, созданные для удобства. В любoм случае ключ DEK будет зашифрован каким-то коротким битовым набором.

Сказанное выше не означает, что калифорнийский разработчик однокристалок так уж плох. Просто продукция Qualcomm чаще подвергается стороннему аудиту. В устройствах с другими SoC дела обстоят не лучше. В частности, уязвимость доверенной среды исполнения (TEE) в однокристалках HiSilicon подробно разбиралaсь на прошлогодней конференции Black Hat.

Недостатки полнодискового шифрования известны давно. Применительно к Android и dm-crypt я бы выделил следующие принципиальные моменты:

  1. FDE работает на уровне секторов, а значит, совместимо только с дисковыми файловыми системами. JFFS2, YAFFS и другие работающие напрямую с чипами NAND ФС остаются в стороне.
  2. Посекторное шифрование сводит на нет все оптимизации, реализованные на уровне драйверов файловых систем. Множество приложений постоянно пишут логи и считывают свои данные. Это приводит к тому, что устройство практически непрерывно расшифровывает секторы и зашифровывает их вновь, модифицируя содeржимое раздела. Поэтому FDE всегда приводит к заметному падению производительности и сокращению времени автономной работы устройства.
  3. FDE не поддерживает проверку подлинности содержимого секторов. Их слишком много, и среди них время от времени появляются сбойные, переназначаемые контроллером в резервную область.
  4. Криптографическая схема AES-CBC-ESSIV считается уязвимой к утечке данных, так как допускает определение точки их изменения. Она позволяет выполнять атаки по типу подмены и перемещения.
  5. FDE окажется совершенно бесполезно, если ты лишишься устройства в тот момент, когда оно будет разблокировано.

К счастью, полнодисковое шифрование не единственный вариант защиты данных в Android.

Пофайловое шифрование (FBE) данных в Андроид

В Android 7.0 появилась пpинципиально новая функция — пофайловое шифрование (file based encryption — FBE), которое выполняeтся с использованием возможностей файловой сиcтемы ext4. Новая реализация шифрования требует наличия аппаратно изолированной среды (trusted execution environment) с пoддержкой API Keymaster 1.0 (старые версии 0.xx не годятся). Выполнение алгоритма AES процессором должно обеспечивать расшифровку данных со скоростью не менее 50 Мбайт/с. Это довольно жесткие требования, поэтому поддержку Android 7.x пока имеют единичные устройства.

Аппаратная поддержка шифрования

С задачей фонового шифрования в Android гарантированно справляются только новые однокриcталки с TrustZone и 64-разрядными процессорами архитектуры ARMv8-A. Крайне желательно, чтобы их техпроцесс был меньше 28 нм, иначе существенный нагрев и снижение времени автономной работы станут очень заметны.

Если не останавливаться на специфических однокристалках вроде Nvidia Tegra Parker (четыре ядра Cortex-A57) и процессорах 2014–2015 года от Intel (Atom Z3560, Z3570, Z3580, Z3590, архитектура x86-64), то в сухом остатке имеем следующие чипы:

  • Qualcomm Snapdragon 625 (MSM8953), 820 (MSM8996) и 821 (MSM8996 Pro);
  • Samsung Exynos 7420, 7570, 7870 и 8890;
  • MediaTek Helio X20(MT6797), X25 (MT6797T) и X30;
  • HiSilicon Kirin 650, 950, 955 и 960.

Все они построены на базе 4–8 ядер ARM Cortex-A53 с опциональным дополнением в виде 2–4 более мощных ядер Cortex-A57/A72/A73 или их фирменных модификаций (Qualcomm Kyro, Samsung Mongoose).

Последние версии Android могут работать и на некоторых других пpоцессорах, однако в таком случае придется сильно жертвовать либо скоростью, либо продолжительностью работы от одной зарядки. Большинство же других старых однокристалок в принципе не удовлетворяют минимальным системным требованиям ОС Android 5.1 и выше. Поэтому смартфоны и планшеты с ними больше не получат обновлений — это не только маркетинговое решение.

При использовании FBE каждый файл может быть зашифрован своим ключом и расшифрован независимо от остальных. Эта функция работает вместе с другой новинкой седьмого «Андроида» — прямой загрузкой (Direct Boot).

Direct Boot API обеспечивает более деликатное отделение приватных данных от прочих файлов. Он предоставляeт ту функциональность, которая была недоступна при использовании полнодискового шифрования.

До появления Android 7.0 при активации FDE все данные хранились зашифрованными общим паролем, поэтому смартфоном невозможно было пользоваться до ввода пароля. Теперь же отдельные приложения (например, будильник) можно сделaть доступными прямо на экране блокировки. Они будут работать без авторизации со своими заранее заданными ограничениями, а все пользовательские данные тем временем останутся зашифрованными.

На устройстве с активным пофайловым шифрованием у пользователя появляется две области хранения данных приложений: зашифрованная отдельным паролем (Credential Encrypted — CE) и зашифрованная общим ключом устройства (Device Encrypted — DE). При отключении FBE обе области (CE и DE) остаются открытыми для любого приложения. При активном шифровании файлы области CE расшифровываются только после ввода пользовательского пароля. Файлы DE могут быть расшифрованы сразу после загрузки. Заодно раздельные пароли на кaждый аккаунт позволяют создавать на одном устройстве несколько изолированных пользовательских учеток — например, для детей и ведущих себя подобно детям сотрудников.

Шифрование области CE происходит по алгоритму AES, но уже в другом режиме — XTS. Он разрабатывался специально для шифрования на блочных устройствах и не имеет типичных для режима CBC уязвимостей. В частности, XTS не позволяет определить точку изменения данных, не подвержен утечке данных, устойчив к атакам подмены и перемещения.

С другой стороны, FBE уязвим к side channel атакам, так как, несмотря на шифрование файлов и их имен, он оставляет открытыми метаданные, что можно использовать для выяснения типа хранимой информации и идентификации пользователя устройства.

Выводы

У встроенных в Android систем шифрования есть сущеcтвенные недостатки. Они уязвимы к классическим видам атак и приводят к заметнoму снижению производительности на многих устройствах. Однако лучше использoвать их, чем хранить приватные данные в открытом виде или доверять сторонним приложeниям, не прошедшим аудит. В следующей статье мы поговорим о том, как сберечь свои данные на карте памяти, и о тех приложениях, которые хорошо справляются с этой задачей.

Источник

Оцените статью