- •Технологии и продукты Microsoft в обеспечении ИБ
- •Цели
- •Enterprise Library
- •Определение
- •Состав шаблона проектирования
- •Состав Enterprise Library
- •Основные принципы Enterprise Library
- •Блоки приложений
- •Состав CAB
- •Структура криптографического блока
- •Примеры шаблонов
- •Использованные источники
- •Спасибо за внимание!
Технологии и продукты 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 |
IHashProvider |
SymmetricCrypto |
|
ISymmetricCrypto |
|
Factory |
ProviderFactory |
|
|
Provider |
|
|
|
|
|||
|
KeyedHash |
HashAlgorithm |
DpapiSymmetric |
Symmetric |
|
|
Algorithm |
||||
|
AlgorithmProvider |
Provider |
CryptoProvider |
||
|
Provider |
||||
|
|
|
|
|
|
|
|
|
Dpapi |
|
Symmetric |
|
|
|
CryptoProvider |
CryptoProvider |
|
|
10 |
|
|
|
Высшая школа экономики - 2009 |