logo search
Курс лекций по Информатике-2008-часть 2

Электронная цифровая подпись

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

В чем же состоит определение подлинности (аутентификация) информации? Прежде всего, в установке того факта, что полученная информация была передана подписавшим ее отправителем, и что она при этом не искажена.

Собственноручная подпись под документом с давних пор используется людьми в качестве доказательства, что человек, подписавший данный документ, ознакомился с ним и согласен с его содержанием. Почему же подпись заслужила такое доверие? Основные причины этого заключаются в следующем:

На самом деле, ни одно из перечисленных свойств подписи полностью, на все 100%, не выполняется. В нашем современном криминальном обществе подписи подделывают и копируют, от них отрекаются, а в уже подписанные документы вносят произвольные изменения. Однако люди вынуждены мириться с недостатками, присущими подписи, поскольку мошеннические трюки с подписями проделывать не просто и шансы быть пойманными у мошенников достаточно велики.

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

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

Эта подпись может иметь вполне читаемый, «буквенный» вид, но чаще она представлена в виде последовательности произвольных символов. Цифровая подпись может храниться вместе с документом, например, стоять в его начале или конце, либо в отдельном файле. Естественно, что в последнем случае при проверке подписи необходимо располагать как самим документом, так и файлом, содержащим подпись.

Электронная цифровая подпись – это средство, позволяющее на основе использования: криптографических методов определить авторство и подлинность документа.

При этом электронная цифровая подпись имеет следующие преимущества:

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

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

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

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

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

Таким образом, электронная цифровая подпись представляет собой некое достаточно длинное число, полученное в результате преобразования электронного образа защищаемого документа с использованием секретного (личного) ключа отправителя.

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

Криптостойкость цифровой подписи должна обеспечивать трудность ее подделки любым человеком, не имеющим доступа к секретному ключу. Причем трудоемкость подделки должна быть велика как для совершенно постороннего пользователя, так и для участника данной сети и не зависеть от числа подписанных документов, перехваченных злоумышленником. Кроме того, на нее не должно влиять то, что у злоумышленника есть возможность готовить документы «на подпись» отправителю. Причем должна обеспечиваться соответствующая защита от несанкционированного доступа к хранящемуся секретному «образцу подписи».

В России приняты стандарты: ГОСТ Р 34.10-94 «Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма» и ГОСТ Р 34.11-94 «Функция хэширования». В основу ГОСТ Р 34.10-94 положена однонаправленная функция, основанная на дискретном возведении в степень. Можно быть вполне уверенным, что алгоритм из стандарта ГОСТ Р 34.10-94 обладает высокой криптографической стойкостью. Пользователи Интернет используют в качестве основы своей системы ЭЦП известный пакет программ PGP, созданный под руководством Филиппа Зиммерманна. К основным преимуществам данного пакета, выделяющим его среди других аналогичных продуктов, относятся:

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