Вопрос

Я разработал REST-подобный XML API, который хочу предоставить для использования сторонними веб-приложениями.Сейчас я пытаюсь реализовать модель безопасности для обмена данными между сторонним приложением и REST-подобным XML API.Я был бы признателен за предложения по подходящей модели асимметричного шифрования.

Это было полезно?

Решение

Если вам нужно шифрование, почему бы просто не использовать SSL для шифрования соединения, а не для шифрования данных ответа?Если 128-битного SSL недостаточно, вам необходимо либо интегрировать существующую инфраструктуру PKI с использованием внешнего доверенного центра, либо самостоятельно разработать инфраструктуру распределения/совместного использования ключей и выдать свой открытый ключ и подходящий закрытый ключ/идентификатор для ваши потребители API.Выберите одного из поставщиков криптографии в System.Security.Cryptography, который поддерживает обмен открытыми и закрытыми ключами.

Другие советы

HTTPS работает с шифрованием с асимметричным ключом.Это хорошо известный протокол, который легко реализовать.Он защищает от вторжения 3p в ваше общение.

Все, что вам нужно реализовать «ниже», — это аутентификация, чтобы убедиться, что ваш пользователь вам известен.

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

Наиболее распространенным является реализация протокола OAuth.Это то, что используется провайдерами OpenSocial, которые проверяют авторизацию с помощью двухстороннего и/или трехстороннего oAuth.

Просто выполните поиск в Google, и вы найдете множество реализаций.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top