на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить



Схемы цифровой подписи

Шифрование с открытым ключом – вещь довольно удивительная, но цифровые подписи (сигнатуры) – еще более интересный и важный инструмент. Цифровые подписи обеспечивают тот же уровень аутентификации сообщений, что и MAC. А в современном бизнесе аутентификация намного важнее секретности,

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

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

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

Таким образом, большинство алгоритмов цифровых подписей на самом деле не зашифровывают подписанные сообщения. Идея та же, но математическое исполнение отличается. Для того чтобы создать подпись, Алиса производит некоторые вычисления исходя из сообщения и своего личного ключа. Эта подпись прикрепляется к сообщению. Боб проделывает другие вычисления, основываясь на сообщении, подписи и открытом ключе Алисы, чтобы проверить подпись. Ева, которая не знает личного ключа Алисы, может проверить подпись, но не может подделать сообщение или полноценную подпись.

В настоящее время применяются несколько алгоритмов цифровой подписи. Наиболее популярен RSA. Алгоритм цифровой подписи американского правительства (Digital Signature Algorithm, DSA), который применяют в стандарте цифровой подписи (Digital Signature Standard, DSS), также используется часто. Вы можете иногда встретить алгоритм Эль-Гамаль. А еще существуют алгоритмы подписей, в основе которых лежит криптография эллиптических кривых; они похожи на все прочие, но в некоторых ситуациях работают эффективнее.

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

Но она не сможет доказать это правосудию. В чем можно его убедить – это в том, что письмо пришло или от Боба, или от Алисы: как-никак оба они знали ключ MAC. При помощи MAC можно убедить получателя, что письмо поступило от отправителя, но MAC нельзя использовать для убеждения третьей стороны. Цифровые подписи позволяют уверить третью сторону, решающую проблему отказа от подписи: Алиса не может отправить Бобу письмо, а позднее утверждать, что никогда его не посылала.

К несчастью, действительность такова, что все, что касается подписей, является черным или белым, как это предполагает математика. Законы о цифровых подписях существуют в законодательстве многих стран, но меня беспокоит, что они не жизнеспособны. Цифровые подписи не являются аналогом автографа (собственноручной подписи). Я расскажу об этом подробнее в главе 15.


Шифрование открытым ключом | Секреты и ложь. Безопасность данных в цифровом мире | Генераторы случайных чисел