Существуют ли какие-либо угрозы безопасности, связанные с использованием OpenID в качестве метода аутентификации на моем сайте? - PullRequest
21 голосов
/ 08 октября 2008

Является ли OpenID безопасным методом аутентификации пользователей на сайте?

А если нет, то какие риски безопасности связаны с OpenID?

Ответы [ 9 ]

10 голосов
/ 16 октября 2008

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

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

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

Многие веб-сайты не знают, как безопасно хранить пароли пользователей . Отличная вещь с OpenID состоит в том, что I выбирает моего провайдера OpenID и, следовательно, уровень аутентификации, необходимый для входа в систему проверяющей стороны. Например, я могу выбрать делегирование аутентификации на Verisign или Trustbearer - оба из которых предоставляют гораздо более надежные методы аутентификации, чем большинство веб-сайтов в Интернете. Я бы предпочел доверять организации, которая специализируется на безопасности с моим паролем, а не случайному веб-сайту в Интернете. Поэтому я бы сказал, что для осведомленного пользователя OpenID может быть более безопасным, чем каждый веб-сайт, реализующий свою собственную систему аутентификации.

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

7 голосов
/ 08 октября 2008

На самом деле я всегда не любил OpenID по разным причинам.

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

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

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

    3. Как уже упоминалось, данные передаются между сайтом и поставщиком OpenID и обратно. Всякий раз, когда данные обмениваются, они могут быть скомпрометированы. Ни одна система не защищена на 100%; даже не SSL (HTTPS). Разница заключается в том, что данные перемещаются только от меня в сторону и обратно ко мне или если они также перемещаются от этой стороны к другой и обратно.

    4. Если провайдер OpenID взломан и хакер получает регистрационные данные всех пользователей (в конце концов, они прекрасно централизованы в одном месте!), Просто подумайте о влиянии!

Просто назвать несколько. Я также не вижу большого преимущества OpenID. Для пользователя они говорят

  1. Быстрее и проще регистрация и вход
    • Снижение разочарования от забытого имени пользователя / пароля
    • Поддержание актуальности личных данных на предпочитаемых сайтах
    • Минимизация рисков безопасности пароля

Хорошо, давайте проанализируем это.

(1) Как часто вы регистрируетесь на страницу в день? 200 раз? Если я регистрируюсь на 2 страницы в неделю, это уже чертовски много. Обычно максимум 2-3 месяца (на самом деле Stack Overflow, или мой поставщик OpenID для использования Stack Overflow, был последней страницей, которую я зарегистрировал, и это было не совсем вчера). Таким образом, когда вы регистрируетесь на 2 сайта в месяц, у вас нет 5 минут, необходимых для заполнения формы? Давай, не будь смешным.

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

(3) Ну, это, вероятно, что-то положительное ... однако мое имя до сих пор не изменилось, мой адрес электронной почты также не изменится, так как это один из доменов, которые я использую, и перенаправлен на реальный адрес так что реальное можно изменить, я просто обновляю форвард и все работает как раньше). Мой почтовый адрес? Ну, некоторые люди много двигаются. Я только переехал один раз в моей жизни до сих пор. Однако большинству сторон не нужно знать мой адрес. Сайты, где я не вижу причин, чтобы люди знали эту информацию, но которые требуют, чтобы я заполнил ее для регистрации, просто получите поддельную. Во всем Интернете очень мало сайтов, которые знают мой реальный адрес (фактически, только те, которые могут когда-либо отправлять мне обычные письма или где я мог бы заказать товары).

(4) На самом деле я вижу это наоборот. Это максимизирует риск безопасности. Как это минимизирует риск?

6 голосов
/ 08 октября 2008

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

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

Существует множество других проблем безопасности с OpenID. Вы можете найти больше информации в «Конфиденциальность в Интернете» .

4 голосов
/ 09 октября 2008

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

Просмотрите раздел безопасности спецификации.

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

2 голосов
/ 09 ноября 2011

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

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

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

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

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

Поскольку учетную запись OpenId можно получить, просто получив доступ к одному письму, это всего лишь дополнительная точка отказа.

См. Также: http://danielmiessler.com/blog/from-password-reset-mechanisms-to-openid-a-brief-discussion-of-online-password-security, где также указывается «Самая слабая ссылка: механизмы сброса пароля электронной почты».

2 голосов
/ 24 апреля 2009

OpenID можно сделать более безопасным, если вы решите игнорировать всех поставщиков OpenID, которые не поддерживают HTTPS

1 голос
/ 29 июня 2013

Пока эта ветка старая, я хотел добавить свои 2 цента. Я думаю, что у OpenId есть один недостаток, который, кажется, никого не волнует. Когда я проверяю подлинность с помощью Yahoo, на самом деле я захожу в Yahoo. Он не должен регистрировать вас в Yahoo, он должен просто подтвердить, что у вас есть правильные учетные данные с Yahoo. Когда вы выходите из моего приложения, вы все равно заходите в Yahoo. Если вы уйдете с компьютера с общим доступом, а другой человек пойдет в Yahoo, вы войдете в систему ... потому что, когда вы проходите аутентификацию в Yahoo, они также регистрируют вас в своем сервисе. Они должны просто аутентифицировать вас, а не входить в систему. Я рассказал об этом нескольким людям и даже продемонстрировал это на stackoverflow.com (у которого ужасный механизм выхода из системы, когда я нажимаю кнопку выхода, я ожидаю выхода из системы, не нажимайте еще одна кнопка выхода из системы). Попробуйте выйти из Yahoo или Gmail. Закройте все свои вкладки и войдите в stackoverflow с помощью Yahoo / Gmail. Затем выйдите из переполнения стека ... (убедитесь, что вы дважды нажали кнопку "Выход"). Теперь перейдите к Yahoo или Gmail, вы вошли в систему. Теперь я получаю простой ответ: "Не используйте общий компьютер, вы должны выйти из системы". Yahoo / Gmail и т. д. "... Каждый не является разработчиком со степенью в области MIS или информатики, моя свекровь подумала бы, когда она выйдет из Stackoverflow, что она не войдет в Yahoo еще .. Возможно, я я пропускаю какой-то parm или что-то, что на самом деле будет вызывать то, что я хочу, но это, безусловно, не указано в документации, рассказывающей, насколько велик OpenId !!!

0 голосов
/ 22 апреля 2012

Уч. MyOpenID сообщает о неподтвержденных адресах электронной почты, только что проверил это. Похоже, что информация по электронной почте должна быть доверенной только для некоторых поставщиков, занесенных в белый список, таких как google / yahoo и некоторых других Я свяжу здесь код, если кому-то интересно.

0 голосов
/ 11 сентября 2009

Мне нравится VIP-доступ Verisign, который могут использовать сайты, и есть небольшое симпатичное приложение для iPhone, которое позволит вам получить сгенерированный токен, очень похоже на secureID

...