Подтвердить что ты не робот

Поставщики OpenID - что мешает злоумышленникам?

Мне нравится идея OpenID. Я поддерживаю его на своем сайте и использую его везде, где это возможно (например, здесь!). Но я не совсем понимаю одно.

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

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

4b9b3361

Ответ 1

Вы путаете две разные вещи - идентификацию и авторизацию. Просто потому, что вы знаете, кто есть кто-то, это не значит, что вы должны автоматически дать им разрешение на все. Саймон Уиллисон прекрасно это описывает в OpenID - это не учетная запись! Более подробное обсуждение по белым спискам доступно в Социальный белый список с OpenID.

Ответ 2

Короткий ответ на ваш вопрос: "Это не так". OpenID преднамеренно предоставляет только механизм для централизованного сайта аутентификации; вам решать, какие поставщики OpenID вы считаете приемлемыми. Например, Microsoft недавно решила разрешить OpenID на своем сайте Healthvault только от нескольких поставщиков. Компания может решить только разрешить вход OpenID из своей точки доступа с поддержкой LDAP, правительственное агентство может принимать только OpenID с сайтов, поддерживаемых биометрикой, и блог может принимать только TypePad из-за их интенсивного проверки спама.

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

Ответ 3

OpenId не намного больше, чем имя пользователя и пароль, которые пользователь выбирает при регистрации на вашем сайте. Вы не полагаетесь на структуру OpenId для отсеивания ботов; ваша система регистрации все равно должна это делать.

Ответ 4

Возможное решение - вы все равно можете запросить новые идентификаторы для прохождения теста CAPTCHA. Точно так же, как боты могут регистрироваться с фальшивыми/несколькими адресами электронной почты на любой сайт, но также не могут выполнить "проверку".

Или нам нужно будет начать поддерживать черные списки поставщиков? Они не будут работать очень хорошо, учитывая, как легко легко создать нового провайдера.

Ответ 5

Насколько я могу судить, OpenID адресует только идентификацию, а не авторизацию. Остановка ботов является вопросом авторизации.

Ответ 6

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

Вы можете сделать несколько вещей с OpenID, которые вы не можете сделать с обычным именем пользователя от нового пользователя.

Во-первых, вы можете выполнять некоторые простые операции с белыми списками. Если *.bigcorp.example являются OpenIDs от сотрудников Big Corp, и вы знаете, что Big Corp не являются спамерами, тогда вы можете использовать белый список этих OpenID. Это должно хорошо работать для сайтов, которые являются полузакрытыми, возможно, это социальный сайт для нынешних и прошлых сотрудников.

Лучше, однако, вы можете делать выводы из других мест, в которых используется определенный OpenID. Предположим, что у вас есть карта OpenIDs для значений репутации от Stackoverflow.com. Когда кто-то появляется на вашем веб-форуме с OpenID, вы можете узнать, есть ли у них приличная репутация в Stackoverflow и пропустить CAPTCHA или испытательный период для этих пользователей.