Зашифрованный файл стандартными средствами невозможно

Обновлено: 04.07.2024

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

Внимательный читатель может возразить мне: а как же Windows NT с ее NTFS? Ведь NTFS обеспечивает разграничение доступа и защиту данных от несанкционированного доступа! Да, это правда. Но как быть в том случае, когда доступ к разделу NTFS осуществляется не с помощью средств операционной системы Windows NT, а напрямую, на физическом уровне? Ведь это сравнительно легко реализовать, например, загрузившись с дискеты и запустив специальную программу: например, весьма распространенную ntfsdos. В качестве более изощренного примера можно указать продукт NTFS98. Конечно, можно предусмотреть такую возможность, и задать пароль на запуск системы, однако практика показывает, что такая защита малоэффективна, особенно в том случае, когда за одним компьютером работают сразу несколько пользователей. А если злоумышленник может извлечь жесткий диск из компьютера, то здесь уже не помогут никакие пароли. Подключив диск к другому компьютеру, его содержимое можно будет прочитать с такой же легкостью, что и эту статью. Таким образом, злоумышленник свободно может овладеть конфиденциальной информацией, которая хранится на жестком диске.

Единственный способ защиты от физического чтения данных это шифрование файлов. Простейший случай такого шифрования — архивирование файла с паролем. Однако здесь есть ряд серьезных недостатков. Во-первых, пользователю требуется каждый раз вручную шифровать и дешифровать (то есть, в нашем случае архивировать и разархивировать) данные перед началом и после окончания работы, что уже само по себе уменьшает защищенность данных. Пользователь может забыть зашифровать (заархивировать) файл после окончания работы, или (еще более банально) просто оставить на диске копию файла. Во-вторых, пароли, придуманные пользователем, как правило, легко угадываются. В любом случае, существует достаточное количество утилит, позволяющих распаковывать архивы, защищенные паролем. Как правило, такие утилиты осуществляют подбор пароля путем перебора слов, записанных в словаре.

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

Технология шифрования

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

Ключи шифрования EFS хранятся в резидентном пуле памяти (сама EFS расположена в ядре Windows 2000), что исключает несанкционированный доступ к ним через файл подкачки.

Взаимодействие с пользователем

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

Для того чтобы зашифровать каталог из Windows Explorer, пользователю нужно просто выбрать один или несколько каталогов и установить флажок шифрования в окне расширенных свойств каталога. Все создаваемые позже файлы и подкаталоги в этом каталоге будут также зашифрованы. Таким образом, зашифровать файл можно, просто скопировав (или перенеся) его в «зашифрованный» каталог.

Зашифрованные файлы хранятся на диске в зашифрованном виде. При чтении файла данные автоматически расшифровываются, а при записи — автоматически шифруются. Пользователь может работать с зашифрованными файлами так же, как и с обычными файлами, то есть открывать и редактировать в текстовом редакторе Microsoft Word документы, редактировать рисунки в Adobe Photoshop или графическом редакторе Paint, и так далее.

Необходимо отметить, что ни в коем случае нельзя шифровать файлы, которые используются при запуске системы — в это время личный ключ пользователя, при помощи которого производится дешифровка, еще недоступен. Это может привести к невозможности запуска системы! В EFS предусмотрена простая защита от таких ситуаций: файлы с атрибутом «системный» не шифруются. Однако будьте внимательны: это может создать «дыру» в системе безопасности! Проверяйте, не установлен ли атрибут файла «системный» для того, чтобы убедиться, что файл действительно будет зашифрован.

Важно также помнить о том, что зашифрованные файлы не могут быть сжаты средствами Windows 2000 и наоборот. Иными словами, если каталог сжат, его содержимое не может быть зашифровано, а если содержимое каталога зашифровано, то он не может быть сжат.

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

Восстановление данных

EFS обеспечивает встроенную поддержку восстановления данных на тот случай, если потребуется их расшифровать, но, по каким-либо причинам, это не может быть выполнено обычным. По умолчанию, EFS автоматически сгенерирует ключ восстановления, установит сертификат доступа в учетной записи администратора и сохранит его при первом входе в систему. Таким образом, администратор становится так называемым агентом восстановления, и сможет расшифровать любой файл в системе. Разумеется, политику восстановления данных можно изменить, и назначить в качестве агента восстановления специального человека, ответственного за безопасность данных, или даже несколько таких лиц.

Немного теории

EFS осуществляет шифрование данных, используя схему с общим ключом. Данные шифруются быстрым симметричным алгоритмом при помощи ключа шифрования файла FEK (file encryption key). FEK — это случайным образом сгенерированный ключ определенной длины. Длина ключа в североамериканской версии EFS 128 бит, в международной версии EFS используется уменьшенная длина ключа 40 или 56 бит.

FEK шифруется одним или несколькими общими ключами шифрования, в результате чего получается список зашифрованных ключей FEK. Список зашифрованных ключей FEK хранится в специальном атрибуте EFS, который называется DDF (data decryption field — поле дешифрования данных). Информация, при помощи которой производится шифрование данных, жестко связана с этим файлом. Общие ключи выделяются из пар пользовательских ключей сертификата X509 с дополнительной возможностью использования «File encryption». Личные ключи из этих пар используются при дешифровке данных и FEK. Личная часть ключей хранится либо на смарт-картах, либо в другом надежном месте (например, в памяти, безопасность которой обеспечивается при помощи CryptoAPI).

FEK также шифруется при помощи одного или нескольких ключей восстановления (полученных из сертификатов X509, записанных в политике восстановления зашифрованных данных для данного компьютера, с дополнительной возможностью «File recovery»).

Как и в предыдущем случае, общая часть ключа используется для шифрования списка FEK. Список зашифрованных ключей FEK также хранится вместе с файлом в специальной области EFS, которая называется DRF (data recovery field — поле восстановления данных). Для шифрования списка FEK в DRF используется только общая часть каждой пары ключей. Для нормального осуществления файловых операций необходимы только общие ключи восстановления. Агенты восстановления могут хранить свои личные ключи в безопасном месте вне системы (например, на смарт-картах). На рисунке приведены схемы процессов шифрования, дешифрования и восстановления данных.

Процесс шифрования

Незашифрованный файл пользователя шифруется при помощи случайно сгенерированного ключа FEK. Этот ключ записывается вместе с файлом, файл дешифруется при помощи общего ключа пользователя (записанного в DDF), а также при помощи общего ключа агента восстановления (записанного в DRF).

Процесс дешифрования

Сначала используется личный ключ пользователя для дешифрации FEK — для этого используется зашифрованная версия FEK, которая хранится в DDF. Расшифрованный FEK используется для поблочного дешифрования файла. Если в большом файле блоки считываются не последовательно, то дешифруются только считываемые блоки. Файл при этом остается зашифрованным.

Процесс восстановления

Этот процесс аналогичен дешифрованию с той разницей, что для дешифрования FEK используется личный ключ агента восстановления, а зашифрованная версия FEK берется из DRF.

Реализация в Windows 2000

На рисунке показана архитектура EFS:

EFS состоит из следующих компонентов:

Драйвер EFS

Этот компонент расположен логически на вершине NTFS. Он взаимодействует с сервисом EFS, получает ключи шифрования файлов, поля DDF, DRF и другие данные управления ключами. Драйвер передает эту информацию в FSRTL (file system runtime library, библиотека времени выполнения файловой системы) для прозрачного выполнения различных файловых системных операций (например, открытие файла, чтение, запись, добавление данных в конец файла).

Библиотека времени выполнения EFS (FSRTL)

Служба EFS

Служба EFS является частью подсистемы безопасности. Она использует существующий порт связи LPC между LSA (Local security authority, локальные средства защиты) и работающим в kernel-mode монитором безопасности для связи с драйвером EFS. В режиме пользователя служба EFS взаимодействует с программным интерфейсом CryptoAPI, предоставляя ключи шифрования файлов и обеспечивая генерацию DDF и DRF. Кроме этого, служба EFS осуществляет поддержку интерфейса Win32 API.

Win32 API

Обеспечивает интерфейс программирования для шифрования открытых файлов, дешифрования и восстановления закрытых файлов, приема и передачи закрытых файлов без их предварительной расшифровки. Реализован в виде стандартной системной библиотеки advapi32.dll.

Немного практики

  1. Запустите Windows Explorer, нажмите правую кнопку мыши на каталоге, выберите пункт Properties (Свойства).
  2. На закладке General (Общие) нажмите кнопку Advanced.
  1. Отметьте галочкой пункт «Encrypt contents to secure data». Нажмите OK, затем нажмите Apply (применить) в диалоге Properties. Если Вы выбрали шифрование отдельного файла, то дополнительно появится диалоговое окно следующего вида:

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

На этом процесс шифрования данных можно считать законченным.

Чтобы расшифровать каталоги, просто снимите выделение в пункте «Encrypt contents to secure data». При этом каталоги, а также все содержащиеся в них подкаталоги и файлы будут расшифрованы.

В этой статье мы расскажем о том, как зашифровать файлы и папки стандартными методами Windows 10, а также рассмотрим две утилиты для шифрования: BitLocker и EFS.

Содержание:

  • Стандартные средства шифрования Windows и их различия.
  • Шифрование при помощи EFS.
  • Как использовать ключи шифровальщика?
  • Шифрование диска при помощи BitLocker.
  • Ошибка BitLocker.
  • Как разблокировать зашифрованный диск?
  • Как защитить паролем отдельные папки и файлы?

Операционная система Windows имеет встроенные утилиты, предназначенные для шифрования данных. С их помощью можно защитить данные от третьих лиц и скрыть содержимое от тех, кто не знает пароль.

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

Стандартные средства шифрования Windows и их различия

Windows снабжен встроенными средствами для шифрования данных: BitLocker и EFS .

Данные утилиты позволяют быстро провести шифрование данных и устанавливать собственные пароли на файлы.

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

Утилита EFS – заполняет пробел BitLocker и шифрует как отдельные папки , так и всевозможные файлы . Функционал EFS позволяет простым и быстрым способом сделать данные недоступными для других пользователей.

Шифрование при помощи EFS

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

Для начала работы с утилитой EFS следует выбрать необходимые для шифрования данные и поместить их в одну папку.

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

В Windows для шифрования используется шифрованная файловая система (Encrypting File System — EFS). Исключение составляют базовые домашние версии операционной системы.

EFS является частью файловой системы NTSF и не доступна для дисков с FAT32. EFS использует симметричный алгоритм шифрования, для шифрования генерируется случайный ключ. В свою очередь секретность этого ключа обеспечивает ассиметричное шифрование по алгоритму RSA (открытый ключ пользователя содержится в цифровом сертификате).

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

Схема 1: шифрование файла.

Схема шифрования файла в Windows

Схема 2: расшифрования файла.

Схема расшифрования файла в Windows

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

При шифровании каталога шифруются все файлы, находящиеся в нем.

Все изображения и описания процесса шифрования сделаны для Windows 7 Ultimate. Но частично вы можете видеть скрины с Windows 10. Так получилось, что пришлось доделывать на ПК. Но сути это не меняет. Для примера я создал два текстовых файла File1.txt и File2.txt.

Что бы зашифровать файл File1.txtнужно щелкнуть по нему правой кнопкой мыши и выбрать меню «Свойства», перейти на вкладку «Общие» и нажать кнопку «Другие», что приведет к открытию окна «Дополнительные атрибуты». Затем выбрать параметр «Шифровать содержимое для защиты данных».

Шифровать содержимое для защиты данных

Я создал файл в корне диска D, если ваш файл находится не в корне, а в какой-либо папке, то операционная система спросит у вас нужно ли шифровать только этот файл или зашифровать всю папку.

Зашифровать только файл

После шифрования название файла изменит цвет на зеленый.

Изменение цвета зашифрованного файла

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

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

Для этого нужно зайти в свойства файла, перейти дополнительные атрибуты и нажать кнопку «Подробности». Выбрать пользователя и нажать кнопку «Архивация ключа». Появится мастер экспорта сертификатов.

Архивация ключей

Далее следуйте указаниям мастера и делайте все как на изображениях.

После завершения работы мастера экспорт будет выполнен.

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

Вы получите ошибку доступа.

Отказано в доступе

Если сертификат утерян

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

certmgr.msc

В появившемся окне откройте раздел «Личное». Удалите сертификат текущего пользователя. После перезагрузки компьютера зашифрованный файл будет недоступен.

Серификат текущего пользователя

Для получения доступа нам нужно скопировать на компьютер сертификат с флешки. Затем запустить сертификаты текущего пользователя (certmgr.msc). Перейти в папку «Личное» и запустить мастер импорта сертификатов. С помощью подсказок мастера выполните импорт сертификата.

Мастер импорта сертификатов

После этого доступ к зашифрованным файлам будет восстановлен.

Анатолий Бузов

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.

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

Рекомендуется шифровать не файлы, а папки – это приведет к автоматическому шифрованию всех находящихся в них файлов. Чтобы зашифровать файл или папку, выполните следующие действия.

1. Щелкните правой кнопкой мыши на нужном объекте и выберите пункт Свойства.

2. На вкладке Общие нажмите кнопку Другие, чтобы открыть окно Дополнительные атрибуты (рис. 10.29).


Рис. 10.29. Дополнительные атрибуты папки (доступны только на NTFS-разделах)

3. Установите флажок Шифровать содержимое для защиты данных, после чего нажмите OK, а потом еще раз OK в окне Свойства.

4. Вы получите дополнительный запрос на шифрование всего содержимого папки. Если согласиться с этим, то все файлы в этой папке будут зашифрованы.

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

2. В следующем окне мастера (Формат экспортируемого файла) можно оставить все настройки по умолчанию и снова нажать Далее.

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

Внимание!

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

Читайте также: