id: Гость   вход   регистрация
текущее время 05:16 02/05/2024
Владелец: Alex_B редакция от 22/02/2007 17:53 (автор: Alex_B) Печать
https://www.pgpru.com/Разработки/HttpАвторизация
создать
просмотр
редакции
ссылки

Это старая редакция страницы Разработки / Http Авторизация за 22/02/2007 17:53.


Протокол http авторизации


Предлагаю реализацию протокола, идею которого предложил SATtva.
Ознакомиться с оригинальной идеей можно здесь "Защита HTTP-авторизации без SSL?".


Возможно, я частично продублирую изложенный в указанной статье материал. И все же это необходимо сделать для лучшего описания реализации протокола.


Условные обозначения:

A – пользователь.
B – сервер.


u – идентификатор (имя) пользователя.
p – пароль пользователя.
p_h – хеш пароля.
p6 – хеш пароля хранимый в base.txt.
ip1 – ip-адрес определенный сервером на 1 этапе протокола.
ip4 – ip-адрес определенный сервером на 4 этапе протокола.
k – секретный показатель, известный только B.
t1 – метка времени начала исполнения протокола.
H() – операция хеширования.


Описание сценариев и файлов:

initialization.php – страница инициализации протокола.
form.html – форма для ввода имени имени и пароля.
webtoolkit.md5.js – java-скрипт клиентской стороны.
login.php – сценарий обработки формы для ввода имени и пароля.
validate.php – сценарий проверки имени и пароля по базе данных (base.txt).
base.txt – файл с зарегистрированными пользователями и их паролями (пароли в хешированном виде).

initialization.php

В момент открытия этой страницы пользователем A происходит инициализация протокола.
Еще до загрузки формы для ввода имени и пароля (form.html) этот сценарий проделывает следующие операции:
1.открывает гостевую сессию со следующими параметрами:
– ip-адрес пользователя;
– временная метка начала протокола;
2.генерирует r=H(k, t1, ip1);
Далее, когда все необходимые операции проведены, на клиентскую сторону передается java-скрипт webtoolkit.md5.js и форма form.html.
Форма, помимо полей для ввода и кнопки, содержит скрытое поле r_type, в которое записывается сгенерированное сервером r.

3.передача на сторону клиента form.html и webtoolkit.md5.js;