Спонсор: Microsoft
Опубликован: 25.06.2010 | Доступ: свободный | Студентов: 1684 / 318 | Оценка: 4.32 / 4.18 | Длительность: 25:57:00
Лекция 13:

Системы управления идентичностью

Аннотация: В лекции проведен обзор современных систем управления идентичностью. Подробно рассматриваются технологии Windows Live Id (также известной как Microsoft .NET Passport) и Windows CardSpace.
Ключевые слова: управление идентичностью, принцип построения, аутентификация, Passport, Windows Cardspace, XML, идентификация, security token, байт, уязвимость, ЭЦП, Kerberos, SAML, OASIS, список, WS-Security, SOAP, конфиденциальность, целостность, security, assertion, markup language, язык разметки, авторизация, домен, инфраструктура безопасности, access control, управление доступом, автоматизация, директива, extensive, rule, XrML, языки управления, мультимедиа, digitize, xml encryption, digital signature, криптография, self-service provisioning, вспомогательные данные, инфраструктуры открытых ключей, registration, веб-сайт, навигация, single sign-on, SSO, электронный бизнес, Интернет, идентификация пользователя, site, сайт, net, пароль, доступ, профиль пользователя, cookie, билет, ticket, часовой пояс, атака, slow, злоумышленник, транзакция, шифрование, Хакер, login, защищенный вход, sign, безопасность, вероятность, SSL, браузер, identical, .NET Framework, identity management, Internet Explorer, программирование, путь, card, пользователь, отображение, карта входа, издатель, аутентификация пользователя, информация
Презентацию к лекции Вы можете скачать здесь.

Цель лекции

  • Рассмотреть популярные стандарты управления идентичностью
  • Изучить принципы построения систем управления идентичностью
  • Рассмотреть особенности безопасной аутентификации через Microsoft .NET Passport
  • Выявить недостатки Microsoft .NET Passport
  • Изучить отличия подхода Windows CardSpace от Microsoft .NET Passport

Управление идентичностью

Технологии на базе Web -сервисов и языка XML являются на сегодняшний день самым распространенным механизмом построения распределенных систем. В связи с этим необходимы стандарты безопасного обмена данными вне границ защищаемого периметра. В рамках этого подхода в центре внимания находятся не обороняемые машины или сети, а передаваемые документы либо другие сведения о действиях, людях или предприятиях [13.9]. Одной из ключевых задач обеспечения безопасности взаимодействия сервисов является идентификация участников информационного обмена. Все цифровые удостоверения обладают одним общим важным свойством: при передаче по сети любое цифровое удостоверение представляется некоторым маркером доступа ( security token ). Маркер доступа [13.10] - это набор байтов, содержащих информацию о цифровом удостоверении (одно или более утверждений ( claims ), каждое из которых содержит некоторую часть данных удостоверения). Помимо утверждений с именем, фамилией, домашним адресом и т.д., в маркеры доступа могут входить утверждения с уязвимой информацией - например, номерами банковских карт.

Большинство маркеров доступа сопровождается некоторой информацией, позволяющей аутентифицировать предъявителя удостоверения. Самым простым, но не самым надежным подходом является сопровождение утверждений паролем. Более правильный подход предполагает использование ЭЦП.

Для представления маркеров используется множество разных форматов. Например, сертификаты X.509 и удостоверения Kerberos разрабатывались не как средство передачи произвольного набора утверждений, но могут переносить некоторую информацию, полезную для некоторых цифровых удостоверений. Маркеры, созданные с помощью SAML [13.11] - стандарта промышленной группы OASIS - могут содержать любой необходимый набор утверждений.

В работе [13.9] приводится список самых популярных стандартов, используемых при управлении идентичностью:

  • WS-Security [17.1, 17.2, 17.3, 17.4] поддерживает безопасность протокола SOAP, конфиденциальность и целостность сервисов; согласован с другими средствами, такими как сертификаты X.509, Kerberos и SAML.
  • Security Assertion Markup Language (Язык разметки для систем обеспечения безопасности, SAML ) [13.11]: служит для обмена подтверждениями об аутентификации и авторизации между доменами. В русском языке не установился общепринятый перевод термина SAML ; поэтому его трактуют и как "язык разметки утверждений безопасности", и как "язык разметки допуска к информации", и как "язык разметки для инфраструктуры безопасности". Каждый из переводов по-своему корректен, и в совокупности они верно передают смысл. Спецификация Liberty Alliance 1.0 уточняет SAML.
  • XML Access Control Markup Language ( XACML ) [17.5], язык разметки управления доступом: является расширением XML для создания конструкций, служащих для автоматизации авторизации и управления доступом к информации. Средства XACML определяют те директивы, которые формируются и передаются для управления доступом.
  • Extensible Rules Markup Language ( XrML ) [17.6]: язык управления правами собственности в мультимедиа, порожден движением Digital Rights Management и в какой-то мере составляет конкуренцию языку XACML.
  • XML Encryption и XML Digital Signature [17.9].: спецификации цифровой подписи и криптографии в XML -документах.
  • Service Provisioning Markup Language ( SPML ) [17.7]: задуман как средство описания вспомогательных данных, необходимых для установления отношений между сервисами. Разрабатывается ассоциацией OASIS для обмена данными между кооперирующимися организациями (см. также www.openspml.org).
  • XML Key Management Specification ( XKMS ) [17.8] служит стандартом для инфраструктуры открытых ключей XKISS ( XML Key Information Service Specification ) и регистрационной спецификации XKRSS ( XML Key Registration Service Specification ). Спецификация призвана упростить обмен ключами по схеме, предложенной Диффи и Хеллманом.

Средства безопасной аутентификации через Microsoft .NET Passport

.NET Passport - это система управления идентичностью, разработанная Microsoft, позволяющая аутентифицироваться на различных веб-сайтах с использованием одного и того же удостоверения. Онлайновая служба .NET Passport позволяет осуществлять навигацию по сайтам, поддерживающим Passport, без необходимости отдельной регистрации на каждом из них. Эта технология единого унифицированного входа ( Single Sign-On, SSO ) экономит время и усилия пользователей при ведении электронной бизнес-деятельности и доступе к разнообразным ресурсам через Интернет. Для идентификации пользователя .NET Passport использует уникальное 64-битное число, которое для повышения безопасности зашифровывается.

Система позволяет пользователю хранить персональную информацию в профиле .NET Passport и предоставлять эту информацию сайтам-участникам. Сайт-участник системы Passport ( participating site ) - любой Web -сайт, на котором реализован единый вход .NET Passport. Для работы с большинством функций .NET Passport и для доступа к базовым профилям пользователей сайт-участник должен быть зарегистрирован. Чтобы избежать автоматической повторной аутентификации ( silent reauthentication ), сайты-участники могут требовать от пользователя заново вводить свое регистрационное имя и пароль независимо от текущего состояния аутентификации этого пользователя. Заставляя его повторно вводить свои учетные данные, сайт запрещает доступ любому, кто не знает соответствующего имени и пароля. Для защищенной передачи учетных данных и профилей пользователей на сайты-участники применяется специальный cookie, в терминологии .NET Passport называемый билетом ( ticket, ticket cookie ).

Профиль пользователя в системе .NET Passport может включать следующую информацию:

  • Адрес электронной почты;
  • Имя и фамилию;
  • Место жительства;
  • Предпочтения относительно языка;
  • Часовой пояс;
  • Пол;
  • Дату рождения;
  • Профессию.

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

У стандартного входа через Passport и других механизмов проверки есть ряд общих проблем с безопасностью. Во-первых, уязвимость перед лобовыми атаками, при которых подбираются подходящие учетные данные. Чтобы уменьшить уязвимость перед атаками такого рода, на серверах входа для .NET Passport реализован механизм замедления ( slow-down ), минимизирующий риск осуществления атаки с подбором паролей. После пяти подряд неудачных попыток входа пользователя просят подождать пять минут. Это не блокирует пользователя, но ставит серьезную преграду на пути у злоумышленников, пытающихся получить доступ к какой-нибудь учетной записи.

Повторение пакетов - другой тип атаки, при которой перехватывается транзакция входа по открытому HTTP -соединению. Несмотря на шифрование билета и профиля, служба Passport со стандартным входом уязвима перед атаками с повторением пакетов, т.к. обмен ими осуществляется через открытое HTTP -соединение. Перехватив соответствующие пакеты и повторив их, хакер может подменить пользователя на тот период, пока не истечет срок действия его билета регистрации ( login ticket ).

Защищенный вход ( secure sign-in ) - функциональность .NET Passport версии 2.0 (и выше), которая обеспечивает более высокую безопасность по сравнению со стандартным входом, расширяя его возможности за счет дополнительных средств и заметно уменьшая вероятность входа хакеров по учетной записи, взломанной атакой с повторением пакетов или по словарю. Функции защищенного входа устраняют уязвимость, присущую стандартному входу. Фактически реализация защищенного входа требует применения SSL, специальных параметров для функций входа через Passport и браузера с поддержкой HTTPS (этот протокол поддерживается почти всеми современными браузерами). Защищенный вход может быть основан на СОМ-объекте Passport.Manager или на объекте Passport Identity, предоставляемом Microsoft .NET Framework.

Windows Cardspace

В работе приводится основная причина, по которой система Passport не получила широкого распространения: ни владельцы сайтов, ни пользователи в общем случае не были заинтересованы в Microsoft как посреднике в их взаимодействии. Цифровые удостоверения предоставляются и будут предоставляться разными источниками. Таким образом, нужен способ согласованного использования нескольких систем цифровых удостоверений. Необходима метасистема, специализирующаяся на идентификации. Если система защиты сумеет использовать и генерировать подтверждения об авторизации или аутентификации в стандартном формате, появится возможность создать федеративную модель управления идентичностью ( Identity Management ), объединяющую всю распределенную систему.

В Windows вводятся новые возможности, призванные сделать метасистему реальностью. Windows CardSpace, изначально известная как "InfoCard", позволяет любому приложению Windows, включая и Internet Explorer, и продукты сторонних производителей, обеспечить своим пользователям единый способ работы с цифровыми удостоверениями. CardSpace как часть .NET Framework 3.x/4.x доступна в Windows начиная с XP / Server 2003.

Наиболее важными можно назвать четыре аспекта технологии Windows CardSpace:

  • Поддержка любой системы цифровых удостоверений;
  • Единообразный пользовательский контроль над цифровым удостоверением;
  • Замена основанной на паролях веб-регистрации;
  • Повышение доверия пользователей удостоверениям удаленных приложений.

Цель новой модели удостоверений Microsoft .NET Framework 3.0 на основе заявок заключается в том, чтобы уменьшить зависимость от конкретных типов учетных данных, не понижая при этом уровень безопасности приложения. Программирование при помощи модели удостоверений .NET Framework 3.0 позволяет обрабатывать не только билеты Kerberos и сертификаты, но также и маркеры языка SAML, что прокладывает путь к некоторым интересным архитектурам удостоверений, включая объединенное управление удостоверениями.

Информационная карта ( information card, InfoCard ) представляет цифровое удостоверение, которое пользователь потенциально может предоставить участвующей стороне. С точки зрения пользователя, информационная карта - это визуальное отображение цифрового удостоверения на экране компьютера. Однако для CardSpace информационная карта - это, фактически, XML -документ, хранящийся на компьютере пользователя, работающем под управлением Windows. В информацию на карте входят данные о том, у какого издателя удостоверений необходимо запросить маркер доступа для этого удостоверения, какие типы маркеров может выпустить этот издатель удостоверений, и какие именно утверждения могут содержаться в этих маркерах. Выбирая определенную карту, пользователь, фактически, принимает решение запросить определенный маркер доступа с определенным набором утверждений, созданный определенным издателем удостоверений.

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

В политике издателя удостоверений должен быть оговорен порядок проведения аутентификации запросов маркеров доступа. Издатель удостоверений может по выбору поддерживать любой вариант аутентификации пользователей (или все варианты) из четырех, поддерживаемых в первой версии CardSpace:

  • Имя пользователя/пароль (что может потребовать от пользователя введения пароля при каждом использовании карты);
  • Удостоверение Kerberos ;
  • Сертификаты X.509 v3 (или на базе программного обеспечения, или со смарт-карт);
  • Маркеры доступа SAML, созданные издателем самостоятельно формируемых удостоверений.

При передаче в маркере доступа уязвимая информация обычно кодируется, что делает ее недоступной как для мошенников, так и для CardSpace. Уязвимая информация никогда не включается в информационную карту и, следовательно, не хранится на компьютере пользователя.

Windows CardSpace - часть .NET Framework 3.0, и приложения, использующие его, являются приложениями Windows, однако совместимые с CardSpace средства выбора удостоверений также реализуются и на других платформах и устройствах.

Краткие итоги

В лекции были рассмотрены популярные стандарты управления идентичностью. Особое внимание уделено решениям Microsoft - Microsoft .NET Passport и Windows CardSpace. Рассмотрены принципы работы систем, выявлены их преимущества и недостатки.

Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова