2012-03-26 3 views
1

Я хочу реализовать двухуровневую безопасность в моих веб-службах REST.Уровень сообщений Безопасность в веб-службах отдыха

  1. Транспортный уровень Для точка-точка безопасности транспортного уровня() я решил использовать протокол HTTPS.

  2. Уровень сообщения (от конца до конца) Мне нужны данные json (очень чувствительные), которые должны быть в зашифрованном виде, которые могут быть расшифрованы только предполагаемым пользователем.

Мне нужны некоторые предложения, как я могу это реализовать? Существуют ли какие-либо веб-стандарты, такие как WS-Security в SOAP, которые мы можем использовать. Я наткнулся на JSON Web Encryption (JWE), но не уверен, хватит ли мне моей цели.

+0

Почему HTTPS недостаточно для обеих нужд? –

+0

Использование HTTPS, сообщение защищено только во время транзита. Наша цель заключается в том, что шифрование сообщений будет отличаться для каждого пользователя, использующего приложение, и может быть дешифровано только по назначению. – shashankaholic

+0

Если вы ищете предложения по библиотеке, вам нужно будет сказать, какую платформу вы используете, и то же самое для ваших клиентов. Очевидно, что вам нужно упростить для своих клиентов, поэтому вам нужно сказать, что они будут использовать для достижения вашей услуги - просто веб-браузер? –

ответ

1

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

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

Надеюсь, что это поможет.

+0

Спасибо. Для начала. Основным вызовом в этом будет управление ключами. Еще одна проблема - разные платформы (iOS, Android, HTML5), из которых будут вызываться веб-службы REST, в отличие от JAVA SDK для aws. Есть идеи. – shashankaholic

+0

Привет, shashankaholic, у меня нет никаких предложений по поводу шифрования клиента на разных платформах и языках, кроме того, что это будет большая задача. Если вы можете придерживаться чего-либо (например, HTML5) в качестве варианта вашей клиентской стороны, вы значительно упростите свои проблемы. –