![]() |
|
|
![]()
|
|
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Появилась какая-то псевдопроблема с пересылкой информации для установления защищенного соединения. Вообщем, как мне наиболее безболезненно послать пароль по сети серверу. Не в чистом ведь виде ?
Есть ли альтернатива ssh/ssl ? тема частично родилась из http://forum.vingrad.ru/topic-132676/unrea...ml#entry1004118 |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
А чем тебе ssh/ssl не нравится?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
Отправляй не пароль, а какие-либо данные, шифрованные этим паролем.
Если расшифруются корректно - значит пароль верный. Или, как это сделато в SSL - устанавливаешь соединение с открытым ключём, отправляешь пароль, после чего переходишь на потоковое шифрование. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
||||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Snowy,
Была мысль шифровать какой-то кусок служебной информации на одном конце(сервере) хешем пароля пользователя. На другом конце препологалось отправлять шифрованный своим паролем тот же кусок информации(клиенте). В чём здесь подводные камни ? Добавлено @ 16:10 Упс. Если хеши паролей станут известны, а такое может быть, то и вся эта операция выше становиться бесмысленной. Защита раскручивается сверху вниз. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
А зачем свой пароль?
Пароль известен обоим. Не нужно его слать - просто использовать его для шифрования сессии и всё. |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Snowy,
нет серверу пароль неизвестен и так должно быть. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Продублирую пост, коли уж обсуждение продолжается в этой ветке, надеюсь ничего не нарушу
Очень хорошо эти моменты рассмотрены у Шнайера, в его прикладной криптографии.
Для этого случая может быть использована криптография с открытыми ключами, в частности ассиметричный алгоритм шифрования RSA. Предварительно ты должен согласовать передачу публичного ключа одной стороне, которая будет передавать пароль на сервер. Далее следует такая схема: 1. Перед передачей пароля он шифруется публичным ключом пользователя. 2. Зашифрованный текст передаётся на сервер. 3. Предпринимается попытка расшифровать пароль приватным ключом. 4. Берётся хеш от пароля и сравнивается с хешем из базы. Если пароль будет перехвачен на 2 стадии, то злоумышленник никак не сможет расшифровать данные не зная приватного ключа(а он известен только тебе). Если он попытается подменить данные, то 4 пункт не будет успешно выполнен. Такая схема обеспечивает довольно надёжную защиту. Но частично алгоритм уязвим, если злоумышленнику известен один из ключей, поэтому можно использовать ещё цифровую подпись, но это уже другая история Кстати, в качестве хеш-функции используй SHA. MD5 уже признан ненадёжным алгоритмом и существуют успешные атаки. Это сообщение отредактировал(а) W4FhLF - 19.1.2007, 16:28 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
Желательно также посолить.
Причём соль не должна повторяться. Например солить миллисекундами. Сервер должен запоминать некоторое кол-во предыдущих солей, чтобы исключить возможность записи/воспроизведения сеанса. Добавлено @ 16:16 Но известен хэш. Используй его в качестве ключа. |
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Это большое недоразумение в общем случае (как я уже выше описал). Один человек нашёл один способ чтото сломать и все уже кричат "ненадёжно" нез тоог, чтобы посмотреть КАК работает алгоритм "ломания". Пару простых проверок сделают мд5 хэш "достаточно надёжным для хранения паролей. Для подписи в общем виде, действительно мд5 не надёжный, так как длина подписанного документа не ограничена. Но SHA к сожалению тоже не панацея и её ломали. На данный момент насколько я знаю не существует 100% защиты. Поэтому приходится помогать себе самому. Например сравнивая не только хэш, но и длину подписанного сообщения.
Хэшь может быть известен нападающему, так как он хранится в базе на сервере и может быть украден. Ты читал по ссылке про Диффи-Хельман? Не хочатеся тратить много времени на описание того, как работает ssh (и почему ты его не берёшь, ты так и не сказал. Ведь достаточно пару либ подлючить и вуаля!), но видимо придётся... Дано: Сервер А Клиент Б
Можешь имплементить это сам, но я бы либу заюзал (в принципе там немного, но вот найти большие простые числа и работать сними самому - лишние заморочки) А лучший алгоритм ты вряд ли придумаешь. Над этим большие умы работали и чуть нобеля не получили! |
||||
|
|||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Да ясное дело, что криптоаналитиков, которые могут подвергнуть хеш-функцию анализу довольно мало. Но то, что MD5 признан не устойчивым - это официальная информация, которая опубликовывалась уже больше года назад, источников не припомню, но легко можно найти. Точно так же есть факты подтверждающие наличие коллизий и заявление это было сделано не кем-то там-то, а процессором Китайского института, правда описания нет(оно и понятно, кто такую бомбу выложить захочет). Шнайер кстати в своей книге тоже сказал, что относится настороженно к этой хеш-функции. Дело-то ещё в том, что md5 очень распространён, это делает его использование более уязвимым. А когда это SHA ломали? Об успешных атаках на этот алгоритм нигде даже не упоминалось. Я надеюсь, простой перебор ты не считаей атакой на алгоритм. SHA является частью стандарта DSA, а этот алгоритм используется в военных ведомствах США, поэтому если кто-то из твоих знакомых успешно взломал SHA, то пусть заляжет на дно -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| sergejzr |
|
||||||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Если есть заимплементованный алгоритм, это может сделать любой. Думаешь, почему переполоха не случилось, когда о неустойчивости узнали? Потому что она именно в общем случае, а для частных с ней можно бороться.
Лучше надо информироваться А вот прямая ссылка на исходник
Ёлки, я конечно понимаю, что всё подряд человек прочитать не может, но если я упомянул об этом, можно ведь хотя бы гугль попробовать напрячь http://www.schneier.com/blog/archives/2005...ha1_broken.html http://ru.wikipedia.org/wiki/SHA-1 Ну и об оставшихся системах хеширования:
И никто на дне лежит, потому что этот "взлом" не даст практически ничего по вышеописанным причинам. |
||||||||
|
|||||||||
| W4FhLF |
|
||||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Да это описание и исходник мне известны, уже давно, я же говорил, что это было заявление китайского криптоаналитика. Ещё один камень в сторону MD5, кстати
Зря ты меня в гугл отправляешь, то, что ты показал не является взломом алгоритма как таковым. Отрицать то, что SHA более надёжнее MD5 глупо, это же очевидно, хотя бы исходя из реализации и длины хеша. Да причём здесь это, дело совсем в других факторах. Фундаментальные знания в этой области, определённые вычислительные мощности, материальные возможности и наличие времени.
Переполоха не случилось потому, что данные были довольно косвенные. Очевидно, что использование MD5 в некоторой схеме в частном случае делает её надёжнее, я этого нигде не отрицал, я лишь утверждаю, что SHA является более стойкой хеш-функцией и посоветовал её, ты на меня накинулся и вцепился зубами в этот md5 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
||||
|
|||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
sergejzr,
А что если просто составить словарь из простых чисел ? Мегабайт 100 могу в ОЗУ под них выделить... Добавлено @ 19:26 Я не могу найти "простую" либу, использующую данный алгоритм. Может подскажешь другие реализации кроме ssh ? Добавлено @ 19:28 просто мне бы крайне не хотелось связываться с GPL, а тем более частными лицензиями. |
|||
|
||||
| sergejzr |
|
||||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Так же как и коллизия взломом по сути не является. Какая разница, если оба метода сами по себе никуда не годятся? Притом, что защита не только в алгоритме, но и подходе программиста к вопросу. На алг надейся, а сам не плошай, тогда и коллизии не страшны.
Извиняюсь, если это действительно выглядело так
А как раз я игрался с ней. пожалуйста, можешь попробовать. (только плз не распространяйте прогу направо и на лево). пасс: molokoslo Добавлено @ 19:33
возможно ты не понимаешь, о каких размерах чиесл здесь идёт речь. простого int будет маловато, а с бОльшими числами очень тяжело работать. http://www.openssl.org/ Самый стандарт сейчас. Насчёт лицензий - не знаю, насколько они тебя ограничат. Присоединённый файл ( Кол-во скачиваний: 10 )
md5coll.zip 11,69 Kb |
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |