Новые технологии Microsoft в области авторизации
Обеспечение безопасности приложений — одна из самых актуальных задач, стоящих и перед разработчиками приложений, и перед ИТ-менеджерами. При этом ни для кого не секрет, что одной из серьезных проблем современных ИТ-менеджеров и пользователей является всевозрастающая сложность применения и эксплуатации этих средств.
Анонсированная недавно компанией Microsoft платформа Geneva — это один из способов упрощения применения и эксплуатации средств обеспечения безопасности. Она предназначена для создания приложений и служб на основе заявок и использования интегрированных сценариев безопасности. Компоненты этой платформы включают средства создания собственных служб маркеров безопасности, механизм для затребования интегрированной проверки подлинности от приложений ASP .NET и объектную модель, помогающую авторизации на базе заявок для приложений ASP .NET. Основная идея данной платформы — это возможность разрабатывать приложения так, чтобы они не были привязаны к определенному типу учетных данных или набору ролей, а следовательно, могли поддерживать несколько типов учетных данных.
Подробнее о платформе Geneva мы попросили рассказать Дона Шмидта (Don Schmidt), директора по стратегии идентификации корпорации Microsoft, и Теджаса Дикси (Tejas Dixi), менеджера по стратегии идентификации корпорации Microsoft.
КомпьютерПресс: Какие технологии корпорации Microsoft в области безопасности, в частности в области проверки подлинности пользователей, будут доступны в течение ближайших двух лет?
Дон Шмидт: В первую очередь следует ожидать продолжения движения в направлении дальнейшего следования индустриальным стандартам, особенно в области интеграции средств безопасности, распределенной аутентификации и авторизации — ведь именно для этого и создана платформа Geneva. Данная платформа включает компоненты, основанные на стандартах веб-служб WS-Trust и WS-Federation, поддерживает протокол SAML (Secure Access Markup Protocol), а также средства, позволяющие разработчикам легко создавать приложения, использующие распределенную информацию об аутентификации.
Теджас Дикси (слева) и Дон Шмидт
Помимо развития средств распределенной аутентификации следует ожидать улучшений в области администрирования систем идентификации и управления ими. Следование стандартам должно расширить их возможности интеграции, позволить сохранять данные об аутентфикации в файлах или экспортировать их.
Фактически платформа Geneva предполагает выполнение сервиса, который позволяет читать общие для разных приложений метаданные об аутентификации и создавать приложения на их основе. При этом концепция данного сервиса описывает, как они организованы, по каким протоколам доступны, где именно их искать, как обратиться к ним через Интернет, какую информацию о пользователе и его запросах они могут генерировать, предоставлять приложениям или контролировать. Сегодня этот сервис может читать такие метаданные и в ответ предоставлять запрашиваемые данные.
Пользователю, подлинность которого проверена (неважно, каким способом), выдается так называемая заявка (claim) из набора доступных ему заявок, которая иcпользуется для авторизации, при этом она может быть основана как на самой учетной записи пользователя, так и на доступных ему ролях. Для определения того, каким именно набором заявок располагает пользователь, применяются так называемые службы маркеров безопасности (Security Token Services, STS), которые выдают маркеры безопасности — специальные наборы данных, созданные на основе протокола SAML (Secure Access Markup Language) и содержащие доступные пользователю заявки из запрошенных при авторизации.
При применении подобного подхода нет необходимости в содержании учетных данных пользователей в нескольких приложениях или доменах, что упрощает администрирование приложений и снижает риски, связанные с управлением идентификацией, такие как неавторизованный доступ от имени учетной записи, которую забыли удалить в одном из многочисленных приложений, или потери пользователями многочисленных паролей. Кроме того, этот подход позволяет легко осуществить различные сценарии единого входа в систему (Single Sign-On, SSO) за счет снижения частоты проверки подлинности пользователя.
Теджас Дикси: Очень важно то, чтобы сервис, о котором идет речь, постоянно работал. Если вы используете распределенную аутентификацию, у вас есть и репозитарий с зашифрованными именами, паролями и иными данными, ведь такой репозитарий — основа всех распределенных систем безопасности. И что произойдет, когда наступит момент внедрения какого-либо изменения, например изменения алгоритмов шифрования? После внедрения изменений вы уже не сможете расшифровать данные из вашего репозитария. В случае применения многих средств безопасности, созданных давно, проблемы администрирования при смене ключей шифрования возникали до тех пор, пока эти ключи не были внедрены везде.
Но если система безопасности просто перестает работать из-за проблем администрирования, то непрерывная доступность приложений уже невозможна. Именно поэтому системы безопасности нужно сделать простыми в использовании и управлении. Пользователи должны заниматься своей основной работой, а не управлением компьютерами, и в целом стратегия Microsoft предполагает именно это.
Д.Ш.: Аутентификацию и безопасность следует рассматривать комплексно, учитывая самые разные задачи. Одна из них — это доступ, основанный на аутентификации, который применяется и на уровне приложений, и на уровне документов. В этой области уже доступно множество технологий, в том числе реализованных нами с целью управления качеством в соответствии с общепринятыми стандартами. Но платформа Geneva создана специально для того, чтобы упростить доступ к приложениям за счет отделения аутентификации от приложений. Это должно упростить добавление новых приложений в корпоративную среду.
Еще одно ожидаемое новшество — это новые средства доступа к приложениям, основанные на политиках. Здесь мы фокусируемся на создании возможности многократного использования кода, связанного с обеспечением безопасности.
Рассмотрим нынешнюю ситуацию. Если мы написали приложение для Windows, то что произойдет, когда мы поймем, что хотим запускать его не в локальной сети, а в «облаке»? Скорее всего, средства аутентификации придется переписывать. Microsoft старается избавить разработчиков от таких проблем и сделать максимально простой смену сред исполнения приложений, позволив не кодировать непосредственно в приложении все детали аутентификации, а просто заложить детали авторизации в его бизнес-логику — именно на ней и должен сосредоточиться разработчик. В этом случае, где бы ни выполнялось приложение — локально, в «облаке» или где-то еще, — оно всегда будет способно иметь дело с проверкой подлинности, аутентификацией и необходимыми для его выполнения средствами авторизации. Упрощение процесса разработки приложений, в том числе их составных частей, связанных с обеспечением безопасности, — это одна из основных современных тенденций развития технологий Microsoft.
КП: В чем отличие этой технологии от уже известных средств создания приложений, использующих аутентификацию с помощью LDAP-каталогов?
Т.Д.: Cамое большое отличие заключается в следующем. Вы можете использовать LDAP-каталог и заставить любое приложение работать с ним, но помимо LDAP есть и другие источники сведений о пользователях — например база данных отдела кадров. И к ним, возможно, придется делать запросы, равно как и к данным партнеров, которые могут применять другие платформы. А с платформой Geneva приложения не зависят от доступа к репозитариям данных и могут быть никак с ними не связаны. Приложение может затребовать информацию для принятия решения о предоставлении доступа, но в нем не нужно реализовывать доступ к конкретному хранилищу этой информации.
КП: Как именно реализована поддержка платформы Geneva в средствах разработки?
Т.Д.: Реализация поддержки платформы Geneva — это базовый набор компонентов для доступа, совместимых с ASP .NET. Использовать их так же просто, как поместить элемент управления на форму. Для простейших приложений доступны и элементы управления, например, для аутентификации в сети путем выпуска маркеров безопасности. Созданный нами код может определить свойства сессии и присвоить ключевые роли доверенному пользователю, а затем передать эту информацию приложению.
Если вы хотите сделать приложения более гибкими, можно воспользоваться прикладным программным интерфейсом и библиотеками классов .NET для работы с заявками и управления различными типами аутентификации. Кроме того, мы предоставляем классы для создания собственных уникальных средств доступа на основе работы со службами маркеров безопасности и на стороне приложения, и на стороне провайдера проверки подлинности.
КП: Поддерживает ли данная технология средства проверки подлинности, отличные от средств Microsoft?
Д.Ш.: Да, безусловно. Будь это не так, мы бы попусту теряли время. Основная идея интеграции средств безопасности заключается в том, что клиент любого масштаба может выполнять приложения разных производителей: IBM, Oracle, Microsoft — и организовывать взаимодействие между ними. Это означает, что мы должны создать общий формат данных для разных платформ, обмениваться запросами и ответами по единым протоколам. Интероперабельность со средствами проверки подлинности IBM мы уже демонстрировали, сейчас ведем переговоры с Sun. В будущем вы сможете обращаться к своему провайдеру проверки подлинности от Microsoft и получать доступ к ресурсам на другом сервере Windows или серверах IBM. Точно так же провайдер проверки подлинности одного производителя сможет организовывать авторизацию для доступа к приложению другого производителя. И эта интероперабельность должна быть основана на стандартах.
КП: Какие стандарты и протоколы предполагается использовать для этой цели?
Д.Ш.: В основном это WS-Trust, WS-Security, WS-SecurityPolicy, WS-Federaton, специальные стандарты (например, стандарты применения смарт-карт или соединения с браузерами), протоколы аутентификации или интеграции.
КП: Есть ли у Microsoft долговременные планы в области разработки технологий аутентификации?
Д.Ш.: Мы уже двадцать пять лет делаем операционные системы и многие другие продукты, и каждый раз, когда появляется новая версия продукта, клиенты просто переходят на нее. Наши планы на будущее — работа в области интеграции, средств управления заявками и маркерами безопасности, создания более совершенных моделей проверки подлинности. У всех ведущих производителей программного обеспечения есть и технологии, и свое видение дальнейшего развития индустрии в этом направлении. Мы уже доказали, что можем выйти за пределы отрасли и научить компании объединять свои усилия, пересекать границы платформ, выполнять приложения или локально, или в «облаке» и использовать единую модель аутентификации, отделенной от приложений. И для этого нужно создавать библиотеки протестированных и корректно работающих компонентов, которые могли бы применять разработчики, — ведь вопросы безопасности становятся все более актуальными. Именно в этом мы видим дальнейшее развитие обсуждаемых технологий.
КП: Большое спасибо за интересное интервью.
Интервью вела Наталия Елманова