Главная страница
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.012 c
2-1287143619
Первокурсница
2010-10-15 15:53
2011.01.09
Параметры ADOQuery,обнаружены символы за пределами инструкции SQL


15-1285572618
12
2010-09-27 11:30
2011.01.09
TDBLookupComboBox, не работает должным образом


2-1287398190
AnGel
2010-10-18 14:36
2011.01.09
Пеоедача данных через локальную сеть


2-1287154198
AnGel
2010-10-15 18:49
2011.01.09
Как принять собственное сообщение?


2-1286865219
Den
2010-10-12 10:33
2011.01.09
Как проверить есть ли данные в поле