Что означает корректность ЭЦП?

Как известно, алгоритм проверки ЭЦП принимает на вход документ X, его подпись S и открытый ключ Q подписавшейся стороны. Алгоритм состоит в проверке определенного равенства, в котором задействованы X, S, Q и долговременные параметры алгоритма.

Например, в схеме ЭЦП Шнорра долговременными параметрами являются алгебраическая группа (аддитивная) и некоторый ее элемент G. Открытый ключ Q определяется как d-кратное G, где d -- это личный ключ. Проверочное равенство в схеме Шнорра имеет вид:

φ(X, S0Q + S1G) = S0

где S0, S1 – целые числа – части подписи S; φ – функция хэширования. Элементы G и φ выбираются так, что противнику, который не знает d, вычислительно трудно решить проверочное уравнение относительно S0, S1 при заданном X.

Алгоритм проверки ЭЦП возвращает ответ ДА, если проверочное равенство выполняется, и НЕТ в противном случае. Как интерпретировать ответ алгоритма? На примере схемы Шнорра, ДА интуитивно означает, что подпись действительно создана владельцем личного ключа и подписан действительно документ X.

Подобную интерпретацию ответа ДА можно встретить в некоторых стандартах ЭЦП:

При совпадении значений W и U принимается решение о том, что ЭЦП была создана с помощью личного ключа подписи х, связанного с открытым ключом проверки подписи у, а также ЭЦП и последовательность М не были изменены с момента их создания (отечественный стандарт СТБ 1176.2-99).

При совпадении значений r и u получатель принимает решение о том, что полученное сообщение подписано данным отправителем и в процессе передачи не нарушена целостность сообщения (российский стандарт ГОСТ Р 34.10-94).

If v = r', then the signature is verified and the verifier can have high confidence that the received message was sent by the party holding the secret key x corresponding to y (американский стандарт FIPS 186-1).

Верна ли данная интерпретация? НЕТ. Дело в том, что проверочное уравнение можно решать не только относительно S, но и относительно Q. Оказывается, что для многих схем ЭЦП противник может изменить одновременно S и Q, не нарушив проверочное равенство.

Например, в случае схемы Шнорра противник выбирает целое с, строит Q* = Q + cG и заменяет S = (S0, S1) на S* = (S0, S1 – cS0). Тройка (X, S*, Q*), также как и (X, S, Q), удовлетворяет проверочному равенству.

Угроза от атак по одновременной замене S и Q не очень ясна. Например, для практической реализации атаки на схему Шнорра противнику требуется заверить открытый ключ Q* в удостоверяющем центре. В правильно спроектированной системе управления открытыми ключами заверение предполагает проверку знания противником личного ключа, соответствующего Q*. Но этот ключ противнику неизвестен.

Тем не менее, существование атак, требует, по крайней мере, корректировки интерпретации ответа ДА алгоритма проверки ЭЦП. В новых криптографических стандартах РБ, РФ и США ответ трактуется более осторожно:

В ГОСТ Р 34.10-2001 (РФ) подпись просто «принимается».

В СТБ П 34.101.45-2011 (РБ) подпись объявляется корректной. В вводной части стандарта объясняется, что «при правильном управлении ключами корректность проверяемой подписи означает, что она была выработана владельцем личного ключа и после этого сообщение не изменялось».

В FIPS 186-3 (США) подпись объявляется корректной (verified), но не действительной (valid). Корректная подпись признается действительной только при выполнении определенных гарантий (assurances), связанных с управлением ключами.

Интересно, что известны атаки на распространенные схемы ЭЦП, в которых проверочное уравнение решается относительно Q и долговременных параметров при фиксированных X и S. Но это уже другая история.

Новости
07.03.2024
План семинара весна 2024
12.02.2024
Единый день голосования
24.10.2023
II Международная научная конференция
26.05.2023
XХVIII научно-практическая конференция
28.04.2023
TIBO 2023
02.01.2023
Программный комплекс ЭАДП
27.12.2022
С Новым годом!
21.11.2022
Программный инструментарий
13.09.2022
XIII Международная научная конференция