Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.03.2008, 20:03
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 21  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Но для функций, принимающих вход переменной длины и возвращающих хэш постоянной длины (такие, как MD5), коллизии будут существовать всегда, поскольку любому значению хэш-функции может быть сопоставлено бесчисленное множество различных входов.
Поэтому я не думаю, что речь идет не об обратимости, а об поиске любого слова дающего коллизию.
Поэтому храня не только хеш чистого пароля, а еще и хеш суммы пароля с ключевым словом, мы получаем уже два хеша, и тут коллизия не поможет.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.03.2008, 20:17
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 22  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Ну, ну я так и знал, что разговор обязательно уйдёт в русло секьюрности... Я то просто обрисовал, как всё примерно работает, чтобы автор знал, куда копать и по каким ключевым словам искать.

А уж как хранить пароли - это оооочень большая тема. Ей не то, что отдельного топика - ей отдельного форума мало будет.

P.S.
Вариант md5(pass) + md5(pass+salt) тоже имеет недостаток.
Взлом первого хеша может упростить взлом второго (если мы нашли то самое слово). Кроме того, вероятно существует (но возможно пока неизвестен) алгоритм, который может восстанавливать сразу из двух хешей, благо это даёт нам больше информации.

P.P.S.
В IPB, если я не ошибаюсь, используется md5(md5(pass)+md5(salt))

Старый 22.03.2008, 20:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 23  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от WindWalker
Вариант md5(pass) + md5(pass+salt) тоже имеет недостаток.
Взлом первого хеша может упростить взлом второго (если мы нашли то самое слово).
А вы уверены, что два разных слова имеющих одинаковый хеш, при добавлении к ним другого слова, опять дадут одинаковый хеш?
Если нет, то это значит, что получив слово PASS2 из HASH1 (хотя оригинал был PASS1) и добавив к нему ключевой слово KEY (PASS2+KEY), вы получите HASH3. Хотя PASS1 + KEY дадут HASH2.
Где бы взять два слово дающих коллизию для проверки?
Цитата:
Кроме того, вероятно существует (но возможно пока неизвестен) алгоритм, который может восстанавливать сразу из двух хешей, благо это даёт нам больше информации
А кто сказал, что там имеено сумма с ключевым словом, а не что-то другое?
Код:
В IPB, если я не ошибаюсь, используется md5(md5(pass)+md5(salt))
А сделайете md5(md5(pass)+md5(pass)+md5(salt)) и работа у взломщиков пойдет впустую.

Вывод один. Храня пароль не как хеш первого порядка, вы ставите злоумышлинников в тупиковое положение, так как не зная алгорим сохранения, а они даже теоретически не смогут получить из хеша пароль.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 22.03.2008 в 20:32.
Старый 22.03.2008, 21:58
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 24  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Цитата:
Сообщение от iNils
А вы уверены, что два разных слова имеющих одинаковый хеш, при добавлении к ним другого слова, опять дадут одинаковый хеш?
Нет, не уверен. Но я говорю о другом.
Даже если брать банальный брутфорс - количество вариантов у нас уже резко сокращается, так как мы знаем часть исходной строки.
Я не знаю, как работает rainbow hack, но не исключено, что информация о некоторой части исходного слова ему может здорово помочь.

Цитата:
А сделайете md5(md5(pass)+md5(pass)+md5(salt)) и работа у взломщиков пойдет впустую.
Если они не знают, что мы используем именно такой алгоритм - то да.

А если знают, то автоматически они знают, что у нас 1-й символ равен 33-му, 2-й символ равен 34-му и т.д.
Кроме того, они знают, что у нас используются только цифры и буквы a, A, b, B, c, C, d, D, e, E, f, F.
Таким образом по крайний мере "верхний" md5 сковырнуть уже будет проще.

---------------
Хотел поискать в гугле примеры коллизий MD5. Два коротких слова, состоящих из ASCII символов не нашёл, зато нашёл исходник генератора коллизий:

http://www.stachliu.com/md5coll.c


Последний раз редактировалось WindWalker; 22.03.2008 в 22:19.
Старый 22.03.2008, 22:36
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 25  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от WindWalker
количество вариантов у нас уже резко сокращается, так как мы знаем часть исходной строки.
Ха-ха Да нет же.

Допустим
1.
Пароль был WORD1.
У вас есть HASH1 и HASH2.
Задача: выяснить значение WORD1

2.
md5 (WORD1) = HASH1
md5 (WORD2) = HASH1
И заметьте, WORD1 и WORD2 могут быть различной длины.

3. (если это действительно так, иначе смысла разговор не имеет на эту тему)
md5 (WORD1 + KEY) = HASH2
md5 (WORD2 + KEY) = HASH3

Однако из HASH1 можно получить только WORD2 (при условии, что идет узнавание именно через обратимость, у нас ведь не числа чтобы был корень из дискриминанта дающий два различных корня в квадратном уровнении, поэтому вы получаете только один вариант)

Теперь у вас есть WORD2 и HASH2. Только толку то? Посомтрите на пункт 3. Знание WORD2 ни как не приблизило вас к узнаванию WORD1, у вас из трех значение WORD1, KEY и HASH2, есть только HASH2.
А для вычисления KEY через WORD2, надо знать значения HASH3. Но его у вас нет, и будет (понято почему?)
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.03.2008, 22:54
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 26  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Ну я сразу же заметил:
Цитата:
Взлом первого хеша может упростить взлом второго (если мы нашли то самое слово).
Т.е. если мы нашли WORD1 - то это уже какое-то подспорье. Не могу точно судить, насколько серьёзное, но всё же неопределённости уже имеем меньше.

Если же нашли WORD2 - значит нам крупно неповезло. Действительно крупно, потому что вероятность такого события крайне мала.

Кстати, на plain-text, насколько я понял, ищут строки ограниченной длины и состоящие из ограниченного набора символов. Поэтому всегда или находят WORD1, или не находят ничего.
------------

Ну да ладно. Тема это вечная. Я сразу сказал, что md5(pass) - это примитивнейший вариант.
Действительно md5(pass+key) - это уже гораздо лучше.
А md5(md5(md5(pass)+md5(pass+key))+md5(key)) - это совсем здорово.
А если md5 заменить на sha1 - то совсем супер.

Вот только я так и не понял, чем шары хуже кукисов, если во всём, кроме способа хранения на компе юзера, принцип один и тот же


Последний раз редактировалось WindWalker; 22.03.2008 в 23:00.
Старый 22.03.2008, 23:02
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 27  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Так в том то и дело, что вероятность найти WORD1 ничтожна мала (на один хеш можно приходиться 1000, 10000, 100000 и тп коллизий ). Из WORD1...WORDN имеющих одинаковый хеш, можно получить только одно слово. А как узнать другие?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.