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

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

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

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

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

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

Шифруем Ваш Android

Шифрование Android - очень простая процедура. Примите во внимание, что на разных устройствах меню для шифрования данных могут находиться в разных местах. К тому же кастомные прошивки и UI, например Samsung TouchWiz UX, могут иметь разные требования.

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

Некоторые производители устройств устанавливают дополнительные требования к безопасности, например на Galaxy S3 и Galaxy S4.

После установки PIN или пароля, переходим в подраздел главного меню “Безопасность” и выбираем “Зашифровать телефон” или “Зашифровать планшет” (Encrypt Phone or Encrypt Tablet). На разных устройствах меню для шифрования данных может находится в разных местах, например, в HTC One оно находится в разделе “Память” в главном меню.

Меню для шифрования будет выглядеть как-то так:

Процесс шифрования занимает длительное время, поэтому важно, чтобы ваша батарея была полностью заряжена. Если заряда батареи будет недостаточно, вы получите уведомление перед началом шифрования.

Если всё готово, нажмите кнопку внизу экрана “Зашифровать телефон” или “Зашифровать планшет” (Encrypt Phone или Encrypt Tablet). Здесь ваш телефон спросит пароль или PIN код, введите его для подтверждения. Снова появится предупреждающее сообщение, нажмите кнопку “Зашифровать телефон”.

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

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

Шифрование внешней SD карты

Некоторые устройства, например Galaxy S3 и Galaxy S4, разрешают шифровать данные даже на внешних накопителях - SD картах памяти.

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

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

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

Зашифрованные музыка, фотографии, приложения и учетные данные не могут быть прочитаны без предварительной расшифровки информации, для которой необходим уникальный ключ. Таким образом, часть процедуры происходит за кулисами, где пароль пользователя преобразуется в ключ, который хранится в «Доверенной Среде», чтобы оставаться недоступным сторонним пользователям в случае программной атаки. Этот ключ потребуется для шифрования и дешифрования файлов.

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

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

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

Шифрование моего устройства

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

Android 5.0 или выше…

Для Android-смартфонов и планшетов под управлением Android 5.0 или более поздней версии, вы можете перейти к меню «Безопасность» в разделе «Настройки». Путь сюда может незначительно отличаться в зависимости от вашего ОЕМ, но с чистым Android вы найдете шифрование в разделе Настройки – Личное – Безопасность (Settings > Personal > Security).


Здесь вы должны увидеть опцию «Зашифровать смартфон» (Encrypt Phone) или «Зашифровать планшет» (Encrypt Tablet). Вам будет предложено подключить устройство к зарядке, пока будет происходить шифрование, чтобы убедиться, что смартфон не отключится в процессе, что обернется ошибками. Если вы ещё не сделали этого, вам будет предложено установить PIN-код блокировки экрана или пароль, который вам нужно будет вводить при включении смартфона, чтобы получить доступ к вашим зашифрованным файлам. Обязательно запомните пароль!

Android 4.4 и старше…

Если вы используете смартфон с Android 4.4 KitKat или старше, вы должны установить PIN-код или пароль до запуска процесса шифрования. К счастью, это не сложно, перейдите Настройки – Безопасность – Блокировка экрана (Settings > Security > Screen Lock). Здесь вы сможете либо выбрать шаблон, набрать PIN-код или смешанный пароль для блокировки экрана. Тот же самый пароль вы будете использовать после шифрования, поэтому уделите ему внимание.

Закончив с этим, вы можете вернуться в меню Безопасность (Security) и нажать «Зашифровать телефон». Вам нужно будет подключить устройство к зарядке и прочесть предупреждающие сообщения, практически всегда придется подтвердить PIN-код или пароль в последний раз для того, чтобы начался процесс шифрования.


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

Вернувшись в меню «Безопасность», вы также, вероятно, узнаете о возможности шифровать файлы на карте памяти MicroSD. Это рекомендуемый шаг, если вы хотите хранить все ваши данные в безопасности, но на самом деле не обязательный, если вы используете MicroSD только для хранения музыки или фильмов, которые не имеют личной ценности.

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

Когда вы закончили…

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


Дополнительные опции с приложениями сторонних разработчиков

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

SSE – Универсальное приложение шифрования
версия: 1.7.0 (Pro) (cкачиваний: 179)
SSE существует на этом рынке весьма продолжительное время и до сих пор, кажется, получает небольшие обновления. Вместо того, чтобы реализовать массовое шифрование вашего телефона, SSE можно использовать для защиты и расшифровки отдельных файлов или каталогов, которые вам нужны, если вы хотите защитить выборочно несколько элементов. Вы можете установить пароль, который будет служить в качестве ключа расшифровки, есть также возможность создавать зашифрованные копии файлов или полностью подменить их.

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

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

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

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

Безопасность шифрования Android

Максимально обезопасить свои данные на устройствах под управлением ОС Android позволяет полное шифрование диска. Шифрование данных было добавлено в Android 3.0 Honeycomb, данная версия Android была ориентирована для планшетов. Впервые для владельцев смартфонов возможность шифрования появилась в версии 4.0. Механизмы реализации системы шифрования данных буду рассматривать на примере новых версий Android.

Полное шифрование диска защищает конфиденциальные данные в случае потери устройства, кражи или конфискации по какой-либо причине. Для сотрудников спецслужб получение данных на зашифрованных устройствах весьма затруднено и зависит от ряда условий. Если устройство выключили во время транспортировки или же просто разрядилась батарея, то процесс получения данных осложняется. Дело в том, что полное шифрование уязвимо для атаки "холодная загрузка" (сold-boot), с помощью которой методом физической заморозки устройства возможно считать информацию из оперативной памяти. Это достигается благодаря тому, что оперативная память при потере питания очищается в течение определённого количества времени, а при заморозке процесс очищения замедляется и может продолжаться от нескольких секунд до нескольких минут. Из оперативной памяти устройств на базе Android можно извлечь ключи AES, но расшифровка диска возможна только при разблокированном загрузчике. Прибегнуть к процедуре по разблокированию загрузчика можно лишь в том случае, когда разблокировка не приводит к уничтожению всех пользовательских данных (что зависит от конкретной модели устройства). Но даже если загрузчик заблокирован, то из оперативной памяти можно извлечь списки контактов, посещаемые веб-сайты, фотографии и др. Впервые данный вид атаки на смартфоны продемонстрировали немецкие исследователи, которые назвали свой метод FROST . Они продемонстрировали атаку на Samsung Galaxy Nexus, однако на смартфоне Samsung Galaxy SII им не удалось расшифровать диск, объяснили это тем, что шифрование на данном устройстве отличается от шифрования в официальном релизе Android.

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

Введение

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

Программисты Google научили Android использовать dm-crypt, начиная с версии 3.0 Honeycomb, где появилась опция, позволяющая быстро включить шифрование и задать PIN-код на доступ к данным. Со стороны пользователя все смотрится очень просто и беспроблемно: подключил телефон к заряднику, дождался полной зарядки и нажал на заветную кнопку. Система начала шифрование уже имеющихся данных. Гораздо интереснее все это выглядит изнутри.

Особый подход Android

В любом дистрибутиве Linux за управление dm-crypt отвечает утилита cryptsetup, создающая зашифрованный по стандарту LUKS том, к которому можно получить доступ и с помощью сторонних инструментов из Windows или OS X. Обычно cryptsetup запускается на этапе инициализации ОС из загрузочного initramfs-образа и подключает dm-crypt к дисковому накопителю, который затем монтируется.

В Android все происходит иначе. Из-за требований к лицензированию всех компонентов выше ядра с помощью Apache-совместимой лицензии, cryptsetup, распространяемая на условиях GPL2, не включена в состав Android. Вместо нее используется разработанный с нуля модуль cryptfs для местного менеджера томов vold (не путать с родными Linux-инструментами: vold и cryptfs, это совсем другие разработки).

По умолчанию Android использует cryptfs для шифрования пользовательских данных, настроек и приложений (каталог /data). Он должен быть запущен на раннем этапе загрузки ОС еще до запуска графической среды и базовых приложений, так, чтобы более высокоуровневые компоненты системы смогли привести систему к нужному состоянию, прочитав настройки, и вытащить нужные данные из кеша.

В автоматическом режиме сделать это невозможно, так как система должна запросить у пользователя пароль для расшифровки, для чего нужен запуск графической среды, а ее, в свою очередь, невозможно запустить без подключения каталога /data, который невозможно подключить без пароля. Чтобы выйти из этой ситуации, в Android применили необычный трюк, заставив ОС запускаться «дважды». Первый запуск минимальной системы происходит перед запуском cryptfs, чтобы запросить пароль для расшифровки с подключением к /data временной файловой системы, после чего система, по сути, завершается, подключается зашифрованный раздел /data, и запускается уже окончательный вариант ОС.

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

Шифрование данных в Android включается с помощью меню «Настройки -> Безопасность -> Зашифровать данные». При этом смартфон должен быть полностью заряжен и подключен к заряднику, а в качестве метода разблокировки использоваться PIN-код или пароль (Настройки -> Безопасность -> Блокировка экрана -> PIN-код), который следует ввести перед запуском операции шифрования. Смартфон предупредит о том, что операция займет около часа, в течение которого устройство будет несколько раз перезагружено.

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

  1. Сначала vold/cryptfs генерирует 128-битный мастер-ключ на основе случайных данных из /dev/urandom и с помощью этого ключа отображает раздел, содержащий каталог /data, в новое виртуальное криптоустройство, запись в которое приведет к автоматическому шифрованию данных с помощью мастер-ключа, а чтение - к расшифровке.
  2. Мастер-ключ шифруется с помощью PIN-кода пользователя и помещается в конец раздела. Отныне при загрузке система будет спрашивать пользователя PIN-код, читать из раздела зашифрованный мастер-ключ, расшифровывать его с помощью PIN-кода и подключать зашифрованный раздел /data.
  3. Чтобы зашифровать уже имеющиеся на разделе данные, система последовательно читает блоки данных из раздела и пишет их в криптоустройство, так что, по сути, происходит последовательная операция «чтение блока -> шифрование -> запись обратно» до тех пор, пока не будет зашифрован весь раздел, кроме последних 16 Кб, в которых хранится мастер-ключ.
  4. В конце операции смартфон перезагружается, и при следующей загрузке система спрашивает PIN-код для расшифровки данных.

В случае с 16-гигабайтным накопителем Galaxy Nexus все эти операции занимают примерно 30 минут, а самое главное - они полностью автоматизированы, поэтому с шифрованием справится даже ребенок.

Один пароль для разблокировки и расшифровки?

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

В результате приходится делать выбор между удобством разблокировки и безопасностью зашифрованных данных (фейсконтроль в качестве средства защиты не рассматриваем). К счастью, в случае если телефон рутован, пароль на расшифровку можно указать вручную c помощью консольного клиента vold. Сделать это можно так:

$ su -c vdc cryptfs changepw пароль

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

Откат и совместимость с прошивками

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

Но здесь может возникнуть вопрос: «А что будет, если я обновлю Android или установлю кастомную прошивку?» В этом случае все зависит от способа установки. В большинстве случаев при обновлении прошивки или установке альтернативной прошивки примерно той же версии (например, замена CyanogenMod 10.1 на Paranoid Android 3 или MIUI 5) вайп делать не требуется. Это значит, что установленная прошивка при попытке примонтировать раздел /data «сообразит», что имеет дело с зашифрованным разделом, запросит у тебя пароль и преспокойно расшифрует данные.

Если же для установки требуется полный вайп, что обычно бывает необходимо при переходе на новые версии Android, то здесь ситуация еще проще. Во время вайпа раздел /data будет переформатирован и автоматически превратится в незашифрованный. Главное, сделать перед обновлением бэкап с помощью Titanium Backup или Carbon.

SD-карта

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

Среди шифрующего стороннего софта мы имеем выбор из трех разных классов приложений:

  1. Вещь в себе. Приложение, способное создавать и открывать криптоконтейнеры, но не позволяющее подключать их к файловой системе. Своего рода файловый менеджер с поддержкой зашифрованных томов. Вещь малополезная, так как годится только для ведения дневника и заметок.
  2. ПсевдоФС. В Linux-ядрах многих стоковых и альтернативных прошивок есть поддержка драйвера файловых систем пространства пользователя FUSE, на основе которой в свое время было разработано несколько шифрующих ФС. Одна из них - EncFS. В Android она есть в виде приложения Cryptonite, Encdroid и других. Такие софтины позволяют зашифровать любой каталог так, чтобы к нему имели доступ абсолютно все приложения.
  3. Основанные на dm-crypt. Схожи по функциональности и реализации с предыдущими, но используют для шифрования родной dm-crypt. LUKS Manager - лучший представитель класса таких софтин. Позволяет создать на карте памяти файл-образ, который в любой момент можно подключить к любому каталогу для доступа к данным. То же самое можно сделать из Linux с помощью cryptsetup или из Windows, используя FreeOTFE.

Cryptonite

Cryptonite представляет собой обертку вокруг шифрующей файловой системы EncFS и позволяет создавать и просматривать зашифрованные тома на карте памяти и внутри Dropbox, а также подключать тома к каталогам карты памяти так, чтобы они были видны всем приложениям. Нас в первую очередь интересует последний вариант использования как единственный приемлемый для повседневного применения, но он требует прав root, а также наличия поддержки FUSE в ядре.

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

По этой причине для Cryptonite необходимо наличие двух каталогов: первый - для хранения зашифрованных данных и второй - пустой каталог, куда будет отображаться содержимое первого в расшифрованном виде. Для простоты назовем их crypt и decrypt. Создаем эти два каталога на карте памяти с помощью любого файлового менеджера. Запускаем Cryptonite, идем в «Настройки -> Mount point» и выбираем каталог decrypt. Теперь он всегда будет использоваться как точка доступа к зашифрованным данным. Возвращаемся обратно, переходим на вкладку LOCAL и нажимаем кнопку «Create local volume», чтобы инициализировать зашифрованный каталог. Выбираем каталог crypt и вводим пароль. Теперь осталось вернуться на главный экран и нажать кнопку «Mount EncFS» (и вновь ввести пароль). С этого момента все, что ты скопируешь в каталог decrypt, автоматически попадет в каталог crypt в зашифрованном виде, и после отключения decrypt никто не сможет прочитать его содержимое (можешь проверить, скопировав несколько файлов в decrypt, а затем просмотрев содержимое crypt).

Таким же образом, кстати, можно организовать шифрование данных в Dropbox. Cryptonite позволяет сделать это из коробки, но в этом случае доступ к данным можно будет получить только через само приложение, то есть для любых операций над зашифрованными данными придется запускать Cryptonite и через его встроенный менеджер файлов совершать все действия. Сам Dropbox для Android, конечно, ведет себя так же, но у него хотя бы открытый API, который могут использовать другие приложения, а здесь только доступ вручную.

Чтобы обойти эту проблему, можно установить сервис Dropsync, который висит в фоне и периодически синхронизирует содержимое выбранных каталогов с Dropbox. Достаточно настроить его на синхронизацию каталога crypt (но не decrypt), и данные в зашифрованном виде будут автоматически попадать в Dropbox. Чтобы получить доступ к данным с большого брата, можно воспользоваться версией EncFS для Linux или Windows. О том, как ими пользоваться, не писал только ленивый.


LUKS Manager

Второе приложение из нашего списка - это LUKS Manager, по сути аналогичное по функциональности приложение, использующее в своей основе dm-crypt вместо EncFS и бинарные зашифрованные образы вместо каталогов. С практической точки зрения этот вариант лучше предыдущего тем, что зашифрованные с его помощью образы можно будет просматривать или изменять практически в любой ОС, включая Linux, Windows и OS X. Недостаток же в том, что его неудобно использовать для шифрования файлов в Dropbox, так как Dropbox-клиенту придется каждый раз синхронизировать целый образ, который может быть очень велик, в противовес отдельных файлов, как в случае с EncFS.


Для корректной работы LUKS Manager необходимо ядро с поддержкой dm-crypt и loopback, но если первое есть даже в ядрах Android 2.3, то второе доступно далеко не во всех стоковых ядрах. Поэтому, скорее всего, понадобится прошивка с альтернативным ядром, такая как CyanogenMod, AOKP или MIUI.

В остальном все просто. Интерфейс программы состоит всего из шести кнопок: Status, Unmount All, Mount, Unmount, Create и Remove. Чтобы создать новый образ и получить к нему доступ, достаточно нажать «Create», выбрать каталог для подключения, размер и указать пароль и файловую систему (FAT32 для совместимости с Windows или ext2 для Linux). Одновременно на карте памяти могут существовать и быть подключенными сразу несколько образов, которые можно отключать кнопками «Unmount» или удалять с помощью «Remove».

Ничего сложного в управлении приложением нет, скажу лишь, что в пакет с LUKS Manager входит также собранная для Android версия утилиты cryptsetup, которую можно использовать для ручного управления и подключения образов.


Другое применение

Dm-crypt и cryptfs используются в Android не только для защиты каталога /data от посторонних глаз. С их помощью здесь реализована, как это ни странно, система установки приложений на карту памяти. В ее основе лежит идея шифрованных образов, по одному на каждое установленное приложение. Сделано так для защиты конфиденциальных данных, возможно хранимых приложением, от других приложений, которые в Android имеют полный доступ к SD-карте на чтение, а также от тех, кто завладеет SD-картой.

Запустив терминал и выполнив команду df, ты сам сможешь убедиться, как это реализовано. На скриншоте «Galaxy Nexus и df» показан вывод этой команды на моем смартфоне. Хорошо видно, что кроме псевдокриптоустройства /dev/block/dm–0, которое подключено к каталогу /data и отвечает за шифрование данных на смартфоне, здесь есть еще 15 подобных устройств, подключенных к разным каталогам внутри /mnt/asec. Это и есть приложения, установленные на карту памяти. Сами приложения при этом хранятся в зашифрованных образах в каталоге.asec на карте памяти, а ключи шифрования хранятся в основной памяти смартфона.


Ты можешь также заметить, что здесь есть и псевдоустройство /dev/fuse, подключенное к /storage/emulated/legacy, а также некоторым другим каталогам. Это не что иное, как «эмулятор» карты памяти, реализованный с использованием описанного ранее драйвера FUSE (сам Galaxy Nexus карты памяти не поддерживает). По сути, это простое зеркалирование каталога /storage/emulated/legacy в /data/media/0. При этом каталог /sdcard - это ссылка на /storage/emulated/legacy. Запустив команду ps, можно заметить, что зеркалирование реализуется с помощью приложения /system/bin/sdcard, использующего FUSE в качестве базы. По сути, это альтернативная реализация знакомой всем линуксоидам unionfs.

WARNING

Модуль dm-crypt не может быть использован для шифрования разделов с файловой системой YAFFS, так как последняя использует низкоуровневые операции при обращении к NAND-памяти.

Выводы

Как видишь, получить качественное шифрование данных в Android очень просто, и в большинстве случаев для этого даже не потребуется устанавливать дополнительный софт. Единственное ограничение - это необходимость иметь смартфон на базе Android 4.0 и выше, но так как все, что было до 4.0, назвать ОС довольно трудно, то и проблемы здесь особой нет:).

INFO

Подробности реализации стандартной системы шифрования Android для параноиков: 128-битный AES в режиме CBC и ESSIV: SHA–256. Мастер-ключ шифруется другим 128-битным AES-ключом, полученным из пользовательского пароля при помощи 2000 итераций по стандарту PBKDF2 с 128 битами случайной соли.

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

Можно ли отключить на планшете шифрование?

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

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

На более ранних версиях Android, вплоть до 2.3.4., шифрование нужно запускать вручную. Эта опция находится в меню настроек: Безопасность->Шифрование->Зашифровать устройство . Необходимо иметь в виду, что после этого расшифровать зашифрованные данные невозможно, поскольку разработчик не предусмотрел такой возможности. Таким образом, если вам понадобится расшифровать информацию, её утрата неизбежна. Чтобы это сделать, потребуется выполнить сброс устройства к заводским настройкам из режима "recovery".

Чтобы выполнить такой сброс, нужно в выключенном состоянии планшета зажать на нём одновременно клавиши увеличения и уменьшения громкости, также клавишу включения. Будет выполнена загрузка в инженерное меню, где при помощи кнопок регулировки громкости нужно найти пункт меню "wipe data/factory reset" и, выбрав его, нажать на клавишу питания. Когда операция сброса будет завершена, необходимо перезагрузиться, выбрав "reboot". После загрузки в рабочий режим на планшете следует восстановить личные данные, после чего больше не запускать шифрование.