ЭЛЕКТРОННАЯ ЦИФРОВАЯ ПОДПИСЬ

Комбинированное шифрование

Защита открытых ключей от подмены

Предположим, на компьютере абонента j хранится открытый ключ абонента i Kpi. Злоумышленник n имеет доступ к открытым ключам, хранящимся у абонента j. Он генерирует свою пару ключей Ksn и Kpn и подменяет у абонента j открытый ключ абонента i Kpi на свой открытый ключ Kpn. Для того, чтобы отправить некую информацию абоненту i абонент j зашифровывает ее на ключе Kpn, думая, что это ключ Kpi. Соответственно, это сообщение не сможет прочитать абонент i, но зато легко расшифрует и прочитает абонент n.

От подмены открытых ключей может спасти процедура сертификации ключей.

Комбинированное применение симметричного и асимметричного шифрования позволяет устранить основные недостатки, присущие обоим методам. Рассмотрим механизм обмена зашифрованными сообщениями:

1. Абонент j перед передачей сообщения M абоненту i генерирует случайный ключ Ksimm, который будет использован в алгоритме симметричного шифрования для шифрования конкретного сообщения или цепочки сообщений.

2. Абонент j зашифровывает асимметричным алгоритмом ключ Ksimm на ключе Kpi и отправляет его абоненту i.

3. Абонент j зашифровывает симметричным алгоритмом сообщение на ключе Ksimm и отправляет его абоненту i.

4. Абонент i расшифровывает асимметричным алгоритмом ключ Ksimm с помощью своего секретного ключа Ksi.

5. Абонент i расшифровывает симметричным алгоритмом сообщение M с помощью полученного ключа Ksimm.

Недостатки алгоритмов компенсируются следующим образом:

- проблема распространения ключей симметричного алгоритма устраняется тем, что ключ Ksimm, на котором шифруются собственно сообщения, передается по открытым каналам связи в зашифрованном виде; для шифрования ключа Ksimm используется асимметричный алгоритм.

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

В результате получаем быстрое шифрование в сочетании с удобным обменом ключами.

Помимо защиты от несанкционированной модификации электронная цифровая подпись (ЭЦП) позволяет также установить авторство подписанного электронного документа.

Процесс использования ЭЦП состоит из подготовительного этапа и собственно использования.

I. Подготовительный этап:

1. Абонент i генерирует пару ключей: секретный ключ Ksi и открытый ключ Kpi. Открытый ключ вычисляется из парного ему секретного ключа.

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

II. Использование:

3. Абонент i подписывает сообщение с помощью своего секретного ключа Ksi.

4. Остальные абоненты могут проверить подпись сообщения с помощью открытого ключа абонента i Kpi.

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

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

Аналогично асимметричному шифрованию, необходимо обеспечить невозможность подмены открытого ключа ЭЦП.

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

- прочитать из файла, в котором содержится Kpi идентификационную информацию об абоненте i;

- сгенерировать собственную пару ключей Ksn и Kpn, записав в них идентификационную информацию абонента i;

- подменить хранящийся у абонента j ключ Kpi своим ключом Kpn, но содержащим идентификационную информацию абонента i.

После этого злоумышленник n может посылать документы абоненту j, подписанные своим ключом Ksn.

При проверке подписи этих документов абонент j получит результат, что документы подписаны абонентом i и их ЭЦП верна, т.е. они не были модифицированы кем-либо. До выяснения отношений непосредственно с абонентом i у абонента j может не появиться сомнений в полученном результате.

Открытые ключи ЭЦП можно защитить от подмены с помощью соответствующих сертификатов. Сегодня существует большое количество стандартов ЭЦП, например, отечественный стандарт ГОСТ 34.10-94.