Форум: "Прочее";
Текущий архив: 2011.01.09;
Скачать: [xml.tar.bz2];
ВнизБезопастная передача пароля по 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c