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

дз_мп_45_2001 / CR_SIGN

.DOC
Скачиваний:
62
Добавлен:
16.04.2013
Размер:
155.14 Кб
Скачать

Лабораторная работа

Программа электронной цифровой подписи Crypton Sign

Цель работы: освоение основных функций работы с электронной цифровой подписью.

Аппаратура: IBM PC386 и выше.

Программное обеспечение:

- MSDOS;

-демонстрационная программа системы Crypton Sign.

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

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

На основании анализа содержимого документа, электронной подписи и открытого ключа получатель подписанного документа устанавливает подлинность информации, лицо подписавшее информацию и то, что данная подпись сформирована именно поставляемой программой формирования подписи, а не ее подделкой.

Прогррамма Crypton Sign - это программа электронной цифровой подписи. В этой программе реализованы алгоритмы электронной цифровой подписи и функции хэширования согласно стандартам ГОСТ Р 34.10-94, ГОСТ Р 34.11-94.

Алгоритм электронной цифровой подписи

Подписываемый документ - файл при помощи некоторой процедуры преобразуется в целое число m. Такую процедуру называют хэшированием. ”Подписывание” числа m состоит в возведении его в заданную степень d с последующим вычислением остатка от деления результата возведения на заданное число n, т.е. : S=m mod n.

Подпись документа составляет пара чисел [m,S]. В секрете должен храниться только показатель степени d, который и представляет собой секретный ключ.

Для проверки подлинности подписи выдается другой показатель степени e (открытый ключ), который используется при проверке соотношения : e

S = m mod n.

Если соотношение выполняется, то подпись считается подлинной или верной.

Процесс создания и проверки подписи

В качестве подписываемого документа в программе используется любой файл. Подпись может проставляться двумя способами. В первом - подписанный файл создается из неподписанного путем добавления в конец файла одной или более электронных подписей. При этом не изменяются ни имя файла, ни его расширение. Во втором, подписи записываются в указанный или текущий каталог в отдельный файл с тем же именем, но со стандартным расширением из последовательности sq0, sq1, sq2,...,sq9.

В первом случае подписанный файл с именем X.Y выглядит следующим образом:

Исходный файл

подпись1

подпись 2

...

подпись n

во втором - исходный файл остается без изменения, но формируется файл с подписями с именем X.SG0 или X.SGn, если существовал файл X.SG(n-1), где n>0 и n<10. Этот файл содержит только подписи:

подпись 1

подпись 2

...

подпись n

Во втором способе необходимо следить, чтобы

  • не оказалось более 10 файлов-подписей с одинаковым именем в одном каталоге;

  • все подписи одного файла хранились в одном катологе.

Каждая подпись содержит следующую информацию:

  1. Дата подписи.

  2. Срок окончания действия ключа данной подписи.

  3. Информация о лице, подписывающего файл.

  4. Идентификатор подписавшего (имя открытого ключа).

  5. Собственно подпись (два числа [m,S]).

Для формирования подписи необходимо создать два ключа: секретный и открытый ключи подписи (см. рис.1). Ключи представляют собой обычные файлы на дискете или последоватеоность байт на электронной карточке. В именах ключей используются расширения:

sk - для секретоного ключа;

pk - для открытого колюча.

Генерация случайного кода для создания ключей выполняется аппаратно с помощью одной из плат шифрования Криптон-3, Крипитон-4, Криптон-ИК. Если плат в компьютере нет, случайный код можно получить программно с помощью программы CryptonLite или генератора случайных чисел.

Для генерации ключей достаточно выполнить команду “Создать ключи”.

Для подписи файла необходимо выбрать сам подписывающий файл и секретный ключ, а затем выполнить команду “Поставить подпись”.

Две команды: “Показать подпись” и “Проверить подпись”используются для проверки наличия и подлинности подписей у файла, а также получения дополнительной информации о подписи. Для выполнения данных команд необходимо выбрать проверяемые файлы и указать каталог с открытыми ключами.

При необходимости можно удалить полследнюю подпись, группу последних подписей или все подписи у файла. Для этого в программе используется команда “Удалить подпись”. Для ее выполнения необходимо указать документы-файлы, у которых удаляются подписи.

Запуск программы Crypton Sign

Перед запуском необходимо запустить программу DSCH.EXE, а затем программу CRSIGN.EXE.

Функциональная схема создания и проверки подписи программой Crypton Sign.

Основное меню программы “Электронная подпись”

Основное меню разделено на две части (панели) (рис.2). В левой части расположены команды, в правой - перечень файлов и раздел, в котором находятся эти файлы. Для выбора команд и файлов используется маркер - специальная закрашенная область.

Основное меню программы

Клавиши управления маркером

Клавиши

Правая панель

Левая панель

Маркер на одну строку вверх

Маркер на одну строку вниз

Home

Маркер на первый файл

Маркер на первую команду

End

Маркер на последний файл

Маркер на последнюю команду

PqUp

Маркер на 15 строк вверх

Маркер на первую команду

PgDn

Маркер на 15 строк вниз

Маркер на последнюю команду

Tab

Переход маркера на левую панель

Переход маркера на правую панель

Клавиши выбора файла

Клавиша

Назначение

Ins

+

-

Выбор текущего файла

Маска выбора

Снятие выбора по маске

Клавиши смены каталога

Клавиша

Назначение

Enter

Alt/F2 и

Alt/F1

Переход в каталог верхнего уровня, если маркер находится в строке с ...

или

переход в каталог нижнего уровня, если маркер находистя на строке с именем каталога.

Смена текущего устройства

Команда “Поставить подпись” (F2)

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

Для выполнения этой команды необходимо ввести следующие данные:

  • имя секретного ключа;

  • пароль;

  • раздел с секретными ключами.

При выполнении подписи выбирается секретный ключ из указанного раздела.

Подпись формируется следующим образом:

  • проверяется пароль (если он введен). Подсчитывается подпись с постоянным значением функции хэширования и тут же проверяется. Если она верна, то пароль верен;

  • проверяется текущая дата и срок годности ключа;

  • в подпись переносится из ключа срок годности ключа и поле с именем пользователя;

  • имя секретного ключа заносится в качестве идентификатора;

  • подсчитывается сама подпись;

  • выдается сообщение о завершении подписи.

Команда “Показать подпись” (F3)

Эта команда выдает информацию о подписях файлов, которые были ранее выбраны.

Для выполнения этой команды необходимо ввести следующие данные:

  • имя секретного ключа;

  • пароль;

  • раздел с секретными ключами;

  • раздел с открытыми ключами;

  • раздел с открытыми ключами для проверки сертификата.

Под сертификатом понимается подпись открытого ключа.

Команда “Проверить подпись” (F4)

Осуществляется проверка подписей выбранных ранее файлов. Эта команда запрашивает следующие данные:

  • раздел с открытыми ключами;

  • раздел с открытым ключом для проверки сертификата.

При проверке каждой подписи выполняются следующие действия:

  • из подписи выбирается идентификатор - имя открытого ключа;

  • если указан раздел с открытым ключом для проверки сертификата, то осуществляется проверка сертификата открытого ключа, указанного в подписи файла;

  • анализ данных в подписи с данными открытого ключа;

  • собственно проверка подписи.

Команда “Удалить подпись” (F8)

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

Команда “ Создать ключ ” (F9).

Создание ключей для подписи производится после ввода следующей информации :

- имя ключа;

- пароль;

- дата годности ключа;

- имя владельца ключа;

- раздел с секретными ключами;

- раздел с открытыми ключами.

Ключи создаются под именами :

Команда “Распечатать ключи” (F5).

Выводит в файл содержимое открытого ключа в текстовом виде . Имя текстового файла - “имя ключа”. txt.

Команда “ База данных ключей ” (F6).

Данная команда предназначена для создания базы данных, записи открытых ключей в базу данных и удаления из базы , а также поиска ключей в базе. База данных представляет собой два файла : один с расширением pkb ( основной) и второй с расширением pkm ( дополнительный).

Для создания БД необходимо выполнить команду “ БД ключей... ” без выбора файлов на правой панели, ввести имя новой БД . База данных создается в текущем каталоге.

Для работы с уже имеющейся БД необходимо на запрос о вводе имени новой БД выбрать имя имеющейся БД с расширением pkb на правой панели. После этого появляется меню БД:

Команда “ Добавить” открытые ключи в БД предназначена для добавления новых открытых ключей в базу данных.

Выбор ключей осуществляется также, как и в основном меню.

Команда “ Журнал ” (F11)

Для протоколирования работы с программой электронной подписи используется журнал. В нем фиксируется работа с первыми шестью командами основного меню программы электронной подписи.

Для создания нового журнала достаточно включить параметр “ Вести журнал ” и задать его имя и каталог в таблице параметров (Команда “ Параметры... ”). Журнал можно вести либо в открытом , либо в зашифрованном виде.

В “ Журнале ” можно искать требуемую команду , обновлять весь журнал и расшифровывать журнал.

Команда “ Параметры ”(F12)

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

- Команды.

- Журнал.

- Подпись.

- Устройства с ключами.

- Файл с простыми числами.

- Конфигурационный файл.

Первая группа “ Команды ” предназначена для создания списка команд основного меню программы. Для любого оператора администротор может задать свою группу команд, а затем отключить команду “ Параметры ” , чтобы последний не мог изменить свои полномочия по работе с программой.

По умолчанию все команды включены. Непосредственно изменение состава команд происходит после перезагрузки программы.

Установить или отменить параметр можно с помощью клавиши “ пробел ”. Параметры группы “ Журнал ” полностью определяют работу с журналом:

- включают и выключают работу с журналом ;

- определяют вид журнала открытый или зашифрованный;

- задают имя журнала;

- задают каталог, где будет храниться журнал.

Если подпись хранится отдельно от файла , то необходимо включить параметр “Отдельный файл ” и указать “ Раздел ” (Каталог),куда будут помещаться отдельные файлы подписи.

Программа дает возможность пользователю генерировать дополнительный файл с простыми числами .

В параметрах указывается и путь к конфигурационному файлу (КФ). КФ всегда хранится в зашифрованном виде.

Обмен ключами через сертификационный центр.

Организуется сертификационный центр (СЦ) для регистрации пользователей. В СЦ поступают открытые ключи и сопровождающие их документы :

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

- данные о владельце ключа (Ф.И.О.,должность, место работы);

- сам открытый ключ (распечатка в шеснадцатиричном виде);

- полномочия владельца (перечень документов, которые уполномочен подписывать владелец ключа).

В ответ пользователь получает :

- открытые ключи с сертификатом всех зарегестрированных пользователей (в том числе и свой);

- файл или базу данных с полномочиями этих пользователей (также с сертификатом);

- открытый ключ для проверки сертификата , как в виде файла , так и в виде юридического документа.

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

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

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

Тесты для студентов дистанционного обучения

  1. Электронная цифровая подпись представляет собой: .

1.Последовательность байт, помещенная в конец файла.

  1. Последовательность байт, помещенная в начало файла.

  2. Последовательность байт, помещенная в отдельный файл.

2. Документ подписывается:

  1. Секретным ключом.

  2. Открытым ключом.

  3. Секретным и открытым ключами.

  4. Главным ключом.

  5. Узлом замены.

  6. Пользовательским ключом.

  7. Подпись документа составляют:

1. m 3. m,S 5. d,m 7. e 9. d,e

2 .S 4. d 6. S,d 8. e,m

  1. Для проверки подписи используется соотношение:

  2. S=ln(m mod n) 2. S = m mod n

  3. S=m mod n 4. S=d mod e

  4. Укажите последовательность действий при постановке подписи:

1.Проверяется текущая дата и срок годности ключа.

2.Проверяется пароль.

3. Имя секретного ключа заносится в качестве идентификатора.

4. В подпись переносится из ключа срок годности и имя пользователя.

5. Подсчитывается подпись.

6.Выдается сообщение о завершении постановки подписи.

  1. Сертификат - это

1. Секретный ключ.

2. Открытый ключ.

3. Подпись секретного ключа.

4.Подпись открытого ключа

  1. Укажите последовательность действий при проверке подписи.

  1. Проверка сертификата.

  2. Выбор имени ключа.

  3. Анализ данных в подписи.

  4. Проверка подписи.

8. Укажите, что получает пользователь при работе в сертификационном центре.

  1. Секретные ключи других пользователей.

  2. Открытые ключи других пользователей.

  3. Открытые ключи с сертификатом других пользователей .

  4. Файл с полномочиями пользователей с сертификатом.

  5. Свой открытый ключ с сертификатом.

  6. Открытый ключ для проверки сертификата.

  7. Секретный ключ для проверки сертификата.

Порядок выполнения лабораторной работы

  1. Переписать на диск D: (или другой рабочий диск ) содержимое каталога Cr_sign.

  2. Создать на диске D: каталоги для

-хранения открытых ключей;

-хранения секретных ключей;

-хранения журнала.

Запишите в отчет имена этих разделов.

  1. Переписать или создать файлы, на диске D:, в специальный каталог, которые будут подписываться. Записать имена файлов в отчет.

  2. Установить возможность ведения журнала в открытом или зашифрованном виде.

  3. Сгенерировать несколько ключей для подписи.

  4. Подписать какой-нибудь файл одним из созданных ключей.

  5. Подписать группу файлов другим ключом.

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

  7. Поработать с командами меню “БД ключей”.

  8. Создать еще две базы данных. Первая должна содержать все открытые ключи. Вторая - секретные ключи. Записать содержимое баз данных в отчет.

  9. Удалить по одному ключу из этих БД. Отметить в отчете, какие ключи были удалены.

  10. Посмотреть содержимое журнала. Переписать в отчет первые пять записей из журнала.

  11. Сгенерировать ключи сертификационного центра и сертифицировать открытые ключи обычных пользователей. Записать имена ключей в отчет.

  12. Научитесь работать администратором СЦ.

  13. Передать преподавателю несколько подписанных файлов.

  14. Сконфигурировать программу для пользователей с разными полномочиями.

  15. Выступить в роли администратора программы и сформировать необходимые ключи и конфигурационные файлы для трех абонентов. Записать в отчет имена ключей и файлов.

  16. Отчет показать преподавателю.

Соседние файлы в папке дз_мп_45_2001