Каковы опасности использования OpenID для вашего сайта? - PullRequest
17 голосов
/ 25 ноября 2008

Допустим, я создаю веб-сайт, такой как StackOverFlow, и решаю использовать OpenID. Что мешает мне или кому-либо еще в этом отношении фишинг идентификационных данных? То есть, как вы можете действительно знать, что любой веб-сайт использует OpenID, а не притворяется? И как ты защищаешь себя от этого?

Более подробно, скажем, один сайт скомпрометировал ваши учетные данные openID. Разве они не могли использовать его на любом другом сайте, используя openID (глобальный взлом пароля)? Разве тогда безопасность вашего openID не будет такой же сильной, как у самого слабого веб-сайта / провайдера?

Ответы [ 6 ]

8 голосов
/ 25 ноября 2008

Все, что вы вводите, это идентификатор, без пароля. Идентификатор публичный, поэтому «фишинг» не является дырой в безопасности. Некоторые провайдеры даже используют один и тот же идентификатор для всех пользователей, например, идентификатор для учетной записи Google всегда равен https://www.google.com/accounts/o8/id. См. статью Википедии для более подробного объяснения.

7 голосов
/ 25 ноября 2008

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

На стороне сервера вы полагаетесь на внешние сайты для проверки личности. Таким образом, если в форме аутентификации OpenID провайдера XYZ есть пробел, позволяющий паролю «рыба-меч» работать с любой учетной записью, любой может выдать себя за пользователя этого провайдера в любом месте, где он принимает OpenID.

allesklar сделал хорошее замечание, когда я набирал текст, который хорошо подходит к моему последнему пункту: если вы смешиваете локальных и удаленных пользователей, вам вдруг нужны два списка банов вместо одного; второй список банов для «плохих» провайдеров OpenID, созданный людьми для создания групп учетных записей ... или тех, которые автоматически авторизуют любое имя, данное им.

6 голосов
/ 25 ноября 2008

Когда кто-то вводит открытый идентификатор на вашем сайте, вы аутентифицируете пользователя, спрашивая сайт, где живет пользователь OpenID (и только этот сайт), в порядке ли этот пользователь. Например, AOL не может проверить OpenID Yahoo.

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

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

Кто-то может настроить «злонамеренный» провайдер открытого идентификатора и попытаться таким образом пропустить новые идентификаторы, но это между пользователем и провайдером. Поскольку эта аутентификация основана на репутации, идея заключается в том, что такой провайдер не останется в бизнесе надолго. Если ничего другого, сайты могут занести в черный список этих поставщиков. Вредоносный провайдер не сможет выдать себя за открытые идентификаторы, зарегистрированные у других провайдеров.

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

2 голосов
/ 25 ноября 2008

Система OpenID очень безопасна и благодаря ей получает много возможностей.

Главный недостаток, который я вижу, заключается в том, что если провайдер OpenID многих ваших пользователей обанкротится, эти пользователи будут заблокированы на вашем сайте. Следовательно, у вас должен быть план резервного копирования имени пользователя / пароля, сохраняйте их адрес электронной почты после проверки, чтобы вы могли отправить им пароль в случае чрезвычайной ситуации / катастрофы.

1 голос
/ 26 ноября 2008

Ключ, который меня пугает, просто не принадлежит его учетной записи на одном сайте, но каждый сайт, который использует openID !!!

1 голос
/ 25 ноября 2008

Забавная история. Я нашел эксплойт на SO, который позволил мне полностью изменить чей-то профиль. Если бы Джефф использовал электронную почту + пароль, я мог бы владеть его учетной записью, но, поскольку SO использует OpenID, ничего не оставалось, как сменить его Gavitar на что-то смешное.

О данной ошибке сообщили, исправили, и я все еще жду своего значка Hacker. : P

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