[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: чем плоха "подпись" с помощью хэш-функции?



Fri, 22 Jun 2007 10:49:58 +0400, Ed <spied@yandex.ru>:

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

> чем плохо поступить так - заранее сгенерировать ключ (просто 
> последовательность байт), далее приписываем этот ключ к сообщению и 
> генерируем для пары сообщение+ключ хэш (тот же sha1). передаем сообщение 
> + хэш - зная ключ мы легко можем проверить подлинность сообщения.


Как я понимаю, у Вас есть надёжный способ передать секретный ключ
получателю и обеспечить его секретность.

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

Как и в Вашем предложении, использовать такую систему для подтверждения
авторства ("цифровой подписи") -- невозможно, так как ключ подписи
известен как минимум двум сторонам, и подписывать могут обе.

Отвечу на вопрос, почему плохо поступить так, как предлагаете Вы:

1) функции цифровой подписи такая система не выполняет, см. выше;

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

3) «самодельные» реализации даже известных и проверенных алгоритмов
более подвержены ошибкам и уязвимостям, так как никто не будет
проверять, насколько правильно и осмотрительно вы реализовали алгоритм.

4) зачем изобретать велосипед? выберите любую уже проверенную систему
цифровой подписи, широко используемую библиотеку с её реализацией и
пользуйтесь на здоровье.



Reply to: