- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF90:Что за штука...
Материал из Linuxformat.
Что за штука... OpenID?
Вы уже перестали понимать, кто вы такой? Все, что вам нужно – это URL, утверждает Марко Фиоретти.
- Что такое OpenID?
Если верить лозунгу с домашней страницы OpenID (http://openid.net), это – лучшее изобретение человечества со времен колеса: «открытая, свободная, распределенная система поддержки цифровой личности, ориентированная на пользователей».
- И как понимать слова «цифровая личность»?
Грубо говоря, это любой программный метод и набор цифровых данных, позволяющие системе выяснить (без какой-либо неопределенности и дыр в безопасности), кем кто-то или что-то является на самом деле.
- Но я совершенно не хочу, чтобы кто-то выяснял, кто я такой! Интернет-свобода существует исключительно благодаря анонимности!
Ну, начнем с того, что действительная анонимность в Интернете – это всего лишь иллюзия. Для того, чтобы действительно замести все следы, нужно предпринять много действий, часть из которых иногда противоречит договору с интернет-провайдером, а то и просто незаконна. Но даже при этих условиях бывает множество ситуаций, в которых вы сами хотите или должны дать знать интернет-партнеру о том, кто вы такой.
- Например?
Например – интернет-банкинг. Для вас жизненно важно, чтобы банк проверил, кто вы такой. Да и вам было бы полезно проверить, что вы в своем банке, а не в одном из широко расплодившихся мошеннических сайтов. Существует множество ситуаций, в которых возможность быстро идентифицировать всех интернет-участников может сэкономить много усилий и времени.
Некоторые люди уже используют OpenID, чтобы дать возможность друзьям читать их закрытые публикации в LiveJournal, не проходя регистрацию на этом сайте.
- Гмм... Ну, пускай. Но кто контролирует OpenID? Правительство? Злобные инопланетяне? Или еще какой-нибудь Большой Брат?
А вы помните «ориентировку на пользователя», кото- рую я упоминал в самом начале? OpenID зиждется на том, что каждый может идентифицировать себя самостоятельно, а также предоставить сервис цифровой идентификации для других. Конечно, благонадежность какого-то из самодельных провайдеров может вызывать вопросы, но зато никто не завязан на одну-единственную организацию.
- И как работает OpenID?
Если вы хотите узнать все подробности, не вникая при этом в технический жаргон – прочитайте пошаговое описание (с красивыми картинками), опубликованное на http://www.openidenabled.com/openid/openid-protocol. Ну, а я попробую показать вам на пальцах.
- Как мило. А я по-прежнему должен буду помнить все эти имена, пароли и вымышленные девичьи фамилии бабушки?
Нет. OpenID использует всегда один и тот же URL, обычный интернет-адрес, вне зависимости от того, на каком сайте вы хотите заявить о себе. Ваш пароль и любая другая идентификационная информация, которой вы согласны поделиться, известна только выбранному вами серверу OpenID.
- 'Прекрасно, выходит, мне нужно установить и обслуживать еще одно приложение, работать с которым могут только хакеры.
Не обязательно... Вы, конечно, можете запустить свой собственный сервер OpenID у себя дома, но можете воспользоваться и одним из сторонних провайдеров. Их список есть на http://www.lifewiki.net/openid/OpenIDServers.
- Ну что ж, до сих пор все звучит неплохо. Как мне воспользоваться OpenID?
Если вы просто хотите выступить в качестве потребителя, то есть идентифицироваться при помощи OpenID на поддерживающих его сайтах (не интегрируя при этом его поддержку в свой собственный сайт), то все, что вам нужно – это получить свой идентификатор. Их существует два типа – URL и XRI (eXtensible Resource Identifiers, расширяемый идентификатор ресурса). Самый быстрый и простой способ получить URL – это регистрация на одном из общедоступных провайдеров OpenID. При этом вы получите адрес, обычно в виде http://yourname.someOpenIdprovider.com, уже настроенный на представление OpenID.
- Это значит, что я не могу использовать свое собственное доменное имя как свой OpenID URL, если я предварительно не настроил на нем OpenID-сервер?
Конечно, можете! Между прочим, сделать вашу домашнюю страницу вашим OpenID URL – это гораздо круче и профессиональнее и не требует большого труда! Для начала зарегистрируйтесь на каком-нибудь провайдере OpenID. После чего добавьте в секцию <head> вашей домашней страницы несколько строк (подробная инструкция находится по адресу http://www.openidenabled.com/openid/use-your-own-url-as-an-openid) – и готово! Любой, кому потребуется идентифицировать вас по OpenID, найдет на вашей домашней странице указание, с каким сервером для этого нужно связаться.
- Пусть у меня уже есть нужный URL. Что мне с ним делать, когда я хочу доказать, что я – это я?
Чтобы зайти на любой сайт с поддержкой OpenID, найдите нужную форму и укажите в ней свой URL. Сайт использует его, чтобы связаться с вашим провайдером OpenID, и автоматически перенаправит вас на форму входа, расположенную на нем. После того, как вы пройдете аутентификацию на сервере OpenID, ваш провайдер сделает две вещи, причем опять же автоматичеcки. Во-первых, он передаст подтверждение на тот сайт, с которого вы изначально делали запрос, что вы – это действительно вы, и с этого момента вас надо рассматривать как полноценного зарегистрированного пользователя системы. Во-вторых, провайдер перенаправит вас на ту самую страницу, с которой вы начинали.
- Если мне по-прежнему придется вводить пароль, то в чем тогда смысл OpenID?
Смысл в том, что теперь вам надо помнить всего один URL и всего один пароль, вне зависимости от того, сколько сайтов вы посещаете. В зависимости от политики сайта, ваш провайдер может запросить у вас разрешение на передачу каких-то дополнительных персональных данных. Сейчас разрабатывается система, позволяющая делать то же самое автоматически, еще проще и быстрее. И, конечно же, вас всегда спросят, устраивает ли вас доверяемый корневой элемент (trust root) web-сайта, который пытается идентифицировать вас.
- Ээ... Простите, доверяемый что?
Доверяемый корневой элемент (ДКЭ) – это строка, похожая на обычный URL, которую сайты, поддерживающие OpenID, должны отправлять вместе с каждым запросом на вашу идентификацию. ДКЭ позволяет добиться того, что ваш провайдер OpenID не будет автоматически подтверждать вашу личность для всех сайтов на свете. Сначала (когда вы будете перенаправлены на сервер OpenID) он должен спросить вас, согласны ли вы с тем, чтобы запрос на авторизацию автоматически подтверждался для всех доменов и поддоменов адреса, приведенного в качестве ДКЭ. Конечно, если вы выполняете вход на сервер http://www.someonlineshop.com, а провайдер OpenID запрашивает у вас согласие на вход в http://www.westealcreditcards.com, соглашаться – не самая лучшая идея. Никогда не подтверждайте ДКЭ, URL которых не совпадает с адресом посещаемого вами сайта!
- Какова оборотная сторона медали OpenID?
Точно такая же, как и у любого доменного имени в Интернете, или, если хотите, у телефона или домашнего адреса – к сожалению, никто не гарантирует, что они останутся неизменными на протяжении вашей жизни. И, точно так же, опрометчиво надеяться заполучить адрес, состоящий из вашего имени и фамилии, особенно если вас зовут Иванов Иван Иванович.
- Неужели эта проблема неразрешима?
Ну почему же... Расширенные идентификаторы ресурсов, которые я упоминал выше, решают проблемы постоянного адреса, так как они всегда состоят из двух частей. Первая часть называется i-name – это просто строка, которую несложно запомнить и легко передать кому-то другому. Но когда кто-нибудь запрашивает i-name в первый раз, он всегда выдается одновременно с еще одним идентификатором, i-number, который уже никогда не может быть выдан кому-то еще. В дальнейшей работе i-name выступает только в качестве синонима i-number. Такая схема позволяет, кроме всего прочего, запросить новый i-name для существующего i-number, когда старый становится недействительным (чаще всего такое происходит, когда меняется название бизнеса).
- Где я могу найти онлайновую документацию?
На официальном сайте OpenID и в списках рассылки, расположенных по адресу http://openid.net/mailman/listinfo. В них рассматриваются вопросы безопасности, впечатления пользователей и так далее.
- А что если я захочу добавить поддержку OpenID в мое web-приложение?
Замечательно! Зайдите на http://www.lifewiki.net/openid/OpenIDLibraries и возьмите оттуда готовый код. Уже существуют интерфейсы для использования его из PHP, Perl, Python, Java и многих других языков программирования.
- Не сомневаюсь, что им требуются разработчики...
Так и есть. Если вы не против запачкать руки, заходите на http://www.openidenabled.com. Кроме того, вы можете побороться на http://iwantmyopenid.org/bounty за приз, предназначенный для тех, кто интегрирует OpenID в приложения FOSS. Но разработчикам нужен не только код. Если вы чувствуете, что в вас проснулся проповедник OpenID, срочно идите на http://iwantmyopenid.org!
- Что будет с OpenID дальше?
Сейчас идет работа над OpenID Authentication 2.0. Это обновление спецификации ключевой функции OpenID – аутентификации пользователей. Еще одна новая спецификация, OpenID Attribute Exchange, дает пользователям возможность указывать, каким образом провайдер должен делиться элементами личной информации (телефоном, адресом) с третьими лицами.
- Как вы думаете, это будет работать, или это просто еще один мыльный пузырь?
Посмотрите на список сайтов, которые уже поддерживают OpenID, на http://www.myopenid.com/directory. В него входят Technorati и Movable Type! Чтобы Интернет стал действительно полезным, ему необходима открытая, распределенная и вездесущая система поддержки цифровой личности. Когда OpenID превратится в такую систему – это уже другой вопрос. Но если он будет интегрирован в такие продукты, как WordPress и Drupal, он может очень быстро стать стандартом de facto перед тем, как эту нишу займет кто-нибудь другой, чем поможет нам избежать множества проблем в будущем. LXF