2010-04-17 3 views
3

Я планирую веб-сервис и немного разбираюсь в том, что такое современные методы безопасной аутентификации пользователей.Каковы современные методы аутентификации пользователей?

Это то, что Google и Facebook считают отраслевым стандартом?

+3

Что делают google и facebook? –

+0

Не уверен, что они делают на задней панели, но да, на переднем конце это тривиальное имя пользователя/пароль. –

ответ

2

Аутентификация на «веб-сервис» ... Вы имеете в виду SOAP/HTTP (S) или веб-страницу? Ответы разные в двух случаях!

  • Для SOAP/HTTPS вы говорите, используя набор WS-Security с маркерами SAML/XACML. Полномочия могут быть получены несколькими способами, такими как Kerberos или VOMS. Это явно нетривиально, и вам нужно будет разобраться, что все остальные части в «экосистеме» услуг, и обеспечить, чтобы вы взаимодействовали с этим.
  • Для веб-страниц проверьте OpenID или Shibboleth как способы получения токенов аутентификации из источников, поддерживаемых другими. Насколько я понимаю, OpenID лучше подходит для открытого Интернета, и Shibboleth лучше подходит для корпоративных развертываний (он был разработан для решения таких проблем, как обработка входа в веб-страницу для университетов).

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


[EDIT]: Конечно, если вы просто просят об общих методах входа в систему, то это тривиально. Единственное, что пользователи действительно принимают, - это ввести их имя пользователя и пароль на веб-страницу, и даже тогда это будет только если очень нечасто. Если вы собираетесь заниматься этим делом, не забудьте только разрешить вход в систему через HTTPS, что вы должны разрешить только страницу, которую они заносят в систему для обслуживания через HTTPS, и вам придется приложить усилия к борьбе с -XSS armoring (классический вопрос SO!)

+0

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

1

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

Если вам нужна безопасность для веб-сервиса, и вам нужно больше, чем просто имя пользователя и пароль (с силой пароля политики), рассмотрим

  • SSL (с взаимной аутентификацией)
  • Kerberos
  • нуля протоколов знаний (lightweigth)

но опять же, независимо от того, что вы выберете, не делайте его сложным и убедитесь, что реализация безопасна, так как ваша безопасность так же хороша s самая слабая точка

+0

звучит как протоколы Kerberos и Zero Knowledge, применимые к обмену данными между клиентом и сервером, где обе машины. Я действительно говорю об аутентификации пользователей через браузер. –

Смежные вопросы