Содержание
Введение. 2
Файловая система NTFS. 3
Структура NTFS на диске. 3
Главная таблица файлов. 5
Защита и шифрование. 7
Механизм EFS. 9
Регистрация функций обратного вызова. 12
Первое шифрование файла. 13
Создание связок ключей. 14
Шифрование файловых данных. 16
Схема процесса шифрование файла через EFS. 18
Процесс расшифровки. 19
Резервное копирование шифрованных файлов. 21
Заключение. 23
Приложение. Сокращения. 24
Список используемой литературы.. 25
Защита конфиденциальных данных от несанкционированного доступа очень важна в любой среде, где множество пользователей обращается к одним и тем же физическим и сетевым ресурсам. У операционной системы, как и у отдельных пользователей, должна быть возможность защиты файлов, памяти и конфигурационных параметров от нежелательного просмотра и внесения изменений. Защищать файлы от несанкционированного доступа можно различными средствами, но в случае кражи файлов единственной защитой остается шифрование.
Файловая система NTFS15 разрабатывалась специально для Windows 2000 и является системой корпоративного класса. Для шифрования файлов NTFS использует механизм EFS7. Обзор файловой системы NTFS и механизма EFS и является целью моей курсовой работы.
Файловая система NTFS
Формат файловых систем определяют принципы хранения данных на носителе и влияют на характеристики файловой системы. Формат файловой системы может налагать ограничения на размеры файлов и емкости поддерживаемых устройств внешней памяти. Некоторые форматы файловых систем эффективно реализуют поддержку либо больших, либо малых файлов и дисков.
NTFS –встроенная файловая система Windows 2000. NTFS использует 64-разрядные индексы кластеров. Это позволяет ей адресовать тома размером до 16 миллиардов Гб. Однако Windows 2000 ограничивает размеры томов NTFS до значений, при которых возможна адресация 32-разрядными кластерами, т.е. до 128 Тб (с использованием кластеров по 64 Кб).
С самого начала разработка NTFS велась с учетом требований, предъявляемых к файловой системе корпоративного класса. Чтобы свести к минимуму потери данных в случае неожиданного выхода системы из строя или её краха, файловая система должна гарантировать целостность своих метаданных. Для защиты конфиденциальных данных от несанкционированного доступа файловая система должна быть построена на интегрированной модели защиты. Наконец, файловая система должна поддерживать защиту пользовательских данных за счет программной избыточности данных.
Структура NTFS начинается с тома. Том соответствует логическому разделу на диске и создается при форматировании диска или его части под NTFS. На диске может быть один или несколько томов. NTFS обрабатывает каждый том независимо от других. Том состоит из набора файлов и свободного пространства, оставшегося в данном разделе диска. В томе NTFS все данные файловой системы вроде битовых карт, каталогов и начального загрузочного кода хранятся как обычные файлы.
Размер кластера на томе NTFS, или кластерный множитель, устанавливается при форматировании тома командой format. Размер кластера по умолчанию определяется размером тома, но всегда содержит целое число физических секторов с дискретностью N2. Кластерный множитель выражается числом байт в кластере, например 512 байт, 1Кб или 2Кб.
Внутренне NTFS работает только с кластерами. Однако NTFS инициирует низкоуровневые операции ввода-вывода на томе, выравнивая передаваемые данные по размеру сектора и подгоняя их объем под значение, кратное размеру секторов. NTFS использует кластер как единицу выделения пространства для поддержания независимости от размера физического сектора. Это позволяет NTFS эффективно работать с очень большими дисками, используя кластеры большего размера, и поддерживать нестандартные диски с размером секторов отличным от 512 байт. Применение больших кластеров на больших томах уменьшает фрагментацию и ускоряет выделение свободного пространства за счет небольшого проигрыша в эффективности использования дискового пространства.
NTFS адресуется к конкретным местам на диске, используя логические номера кластеров (logical cluster numbers, LCN10) для этого все кластеры на томе просто номеруются по порядку – от начала до конца. Для преобразования LCN в физический адрес на диске NTFS умножает LCN на кластерный множитель и получает байтовое смещение от начала тома, воспринимаемое интерфейсом драйвера диска. На данные внутри файла NTFS ссылается по виртуальным номерам кластеров(VCN17), нумеруя кластеры которые принадлежат конкретному файлу (от 0 до m). Виртуальные номера не обязательно должны быть физически непрерывными.
В NTFS все данные, хранящиеся на томе, содержатся в файлах. Хранение всех видов данных в файлах позволяет файловой системе легко находить и поддерживать данные, а каждый файл может быть защищен дескриптором защиты. Кроме того, при появлении плохих секторов на диске, NTFS может переместить файлы метаданных.
Метаданные – это данные, хранящиеся на томе и необходимые для поддержки управления файловой системой. Как правило, они не доступны приложениям. К метаданным NTFS относятся структуры данных, используемые для поиска и выборки файлов, начальный загрузочный код и битовая карта, в которой регистрируется состояние пространства всего тома.
Главная таблица файлов (MFT14) занимает центральное место в структуре NTFS-тома. MFT реализована как массив записей о файлах. Размер каждой записи фиксирован и равен 1 Кб. Логически MFT содержит по одной строке на каждый файл тома, включая строку для самой MFT. Кроме MFT на каждом томе NTFS имеется набор файлов метаданных с информацией, необходимой для реализации структуры файловой системы.
Имена всех файлов метаданных NTFS начинаются со знака $, хотя эти знаки скрыты. Так имя файла MFT - $Mft. Остальные файлы NTFS-тома являются обычными файлами и каталогами.
Обычно каждая запись MFT соответствует отдельному файлу, но если у файла много атрибутов или он сильно фрагментирован, для него может понадобиться более одной записи. Тогда первая запись MFT, хранящая адреса других записей, называется базовой.
При первом обращении к тому 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 и учетной записи администратора, т.к. учетная запись администратора обладает привилегиями захвата во владение и резервного копирования, любая из которых позволяет получить доступ к любому защищенному объекту в обход его параметров защиты.