Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы и средства криптографической защиты информации (90

..pdf
Скачиваний:
11
Добавлен:
15.11.2022
Размер:
411.51 Кб
Скачать

cmECB=1, //ECB cmCBC=2, //CBC cmCFB=3, //CFB cmOFB=4 //OFB

}

Для блочных алгоритмов в режимах ECB, CBC программа должна передавать данные объекту «Cipher», реализующему алгоритм шифрования, частями, кратными размеру блока. Для потоковых и блочных шифров в режиме потоковых – частями произвольного размера или побайтно. Объект «Cipher» должен сохранять внутреннее состояние между обработкой блоков данных.

Содержание отчета

1.Титульный лист.

2.Задание.

3.Краткая справка по используемому алгоритму: авторы, год разработки, достоинства, недостатки, надежность, способы криптоанализа.

4.Описание алгоритма (по шагам или в виде блок-схемы).

5.Программная реализация алгоритма.

6.Тестовые примеры.

7.Литература.

Контрольные вопросы

1.Классификация симметричных криптосистем.

2.Принцип работы блочных шифров.

3.Принцип работы потоковых шифров.

4.Схема Фейстеля.

5.Способы повышения защищенности криптосистем, основанных на схеме Фейстеля.

6.Общая схема алгоритма DES.

7.Общая схема алгоритма ГОСТ 28147-89.

8.Режимы применения блочных шифров.

9

Лабораторная работа №3 Реализация криптографической защиты данных

Цель работы

Изучить архитектуру криптографических сервисов, встроенных в современные операционные системы, получить практические навыки использования криптографических средств Microsoft .Net Framework при программировании прикладных приложений.

Теоретические сведения

В операционных системах семейства Microsoft Windows NT реализация криптографических алгоритмов инкапсулирована в провайдерах криптографических сервисов (Cryptographic Service Providers, CSP) –

независимых программных модулях, выполненных в виде динамически подключаемых библиотек. Различные провайдеры могут реализовывать все или некоторые из перечисленных сервисов:

симметричное шифрование;

шифрование с открытым ключом;

цифровая подпись;

обмен ключами;

защищенный канал передачи (SSL и др.).

Соперационной системой поставляется набор провайдеров, реализующих основные криптографические алгоритмы и отличающихся поддерживаемыми алгоритмами и защищенностью по допустимому размеру используемых ключей

(Microsoft Base Cryptographic Provider, Strong Cryptographic Provider, Enhanced Cryptographic Provider и др.). Этот набор провайдеров может расширяться, в том числе за счет сторонних производителей (например, криптопровайдер КриптоПро CSP российской компании «Крипто-Про» реализует принятые в качестве стандартов в РФ алгоритмы шифрования и цифровой подписи, имеет сертификат соответствия ФСБ России). Для работы в операционных системах Microsoft провайдеры должны иметь цифровую подпись от Microsoft,

10

подтверждающую корректность и надежность их реализации (в частности, такую цифровую подпись имеет КриптоПро CSP).

Прикладное

 

 

Прикладное

 

 

Прикладное

 

Уровень

приложение

 

 

приложение

 

 

приложение

 

 

 

 

 

 

приложений

1

 

 

2

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CryptoAPI

 

 

 

 

 

 

 

Advapi32.dll

 

Сервисы поддержки

 

 

Системный

 

 

Crypto API

 

 

Crypt32.dll

 

 

 

 

уровень

операционной системы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CryptoSPI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Крипто

 

 

Крипто

 

 

Крипто

 

Уровень

провайдер

 

 

провайдер

 

 

провайдер

 

 

 

 

 

криптопровайдеров

1

 

 

2

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2. Архитектура подсистемы поддержки криптопровайдеров

Провайдеры реализуют системный интерфейс CryptoSPI, который используется операционной системой при обращении к реализации криптографических сервисов. В свою очередь операционная система предоставляет прикладным приложениям интерфейс CryptoAPI, через который эти приложения могут использовать криптографические сервисы. Общая архитектура подсистемы поддержки провайдеров криптографических сервисов в операционных системах семейства Windows NT представлена на рис. 2.

Система безопасности .NET Framework реализует расширяемую модель наследования производных классов для программирования криптографических средств. Иерархия классов, реализующих криптографические алгоритмы, имеет следующий вид (см. также рис. 3):

1.Класс типа алгоритма, например SymmetricAlgorithm или HashAlgorithm. Это абстрактный уровень.

2.Класс алгоритма является производным от класса типа алгоритма, например RC2 или SHA1. Это также абстрактный уровень.

11

3. Реализация класса алгоритма, который является производным от класса алгоритма, например RC2CryptoServiceProvider или SHA1Managed. Это полностью реализуемый уровень.

 

 

 

 

 

 

System.Object

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cryptography Namespace

 

SymmetricAlgorithm

 

 

 

HashAlgorithm

 

AsymmetricAlgorithm

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DES

 

Rijndael

 

 

MD5

SHA1

 

 

KeyedHash

 

RSA

 

DSA

 

 

 

 

 

 

 

 

 

 

 

 

Algorithm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

HMAC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DESCryptoService

 

MD5CryptoService

 

 

 

 

 

 

RSACryptoService

 

 

 

 

 

 

 

 

 

 

 

3

 

Provider

 

 

 

Provider

 

 

 

 

 

 

Provider

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RijndaelManaged

 

SHA1CryptoService

 

SHA1Managed

 

 

DSACryptoService

 

 

 

 

 

 

Provider

 

 

 

 

 

 

 

Provider

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3. Иерархия классов, реализующих криптографические алгоритмы

Часть классов криптографических алгоритмов реализованы в рамках

.NET Framework (Managed-классы), другие классы являются оберткой для реализации криптопровайдеров Win32 (CryptoServiceProvider-классы).

Задание

Реализовать утилиту криптографической защиты файлов с использованием библиотеки криптографических средств Microsoft .NET Framework. Утилита должна обеспечивать цифровую подпись и конфиденциальность информации, содержащейся в файле.

Схема защиты файла должна иметь вид:

Файл с

Цифровая

 

Сжатие

 

Шифрование

Зашифрован

данными

подпись

 

(ZIP)

 

 

ный файл

 

 

 

 

 

 

 

12

Схема открытия защищенного файла должна иметь вид:

Зашифрован

Дешифрование

 

Распаковка

 

Проверка

Файл с

ный файл

 

 

(unZIP)

 

цифровой

данными

 

 

 

 

 

подписи

 

 

 

 

 

 

 

 

Цифровая подпись должна формироваться для хэша файла и присоединяться к файлу перед шифрованием. Функция сжатия может быть реализована по желанию.

При защите файла утилита должна генерировать пару ключей и выгружать открытый ключ в формате XML (соответствующий личный ключ используется при цифровой подписи). Секретный ключ шифрования должен запрашиваться у пользователя.

При открытии файла утилита должна запрашивать у пользователя секретный ключ для дешифрования и открытый ключ в формате XML для проверки цифровой подписи. Утилита должна выводить сообщение о результатах проверки цифровой подписи.

Содержание отчета

1.Титульный лист.

2.Задание.

3.Основные характеристики используемых алгоритмов: размер ключа, хэшкода, блока и т.п..

4.Листинг программы.

5.Тестовые примеры.

5.1.Для случая неизменного зашифрованного файла.

5.2.Для случая изменения зашифрованного файла.

6.Литература.

Контрольные вопросы

1.Способы аутентификации сообщений.

2.Основные способы применения хэш-функций.

3.Общая схема алгоритма хеширования MD5.

13

4.Использование криптосистем с открытым ключом для обеспечения конфиденциальности.

5.Использование криптосистем с открытым ключом для аутентификации и цифровой подписи.

6.Алгоритм RSA.

7.Алгоритм DSA.

8.Алгоритм ГОСТ 34.10-94.

9.Криптосистема Диффи-Хеллмана.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Столингс, В. Криптография и защита сетей: принципы и практика, 2-е изд.: пер. с англ. [Текст] / В. Столингс. – М.: Издательский дом

«Вильямс», 2001. – 672 с.

2.Панасенко, С.П. Алгоритмы шифрования. Специальный справочник

[Текст] / С.П. Панасенко. – СПб.: БХВ-Петербург, 2009. - 576 с.

3.Баричев, С.Г. Основы современной криптографии. [Текст] / С.Г. Баричев, В.В. Гончаров, Р.Е. Серов. – М.: Горячая линия - Телеком, 2001. – 120 с.

4.Нечаев, В.И. Элементы криптографии. Основы теории защиты информации: учеб. пос. [Текст] / В.И. Нечаев. – М.: Высшая школа, 1999.

– 109 с.

5.Шнайер, Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си, 2-е изд. [Текст] / Б. Штайер. – М. Триумф, 2002. – 816 с.

6.Microsoft Software Developer Network – MSDN [Электронный ресурс]. – http://msdn.microsoft.com

7.Сайт КриптоПро CSP [Электронный ресурс]. – http://www.cryptopro.ru/cryptopro/products/csp/default.htm

14

Приложение 1. Варианты алгоритмов для лабораторной работы №2

Алгоритм

Алгоритм

 

 

 

 

1.

DES

11.

DEAL

 

 

 

 

2.

Triple-DES

12.

SAFER

 

 

 

 

3.

IDEA

13.

SERPENT

 

 

 

 

4.

Twofish

14.

AES (Rijndael)

 

 

 

 

5.

Blowfish

15.

Skipjack

 

 

 

 

6.

RC2

16.

Camellia

 

 

 

 

7.

RC5

17.

RC4

 

 

 

 

8.

RC6

18.

SEAL

 

 

 

 

9.

CAST-128

19.

WAKE

 

 

 

 

10.

ГОСТ 28147-89

 

 

 

 

 

 

Приложение 2. Варианты заданий для лабораторной работы №3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм

Алгоритм

Алгоритм

Алгоритм

Алгоритм

Алгоритм

 

хэширова-

цифровой

шифрова-

 

хэширова

цифровой

шифрова-

 

ния

подписи

ния

 

-ния

подписи

 

ния

 

 

 

 

 

 

 

 

 

1.

MD5

RSA

DES

11.

MD5

RSA

 

Rijndael

 

 

 

 

 

 

 

 

 

2.

MD160

RSA

DES

12.

MD160

RSA

 

Rijndael

 

 

 

 

 

 

 

 

 

3.

SHA1

RSA

DES

13.

SHA1

RSA

 

Rijndael

 

 

 

 

 

 

 

 

 

4.

SHA256

RSA

DES

14.

SHA256

RSA

 

Rijndael

 

 

 

 

 

 

 

 

 

5.

SHA1

DSS

DES

15.

SHA1

DSS

 

Rijndael

 

 

 

 

 

 

 

 

 

6.

MD5

RSA

RC2

16.

MD5

RSA

 

Triple-DES

 

 

 

 

 

 

 

 

 

7.

MD160

RSA

RC2

17.

MD160

RSA

 

Triple-DES

 

 

 

 

 

 

 

 

 

8.

SHA1

RSA

RC2

18.

SHA1

RSA

 

Triple-DES

 

 

 

 

 

 

 

 

 

9.

SHA256

RSA

RC2

19.

SHA256

RSA

 

Triple-DES

 

 

 

 

 

 

 

 

 

10.

SHA1

DSS

RC2

20.

SHA1

DSS

 

Triple-DES

 

 

 

 

 

 

 

 

 

15

МЕТОДЫ И СРЕДСТВА КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ

Методические указания к проведению лабораторных работ по курсу «Методы и средства защиты компьютерной информации»

Владимир Александрович Алексеев

Редактор Е.Н. Черникова

 

 

Подписано в печать

. Формат 60х84 1/16. Бумага офсетная.

Ризография. Печ. л. 1,0. Тираж 100 экз. Заказ №

.

Издательство Липецкого государственного технического университета. Полиграфическое подразделение Издательства ЛГТУ.

398600, Липецк, ул. Московская, 30.

16

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]