Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Митряев лекции / ИБИС гр.445зс 2015 / КЗИ ИБИС гр.445зс. 2015 / КЗИ ИБИС Л.4. ЭЦП и ХФ. гр.444 (2015).docx
Скачиваний:
314
Добавлен:
25.03.2016
Размер:
366.05 Кб
Скачать

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

Существуют алгоритмы с открытыми ключами, которые можно

использовать для цифровых подписей. В некоторых алгоритмах - примером

является RSA - для шифрования может быть использован или открытый, или

закрытый ключ. Зашифруйте документ своим закрытым ключом, и вы

получите надежную цифровую подпись. В других случаях - примером

является DSA - для цифровых подписей используется отдельный алгоритм,

который невозможно использовать для шифрования. Эта идея впервые была

изобретена Диффи и Хеллманом и в дальнейшем была расширена и

углублена в других работах. Основной протокол прост:

(1) Отправитель шифрует документ своим закрытым ключом, таким образом, подписывая его.

(2) Отправитель посылает подписанный документ получателю.

(3) Получатель расшифровывает документ, используя открытый ключ

отправителя, таким образом проверяя подпись.

Такая подпись соответствует всем требованиям:

1. Эта подпись достоверна. Когда получатель расшифровывает

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

2. Эта подпись неподдельна. Только отправитель знает свой закрытый ключ.

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

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

документа подпись не сможет больше подтверждаться открытым ключом

отправителя.

5. От подписи невозможно отказаться.

Метки времени

На самом деле, при определенных условиях получатель может повторно использовать документ и подпись совместно.

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

время подписания документа добавляются к документу и подписываются

вместе со всем содержанием сообщения. Таким образом, использовать

документ повторно становится невозможно.

Подпись документа с помощью криптографии с открытыми ключами и однонаправленных хэш-функций

На практике алгоритмы с открытыми ключами часто недостаточно

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

(1) Отправитель получает значение однонаправленной хэш-функции для документа.

(2) Отправитель шифрует это значение своим закрытым ключом, таким

образом подписывая документ.

(3) Отправитель посылает получателю документ и подписанное значение хэш-функции.

(4) Получатель получает значение однонаправленной хэш-функции для

документа, присланного отправителем. Затем, используя алгоритм цифровой

подписи, он расшифровывает подписанное значение хэш-функции с

помощью открытого ключа отправителя. Если подписанное значение хэш-

функции совпадает с рассчитанным, подпись правильна.

Скорость заметно возрастает и, так как вероятность получить для двух

различных документов одинаковое 160-битное значение хэш-функции

cоставляет только один шанс из 2160, можно безопасно приравнять подпись

значения хэш-функции и подпись документа. Должна использоваться только

однонаправленная хэш-функция, иначе создать разные документы с одним и

тем же значением хэш-функции нетрудно, и подпись одного документа

приведет к ошибочной подписи сразу многих документов.

У протокола есть и другие выгоды. Во-первых, подпись может быть отделена от документа. Во-вторых, значительно уменьшаются требования к объему памяти получателя, в котором хранятся документы и подписи. Архивная система может использовать этот протокол для подтверждения существования документов, не храня их содержания. В центральной базе данных могут храниться лишь значения хэш-функции для файлов. Вовсе не нужно просматривать файлы, пользователи помещают свои значения хэш-функции в базу данных, а база данных хранит эти значения, помечая их временем получения документа. Если в будущем возникнет какое-нибудь разногласие по поводу автора и времени создания документа, база данных сможет разрешить его при помощи хранящегося в ней значения хэш-функции.