Отправка конфиденциальных данных с сервера на сервер через клиента - PullRequest
1 голос
/ 19 февраля 2010

У меня есть ситуация, когда мне нужно аутентифицировать клиента через несколько веб-сервисов. По сути, каждая служба должна идентифицировать клиента и знать несколько других небольших данных о клиенте.

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

Мне пришло в голову, что можно было бы предоставить клиенту зашифрованный большой двоичный объект, который содержит идентификатор пользователя и другую необходимую информацию, которая довольно мала, и избегать использования базы данных для этого полностью. Клиент просто передаст блоб (как строка в предыдущем абзаце), не узнавая, что он содержит, и только веб-службы будут знать, как его расшифровать.

Это должно устранить необходимость для базы данных хранить информацию о сеансе и сделать весь процесс немного проще. С базой данных вы должны заботиться об очистке старых сессий и тайм-аутов и т. Д.

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

1 Ответ

1 голос
/ 19 февраля 2010

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

Другими словами, независимо от того, насколько хорошо вы шифруете большой двоичный объект, кто-то другой может взять данные браузера пользователя и скопировать их и выдать себя за пользователя.Кстати, cookie-файл сеанса ASP.Net всегда уязвим к этому, кстати.

Единственный способ обеспечить полную безопасность - это использовать SSL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...