Что такое Net Framework для Windows XP и как его установить
Microsoft .NET Framework — это программная среда, которая поддерживает создание и выполнение других настольных и...
Впервые Google позволила зашифровать Android устройства в Android Gingerbread (2.3.х), но данная функция претерпела некоторые значительные изменения с тех пор. На некоторых смартфонах под управлением lollipop (5.X) и выше можно пользоваться функцией шифрования, что называется, из коробки, в то время как на некоторых старых или бюджетных устройствах Вам придется включать ее самостоятельно.
Шифрование хранит данные Вашего телефона в не читаемой форме. Для выполнения низкоуровневых функций шифрования, Android использует dm-crypt, который представляет собой стандартную систему шифрования диска в ядре Linux. Эта же технология используется в различных дистрибутивах Linux. Когда вы вводите PIN-код, пароль или графический ключ на экране блокировки, телефон расшифровывает данные, что делает их понятными. Кто не знает PIN код или пароль, тот не сможет получить доступ к Вашим данным. На Android 5.1 и выше шифрование не требует наличие PIN-кода или пароля, но настоятельно рекомендуется, так как при их отсутствии снижается эффективность шифрования.
Шифрование защищает конфиденциальные данные на Вашем телефоне. Например, корпорации с конфиденциальными бизнес-данными на телефонах компании хотят использовать шифрование (с защищенной блокировкой экрана) для защиты данных от промышленного шпионажа. Злоумышленник не сможет получить доступ к данным без ключа шифрования, хотя бывают и продвинутые методы взлома, которые делают это возможным.
Обычный пользователь думает, что у него нет никакой важной информации. Если Ваш телефон украдут, то вор будет иметь доступ к Вашей почте, сможет узнать Ваш домашний адрес и иметь доступ к другой личной информации. Согласен, большинство воров не смогут получить доступ к личной информации, если на смартфоне будет установлен обычный код разблокировки, даже без шифрования. И большинство воров интересует продажа Вашего устройства, а не личные данные. Но никогда не помешает защитить свои данные.
В большинстве новых устройств шифрование включено по-умолчанию. Если у Вас как раз такое устройство, то шифрование отключить не получится. Но, если Вы используете гаджет, в котором шифрование не включено, то перед использованием этой функции стоит знать о следующем:
Это не означает, что мы отговариваем Вас от шифрования, мы пытаемся объяснить все нюансы этого процесса.
Прежде чем начать, есть несколько вещей, которые стоит знать:
Убедитесь, что у Вас достаточно времени и зарядки батареи. Если Вы вмешаетесь в процесс шифрования или завершите процесс самостоятельно, то Вы можете потерять все данные . Как только процесс начнется, лучше просто оставить устройство в покое и позволять ему сделать свое дело.
Откройте меню, перейдите в настройки и нажмите на пункт «Безопасность». Имейте ввиду, что на различных устройствах этот пункт может иметь различные названия. Некоторые устройства позволяют также зашифровать SD карту, но по-умолчанию зашифруется только внутренняя память.
Если устройство еще не зашифровано Вы можете нажать на пункт «Зашифровать устройство» для начала процесса шифрования.
На следующем экране будет предупреждение, чтобы вы знали, чего ожидать после того, как процесс закончится. Большинство уже было описано в данной статье. Если Вы готовы продолжить, нажмите кнопку «Зашифровать устройство».
Появится еще одно предупреждение, которое спросит действительно ли Вы хотите зашифровать устройство. Если Вы не передумали, то нажимайте на «Зашифровать устройство».
После этого телефон перезагрузится и начнется процесс шифрования. Прогресс-бар и время до завершения операции покажут, сколько Вы будете без своего телефона.
После окончания процесса телефон перезагрузится и им снова можно будет пользоваться. Вы должны будете ввести пароль или PIN-код разблокировки экрана, чтобы завершить процесс загрузки. Если у Вас не был включен пароль или PIN-код разблокировки, то система предложит задать их перед тем как зашифровать Android устройство. Для этого необходимо зайти в Настройки -> Безопасность -> Блокировка экрана и выбрать тип блокировки.
Обращаем Ваше внимание на то, что если у вас установлен сканер отпечатка пальца, то вам все равно нужно установить пароль, PIN-код, или графический ключ, так как с помощью них можно разблокировать устройство при первой загрузке.
С этого момента Ваше устройство будет зашифровано, но если Вы хотите отключить шифрование, Вы можете сделать это, выполнив сброс до заводских настроек . Если у Вас включено шифрование «из коробки», то отключить его уже нельзя, даже через сброс до заводских настроек.
Цель данной статьи - сравнить три Android-приложения для шифрования данных - LUKS Manager, Cryptonite и CyberSafe Mobile. Сразу нужно отметить, что сравнение будет честное, а не с целью выделить преимущества той или иной программы. У каждой программы есть свои достоинства и недостатки, в этой статье они будут раскрыты в полном объеме.
Рис. 1. Программа LUKS Manager не видит установленный BusyBox
Не буду описывать, что я делал, чтобы программа его «увидела», скажу лишь только, что помогла перезагрузка планшета. Как-то попахивает Windows даже, а не UNIX, коим, как ни крути, является Android. Кстати, издевательства происходили над планшетом Acer B1 с Android 4.1.2. Ни один планшет в результате экспериментов не пострадал:)
После перезагрузки программа все-таки запустилась (рис. 2). Интерфейс программы очень прост. Я бы даже сказал спартанский. Скриншоты я обрезаю, чтобы не уменьшать их размер и чтобы вам было их лучше видно.
Рис. 2. Программа LUKS Manager
Функционал программы также спартанский. Вы можете просмотреть, какой контейнер смонтирован (кнопка Status
), создать контейнер (кнопка Create
), подмонтировать (кнопка Mount
) и размонтировать его (кнопка Unmount
), размонтировать все контейнеры (Unmount All
), удалить контейнер (Remove
). То, что программа может создавать зашифрованные контейнеры и монтировать их - хорошо. Но в наше время хочется видеть возможность облачного шифрования, возможность монтирования сетевых папок, чтобы можно было работать с удаленным контейнером. Также хотелось видеть встроенный файловый менеджер на случай, если у пользователя такой программы не установлено. Ведь и так для работы LUKS Manager мне пришлось рутировать устройство, установить SuperSu и BusyBox. Получается, что еще нужен и файловый менеджер. Базовый функционал (отображение файлов и папок) в программе есть, неужели было трудно добавить функции копирования/перемещения/удаления файлов и папок? Для доступа к «проводнику», встроенному в программу, нажмите кнопку вызова меню программы и выберите команду Explore
. Впрочем, об этом мы еще поговорим.
Посмотрим на программу в работе. Нажмите кнопку Create
для создания контейнера. Программа предложит выбрать каталог, в котором будет храниться контейнер (рис. 3, рис. 4).
Рис. 3. Нажмите OK
Рис. 4. Выберите каталог и нажмите Select This Directory
Далее нужно ввести название контейнера (рис. 5), пароль для доступа (рис. 6) к нему и размер контейнера (рис. 7). Программа не отображает введенный пароль и не предлагает ввести подтверждение пароля, поэтому есть вероятность ошибки при вводе пароля - тогда подмонтировать созданный контейнер не получится и это нужно учитывать при работе с программой.
Рис. 5. Название контейнера
Рис. 6. Пароль для доступа к контейнеру
Рис. 7. Размер контейнера
Следующий вопрос - как форматировать контейнер: как FAT (будет совместимость с FreeeOTFE) или как ext2 (рис. 8). LUKS Manager создает контейнеры, совместимые с Windows-программой . Как по мне, лучше бы программа поддерживала TrueCrypt. Однако нужно отметить, что наконец-то у FreeOTFE появилась поддержка 64-битных версий Windows, что позволяет более полноценно использовать связку LUKS Manager + FreeOTFE на современных компьютерах. Было бы неплохо, если у LUKS Manager была возможность удаленного монтирования контейнера, который находится на Windows-компьютере. Тогда бы вы могли на ПК с помощью FreeOTFE создать контейнер и удаленного подмонтировать его на вашем Android-устройстве. Преимущество такого решения - не нужно захламлять память устройства, да и сами бы данные физически не хранились бы на Android-устройстве, шансов потерять которое гораздо больше, чем обычный ПК.
Рис. 8. Как форматировать контейнер?
Далее программа сообщит вам, что контейнер создан и подмонтирован к папке /mnt/sdcard/<название контейнера>, в нашем случае - это /mnt/sdcard/photos (рис. 9). В настройках программы можно будет изменить название этой папки.
Рис. 9. Контейнер подмонтирован
Осталось запустить какой-то сторонний файловый менеджер и скопировать в созданный контейнер файлы (рис. 10).
Рис. 10. Файлы скопированы
Пробуем размонтировать контейнер (кнопка Unmount ), при этом программа показывает окошко, позволяющее выбрать, какой именно контейнер нужно размонтировать (рис. 11).
Рис. 11. Размонтирование контейнера
После этого запускаем файловый менеджер и переходим в /mnt/sdcard/. Папка photos есть и она почему-то не удалена, но доступ к ней запрещен (рис. 12). Обычно такие временные папки должны удаляться после размонтирования. Но это мелочи, в принципе.
Рис. 12. Доступ к /mnt/sdcard/photos запрещен
Теперь посмотрим, что у программы есть в настройках. Нажмите кнопку вызова меню и выберите команду Preferences (рис. 13). Вот, что есть полезного мы видим (рис. 14):
Рис. 13. Меню программы
Рис. 14. Настройки программы
Рис. 15. Встроенный файловый менеджер
Рис. 16. Окошко с информацией о файле
Теперь подытожим. К преимуществам программы LUKS Manager можно отнести:
А вот недостатков у программы множество:
Рис. 17. Первый запуск Cryptonite
Что касается системных требований, то программе нужен root-доступ и ядро с поддержкой FUSE (Filesystem in Userspace, Файловая система в пользовательском пространстве). Требование поддержки FUSE можно смело отнести к недостаткам программы, поскольку далеко не все устройства поддерживают FUSE. Доустанавливать какие-либо дополнительные программы не нужно (если не считать файлового менеджера).
Функционал программы уже несколько лучше, чем у LUKS Manager. Она умеет создавать не только локальные контейнеры, но и шифровать ваши файлы на DropBox. Поддержка DropBox автоматически означает поддержку облачного шифрования, поэтому уже эта программа стоит на голову выше, чем LUKS Manager.
На рис. 18 представлена программа Cryptonite после закрытия надоедающего сообщения о том, что вы используете экспериментальную версию программы. Вкладка Dropbox
позволяет зашифровать файлы на вашем Dropbox, вкладка Local
используется для создания локального контейнера, а на вкладке Expert
обычному пользователю делать нечего.
Рис. 18. Программа Cryptonite
Для создания локального контейнера нужно нажать кнопку Create local volume , после чего вы опять увидите предупреждение о том, что данная функция экспериментальна (рис. 19). Далее, как обычно, нужно выбрать метод шифрования (рис. 20), расположение контейнера, ввести пароль и его подтверждение (рис. 21). Мне понравилось, что программа предлагает ввести подтверждение пароля, что исключает его неправильный ввод при создании контейнера.
Рис. 19. Опять надоедающее предупреждение
Рис. 20. Выбор метода шифрования
Рис. 21. Ввод подтверждения пароля
Смонтировать созданный контейнер можно командой Mount EncFS на вкладке Local . Программа предложит выбрать контейнер. Контейнер после ввода пароля к нему будет подмонтирован к каталогу /mnt/sdcard/csh.cryptonite/mnt (рис. 22). Каталог для монтирования задается в настройках программы (рис. 23).
Рис. 22. Контейнер подмонтирован
Рис. 23. Настройки программы
В настройках нет особо ничего интересного, кроме папки для монтирования (Mount point ), а также режима Чака Норриса, позволяющего отключить надоедающие и бессмысленные предупреждения. Также можно включить использование встроенного файлового менеджера при монтировании контейнера (Use built-in file browser ), но учитывая традиционно скудный функционал этой части программы (рис. 24), я не рекомендую включать этот параметр. Данный «файловый менеджер» не может даже открыть файл. Он позволяет только просмотреть содержимое контейнера и ничего больше.
Рис. 24. Встроенный просмоторщик контейнера
Преимущества программы:
Недостатки:
Рис. 25. Встроенный файловый менеджер CyberSafe
В настройках монтирования программы можно выбрать (рис. 26):
Рис. 26. Опции монтирования
Также стоит отметить русскоязычный интерфейс программы CyberSafe Mobile, что облегчает работу с программой пользователям, не владеющим английским языком (рис. 27).
Рис. 27. Интерфейс программы. Создание сейфа
Только уже благодаря всему этому (возможность работы без root и FUSE, полноценный файловый менеджер и русскоязычный интерфейс) программа на голову выше LUKS Manager и Cryptonite. Но это еще не все. У программы есть ряд функций, которые приводят к нокауту конкурентов.
Во-первых, это поддержка алгоритма ГОСТ - в отличие от остальных программ, в которых используется только AES или Blowfish (рис. 28).
Рис. 28. Выбор алгоритма шифрования при создании сейфа
Во-вторых, программа поддерживает монтирование сетевых папок, что позволяет использование удаленного сейфа, находящегося на удаленном ПК (рис. 29). Принцип прост: сам контейнер хранится на ПК, к нему предоставляется общий доступ по сети. Выходит, что контейнер открывается на смартфоне, на ПК он всегда хранится в зашифрованном виде, данные по сети передаются также зашифрованными, что исключает их перехват. Все действия по шифрованию и расшифровке данных осуществляются на мобильном устройстве. Даже если вы потеряете свое устройство, никто не получит доступ даже к зашифрованным данным, поскольку они хранятся на удаленном компьютере.
Рис. 29. Работа с сетевыми папками
Создать сейф можно, как с помощью программы CyberSafe Mobile, так и с помощью настольной версии программы - CyberSafe Top Secret . Нужно отметить, что для полноценной работы с сейфом программа CyberSafe Top Secret не нужна - вы можете создать сейф на мобильном устройстве и скопировать его на ПК. Другими словами, вам не нужно покупать программу CyberSafe Top Secret для удаленного использования сейфа на смартфоне. Но если вам нужно организовать совместное использование сейфа на ПК и Android , тогда, конечно же, вам понадобится программа CyberSafe Top Secret.
При установке бесплатной программы URSafe Media Redirector возможно автоматически перенаправлять создаваемые вами фотоснимки (и другие файлы, например, документы) в сейф, который физически находится на удаленном компьютере. Подробно об этом вы можете прочитать в статье «Защита личных фотоснимков на телефонах Android» . А в статье «Хранение данных в криптоконтейнере на удаленном сервере и работа с ними с Android-устройств» показано, как хранить контейнеры на удаленном сервере, а не на ПК, подключенном к вашей локальной беспроводной сети.
У всего есть недостатки. Однако у CyberSafe Mobile их практически нет. К недостаткам можно отнести необходимость поддержки FUSE, однако этот недостаток нивелируется тем, что созданные сейфы можно открывать и без монтирования, но только во встроенном файловом менеджере. Также нужно отметить, что программа платная, однако ее цена невысока для программы такого класса (не забываем, какой у программы функционал и не забываем, что она поддерживает кроме алгоритма AES еще и ГОСТ). Ну и мне не очень нравится невозможность создания некоторых скриншотов программы, но так лучше с точки зрения безопасности:)
Теперь подытожим. Достоинства программы CyberSafe Mobile:
Недостатки:
Как видите, таковых недостатков у программы нет и их выделение - больше мои придирки к программе, дабы никто не обвинил меня в предвзятости. Думаю, ни у кого не возникло сомнений, что победителем нашего сравнения сегодня оказалась программа CyberSafe Mobile. Если у вас остались вопросы, мы с радостью ответим на них в комментариях к этой статье.
Теги: Добавить метки
Шифров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 включается следующим образом.
$ sm partition disk : x : y mixed nn |
Например, команда 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тавались открытыми. Чтобы закрыть их от посторонних глаз, понадобятся сторонние утилиты (которые часто оказываются лишь графической оболочкой для встроенных средств). При всем разнообразии существующих способов принципиально разных получается четыре:
Первый вариант хорошо зн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) и использовать на любом устройстве. Все данные, которые ты зашифровал на десктопе, станут доступными на смартфоне, и наоборот.
В 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, поэтому остановимся на нем.
Последняя версия прилож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 .
ФБР попыталось через суд выкрутить руки компании 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 стал 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 можно было исправить серьезную проблему флагманского устройства, которой уже почти два года? Можно, и ее исправили! В лаборатории «Элкомсофт» сравнили производительность двух идентичных Nexus 6, на одном из которых была установлена версия Android 6.0.1 с ядром ElementalX (и отключенным шифрованием), в то время как второе работало под управлением первой предварительной версии Android 7 с настройками по умолчанию (шифрование включено). Результат налицо:
Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.
Если посмотреть со стороны безопасности, то ваш 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.
Некоторые устройства, например Galaxy S3 и Galaxy S4, разрешают шифровать данные даже на внешних накопителях - SD картах памяти.