id: Гость   вход   регистрация
текущее время 03:20 25/04/2024
Автор темы: Гость, тема открыта 27/03/2011 07:34 Печать
Категории: софт, операционные системы
http://www.pgpru.com/Форум/Криптография/АлгоритмАутентификации
создать
просмотр
ссылки

Алгоритм аутентификации


Есть challenge-responce. Плюс – пофиг на MitM, минус – если аутентификация по паролю (узкое поле значений), то можно пассивно перехватить аутентификацию и ее брутать. Минус номер 2 – проверяется знание общего секрета, то есть если злоумышленник украдет базу с хэшами паролей, то он сможет аутентифицироваться хэшем без знания пароля, то есть придется менять все пароли, что не очень реально.


Есть SSL. Плюс – на брут пофиг, минус – уязвима к MitM.


Есть ли алгоритм, который сочетает оба преимущества – и безразличность к MitM (без предварительной передачи чего-либо по надежному каналу), и отсутствие недостатков challenge-responce?



 
На страницу: 1, 2 След.
Комментарии
— Гость (27/03/2011 10:12)   <#>
без предварительной передачи чего-либо по надежному каналу
Если между общающимися сторонами нет хотя бы аутентифицированного канала (не знаю, что вы понимаете под "надёжным"), то установить защищённое соединение невозможно. Если аутентифицированный канал есть (каждая из сторон уверена, что получает сообщения именно от нужного адресата), то дальше всё стандартно (хинт: асимметричная криптография).

если злоумышленник украдет базу с хэшами паролей, то он сможет аутентифицироваться хэшем без знания пароля
Там не всё так просто. Сервер обычно шлёт соль, а клиент должен конкатенировать её со своим паролем и выслать ему хэш. Т.о. каждый хэш шлётся лишь один раз. Чтобы сломать систему, надо восстановить пароль по хэшу, хранящемуся в базе данных, но тут всё упирается в стойкость самих паролей (сильные пароли не ломаются, а от слабых не спасёт ничего).

минус – уязвима к MitM
Почему узявима? Проверяйте отпечаток сертификата в браузере (при принятии его в категорию исключений, например, в firefox), отслеживайте смену сертификата (Certificate Patrol для firefox), и всё будет нормально (в рамках того, насколько вообще можно доверять аутентификацию браузеру; конечно, это не ssh и не gpg).
— SATtva (27/03/2011 18:01, исправлен 27/03/2011 18:02)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Минус номер 2 – проверяется знание общего секрета, то есть если злоумышленник украдет базу с хэшами паролей, то он сможет аутентифицироваться хэшем без знания пароля, то есть придется менять все пароли, что не очень реально.

Каким образом противник, получивший базу хэшей, сможет аутентифицироваться с помощью хэша, к которому в этой же базе нет хэшированного соответствия? Иными словами, в базе хранится S = H(P), который крадёт взломщик. Этот же S он передаёт в процессе аутентификации. Система вычисляет H(S) = H(H(P)), которому пытается найти соответствие в базе, не находит его и отказывает в доступе.


Если между общающимися сторонами нет хотя бы аутентифицированного канала (не знаю, что вы понимаете под "надёжным"), то установить защищённое соединение невозможно.

/Библиотека/Словарь/НадежныйКанал

— Гость (27/03/2011 18:41)   <#>

Просто.
Если в базе хранится хэш пароля hash2(pass), то передается hash1(client_nonce, server_nonce, hash2(pass)) и сравниваются результаты. Очевидно, что имея hash2(pass), можно аутентифицироваться на сервере, для этого нужно только поменять клиент так, чтобы можно было использовать хэш вместо пароля. Пример здесь. (Емае! 7 лет уже!). Так что пароль из хэша восстанавливать не обязательно. Единственные недостатки – надо модифицировать клиент и нельзя проверить пароль на других сервисах с другой схемой аутентификации, не расшифровав.

имелся в виду защищенный от подмены

Речь об абстрактных протоколах. Корневые сертификаты в браузере – это и есть защищенный от подмены канал.
— SATtva (27/03/2011 19:54)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Просто.
Если в базе хранится хэш пароля hash2(pass), то передается hash1(client_nonce, server_nonce, hash2(pass)) и сравниваются результаты. Очевидно, что имея hash2(pass), можно аутентифицироваться на сервере, для этого нужно только поменять клиент так, чтобы можно было использовать хэш вместо пароля.

Из исходного описания это не следует. Мы обсуждаем конкретную уязвимую реализацию? Хэширование пользовательского ввода должно выполняться на стороне сервера, а не клиентом. Если клиент передаёт H(R, H(P)), где R — некоторые случайные данные, в базе можно хранить H(H(P)), что устраняет возможность атаки при компрометации БД.
— Гость (27/03/2011 20:18)   <#>
Если клиент передаёт H(R, H§), где R — некоторые случайные данные, в базе можно хранить H(H§), что устраняет возможность атаки при компрометации БД.

Очень интересно, как получить из H(H§) H(R, H§)?
Хэширование пользовательского ввода должно выполняться на стороне сервера, а не клиентом.

И как передать пароль через challenge-responce? Ты точно ничего не путаешь?
— SATtva (27/03/2011 20:49)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Если в базе хранится хэш пароля hash2(pass), то передается hash1(client_nonce, server_nonce, hash2(pass)) и сравниваются результаты.

  1. Bob > Alice: Rs
  2. Alice > Bob: Rc, H(pwd), H(Rs, Rc, H(pwd))
  3. Bob (assert): Rs1 == Rs2 ; H(H(pwd)2) == H(H(pwd))DB
— Гость (27/03/2011 21:00)   <#>
То есть алиса передает H(pass) в плейнтексте, перехватив который, атакующий сможет выдать себя за алису? Оригинально!
— SATtva (27/03/2011 21:16)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Ах, надёжного канала-то у нас нет...
— Гость (28/03/2011 01:03)   <#>
Вернемся к теме...
— Гость (29/03/2011 06:01)   <#>
Что, криптографы перевелись?

Что можете сказать о SRP? Насколько я пока что понял, оффлайновый брут по перехваченому трафику проходит, единственное преимущество над challenge-responce – кража БД не дает возможности аутентифицироваться без подбора пароля.
— Гость (30/03/2011 20:10)   <#>
unknown, хоть ты что-то скажи.
— unknown (31/03/2011 09:33, исправлен 31/03/2011 09:45)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

ТС выдаёт два немного сомнительных утверждения, по крайней мере без дополнительных пояснений. Он их принимает в качестве правильных критериев для поиска некоего протокола. И что тут сказать?


Телепатия подсказывает, что возможно он имел ввиду что-то другое и хотел чего-то другого. SSL неуязвим и к бруту, и к MITM (при всей примитивности такой постановки вопроса) — если есть надёжный канал сверки отпечатков ключей. Протоколы с паролями нужны только для удобства пользователей, которые не хотят хранить ключи и возиться с ними. Создавать такие протоколы и обосновывать их стойкость несколько сложнее.


— Гость (31/03/2011 12:12)   <#>
и к MITM (при всей примитивности такой постановки вопроса) — если есть надёжный канал сверки отпечатков ключей.

По вашей терминологии кстати аутентифицированый :)

А что сомнительного и какие пояснения нужны? Что посказала телепатия?

Парольная аутентификация – это условия задачи.
— unknown (31/03/2011 12:41, исправлен 31/03/2011 13:15)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
По вашей терминологии кстати аутентифицированый :)

Кстати да, так правильнее :)

Парольная аутентификация – это условия задачи.

С этого и следовало бы начать. Что всё остальное не подходит не потому, что плохо, а потому что требуются именно

удобства пользователей, которые не хотят хранить ключи и возиться с ними.

Что для этогог нужен именно пароль и никак иначе. Что только телепатией и можно понять. Просто странно сравнили как-то.


Первоначальное установление доверия (наобходимое для последующего ухода от MITM) выходит за рамки формальной криптографической задачи.

Есть ли алгоритм, который сочетает оба преимущества – и безразличность к MitM (без предварительной передачи чего-либо по надежному каналу), и отсутствие недостатков challenge-responce?

Нет. Кое-какие практические уловки есть — "амплификация" доверия через серию "дружеских" вопросов (известные друзьям секреты, так частично сделано в OTR через протокол соцмиллионера). Другая практическая уловка — защита от "машины — но не человека — посредине" путём совместного быстрого разгадывания каптч (что позволяет установить канал, возможно свободный от массового применения MITM, но недоверяемый, т.к. непонятно с кем), приватные пересечения множеств (создание групп по интересам — но это теоретические наработки и далеко от вашего вопроса).

— Гость (31/03/2011 16:44)   <#>
Кое-какие практические уловки есть — "амплификация" доверия через серию "дружеских" вопросов (известные друзьям секреты, так частично сделано в OTR через протокол соцмиллионера). Другая практическая уловка — защита от "машины — но не человека — посредине" путём совместного быстрого разгадывания каптч
Если интересно, это обсуждалось в /comment35582 и /comment35589.

Первоначальное установление доверия (наобходимое для последующего ухода от MITM) выходит за рамки формальной криптографической задачи.
Я ему сразу написал:
Если между общающимися сторонами нет хотя бы аутентифицированного канала ..., то установить защищённое соединение невозможно.
Это и есть ответ. Видимо, ТС настолько ослеплён чувством собственного превосодства над жалкими людишками с этого форума, что даже не вдумывается в то, что ему отвечают.
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3