Технологии и продукты Microsoft в обеспечении ИБ

advertisement
Технологии и продукты
Microsoft в обеспечении ИБ
Лекция 7. Криптографические функции в .NET Framework
Цели
 Изучить основные элементы
пространства имен Cryptography
 Рассмотреть принципы работа с
потоками
 Познакомиться с особенностями
реализации и использования
генераторов псевдослучайных
чисел
2
Высшая школа экономики - 2009
Основные элементы пространства имен
Cryptography





Криптографические алгоритмы
Вспомогательные классы
Сертификаты X.509
Цифровые подписи
XMLCMS/PKCS#7
3
Высшая школа экономики - 2009
Криптографические алгоритмы
 Набор классов, применяемых для
реализации алгоритмов симметричного и
асимметричного шифрования, а также
хеширования
4
Высшая школа экономики - 2009
Вспомогательные классы
 Классы, обеспечивающие генерацию
криптографически стойких
последовательностей псевдослучайных
чисел, выполнение преобразований,
взаимодействие с хранилищем CryptoAPI и
шифрование на основе потоковой модели
5
Высшая школа экономики - 2009
Сертификаты X.509
 Классы, определенные в пространстве имен
System.Security.Cryptography.X509Certificates
и предоставляющие цифровые сертификаты
и (начиная с .NET 2.0) классы для доступа к
хранилищу сертификатов Windows
6
Высшая школа экономики - 2009
Цифровые подписи
 Классы, определенные в пространстве имен
System.Cryptography.Xml и предоставляющие
цифровые подписи в XML-документах в
соответствии со стандартами,
опубликованными консорциумом W3C
7
Высшая школа экономики - 2009
XMLCMS/PKCS#7
 Начиная с версии .NET 2.0, осуществляется
управляемая поддержка упакованных
CMS/PKCS сообщений непосредственно от
вызовов неуправляемого кода. (CMS –
Cryptographic Message Syntax – синтаксис
криптографических сообщений, PKCS –
Public-Key Cryptography Standard – стандарт
шифрования с открытым ключом )
8
Высшая школа экономики - 2009
Фрагмент иерархии классов:
криптографические алгоритмы
System.Object
SymmetricAlgorithm
AsymmetricAlgorithm
HashAlgorithm
KeyedHashAlgorithm
9
Высшая школа экономики - 2009
Фрагмент иерархии классов: вычисление
хеш-значения
HashAlgorithm
KeyedHashAlgorithm
MD5
SHA1
MD5Crypto
ServiceProvider
HMACSHA1
MACTripleDES
SHA1Crypto
ServiceProvider
10
SHA256
SHA384
SHA512
SHA256Managed
SHA384Managed
SHA512Managed
SHA1Managed
Высшая школа экономики - 2009
Расширение криптографической объектной
модели
 Добавление новой реализации
криптоалгоритма, уже определенного в .NET
Framework
 Добавление нового криптоалгоритма
11
Высшая школа экономики - 2009
Модель ICryptoTransform
 математическое
преобразованию над блоком
данных фиксированной
длины – например,
шифрование секретным
ключом
 реализуется посредством
«заворачивания» входного
потока в ICryptoTransform с
использованием класса
Входной блок
ICryptoTransform
Выходной блок
CryptoStream
12
Высшая школа экономики - 2009
Схема работы с потоками
CryptoStream (реальное время)
Буфер
ICryptoTransform
13
Буфер
Любой поток
Высшая школа экономики - 2009
Генераторы псевдослучайных чисел
 Генератор является псевдослучайным, если
порождаемые им последовательности неотличимы
никаким полиномиальным вероятностным
алгоритмом от случайных последовательностей той
же длины
 В реализации .NET наследуются от класса
RandomNumberGenerator
 по умолчанию - класс RNGCryptoServiceProvider
 не создает воспроизводимых последовательностей
(в отличие от System.Random в .NET Framework или
rand() и random() в библиотеке языка C)
14
Высшая школа экономики - 2009
Использованные источники
 Авдошин С.М., Савельева А.А.
Криптотехнологии Microsoft // М.: Новые
технологии, 2008. - ISSN 1684-6400. – 32 с.
(Библиотечка журнала "Информационные
технологии"; Приложение к журналу
"Информационные технологии"; N9, 2008).
 Введение в криптографию / Под общей ред.
В.В. Ященко // СПб.: Питер, 2001
15
Высшая школа экономики - 2009
Спасибо за внимание!
Download