Криптографическая файловая система

Удивлены, что еще за файловая система такая? Это новшество, введенное в Windows 2000 и доступное теперь во всех версиях Windows XP, кроме Home Edition. Полное название предмета нашего сегодняшнего разбирательства - Encrypted File System (EFS). Причины, по которым название данной файловой системы (ФС) звучит для нас достаточно ново, заключаются в том, что, по своей сути, EFS не является полностью самостоятельной, она очень тесно связана с NTFS, даже можно сказать, что EFS - это "криптографическая надстройка" NTFS. Взаимодействуют они по следующему алгоритму: когда пользователь или программа обращаются к зашифрованному файлу, NTFS взывает к помощи EFS, которая затем производит дальнейшую обработку данных. Как вы уже поняли, с FAT32 - а с FAT16 и подавно - файловая система EFS не работает. Кроме того, она и в NTFS поддерживается только начиная с пятой версии. Так что без лишнего преувеличения эту ФС можно назвать последней разработкой Microsoft в области защиты данных пользователей. А любую новинку, само собой, хочется поскорее рассмотреть хотя бы в общих чертах, уяснив самое главное. Чем и займемся.

Итак, если вы обладатель Windows 2000 или Windows XP, и какой-либо из ваших дисков отформатирован под NTFS, нет причин не испытать EFS на деле, вернее - на ваших файлах.


Шифрование и расшифровка данных

Попробуем что-нибудь зашифроват - например, один файл. Сделать это очень просто: выберите Properties файла, затем вкладку Advanced и в открывшемся окне поставьте галочку напротив Encrypt content to secure data. Теперь, если еще раз открыть свойства уже зашифрованного объекта, появится новая вкладка Detail, на которой можно выбрать зарегистрированных на машине пользователей, которые в дальнейшем смогут пользоваться зашифрованным файлом (только в Windows XP).

Помните, разрешая другим пользоваться зашифрованным файлом, вы предоставляете тот же уровень контроля над шифрованием, который имеете сами. То есть, пользователь получает возможность так же, как и вы, добавлять или удалять других, имеющих доступ к файлу, и самостоятельно расшифровывать файл. Если после этого он зашифрует его заново, из-под своей учетной записи, то вы потеряете доступ к собственному файлу. Кстати, для расшифровки требуется всего-навсего снять галочку напротив Encrypt content to secure data.

Стандартные возможности шифрования доступны из контекстного меню файла в Explorer. Тем, кому этого покажется недостаточным, можно посоветовать утилиту cipher, которая дает более широкие возможности управления шифрованием. Для этого запустите консоль и наберите в командной строке "cipher /?", а дальше руководствуйтесь приведенными инструкциями.


Работа с зашифрованными объектами

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

При копировании зашифрованного файла с NTFS-раздела куда-либо еще файл расшифровывается. Соответственно, если пользователь не может расшифровать файл, то он не сможет и скопировать его на раздел, не отформатированный под NTFS (например, на дискету). Также имеет место правило: любой файл, попавший в зашифрованную папку, автоматически шифруется и таким остается, даже после того, как покинет эту папку.

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


Некоторые хитрости

Как это ни удивительно, но то, что вы зашифровали файлы в Windows XP, совсем не значит, что их никто не прочтет. Может получиться даже так, что злоумышленнику и не придется взламывать зашифрованный файл... Звучит немного мистически, хотя на самом деле все довольно обыденно. Дело в том, что в процессе работы ваши файлы вполне могут оказаться и в других местах, например, во временных папках (TEMP или TMP). Кроме того, некоторые программы (например, из семейства Microsoft Office) при работе делают временные копии файлов, с которыми работают, в той же директории, где находится и оригинальный файл (для восстановления данных в случае сбоя). Эти копии не шифруются автоматически. Поэтому лучше шифровать не отдельные файлы, а директории, где они хранятся. Кроме того, можно посоветовать зашифровать и папку TEMP. Тогда временные файлы и копии ваших данных будут автоматически зашифрованы.

Было бы неплохо уяснить еще один момент. Если "пользователь 1" зашифрует папку, а "пользователь 2" поместит в нее свой файл, то файл автоматически зашифруется. Но зашифруется с ключом "пользователя 2", который поместил файл в папку. В результате "пользователь 1" не сможет прочитать или расшифровать его. К тому же "пользователь 1" может в любой момент снять атрибут Encrypted с папки, зашифрованной с его ключом, но это не окажет никакого влияния на находящиеся в папке файлы, как зашифрованные самим "пользователем 1", так и кем-либо другим. Снятие атрибута Encrypted с папки приводит к тому, что скопированные в эту папку файлы уже не будут зашифровываться автоматически.

Бесспорно, что появление EFS наверняка повысит уровень защищенности цифровых данных, хранимых на компьютерах обычных пользователей, и, как следствие, увеличит доверие народных масс к информационным технологиям. Правда, не стоит по этому поводу слишком обольщаться. Шифрование средствами Windows XP защитит лишь от непрофессионалов. Используемые в Windows XP алгоритмы шифрования на основе DES вряд ли будут неразрешимой задачей для спецслужб. К тому же из-за возможности восстановления данных есть и куда более простые пути. Если бы их не было, то, согласитесь, Windows не была бы Windows. Как говорится, на Microsoft надейся, а сам не плошай.

Дмитрий БАРДИЯН,
dima@positivno.com


Процесс шифрования "изнутри"

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

При шифровании файла EFS случайным образом генерирует уникальный номер, так называемый File Encryption Key (FEK) длиной 128 бит. Этот номер используется для шифрования файла. После того, как файл зашифрован, FEK сохраняется вместе с файлом и снова шифруется, но уже с использованием публичного ключа пользователя. Таким образом, для того, чтобы расшифровать содержимое файла, требуется знать его FEK, а для того, чтобы расшифровать FEK, требуется знать личный ключ пользователя, зашифровавшего файл. Получается довольно гладко и красиво. Как видим, механизм шифрования в Windows XP относительно прост.

Версия для печатиВерсия для печати

Номер: 

40 за 2003 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!