- •ЛЕКЦИЯ 14. КРИПТОГРАФИЯ И СТЕГАНОГРАФИЯ
- •Содержание лекции
- •Преимущества использования
- •Криптографический интерфейс
- •криптографической подсистемы Windows
- •Принципы взаимодействия
- •Криптопровайдер
- •Основные атрибуты CSP
- •Экспорт и импорт ключей
- •Контейнеры ключей
- •Хранение контейнеров
- •Доступ к контейнеру ключей
- •Версии CryptoAPI
- •Примеры использования
- •CryptoAPI в EFS
- •CryptoAPI в EFS
- •Архитектура EFS
- •Другие особенности EFS
- •Шифрование файла в EFS
- •Расшифрование файла в
- •восстановления
- •Недостатки EFS
- •Недостатки EFS
- •Криптография и
- •Основные понятия
- •Скрытие и извлечение
- •Принципы компьютерной
- •Криптография и
- •Применение компьютерной
- •Применение компьютерной
- •Методы компьютерной
- •Использование свойств
- •Недостаток перечисленных методов
- •Использование естественной
- •Метод LSB
Контейнеры ключей
•Для каждого зарегистрированного у него пользователя или конкретного приложения 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.Записывается этот блоб на диск вместе с самим зашифрованным файлом в качестве одного из его атрибутов.
