В одной из предыдущих статей я рассматривал корпоративную версию определения идентичности в «облаке», где провайдер идентичности — хранилище, которое содержит все идентификаторы пользователя, пароли и другую информацию об идентичности, — это компания, где вы работаете. Для 93% компаний из списка Fortune 1000 информация об идентичности хранится в службе каталогов Active Directory (AD). .
Зачем профессионалу в области корпоративной идентичности заботиться о проверке идентичности пользователя? Одна причина в том, что обратной стороной проверки идентичности пользователя также является и подобная проверка корпоративной идентичности; ведь, в конце концов, пользователи связаны с бизнесом через веб-браузер. Если ваш бизнес привлекает клиентов и они заходят на сайты вашей компании, то вам нужно разбираться в вопросах определения идентичности пользователя. Как ваши пользователи аутентифицируются на ваших сайтах? Легко ли это? Безопасно ли?
Другая причина того, что вам необходимо уметь определять идентичность пользователя, состоит в том, что вы сами — пользователь.
Сегодня: слишком много паролей
Основная разница между определением идентичности компании и пользователя состоит в том, что у идентичности пользователя не один провайдер идентичности. Другими словами, нет единого авторитетного хранилища идентичности, такого как AD. Каждая прикладная служба или сайт создавали собственное хранилище идентичности — ситуация неудачная во многих отношениях. Первое и самое очевидное последствие состоит в том, что пользователям нужно запоминать много паролей (в моем случае по примерным подсчетам — 210). Многие пароли передаются текстом через Интернет. В следующий раз, регистрируясь на сайте, посмотрите: многие ли из них используют формат шифрования SSL? Многие сайты шифруют страницу, где пользователи предоставляют информацию о кредитных картах, но они могут не зашифровать страницу регистрации учетной записи. Если страница не начинается с https, то пакет httр, содержащий текстовый пароль, может быть просмотрен любым пользователем, который может мониторить трафик.
Создание сложного пароля, конечно же, важно. Теперь повторите весь процесс для остальных своих веб-сайтов, убедившись, что каждый из паролей уникален. Вас должно хватить примерно на три сайта, потом вы устанете и начнете повторяться.
Затем следует подумать о системе защиты у провайдера идентичности. Как защищены данные учетной записи у какого-либо провайдера идентичности, узнать практически невозможно. Взлом Gawker Media в декабре — яркий тому пример. Базы данных пользователей компании Gawker, поддерживающей такие сайты, как Gizmodo и сам сайт Gawker, были взломаны: более миллиона пользовательских имен, электронных почтовых адресов и паролей были выложены в Интернет. Брешь в системе защиты одного человека — это возможность исследования со стороны другого человека. Стала доступной реальная база пользователей, которую можно было анализировать с точки зрения безопасности. Как выяснилось, пользовательские пароли для сайтов действительно очень слабы: наиболее распространенными паролями для регистрации на сайтах Gawker Media были «123456» и «password»!
Однако было бы неразумно требовать от обычного пользователя Web придумывания уникального пароля для сотни сайтов, четырех основных браузеров и, возможно, нескольких компьютеров. Лично я не могу справиться с этим.
LastPass, дополнительный модуль для четырех главных браузеров, — разумное решение данной проблемы. Он захватывает пользовательские ID и пароли, которые вы вводите на сайтах, шифрует их в определенном месте при помощи одностороннего секретного хеша и сохраняет в 256-разрядном шифрованном хранилище на сервере компании. На вашем компьютере есть ключ расшифровки, поэтому только вы можете прочитать эти данные. LastPass также может заботиться о принципе «не используйте пароль повторно», поскольку он генерирует уникальные, сложные (и незапоминаемые) пароли для каждого сайта.
Завтра: более короткие безопасные пароли
Однако ситуация с пользователями при аутентификации в Web не так ужасна. Хотя не существует одного общего провайдера (по правде говоря, никому это не нужно), есть несколько крупных безопасных провайдеров для пользователей, таких как eBay, Facebook, Google, Microsoft Live, PayPal и Yahoo. Практика повторного использования существующих учетных данных провайдеров идентичности для получения доступа к прикладным веб-службам (а не создание новых учетных данных для получения доступа к новой) быстро становится популярной. Преимущества очевидны: пользователю больше не нужно запоминать сотни паролей, необходимо запомнить только пароли у провайдеров идентичности. У поставщика службы нет пароля, который придется взламывать. А поставщик может не заниматься функциями провайдера идентичности (что для него вторично). Это однократная регистрация Single Sign-On (SSO)? Да, но на практике это только SSO для сайтов и служб, которые используют данные технологии. Самыми распространенными стандартами для обеспечения этого вида SSO являются OpenID и OAuth.
OpenID. OpenID (openid.net) — это открытый стандарт, который использует перенаправление браузера для завершения процесса предъявления пароля. Согласно информации на сайте, со времени его создания в 2005 году насчитывается более 50000 сайтов, которые принимают OpenID для регистрации (это делает их клиентами OpenID), и более миллиарда учетных записей по всему Интернету могут использовать его (поскольку их учетные записи находятся у провайдеров OpenID). Как он работает? Когда веб-пользователь пытается зарегистрироваться у клиента OpenID (также называемого доверяющей стороной, relying party, поскольку они полагаются на информацию об идентичности, получаемую от провайдера идентичности), он видит поле для регистрации с использованием существующей учетной записи у одного из нескольких провайдеров OpenID, перечисленных на странице регистрации. Когда пользователь щелкает по логотипу провайдера, он направляется на сайт провайдера, где должен разрешить либо запретить передавать определенную информацию (обычно она перечислена) сайту во время регистрации. Теперь все, что осталось, — это нажать OK. Например, Боб хочет зарегистрироваться на сайте stackoverflow.com. На странице регистрации его спрашивают: «У вас уже есть учетная запись на одном из этих сайтов?». Затем система выдает набор логотипов провайдеров идентичности, из которого можно выбрать желаемый. Боб выбирает Google, и его перенаправляют на страницу Google Accounts, где появляется вопрос, хочет ли он разрешить совместное использование его электронной учетной записи у Google с Stackoverflow (согласие нужно дать только один раз). После того как Боб щелкнет Allow, его перенаправляют обратно на Stackoverflow, где теперь он аутентифицирован, и больше ничего делать не нужно.
OAuth. Строго говоря, это не совсем технология аутентификации, но такие возможности у нее есть. Сейчас OAuth используется преимущественно для авторизации веб-служб. Однако Facebook и Twitter используют OAuth для аутентификации. Facebook использует ее для Facebook Connect, который позволяет задействовать вашу учетную запись Facebook для регистрации на других сайтах. Twitter требует этот протокол для всех приложений, которые хотят получить доступ к данным Twitter. Таким образом, даже хотя OAuth нельзя назвать в чистом виде технологией аутентификации, он широко используется. В будущем ожидается, что OAuth станет очень популярным для аутентификации на мобильных устройствах, поскольку его процессу аутентификации не требуется браузер.
Имея такой выбор провайдеров идентичности, я бы предпочел использовать только некоторые из них. С одной стороны, любое место, где вы хотите зарегистрироваться с Google, зашифровано, как и все транзакции Gmail. С другой стороны, регистрация по умолчанию на Facebook не зашифрована. Вы знаете, что есть SSL-страница регистрации на Facebook? Просто добавьте s к http в URL Facebook. Facebook не озвучивает этот факт специально. Без шифрования SSL все ваши транзакции с Facebook можно увидеть по сети, которая позволяет такие действия, как использование Firesheep для захвата и применения ваших cookies-файлов сессии и взлома учетной записи. И принцип «невмешательства» со стороны Facebook в плане обеспечения конфиденциальности не обнадеживает.
Есть некоторые мысли и о качестве определения идентичности. Запись об идентичности создается у провайдера идентичности, но насколько она реальна? Стоит ли за ней человек с реальной информацией или она генерируется программой-роботом? Если провайдер этой услуги в чем-то смущает вас, то провайдеры идентичности для финансовых услуг, такие как Verisign или PayPal, должны быть в верхних строчках вашего списка предпочтений, поскольку у них более строгий контроль.
В будущем: ваша идентичность потерялась в «облаке»?
Забегая вперед, скажу, что специалисты по идентичности в «облаке» смотрят в сторону, когда несколько провайдеров идентичности имеют несколько элементов вашей онлайн-идентичности (но ни у одного нет всех), и вся ваша пользовательская цифровая онлайн-идентичность представляет собой множество элементов идентичности от разных провайдеров. У Google есть ваш почтовый адрес, PayPal знает счет вашего банка, на Facebook находятся ваши друзья и известен день вашего рождения (если вы не осторожны), на Windows Live есть информация для игр. Как вы можете безопасно передать нужную часть из всех этих данных, например, на мобильное устройство? И как легко сможете контролировать доступ к данным? Этот шаг включает создание федерации между провайдерами идентичности.
Веб переходит к меньшему количеству паролей, используя такие стандарты, как OpenID и OAuth. А пока утилиты типа LastPass могут программным способом помочь управлять множеством паролей. Если вы работаете со службой, ориентированной на потребителей, вам подойдет OpenID или OAuth, с ним вы можете избежать дополнительных затрат и уменьшить уязвимость своего хранилища идентичностей. Вам следует призывать пользователей к регистрации с учетными записями уже существующих провайдеров идентичности, когда это возможно, а если они не могут и SSL доступен, то задействовать регистрацию с SSL и использовать LastPass для повышения личной безопасности.
Шон Дьюби (sdeuby@windowsitpro.com) — старший аналитик в компании Platform Vision. Внештатный редактор Windows IT Pro, имеет звание MVP