Технологии и продукты 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 Спасибо за внимание!