Шифрованная файловая система - Encrypting File System

В Шифрованная файловая система (EFS) на Майкрософт Виндоус это функция, представленная в версии 3.0 NTFS[1] что обеспечивает шифрование на уровне файловой системы. Технология позволяет файлам быть прозрачно зашифрованный для защиты конфиденциальных данных от злоумышленников, имеющих физический доступ к компьютеру.

EFS доступна во всех версиях Windows, кроме домашних (см. Поддерживаемые операционные системы ниже) из Windows 2000 вперед.[2] По умолчанию файлы не шифруются, но пользователи могут включить шифрование для каждого файла, каталога или диска. Некоторые настройки EFS также можно указать через Групповая политика в Домен Windows среды.[3]

Доступны реализации криптографической файловой системы для других операционных систем, но Microsoft EFS несовместима ни с одной из них.[4] См. Также список криптографических файловых систем.

Основные идеи

Когда Операционная система работает в системе без шифрования файлов, доступ к файлам обычно осуществляется пользователем под управлением ОС аутентификация и списки контроля доступа. Однако, если злоумышленник получит физический доступ к компьютеру, этот барьер можно легко обойти. Один из способов, например, - удалить диск и поместить его на другой компьютер с установленной ОС, которая может читать файловую систему; другой - просто перезагрузить компьютер с загрузочного компакт-диска, содержащего ОС, подходящую для доступа к локальной файловой системе.

Наиболее распространенное решение - хранить файлы зашифрованный на физических носителях (дисках, USB-накопителях, магнитных лентах, компакт-дисках и т. д.).

В операционных системах семейства Microsoft Windows EFS включает эту меру, но только на дисках NTFS, и делает это с помощью комбинации криптография с открытым ключом и криптография с симметричным ключом чтобы сделать расшифровку файлов чрезвычайно сложной без правильного ключа.

Однако криптографические ключи для EFS на практике защищены паролем учетной записи пользователя и, следовательно, уязвимы для большинства парольных атак. Другими словами, надежность шифрования файла зависит от пароля для разблокировки ключа дешифрования.

Операция

Работа шифрованной файловой системы

EFS работает путем шифрования файла с симметричный ключ, также известный как ключ шифрования файла или FEK. Он использует симметричный алгоритм шифрования, потому что для шифрования и дешифрования больших объемов данных требуется меньше времени, чем если бы асимметричный ключ используется шифр. Используемый алгоритм симметричного шифрования зависит от версии и конфигурации операционной системы; увидеть Алгоритмы, используемые версией Windows ниже. FEK (симметричный ключ, который используется для шифрования файла) затем шифруется с помощью открытый ключ который связан с пользователем, который зашифровал файл, и этот зашифрованный FEK сохраняется в альтернативном потоке данных $ EFS зашифрованного файла.[5] Чтобы расшифровать файл, драйвер компонента EFS использует закрытый ключ, соответствующий цифровому сертификату EFS (используемый для шифрования файла), чтобы расшифровать симметричный ключ, который хранится в потоке $ EFS. Затем драйвер компонента EFS использует симметричный ключ для расшифровки файла. Поскольку операции шифрования и дешифрования выполняются на уровне ниже NTFS, они прозрачны для пользователя и всех его приложений.

Папки, содержимое которых должно быть зашифровано файловой системой, помечаются атрибутом шифрования. Драйвер компонента EFS обрабатывает этот атрибут шифрования аналогично наследованию прав доступа к файлам в NTFS: если папка помечена для шифрования, то по умолчанию все файлы и подпапки, созданные в этой папке, также зашифрованы. Когда зашифрованные файлы перемещаются в том NTFS, файлы остаются зашифрованными. Однако есть ряд случаев, когда файл может быть расшифрован без явного запроса пользователя об этом Windows.

Файлы и папки расшифровываются перед копированием на том, отформатированный в другой файловой системе, например FAT32. Наконец, когда зашифрованные файлы копируются по сети с использованием протокола SMB / CIFS, файлы дешифруются перед отправкой по сети.

Самый важный способ предотвратить дешифрование при копировании - использовать приложения резервного копирования, которые знают о «сырых» API. Приложения резервного копирования, в которых реализованы эти Необработанные API просто скопирует зашифрованный файловый поток и альтернативный поток данных $ EFS как один файл. Другими словами, файлы «копируются» (например, в файл резервной копии) в зашифрованном виде и не дешифруются во время резервного копирования.

Начиная с Виндоус виста, закрытый ключ пользователя может храниться на интеллектуальная карточка; Ключи агента восстановления данных (DRA) также можно хранить на смарт-карте.[6]

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

Уязвимости

В Windows 2000 EFS существовали две существенные уязвимости системы безопасности, и с тех пор они подвергались различным атакам.

Расшифровка файлов с использованием учетной записи локального администратора

В Windows 2000 локальный администратор является агентом восстановления данных по умолчанию, способным дешифровать все файлы, зашифрованные с помощью EFS любым локальным пользователем. EFS в Windows 2000 не может работать без агента восстановления, поэтому всегда есть кто-то, кто может расшифровать зашифрованные файлы пользователей. Любой компьютер с Windows 2000, не присоединенный к домену, будет уязвим для несанкционированного дешифрования EFS любым, кто может завладеть учетной записью локального администратора, что тривиально, учитывая множество инструментов, свободно доступных в Интернете.[7]

В Windows XP и более поздних версиях нет локального агента восстановления данных по умолчанию и нет необходимости его иметь. Настройка SYSKEY в режим 2 или 3 (системный ключ, введенный во время загрузки или сохраненный на гибком диске) снизит риск несанкционированного дешифрования через учетную запись локального администратора. Это связано с тем, что хэши паролей локальных пользователей, хранящиеся в СЭМ файл, зашифрованы с помощью Syskey, и значение Syskey недоступно для атакующего в автономном режиме, у которого нет пароля / дискеты Syskey.

Доступ к закрытому ключу через сброс пароля

В Windows 2000 закрытый ключ RSA пользователя хранится не только в действительно зашифрованная форма, но есть также резервная копия закрытого ключа RSA пользователя, которая более слабо защищена. Если злоумышленник получает физический доступ к компьютеру с Windows 2000 и сбрасывает пароль локальной учетной записи пользователя,[7] злоумышленник может войти в систему как этот пользователь (или агент восстановления) и получить доступ к закрытому ключу RSA, который может расшифровать все файлы. Это связано с тем, что резервная копия закрытого ключа RSA пользователя зашифрована секретом LSA, который доступен любому злоумышленнику, который может повысить свой логин до LocalSystem (опять же, тривиально, учитывая многочисленные инструменты в Интернете).

В Windows XP и более поздних версиях для резервного копирования закрытого ключа RSA пользователя используется автономный открытый ключ, соответствующий закрытый ключ которого хранится в одном из двух мест: на диске сброса пароля (если Windows XP не является членом домена) или в Active Directory (если Windows XP является членом домена). Это означает, что злоумышленник, который может пройти аутентификацию в Windows XP как LocalSystem, по-прежнему не имеет доступа к ключу дешифрования, хранящемуся на жестком диске ПК.

В Windows 2000, XP или более поздних версиях закрытый ключ RSA пользователя зашифрован с использованием хэша пароля NTLM пользователя плюс имя пользователя - использование соленый hash крайне затрудняет обратный процесс и восстановление закрытого ключа без знания ключевой фразы пользователя. Кроме того, снова установка Syskey в режим 2 или 3 (Syskey, введенный во время загрузки или сохраненный на гибком диске) смягчит эту атаку, поскольку хэш пароля локального пользователя будет храниться в зашифрованном виде в файле SAM.

Другие вопросы

После успешного входа пользователя в систему доступ к его собственным зашифрованным данным EFS не требует дополнительной аутентификации, дешифрование происходит прозрачно. Таким образом, любая компрометация пароля пользователя автоматически приводит к доступу к этим данным. Windows может хранить версии кодовых фраз для учетных записей пользователей с обратимым шифрованием, хотя это больше не является поведением по умолчанию; его также можно настроить для хранения (и будет по умолчанию в исходной версии Windows XP и ниже) хэшей Lan Manager парольных фраз локальных учетных записей, которые можно легко взломать и взломать. Он также хранит парольные фразы учетной записи локального пользователя как NTLM хэши, которые можно довольно легко атаковать с помощью "радужные столы "если пароли слабые (Windows Vista и более поздние версии не допускают использование слабых паролей по умолчанию). Чтобы уменьшить угрозу тривиальных атак грубой силы на локальные парольные фразы, необходимо настроить более старые версии Windows (с помощью раздела Параметры безопасности групповой политики), чтобы никогда не хранить хэши LM, и, конечно же, не включать Autologon (который сохраняет парольные фразы в виде открытого текста в реестр ). Кроме того, использование парольных фраз локальных учетных записей длиной более 14 символов не позволяет Windows сохранять хэш LM в SAM - и дает дополнительное преимущество, заключающееся в усложнении атак грубой силы на хеш NTLM.

При шифровании файлов с помощью EFS - при преобразовании файлов с открытым текстом в зашифрованные файлы - файлы с открытым текстом не стираются, а просто удаляются (т. Е. Блоки данных, помеченные как "не используемые" в файловой системе). Это означает, что, если они, например, не хранятся на SSD с участием ОТДЕЛКА поддержки, их можно легко восстановить, если они не будут перезаписаны. Чтобы полностью предотвратить известные, несложные технические атаки на EFS, шифрование должно быть настроено на уровне папок (чтобы все временные файлы, такие как резервные копии документов Word, которые создаются в этих каталогах, также были зашифрованы). При шифровании отдельных файлов их следует скопировать в зашифрованную папку или зашифровать «на месте» с последующей безопасной очисткой дискового тома. Утилиту Windows Cipher можно использовать (с параметром / W) для очистки свободного пространства, включая то, которое все еще содержит удаленные файлы с открытым текстом; также могут работать различные сторонние утилиты.[8]

Любой, кто может получить доступ администратора, может перезаписать, переопределить или изменить конфигурацию агента восстановления данных. Это очень серьезная проблема, поскольку злоумышленник может, например, взломать учетную запись администратора (с помощью сторонних инструментов), установить любой сертификат DRA в качестве агента восстановления данных и ждать. Иногда это называют двухэтапной атакой, что значительно отличается от риска, связанного с утерянным или украденным ПК, но подчеркивает риск, связанный с злонамеренными инсайдерами.

Когда пользователь шифрует файлы после первого этапа такой атаки, ключи FEK автоматически зашифровываются открытым ключом назначенного DRA. Злоумышленнику нужно только еще раз получить доступ к компьютеру в качестве администратора, чтобы получить полный доступ ко всем этим файлам, зашифрованным впоследствии EFS. Даже использование режима Syskey 2 или 3 не защищает от этой атаки, поскольку злоумышленник может создать резервную копию зашифрованных файлов в автономном режиме, восстановить их в другом месте и использовать закрытый ключ DRA для дешифрования файлов. Если такой злонамеренный инсайдер может получить физический доступ к компьютеру, все функции безопасности считаются неактуальными, поскольку они также могут установить руткиты, программное обеспечение или даже оборудование клавиатурные шпионы и т. д. на компьютере - что потенциально намного интереснее и эффективнее, чем перезапись политики DRA.

Восстановление

Файлы, зашифрованные с помощью EFS, можно расшифровать только с помощью закрытого (ых) ключа (ов) RSA, соответствующего ранее использовавшемуся общему ключу (ам). Сохраненная копия закрытого ключа пользователя в конечном итоге защищена паролем пользователя для входа в систему. Доступ к зашифрованным файлам извне Windows с помощью других операционных систем (Linux, например) невозможно - не в последнюю очередь потому, что в настоящее время нет стороннего драйвера компонента EFS. Кроме того, использование специальных инструментов для сброса пароля для входа в систему сделает невозможным расшифровку закрытого ключа пользователя и, следовательно, бесполезным для получения доступа к зашифрованным файлам пользователя. Значение этого иногда теряется для пользователей, что приводит к потере данных, если пользователь забывает свой пароль или не может создать резервную копию ключа шифрования. Это привело к появлению термина «отложенная корзина» для описания кажущейся неизбежности потери данных, если неопытный пользователь зашифрует свои файлы.

Если EFS настроен на использование ключей, выданных инфраструктурой открытых ключей, а PKI настроен для включения архивации и восстановления ключей, зашифрованные файлы можно восстановить, сначала восстановив закрытый ключ.

Ключи

  • пароль пользователя (или закрытый ключ смарт-карты): используется для генерации ключа дешифрования для расшифровки главного ключа DPAPI пользователя
  • Мастер-ключ DPAPI: используется для расшифровки закрытых ключей RSA пользователя.
  • Закрытый ключ RSA: используется для расшифровки FEK каждого файла.
  • Ключ шифрования файла (FEK): используется для расшифровки / шифрования данных каждого файла (в основном потоке NTFS)
  • SYSKEY: используется для шифрования кэшированного верификатора домена и хэшей паролей, хранящихся в SAM.

Поддерживаемые операционные системы

Windows

Другие операционные системы

Никакие другие операционные системы или файловые системы не имеют встроенной поддержки EFS.

Новые функции, доступные в версии Windows

Windows XP
  • Шифрование клиентского кэша (Автономные файлы база данных)
  • Защита DPAPI Резервное копирование мастер-ключа с использованием общедоменного открытого ключа
  • Автоматическая подача сертификатов пользователей (включая сертификаты EFS)
  • Многопользовательский (общий) доступ к зашифрованным файлам (для каждого файла) и проверка отзыва сертификатов, используемых при совместном использовании зашифрованных файлов
  • Зашифрованные файлы могут отображаться другим цветом (по умолчанию - зеленым)
  • Нет требований к обязательному Агент восстановления
  • Предупреждение о том, что файлы могут автоматически дешифрироваться при переходе в неподдерживаемую файловую систему
  • Диск сброса пароля
  • EFS через WebDAV и удаленное шифрование для серверов, делегированных в Active Directory
Windows XP SP1
  • Поддержка и использование по умолчанию симметричного алгоритма шифрования AES-256 для всех файлов, зашифрованных EFS.
Windows XP SP2 + КБ 912761
  • Запретить регистрацию самозаверяющих сертификатов EFS
Windows Server 2003
  • Служба управления цифровой идентификацией
  • Применение параметра RSAKeyLength для обеспечения минимальной длины ключа при регистрации самозаверяющих сертификатов EFS
Виндоус виста[10] и Windows Server 2008[11][12]
  • Индивидуальное шифрование клиентского кэша (автономные файлы)
  • Поддержка хранения закрытых ключей RSA (пользовательских или DRA) на смарт-карте ПК / SC
  • Мастер смены ключей EFS
  • Запросы резервного копирования ключа EFS
  • Поддержка получения DPAPI Мастер-ключ со смарт-карты ПК / SC
  • Поддержка шифрования pagefile.sys
  • Защита секретов EFS с помощью BitLocker (Корпоративная или Максимальная версия Windows Vista)[13][14]
  • Элементы управления групповой политикой для обеспечения соблюдения
    • Шифрование папки документов
    • Шифрование автономных файлов
    • Индексирование зашифрованных файлов
    • Требуется смарт-карта для EFS
    • Создание пользовательского ключа с возможностью кэширования со смарт-карты
    • Отображение уведомления о резервном копировании ключа при создании или изменении пользовательского ключа
    • Указание шаблона сертификата, используемого для автоматической регистрации сертификатов EFS
Windows Server 2008[12]
  • Самозаверяющие сертификаты EFS, зарегистрированные на сервере Windows Server 2008, по умолчанию будут иметь длину ключа RSA 2048 бит.
  • Все шаблоны EFS (сертификаты пользователя и агента восстановления данных) по умолчанию имеют длину ключа RSA 2048 бит.
Windows 7 и Windows Server 2008 R2[15]
  • Криптографические алгоритмы с эллиптической кривой (ECC). Windows 7 поддерживает смешанный режим работы алгоритмов ECC и RSA для обратной совместимости.
  • Самозаверяющие сертификаты EFS при использовании ECC по умолчанию будут использовать 256-битный ключ.
  • EFS можно настроить на использование ключей 1K / 2k / 4k / 8k / 16k бит при использовании самоподписанных сертификатов RSA или 256/384/521-битных ключей при использовании сертификатов ECC.
Windows 10 версии 1607 и Windows Server 2016
  • Добавьте поддержку EFS на FAT и exFAT.[16]

Алгоритмы, используемые версией Windows

Windows EFS поддерживает ряд алгоритмов симметричного шифрования в зависимости от используемой версии Windows при шифровании файлов:

Операционная системаАлгоритм по умолчаниюДругие алгоритмы
Windows 2000DESX(никто)
Windows XP RTMDESXТройной DES
Windows XP SP1AESТройной DES, DESX
Windows Server 2003AESТройной DES, DESX[17]
Виндоус вистаAESТройной DES, DESX
Windows Server 2008AESТройной DES, DESX (?)
Windows 7
Windows Server 2008 R2
Смешанный (AES, SHA и ECC)Тройной DES, DESX

Смотрите также

использованная литература

  1. ^ «Шифрование файлов (Windows)». Microsoft. Получено 2010-01-11.
  2. ^ EFS доступна в Windows 2000 Server и Workstation, в Windows XP Professional, в Windows Server 2003 и 2008, а также в Windows Vista и Windows 7 Business, Enterprise и Ultimate.
    EFS - это не доступен на Windows XP Home Edition, а также в версиях Starter, Basic и Home Premium. Виндоус виста и Windows 7. Это не могло быть реализовано в операционных системах серии Windows 9x, поскольку они изначально не поддерживали NTFS, которая является основой EFS.
  3. ^ «Шифрованная файловая система». Microsoft. 1 мая 2008 г.. Получено 24 августа 2011.
  4. ^ «Криптографические файловые системы, часть первая: разработка и реализация». Безопасность. Получено 2010-01-11.
  5. ^ «Шифрованная файловая система».
  6. ^ Крис Корио (май 2006 г.). «Первый взгляд: новые функции безопасности в Windows Vista». Журнал TechNet. Microsoft. Архивировано из оригинал на 2006-11-10. Получено 2006-11-06.
  7. ^ а б ntpasswd, доступен с 1997 г. В архиве 12 февраля 2016 г. Wayback Machine
  8. ^ «Шифрованная файловая система». technet.microsoft.com.
  9. ^ «Windows - официальный сайт ОС Microsoft Windows 10 Home и Pro, ноутбуков, ПК, планшетов и др.». www.microsoft.com. Архивировано из оригинал на 2007-02-03. Получено 2008-01-20.
  10. ^ Ким Миккельсен (05.09.2006). «Windows Vista, сессия 31: службы управления правами и шифрованная файловая система» (PDF). презентация. Microsoft. Получено 2007-10-02.[мертвая ссылка ]
  11. ^ «Шифрованная файловая система». документация. Microsoft. 2007-04-30. Архивировано из оригинал на 2014-01-20. Получено 2007-11-06.
  12. ^ а б «Изменения функциональных возможностей Windows Server 2003 с пакетом обновления 1 (SP1) до Windows Server 2008: шифрованная файловая система». документация. Microsoft. 2007-09-01. Архивировано из оригинал на 2008-03-25. Получено 2007-11-06.
  13. ^ Скотт Филд (июнь 2006 г.). «Улучшения безопасности Microsoft Windows Vista» (ДОК). белая бумага. Microsoft. Получено 2007-06-14.
  14. ^ Корпорация Microsoft (30 ноября 2006 г.). «Протокол передачи данных». патент. Microsoft. Получено 2007-06-14.
  15. ^ «Изменения в EFS». Microsoft TechNet. Получено 2009-05-02.
  16. ^ «[MS-FSCC]: Приложение B: Поведение продукта». Microsoft. 2017-09-15. Получено 2017-10-02. Поддержка FAT и EXFAT была добавлена ​​в операционную систему Windows 10 v1607 и Windows Server 2016 и последующих версий.
  17. ^ Мюллер, Рэнди (май 2006 г.). «Как это работает: шифрованная файловая система». Журнал TechNet. Microsoft. Получено 2009-05-22.

дальнейшее чтение