Хэш-функции. Защита целостности сообщений
Совместно с ЭЦП обычно применяются хэш-функции. Они служат для того, чтобы помимо аутентификации отправителя, обеспечиваемой ЭЦП, гарантировать, что сообщение не имеет искажений, и получатель получил именно то сообщение, которое подписал и отправил ему отправитель.
Хэш-функция — это процедура обработки сообщения, в результате действия которой формируется строка символов (дайджест сообщения) фиксированного размера. Малейшие изменения в тексте сообщения приводят к изменению дайджеста при обработке сообщения хэш-функцией. Таким образом, любые искажения, внесенные в текст сообщения, отразятся в дайджесте.
Алгоритм применения хэш-функции:
· перед отправлением сообщение обрабатывается при помощи хэш-функции. В результате получается его сжатый вариант (дайджест). Само сообщение при этом не изменяется и для передачи по каналам связи нуждается в шифровании описанными выше методами;
· полученный дайджест шифруется закрытым ключом отправителя (подписывается ЭЦП) и пересылается получателю вместе с сообщением;
· получатель расшифровывает дайджест сообщения открытым ключом отправителя;
· получатель обрабатывает сообщение той же хэш-функцией, что и отправитель и получает его дайджест. Если дайджест, присланный отправителем, и дайджест, полученный в результате обработки сообщения получателем, совпадают, значит, в сообщение не было внесено искажений.
Существует несколько широко применяемых хэш-функции: MD5, SHA-1 и др.
Центры сертификации
Сертификаты служат для подтверждения того факта, что данный открытый ключ принадлежит конкретному лицу и никому другому. Это необходимо для предотвращения попыток мошенничества. (Нотаризация)
Сертификаты выдаются специальными компаниями (Центрами Сертификации) и подписываются ЭЦП этих компаний. Любой желающий может ознакомиться с сертификатом, выданным Центром Сертификации, и убедиться, что данный открытый ключ принадлежит именно тому лицу, которое в нем указано.
Естественно, что компания, являющаяся Центром Сертификации, должна иметь высокий авторитет, поскольку пользователи должны ей доверять.
Для получения сертификата заинтересованному лицу необходимо обратиться в Центр Сертификации и предоставить информацию о себе. Центр Сертификации осуществит проверку этой информации и, в случае ее достоверности, выдаст сертификат. Это платная услуга. Каждый Центр Сертификации устанавливает свои цены. Как правило, сертификат выдается на год с возможностью продления после оплаты очередного взноса.
Лица, обладающие сертификатами, могут заключать между собой сделки через Интернет, подписывая документы ЭЦП и не опасаясь отказа друг друга от обязательств по сделке.
Наиболее известными Центрами Сертификации являются компании VeriSign (www.verisign.com) и Thawte (www.thawte.com).
Алгоритм цифровой электронной подписи
· Отправитель (автор) документа:
· генерирует случайное большое число (или произведение больших чисел) Х - секретный ключ для подписывания
· вычисляет открытое число У=f(X) с помощью однонаправленной процедуры f(X), т.е. такой процедуры, что по У нельзя определить Х. Это число отправитель может представить для проверки подлинности своей цифровой подписи
· вычисляет под сообщением М свою цифровую подпись - ЦП при помощи известной процедуры Sign:
· ЦП=Sign(X,M),
· «замешивающей» содержание сообщения М с секретным числом Х так что по ЦП невозможно восстановить Х или подобрать другое сообщение М1 с такой же ЦП
·
Получатель документа (или арбитр в случае возникновения спора) может по документу М, цифровой подписи ЦП и числу У (вычисленному из данного Х) с помощью известной процедуры notary(Y,M, ЦП) однозначно заключить, что данная цифровая подпись ЦП могла быть вычислена только из данного документа М и с помощью того секретного числа Х, из которого получено число У, т.е. делать юридическое заключение о подлинности и авторстве документа(Рис 5.2)