Безпека iOS: захист файлів або чому ви повинні встановити пасскод

  1. Пасскоди
  2. захист файлів
  3. Класи захисту даних
  4. Не захищений, якщо відкритий (NSFileProtectionCompleteUnlessOpen)
  5. Захищений до першого входу (NSFileProtectionCompleteUntilFirstUserAuthentication)
  6. Без захисту (NSFileProtectionNone)
  7. Апаратна підтримка шифрування

Система безпеки в iOS вражає. Все продумано до дрібниць, апаратна і програмна частини тісно переплетені. Після прочитання iOS Security (Або в більш простій формі iPhone in Business ) Стає зрозуміло, чому iOS не будете отримувати будь віруси, а ваші особисті дані в безпеці. Порівняйте з Android-смартфонами, де з б / у телефонів відновлюють картинки, листи та контакти.

Сьогодні переклад частини iOS Security про захист даних.

Пасскоди

Пасскод це код для розблокування телефону, зазвичай складається з чотирьох цифр.
Пасскод це код для розблокування телефону, зазвичай складається з чотирьох цифр

Пасскод захищає ваш телефон від сторонніх і активує Захист файлів. Без установки пасскода ви можете віддалено видалити всі дані з пристрою. З встановленим пасскодом файли зашифровані і без пасскода прочитати їх неможливо.

Пасскод шифрується ключем пристрою, перебір можливий тільки на iPhone, де його встановили.
Для захисту від перебору пасскод зашифрований кілька разів, одна перевірка правильності займає приблизно 80 мілісекунд. Щоб апаратно перебрати всі комбінації 6 символьного пасскода потрібно п'ять з половиною років, а стандартного 4-х числового 14 хвилин:)

Крім цього, iOS збільшує час перевірки після кожного помилкового введення. Користувачі з надзвичайно секретними даними включають опцію повного стирання телефону після 10 невдалих спроб.
Touch ID, що з'явився в iPhone 5S, дозволяє встановити довгий число-буквений пасскод, адже вводити його не потрібно, телефон розблокується пальцем. Раджу скористатися цією можливістю.

захист файлів

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

Захист файлів реалізована через ієрархію криптографічних ключів.

iOS присвоює кожному файлу 256 бітний AES ключ. Дані записуються на диск тільки в зашифрованому вигляді.

В iOS існує кілька класів захисту файлів. Кожен клас захисту має свій крипто-ключ.

файловий ключ шифрується ключем класу. Зашифрований файловий ключ зберігається в метаданих файлу. Метадані всіх файлів шифруються ключем файлової системи.

Ключ файлової системи створюється випадковим чином при першій установці iOS або очищення пристрою. Ключ зберігається в стирається сховище. Коли користувач очищає пристрій опцією Erase all content and settings або віддалено через iCloud, ключ файлової системи видаляється. Тепер всі файли недоступні, система не може розшифрувати метадані, в яких зберігається ключ файлу.

Ключ класу, в свою чергу, зашифрований унікальним ключем пристрою і пасскодом.
Ключ класу, в свою чергу, зашифрований унікальним ключем пристрою і пасскодом Така схема гнучка і продуктивна. Наприклад, щоб змінити клас захисту файлу, досить перешіфровать ключ файлу. А при зміні пасскода досить перешіфровать ключ класу захисту.

Класи захисту даних

При створенні файлу сторонні додатки вибирають йому Клас захисту. Донесіть цю інформацію до розробників і виберіть відповідний класи для персональних даних користувача.

Повний захист (NSFileProtectionComplete)

Ключ класу повний захист зашифрований пасскодом і ключем пристрою. Через 10 секунд після блокування пристрою, розшифрований ключ класу стирається з пам'яті. Всі файли цього класу стають недоступні, поки користувач не введе пасскод знову.

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

Не захищений, якщо відкритий (NSFileProtectionCompleteUnlessOpen)

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

Для файлів, захищених цим класом, крім Ключа файлу створюється пара з закритого і публічного ключа. З закритого ключа файлу і публічного ключа класу генерується загальний ключ (shared secret). Публічний ключ класу доступний без пасскода. Ключ файлу шифрується загальним ключем і зберігається в метаданих разом з публічним ключем файлу. Закритий ключ файлу видаляється. Як тільки запис в файл закінчена, ключ файлу стирається з пам'яті. Щоб відкрити файл заново, тимчасовий ключ відтворюється з закритого ключа класу і публічного ключа файлу. Закритий ключ класу вже захищений пасскодом.
Для файлів, захищених цим класом, крім Ключа файлу створюється пара з закритого і публічного ключа
Іншими словами, файли класу не захищений, якщо відкритий можуть бути створені в тлі, але після завершення запису для доступу до них потрібно пасскод.

Захищений до першого входу (NSFileProtectionCompleteUntilFirstUserAuthentication)

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

Без захисту (NSFileProtectionNone)

Ключ класу без захисту зашифрований тільки ключем пристрою. Файли, захищені цим класом, не можна прочитати на іншому пристрої і можна швидко зробити недоступними віддалено.

Апаратна підтримка шифрування

Постійні шифровки і розшифровування всіх файлів забарилися б роботу системи і зменшили час роботи від батареї. Тому в кожному iPhone шифрування реалізовано на апаратному рівні.

На шляху між оперативною пам'яттю і флеш-картою вбудований чіп AES-256 шифрування. Процесор передає йому ключ файлу і дані прозоро і швидко шифруються і дешифруються при доступі до файлу.

Унікальний ключ пристрої (UID) і ключ групи пристроїв (GID) це 256 бітні AES ключі, прошиті в процесор при виробництві. Програмне забезпечення не має доступу до цих ключам, їм доступні лише результати шифровки / дешифрування цими ключами. UID унікальний для кожного пристрою і не зберігається у Apple або її постачальників. GID збігається для всіх пристроїв з одним типом процесора (наприклад, для всіх пристроїв з A7 чіпом). GID використовується як додатковий захист при установці і відновленні системи. Прошивання цих ключів на чіп дозволяє уникнути їх підміни, обходу або доступу через поза апаратного движка AES-шифрування.

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

Всі інші крипто-ключі належать системним генератором випадкових чисел. Ентропія для ключів вважається з часу виконання системних запитів при завантаженні і даних сенсорів пристрою після.

Безпечне видалення ключів настільки ж важливо, як і їх створення. Це особливо складно на флеш-накопичувачах, де через зношування дані можуть дублюватися в декількох місцях. Тому iOS пристрої містять Стирані сховище (Effaceable Storage). Ця функція дозволяє стирати невеликі блоки даних з пристрою зберігання на найнижчому рівні.

Дополнительная информация

rss
Карта