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

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

Для каждого зарегистрированного у него пользователя или конкретного приложения 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.Записывается этот блоб на диск вместе с самим зашифрованным файлом в качестве одного из его атрибутов.

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