Шифрование устройства Android. Шифрование данных на карте памяти в Android

Статьи и Лайфхаки

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

Зачем шифрование в телефоне

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

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

Самые известные программы шифрования

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

Замечательно справляется с шифрованием телефонных бесед и ресурс Crytogic. Данное программное обеспечение обойдется весьма недорого. Однако утилита ориентирована только на смартфоны Nokia. Для того, чтобы зашифровать голоса собеседников разработчики программы использовали особые алгоритмы. Они называются AES или DES. Чтобы расшифровать информацию, взломщикам понадобиться не один год. Поэтому использование даже недорогой утилиты может быть вполне надежным и эффективным. Однако программа не может защитить SMS-сообщения.

Среди прочих эффективных шифровок можно выделить 5pro software secure voice, которая отличается невероятно простым интерфейсом.

Вкратце: Если вы используете графический ключ доступа к телефону, то в 99% этого достаточно для того чтобы никто без вашего ведома не смог получить доступ к информации в телефоне. Если данные в телефоне очень конфиденциальные, тогда следует использовать встроенную функцию полного шифрования телефона.

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

  1. От кого следует защищать данные телефона.
  2. Встроенные средства защиты данных в Android.
  3. Полное Шифрование памяти телефона
  4. Итоги

Какая информация хранится в телефоне и зачем ее защищать?

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

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

И так что надо защищать в телефоне:

  1. Учетные записи. Сюда входит, например, доступ к вашему почтовому ящику gmail. Если вы настроили синхронизацию с facebook, dropbox, twitter. Логины и пароли для этих систем хранятся в открытом виде в папке профиля телефона /data/system/accounts.db.
  2. История SMS-переписки и телефонная книжка также содержат конфиденциальную информацию.
  3. Программа Web браузер. Весь профайл браузера должен быть защищен. Известно, что Web Браузер (встроенный либо сторонний) запоминает для вас все пароли и логины. Это все храниться в открытом виде в папке профиля программы в памяти телефона. Мало того, обычно сами сайты (с помощью cookies) помнят вас и оставляют доступ к аккуанту открытым, даже если вы не указывали запоминать пароль.
    Если вы используете синхронизацию мобильного браузера (Chrome, FireFox, Maxthon и др.) с настольной версией браузера для передачи закладок и паролей между устройствами, тогда можно считать что с вашего телефона можно получить доступ ко всем паролям от других сайтов.
  4. Карта Памяти. Если вы храните на карте памяти конфиденциальные файлы либо загружаете документы из Интернета. Обычно на карте памяти хранятся фотоснимки и снятые видео.
  5. Фотоальбом.

От кого следует защищать данные телефона:

  1. От случайного человека, который найдет потерянный вами телефон л ибо от “случайной” кражи телефона.
    Маловероятно, что данные в телефоне будут иметь ценность для нового владельца в этом случае. Поэтому даже простая защита графическим ключом обеспечит сохранность данных. Скорее всего, телефон будет просто-напросто переформатирован для повторного использования.
  2. От любопытных глаз (сослуживцы/дети/жены ), которые могут получить доступ к телефону без вашего ведома, воспользовавшись вашим отсутствием. Простая защита обеспечит сохранность данных.
  3. Предоставление доступа по принуждению
    Бывает, что вы добровольно вынуждены предоставить телефон и открыть доступ к системме (информации). Например когда у вас просит посмотреть телефон жена, представитель власти либо сотрудник сервисного центра куда вы отнесли телефон на ремонт. В этом случае любая защита бесполезна. Хотя есть возможность с помощью дополнительных программ, скрыть факт наличия некоторой информации: скрыть часть SMS переписки, часть контактов, некоторые файлы.
  4. От целенаправленной кражи вашего телефона.
    Например, кто-то очень сильно хотел узнать, что у вас в телефоне и приложил усилия, чтобы заполучить его.
    В этом случае помогает только полное шифрование телефона и SD-карты.

Встроенные средства защиты данных на устройствах Android.

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

Экран можно заблокировать паролем, PIN-кодом и Графическим Ключом. Выбрать способ блокировки можно, запустив настройки и выбрав раздел Security -> Screen lock.

Графический Ключ (Pattern) — c амый удобный и одновременно надежный способ защиты телефона.

None — отсутствие защиты,
Slide — для разблокировки необходимо провести пальцем по экрану в определенном направлении.

Pattern — это Графический Ключ, выглядит это примерно так:

Можно повысить уровень безопасности двумя способами.
1. Увеличить поле ввода Графического ключа. Оно может варьировать от 3х3 точки на экране до 6х6 (Android 4.2 встречается в некоторых моделях, зависит от версии Android и модели телефона).
2. Скрыть отображение точек и «пути» графического ключа на экране смартфона, чтобы невозможно было подглядеть ключ.

3. Установить автоматическую блокировку экрана после 1 минуты бездействия телефона.

Внимание!!! Что случится, если Вы забыли графический ключ:

  1. Количество неверных попыток рисования Графического Ключа ограниченно до 5 раз (в различных моделях телефона количество попыток может доходить до 10 раз).
  2. После того как вы использовали все попытки, но так и не нарисовали правильно Графический Ключ, телефон блокируется на 30 секунд. После этого скорее всего у вас будет опять пару попыток в зависимости от модели телефона и версии Android.
  3. Далее телефон запрашивает логин и пароль вашего Gmail-аккаунта который прописан в настройках Учетных Записей телефона.
    Этот метод сработает только в том случае, если телефон или планшет подключен к Интернету. В противном случае тупик или перезагрузка к настройкам производителя.

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

PIN — это пароль состоящий из нескольких цифр.

И наконец, Password — самая надежная защита, с возможностью использования букв и цифр. Если вы решили использовать пароль — тогда можно включить опцию Шифрование телефона.

Шифрование памяти телефона.

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

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

— шифрование SD-карты включается отдельной опцией.
— Шифрование памяти может занять до часа времени в зависимости от объема памяти устройства. Во время шифрования телефоном нельзя пользоваться.

Что если вы забыли пароль?

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

Внимание, функция полного шифрования присутствует, только начиная с Android OS 4.0 — 4.1 и может просто отсутствовать на некоторых моделях телефонах. Чаще всего встречается в телефонах от Samsung, HTC, LG , Sony. Некоторые китайские модели также имеют функцию шифрования. У некоторых телефонов эта функция расположена в разделе “Память”.

Недостатки:

  1. Вам необходимо будет постоянно вводить довольно сложный пароль (6-10 символов) даже если вы хотите просто позвонить. Хотя возможно установить большой интервал времени (30 минут) в течении которого пароль не будет запрашиваться при включении экрана телефона. На некоторых моделях телефонов — минимальная длина пароля может быть от 3х символов.
  2. На некоторых моделях телефонов невозможно отключить шифрование, если вы хотите отказаться от постоянного ввода пароля. Шифрование отключается только возвратом заводских настроек телефона с удалением всех данных.

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

Функция входит в стандартный пакет Android 4.1.1 для планшетов. Отсутствует во многих бюджетных сборках.
Функция обеспечивает надежную защиту данных на внешней SD-карте. Здесь могут храниться личные фотографии, текстовые файлы с информацией коммерческого и личного характера.
Позволяет зашифровать файлы на SD-карте, не изменяя их названий, файловой структуры, с сохранением предварительного просмотра графических файлов(иконки). Функция требует установки блокировочного пароля на дисплей длиной не менее 6 символов.

Имеется возможность отмены шифрования. При смене пароля происходит автоматическая перешифровка.
Если пользователь потерял карту памяти, зашифрованные файлы не могут быть прочтены через сard-reader. Если ее поставить на другой планшет, где стоит другой пароль, то зашифрованные данные также не могут быть прочтены.
Другие Свойства Шифрования:

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

Недостаток программы: о тсутствие в большинстве сборок Android.

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

Повышение удобности использования защищенного смартфона

Полное шифрование телефона обеспечивает самый надежный уровень защиты, но постоянный ввод 6ти-значного пароля осложняет его использование. Но есть решение.

В системе Android с версии 4.2* возможно некоторые приложения\widgets вынести на экран блокировки, и таким образом вы сможете выполнять простые действия без того чтобы постоянного разблокировать телефон (без ввода 6ти-значного пароля).

Итоги:

  • Встроенные и бесплатные функции для защиты телефона являются весьма надежными. Они способны защитить от посторонних глаз контакты пользователя, его переписку и звонки, аккуанты в различных программах и сетях, а также файлы и папки, расположенные как в памяти телефона, так и на съемной SD-карте.
  • Перед покупкой телефона следует убедиться как работает требуемая защита именно в данной модели телефона: требование использовать слишком сложный PIN-код или пароль на экране блокировки (Графический Ключ не подходит), необратимость шифровки внутренней памяти телефона, т.е. единственный способ отказаться от шифрования — это полный сброс настроек телефона.
  • Важно! Убедитесь что в случае, если Вы забыли пароль либо Графический Ключ, Вы сможете восстановить доступ к телефону либо сможете легко восстановить настройки телефона и информацию в случае если придется сделать hard reset (сброс телефона в заводские настройки с потерей всех данных).
  • Хранить резервную копию конфиденциальных данных необходимо только в на вашем Компьютере, на DVD диске либо в облаке.
Теги: , Защита данных на телефонах и планшетах на базе Android.

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

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

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

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

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

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

Ошибка шифрования android: что делать?

Итак, что делать, если телефон пишет «сбой шифрования»? Такое сообщение появляется до загрузки графической оболочки по той причине, что модуль, отвечающий за шифрование (Cryptfs) загружается одним из первых. Он позволяет всем остальным модулям дешифровать настройки, считать данные с кэша и загрузить полноценную версию ОС.

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

Самое худшее, что сейчас можно сделать - это нажать единственную софтовую кнопку на экране - Reset phone.

После ее активации (в большинстве случаев) можно попрощаться с информацией, хранящейся в папке /data и, возможно, /sdcard.

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

К сожалению, в большинстве перезагрузка сбой шифрования не устраняет, поскольку «сбиты» либо внутренняя карта android-устройства, либо её контроллер.

  1. 3. Если перезапуск телефона/планшета устранить сбой шифрования не помог, следует «откатить» прошивку и установить новую версию криптографического модуля: чтобы устройством можно было воспользоваться.

Для этого потребуется внешняя карта, желательно, не меньше 8 Гб (можно использовать «старую», если с неё сняты резервные копии всех важных данных), на которую будут сохраняться временные разделы /data и /sdcard.

  1. 4. Вставьте microSD карту в андроид устройство.

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

В режиме восстановления найдите свойства SD карты и разделите её на сегменты, которые будут отведены под вышеуказанные разделы. Для области /data вполне должно хватить 2 Гб памяти.

Для «свапа» выберите 0M. Процесс подготовки карты займёт некоторое время - в это время можно скачать последнюю версию ICS, соответствующую модели вашего телефона/планшета.

После скачивания сохраните её на уже размеченную SD-карту.

На данном этапе в режиме восстановления должна активироваться возможность в качестве внешнего носителя.

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

На этот раз запуск устройства займет несколько больше времени, однако после перезагрузки сбой шифрования будет уже «аннулирован» и работа с устройством и внешней картой продолжится в прежнем режиме.

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

Особая роль карты памяти

Изначально разработчики Android предполагали использование карты памяти только как отдельного хранилища пользовательских файлов. Это был просто склад мультимедиа без каких-либо требований к его защите и надежности. Карточки microSD(HC) с FAT32 вполне справлялись с ролью простейшей хранилки, освобождая внутреннюю память от фоток, видеороликов и музыки.

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

К тому же это была полумeра: многие программы переносились частично, оставляя часть данных во внутренней памяти, а некоторые (например, системные или содержащие виджеты) не переносились на карточку вовсе. Сама возможность переноса приложений зависела от их типа (предустановленное или стороннее) и внутренней структуры. У одних каталог с пользовательскими дaнными сразу располагался отдельно, а у других - в подкаталоге самой программы.

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

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

В пятом Андроиде Google снова решила вернуть изначальную концепцию и сделала все, чтобы максимально затруднить перенос приложений на карту памяти. Крупные производители уловили сигнал и добавили в прошивки собственные функции мониторинга, определяющие попытки пользователя принудительно переместить приложения на карточку с использованием рута. Более-менее работал только вариант с созданием жестких или символьных ссылок. При этом пpиложение определялось по стандартному адресу во встроeнной памяти, а фактически находилось на карточке. Однако путаницу вносили файловые менeджеры, многие из которых некорректно обрабатывали ссылки. Они покaзывали неверный объем свободного места, поскольку считали, что приложение якобы занимает место и во встроенной памяти, и на карточке одновременно.

Адаптируй это!

В Android Marshmallow появился компромисс под названием «Адаптируемое хранилище» - Adoptable Storage. Это попытка Google сделать так, чтобы и овцы остались целы, и солдаты удовлетворены.

Функция Adoptable Storage позволяет объединить пoльзовательский раздел во встроенной памяти с разделом на карточке в один логический том. Фактически она создает на карточке раздел ext4 или F2FS и добавляет его к пользовательскому разделу внутренней памяти. Это чисто логическая операция объединения, отдаленно напоминающая создание составного тома из нескольких физических дисков в Windows.

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

В качестве альтернативы можно зарезервировать на карточке место под второй раздел с FAT32. Хранимые на нем файлы будут видны на всех устройствах, как прежде.

Способ разделения карточки задается либо через меню Adoptable Storage, либо через отладочный мост для Android (Android Debug Bridge - ADB). Последний вариант используется в тех случаях, когда производитель скрыл Adoptable Storage из меню, но не удалил эту функцию из прошивки. Например, она скрыта в Samsung Galaxy S7 и топовых смартфонах LG. В последнее время вообще появилась тенденция убирать Adoptable Storage из флагманских устройств. Она считается костылями для бюджетных смартфонов и планшетов, которые не комплектуются достаточным объемом встроeнной Flash-памяти.

Впрочем, не маркетологам решать, как нам использовать свои устройства. Через ADB на компьютере с Windows функция Adoptable Storage включается следующим образом.

  1. Делаем бэкап всех данных на карточке - она будет переформатирована.
  2. Java SE Development kit с сайта Oracle.
  3. Устанавливаем последнюю версию Android SDK Manager .
  4. Включаем на смартфоне отладку по USB.
  5. Запускаем SDK Manager и в командной строке пишем:

    Где x:y - номер карты памяти.

  6. Если хочешь оставить часть для тома FAT32, то измени команду из п. 7 на такую:

    $ sm partition disk: x: y mixed nn


    где nn - остаток объема в процентах для тома FAT32.

Например, команда sm partition disk:179:32 mixed 20 добавит к встроенной памяти 80% объема карточки и оставит на ней том FAT32 в 1/5 ее объема.

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

Некоторые смартфоны не имеют слота для карты памяти (например, серия Nexus), но поддерживают подключение USB-Flash-носителей в режиме OTG. В таком случае флешку также можно использовать для расширения объема встроенной памяти. Делается это следующей командой:

$ adb shell sm set - force - adoptable true

По умолчанию возможность использовать USB-OTG для создания адаптированного хранилища отключена, поскольку его неожиданное извлечение может привести к потере данных. Вероятность внезапного отключения карты памяти гораздо ниже из-за ее физического размещения внутри устройства.

Если с добавлением объема сменного носителя или его разбиением на разделы возникают проблемы, то сначала удали с нeго всю информацию о прежней логической разметке. Надежно это мoжно сделать с помощью линуксовой утилиты gparted , которая на компьютере с Windows зaпускается с загрузочного диска или в виртуальной машине.

Согласно официaльной политике Google приложения могут сразу быть установлены в адаптируемое хранилище или перенесены в него, если разработчик указал это в атрибуте android:installLocation . Ирония в том, что далеко не все собственные приложения Google пока позволяют это делать. Каких-то практических лимитов у «адаптированного хранилища» в Android нет. Теоретический предел для Adoptable Storage составляет девять зеттабайт. Столько нет даже в дaта-центрах, а уж карты памяти большего объема тем более не появятся в ближайшие годы.

Сама процедура шифрования при создании адаптированного хранилища выполняется с помощью dm-crypt - того же модуля ядра Linux, которым производится полнодисковое шифрование встроенной памяти смартфона (см. предыдущую статью « »). Используется алгоритм AES в режиме сцепления блоков шифртекста (CBC). Для каждого сектора генерируется отдельный вектор инициализации с солью (ESSIV). Длина свертки хеш-функции SHA составляет 256 бит, а самoго ключа - 128 бит.

Такая реализация, хотя и уступает в надежности AES-XTS-256, работает гораздо быстрее и считается достаточно надежной для пользовательских устройств. Любопытный сосед вряд ли вскроет зашифрованное адаптированное хранилище за разумное время, а вот спецслужбы давно научились использовать недостатки схемы CBC. К тому же реально не все 128 бит ключа оказываются совершенно случайными. Невольное или намеренное ослабление встроенного генератора псевдослучайных чисел - самая часто встречающаяся проблема криптографии. Она затрагивает не столько гаджеты с Android, сколько все потребительские устройства в целом. Поэтому самый надежный способ обеспечения привaтности - вообще не хранить конфиденциальные данные на смартфоне.

Если после объединения памяти с помощью Adoptable Storage выполнить сброс до заводских настроек, то данные на карточке также пропадут. Поэтому предварительно стоит сделать их бэкап, а лучше - сразу назначить облачную синхронизацию.

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

Теперь, когда мы разобрались с особенностями хранения файлов на кaрте памяти в разных версиях Android, перейдем непосредственно к их шифрованию. Если у тебя девайс с шестым Андроидом и новее, то с большой вероятностью в нем так или иначе можно активировать функцию Adoptable Storage. Тогда все данные на карточке будут зашифрованы, как и во встроенной памяти. Открытыми останутся лишь файлы на дополнительном разделе FAT32, если ты захотел его создать при переформатировании карточки.

В более ранних выпусках Android все гораздо сложнее, поскольку до версии 5.0 криптографическая защита не затрагивала карты памяти вообще (за исключением данных перенесенных приложений, разумеется). «Обычные» файлы на карточке оcтавались открытыми. Чтобы закрыть их от посторонних глаз, понадобятся сторонние утилиты (которые часто оказываются лишь графической оболочкой для встроенных средств). При всем разнообразии существующих способов принципиально разных получается четыре:

  • использование универсального криптоконтейнера - файла с образом зашифрованного тома в популярном формате, с которым умеют работать приложения для разных ОС;
  • прозрачное шифрование файлов в указанном каталоге через драйвер FUSE и стороннюю утилиту для создания/монтирования зашифрованного раздела в виде файла;
  • шифрование всей карты памяти через dm-crypt;
  • использование «черного ящика» - отдельного приложeния, которое хранит зашифрованные данные в собственном формате и не пpедоставляет доступ к ним для сторонних программ.

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

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

Третий вариант - встроенный dm-crypt. Использовать его можно, к примеру, через LUKS Manager. Приложению требуется рут и установленный BusyBox. Интерфейс у него - на любителя.

LUKS Manager создает на карточке криптоконтейнер в виде файла. Этот контейнер можно подключить к произвольному каталогу и работать с ним, как с обычным. Плюс в том, что у этого решения есть кросс-платформенная поддержка. Работать с контейнером можно не только на гаджете с Android, но и на десктопе: в Linux - через cryptsetup, а в Windows - через программу или ее форк LibreCrypt . Минус - нeудобство использования совместно с облачными сервисами . Каждый раз в облаке приходится повторно сохранять весь контейнер, даже если изменился один байт.

Четвертый вариант в целом малоинтересен, поскольку сильно ограничивает сценарии использования зашифрованных файлов. Их можно будет открыть только каким-то специализированным приложением и уповать на то, что его разработчик преуспел в изучении криптографии. К сожалению, большинство таких приложений не выдерживает никакой критики. Многие из них вообще не имеют никакого отношения к криптографии, поскольку просто маскируют файлы вмeсто того, чтобы шифровать их. При этом в описании могут упоминаться стойкие алгоритмы (AES, 3DES…) и приводиться цитаты из «Прикладной криптографии» Шнайера. В лучшем случае у таких программ будет очень плохая реализация шифрования, а в худшем его не будет вовсе.

Официального клиента под Android для VeraCrypt нет и не планируется, однако его авторы рекомендуют использовать приложение EDS (Encrypted Data Store). Это российская разработка, существующая в полнофункциональном и облегченном варианте. Полная версия EDS стоит 329 рублей. Она поддерживает криптоконтейнеры формата TrueCrypt, VeraCrypt, CyberSafe, а также LUKS и EncFS. Умеет работать с локальными, сетевыми и облачными хранилищами , обеспeчивая другим приложениям прозрачное шифрование. Шифрование на лету требует поддержки ядром ОС фреймворка FUSE и прав рут. Обычная работа с криптоконтейнерами возможна на любых прошивках.

Версия EDS Lite распространяется бесплатно и имеет функциональные ограничения. Например, она может работать исключительно с контейнерами, содержащими внутри том с файловой системой FAT, зашифрованной по алгоритму AES c длинoй ключа 256 бит и с использованием хеш-функции SHA-512. Другие варианты ею не поддерживаются. Поэтому стоит ориентироваться на платную версию.

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

EncFS

В 2003 году Валиент Гоф (Valient Gough - инженер-программист из Сиэтла, писавший софт для NASA, а позже работавший на Google и Amazon) выпустил первый релиз свободной файловой системы со встроенным механизмом прозрачного шифрования - EncFS . Она взаимодействует с ядром ОС благодаря слою обратного вызова, получая запросы через интерфейс libfuse фреймворка FUSE. По выбору пользовaтеля EncFS использует один из симметричных алгоритмов, реализованных в библиотеке OpenSSL, - AES и Blowfish.

Поскольку в EncFS используется принцип создания виртуальной файловой системы, для нее не потребуется отдельного раздела. В ОС Android достаточно установить приложение с поддержкой EncFS и просто указать ему пару каталогов. Один из них будет хранить зашифрованное содержимое (пусть он называется vault ), а втоpой - временно расшифрованные файлы (назовем его open ).

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

Недостатки: EncFS не поддерживает жесткие ссылки, так как данные имеют привязку не к inode, а к имени файла. По этой же причине поддерживаются имена файлов длиной до 190 байт. В каталоге vault будут скрыты имена файлов и их содержимое, но останутся доступными метаданные. Можно узнать число зашифрованных файлов, их разрешения, пoследнее время доступа или модификации. Также существует явный признак использования EncFS - это файл настроек с префиксом encfs и указанием номера версии в его названии. Внутри файла записаны параметры шифрования, включая алгоритм, длину ключа и размер блоков.

Платный аудит EncFS был выполнен в феврале 2014 года. В его заключении говорится, что «EncFS, вероятно, надежна до тех пор, пока атакующая сторона имеет только один набор зашифрованных файлов и ничего более». Если же атакующему доступно больше данных (например, два снапшота файловой системы, снятые в разное время), то EncFS не может считаться надежной.

После установки EncFS будет видна как отдельная файловая система пространства пользователя через драйвер FUSE. Доступ к ней будет реализовaн через какое-то стороннее приложение - напримeр, файловый менеджер Encdroid или Cryptonite . Последний базируется на исходном кoде EncFS, поэтому остановимся на нем.

Cryptonite

Последняя версия приложeния Cryptonite - 0.7.17 бета от 15 марта 2015 года. Ее можно установить на любое устройство с Android 4.1 и выше, однако часть функций работает более стабильно в Android 4.3 и более свежих версиях.

Большинство операций в Cryptonite не требуют root и каких-то специфических компонентов. Создание томов EncFS и синхронизация с Dropbox может выполняться как на официальных, так и на кастомных прошивках.

Облaчная синхронизация зашифрованных файлов

Однако для ряда операций потребуется монтирование томов EncFS, для чего нужны права root и поддержка фреймворка FUSE ядром ОС. Использование FUSE необходимо для организации «прозрачного шифрования», то есть для того, чтобы другие приложения имели возможность обращаться к зашифрованным данным и получать их уже расшифрованными. В большинстве старых прошивок поддержка FUSE отсутствует, но она есть в CyanogenMod, MIUI, AOKP и других кастомных. Начиная с Android 4.4 FUSE штатно используется для эмуляции SD-карты во встроенной памяти.

Недостатки: при нажатии «Расшифровать» и успeшном вводе пароля Cryptonite создает временную копию дешифрованного файла в /data/data/csh.cryptonite/app_open/. Копия файла помечается как world readable (читаемая и исполняемая для всех). Удалить расшифрованные файлы можно нажатием кнопки Forget Decryption.


Выводы

Способ шифрования данных на карте памяти стоит выбирать, исходя из двух основных критериев: сценария использования и версии Android. На современных гаджетах с Android 6.0 и выше самый простой вариант - воспользоваться Adoptable Storage, присоединить карточку к внутренней памяти и выполнить прозрачное шифрование всего логического тома. Если надо сделать файлы доступными на других устройствах или добавить шифрование данных на карточке в старых девайcах - подойдут криптоконтейнеры проверенных форматов. Сторонних утилит по типу «вещь в себе» лучше избегать вовсе, поскольку вместо реальной защиты данных они часто лишь имитируют ее.

Last updated by at Февраль 18, 2017 .

Google представила полное шифрование данных на телефоне под управлением Android Gingerbread (2.3.x), но оно претерпело некоторые кардинальные изменения с тех пор. как на некоторых более дорогих телефонах, работающих под управлением Lollipop (5.x) и выше, оно включено изначально, в то время, как на некоторых старых или более ранних устройствах, вы должны включить его самостоятельно. Как шифровать флешки, вы можете почитать.

Зачем вам может понадобиться шифрование телефона

Шифрование хранит данные вашего телефона в нечитаемой, почти зашифрованной форме. (Для того, чтобы фактически выполнять функции шифрования низкого уровня, Android использует DM-crypt, который является стандартной системой шифрования диска в ядре Linux. Это та же технология, используемая различными дистрибутивами Linux.) При вводе PIN-кода, пароля, или рисунка на экране блокировки, телефон расшифровывает данные, делая их читаемыми. Если кто-то не знает PIN-код или пароль, он не сможет получить доступ к данным. (На Android 5.1 и выше, для шифрования не требуется устанавливать PIN-код или пароль, но настоятельно рекомендуется, так как без наличия PIN-кода или пароля снижается эффективность шифрования.)

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

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

Что необходимо учесть перед включением шифрования

Выберите шаблон, PIN-код или пароль для настройки вашей безопасности.

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

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

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

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

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

Вас также может заинтересовать статья « », в которой мы рассказывали, как с помощью приложения и K-9 Mail надежно зашифровать переписку.

На данный момент в доступны следующие программы для шифрования:

  • LUKS Manager;
  • EDS Lite;
  • Cryptonite;
  • CyberSafe Mobile.

Кроме этого приложение позволяет обмениваться зашифрованными файлами с другими пользователями и позволяет шифровать произвольные папки на Google Drive. Впрочем, для каждой бочки меда можно найти ложку дегтя. Приложение платное. А его бесплатная версия ограничивает максимальную длину пароля всего в 2 символа, что, сами понимаете, очень мало. С другой стороны, приложение стоит совсем недорого (дешевле 3$) и оно ограничивает пароль не при открытии контейнера, а только при создании. То есть если вам нужно использовать приложение с одним и тем же набором данных на разных устройствах, то вы можете создать контейнер на одном устройстве и скопировать его на другое, а программу купить только на одном устройстве (на котором будете создавать контейнер).

Приложение для шифрование данных на Андроид

Какое приложение выбрать?

Ответ прост. Если вы на персональном компьютере используете TrueCrypt, то выбор очевиден - EDS Lite. Если вы хотите обеспечить шифрование облака, то, судя по всему, на компьютере придется перейти на CyberSafe.

Вкратце: Если вы используете графический ключ доступа к телефону, то в 99% этого достаточно для того чтобы никто без вашего ведома не смог получить доступ к информации в телефоне. Если данные в телефоне очень конфиденциальные, тогда следует использовать встроенную функцию полного шифрования телефона.

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

  1. От кого следует защищать данные телефона.
  2. Встроенные средства защиты данных в Android.
  3. Полное Шифрование памяти телефона
  4. Итоги

Какая информация хранится в телефоне и зачем ее защищать?

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

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

И так что надо защищать в телефоне:

  1. Учетные записи. Сюда входит, например, доступ к вашему почтовому ящику gmail. Если вы настроили синхронизацию с facebook, dropbox, twitter. Логины и пароли для этих систем хранятся в открытом виде в папке профиля телефона /data/system/accounts.db.
  2. История SMS-переписки и телефонная книжка также содержат конфиденциальную информацию.
  3. Программа Web браузер. Весь профайл браузера должен быть защищен. Известно, что Web Браузер (встроенный либо сторонний) запоминает для вас все пароли и логины. Это все храниться в открытом виде в папке профиля программы в памяти телефона. Мало того, обычно сами сайты (с помощью cookies) помнят вас и оставляют доступ к аккуанту открытым, даже если вы не указывали запоминать пароль.
    Если вы используете синхронизацию мобильного браузера (Chrome, FireFox, Maxthon и др.) с настольной версией браузера для передачи закладок и паролей между устройствами, тогда можно считать что с вашего телефона можно получить доступ ко всем паролям от других сайтов.
  4. Карта Памяти. Если вы храните на карте памяти конфиденциальные файлы либо загружаете документы из Интернета. Обычно на карте памяти хранятся фотоснимки и снятые видео.
  5. Фотоальбом.

От кого следует защищать данные телефона:

  1. От случайного человека, который найдет потерянный вами телефон л ибо от “случайной” кражи телефона.
    Маловероятно, что данные в телефоне будут иметь ценность для нового владельца в этом случае. Поэтому даже простая защита графическим ключом обеспечит сохранность данных. Скорее всего, телефон будет просто-напросто переформатирован для повторного использования.
  2. От любопытных глаз (сослуживцы/дети/жены ), которые могут получить доступ к телефону без вашего ведома, воспользовавшись вашим отсутствием. Простая защита обеспечит сохранность данных.
  3. Предоставление доступа по принуждению
    Бывает, что вы добровольно вынуждены предоставить телефон и открыть доступ к системме (информации). Например когда у вас просит посмотреть телефон жена, представитель власти либо сотрудник сервисного центра куда вы отнесли телефон на ремонт. В этом случае любая защита бесполезна. Хотя есть возможность с помощью дополнительных программ , скрыть факт наличия некоторой информации: скрыть часть SMS переписки, часть контактов, некоторые файлы.
  4. От целенаправленной кражи вашего телефона.
    Например, кто-то очень сильно хотел узнать, что у вас в телефоне и приложил усилия, чтобы заполучить его.
    В этом случае помогает только полное шифрование телефона и SD-карты.

Встроенные средства защиты данных на устройствах Android.

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

Экран можно заблокировать паролем, PIN-кодом и Графическим Ключом. Выбрать способ блокировки можно, запустив настройки и выбрав раздел Security -> Screen lock.

Графический Ключ (Pattern) - c амый удобный и одновременно надежный способ защиты телефона.


None - отсутствие защиты,
Slide - для разблокировки необходимо провести пальцем по экрану в определенном направлении.

Pattern - это Графический Ключ, выглядит это примерно так:


Можно повысить уровень безопасности двумя способами.
1. Увеличить поле ввода Графического ключа. Оно может варьировать от 3х3 точки на экране до 6х6 (Android 4.2 встречается в некоторых моделях, зависит от версии Android и модели телефона).
2. Скрыть отображение точек и «пути» графического ключа на экране смартфона, чтобы невозможно было подглядеть ключ.

3. Установить автоматическую блокировку экрана после 1 минуты бездействия телефона.

Внимание!!! Что случится, если Вы забыли графический ключ:

  1. Количество неверных попыток рисования Графического Ключа ограниченно до 5 раз (в различных моделях телефона количество попыток может доходить до 10 раз).
  2. После того как вы использовали все попытки, но так и не нарисовали правильно Графический Ключ, телефон блокируется на 30 секунд. После этого скорее всего у вас будет опять пару попыток в зависимости от модели телефона и версии Android.
  3. Далее телефон запрашивает логин и пароль вашего Gmail-аккаунта который прописан в настройках Учетных Записей телефона.
    Этот метод сработает только в том случае, если телефон или планшет подключен к Интернету. В противном случае тупик или перезагрузка к настройкам производителя.

Бывает так что телефон попадает в руки к ребенку - он начинает играться, много раз рисует ключ и это приводит к блокировке ключа.

PIN - это пароль состоящий из нескольких цифр.

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

Шифрование памяти телефона.

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

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


Шифрование SD-карты включается отдельной опцией.
- Шифрование памяти может занять до часа времени в зависимости от объема памяти устройства. Во время шифрования телефоном нельзя пользоваться.

Что если вы забыли пароль?

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

Внимание, функция полного шифрования присутствует, только начиная с Android OS 4.0 - 4.1 и может просто отсутствовать на некоторых моделях телефонах. Чаще всего встречается в телефонах от Samsung, HTC, LG , Sony. Некоторые китайские модели также имеют функцию шифрования. У некоторых телефонов эта функция расположена в разделе “Память”.

Недостатки:

  1. Вам необходимо будет постоянно вводить довольно сложный пароль (6-10 символов) даже если вы хотите просто позвонить. Хотя возможно установить большой интервал времени (30 минут) в течении которого пароль не будет запрашиваться при включении экрана телефона. На некоторых моделях телефонов - минимальная длина пароля может быть от 3х символов.
  2. На некоторых моделях телефонов невозможно отключить шифрование, если вы хотите отказаться от постоянного ввода пароля. Шифрование отключается только возвратом заводских настроек телефона с удалением всех данных.

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

Функция входит в стандартный пакет Android 4.1.1 для планшетов. Отсутствует во многих бюджетных сборках.
Функция обеспечивает надежную защиту данных на внешней SD-карте. Здесь могут храниться личные фотографии, текстовые файлы с информацией коммерческого и личного характера.
Позволяет зашифровать файлы на SD-карте, не изменяя их названий, файловой структуры, с сохранением предварительного просмотра графических файлов(иконки). Функция требует установки блокировочного пароля на дисплей длиной не менее 6 символов.

Имеется возможность отмены шифрования. При смене пароля происходит автоматическая перешифровка.
Если пользователь потерял карту памяти, зашифрованные файлы не могут быть прочтены через сard-reader. Если ее поставить на другой планшет, где стоит другой пароль, то зашифрованные данные также не могут быть прочтены.
Другие Свойства Шифрования:

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

Недостаток программы: о тсутствие в большинстве сборок Android.

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

Повышение удобности использования защищенного смартфона

Полное шифрование телефона обеспечивает самый надежный уровень защиты, но постоянный ввод 6ти-значного пароля осложняет его использование. Но есть решение.

В системе Android с версии 4.2* возможно некоторые приложения\widgets вынести на экран блокировки, и таким образом вы сможете выполнять простые действия без того чтобы постоянного разблокировать телефон (без ввода 6ти-значного пароля).

Итоги:

  • Встроенные и бесплатные функции для защиты телефона являются весьма надежными. Они способны защитить от посторонних глаз контакты пользователя, его переписку и звонки, аккуанты в различных программах и сетях, а также файлы и папки, расположенные как в памяти телефона, так и на съемной SD-карте.
  • Перед покупкой телефона следует убедиться как работает требуемая защита именно в данной модели телефона: требование использовать слишком сложный PIN-код или пароль на экране блокировки (Графический Ключ не подходит), необратимость шифровки внутренней памяти телефона, т.е. единственный способ отказаться от шифрования - это полный сброс настроек телефона.
  • Важно! Убедитесь что в случае, если Вы забыли пароль либо Графический Ключ, Вы сможете восстановить доступ к телефону либо сможете легко восстановить настройки телефона и информацию в случае если придется сделать hard reset (сброс телефона в заводские настройки с потерей всех данных).
  • http://www..png lyuda 2013-06-19 19:13:07 2015-06-24 17:54:26 Защита данных на телефонах и планшетах на базе Android.

ФБР попыталось через суд выкрутить руки компании Apple, не желающей создавать код для обхода собственной системы безопасности. Обнаружена критическая уязвимость в ядре Android, позволяющая получить доступ суперпользователя в обход всех защитных механизмов. Эти два события хоть и не связаны между собой, но совпали по времени, явным образом демонстрируя различия в системе безопасности двух популярных мобильных ОС. Отложим на минуту вопрос с критической уязвимостью ядра Android, которая вряд ли будет когда-либо исправлена большинством производителей в уже выпущенных моделях, и рассмотрим механизмы шифрования данных в Android и Apple iOS. Но прежде поговорим, зачем вообще нужно шифрование в мобильных устройствах.

Зачем шифровать телефон?

Честному человеку скрывать нечего - популярнейшей лейтмотив, который звучит после каждой публикации на тему защиты данных. «Мне скрывать нечего», - говорят многие пользователи. Увы, но гораздо чаще под этим подразумевается всего лишь уверенность в том, что уж в данные конкретного Васи Пупкина никто не потрудится залезть, ибо кому они вообще интересны? Практика показывает, что это не так. Далеко ходить не станем: буквально на прошлой неделе увольнением завершилась карьера школьной учительницы, которая на минутку оставила телефон на столе. Ученики мгновенно разблокировали аппарат и извлекли из него фотографии учительницы в виде, который осуждается пуританской моралью американского общества. Инцидент послужил достаточным основанием для увольнения учительницы. Подобные истории происходят чуть ли не ежедневно.

Как взламываются незашифрованные телефоны

Не будем углубляться в детали, просто имей в виду: данные с незашифрованного телефона можно извлечь почти в ста процентах случаев. «Почти» здесь относится скорее к случаям, когда телефон попытались физически повредить или уничтожить непосредственно перед снятием данных. Во многих устройствах Android и Windows Phone есть сервисный режим, позволяющий слить все данные из памяти аппарата через обычный USB-кабель. Это касается большинства устройств на платформе Qualcomm (режим HS-USB, работающий даже тогда, когда загрузчик заблокирован), на китайских смартфонах с процессорами MediaTek (MTK), Spreadtrum и Allwinner (если разблокирован загрузчик), а также всех смартфонов производства LG (там вообще удобный сервисный режим, позволяющий слить данные даже с «окирпиченного» устройства).

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

А если шифрование было включено? В старых версиях Android (до 4.4 включительно) и это можно было обойти (за исключением, правда, аппаратов производства Samsung). А вот в Android 5.0 наконец появился режим стойкого шифрования. Но так ли он полезен, как полагает Google? Попробуем разобраться.

Android 5.0–6.0

Первым устройством под управлением Android 5.0 стал Google Nexus 6, выпущенный в 2014 году компанией Motorola. В то время уже активно продвигались 64-разрядные мобильные процессоры с архитектурой ARMv8, но у компании Qualcomm не было готового решения на этой платформе. В результате в Nexus 6 был использован набор системной логики Snapdragon 805, основанный на 32-разрядных ядрах собственной разработки Qualcomm.

Почему это важно? Дело в том, что в процессоры на архитектуре ARMv8 встроен набор команд для ускорения потокового шифрования данных, а в 32-битных процессорах ARMv7 таких команд нет.

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

Причина восьмикратного отставания от «младшего брата», смартфона Motorola Moto X 2014, проста: насильно включенное шифрование, реализованное компанией на программном уровне. В реальной жизни пользователи Nexus 6 на оригинальной версии прошивки жаловались на многочисленные лаги и фризы, заметный нагрев устройства и относительно слабую автономность. Установка ядра, отключающего насильственно активированное шифрование, разом решала эти проблемы.

Впрочем, прошивка - дело такое, ее ведь можно и допилить, не так ли? Особенно если ты Google, располагаешь неограниченными финансами и имеешь в штате самых квалифицированных разработчиков. Что ж, посмотрим, что было дальше.

А потом был Android 5.1 (спустя полгода), в котором нужные драйверы для работы с аппаратным ускорителем сначала добавили в предварительной версии прошивки, а потом снова убрали в финальной из-за серьезных проблем со спящим режимом. Потом был Android 6.0, на момент выхода которого пользователи уже успели потерять интерес к этой игре и стали любыми способами отключать шифрование, пользуясь сторонними ядрами. Или не отключать, если скорости чтения в 25–30 Мбайт/с достаточно.

Android 7.0

Хорошо, но уж в Android 7 можно было исправить серьезную проблему флагманского устройства, которой уже почти два года? Можно, и ее исправили! В лаборатории «Элкомсофт» сравнили производительность двух идентичных Nexus 6, на одном из которых была установлена версия Android 6.0.1 с ядром ElementalX (и отключенным шифрованием), в то время как второе работало под управлением первой предварительной версии Android 7 с настройками по умолчанию (шифрование включено). Результат налицо:

Шифровaние данных в ОС 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. Сделать это можно так:

С этого момента пароли на разблокировку и расшифровку будут отличаться, но вновь станут одинаковыми, если ты сменишь пароль на разблокировку (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 битами случайной соли.

Last updated by at Ноябрь 18, 2016 .