Програма для шифрування планшет андроїд. Шифрування даних на карті пам'яті в Android

Програма для шифрування планшет андроїд. Шифрування даних на карті пам'яті в 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.

В результаті доводиться робити вибір між зручністю розблокування та безпекою зашифрованих даних (фейсконтроль як засіб захисту не розглядаємо). На щастя, якщо телефон рутований, пароль на розшифровку можна вказати вручну за допомогою консольного клієнта 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 .

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

Навіщо вам знадобиться шифрування телефону

Шифрування зберігає дані вашого телефону в нечитаній, майже зашифрованій формі. (Для того, щоб фактично виконувати функції шифрування низького рівня, Android використовує DM-crypt, який є стандартною системоюшифрування диска у ядрі Linux. Це та сама технологія, яка використовується різними дистрибутивами Linux.) При введенні PIN-коду, пароля або малюнку на екрані блокування, телефон розшифровує дані, роблячи їх читаними. Якщо хтось не знає PIN-код або пароль, він не зможе отримати доступ до даних. (На Android 5.1 і вище, для шифрування не потрібно встановлювати PIN-код або пароль, але настійно рекомендується, оскільки без PIN-коду або пароля знижується ефективність шифрування.)

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

Якщо ви звичайний користувачВи можете думати, що не маєте конфіденційних даних на вашому телефоні, але ви, ймовірно, помиляєтеся. Якщо ваш телефон вкрадений, що злодій тепер має доступ до вашого електронного Поштова скринька, знає вашу домашню адресу, і велика кількість іншої особистої інформації. Більшість злодіїв не отримуватимуть доступу до даних за допомогою стандартного коду розблокування, незалежно від того, зашифровано пристрій чи ні. Більшість злодіїв більше зацікавлені у продажу телефону (виробляють скидання даних), ніж у доступі до ваших особистих даних. Але це не означає, що не потрібно захищати свої дані.

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

Більшість нових Androidтелефонів постачаються з уже увімкненим за замовчуванням шифруванням. Якщо справа саме так і з вашим телефоном, то немає ніякого способу для відключення шифрування. Але якщо ви використовуєте пристрій, в якому шифрування не включено за замовчуванням, є деякі речі, які необхідно враховувати, перш ніж включати його:

Погіршується продуктивність: Після того, як ви увімкнете функцію шифрування, дані повинні будуть розшифровуватися на льоту щоразу, коли ви розблокуєте телефон. Таким чином, ви можете помітити невелике падіння продуктивності, коли він увімкнений, хоча це взагалі не помітно для більшості користувачів (особливо якщо у вас потужний телефон).

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

: При спробі зашифрувати телефон, який має root-права, ви зіткнетеся з проблемами. Ви можете залишити root-права, але для шифрування їх спочатку доведеться вимкнути, щоб пройти процес шифрування, а потім повторно увімкнути.

Це не означає, що ми намагаємося утримати вас від шифрування телефону – просто застерігаємо. Ми вважаємо, що для більшості людей додатковий захист – це добре.

Як увімкнути шифрування в Android

Перед тим, як розпочати роботу, є кілька речей, які варто відзначити:

Шифрування пристрою може тривати годину або довше.

Батарея пристрою повинна бути заряджена не менше, ніж на 80%. Інакше Android навіть не розпочне цей процес.

Пристрій має бути підключений протягом усього процесу.

Знову ж таки, якщо ви маєте, переконайтеся, що ви більше не маєте root-права перед продовженням!

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

Як тільки будуть враховані всі вищезастереження, ви будете готові до шифрування пристрою.

Зайдіть в меню Налаштування та натиснувши на "Security" (Безпека) назва меню може трохи відрізнятися. Якщо пристрій вже зашифрований, це відображатиметься тут. Деякі пристрої також дозволяють шифрувати вміст карти SD, але за умовчанням Android просто шифрує дані основної пам'яті.

Якщо пристрій не зашифрований, ви можете запустити процес, натиснувши на опцію "шифрувати телефон".

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

Ще одне попередження (серйозно, ми хочемо переконатися, що ви розумієте, що збираєтеся зробити), у жодному разі не переривайте процес. Якщо ви все ще не злякалися, натисніть кнопку "" і почніть процес.

Телефон перезавантажиться та розпочне процес шифрування. Шкала прогресу і приблизний час до завершення буде відображатися на дисплеї, це повинно принаймні дати уявлення про те, як довго ви будете без вашого улюбленого телефону. Просто чекайте, що все буде гаразд найближчим часом. Ви можете зробити це. Ви сильні.


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

Якщо ви не встановили PIN-код або пароль, зараз саме час зробити це. Вирушайте в меню Установки > Безпека Вашого пристрою. Далі, виберіть опцію "Lock Screen" (блокування екрану) (майте на увазі, що назва пунктів меню може бути трохи різною для різних телефонів Android, і навіть для лінійки пристроїв Samsung Galaxy).

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

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

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

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

ФБР спробувало через суд викрутити руки компанії 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 з налаштуваннями за замовчуванням. шифрування включено). Результат очевидний:

Продовження статті доступне лише передплатникам

Варіант 1. Оформи передплату на «Хакер», щоб читати всі статті на сайті

Підписка дозволить тобі протягом зазначеного терміну читати ВСІ платні матеріали сайту, включаючи цю статтю. Ми приймаємо оплату банківськими картками, електронними грошима та переказами з рахунків мобільних операторів.

Починаючи з Android 4.2, ви можете зашифрувати весь пристрій засобами самої операційної системи Android. При цьому вам не потрібно купувати або встановлювати будь-які додаткові програми. Все здійснюється засобами самої операційної системи, причому доступу до Інтернету для цього не потрібен. Ви можете зашифрувати дані будь-якої миті, коли вважаєте це доцільним.

Шифрування Андроїд

Шифрування працює так: після ввімкнення шифрування всі дані на пристрої та на картці пам'яті будуть зашифровані. Звичайно, якщо хтось розблокує ваш пристрій, він все одно отримає доступ до даних, проте це врятує ваші дані, якщо хтось спробує вкрасти картку пам'яті або прочитати дані без увімкнення смартфона з його внутрішньої пам'яті. У нього нічого не вийде, оскільки дані будуть зашифровані.

При включенні смартфону вам потрібно буде вводити пароль для розшифрування даних. Без введення пароля смартфон далі не завантажиться. Це не просто пін-код, це ключ, яким зашифровано ваші дані.

Про шифрування пристрою ви повинні знати такі речі:

  • Шифрування можливе лише в одному напрямку. Після шифрування розшифрувати пристрій буде неможливо. Можна лише скинути його до заводських налаштувань, але в цьому випадку ви втратите всі дані.
  • Шифрування всього пристрою уповільнює роботу смартфона. В принципі, в еру 8-ядерних процесорів і за обсягом оперативної пам'ятівід 1 Гб це не завдасть вам клопоту. На слабкіших пристроях «гальмування» буде відчутним.
  • Шифрування пристрою не врятує ваші дані від випадку, якщо хтось попросив ваш смартфон, щоб переглянути, а сам в цей момент або встановить троян, або просто вручну відправить деякі дані, що його цікавлять, на свій телефон. Від таких випадків дозволяє захиститися лише криптоконтейнер: адже для доступу до даних усередині контейнера потрібно буде запровадити ще один пароль, який зловмисник не знає.

Якщо потрібно зашифрувати весь пристрій, перейдіть до Установки, Безпека, а потім натисніть кнопку Зашифрувати телефон (або Зашифрувати планшет) у розділі Шифрування. Далі дотримуйтесь інструкцій.

Примітка. Шифрування неможливо здійснити, доки ви не налаштуєте PIN-код. Для цього перейдіть до Установки, Шифрування, виберіть Блокування екрана, натисніть PIN-код або Пароль.

Привіт, друзі! У цій статті будуть розглянуті програми для шифрування файлів, точніше для роботи з криптоконтейнерами в Андроїд. Для тих хто не в курсі, що таке криптоконтейнер, ми про це розповідали в цій статті.

Ми не розглядатимемо вузькоспеціалізовані , фотографій і т.д. Про це ми вже говорили в попередніх публікаціях (використовуйте форму пошуку по сайту). У рамках цієї статті ми не вивчатимемо кожен додаток окремо. Це поверховий огляд всіх популярних програмдля шифрування даних на Андроїд. У майбутньому, навздогін до цієї статті, буде окрема інструкція для кожної програми.

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

на Наразів Google Playдоступні такі програми для шифрування:

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

Крім цього, програма дозволяє обмінюватися зашифрованими файлами з іншими користувачами і дозволяє шифрувати довільні папки на Google Drive. Втім, для кожної бочки меду можна знайти ложку дьогтю. Додаток платний. А його безкоштовна версіяобмежує максимальну довжину пароля всього 2 символи, що, самі розумієте, дуже мало. З іншого боку, додаток коштує зовсім недорого (дешевше 3$) і він обмежує пароль не при відкритті контейнера, а лише при створенні. Тобто якщо вам потрібно використовувати програму з одним і тим же набором даних на різних пристроях, то ви можете створити контейнер на одному пристрої і скопіювати його на інший, а програму купити тільки на одному пристрої (на якому створюватимете контейнер).

Додаток для шифрування даних на Андроїд

Який додаток вибрати?

Відповідь проста. Якщо ви на персональному комп'ютеріВи використовуєте TrueCrypt, то вибір очевидний - EDS Lite. Якщо ви хочете забезпечити шифрування хмари, то, зважаючи на все, на комп'ютері доведеться перейти на CyberSafe.

 

 

Це цікаво: