Электронная цифровая подпись и ее применение
Механизм электронной цифровой подписи должен обеспечить защиту от следующих угроз безопасности электронных документов, передаваемых по открытым компьютерным сетям или хранящихся на открытых носителях:
подготовка документа от имени другого субъекта («маскарад»);
отказ автора документа от факта его подготовки (ренегатство);
изменение получателем документа его содержания (подмена);
изменения содержания документа третьим лицом (активный перехват);
повторная передача по компьютерной сети ранее переданного документа (повтор).
Электронная цифровая подпись (ЭЦП) представляет собой относительно небольшой по объему блок данных, передаваемый (хранящийся) вместе (реже – отдельно) с подписываемым с ее помощью документом. Механизм ЭЦП состоит из двух процедур: получение (простановка) подписи с помощью секретного ключа автора документа и проверка ЭЦП при помощи открытого ключа автора документа.
Алгоритм получения ЭЦП под документом Р.
1. Вычисление хеш-значения Н(Р) для документа Р.
2. Шифрование Н(Р) с помощью секретного ключа автора документа ska – Eska(H(P)) (полученный шифротекст и будет являться ЭЦП).
Алгоритм проверки ЭЦП С под документом Р.
1. Вычисление хеш-значения Н(Р) для документа Р.
2. Расшифрование ЭЦП с помощью открытого ключа автора документа pka – Dpka(C) = Dpka(Eska(H(P)) = H(P).
3.Сравнение вычисленного и расшифрованного хеш-значения для документа Р.
Перед получением ЭЦП в подписываемый документ должны быть включены дополнительные сведения:
дата и время простановки подписи;
срок окончания действия секретного ключа данной подписи;
реквизиты (фамилия, имя, отчество подписывающего лица, его должность и название представляемой организации);
идентификатор секретного ключа (для возможности выбора лицом, проверяющим ЭЦП, нужного открытого ключа).
В системе ЭЦП подпись под электронным документом невозможно подделать без знания секретного ключа автора документа, поэтому компрометация секретного ключа недопустима.
Известны следующие системы ЭЦП:
RSA (на основе асимметричной криптосистемы RSA);
DSS (Dijital Signature Standard, стандарт США на основе асимметричной криптосистемы Эль-Гамаля);
ГОСТ Р 34.10-94 (российский стандарт ЭЦП на основе асимметричной криптосистемы Эль-Гамаля);
ГОСТ Р 34.10-2001 (российский стандарт ЭЦП, использующий асимметричную криптосистему на основе эллиптических кривых).
Алгоритмы получения и проверки ЭЦП в системе RSA не отличаются от алгоритмов шифрования и расшифрования в аналогичной криптосистеме, за исключением того, что получение ЭЦП производится с применением секретного ключа, а проверка ЭЦП – с применением открытого ключа x.
Алгоритмы получения и проверки ЭЦП в системе Эль-Гамаля отличаются от алгоритмов шифрования и расшифрования в аналогичной криптосистеме.
Алгоритм получения ЭЦП под документом Р.
1. Выбор случайного целого числа k(1<k<p-1 и НОД(k,p-1) = 1) (k – случайная составляющая ЭЦП, изменяющая подпись под вновь отправляемым по сети тем же самым документом).
2. С1 = ak{mod p}.
3. Определение С2 из сравнения Р =хС1+kC2{mod p-1} (C1 и C2 образуют ЭЦП для Р).
Проверка ЭЦП в системе Эль-Гамаля сводится к проверке сравнения yC1C1C2 {mod p} = aP {mod p}.
Действительно: yC1C1C2 {mod p} = axC1akC2{mod p} = axC1+kC2 {mod p} = aP {mod p-1} {mod p} = aP+m(p-1) {mod p} = aP(am)p-1 {mod p} = aP {mod p}1 (из малой теоремы Ферма).
Алгоритм получения ЭЦП под документом Р в системе на базе эллиптических кривых (целое число g выбирается из условия gG = 0).
1. Выбор случайного целого числа k (1<k<g) – случайной составляющей ЭЦП, изменяющей подпись под вновь отправляемым по сети тем же самым документом).
2. Вычисление с= kG.
3. r = xC {mod g} (xC – xкоордината точки с).
4. s = rx + kP {mod g}.
5. Если r ≠ 0 и s ≠ 0, то эти значения образуют ЭЦП, в противном случае выбирается другое k и пп. 2…4 повторяются.
Алгоритм проверки ЭЦП в системе на основе эллиптических кривых.
1. Вычисление V = P-1 {mod g}.
2. z1 = sV {mod g}; z2 = -rV {mod g}.
3. Вычисление c = z1G + z2y; R = xC {mod g}.
4. Проверка R=r.
Защищенность системы ЭЦП от угрозы аутентичности и целостности подписанных документов зависит не только от стойкости алгоритмов используемой асимметричной криптосистемы, но и от стойкости функции хеширования. На функции хеширования, используемые в системах ЭЦП, налагаются очевидные дополнительные условия:
чувствительность к любым изменениям в документе (вставкам, удалениям, перестановкам, заменам фрагментов и отдельных символов);
минимальность вероятности того, что хеш-значения двух разных документов, независимо от их длин, совпадут.
К наиболее известным функциям хеширования относятся:
MD2, MD4, MD5 (Message Digest) – получают хеш-значение длиной 128 бит и используются в системе ЭЦП RSA;
SHA (Secure Hash Algorithm) – получает хеш-значение длиной 160 бит и используется в системе ЭЦП DSS;
ГОСТ Р 34.11-94 – получает хеш-значение длиной 256 бит и используется в российских стандартах ЭЦП;
RIPEMD (Race Integrity Primitives Evaluation Message Digest) – получает хеш-значение длиной 128 или 160 бит (две модификации).
ЗАЩИТА ИНФОРМАЦИИ В ОС