Файловая система NTFS Механизм EFS
Категория реферата: Рефераты по информатике, программированию
Теги реферата: дипломная работа, бесплатные дипломные работы скачать
Добавил(а) на сайт: Райков.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата
При первом обращении к тому NTFS должна считать с диска метаданные и
сформировать внутренние структуры данных, необходимые для обработки
обращений к файловой системе. Для этого NTFS ищет в загрузочном секторе
физический адрес MFT на диске. Запись о самой MFT является первым элементом
в этой таблице, вторая запись указывает на файл в середине диска
($MftMirr), который называется зеркальной копией MFT и содержит копию
первых нескольких строк MFT. Если по каким-либо причинам считать часть MFT
не удастся, для поиска файлов метаданных будет использована именно эта
копия MFT.
Найдя запись для MFT, NTFS получает из ее атрибута данных информацию о
сопоставлении VCN и LCN и сохраняет ее в памяти. В каждой группе хранится
сопоставление VCN-LCN и длина этой группы – вот и вся информация, необходимая для того, чтобы найти LCN по VCN. Эта информация сообщает NTFS, где на диске искать группы, образующие MFT. Затем NTFS обрабатывает записи
MFT еще для нескольких файлов метаданных и открывает эти файлы. Наконец,
NTFS выполняет операцию восстановления файловой системы и открывает
остальные файлы метаданных. С этого момента пользователь может обращаться к
данному дисковому тому.
В процессе работы системы NTFS ведет запись в файл метаданных – файл журнала с именем $LogFile. NTFS использует его для регистрации всех операций, влияющих на структуру тома NTFS, в том числе для регистрации создания файлов и выполнения любых команд, модифицирующих структуру каталогов. Файл журнала используется и при восстановлении тома NTFS после аварии системы.
Еще один элемент MFT зарезервирован для корневого каталога, обозначаемого
как «». Его запись содержит индекс файлов и каталогов, хранящихся в корне
структуры каталогов NTFS. Когда NTFS впервые получает запрос на открытие
файла, она начинает его поиск с записи корневого каталога. Открыв файл,
NTFS сохраняет файловую ссылку MFT для этого файла и поэтому в следующий
раз, когда понадобится считать или записать тот же файл, сможет напрямую
обратиться к его записи в MFT.
NTFS регистрирует распределение дискового пространства в файле битовой карты с именем $Bitmap. Атрибут данных для файла битовой карты содержит битовую карту, каждый бит которой представляет кластер тома и сообщает, свободен кластер или выделен.
Защита и шифрование
Защита в NTFS построена на модели объектов Windows 2000. Файлы и каталоги защищены от доступа пользователей, не имеющих соответствующих прав. Открытый файл реализуется в виде объекта «файл» с дескриптором защиты, хранящимся на диске как часть файла. Прежде чем процесс сможет открыть описатель какого-либо объекта, в том числе и объекта «файл», система защиты Windows 2000 должна убедится, что у этого процесса есть соответствующие полномочия. Дескриптор защиты в сочетании с требованием регистрации пользователя при входе в систему гарантирует, что ни один процесс не получит доступа к файлу без разрешения системного администратора или владельца файла.
Пользователи часто хранят на своих компьютерах конфиденциальную информацию. Хотя данные на серверах компаний обычно надежно защищены, информация, хранящаяся на портативном компьютере, может попасть в чужие руки в случае потери или кражи компьютера. Права доступа к файлам NTFS в таком случае не защитят данные, поскольку полный доступ к томам NTFS можно получить независимо от их защиты – достаточно воспользоваться программами, умеющими читать файлы NTFS вне среды Windows 2000. Кроме этого, права доступа к файлам NTFS становятся бесполезны при использовании другой системы Windows 2000 и учетной записи администратора, т.к. учетная запись администратора обладает привилегиями захвата во владение и резервного копирования, любая из которых позволяет получить доступ к любому защищенному объекту в обход его параметров защиты.
NTFS поддерживает механизм Encrypting File System (EFS), с помощью которого пользователи могут шифровать конфиденциальные данные. EFS полностью прозрачен для приложений. Это означает, что данные автоматически расшифровываются при чтении их приложением, работающим под учетной записью пользователя, который имеет права на просмотр этих данных, и автоматически шифруются при изменении их авторизованным приложением.
NTFS не допускает шифрования файлов, расположенных в корневом каталоге системного тома или в каталоге Winnt, поскольку многие находящиеся там файлы нужны в процессе загрузки, когда EFS ещё не активна.
EFS использует криптографические сервисы, предоставляемые Windows 2000 в пользовательском режиме, и состоит из драйвера устройства режима ядра, тесно интегрированного с NTFS и DLL5-модулями пользовательского режима, которые взаимодействуют с подсистемой1 локальной аутентификации и криптографическими DLL.
Доступ к зашифрованным файлам можно получить только с помощью закрытого ключа из криптографической пары EFS (которая состоит из закрытого и открытого ключей), а закрытые ключи защищены паролем учетной записи. Таким образом, без пароля учетной записи, авторизированной для просмотра данных, доступ к зашифрованным EFS файлам на потерянных или краденных портативных компьютерах нельзя получить никакими средствами, кроме грубого перебора паролей.
Механизм EFS
EFS использует средства поддержки шифрования, введенные Microsoft ещё в
Windows NT 4. При первом шифровании файла EFS назначает учетной записи
пользователя, шифрующего этот файл, криптографическую пару – закрытый и
открытый ключи. Пользователи могут шифровать файлы с помощью Windows
Explorer; для этого нужно открыть диалоговое окно Свойства применительно к
нужному файлу, щелкнуть кнопку Другие и установить флажок Шифровать
содержимое для защиты данных. Пользователи также могут шифровать файлы с
помощью утилиты командной строки cipber.Windows 2000 автоматически шифрует
файлы в каталогах, помеченных зашифрованными. При шифровании файла EFS
генерирует случайное число, называемое шифровальным ключом файла (file
encryption key, FEK8). EFS использует FEK для шифрования содержимого файла
по более стойкому варианту DES3 (Data Encryption Standard) – DESX4. EFS
сохраняет FEK вместе с самим файлом, но FEK шифруется по алгоритму RSA-
шифрования на основе открытого ключа. После выполнения EFS этих действий
файл защищен: другие пользователи не смогут расшифровать данные без
расшифрованного FEK файла, а FEK они не смогут расшифровать без закрытого
ключа пользователя – владельца файла.
Для шифрования FEK используется алгоритм криптографической пары, а для
шифрования файловых данных – DESX, алгоритм симметричного шифрования (в нем
применяется один и тот же ключ для шифрования и дешифрования). Как правило, алгоритмы симметричного шифрования работают очень быстро, что делает их
подходящими для шифрования больших объемов данных, в частности файловых.
Однако у алгоритмов симметричного шифрования есть одна слабая сторона:
зашифрованный ими файл можно вскрыть, получив ключ. Если несколько человек
собирается пользоваться одним файлом, защищенным только DESX, каждому из
них понадобится доступ к FEK файла. Очевидно, что незашифрованный FEK –
серьезная угроза безопасности. Но шифрование FEK все равно не решает
проблему, поскольку в этом случае нескольким людям приходится пользоваться
одним и тем же ключом расшифровки FEK.
Защита FEK сложная проблема, для решения которой EFS использует ту часть своей криптографической архитектуры, которая опирается на технологии шифрования с открытым ключом. Шифрование FEK на индивидуальной основе позволяет нескольким лицам совместно использовать зашифрованный файл. EFS может зашифровать FEK файла с помощью открытого ключа каждого пользователя и хранить их FEK вместе с файлом. Каждый может получить доступ к открытому ключу пользователя, но никто не сможет расшифровать с его помощью данные, зашифрованные по этому ключу. Единственный способ расшифровки файла заключается в использовании операционной системой закрытого ключа, который она. Как правило, хранит в безопасном месте. Закрытый ключ помогает расшифровать нужный FEK файла. Windows 2000 хранит закрытые ключи на жестком диске, что не слишком безопасно, но в следующих выпусках операционной системы пользователи смогут хранить закрытые ключи на компактных носителях вроде смарт-карт. Алгоритмы на основе открытого ключа обычно довольно медленные. Поэтому они используется EFS только для шифрования FEK. Разделение ключей на открытый и закрытый немного упрощает управление ключами по сравнению с таковым в алгоритмах симметричного шифрования и решает дилемму, связанную с защитой FEK.
Функциональность EFS опирается на несколько компонентов, как видно на схеме архитектуры EFS (см. рисунок).
Пользовательский режим
LPC
Режим ядра
| |
| |
| |
| |
| |
| |
| |
| |
| |
EFS реализована в виде драйвера устройства, работающего в режиме ядра и тесно связанного с драйвером файловой системы NTFS. Всякий раз, когда NTFS встречает зашифрованный файл, она вызывает функции из драйвера EFS, зарегистрированные им в NTFS при инициализации EFS. Функции EFS осуществляют шифрование и расшифровку файловых данных по мере обращения приложений к шифрованным файлам. Хотя EFS хранит FEK вместе с данными файла, FEK шифруется с помощью открытого ключа индивидуального пользователя. Для шифрования или расшифровки файловых данных EFS должна расшифровать FEK файла, обращаясь к криптографическим сервисам пользовательского режима.
Подсистема локальной аутентификации (Local Security Authentication
Subsystem, Lsass13)(WinntSystem32Lsass.exe) не только управляет сеансами
регистрации, но и выполняет рутинные операции, связанные с управлением
ключами EFS. Например, когда драйверу EFS требуется расшифровать FEK для
расшифровки данных файла, к которому обращается пользователь, драйвер EFS
посылает запрос Lsass через вызов локальной процедуры (local procedure call
или LPC11).
Драйвер устройства KsecDD9 (WinntSystem32DriversKsecdd.sys)
экспортирует функции, необходимые драйверам для посылки Lpc-сообщений
Lsass. Компонент Lsass, сервер локальной аутентификации (Local Security
Authentication Server, Lsasrv12) (WinntSystem32Lsasrv.dll), ожидает
запросы на расшифровку FEK через вызов отдаленной процедуры (remote
procedure call или RPC16); расшифровка выполняется соответствующей функцией
EFS. Которая также находится в Lsasrv. Для расшифровки FEK, получаемого от
драйвера EFS в зашифрованном виде, Lsasrv использует функции Microsoft
CryptoAPI, или сокращенно CAPI1.
CAPI состоит из DLL компонентов доступа к криптографическим сервисам
(шифрованию, дешифрованию и хэшированию). Например, эти DLL управляют
получением открытого и закрытого ключей пользователя, что позволяет Lsasrv
не заботиться о деталях защиты ключей и об особенностях работы алгоритмов
шифрования. Расшифровав FEK, Lsasrv возвращает его драйверу EFS в ответном
LPC-сообщении. Получив расшифрованный FEK, EFS с помощью DESX
расшифровывает данные файла для NTFS.
Рекомендуем скачать другие рефераты по теме: бесплатные рефераты и курсовые, сочинение на тему зимой.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата