Введение

FileVault — программа шифрования дисков, начиная с Mac OS X 10.3 Panther (2003). Она осуществляет шифрование "на лету" для томов на компьютерах Mac.

Версии и основные особенности

FileVault был представлен в Mac OS X 10.3 Panther и изначально мог применяться только к домашней директории пользователя, а не к загрузочному тому. Операционная система использовала зашифрованный файл образа диска (большой единый файл) для представления тома для домашней директории. В Mac OS X 10.5 Leopard и Mac OS X 10.6 Snow Leopard стали использоваться более современные образы дисков с разреженными пакетами, которые распределяют данные по файлам размером 8 МБ (называемым полосами) внутри пакета. Apple называет эту первоначальную версию FileVault "FileVault первого поколения". Это существенная переработка системы. Она шифрует весь загрузочный том OS X и, как правило, включает домашнюю директорию, отказываясь от подхода с использованием образа диска. Для этого метода шифрования диска информация об авторизованных пользователях загружается с отдельного незашифрованного загрузочного тома (раздела/блока типа Apple Boot).

Файл-папка

Оригинальная версия FileVault была добавлена в Mac OS X Panther для шифрования домашней папки пользователя.

Ручное шифрование

Вместо использования FileVault для шифрования домашней директории пользователя, пользователь может самостоятельно создать зашифрованный образ диска с помощью Disk Utility и хранить в нем любую часть своей домашней директории (например, отдельные файлы или папки). Этот зашифрованный образ работает аналогично домашней директории, зашифрованной FileVault, но обслуживание его ложится на пользователя. Шифрование лишь части домашней директории пользователя может вызвать проблемы, когда приложениям потребуется доступ к зашифрованным файлам, которые станут доступны только после монтирования зашифрованного образа. Эту проблему можно частично решить, создав символические ссылки на эти конкретные файлы.

Резервные копии

Без Mac OS X Server, Time Machine будет создавать резервную копию домашней директории FileVault только когда пользователь не вошел в систему. В таких случаях Time Machine может создавать резервную копию только всей домашней директории целиком. При использовании Mac OS X Server в качестве диска для резервного копирования Time Machine, резервное копирование домашних директорий FileVault происходит, когда пользователи вошли в систему. Поскольку FileVault ограничивает способы доступа процессов других пользователей к данным пользователя, некоторые сторонние решения для резервного копирования могут создавать резервную копию содержимого домашней директории FileVault пользователя только при исключении других частей компьютера (включая домашние директории других пользователей).

Проблемы

Было выявлено несколько недостатков в устаревшем FileVault. Его безопасность может быть скомпрометирована взломом 1024-битного RSA или 3DES EDE. Legacy FileVault использовал режим работы CBC (см. теорию шифрования диска); FileVault 2 использует более надёжный режим XTS AES. Другая проблема – хранение ключей в режиме "безопасного сна" macOS. Исследование, опубликованное в 2008 году, выявило остаточную информацию в динамической памяти с произвольным доступом (DRAM), с сохранением данных в течение секунд или минут при комнатной температуре и значительно более длительное время при охлаждении чипов памяти до низких температур. Авторы исследования смогли использовать атаку холодной загрузки для восстановления криптографических ключей для нескольких популярных систем шифрования дисков, включая FileVault, воспользовавшись избыточностью в способе хранения ключей после их расширения для эффективного использования, например, при построении таблиц ключей. Авторы рекомендуют выключать компьютеры, а не оставлять их в режиме "сна", когда владелец не имеет физического контроля над ними. Ранние версии FileVault автоматически сохраняли парольную фразу пользователя в системном хранилище ключей, требуя от пользователя обнаружить и вручную отключить эту уязвимость. В 2006 году, после доклада на 23-м Конгрессе Chaos Communication под названием Unlocking FileVault: An Analysis of Apple's Encrypted Disk Storage System, Джейкоб Аппельбаум и Ральф Филипп Вайнманн выпустили VileFault, который расшифровывает зашифрованные образы дисков Mac OS X.

Безопасность

FileVault использует пароль пользователя для входа в систему в качестве ключа шифрования. Для шифрования диска используется режим XTS-AES с 128-битными блоками и 256-битным ключом, как рекомендовано NIST. Только пользователи, имеющие право на разблокировку, могут запускать или разблокировать диск. После разблокировки другие пользователи также могут использовать компьютер до его выключения. Снижение производительности будет более заметным для процессоров, не поддерживающих данный набор инструкций, например, для старых процессоров Core.

Мастер-пароли и ключи восстановления

Когда FileVault 2 включен при работающей системе, система генерирует и отображает ключ восстановления для компьютера, а также опционально предлагает пользователю сохранить этот ключ в Apple. 120-битный ключ восстановления кодируется всеми буквами и цифрами от 1 до 9 и формируется на основе, а значит, его безопасность зависит от надежности PRNG, используемого в macOS. В ходе криптоанализа, проведенного в 2012 году, данный механизм был признан устойчивым к взлому. Изменить ключ восстановления невозможно без повторного шифрования тома FileVault.