Для выполнения данного положения в распоряжении банка должны быть средства идентификации и аутентификации, позволяющие однозначно отделять хакерские «поручения» от волеизъявления клиентов, а также надежные средства ЭП. Причем средство ЭП вполне может быть не клиентским, а банковским (с точки зрения размещения). Юридическую значимость имеет волеизъявление клиента, а не его подпись. Подпись может подтверждать волеизъявление, но для этого должны быть обеспечены соответствующие условия – например, собственноручность подписи. Если подпись клиента ставит хакер – является ли это отражением волеизъявления клиента? Думается, что нет.
Таким образом, нужно рассмотреть требования к идентификации и требования к ЭП.
Электронная подпись – это всегда набор данных, основанных на преобразовании исходного сообщения. Отдавая себе отчет в том, что каждая формула уменьшает аудиторию читателей книги в два раза, а распоряжаться таким образом аудиторией коллективной монографии как минимум легкомысленно, постараемся минимизировать обозначения разного рода, ограничившись только теми, что призваны сократить текст, а не ввести в него какую-либо математику. Ознакомиться со схемой ЭП в общем виде можно, например, в [85, с. 211–217].
Анализируя ту или иную схему ЭП, обычно ставят вопрос так: «Можно ли быстро подобрать два различных (осмысленных) сообщения, которые будут иметь одинаковые ЭП?». Ответ здесь обычно отрицательный: трудно это сделать. Если используется хорошая хэш-функция, для которой не найден эффективный механизм поиска коллизий, такая атака практически всегда обречена на провал. Михаил Грунтович [116] поставил вопрос по-другому: «Можно ли, имея два сообщения, подобрать ключи подписи так, чтобы подписи совпадали?». И оказалось, что сделать это чрезвычайно просто! А вот последствия могут быть очень непростыми.
Вот пример действий злоумышленника:
1) подготовить две платежки:
– на 10 млн руб.;
– на 3 руб.;
2) выбрать ключ подписи и рассчитать второй ключ подписи так, чтобы ЭП платежек совпали;
3) зарегистрировать ключи проверки подписи, соответствующие ключам подписи;
4) отправить в банк требование на 10 млн руб. с подписью на первом ключе;
5) дождаться выполнения банком поручения;
6) предъявить банку претензию, состоящую в том, что клиент якобы посылал требование о переводе 3 руб. (на втором ключе), а не 10 млн руб. (на первом ключе), а то, что кто-то подобрал текст сообщения, не изменяющий ЭП, – дело не его. Пусть платит банк, удостоверяющий центр, страховая компания – кто угодно, только верните деньги! И главное, что придется вернуть!
В чем же источник успеха такой атаки? Дело в том, что закон допускает множественность ЭП для одного лица. Именно поэтому злоумышленник получает реальную возможность не подбирать сообщение, что невероятно трудно, а подобрать и зарегистрировать (легально) ключ. Более того, не исключен вариант сговора двух лиц: ЭП оказывается уязвимой, если ключ подписи известен хоть кому-нибудь! А если сговорятся два центра по сертификации подписей?
Рассмотрим еще раз схему атаки на ЭП, обнаруженную М. Грунтовичем. Предварительно злоумышленник регистрирует два активных ключа проверки подписи
В [85, с. 211–217] конкретные условия реализации указанной атаки рассмотрены на примере подписи по схеме Эль-Гамаля. Вера в стойкость схемы Эль-Гамаля основана на (гипотетической) сложности задачи дискретного логарифмирования, но здесь атаке подвергается вовсе не задача дискретной математики. Для расчета
Тем не менее, не все так страшно. Дело в том, что полученные результаты никак не дискредитируют собственно криптостойкость ЭП. Они показывают возможную уязвимость при неправильном применении механизмов ЭП.
Решения могут быть разными. Так, можно с помощью сертификатов надежно связывать уникальный идентификатор ключа с открытым ключом. Но, во-первых, это требует введения дисциплины контроля идентификаторов ключа на уникальность, а во-вторых, закон не запрещает удостоверяющему центру (его должностному лицу) иметь несколько ключей подписи!
Существует и радикальный способ борьбы с атаками такого рода – для этого всего лишь необходимо иметь устройство, в котором:
1) генерируется секретный ключ;