Сегодня 12 августа 2025
18+
MWC 2018 2018 Computex IFA 2018
реклама
Программное обеспечение

W2k/WinXP Encrypting

⇣ Содержание

Как это работает

"Encrypted File System", или EFS, основывается на поддержке шифрования в W2k/WinXP, аналог которой впервые появился ещё в Windows NT 4.0. Первоначально эти функции не использовались для шифрования файлов, а только для установки защищённых сетевых соединений, защиты паролей пользователя, и тому подобных нужд. Только с появлением Windows 2000 и NTFS 5.0, как основной файловой системой для него, появилась возможность шифровать любые файлы средствами ОС. Для шифрования EFS использует личный и публичный ключи пользователя, которые генерируются когда пользователь пользуется функцией шифрования впервые, и остаются неизменными всё время, пока существует аккаунт пользователя. Причём на эти ключи не влияет ничего, пользователь может менять свой пароль для входа в систему, переименовывать свой аккаунт, ключи останутся неизменными так долго, как долго пользователь будет иметь тот же "security identifier" (SID). При удалении аккаунта удаляются и ключи, и если создать заново аккаунт с таким же именем, паролем, и всем остальным, то вновь созданный пользователь не будет иметь никакого ключа, до тех пор пока не зашифрует хотя бы один файл или директорию. Как только он это сделает, сгенерируются новые ключи которые, конечно же, не будут иметь ничего общего ключами которые использовал аккаунт с таким же именем раньше.

При шифровании файла EFS генерирует случайный номер, длиной 128 бит, для каждого файла разный, который называется "File Encryption Key" (FEK). Этот номер используется для шифрования файла с использованием одного из вариантов Data Encryption Standard (DES) алгоритма – DESX . После того как файл зашифрован, FEK сохраняется вместе с файлом, но тоже шифруется, уже по алгоритму RSA, основанном на использовании публичного и известного всем (для шифрования) и личного, не известного никому (для расшифровки) ключей пользователя. Таким образом, для того что бы расшифровать содержимое файла требуется знать FEK, но для того что бы расшифровать FEK, требуется знать личный ключ пользователя зашифровавшего файл. Такие сложности нужны для ускорения работы функций шифрования, при сохранении достаточно высокой надёжности. DESX является симметричным алгоритмом, то есть для шифрования и расшифровки используется один и тот же ключ. Это не очень надёжно, зато работает такой алгоритм очень быстро, и его помощью можно шифровать и расшифровывать большие объёмы данных практически в реальном времени. Для того что бы обеспечить надёжность шифрования, FEK и шифруется по RSA, ассиметричному алгоритму, когда для шифрования и расшифровки используются разные ключи. Это слишком медленно, что бы шифровать таким образом большие объёмы данных, но для шифрования FEK, RSA с использованием открытого и личного ключей подходит наилучшим образом.

Encrypted File System (EFS) работает как драйвер, на уровне ядра, но для того что бы работала вся система шифрования необходимо взаимодействие нескольких компонентов ОС. EFS тесно связана с драйвером NTFS, таким образом когда пользователь или приложение обращаются к зашифрованному файлу, драйвер NTFS вызывает EFS. EFS самостоятельно работает с алгоритмом DESX, но её возможностей не хватает для того что бы разобраться с RSA. Поэтому, каждый раз когда после шифровки файла алгоритмом DESX требуется зашифровать FEK, или наоборот, когда для расшифровки файла требуется расшифровать FEK, она должен обратиться к базовой криптографической службе операционной системы, которая работает не уровне пользователя, а не системы как EFS. Для этого используется Local Security Authority Subsystem (Lsass - WinntSystem32Lsass.exe), которая управляет сессиями пользователей, залогиненных на машину и заодно обрабатывает обращения EFS. Непосредственно обработкой запросов EFS занимается Local Security Authority Server (Lsasrv - WinntSystem32Lsasrv.dll), компонент Lsass, который и занимается непосредственно шифровкой или расшивкой FEK, используя Microsoft's CryptoAPI (CAPI). Как только FEK зашифрован или расшифрован (в зависимости от того что требовалось), он возвращается обратно к EFS, и она делает всю остальную черновую работу.


Несмотря на столь тесное взаимодействие, для работы NTFS вовсе не требуется загруженного EFS драйвера (WinntSystem32DriversEfs.sys). Драйвер EFS подключается к драйверу NTFS через plug-in интерфейс, и вовсе не является неотъемлемой его частью. Конечно, драйвер NTFS имеет несколько функций, которые предназначены исключительно для поддержки EFS, но если модуль EFS не подключен, он прекрасно будет работать дальше. Свидетельством этому служит WinXP Home Edition, в которой EFS не поддерживается вовсе но NTFS прекрасно работает. Кроме этого, EFS можно включать/выключать на любой ОС из семейства W2k или WinXP. Для этого достаточно в реестре по адресу HKLMSoftwareMicrosoftWindows NTCurrentVersionEFS key создать или отредактировать уже существующий ключ типа DWORD под названием EfsConfiguration. Присвоив этому ключу значение 1 вы выключите EFS, а 0 включите обратно. Для того что бы изменения вошли в силу, необходимо перезагрузить компьютер. Очевидно, что отключив EFS вы потеряете возможность не только шифровать файлы, но и расшифровывать ранее зашифрованные. Как очевидно и то, что включение/отключение EFS влияет сразу на всех пользователей. Но на ключи пользователей, как открытые так и личные, это действие не окажет абсолютно никакого влияния, поэтому после того как EFS будет включена вновь, никаких проблем с доступом к своим файлам пользователи не испытают.

Как вы уже знаете, в WinXP пользователь может разрешать другим пользователям использовать его защищённые файлы. Для того что бы сделать это возможным, EFS сохраняет вместе с файлом дополнительный блок информации. Как и любой другой файл, зашифрованный файл начинается с заголовка. Первым записывается версия файла, которая имеет абсолютно стандартный вид, и содержит в себе имя файла, дату создания и последнего изменения, информацию о владельце, и тому подобные вещи. Потом идёт контрольная сумма файла, которая позволит убедиться что в процессе хранения файл не был изменён или повреждён каким-либо способом. После этого сообщается о количестве Data Decryption Field (DDF) в файле. Именно это и позволяет использовать файл нескольким пользователям. Каждый из пользователей, который имеет право расшифровывать и читать содержимое файла обязан иметь свой DDF. Эти поля равнозначны, и содержат одинаковую информацию. Это Security ID (SID) пользователя, так называемый container name, которое позволяет найти нужный для расшифровки ключ, имя криптографической службы (обычно Microsoft Base Cryptographic Provider), и EFS certificate hash, где находится открытый ключ пользователя. Кроме этого, DDF содержит 128 битный FEK, зашифрованный с открытым ключом пользователя.


Таким образом, когда пользователь разрешает кому-либо другому пользоваться зашифрованным файлом, то к файлу просто добавляется ещё один DDF. Для того что бы добавить его, от пользователя требуется расшифровать FEK со своим личным ключом, а потом зашифровать его с открытым ключом пользователя, которого он хочет добавить, что позволит тому расшифровать FEK со своим личным ключом, и получить доступ. Естественно, для этого у другого пользователя должен быть открытый и закрытый ключи которые, как уже говорилось, генерируются только тогда, когда пользователь впервые воспользуется шифрованием. Поэтому если вы не можете добавить нужного пользователя, хотя он правильно зарегистрирован в системе, значит этот пользователь никогда не пользовался шифрованием. И пока этого не произойдёт, добавить его в качестве пользователя какого-либо зашифрованного файла будет невозможно. После всех DDF записей, следует раздел о количестве Data Recovery Field (DRF), на чём основана система позволяющая восстанавливать файлы, в случае если ни один из ключей пользователей прописанных в DDF не доступен. Это может случится как в случае когда учётная запись пользователя случайно или намеренно удалена (что может произойти в случае, например, если пользователь уволился), так в случае если ключ физически утерян (конечно, по умолчанию личный ключ хранится на жёстком диске компьютера, который "физически" так просто не утеряется, но в целях повышения общей надёжности и безопасности системы, есть возможность организовать хранение личных ключей пользователя на, например, магнитных карточках, потерять которую уже гораздо проще). DRF имеет тот же самый формат что и DDF, принципиальная разница между ними в том, что DDF автоматически добавляется только один, а DRF столько, сколько Encrypted Data Recovery Agent прописано в системе. К каждому зашифрованному файлу. Очевидно, что Data Recovery Agent может восстанавливать только те файлы, которые были зашифрованы после того, как он зарегистрирован системе, но никак не те, которые зашифрованы раньше. В самом еле, откуда там возьмётся соответствующий ему DRF?

HUAWEI Pura 80 Ultra глазами фотографа

#HUAWEI Pura 80 Ultra глазами фотографа

Первый взгляд на смартфон HUAWEI Pura 80 Ultra

#Первый взгляд на смартфон HUAWEI Pura 80 Ultra

Пять причин полюбить HONOR 400

#Пять причин полюбить HONOR 400

Обзор смартфона HONOR 400: реаниматор

#Обзор смартфона HONOR 400: реаниматор

HUAWEI nova Y73: самый недорогой смартфон с кремний-углеродной батареей

#HUAWEI nova Y73: самый недорогой смартфон с кремний-углеродной батареей

Обзор HUAWEI MatePad Pro 12.2’’ (2025): обновление планшета с лучшим экраном

#Обзор HUAWEI MatePad Pro 12.2’’ (2025): обновление планшета с лучшим экраном

Обзор смартфона HUAWEI nova Y63: еще раз в ту же реку

#Обзор смартфона HUAWEI nova Y63: еще раз в ту же реку

Обзор ноутбука HONOR MagicBook Pro 14 (FMB-P) на платформе Core Ultra второго поколения

#Обзор ноутбука HONOR MagicBook Pro 14 (FMB-P) на платформе Core Ultra второго поколения

Пять причин полюбить ноутбук HONOR MagicBook Pro 14

#Пять причин полюбить ноутбук HONOR MagicBook Pro 14

Следующая страница → ← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Изучай, расширяй, эксплуатируй, уничтожай: в Steam стартовал фестиваль 4X-стратегий, а Endless Legend 2 получила временную демоверсию 9 ч.
У DeepSeek произошёл масштабный сбой — регистрация новых пользователей ограничена 9 ч.
Microsoft начала тестировать облачные ПК для аварийной замены обычных через Windows 365 9 ч.
Глава GitHub ушёл в отставку — компания перейдёт под прямое управление Microsoft 9 ч.
Календарь релизов — 11 – 17 августа: The Scouring, Echoes of the End и ремастер W40K: Dawn of War 14 ч.
Mortal Kombat 1 покорила новую вершину продаж и взяла курс на звание «самой сбалансированной» игры серии 14 ч.
«Займёт своё место в пантеоне "Цивилизаций"»: руководство Take-Two не потеряло веру в Sid Meier’s Civilization VII, несмотря на слабый старт продаж 15 ч.
Россияне пожаловались на массовые сбои при звонках в WhatsApp и Telegram 15 ч.
Бывший президент Blizzard предсказал, что Battlefield 6 «раздавит» Call of Duty: Black Ops 7, и все от этого выиграют 19 ч.
Создатели Delta Force анонсировали хоррор-шутер Crossfire: Rainbow — геймплейный трейлер и первые подробности 19 ч.
Дань в 15 % позволит Nvidia наладить поставки в Китай более продвинутых чипов с архитектурой Blackwell 3 ч.
Рекомендации для главы Intel от властей США будут направлены на следующей неделе 4 ч.
Новая статья: Обзор ноутбука Acer Swift Go 14 (SFG14-63-R7T4) с процессором Ryzen 9 8945HS и OLED-экраном 9 ч.
Биткоин приблизился к историческому максимуму, а Ethereum преодолел $4000 11 ч.
SpaceX запустила новую партию интернет-спутников Amazon Project Kuiper — теперь на орбите их 102 из более 3000 13 ч.
Nvidia представила крошечные видеокарты RTX Pro 4000 SFF и RTX Pro 2000 для профессионалов 13 ч.
Vivo показала свою первую MR-гарнитуру — она похожа на Apple Vision Pro, но гораздо удобнее 13 ч.
Apple выпустит MacBook стоимостью от $599 в следующем году, если слухи верны 13 ч.
Ford сделает электромобили дешевле — первым на платформе Universal EV станет пикап за $30 000 13 ч.
Hyundai потребовала $65 за устранение уязвимости в системе бесключевого доступа к электромобилю Ioniq 5 14 ч.