Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.09;
Скачать: CL | DM;

Вниз

Безопастная передача пароля по http   Найти похожие ветки 

 
Дмитрий С ©   (2010-09-23 11:01) [0]

Требуется безопасно передать логин и пароль по http (https не допускается) для авторизации. Т.е. сервер получает логин и пароль(или его хеш, который сможет проверить), взамен отдает идентификатор сессии (sid). Из всего этого необходимо скрыть только пароль, так, чтобы перехватив запрос по сети - нельзя было: во-первых, узнать пароль, во-вторых, авторизоваться используя такой же запрос.
Какие идеи?


 
Дмитрий Тимохов   (2010-09-23 11:02) [1]

клиент то кто? браузер?
ну шифруй чем-нибудь.


 
Ega23 ©   (2010-09-23 11:11) [2]

Сервер передал на клиент разовый ключ, клиент пошифровал этим ключом у себя пароль, передал серверу, тот расшифровал пароль, провёл авторизацию (или не провёл). Ключ после забыл.


 
han_malign   (2010-09-23 11:26) [3]


> авторизоваться используя такой же запрос

- для этого сначала у сервера запрашивается "соль", на основании комбинации "соли" и секретного ключа генерируется "соленый" хэш...
По любому двух-шаговая авторизация, то есть в случае HTTP - сервер должен создавать короткоживущую "соленую" сессию... С таким же успехом можно воспользоваться ассиметричным ключом.

Можно просто sid рассчитать на стороне клиента на основания "соли" - еще и принцип черного ящика добавится...


 
Дмитрий С ©   (2010-09-23 11:31) [4]


> Дмитрий Тимохов   (23.09.10 11:02) [1]

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


> Ega23 ©   (23.09.10 11:11) [2]

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


 
Ega23 ©   (2010-09-23 11:34) [5]


> Например, сервер передал клиенту ключ, а как потом сервер
> узнает, что этот ключ он именно этому клиенту передал?


Так временный SID на авторизацию назначается.


 
Плохиш ©   (2010-09-23 11:39) [6]


> Браузер, я не стал уточнять

А какой из общеизвестных браузеров шифрует пароли?


 
Ega23 ©   (2010-09-23 11:42) [7]


> А какой из общеизвестных браузеров шифрует пароли?


Алгоритмы известны, реализаций их - вагон и меленькая тележка на куче языков.


 
Плохиш ©   (2010-09-23 11:56) [8]


> Ega23 ©   (23.09.10 11:42) [7]

Э я так и не понял,

> А какой из общеизвестных браузеров шифрует пароли?

по протоколу http.

Вопрос данной ветки имеет смысл только для своего веб-сервиса и самописного клиента, какой-нибуть файерфокс в качестве клиента не попользуешь.


 
Ega23 ©   (2010-09-23 12:06) [9]


> Вопрос данной ветки имеет смысл только для своего веб-сервиса
> и самописного клиента, какой-нибуть файерфокс в качестве
> клиента не попользуешь.


С фигали?
Гуглим "реализация AES, Java Script"
И браузер тут совсем не при чём.


 
DiamondShark ©   (2010-09-23 12:34) [10]


> Плохиш ©   (23.09.10 11:39) [6]
> А какой из общеизвестных браузеров шифрует пароли?

Щито значит "шифрует пароли"?

Из "общеизвестных браузеров" только очень старые или не очень "общеизвестные" не поддерживают какой-нибудь метод HTTP Authentication вдобавок к Basic. Уж Digest точно поддерживают чуть более, чем все.
NTLM и Kerberos точно поддерживает ИЕ, и ещё не помню кто.


> Вопрос данной ветки имеет смысл только для своего веб-сервиса
> и самописного клиента

Мне вот тоже кажется, что ОПа интересует не HTTP Authentication на уровне браузера, а самопальная реализация на прикладном уровне.
Хотя, таки да, непонятно, чем стандартный механизм не угодил. Тот же Digest в 93,1415926535897932384626433832795% случаев -- вполне подходящее решение.


> какой-нибуть файерфокс в качестве клиента не попользуешь.

Да ладна! ЖСкрипт на что в руки даден?


 
Плохиш ©   (2010-09-23 16:54) [11]


> Ega23 ©   (23.09.10 12:06) [9]

По первым ссылкам понравилось, что мелкийсофт вокруг XMLHttpRequest накрутил :-)

> DiamondShark ©   (23.09.10 12:34) [10]


> какой-нибудь метод HTTP Authentication

Вот за это спасибо, будем почитать.


 
Ega23 ©   (2010-09-23 17:07) [12]


> По первым ссылкам понравилось, что мелкийсофт вокруг XMLHttpRequest
> накрутил :-)


Ну это старая песня.


/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
** Code licensed under Creative Commons Attribution-ShareAlike License      **
** http://creativecommons.org/licenses/by-sa/2.0/                           **/
function XHConn()
{

 var xmlhttp, bComplete = false;
 try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
 catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
 catch (e) { try { xmlhttp = new XMLHttpRequest(); }
 catch (e) { xmlhttp = false; }}}
 if (!xmlhttp) return null;
 ......


 
Cobalt ©   (2010-09-24 12:05) [13]

а если использовать HTTPS?


 
Дрон   (2010-09-24 14:07) [14]

> Cobalt ©   (24.09.10 12:05) [13]
> а если использовать HTTPS?

С сертификатом, видимо, лень возиться.


 
Ega23 ©   (2010-09-24 14:09) [15]


> а если использовать HTTPS?


Читай внимательнее [0]


> Требуется безопасно передать логин и пароль по http (https не допускается) для авторизации.



Страницы: 1 вся ветка

Текущий архив: 2011.01.09;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.017 c
15-1285273761
Юрий
2010-09-24 00:29
2011.01.09
С днем рождения ! 24 сентября 2010 пятница


2-1286809709
v_a_belousov
2010-10-11 19:08
2011.01.09
Использование нестандартных форм. Скины для программы


15-1284571785
МИхаил
2010-09-15 21:29
2011.01.09
Хранение вещественного в 2 целых числах, и операции с ним


2-1287088978
Archvile
2010-10-15 00:42
2011.01.09
Непонятки с выводом записи


15-1285344289
Дмитрий Тимохов
2010-09-24 20:04
2011.01.09
Посоветуйте какой Windows Server ставить.