11 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шифрование данных программой EncFS в операционной системе Windows

Шифрование данных программой EncFS в операционной системе Windows

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

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Необходимая библиотека не устанавливается на Вин 8.0/8.1.
И где тот ГУИ, на который ссылается автор?

Вообщем как то все не просто..

Субъективно,скорость шифрования нестабильная и ниже чем у encfs4win.

Добавил в шапку вместе с BoxСryptor.

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Кто сталкивался, подскажите. Использую связку encfs (encfs4win) + дропбокс. После монтирования вирт. раздела вижу свои файлы. могу скопировать, посмотреть содержимое и т.д. Но я хотел бы не только хранить, но и запускать с этого раздела программы. А тут засада: при попытке запуска исполняемого файла получаю ошибку: отказано в доступе к указанному устройству, пути или файлу. на этом все, после этого папка с программой даже не копируется.

Почему такое происходит? Ощущение, что данная фс хорошо работает только с обычными (не исполняемыми файлами), а любая попытка запуска исполняемого файла “крошит” эту необычную фс.

Version 0.9.6, 20.03.2015

Updated OpenSSL to 1.0.2a
Fixed bug in acquiring a mutex in MemoryPool, see ticket #12 for details

Version 0.9.5, 16.03.2015:

Support for files > 2 GB
Fixed possible problem in creating new directories with wrong permissions

Version 0.9.4, 10.02.2015:

Updated Pismo File Mount to 1.0.0.173
Updated OpenSSL to 1.0.2
Passwords can now be saved in RAM (while EncFSMP is running)
Mount/unmount via command line
Improved speed of listing a directory

Version 0.9.3, 19.12.2014:

Added possibility to disable unmount confirmation dialog on exit
Improved error handling, added error log window
Fixed bug: encfs folders in paths with Unicode characters are now supported
Fixed bug: Deletion of directories sometimes didn’t work
Files with name .encfs* are hidden only in root directory
Updated libpng to 1.6.15 and boost to 1.57.0

Encfs4win шифровальщик для системы Windows

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

Представим, что помимо основного контейнера, где-то в облаке вы также храните его копию. Изменяя содержимое основного контейнера, вам бы пришлось каждый раз заменять старые резервные копии новыми. Хорошо, если контейнер мал и его можно быстро скопировать. А что, если он будет весить 50 Гб? Второй недостаток хранения зашифрованных данных в файле-контейнере связан с риском появления на физическом жёстком диске битых секторов. Нет никаких гарантий, что шифровальщик сможет прочитать файл-контейнер, если на том месте диска, где он записан, появится bad-сектор.

Если вы считаете себя продвинутым пользователем, вам стоит обратить внимание на Encfs4win — альтернативный инструмент шифрования, основанный на криптографической файловой системе FUSE. Первоначально проект EncFS разрабатывался для операционных систем Linux, FreeBSD и Mac OS, но затем появилась версия и для Windows. Хотя в Encfs4win также используется метод монтирования, шифруется при этом не файл-контейнер, а обычный каталог, что делает доступ к данным более удобным.

Как работать с Encfs4win

Для работы с программой вам понадобится бесплатная библиотека dokan-0.6.0, скачать которую можно с сайта разработчика dokan-dev.net. Устанавливается она как обычное приложение. Сама же Encfs4win установки не требует. Распакуйте архив с программой и запустите с правами администратора файл encfsw.exe. Перейдите в системный трей, кликните правой кнопкой мыши по иконке приложения и в выпадающем меню выберите опцию Open/Create. Откроется окошко, в котором вам будет предложено выбрать каталог для шифрования.

Далее потребуется выбрать свободную букву для монтирования диска и установить пароль. Для получения лучших результатов шифрования можно установить галочку «Set Paranoia mode». Жмём ОК. Опять кликаем по иконке утилиты в области уведомлений и на этот раз выбираем опцию «Mount <Путь к папке (Буква)>». В нашем примере это выглядит как Mount D:test(F). В появившемся окошке вводим ранее придуманный пароль и выполняем монтирование. В результате получаем виртуальный логически диск DOKAN, на который можно будет переместить шифруемые данные.

Фактически эти файлы остаются на месте, но при этом все они шифруются с использованием алгоритма AES 256. Отныне получать к ним доступ можно будет только через смонтированный диск DOKAN. Естественно, затем его нужно размонтировать, чтобы ограничить возможность просмотра незашифрованных данных другими пользователями.

Другая особенность Encfs4win заключается в использовании обратного режима (reverse). При этом утилита работает точно наоборот. Если в нормальном режиме зашифрованные файлы хранятся на обычном логическом диске, то при использованииreverse они будут храниться на виртуальном смонтированном диске. Где это может понадобиться? Например, при синхронизации с облаком, когда зашифрованные файлы на локальном компьютере должны оставаться в доступном виде.

То есть в таких случаях достаточно будет синхронизировать смонтированный раздел. Работать с режимом «reverse» можно только в запущенной от имени администратора командной строке, так как исполняемый файл утилиты encfs.exe не поддерживает оконный интерфейс. Команда создания виртуального диска с зашифрованными данными будет выглядеть следующим образом:

encfs.exe –reverse D:/Cloud/ X:

D:/Cloud/ в данном примере – путь к папке с файлами, а X: – буква создаваемого виртуального диска. После выполнения этой команды утилита попросит вас выбрать режим шифрования. Для начала советуем выбрать стандартный режим, так какв экспертном утилита задаёт множество вопросов, в которых немудрено запутаться. Так что жмите Enter и приготовьтесь придумать и ввести пароль.

Когда будете вводить пароль, символы в консоли могут и не отображаться, так что будьте внимательны. Также обратите внимание, что в смонтированном состоянии диск будет находиться, пока открыта командная строка. Только как вы её закроете, тут же произойдёт его размонтирование. Повторное монтирование выполняется той же командой encfs.exe –reverse D:/Cloud/ X: На этот раз потребуется только ввод пароля.

И вот ещё штука. В основном каталоге Cloud после шифрования будет создан файл encfs6.xml. Не удаляйте его. Он пригодится, если вы захотите расшифровать скачанные из облака файлы на другом компьютере. Положите его в любую папку и смонтируйте её командой encfs.exe –reverse D:/OpenFiles/ X: При этом все скопированные из облака на диск X будут автоматически дешифрованы и помещены в каталог OpenFiles.

По большому счёту это всё, что нужно знать об утилите Encfs4win. Увы, но особо надёжной её не назвать нельзя. Во-первых, в самой утилите есть небольшие недоработки, во-вторых, отсутствует поддержка «per file IV chaining», что делает шифрование чуть менее надёжным, чем бы того хотелось. Пользователей Windows 8.1 вынуждены разочаровать. Библиотека dokan-0.6.0 этой версией Windows не поддерживается. По крайней мере, пока.

Шифрующая файловая система (EFS)

Шифрующая файловая система это тесно интегрированная с 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.

Читать еще:  Volume Master — увеличиваем громкость в Сhrome выше нормы

Для того чтобы зашифровать каталог из 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)

FSRTL — это модуль внутри драйвера EFS, который осуществляет внешние вызовы NTFS для выполнения различных операций файловой системы, таких как чтение, запись, открытие зашифрованных файлов и каталогов, а также операций шифрования, дешифрования, восстановления данных при записи на диск и чтении с диска. Несмотря на то, что драйвер EFS и FSRTL реализованы в виде одного компонента, они никогда не взаимодействуют напрямую. Для обмена сообщениями между собой они используют механизм вызовов NTFS. Это гарантирует участие NTFS во всех файловых операциях. Операции, реализованные с использованием механизмов управления файлами, включают запись данных в файловые атрибуты EFS (DDF и DRF) и передачу вычисленных в EFS ключей FEK в библиотеку 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». При этом каталоги, а также все содержащиеся в них подкаталоги и файлы будут расшифрованы.

Выводы

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

EncFS – простая программа для шифрования данных

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

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

Читать еще:  Самый полный обзор рынка видеокарт 2019 года

Последовательность действий

Процедура шифрования выполняется следующим образом. Запустите программу и нажмите в верхней части окна кнопку «Create New EncFS».

При этом откроется новое окошко с набором опций и полей, которые необходимо заполнить.

В поле «Mount name» указывается имя нового тома, являющегося виртуальным логическим разделом. В поле «EncFS path» необходимо указать реальную папку на физическом жёстком диске, которая будет служить контейнером для зашифрованных файлов. Эту папку нужно создать заранее, при этом она должна быть изначально пустой.

Следующим шагом является создание конфигурационного файла, в котором программа станет хранить настройки виртуального диска, а также публичный ключ, необходимый для расшифровки данных. Для этого отмечаем галочкой опцию «Use external config file», а в поле «External config file» указываем путь к папке, в которой будет храниться конфигурационный файл. Хранить его можно и на локальном компьютере, но всё же будет лучше и безопасней, если для этих целей вы воспользуетесь флешкой или иным запоминающим съёмным устройством. Обратите внимание, что ключ не имеет расширения, что же касается его имени, то оно может быть произвольным.

После того как будет создан ключ, придумайте и введите пароль в поле «Password». Также убедитесь, что в чекбоксе «Local Drive» установлена галочка, а если её там нет, то установите.

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

Как только вы это сделаете, программа тут же смонтирует в разделе «Этот компьютер» виртуальный диск. По умолчанию буква диска присваивается автоматически, если только вы не задали её при первичной настройке.

Работа с шифруемыми данными

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

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

Особенности функционала EncFS

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

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

Шифрующая файловая система (EFS)

Шифрующая файловая система это тесно интегрированная с 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 используется только общая часть каждой пары ключей. Для нормального осуществления файловых операций необходимы только общие ключи восстановления. Агенты восстановления могут хранить свои личные ключи в безопасном месте вне системы (например, на смарт-картах). На рисунке приведены схемы процессов шифрования, дешифрования и восстановления данных.

Читать еще:  Microsoft Deployment Toolkit 2013. Установка Windows 8.1 по сети

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

Незашифрованный файл пользователя шифруется при помощи случайно сгенерированного ключа 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)

FSRTL — это модуль внутри драйвера EFS, который осуществляет внешние вызовы NTFS для выполнения различных операций файловой системы, таких как чтение, запись, открытие зашифрованных файлов и каталогов, а также операций шифрования, дешифрования, восстановления данных при записи на диск и чтении с диска. Несмотря на то, что драйвер EFS и FSRTL реализованы в виде одного компонента, они никогда не взаимодействуют напрямую. Для обмена сообщениями между собой они используют механизм вызовов NTFS. Это гарантирует участие NTFS во всех файловых операциях. Операции, реализованные с использованием механизмов управления файлами, включают запись данных в файловые атрибуты EFS (DDF и DRF) и передачу вычисленных в EFS ключей FEK в библиотеку 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». При этом каталоги, а также все содержащиеся в них подкаталоги и файлы будут расшифрованы.

Выводы

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

Шифрование данных в Windows с помощью технологии EFS

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

Во-первых, это неудобно, так как пользователь будет вынужден каждый зашифровывать и расшифровывать архив, во-вторых, такой архив может быть легко скопирован, после чего подвергнут дешифровке методом перебора. Более эффективным способом защиты файлов является шифровка с помощью технологии EFS так же известной как Encrypting File System, использующейся в Windows начиная с версии 2000. В отличие от технологии BitLocker, впервые появившейся в Vista, EFS не требует наличия аппаратного TPM модуля, однако в то же время EFS не поддерживает шифрование раздела целиком.

Шифрование Encrypting File System осуществляется с помощью открытого и закрытого ключей, автоматически генерируемых системой при первом использовании встроенных средств EFS. В процессе шифрования каталога или файла система EFS создает уникальный номер (FEK), который шифруется мастер-ключом. В свою очередь мастер-ключ шифруется пользовательским ключом. Что касается закрытого ключа пользователя, то он также защищается, но на этот раз хэшем пользовательского системного пароля.

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

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

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

Жмем Применить и подтверждаем запрос на изменение атрибутов.

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

Как можно видеть из скриншота, текст названия папки Картинки вместо привычного черного стал зеленым, именно так в Windows маркируются защищенные EFS объекты.

Тем же цветом будут обозначены названия всех вложенных файлов и папок.

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

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

Итак, в окне мастера жмем Архивировать сейчас и четко следуем указаниям.

Настройки экспорта можно оставить без изменений (PKCS #12 .PFX).

Если желаете, можете включить расширенных свойств.

Как и положено, пароль задаем по возможности сложный.

Далее даем имя файлу сертификата и сохраняем его на заранее подключенный съемный носитель.

Хранить сертификаты и пароли к нему необходимо в надежном месте, например в закрывающемся ящике стола.

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

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов:
×
×