Технологии и продукты Microsoft в обеспечении ИБ Лекция 9. Шаблоны использования криптографических

advertisement
Технологии и продукты
Microsoft в обеспечении ИБ
Лекция 9. Шаблоны использования криптографических
функций в корпоративных приложениях
Цели
 Рассмотреть назначение, область
применения и функции Enterprise Library
 Изучить структуру и принципы
использования Cryptography Application
Block
 Оценить роль шаблонов проектирования в
создании корпоративных приложений
2
Высшая школа экономики - 2009
Enterprise Library
 Библиотека предприятия (Enterprise Library)
включает набор блоков для разработки
корпоративных приложений и представляет
собой один из проектов инициативы Microsoft
“Patterns & Practices”
 Текущий релиз: 4.1 – Октябрь 2008
3
Высшая школа экономики - 2009
Определение
 Шаблоны проектирования (паттерн, англ.
design pattern) — это многократно
применяемая архитектурная конструкция,
предоставляющая решение общей проблемы
проектирования в рамках конкретного
контекста и описывающая значимость этого
решения.
4
Высшая школа экономики - 2009
Состав шаблона проектирования
 Имя – однозначное определение шаблона,
говорящее о его назначении
 Задача – условия применения шаблона
 Решение – абстрактное описание решения
задачи и модель решения в виде набора
связанных классов
 Результат – ожидаемые последствия
применения шаблона
5
Высшая школа экономики - 2009
Состав Enterprise Library
 Исполняемый двоичный код
(скомпилированные сборки для всего
исходного кода)
 Исходный код (для всех блоков приложений,
а также утилит конфигурации, модульных
тестов и обучающих примеров)
 Модульные тесты (созданные на этапе
разработки блоков приложений)
 Документация (для просмотра используется
справочная система Visual Studio)
6
Высшая школа экономики - 2009
Основные принципы Enterprise Library
 Согласованность
 Расширяемость
 Простота использования
 Интеграция
7
Высшая школа экономики - 2009
Блоки приложений









Caching Application Block
Cryptography Application Block (CAB)
Data Access Application Block
Exception Handling Application Block
Logging Application Block
Policy Injection Application Block
Security Application Block
Unity Application Block
Validation Application Block
8
Высшая школа экономики - 2009
Состав CAB




Алгоритмы шифрования
Алгоритмы хеширования
Различные криптопровайдеры
Дополнительные реализации
криптопровайдеров
 Функции защиты ключей с помощью DPAPI
9
Высшая школа экономики - 2009
Структура криптографического блока
приложений
Компонент блока
Интерфейс или
абстрактный
базовый класс
блока
Код разработчика
приложения
Клиентский код
Зашифрование,
расшифрование,
создание и сравнение
хеш-значений
A
B
Класс В наследует
от класса А или
реализует
интерфейс А
Cryptography Application Block
Cryptographer
HashProvider
Factory
IHashProvider
KeyedHash
AlgorithmProvider
SymmetricCrypto
ProviderFactory
HashAlgorithm
Provider
10
ISymmetricCrypto
Provider
DpapiSymmetric
CryptoProvider
Symmetric
Algorithm
Provider
Dpapi
CryptoProvider
Symmetric
CryptoProvider
Высшая школа экономики - 2009
Примеры шаблонов
 Cryptographer: шаблон «фасад»
(между клиентским кодом и
криптографическими функциями
блока)
 Статические методы
HashProviderFactory и
SymmetricCryptProviderFactory:
шаблон «фабрика» (по
конфигурационным данным
определяет тип криптопровайдера,
который нужно создать )
11
Высшая школа экономики - 2009
Использованные источники
 Enterprise Library Essentials. Patterns &
Practices, Microsoft, October 2008.
 Авдошин С.М., Савельева А.А.
Криптотехнологии Microsoft // Приложение к
журналу Информационные технологии. 2008.
№ 9. С. 2-32.
12
Высшая школа экономики - 2009
Спасибо за внимание!
Download