Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Защита информации


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Mike27
Статус: Студент
Рейтинг: 250
∙ повысить рейтинг >>
Moryarty
Статус: 10-й класс
Рейтинг: 165
∙ повысить рейтинг >>
Сергей Луконин
Статус: 7-й класс
Рейтинг: 121
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Защита информации / Защита информации

Выпуск № 432
от 07.11.2008, 17:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 561, Экспертов: 47
В номере:Вопросов: 1, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 149314: Добрый день, Ув. Эксперты! Я делаю сетевой чат на Delphi (состоит из серверной и клиентской частей). Разговор в чате должны вести только зарегистрированные пользователи, а следовательно нужно сделать проверку логина/пароля. Вот собственно вопр...


Вопрос № 149.314
Добрый день, Ув. Эксперты!
Я делаю сетевой чат на Delphi (состоит из серверной и клиентской частей). Разговор в чате должны вести только зарегистрированные пользователи, а следовательно нужно сделать проверку логина/пароля.
Вот собственно вопрос - Каким образом мне передавать (шифровать, или что то подобное) пароль при передаче от клиента к серверу, чтобы хакер, проснифаф трафик от клиента не смог в последствии воспользоваться этой информацией для входа в чат!
Если сможете - помогите, посоветуйте...
С уважением - Сычёв Павел
Отправлен: 02.11.2008, 17:00
Вопрос задал: Сычёв Павел Алексеевич (статус: 3-й класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 11)

Отвечает: MARTALEX
Здравствуйте, Сычёв Павел Алексеевич!
Целесообразно при вводе пароля на клиенте выщитывать хэш. Это может быть и MD5 и SHA и ГОСТ 34.11. В интернети полно описания этих гостов, да и уже сама реализация есть. Потом этот хэш должен передоваться серверу, где будет, как я понимаю база данных клиентов и соответствующие им хэш-функции. Далее хэш сравнивается и если хэш равен эталонному, то всё ок, а если нет то ошибка. Категорически рекомендую не использовать шифрование паролей, так как необходимо будет сначала шифровать, передавать ключи, расшифровывать и сравнивать. Гораздо безопаснее использовать сравнение хэшей. Да и если злоумышленник перехватит значение хэш-функции, то обратной операции чтобы най ти пароль по хэшу нет. (Хотя можно попробывать по таблице всех хэшей найти). Ещё рекомендую к пароля добовлять какую- нибуть информацию. например логин или ещё чтото и затем вычислять хэш.
Успехов.
Ответ отправил: MARTALEX (статус: 4-й класс)
Ответ отправлен: 02.11.2008, 18:11

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149314 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 4
    Комментарий оценки:
    Я всегда таким образом и поступал, но ведь если хакер перехватит хэш, то послав такой-же пакет он всегда сможет залогиниться в чате - а это не допустимо!!!


    Отвечает: µalife
    Здравствуйте, Сычёв Павел Алексеевич!
    Можно для этой цели использовать хэширование.
    © Цитата: ru.wikipedia.org
    Хеширование (иногда хэширование, англ. hashing) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины. В общем случае однозначного соответствия между исходными данными и хеш-кодом нет. Поэтому существует множество массивов данных, дающих одинаковые хеш-коды - так называемые коллизии. Вероятность возникновения коллизий играет немаловажную роль в оценке «качества» хеш-функций...
    В большинстве случаев парольные фразы не хранятся на целевых объектах, хранятся лишь их хеш-значения. Хранить парольные фразы нецелесообразно, так к ак в случае несанкционированного доступа к файлу с фразами злоумышленник узнает все парольные фразы и сразу сможет ими воспользоваться, а при хранении хеш-значений он узнает лишь хеш-значения, которые не обратимы в исходные данные, в данном случае в парольную фразу. В ходе процедуры аутентификации вычисляется хеш-значение введённой парольной фразы, и сравнивается с сохранённым.

    К сожалению если пересылать хэш пароля от клиента на сервер, то злоумышленник может узнать сам хэш и сможет общаться от чужого имени. Пользы никакой. Но ...
    © Цитата:
    Salt (соль) – это строка из случайных символов, сохраняется либо вместе с самим хэшем либо отдельно от хэша

    Значит нужно использовать salt. Примерно такой алгоритм работы:
    1. Сервер (после запроса пользователя) посылает хэш пароля, а потом комбинацию salt (всегда разный набор символов).
    Пусть пароль - 12345 (1) (примечание: сам пароль на сервере не хранится, только хэш), а salt сгенерировался - 12ad2e7c (2)
    Тогда отправляется 827ccb0eea8a706c4c34a16891f84e7b (3) и 12ad2e7c (2)
    2. Клиент проверяет пароль и хэш, после генериует новый хэш из набора символов salt+пароль и отправляет его серверу.
    Пусть веденный пароль - 123456. Получаемый хэш - e10adc3949ba59abbe56e057f20f883e (4). Сравниваются наборы символов (3) и (4). Они не совпадают. Пользователю выдается ошибка. Пользователь снова вводит пароль, но уже 12345. Проверка проходит успешно
    Теперь хэшируется набор символов (2) и (1) - 12ad2e7c123456 (5). Получаем хэш e302c4d7006d06cabae6202a51393814 (6). Все, отправляем его (salt хранится на сервере).
    3.Сервер проверяет набор символов salt+пароль и полученный хэш. Если хэши совпадают - можно залогинится.
    Сервер сравнивает полученный хэш (6) и хэш из набора символов (2) и (1), сгененированый на сервере.
    После проверки значение salt для данного пользователя удаляется.
    Получается, что хакер получит только хэши паролей. И ничего больше.
    Примечание: вместо salt можно использовать время. Но нужно учитывать, что время на сервере и на компьютере клиента может не совпадать.
    Список хэш-алгоритмов можно посмотреть здесь: Хеширование (ru.wikipedia.org)
    Примеры реализаций MD5 можете посмотреть здесь: MD5 in Delphi и Модуль для вычисления хэша MD5. Описание MD5 можете посмотреть в rfc1321. Описание алгоритма SHA-1 можно взять здесь: rfc3174
    Удачи!!!
    ---------
    Я ничего не знаю. Я знаю только где можно найти ответы на мои вопросы.
    Ответ отправил: µalife (статус: Практикант)
    Ответ отправлен: 03.11.2008, 21:37

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149314 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2008, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.10 от 5.11.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное