ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

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



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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.