Технологии и продукты Microsoft в обеспечении ИБ Лекция 7. Криптографические функции в.NET Framework
Высшая школа экономики Цели Изучить основные элементы пространства имен Cryptography Рассмотреть принципы работа с потоками Познакомиться с особенностями реализации и использования генераторов псевдослучайных чисел
Высшая школа экономики Основные элементы пространства имен Cryptography Криптографические алгоритмы Вспомогательные классы Сертификаты X.509 Цифровые подписи XMLCMS/PKCS#7
Высшая школа экономики Криптографические алгоритмы Набор классов, применяемых для реализации алгоритмов симметричного и асимметричного шифрования, а также хеширования
Высшая школа экономики Вспомогательные классы Классы, обеспечивающие генерацию криптографически стойких последовательностей псевдослучайных чисел, выполнение преобразований, взаимодействие с хранилищем CryptoAPI и шифрование на основе потоковой модели
Высшая школа экономики Сертификаты X.509 Классы, определенные в пространстве имен System.Security.Cryptography.X509Certificates и предоставляющие цифровые сертификаты и (начиная с.NET 2.0) классы для доступа к хранилищу сертификатов Windows
Высшая школа экономики Цифровые подписи Классы, определенные в пространстве имен System.Cryptography.Xml и предоставляющие цифровые подписи в XML-документах в соответствии со стандартами, опубликованными консорциумом W3C
Высшая школа экономики XMLCMS/PKCS#7 Начиная с версии.NET 2.0, осуществляется управляемая поддержка упакованных CMS/PKCS сообщений непосредственно от вызовов неуправляемого кода. (CMS – Cryptographic Message Syntax – синтаксис криптографических сообщений, PKCS – Public-Key Cryptography Standard – стандарт шифрования с открытым ключом )
Высшая школа экономики Фрагмент иерархии классов: криптографические алгоритмы System.Object SymmetricAlgorithm KeyedHashAlgorithm AsymmetricAlgorithm HashAlgorithm
Высшая школа экономики Фрагмент иерархии классов: вычисление хеш-значения
Высшая школа экономики Расширение криптографической объектной модели Добавление новой реализации криптоалгоритма, уже определенного в.NET Framework Добавление нового криптоалгоритма
Высшая школа экономики Модель ICryptoTransform математическое преобразованию над блоком данных фиксированной длины – например, шифрование секретным ключом реализуется посредством «заворачивания» входного потока в ICryptoTransform с использованием класса CryptoStream
Высшая школа экономики Схема работы с потоками
Высшая школа экономики Генераторы псевдослучайных чисел Генератор является псевдослучайным, если порождаемые им последовательности неотличимы никаким полиномиальным вероятностным алгоритмом от случайных последовательностей той же длины В реализации.NET наследуются от класса RandomNumberGenerator по умолчанию - класс RNGCryptoServiceProvider не создает воспроизводимых последовательностей (в отличие от System.Random в.NET Framework или rand() и random() в библиотеке языка C)
Высшая школа экономики Использованные источники Авдошин С.М., Савельева А.А. Криптотехнологии Microsoft // М.: Новые технологии, ISSN – 32 с. (Библиотечка журнала "Информационные технологии"; Приложение к журналу "Информационные технологии"; N9, 2008). Введение в криптографию / Под общей ред. В.В. Ященко // СПб.: Питер, 2001
Спасибо за внимание!