Зміст:
- Що таке шифрування?
- Зміни у льодяника
- Питання продуктивності
- Шифрування не є обов'язковим (і чи потрібно воно вам все-таки?)
Там багато інформації про "за замовчуванням" повне шифрування диска Android 5.0 Lollipop (FDE). Деякі з них є хорошою інформацією, деякі - поганою інформацією, а велика частина - це лише повторні фрагменти домислів. Хоча це сприяє хорошій розмові - а про FDE варто щось обговорити - ми хотіли розбити більш точні моменти на легку для читання дискусію.
Це не означає, що це всеохоплюючий документ про шифрування Android. Google уже опублікував цю програму. Ми будемо вирішувати питання, орієнтовані на споживача, які ми постійно чуємо. Як завжди, використовуйте коментарі для обговорення, щоб ми всі могли чомусь навчитися.
Що таке шифрування?
Шифрування - це процес захисту даних за допомогою ключа шифрування. Подумайте про пароль як про ключ, а шифрування - дуже безпечний замок. Вам потрібен ключ, щоб увійти, щоб щось зробити. І хоча вхід без потрібної клавіші можливий, це не дуже ймовірно. (Так, будь-яка система шифрування - теоретично, принаймні, може бути переможена терплячими та хитрими особами.)
На наших Андроїдах всі дані користувачів на пристрої (починаючи з Android 3.0) можна зашифрувати. Дані фактично зашифровуються під час руху, перш ніж вони коли-небудь записуються на диск. У свою чергу, дані розшифровуються до повернення будь-якій програмі, яка її запитує. Все, що вам потрібно, - це правильний ключ, який базується на паролі за допомогою головного пароля пристрою.
Зміни у льодяника
Хоча FDE доступний в Android з часу злощасного Honeycomb для Android 3.x, Android 5.0 приносить деякі великі зміни та вдосконалення, як це все працює.
У Lollipop FDE виконується за допомогою функції ядра, яка діє безпосередньо на блоковий шар сховища. Це означає, що шифрування може працювати на флеш-пристроях, таких як накопичувач eMMC - які не мають вбудованих функцій шифрування - оскільки вони представляють ядро як стандартний блок пристрою. Шифрування неможливо для файлових систем, які спілкуються безпосередньо зі сховищем даних (наприклад, YAFFS). Люди, які створили ваш телефон або планшет, можливо, включили спосіб шифрування зовнішнього сховища (наприклад, SD-карта), але Android AOSP займається переважно внутрішнім сховищем. Використовуваний алгоритм - це 128-розрядний AES з CBC та зашифрованим вектором ініціалізації сольового сектора за допомогою хеш-функції SHA256. Головний ключ також використовує дзвінки до бібліотеки OpenSSL.
Іншими словами, це проклято безпечно.
Під час першого завантаження в Android ваш пристрій створює випадковий 128-розрядний головний ключ, потім хеширує його і зберігає в крипто-метаданих. Ці дані розблоковані вашою парольною фразою користувача. (І пам'ятайте, люди, не використовуйте слабкі паролі.) Отриманий хеш також підписується за допомогою апаратного резервного копіювання, наприклад, на базі TEE (це довірене середовище виконання) таких функцій, як TrustZone. До Android 5.0 головний ключ був зашифрований лише на підставі пароля користувача, який може бути вразливим для позабійних атак через ADB.
Цікаво, що Google не використовує апаратний криптографічний механізм Qualcomm ні в AOSP, ні в Nexus 6. Це неефективно, оскільки змушує шифрування та дешифрування на основі процесора під час вводу / виводу диска (можливо, через кожен інтервал 512 байт) порівняно з використанням апаратних засобів Qualcomm характеристики продуктивності. Ми не збираємось вдруге здогадуватися, чому це робиться, але знайте, що виробники оригіналу можуть вільно впроваджувати це так, як їм подобається. Сподіваємось, вони будуть.
Google зробив багато, щоб зробити повне шифрування диска на Android безпечним. Загалом вони зробили досить непогану роботу.
Питання продуктивності
Ви, напевно, чули про низьку продуктивність читання та запису диска на пристроях Nexus із включеним шифруванням. Це правда - коли вам потрібно зашифрувати та розшифрувати під час руху, швидкості вводу / виводу диска будуть страждати. Як згадувалося вище, Google не використовує апаратні функції ядра Qualcomm на Nexus 6, через що він ще більше постраждає. Але як це погано?
Дисковий введення / вивід у Lollipop в кілька разів швидше, ніж це було в KitKat та попередніх версіях Android. Оптимізація програмного забезпечення та специфічний код для пристрою означає, що Android може читати та писати з пам’яті швидше, ніж будь-коли. Це дуже гарна річ, яку в основному заперечують повільніші часи вводу / виводу через шифрування.
Якщо вам потрібно використовувати FDE (або ви змушені користуватися ним, тому що ви купили новий Nexus і не хочете встановлювати власну прошивку), ваша ефективність все одно буде кращою (на папері), ніж була б у KitKat. Це просто не буде так добре, як могло б бути без шифрування. У реальному використанні більшість користувачів, з якими ми говорили, не помічають відставання пристрою через повільний введення / виведення. Ваш досвід може бути різним.
Якщо ви хочете або потребуєте FDE, компроміс, мабуть, того вартий.
Шифрування не є обов'язковим (і чи потрібно воно вам все-таки?)
Кожен із телефону, у якого вже є оновлення Lollipop, може сказати вам, що Lollipop не змушує вас використовувати шифрування. У той час як Nexus 6 і Nexus 9 (і, можливо, всі майбутні пристрої Nexus) постачаються разом із цим, і це не легкий спосіб його вимкнути, телефони, які були оновлені до Lollipop, як-от Galaxy Note 4, автоматично не включають повне шифрування диска.
Те саме стосується нових пристроїв, які постачаються з Android 5.x, як LG G Flex 2. Опція є, якщо ви хочете включити її, але повне шифрування за замовчуванням вимкнено. Це приводить нас до вибору - чи потрібно нам повне шифрування диска?
Багато хто з нас вважає корисним повне шифрування диска. Якщо у вас є конфіденційна інформація, яку ви ніколи, ніколи не хочете потрапити в інші руки на своєму телефоні, FDE - знахідка. Щоб хтось міг отримати ваші дані, він повинен знати пароль вашого пристрою. Жодна кількість обмацувань проводів не дозволить їм зламатись, і за умови, що ви користувались надійним паролем, ваші дані є безпечними, оскільки після кількох помилкових здогадок, все продовжується.
Для інших достатньо лише стандартного захисту блокувального екрану. Якщо ми втратимо телефон, ми можемо віддалено витерти його за допомогою Диспетчера пристроїв Android або іншої утиліти, і якщо хтось може перейти в офлайн, перш ніж ми зможемо стерти, то пощастить обійти наш пароль заблокованого екрана (це може статися), усі вони Отримайте кілька зображень та доступ до облікового запису Google, на який ми можемо швидко змінити пароль.
Існує також цілий урядовий пробіг питання, про який слід подумати. Хоча у більшості з нас немає причин боятися будь-яких наслідків для того, що ми зберігаємо на своїх телефонах, ми все ж заслуговуємо на трохи конфіденційності та захисту, коли наші особисті дані стосуються. Повне шифрування диска зближує нас із захистом наших даних від державних установ, які вважають, що вони повинні їх бачити.
Тільки ви знаєте, чи потрібно повне шифрування пристрою.