Вопрос безопасности веб-служб Джерси - PullRequest
3 голосов
/ 16 июня 2011

Я создаю публичное приложение REST для доступа клиентов.Пытаясь разработать для него защиту, я посмотрел на то, как AWS обрабатывает свою REST-аутентификацию, используя ключ доступа и секретный ключ, чтобы подписать сообщение перед отправкой на сервер AWS.Таким образом, я протестировал пример с помощью Jersey, JSP и javascript (jsonp), и, похоже, он работает нормально.

1.) При загрузке страницы JSP берет ключ доступа клиента и дату / время (преобразованныев эпоху) и выписывает на страницу.Он также берет эти две части информации и объединяет их с уникальным секретным ключом клиента через HMAC-SHA1.

2.) Когда я выполняю запрос ajax JQuery, я передаю все три части информации.*

  1. ключ доступа пользователя
  2. дата / время (EPOCH)
  3. подписанное сообщение

3.) Со стороны Джерси я беру доступключ и дата / время и проверьте базу данных для секретного ключа пользователя.Затем я выполняю свою собственную подпись HMAC-SHA1 и сравниваю ее с подписанным сообщением от пользователя, отправившего подписанное сообщение.Если они совпадают, то разрешите им использовать наш веб-сервис.Я также проверяю дату / время и принимаю только сообщения, подписанные в течение последних 15 минут.

У меня вопрос, достаточно ли это безопасно?

1 Ответ

0 голосов
/ 16 июня 2011

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

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