Андрій Пелещишин - 22-1-2007 у 18:35
Автор - Олександр Березко
Джерело - http://it.ridne.net/what_is_openid
OpenID - Що це таке?
OpenID (http://openid.net) – це відкрита розподілена безкоштовна інфраструктура для
користувацько-орієнтованої ідентифікації у Вебі.
Чому це потрібно?
Сукупність нових технологій та підходів до розробки й експлуатації Веб-ресурсів
(Веб 2.0 - http://it.ridne.net/web2-overview) диктують учасникам великої гри під назвою "WWW" нові правила.
Якісним проривом, наприклад, стало переведення рядового користувача Інтернету зі
споживача інформації у ранг повноцінного он-лайн видавця контенту – від
коментарів до чужих статей і дописів на форумах до величезних авторських опусів у
власному блозі. Веб еволюціонував від read до read/write, що внесло принципові зміни до
самої його структури і логіки побудови.
Дискусія “що таке Веб 2.0? – добре це чи погано? – а він, взагалі, існує?” триває
подекуди ще й досі, але кожному, хто цікавиться цим питанням, зрозуміло: Веб вже
ніколи не буде таким, як раніше.
Майже необмежена свобода слова звалилася на голови користувачів WWW, і далеко не
всі зуміли належно оцінити цей подарунок і гідно його використати. Прикладом
такого негативу можна вважати величезну кількість “інформаційного сміття” у
блогосфері; відверто дилетантські статті у Вікіпедії; флуд-коментарі типу “wow!”,
“cool!” тощо.
Мабуть, однією з найвагоміших причин цього є фактична анонімність переважної
кількості користувачів Інтернету. Справді, коли людина реєструється на форумі з
Веб-псевдонімом vasya154, це ні до чого її не зобов’язує. Можна нахамити всім підряд,
досягти таким чином заборони свого логіну, а потім зареєструватися вже як petya256 і
почати все спочатку.
Є різні способи боротьби з анонімним "сміттям". Одним з них є, наприклад, вимога
адміністрації ресурсу щодо реєстрації у форматі “ім’я, прізвище” (http://misto.ridne.net). Погодьтесь, навряд чи людина створюватиме некоректний контент,
підписуючись власним іменем. Проте, такий формат імені користувача часто сильно
його обмежує (скажімо, не всі відважаться відкрито критикувати свого начальника,
навіть якщо така критика була б адекватною і потрібною).
Виходом з ситуації могла би стати наскрізна ідентифікація користувача у певній
множині Веб-ресурсів. За таких умов формат Веб-псевдоніму не є настільки важливим
– яким би абстрактним він не був - людині просто не захочеться його
компрометувати (надто багато контенту створено під цим псевдо на різних сайтах).
Проте, механізм, поширений сьогодні, - реєстрація у форматі “логін/пароль” - не
дає змоги просто і швидко здійснювати наскрізну ідентифікацію людям, які цього
прагнуть (необхідність кожного разу реєструватися; необхідність пам’ятати всі
паролі чи використовувати один для всіх сайтів, нехтуючи інформаційною безпекою)
і не робить очевидною потребу в такій ідентифікації для неофітів.
Новим принципово іншим механізмом, який покликаний сприяти наскрізній
ідентифікації користувача на багатьох Веб-ресурсах, є OpenID.
Як це працює?
Основою концепції OpenID є ідея, що кожен користувач WWW може однозначно
ідентифікувати себе за допомогою URL (варіант – XRI - eXtensible Resource Identifier), аналогічно
Веб-ресурсам.
Нехай у користувача WWW, якого звати Вася, є власний блог (для прикладу –
vasya.livejournal.com) і він є залогованим у ньому в даний момент.
Вася вирішив написати коментар до допису у блозі otherblog.com (для прикладу), але він не
має акаунту на цьому сайті. Отже, залишити підписаний коментар йому не вдасться –
треба створювати акаунт, запам’ятовувати пароль… Проте, якщо otherblog.com підтримує
механізм OpenID, Вася побачить форму “Use OpenID to login” або щось подібне – як, наприклад,
на сайті http://www.opinity.com (див. ілюстрацію).
Вася вводить у цю форму фразу “vasya.livejournal.com” (без лапок) і клікає login. Після цього
otherblog.com здійснює наступне:
1. З'єднується з vasya.livejournal.com і знаходить там OpenID сервер (Вася може навіть не
здогадуватися про існування цього серверу – все виконується автоматично).
2. Сервер otherblog.com звертається до браузера Васі з повідомленням, що OpenID сервер
знайдено.
3. Браузер Васі звертається до сервера ідентифікації, після чого є два варіанти
розвитку подій:
Перший: Якщо Вася ніколи не повідомляв свій сайт (в нашому випадку - LiveJournal), про
свою довіру до otherblog.com, LiveJournal повідомить про це otherblog.com (не надаючи жодної
інформації про Васю). otherblog.com, у свою чергу, виведе повідомлення приблизно такого
змісту (текст повідомлення залежить виключно від конкретного сайту і може бути
різним): “Вам необхідно залогінитися у LiveJournal і/або відзначити цей сайт як вартий
довіри для того, щоб ми могли здійснити вашу авторизацію. Ваш сайт, Live Journal, каже, що
ви можете зробити це тут … (далі йде гіперпосилання), після цього ви зможете
залогінитися на нашому сайті за допомогою OpenID.”
Другий: Якщо Вася вже повідомив LiveJournal про те, що довіряє сайту otherblog.com, йому вже не
доведеться турбуватися про жодні підтвердження і паролі – авторизація
здійснюватиметься автоматично: “Hello, Vasya! You're now logged in to otherblog.com as Vasya from LiveJournal”.
4. Після цього Вася дописує свій коментар і надсилає його. Сервер otherblog.com
автоматично перевіряє ідентичність Васі, застосовуючи криптографічні засоби.
Якщо otherblog.com грає за правилами, ніхто не зможе сфальшувати його ідентичність.
Суб’єктивна думка автора
У Вебі постійно з’являються нові технології та нові засоби вирішення старих
проблем. Деякі з них виходять у мейнстрім, деякі залишаються на маргінесі, і
підтримуються хіба що невеликою командою ентузіастів.
Яка ж доля чекає OpenID (наразі до мейнстріму йому ой як далеко)?
Без сумніву, механізм OpenID надає користувачам суттєві переваги і мета його
шляхетна. Але мене особисто дуже насторожує той факт, що для нормальної його
роботи треба, щоб сайти, які підтримують OpenID, “не брехали”, “грали за правилами”.
Погодьтеся, трохи смішно. Не забуваймо, що йдеться про Веб – збіговисько хакерів,
спамерів, шахраїв, простих брехунів зрештою. Розробники OpenID переконують, що це
просто нікому не потрібно – фальшувати інформацію про користувачів. “Якщо на
вашому блозі будуть зареєстровані тисяча Білів Гейтсів – який у цьому прикол?”.
Нехай. Не потрібно сьогодні – може знадобиться завтра.
Звичайно, для сайтів, які дорожать своєю репутацією, OpenID може стати зручним
альтернативним засобом авторизації користувачів. Але як відрізнити хороших від
поганих? Цензуру вводити?
Чомусь згадалась контекстна реклама Google AdSence. Думаю, на нашій планеті є десятки
(якщо не сотні) тисяч людей, які намагаються обдурити цю систему. Проте, вона
успішно функціонує, банить “клікерів”. Google успішно розрізняє багато різновидів
пошукового спаму. Все це працює і – зауважте! – нікого не просять “грати за
правилами”. Самі правила примушують з собою рахуватися.
Без сумніву, що за мейнстрімової надійної реалізації механізм OpenID міг би стати
надзвичайно корисним засобом ідентифікації особистості у WWW. Чи вдасться це йому
– покаже час.