Разрешает ли AOL OpenID подделку идентификатора учетной записи? - PullRequest
4 голосов
/ 19 июня 2010

При аутентификации на любом сайте (включая стековый поток) с OpenID AOL, вы можете указать любое поддельное имя пользователя в форме, затем ввести действительное имя пользователя / пароль AOL на сайте OpenID AOL и целевой веб-сайт ( например, stackoverflow) будет сказано, что аутентификация прошла успешно, но с именем пользователя FAKE.

У меня вопрос, так ли должен работать OpenID, или AOL делает что-то не так, или я просто неправильно понимаю, что происходит?

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

Я пошел в stackoverflow, нажал «войти», нажал на логотип AOL и ввел «asdf» в качестве имени пользователя. Это привело меня на сайт AOL OpenID, где я ввел свое настоящее имя пользователя и пароль AOL. Затем я вернулся в stackoverflow, который сказал:

Confirm OpenID
This OpenID does not have an account on Stack Overflow yet:
http://openid.aol.com/asdf
Create New Account

Я нажал «Создать», и теперь в stackoverflow есть учетная запись «http://openid.aol.com/asdf" (извините! Я пытался удалить ее, но не вижу как).

Это кажется неправильным ... и в моем приложении это означает, что идентификатор, который я использую для своих пользователей, может быть неточным / действительным ... может даже оказаться возможным, если кто-то недобросовестный придет, введите кто-нибудь еще имя пользователя и URL-адрес AOL OpenID в поле входа в систему, выполните аутентификацию с действительным именем пользователя и паролем AOL, а затем получите доступ к другой учетной записи на целевом веб-сайте?

На сайтах провайдеров OpenID, которые возвращают уникальный идентификатор, таких как Google или Yahoo, это не является проблемой.

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

Ответы [ 3 ]

3 голосов
/ 19 июня 2010

Предполагаемая сторона OpenID (stackoverflow) должна выполнить обнаружение по идентификатору, который вы ей даете (asdf), чтобы найти поставщика OpenID (AOL).Затем, когда вы вошли в систему к поставщику и он отправил обратно подтверждение положительного идентификатора, проверяющая сторона должна подтвердить , что заявленный идентификатор в подтверждении соответствует ранее обнаруженной информации.Вот как OpenID предотвращает спуфинг.Если в stackoverflow используется первоначально введенный идентификатор вместо идентификатора в конечном утверждении без проверки соответствия, это будет ошибкой.

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

Вот сайт, который будет проверять эту проверку:

http://www.test -id.net / RP / VerifyAssertionDiscovery.aspx

Вот еще тесты:

http://www.test -id.net /

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

1 голос
/ 24 июня 2010

Можете ли вы попробовать еще раз?Я считаю, что проблема решена.

1 голос
/ 20 июня 2010

Это будет (очень серьезная) ошибка в AOL OpenID Provider. Тем не менее, я просто попробовал их, и это не сработало для меня. Может быть, они это исправили. Вы можете попробовать еще раз?

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