Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000261.doc
Скачиваний:
9
Добавлен:
30.04.2022
Размер:
1.3 Mб
Скачать

2.19. Подписи с открытым ключом

Главная проблема, связанная с применением шифрования с симметричным ключом для цифровых подписей, состоит в том, что все должны согласиться доверять АО. Кроме того, АО получает возможность читать все подписываемые им сообщения. Наиболее логичными кандидатами на управление сервером АО являются правительство, банки или нотариальные бюро. Однако эти организации вызывают доверие не у всех граждан. Таким образом, было бы гораздо лучше, если бы для получения подписи на электронном документе не требовалась авторитетная доверительная организация.

К счастью, здесь может помочь шифрование с открытым ключом. Предположим, что алгоритмы шифрования и дешифрации с открытым ключом, помимо обычного свойства D(E(P)) = Р, обладают свойством E(D(P)) = Р. Таким свойством, например, обладает алгоритм RSA, поэтому такое предположение не является голословным. В этом случае Алиса может послать Бобу подписанное открытое сообщение Р, переслав ему EB(DA(P)). Обратите внимание на то, что Алиса знает свой собственный (закрытый) ключ дешифрации DA, так же как и открытый ключ Боба Ев, так что сформировать такое сообщение ей по силам.

Получив это сообщение, Боб расшифровывает его как обычно, используя свой закрытый ключ DB и получая в результате DA(P). Он сохраняет этот зашифрованный текст в надежном месте, после чего расшифровывает его открытым ключом шифрования Алисы ЕА, получая открытый текст.

Чтобы понять, как работает цифровая подпись в данном случае, предположим, что Алиса впоследствии отрицает, что посылала Бобу сообщение Р. Когда дело доходит до суда, Боб предъявляет суду Р и DA(P). Судья легко может убедиться, что у Боба есть действительное сообщение, зашифрованное ключом DA, просто применив к нему ключ ЕА. Боб не знает закрытого ключа Алисы, следовательно, получить зашифрованное этим ключом сообщение он мог только от Алисы.

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

Проблема может возникнуть, если Боб, например, является биржевым брокером Алисы. Алиса заказывает Бобу купить некоторое количество акций. Сразу после этого цена акций резко падает. Чтобы отречься от своего сообщения, посланного Бобу, Алиса заявляет в полицию, что ее дом был обворован, а компьютер вместе с секретным ключом украден.

Другая проблема данной схемы цифровой подписи возникает в случае, если Алиса решит сменить свой ключ. Подобное действие абсолютно законно, более того, рекомендуется периодически менять ключ, чтобы гарантировать его высокую надежность. В этом случае, если дело дойдет до судебного разбирательства, судья попытается применить к подписи DA(P) текущий ключ ЕA и обнаружит, что в результате не получается сообщение Р. При этом Боб будет выглядеть довольно глупо.

В принципе, для цифровых подписей можно использовать любой алгоритм с открытым ключом. Алгоритм RSA, фактически, стал промышленным стандартом. Он применяется во многих программах, предназначенных для обеспечения безопасности. Однако в 1991 г. Национальный институт стандартов и технологий США NIST (National Institute of Standards and Technology) предложил использовать для нового стандарта цифровой подписи DSS (Digital Signature Standard) вариант алгоритма с открытым ключом Эль-Гамаля, основанный не на трудности разложения больших чисел на множители, а на сложности вычисления дискретных алгоритмов.

Стандарт DSS критиковали за то, что он:

  • слишком засекречен (протокол, использующий алгоритм Эль-Гамаля, разрабатывался Агентством национальной безопасности США);

  • слишком медленный (от 10 до 40 раз медленнее алгоритма RSA для проверки подписей);

  • слишком новый (алгоритм Эль-Гамаля еще не был достаточно тщательно проверен);

  • слишком ненадежен (фиксированный 512-разрядный ключ).

При последующей переработке четвертый пункт претензий стал спорным, так как было разрешено использовать ключи длиной до 1024 разрядов. Однако первые два пункта актуальны и по сей день.