Информационные карты представляют собой XML-файлы c цифровой подписью, с помощью которых можно идентифицировать себя на Web-сайтах, поддерживающих технологию CardSpace.
CardSpace — это часть технологии Microsoft Identity Metasystem, Internet-ориентированного подхода компании к управлению идентификацией. С появлением технологии Identity Metasystem корпорация Microsoft отказывается от понятия универсальной и однопользовательской идентификации в Internet. Помните ранние времена Microsoft Passport? Вместо этого корпорация теперь фокусируется на создании универсальной инфраструктуры, которая сможет объединить существующие и будущие системы управления идентификацией и обеспечить взаимодействие между этими разрозненными системами. Более подробно об Identity Metasystem рассказано в статье, опубликованной на сайте Microsoft, «Microsoft's Vision for an Identity Metasystem» (http://msdn.microsoft.com/en-us/library/ms996422.aspx).
А теперь посмотрим на компонент CardSpace и его интерфейс и попробуем понять, какую пользу может получить от CardSpace обычный пользователь Windows. Кроме того, выясним, на чем основано функционирование CardSpace.
Что может CardSpace
CardSpace предоставляет удобную для использования и безопасную альтернативу традиционной схеме «имя пользователя/пароль» для идентификации и проверки подлинности в Internet. И хотя использование имен и паролей является пока еще господствующей парадигмой идентификации и проверки подлинности в Internet, этот подход имеет немало слабых мест. С паролями очень много хлопот: пользователи вынуждены иметь дело со слишком большим их количеством, а это приводит к повторному использованию и созданию слабых паролей. Неумелая практика управления паролями создает массу возможностей для злоумышленников. Прибавьте увеличение числа краж паролей с помощью поддельных Web-сайтов и перехвата данных через каналы связи (так называемых атак man-in-the-middle), и вам станет понятно, почему схема «имя/пароль» далека от идеала.
CardSpace в состоянии решить эти проблемы. Пользователям с информационными картами не требуется запоминать различные комбинации имен и паролей; они могут просто выбрать нужную из набора карт CardSpace, чтобы идентифицировать себя на сайте, поддерживающем CardSpace. Информационные карты защищены лучше, чем пароли, так как они при хранении и передаче по сети шифруются надежным алгоритмом Advanced Encryption Standard (AES).
Во взаимодействии с помощью CardSpace участвуют три стороны: пользователь, провайдер идентификации и доверяющая сторона. Пользователь управляет всеми операциями, в которых использует свои информационные карты. Он выбирает, какие информационные карты создавать и какие задействовать для идентификации на конкретном Web-сайте.
Провайдеры идентификации издают информационные карты для пользователей. Например, компании могут выпускать удостоверения для своих заказчиков, а организации — идентифицировать своих сотрудников. Информационные карты, которые выпускают компании, онлайновые службы, организации или правительственные учреждения, называются «обслуживаемыми» картами. Обслуживаемые информационные карты специфичны для каждого сайта, организации или компании. Они выпускаются сторонними провайдерами идентификации, которые могут взимать с пользователя плату за выпущенную информационную карту. Информационная карта предоставляет «утверждения» о владельце от его имени. «Утверждение» есть понятие Identity Metasystem, обозначающее набор фактов и сведений о пользователе. Имя и пол пользователя, доказательство того, что подлинность пользователя проверена определенным уполномоченным органом, — примеры «утверждений», которые могут храниться в обслуживаемой информационной карте. С точки зрения идентификации пользователя информационные карты можно сравнить с сертификатами SSL, которые мы используем для идентификации на Web-сайтах.
Но пользователи могут быть провайдерами идентификации сами для себя и издавать собственные информационные карты, которые называются «личными» («самоизданными») информационными картами. В отличие от обслуживаемых информационных карт личные информационные карты являются универсальными картами общего назначения и могут использоваться с различными приложениями и/или Web-сайтами. Не все сайты и приложения принимают личные информационные карты. В процессе обмена информацией CardSpace Web-сайт может потребовать, чтобы информационная карта пользователя была обслуживаемой картой, выпущенной доверенным провайдером идентификации, таким, например, как удостоверяющий центр VeriSign.
И наконец, доверяющая сторона принимает и задействует информационные карты, предоставляемые пользователем. Доверяющей стороной обычно являются Web-сайты, которые применяют информационные карты для идентификации и/или проверки подлинности пользователей либо для персонализации Web-контента.
Интерфейс CardSpace
CardSpace хранит различные цифровые удостоверения пользователей и представляет их пользователям в виде информационных карт. В терминологии Identity Metasystem система CardSpace также называется «селектором удостоверений»: она предоставляет удобный интерфейс, который позволяет легко выбирать и использовать различные удостоверения в приложениях и на Web-сайтах.
Для ознакомления с интерфейсом CardSpace следует зарегистрироваться на любом поддерживающем CardSpace Web-сайте. Примеры таких сайтов: signon.com или сайт Кима Кэмерона (Kim Cameron) Identity Weblog (http://www.identityblog.com/). Ким является автором проекта «Законы идентификации» (The Laws of Identity). В правом верхнем углу стартовой страницы сайта находится значок для регистрации в системе с помощью CardSpace (буква «i» в пурпурном прямоугольнике).
Когда вы щелкаете по этому значку, при первом использовании CardSpace на этом сайте перед пользователем появляется диалоговая панель с вопросом Do you want to send a card to this site? («Хотите отправить карту на этот сайт?»), как показано на экране 1. Этот диалог позволяет идентифицировать Web-сайт перед отправкой на него одной из персональных информационных карт. На панели Tasks в правой части окна следует просмотреть сведения из сертификата X.509 или «Заявление о конфиденциальности» данного сайта. Это демонстрирует ключевое преимущество в безопасности технологии CardSpace: проверка подлинности сервера. Проверка подлинности сервера также является одним из аргументов, почему CardSpace может лучше защитить пользователей от такого вида мошенничества, как «фишинг». Фишинг-атаки представляют собой попытки злоумышленника, выдавая себя за заслуживающий доверия объект, заполучить такую конфиденциальную информацию о пользователях, как их имена, пароли, информация о кредитных картах.
Основываясь на доверии к идентифицирующей данный сайт информации, следует принять решение и выбрать одну из информационных карт, щелкнув ссылку «Да, выбрать карту для отправки» (Yes, choose a card to send), либо прекратить обмен данными CardSpace, щелкнув ссылку «Нет, вернуться на сайт» (No, return to the site).
Если вы хотите продолжить обмен данными CardSpace и если это первый случай использования CardSpace в вашей системе, появится экран с приглашением создать карту для отправки (Create a card to send to), где можно выбрать либо создание личной информационной карты, либо установку обслуживаемой карты.
Если вы решаете создать личную карту, появляется диалоговая панель для редактирования новой карты Edit a new card, показанная на экране 2. Здесь пользователь задает имя новой информационной карты, выбирает значок или картинку для представления карты и вводит значения определенных параметров, которые будут храниться в информационной карте. Когда вы создаете новую информационную карту для идентификации себя на определенном Web-сайте, CardSpace отмечает красным цветом те параметры карты, которые обязательны для данного сайта. Эти параметры образуют то самое «утверждение», которое сайту необходимо получить от пользователя до того, как пользователь получит доступ к его содержимому.
Если вы выберете вариант установки обслуживаемой карты, CardSpace запросит информационный файл карты (то есть файл с расширением .crd).
Если вы ранее уже использовали CardSpace (в этом случае ваше хранилище CardSpace уже содержит информационные карты), то появится экран Choose a card to send to, который показывает информационные карты, доступные в данный момент в системе (экран 3). В списке доступных информационных карт будут как личные, так и обслуживаемые информационные карты.
Чтобы определить, какие подробности содержатся в информационной карте, следует выбрать нужную карту и нажать кнопку просмотра Preview. Если вы уже использовали какую-либо карту, экран просмотра будет содержать историю использования этой карты и дату ее создания (экран 4).
Помимо демонстрации всех данных карты, экран просмотра позволяет установить важное дополнительное свойство информационной карты — PIN-код. Эта мера безопасности добавляет к информационной карте еще один уровень защиты. На панели задач диалогового окна просмотра карты можно увидеть параметр блокировки карты Lock this card. Если вы выберете блокировку карты, будет выдан запрос на ввод PIN-кода. После этого каждый раз при использовании данной карты система будет требовать ввод PIN-кода. Блокировка информационных карт необходима при работе на компьютерах общего пользования, а также в ситуациях, когда карта содержит персональные данные или идентифицирует пользователя для доступа к специализированным сайтам, например сайтам, осуществляющим банковские онлайн-операции. Организации, которым необходимо обеспечить еще более высокий уровень безопасности для защиты доступа к информационным картам своих пользователей, могут потребовать наличия сертификата, хранящегося на смарт-карте. Это означает, что перед получением доступа и применением информационной карты пользователь должен вставить в специальное устройство компьютера соответствующую смарт-карту и подтвердить свою личность вводом ее PIN-кода.
Когда пользователь выбирает обслуживаемую информационную карту, CardSpace обращается к издателю информационной карты (то есть к провайдеру идентификации) для получения XML-маркера с цифровой подписью, содержащего запрашиваемые «утверждения».
Что «под капотом»?
Функция CardSpace по умолчанию устанавливается в Windows Vista. Однако она доступна и как загружаемый модуль для Windows XP и Windows Server 2003 через Windows Update. Дабы убедиться, что Windows CardSpace установлена в системе, откройте панель управления и найдите элемент Windows CardSpace или службу Windows CardSpace в разделе «Службы» в консоли «Управление компьютером».
Работа Windows CardSpace базируется на компонентах .NET Framework 3.0 и более новых версиях, которые работают в системах Windows Server 2008, Vista, XP и Windows 2003; библиотека .NET Framework 3.0 входит в состав, но не установлена в системе Windows Server 2008 по умолчанию. Таким образом, самый простой способ добавить поддержку CardSpace в Windows Server 2008 — это установить компоненты .NET Framework 3.0.
Для использования CardSpace необходим также совместимый Web-обозреватель. Internet Explorer 7 (IE 7) изначально поддерживает CardSpace, а сторонние разработчики интегрируют поддержку CardSpace в свои платформы. Например, можно найти встраиваемый модуль для поддержки CardSpace в обозревателе Firefox на сайте http://www.codeplex.com/IdentitySelector.
Microsoft реализовала функцию Windows CardSpace поверх стека протоколов Web Services (WS-*), открытого набора базирующихся на XML протоколов для взаимодействия Web-служб. Любое приложение или платформа, которые поддерживают протоколы WS-*, могут быть интегрированы с CardSpace. Дополнительную информацию о спецификациях WS-* можно найти в статье на сайте Microsoft «Web Services Specifications Index Page» (http://msdn.microsoft.com/en-us/library/ms951274.aspx).
Для реализации приема информационных карт на сайте разработчику необходимо добавить в Web-контент соответствующие тэги HTML, которые определяют, какие данные от пользователей требуются сайту. Разработчику также необходимо реализовать на сайте код, который дешифрует информационные карты и извлекает из них данные пользователей. В Internet можно быстро найти примеры программного кода для интеграции информационных карт не только на Web-сайтах, работающих на технологиях Microsoft, но и для других Web-платформ, например Apache.
Если провайдер идентификации желает предоставлять пользователям обслуживаемые информационные карты, он должен иметь в своем распоряжении систему Security Token Service (STS). Система STS — уполномоченный орган, который может создавать обслуживаемые информационные карты. Провайдер идентификации, не желающий разрабатывать собственную STS, может купить готовую систему у сторонних разработчиков, таких как Ping Identity (http://www.pingidentity.com/). Другой вариант — дождаться выпуска корпорацией Microsoft продукта Federated Identity Server (известного как Geneva), который будет реализовывать совместимую с технологией Identity Metasystem систему STS, позволяющую взаимодействовать с CardSpace. Систему Geneva можно рассматривать как следующий шаг в эволюции Microsoft Active Directory Federation Services (ADFS), встроенной в системы Windows 2008 и Windows 2003.
И еще о взаимодействии: CardSpace и Identity Metasystem могут работать с различными форматами маркеров безопасности, поэтому CardSpace не нужно рассматривать как конкурента другим архитектурам управления идентификацией в Internet, таким как OpenID и Microsoft Windows Live ID. Информационные карты CardSpace можно использовать для входа на сайты с учетными записями OpenID или Windows Live ID. Чтобы связать информационную карту с учетной записью OpenID, посетите сайт SignOn.com (http://www.signon.com/). Для привязки информационной карты к учетной записи Windows Live ID заходите на сайт https://login.live.com/beta/managecards.srf?wa=wsignin1.0&wreply=http://www.live.com&vv=500.
Безопасная альтернатива
Имея понятный интерфейс и защищенную архитектуру, CardSpace предлагает достойную альтернативу классической схеме «имя пользователя/пароль» и предоставляет пользователям возможность самостоятельно управлять их идентификацией в Internet. Успех CardSpace будут сильно зависеть от числа Web-сайтов и приложений, которые поддержат эту технологию.