Maxim Dounin
January 24, 2014 06:52AM
Hello!

On Fri, Jan 24, 2014 at 05:19:23PM +0700, Pavel V. wrote:

> Здравствуйте, Михаил.
>
> >>> Полным перебором это ломается. Просто процессоры стали сильно быстрые
> >>> и многоядерные. SHA1 считается слишком быстро.
>
> >> Почему тогда нет проблемы если использовать HMAC-SHA1 ?
>
> >> Из-за того, что считается sha1 от вычисленного в sha1,
> >> что дает "сброс внутреннего состояния" хеширующей функции?
>
> > Нет. Вместо конкатенации данных и секретного ключа HMAC размазывает и
> > перемешивает биты ключа по всему хэшу.
>
> > Двойной sha1 видимо так же ломается. Иначе применяли бы его, а не
> > изобретали HMAC.
>
> Я смотрел, как работает HMAC, и конечно же не имел ввиду чистую sha1(sha1(key||message)).
>
> Фактически HMAC-SHA1 это sha1(key_pad1 || sha1 (key_pad2 || message)) что не сильно далеко ушло
> от sha1(sha1(key||message)). В вычислениях HMAC key_pad1 и key_pad2 это сугубо статические значения,
> зависящие от ключа.
>
> Не совсем понятно, как происходит это размазывание и почему нельзя выбрать два _произвольных_
> key_pad1 и key_pad2. Фактически блочный XOR ключа (приведенного до нужной длинны) на значения
> $36 и $5C дает произвольные значения, разве нет?
>
> В общем, тема интересная, читать можно много, были бы где "наглядные объяснения" )
> А может оно и лучше, что "наглядных объяснений" не так много, а то переломали бы половину интернета.

Наиболее наглядное объяснение про собственные MAC'и - это length
extension attack на конструкции вида hash(secret || message) (aka
"secret prefix").

http://en.wikipedia.org/wiki/Length_extension_attack

Проблема, IMHO, не в том, что sha1(sha1(key||message)) - ломается
(AFAIK, иначе как грубой силой - не ломается), проблема - в том,
что когда люди изобретают на коленке - они зачастую ходят по давно
известным и элементарным граблям.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Авторизация

oklas January 20, 2014 01:48PM

Re: Авторизация

Михаил Монашёв January 20, 2014 03:42PM

Re: Авторизация

Anton Yuzhaninov January 20, 2014 03:56PM

Re: Авторизация

Daniel Podolsky January 20, 2014 04:52PM

Re: Авторизация

oklas January 21, 2014 04:53AM

Re: Авторизация

Daniel Podolsky January 21, 2014 05:30AM

Re: Авторизация

oklas January 21, 2014 05:56AM

Re[2]: Авторизация

Михаил Монашёв January 21, 2014 12:52PM

Re[2]: Авторизация

Михаил Монашёв January 22, 2014 03:42AM

Re: Re[2]: Авторизация

Daniel Podolsky January 22, 2014 04:06AM

Re[4]: Авторизация

Михаил Монашёв January 22, 2014 04:22AM

Re: Re[4]: Авторизация

Daniel Podolsky January 22, 2014 04:32AM

Re[6]: Авторизация

Михаил Монашёв January 22, 2014 04:40AM

Re: Re[6]: Авторизация

Daniel Podolsky January 22, 2014 08:26AM

Re: Авторизация

Pavel V. January 23, 2014 03:22AM

Re[2]: Авторизация

Михаил Монашёв January 23, 2014 03:36AM

Re: Авторизация

Pavel V. January 23, 2014 05:30AM

Re: Авторизация

Daniel Podolsky January 23, 2014 01:42PM

Re: Авторизация

Pavel V. January 24, 2014 03:10AM

Re[2]: Авторизация

Михаил Монашёв January 24, 2014 03:38AM

Re: Авторизация

Pavel V. January 24, 2014 05:20AM

Re: Авторизация

Maxim Dounin January 24, 2014 06:52AM

Re[2]: Авторизация

Михаил Монашёв January 24, 2014 07:50AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 242
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready