|
|
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, как правильно передавать пароль от клиента к сервису. Например если в БД пароли сохраняются в виде MD5, то как их должен отправлять клиент - уже в MD5 виде или же в открытом виде и я уже сам на сервере их шифрую? Если это например Javascript клиент, то результат его шифрования в MD5 будет такой же как и на сервере на Java? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 12:28:12 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Казалось бы, при чем тут Java? Пароли передавать по HTTPS. В MD5 хранить только с собственным подсаливанием. В браузере соль хеширование лучше не светить. Но лучше использовать ещё не скомпрометированые алгоритмы. Хорошей альтернативной может быть SSO. Ну и куча инфы тут: https://www.google.com/search?q=secured way to send password over HTTP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 12:35:08 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
osonНапример если в БД пароли например вариант - в БД пароль идёт в открытом виде. Тогда НИЧЕГО программисты не делают, а защищают канал админскими мерами: - значёк замочка в ослике - собственная сеть оргнизации vpn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 12:46:49 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Petro123например вариант - в БД пароль идёт в открытом виде. Да, и остаётся там в открытом виде, чтобы потом через XSS или SQL Injection всегда можно было достать. И юзеры тоже часто забывают пароли. А так им всегда напомнить можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 12:57:18 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, конечно) тут дырок дофига. Обычно защита не дороже данных). Если данные - кредитки, то)))) все участки: Ваня с утюгом - кэш-куки-сниффер-админ-комната админа-сервер Матрицы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 13:17:52 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДа, и остаётся там в открытом виде, Передергиваете - у ТС четко сказано osonв БД пароли сохраняются в виде MD5 Для oson - Передавать в этом случае hash не правильно - это сводит услиия по его генерации к бесполезным. Ибо предъявляется hash, который и хранится в БД в открытом виде. Для передачи пароля нужно организовать защищенный канал и передать по нему пароль. В качестве канала можно использовать, что-нибудь стандартное (https), ну или какой-нибудь велосипед (приведу для понимания): 1. Генерится пара RSA 2048 ключей. 2. Открытый ключ отдается на клиента. 3. На клиенте делается свертка "момент времени";"пароль";"номер сессии" и закрывается ключем. Отправляется на сервер. 4. Сервер. Раскрывает пароль. Проверяет сессию и время (не должно сильно отличаться и повторяться). Если все верно - проверять пароль по базе. Соответственно надо понимать, что это помогает только против тех, кто может только смотреть в канал и не может вмешиваться, например создав фейковую страничку с запросом пароля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 13:19:54 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевBlazkowiczДа, и остаётся там в открытом виде, Передергиваете - у ТС четко сказано Передергиваете - я не ТС коментировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 13:22:40 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, спасибо. Какие есть готовые решения в виде фреймворка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 13:27:43 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПередергиваете - я не ТС коментировал. Petro123 именно ему и отвечал. На его вопрос. Как раз про то, что MD5 передавать (в БД) не правильно. Просто без пояснений почему. Но не говорил, что пароли должны оставаться где-то в открытом виде. 2 oson - передать пароль по https можно, наверное, в большинстве фреймворков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 13:49:12 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, кстати, как передаётся кредитка из 2-х 3-х полей по HTTPS? Т.е. клиентская часть КОДА и JS вроде ничего не делают по шифрованию. Окромя звёздочек на экране по HTML свойствам компонентов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 14:03:44 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевPetro123 именно ему и отвечал. На его вопрос. И что? То есть мой любой коментарий в этой теме является прямым ответом на вопрос ТС? Цитаты тут на форуме для галочки? Сергей АрсеньевКак раз про то, что MD5 передавать (в БД) не правильно. Правильно передавать пароль в БД? У вас браузеры походу напрямую в БД ходят, как я посмотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 14:19:38 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, БД конечно разные бывают. Если СУБД сама не может проверить валидность пароля, то передавать его туда не следует. Если может - то как захочется. Некоторые так, вообще, "третье звено" на каком-нибудь PL/SQL пишут, а другие в NOSQL вдаряются, где база это всего лишь помойка бессловесная. Остается вслед за Соломоном сказать - и Ты прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 15:13:00 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
osonПодскажите пожалуйста, как правильно передавать пароль от клиента к сервису. Например если в БД пароли сохраняются в виде MD5, то как их должен отправлять клиент - уже в MD5 виде или же в открытом виде и я уже сам на сервере их шифрую?Я сталкивался с такой темой, когда очень трудно объяснить некоторым товарищам, что передача из браузера хэша вместо пароля НЕ ГАРАНТИРУЕТ никакой безопасности. Какая разница, что знает злоумышленник, если он отправит ЭТО в ту же точку доступа? Задумайтесь, не молитесь "иконам"... ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 19:35:23 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевBlazkowicz, БД конечно разные бывают. Если СУБД сама не может проверить валидность пароля, то передавать его туда не следует. Если может - то как захочется. Может я чего-то не понимаю, но Вы что, в трехзвенке аутентифицируете пользователя в СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 19:39:10 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
Пароль никуда передавать не надо. Используйте HMAC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 23:46:46 |
|
||
|
Как передавать пароль для REST сервиса
|
|||
|---|---|---|---|
|
#18+
osonСергей Арсеньев, спасибо. Какие есть готовые решения в виде фреймворка? Смотреть надо в сторону SAML 2.0 реализаций протокола: http://forgerock.com/what-we-offer/open-identity-stack/openam/ -- OpenAM http://shibboleth.net/ -- Shibboleth Технически Вы можете просто взять API и применить у себя на коленке. Вот как тут перец заясняет как он использовал подпись в сообщении http://mylifewithjava.blogspot.no/2012/11/verifying-signatures-with-opensaml.html Взяв библиотеку opensaml из Shibboleth проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2013, 00:11:26 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38290281&tid=2129201]: |
0ms |
get settings: |
13ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 318ms |
| total: | 483ms |

| 0 / 0 |
