Легко ли взломать OpenID или я что-то упустил?


18

Для тех проверяющих сторон (RP), которые позволяют пользователю указывать поставщика OpenID (OP), мне кажется, что любой, кто знает или догадывается, ваш OpenID мог бы

  1. Введите свой собственный адрес OP.
  2. Пусть они подтвердят, что они владеют вашим OpenID.
  3. Получите доступ к своей учетной записи на RP.

RP "мог" принять меры, чтобы предотвратить это, только позволив OpenID быть проверенным исходным OP, но ...

  1. Откуда ты знаешь, что они делают?
  2. Вы никогда не сможете изменить свой OP, не изменив также свой OpenID.

Ответы:


7

OpenID - одна из тех систем, где вы должны доверять конечным точкам. Если RP не заслуживает доверия, то такое отравление ассоциаций вполне возможно. Если RP на самом деле заслуживает доверия, то этот вид атаки НАМНОГО сложнее. «Обходной путь» для того, чтобы не быть уязвимым для этой атаки, состоит в том, чтобы ввести ключ локального принципа безопасности (для ServerFault это будет представление вашего имени пользователя в серверной базе данных) с внешней конечной точкой OpenID (URL-адрес OpenID, ServerFault позволяет связать кратные числа. из этих).

Вы все еще можете атаковать с помощью отравления DNS со стороны RP, например, например, * .livejournal.com перенаправляется на OP, специально созданный для этой атаки. Но это атака отравления DNS, а не ошибка самого OpenID. OpenID просто уязвим для определения DNS.


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

Прочитав это, я оказался на openid.net, и первым, что я увидел, был заголовок «Основы интернет-идентичности» на фоне стоковой фотографии трех рук, играющих в Дженгу - каждая выбирает кусок из очень нестабильной игры. смотря башня
Андреас

2

Я думаю, что вы путаете OpenID и другие части User Security. Ваш OP - это механизм аутентификации, а не ваша учетная запись. Здесь, на ServerFault, у вас есть учетная запись. Эта учетная запись не имеет средств аутентификации сама по себе; за исключением того, что вы указываете на один или несколько ОП.

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

Типичная система входа в систему состоит из трех частей (называемых тройной «A» или просто «AAA»):

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

Вы можете прочитать больше о системах ААА в Википедии.


Если мне разрешено указывать любой OP при каждом входе в систему, то злоумышленник может также указать любой OP при попытке взлома моей учетной записи. Таким образом, они определяют свой собственный OP и получают доступ.
Дэвид

Нет, вы просто позволите им, после входа в систему, добавить дополнительные очки OpenID для их учетной записи. Так делает это таким образом.
ceejayoz

2
@ Давид, когда вы входите в систему, вы не указываете учетную запись, а OpenID вы только указываете OpenID . Этот OpenID уже должен быть подключен к учетной записи, в противном случае вы получите возможность создания новой учетной записи (по крайней мере, здесь, на SF).
Крис С

1

Дэвид, ваше предположение неверно. OpenID работает следующим образом: 1) Вы хотите войти на сайт relyingparty.com 2) Вы предоставляете relyingparty.com свой OpenID, например, david.com 3) relyingparty.com проверяет david.com (эй, это URL) для называется конечной точкой OpenID, которую можно найти на david.com, но с помощью делегирования и где-то еще, например, yahoo.com или google.com. давайте назовем это davidsopenidprovider.com 4) Теперь вы перенаправлены на davidsopenidprovider.com. Работа davidsopenidprovider.com состоит в том, чтобы аутентифицировать вас. Вы должны авторизоваться на davidsopenidprovider.com. Это зависит от davidsopenidprovider.com, как этот логин работает. Это может быть имя пользователя / пароль, это могут быть информационные карты, сертификаты браузера, отпечатки пальцев, смарт-карты, внеполосные механизмы, такие как проверка вызова, ... Это зависит от davidsopenidprovider. ком, как он обрабатывает аутентификацию. Затем он спрашивает, действительно ли вы хотите войти в relyingparty.com. 5) Если вы успешно вошли в davidsopenidprovider.com, вы будете перенаправлены обратно на relyingparty.com и автоматически войдете туда. 6) davidsopenidprovider.com только заверяет relyingparty.com, что вы являетесь тем, кем себя представляете. Он не отправляет пароль.

Итак, ваше предположение «Как потребитель, когда я создаю учетную запись на any-site.com, я не имею понятия об интеллекте разработчиков / администраторов сайтов». ложно в отношении OpenID. Если есть слабое место, это поставщик, но не any-site.com. Это проблема с традиционными именами пользователей и паролей. Вы должны доверять каждому сайту, который предлагает логины таким образом, а не только вашему провайдеру OpenID.

Я надеюсь, что это помогает понять OpenID.


0

Откуда ты знаешь, что они делают?

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

Вы никогда не сможете изменить свой OP, не изменив также свой OpenID.

Что вы можете. Посмотрите на делегирование OpenID.

Мой OpenID - http://ceejayoz.com/ , но мой OP - это WordPress.com. Два METAтега в заголовке http://ceejayoz.com/ позволяют мне сделать это, и я могу изменить это в любое время.


0

Ваш openID - ваш провайдер. pwnguin.netмой openID Это не подлежит догадке, это просто известный факт. Что защищает мой openID, так это программное обеспечение, работающее на pwnguin.net, которое отвечает утвердительно только в том случае, если у данного посетителя есть файл cookie для аутентификации.

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


0

Это то, что я получил из ответов здесь ...

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

Проблема с OpenID, как мне кажется, двоякая ...

  1. Ваш LoginID больше не является секретным разделом только между вами и сайтом, на котором вы его используете. Это ваш OpenID, и он известен каждому сайту, на котором вы его используете, и является чем-то легко угадываемым, например, адресом электронной почты или чем-то похожим на ваш адрес электронной почты.

  2. RP могут внедрить OpenIP на своем сайте без должной осмотрительности, полагая, что, поскольку они используют широко принятый «протокол», он безопасен. Конечно, большинство заурядных разработчиков веб-сайтов не имеют истинного представления о том, как защитить сайт, но, если они реализуют свою собственную безопасность, по крайней мере, проблема № 1 не вступает в игру.

Как потребитель, когда я создаю учетную запись на any-site.com, я не имею представления о интеллекте разработчиков / администраторов сайтов. Я использую удостоверение личности, которое, я не думаю, будет легко угадать. Я не хочу, чтобы serverfault.com знал идентификатор, который я использую для входа на Etrade.com. Я также использую разные пароли на каждом сайте и управляю этими паролями по своей схеме. Весьма маловероятно, что моя учетная запись будет составлена, если только операторы сайта не являются полными идиотами.

Благодаря OpenID каждый в сети знает, как он работает и как его атаковать, если в RP нет необходимых мер.

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

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

Может быть, я просто параноик.


Я знаю это старое, но, зная, что openid "id" бесполезен ... Google, например, использует точно такой же URL для exery одного пользователя. Как знание этого помогает вам войти в stackoverflow под моим именем (кроме того, что вы знаете, что если вы сможете взломать мою учетную запись Google, вы можете быть аутентифицированы как я, но это ничем не отличается от "забыл имя пользователя / пароль").
Jmoreno
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.