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

Конечно, можно записать пароли и идентификаторы на стикеры и ориентироваться с их помощью. Те же, кто активно работает в Интернете, теперь нередко применяют единый логин, заведенный для доступа в социальную сеть Facebook, Google или, например, Twitter, особенно при обращении к сервису, который использует данные одного из этих краеугольных камней Интернета. У большинства из нас такой подход срабатывает, а войдя в сеть, мы размещаем в ней фотографии, заметки и все прочее. Возможность легко получить доступ к сервису без специального идентификатора и пароля предоставляет нам малоизвестный протокол, именуемый OAuth.

История OAuth (Open Authorization) началась осенью 2006 г., когда разработчики OpenID приступили к обсуждению способов делегирования аутентификации с помощью интерфейса API. В эту группу входили Блейн Кук, в ту пору ведущий разработчик сети Twitter, Ларри Халф из компании, которая теперь называется Gnolia, Крис Мессина, ныне работающий в Google, Дэвид Рекордон из Facebook и другие.

В течение года был подготовлен проект основной спецификации. С тех пор спецификация была опробована на некоторых продуктах, и с прошлого года рабочая группа IETF обсуждает вопросы, которые должны быть решены, прежде чем OAuth можно будет рассматривать в качестве возможного стандарта.

Весной этого года вокруг OAuth стали происходить действительно важные события. Рабочая группа внесла в протокол изменения, которые делают оправданным присвоение ему номера 2.0, появившегося в новом проекте спецификации от 22 апреля. Генеральный директор Facebook Марк Зукерберг объявил на организованной его компанией конференции разработчиков F8 в Сан-Франциско (США), что выпуская пакет Open Graph, компания отказывается от бренда Facebook Connect и переходит к использованию протокола OAuth в качестве предпочтительного метода аутентификации. Рискуя несколько переборщить, берусь утверждать, что OAuth является самой горячей темой в области идентификации пользователей.

Не только доступ, но и безопасность

Сторонники OAuth часто сравнивают его с ключом от роскошного автомобиля, предназначенным для обслуживающего персонала. Такой ключ позволяет парковщику вести машину в радиусе одной-двух миль, но блокирует выезд на шоссе и автомобильный телефон. OAuth сходным образом позволяет конечным пользователям предъявить предоставленные ему одним сайтом или одним сервисом полномочия и обеспечивает другому сервису доступ к данным на первом сайте, не раскрывая пароль пользователя второму сайту.

Эран Хаммер-Лахав, директор Yahoo по разработке стандартов и редактор спецификации OAuth, пояснил, что при таком сценарии все оказываются в выигрыше. “Вы можете создать самое совершенное приложение, соединив между собою любые элементы, какие вам заблагорассудится. Вы перемещаетесь в этой среде, используя идентификатор, который открывает доступ ко всем этим данным или, во всяком случае, соединяет все вместе, благодаря чему любой сервис может найти то, что нужно”.

Случайному человеку может показаться, что примерно то же нам обещали, когда речь шла о единой точке входа (single sign-on, SSO), но это неверно, считает Хаммер-Лахав. Во-первых, с SSO лучше сравнивать протокол OpenID, а OAuth вообще не нуждается в OpenID. Во-вторых, смысл OpenID заключается в регистрации пользователя на множестве сайтов, тогда как OAuth устраняет необходимость в регистрации на каком-либо сайте кроме того, который обеспечивает проверку личности пользователя. На практике OpenID и OAuth дополняют друг друга, отметил Хаммер-Лахав. Он добавил, что некоторые приверженцы OAuth, в том числе Рекордон из Facebook, предложили рассматривать проверку подлинности пользователя в качестве ресурса и в этой связи определить OpenID как надстройку над OAuth.

Хаммер-Лахав утверждает, что SSO не имеет большого смысла даже в корпоративной среде. “У одного из моих прежних сотрудников было около полусотни внутренних систем, — рассказал он. — В компании пытались создать для них единую точку входа. Основное ее достоинство заключалось в том, что вам не нужно было запоминать пятьдесят паролей, но нужно было пятьдесят раз зарегистрироваться ”.

Аналитик Майкл Котэ из компании RedMonk утверждает: “Интеграция — это извечная проблема независимо от типа идентификации, будь то в корпоративном секторе или у частных лиц. Вы можете интегрировать 95% различных сервисов, и никто этого не заметит. Но всем бросится в глаза, что 5% не интегрированы, и люди будут думать, что у вас вообще отсутствует интеграция”.

С точки зрения Хаммера-Лахава, простая и при этом надежная аутентификация и процесс авторизации важны для приложений и сервисов в Интернете. “Всё, что затягивает процесс подключения, как правило, вредит вам. Расплачиваться за это приходится потерей посетителей”, — подчеркнул он.

Кто-то может подумать, что механизмы типа OAuth представляют большой интерес для поставщиков корпоративных систем защиты. Однако в настоящее время они не являются предметом активного обсуждения. По мнению Котэ из компании RedMonk, предприятия пренебрегают совершенствованием идентификации пользователей, и основные достижения в этой области принадлежат популярным сайтам, таким как Facebook и Twitter.

Вероятно, так оно и есть, поскольку с появлением приложений для работы в вычислительных облаках проблема идентификации и обеспечения безопасности оказалась вывернутой наизнанку. “Новый аспект проблемы идентификации заключается в обеспечении доступности информации широкому кругу пользователей, — отметил Котэ. — В классическом виде идентификация связана в первую очередь с обеспечением безопасности и с предотвращением вторжения хакеров. Она призвана гарантировать, что тот, кому положено, делает то, что ему положено… В эпоху Facebook идентификация используется для прямо противоположных целей. Она призвана максимально упростить коллективный доступ к как можно большему объему информации”.