Защита пароля

Pegas

Новичок
Защита пароля при передаче его от клиента к серверу

apache2.2.3 + php5.2.0 + openssl0.9.8b
Есть форма, в которой пользователь вводит логин и пароль. Задача: защитить логин и пароль при передачи ее от клиента к серверу.
Возможный вариант реализации:
в форме идет запрос к скрипту по https

<form name="form_auth" action="https://www.my-site.ru/sys/auth.php" method="POST">

У пользователя спрашивается сертификат и подтверждение соединения по SSL. Если пользователь соглашается, то в скрипте auth.php проверяется логин и пароль, сравнивая их с данными в БД. Если логин и пароль правильные, скрипт перенаправляет пользователя на страницу https://www.my-site.ru/sys/panel.php

Вопрос: достаточно ли такого механизма для защиты пароля от передачи в открытом виде от клиента к серверу? будут ли все остальные данные передаваться из веб-форм по протоколу SSL в защищенном виде? Нужно ли использовать какие-нибудь спец. функции в php для проверки полученных данных? есть ли примеры использования SSL в php для обмена данными между клиентом и сервером?

PS. на форуме нашел предложение для защиты пароля от передачи в открытом виде использовать Digest-авторизацию

-~{}~ 02.03.07 10:54:

неужели я что-то неприличное спросил?
 

Фанат

oncle terrible
Команда форума
ну, скорее, необычное.
с SSL вообще мало кто работает, а те, кто работают - уже на тему секурности не заморачиваются.
а то уженачнет попахивать паранойей

я только один пассаж не понял, про "остальные данные из веб-форм"
 

Alexandre

PHPПенсионер
на форуме было предложение - использовать передачу не пароля а уже его хеша (хотя для серьездных систем это недостаточно). Хеш формируется яваскриптом и передается на сервер.

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

Можно использовать ССЛ. В принципе, если твоя система не отвечает за финансовые потоки, то этого вполне достаточно.
 

Skubent

Новичок
Pegas, оптимальное по соотношению трудозатраты/эффективность решение выглядит примерно так:
1. В страницу с формой отдается уникальный идентификатор, к примеру - сессии.
2. Пароль + id из п.1 хэшируются чем-нибудь на клиенте.
Соответственно получение соленого хэша пароля ничего не даст злобному кульхацкеру.

Что касаемо SSL и php - то для php все абсолютно прозрачно, данные от пользователя принимает веб-сервер, он же их и расшифровывает.
 

Pegas

Новичок
Я понимаю, что безопасность 100% может дать только сайт about:blank, просто ищу оптимальное решение. К сожалению сайт отвечает за передачу финансовой информации, правда косвенно.
я только один пассаж не понял, про "остальные данные из веб-форм"
при установленном соединении по SSL есть страница с формой, так вот данные, которые будет вбивать в эту форму клиент, будут защищены по умолчанию? имхо да.
2. Пароль + id из п.1 хэшируются чем-нибудь на клиенте.
кроме javascript я не вижу другого метода хеширования, а ява полюбас не подходит, т.к. некоторые посетители ресурса отключают его по соображениям секурности
 

Фанат

oncle terrible
Команда форума
вот данные, которые будет вбивать в эту форму клиент, будут защищены по умолчанию?
чем эти данные такие особенные и отличаются от всего остального трафика?
кроме javascript я не вижу другого метода хеширования
не надо заниматься ДУРЬЮ.
Не надо читать слепых отвечателей. которые советуют кривые костыли для нищих, служащие для замены НОРМАЛЬНОГО сооединения по SSL
никакой яваскрипт тебе не нужен
 

Pegas

Новичок
Автор оригинала: Фанат
чем эти данные такие особенные и отличаются от всего остального трафика?
финансовые потоки :)
не надо заниматься ДУРЬЮ.
Не надо читать слепых отвечателей. которые советуют кривые костыли для нищих, служащие для замены НОРМАЛЬНОГО сооединения по SSL
никакой яваскрипт тебе не нужен
а я и не принимаю в расчет такие предложения, хотя обдумывать некоторые идеи стоит.

как я понимаю, мой механизм вполне подходит для обмена информацией.
может кто-нибудь предложит какой-нибудь механизм проверки секурности данных при передаче от клиента к серверу? грубо говоря хакнуть надо :)
 

Skubent

Новичок
Pegas, SSL вполне достаточно для защиты твоих финансовых потоков.
Хотя бы потому, что на данный момент дешевле физически вытащить твой сервер из стойки, чем взломать SSL.
 

Pegas

Новичок
ладно, опустим этот момент.
вот самый главный вопрос -
форма находится на http://www.my-site.ru/index.html
<form name="form_auth" action="https://www.my-site.ru/sys/auth.php" method="POST">

будет ли сначало установлено SSL соединение, а за тем к серверу будут переданы логин и пасс из формы или все таки лучше сначала сделать страницу https://www.my-site.ru/auth.html в которой будет уже редирект на проверку логина и пасса на скрипт auth.php ?
 

Фанат

oncle terrible
Команда форума
возьми, да проверь

-~{}~ 02.03.07 16:04:

если уж понимания технологии не хватает, чтобы сообразить самостоятельно
 

Pegas

Новичок
вот как раз в этом и есть суть - я не знаю как. сниффер какойнить поюзать или еще что. подскажите плз. я ток начал разбираться с SSL, т.ч. не обессудьте...технологию только примерно понимаю. мое имхо, что данные идут по SSL туннелю уже в 1м варианте.

-~{}~ 02.03.07 16:09:

просто есть начальство, которое хочет доказательств чтоли...
 

Astral Man

We Will Rock You
Pegas
Все будет автоматом. Перед передачей пароля сначало установится SSL соединение.
 

Pegas

Новичок
спасибо всем за помощь. ещебы сниффером какимнибудь проверить, чтобы док-ва были у начальства на столе...
 

Фанат

oncle terrible
Команда форума
просто есть начальство, которое хочет доказательств чтоли...
ой, так бы сразу и сказал.
Доказательств -то выше крыши
http://www.faqs.org/rfcs/rfc2660.html
пусть читают на здоровье.
будет ли сначало установлено SSL соединение, а за тем к серверу будут переданы логин и пасс из формы
ну как ты себе представляешь-то другой вариант?
сначала данные передаются по НТТР, а потом что?
Но, главное - КУДА они передаются?

И, если уж тебя с начальством так волнует этот вопрос - не проще, действительно, сделать даже вывод формы по хттпс, чтобы просто освободить себя от капания на мозги?
 
Сверху