Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция 14.ppt
Скачиваний:
134
Добавлен:
28.06.2014
Размер:
824 Кб
Скачать
☆

Контейнеры ключей

•Для каждого зарегистрированного у него пользователя или конкретного приложения CSP хранит контейнер ключей асимметричного шифрования, который может включать в себя две пары ключей – открытый и секретный ключи для обмена сеансовыми ключами, а также открытый и секретный ключи для ЭЦП.

•Ключи симметричного шифрования (сеансовые ключи) не сохраняются CSP и об их сохранении (или правильной повторной генерации) должно позаботиться приложение.

Хранение контейнеров

ключей

•На жестком диске компьютера (например, в разделе реестра HKEY_CURRENT_USER, где хранят ключи криптопровайдеры, распространяемые вместе с ОС Windows).

•На защищенном от несанкционированного доступа устройстве (например, смарт-карте или токене), подключаемым к компьютеру при выполнении криптографических операций.

Доступ к контейнеру ключей

из прикладной программы

Создание нового контейнера ключей (или открытие существующего) и получение его дескриптора выполняются с помощью функции CryptoAPI CryptAcquireContext, которая должна вызываться в программе до любой из других функций CryptoAPI.

Версии CryptoAPI

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

•2.0 – содержит дополнительные функции для работы с сертификатами и поддержки инфраструктуры открытых ключей (требуется подключение библиотеки crypt32.dll).

•CAPICOM – содержит набор многокомпонентных объектов для выполнения криптографических операций в сценариях и апплетах (требуется библиотека capicom.dll).

•Криптографические классы библиотеки Framework Class Library.

Примеры использования

CryptoAPI

• Шифрующая файловая система Windows (EFS). Используются экспорт и импорт случайного сеансового ключа шифрования файла.

• Пакет программ Microsoft Office. Используется генерация сеансового ключа шифрования документа из парольной фразы.

CryptoAPI в EFS

•автоматическая генерация асимметрических ключей обмена и сертификата открытого ключа при первом обращении пользователя к услугам EFS (шифровании первой папки или файла);

•автоматическая генерация случайного сеансового ключа перед шифрованием файла, указанного пользователем;

•автоматическое шифрование и расшифрование в прозрачном режиме на уровне файла или папки (гарантируется, что для зашифрованного файла все созданные на его основе временные файлы также будут зашифрованы);

CryptoAPI в EFS

•возможность вызова функций шифрования и расшифрования с помощью контекстного меню Проводника Windows и программы командной строки cipher;

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

Архитектура EFS

Приложен

Диспетчерие ввода- вывода

 

 

 

 

 

 

 

 

 

 

Драйвер

 

 

 

 

 

 

 

 

 

 

 

Сервис

 

 

 

CryptoA

 

 

 

 

 

 

EFS

 

 

 

 

 

 

 

 

 

EFS

 

 

 

PI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Драйвер

NTFS Защищенны й объект

Другие особенности EFS

•Перед передачей по сети файлы расшифровываются (в Windows Vista/7/8 есть возможность передачи зашифрованных файлов).

•Возможен совместный доступ к зашифрованным файлам из числа пользователей, имеющих сертификаты открытых ключей EFS на данном компьютере (начиная с Windows XP).

•Для восстановления зашифрованных файлов возможно включение политики агента восстановления (в домене).

Шифрование файла в EFS

1.Генерация случайного сеансового ключа FEK (File Encryption Key).

2.С его помощью зашифровывается файл.

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

4.Записывается этот блоб на диск вместе с самим зашифрованным файлом в качестве одного из его атрибутов.

Соседние файлы в папке Лекции