Чи легко OpenID зламати, або я щось пропускаю?


18

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

  1. Введіть власну адресу ОП.
  2. Нехай він підтвердить їх як власник вашого OpenID.
  3. Отримайте доступ до свого облікового запису в RP.

РП "може" вжити заходів для запобігання цього, лише дозволивши OpenID перевірити оригіналом ОП, але ...

  1. Звідки ти знаєш, що вони роблять?
  2. Ви ніколи не можете змінити свій ОП, не змінивши також OpenID.

Відповіді:


7

OpenID - одна з тих систем, де потрібно довіряти кінцевим точкам. Якщо РП не заслуговує на довіру, то подібне отруєння асоціацією цілком можливо. Якщо РП насправді заслуговує на довіру, то такий вид нападу МНОГО важче. "Обхід", щоб не бути вразливим до цієї атаки, полягає у ключі до локального принципу безпеки (на ServerFault це було б представлення вашого імені користувача в базі даних заднього кінця) із зовнішньою кінцевою точкою OpenID (URL OpenID, ServerFault дозволяє асоціювати кілька з них).

Ви все ще можете напасти шляхом нападу отруєння DNS з боку RP, таким чином, скажімо, * .livejournal.com перенаправляється на ОП, який ви спеціально створили для нападу. Але це атака отруєння DNS, а не вина у самому OpenID. OpenID просто вразливий до отруєння DNS.


У цьому випадку надійний RP може стати недостовірним, оскільки вони припускають, що OpenID захищений і сам по собі.
Девід

Прочитавши це, я опинився на openid.net, і перше, що я побачив, - це заголовок "Фундамент інтернет-ідентичності" на фоні фондової фотографії трьох рук, що грають у Дженгу. дивлячись на вежу.
Андреас

2

Я думаю, що ви плутаєте OpenID та інші частини безпеки користувачів. Ваш ОП - це механізм аутентифікації, а не ваш рахунок. Тут на ServerFault у вас є обліковий запис. Цей обліковий запис не має засобів аутентифікації сам по собі; за винятком того, що ви вказуєте його на одну або кілька ОП.

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

У типовій системі входу є три частини (називається потрійне "A" або просто "AAA"):

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

Більше про системи AAA можна прочитати у Вікіпедії.


Якщо мені дозволяється вказувати будь-яку ОП під час кожного входу, зловмисник може також вказати будь-яку ОП при спробі зламати мій обліковий запис. Таким чином, вони визначають власну ОП та отримують доступ.
Девід

Ні, ви просто дозволите їм після входу в систему додавати додаткові точки OpenID для свого облікового запису. Так робить це так.
ceejayoz

2
@David, при вході ви не вказуєте обліковий запис і OpenID ви тільки вказати OpenID . Цей OpenID вже повинен бути підключений до облікового запису, інакше ви отримаєте можливість створити новий рахунок (принаймні тут, на SF).
Chris S

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

Звідки ти знаєш, що вони роблять?

Так само, як ви знаєте, що будь-який старий сайт передає ваш пароль комусь іншому - ви цього не зробите. Ось чому ви використовуєте те, що може бути авторитетною компанією.

Ви ніколи не можете змінити свій ОП, не змінивши також OpenID.

Звичайно, ти можеш. Перегляньте делегацію OpenID.

Мій OpenID - це http://ceejayoz.com/ , але моя ОП - 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 усі в WEB знають, як це працює і як його атакувати, якщо RP не має належних заходів.

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

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

Можливо, я просто параноїк.


Я знаю цей старий, але, знаючи, що відкритий "id" є марним ... Google, наприклад, використовує точно такий же URL-адрес для одного користувача Exery. Як це знає, що допоможе вам увійти в stackoverflow як я (крім того, що якщо ви не можете зламати мій обліковий запис google, ви можете бути автентифіковані як я, але це не відрізняється від "забутого імені користувача / пароля").
jmoreno
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.