API Twitter - проверка Twitter на самом деле является Twitter - PullRequest
2 голосов
/ 06 октября 2009

Я просматривал различные API, и, поскольку Twitter, кажется, является общим предметом обсуждения, я буду использовать его в качестве примера.

Многие API-интерфейсы реализуют oAuth, который отлично подходит для того, чтобы служба могла аутентифицировать и авторизовать приложение, подключенное к нему, однако, как я вижу, приложение не может проверить, действительно ли Twitter Твиттер (а не человек в средней атаке)? Я ожидаю увидеть какую-то подпись (с использованием общего / открытого ключа) тела ответа, которую я могу использовать для проверки того, что твиттер подписал его.

Это просто потому, что в настоящее время нет никакого смысла в человеке в средней атаке с твиттерами Твиттера, поскольку в настоящее время самое худшее, что может случиться (и почему кто-то захочет дать мне недействительные твиты)

С этой точки зрения, если бы вы подписали ответ, какой метод вы бы использовали? В настоящее время я рассматриваю подпись HMAC-SHA1 тела ответа, используя общий ключ.

Ответы [ 2 ]

3 голосов
/ 06 октября 2009

Это то, что делает «доверенная» часть SSL.

- Правка

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

1 голос
/ 06 октября 2009

В мире .NET мы используем WCF, который имеет множество различных моделей безопасности, включая подписывание (и, если необходимо, шифрование) каждого сообщения / ответа. Это добавляет нетривиальных затрат, но может дать вам больше «доверия» к модели безопасности. При желании вы можете переключиться на использование двоичных сериализованных данных, чтобы сократить объем и размер сообщения.

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

...