Система защищённого обмена информацией

Часто требуется решение задачи защищённого обмена информацией между клиентом и сервером. Например, в случае, когда нужно организовать систему удалённого заказа или удалённое рабочее место аналитика. Данная проблема может быть решена с помощью разработки специального Web-сервиса, либо с помощью доступа по VPN на терминальный сервер организации, от куда будет возможность получать информацию с серверов организации. Однако, гораздо удобнее запустить программу на удалённом компьютере, подключённом к Интернет, которая сможет обмениваться информацией со специально подготовленным сервером.

В данном случае стоит задача правильной аутентификации пользователя. Кроме того необходимо обеспечить шифрование передаваемой информации. Делается это по следующему алгоритму.

  1. Клиент отправляет Серверу открыто свой логин.
  2. Сервер, приняв логин, сверяется со своей базой логинов. В соответствии с полученным логином находится пароль. Этот пароль будет ключом для шифрования всех пересылаемых данных.
  3. Сервер генерирует случайную последовательность символов. И отсылает её Клиенту.
  4. Клиент приняв последовательность от Сервера, шифрует её, используя в качестве ключа свой пароль. Затем, зашифрованную последовательность он отсылает Серверу.
  5. Сервер, приняв зашифрованную последовательность, расшифровывает её, исполльзуя ключ-пароль, соответствующий логину Клиента, найденный на шаге 2. 
  6. Результат расшифровки Сервер сравнивает с тем, что отсылалось Клиенту на шаге 3.
  7. В случае совпадения расшифровки и последовательности, сформированной на шаге 3, Сервер считает, что Клиент прошёл этап аутентификации. 
  8. В случае несовпадения Сервер на запросы Клиента отсылает случайно сгенерированные последовательности.

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

  1. Клиент формирует запрос, шифрует его, используя в качестве ключа свой пароль. Затем отсылает его Серверу.
  2. Сервер, приняв запрос, расшифровывает его, используя соответствующий ключ. 
  3. Сервер выполняет запрос. Сервер шифрует результат и отсылается клиенту.

Нами данная проблема была решена следующим образом.

Рис. 1. Схема аутентификации клиента.

 

 Коротаевский Андрей








Rambler's Top100 Рейтинг@Mail.ru

mdls.ru © 2008-2013

НОВОСТИ
03.04.2014
Проект "ЧПУ на Ардуино" перенесён на ecnc.ru
Открытый проект "Простой станок с ЧПУ на Ардуино" перенесён на http://ecnc.ru
25.01.2013
Опубликован сайт "Частный переводчик"
Частный переводчик поможет провести переговоры, осуществит последовательный, синхронный, письменный переводы. http://tran.mdls.ru
25.01.2013
Начата раработка открытого проекта "Станок с ЧПУ"
Как сделать простой станок с ЧПУ на базе Arduino стоимостью менее 100$ своими руками. http://cnc.mdls.ru.
25.10.2011
"Юристы помогают" перенесён на lawshelp.ru
Проведена смена домена urist.mdls.ru на lawshelp.ru. Теперь обсудить задачи из любых отраслей Права можно на сайте www.lawshelp.ru