В чем опасность использования OpenID для вашего сайта?

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

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

Ответ 1

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

Ответ 2

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

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

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

Ответ 3

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

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

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

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

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

Ответ 4

Система OpenID очень безопасна и получает много земли из-за этого.

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

Ответ 5

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

Исправлена ​​ошибка, о которой шла речь, и я все еще жду на своем значке Hacker.: P

Ответ 6

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