Технологии и средства для меж-организационной аутентификации и авторизации
Ю.Демченко <demch@science.uva.nl>
University of Amsterdam
В докладе и статье представлен обзор современных технологий и существующих средств для построения меж-организационных сервисов аутентикации и авторизации.
Задача создания средств для меж-организационной аутентикации пользователей и авторизации (АА) доступа к инофрмационным ресурсам и сервисам возникла в последнее время с уеличением распределенности информационных (инфра) структур современных предприятий и учебных кампусов университетов. ComputerGrids с их распределенными виртуализированными ресурсами, пользователями и организациями предоставляют другую критическую прикладную область для распределенных АА услуг.
Ранние решения были основаны на использовании метадиректорий на основе LDAP, которые предоставляли гибкие средства для обьединения множества распределенных баз данных, хранивших различные данные о пользователях [1, 2]. Информация о пользователях в LDAP хранится в обьектах, структура которых определяется заранее определенной схемой (LDAPSchema). Существуют стандартные LDAP- схемы для Organizationalperson, Internetperson, благодаря усилиям Internet2 MiddlewareInitiative [3] была определена LDAP-схема для университетской среды Eduperson [2], которая также нашла свое применение среди Европейских университетов с некоторыми расширениями. Специальные протоколы определены для обмена индексной информацией между LDAP-директориями, поиска и сравнения атрибутов LDAP-обьектов. Возможность хранения в LDAP пользовательских сертификатов открытых ключей (PKC – PublicKeyCertificate) делает LDAP одним из основных средств для аутентификации пользователей в Интернет, в частности, с использованием SASL (SimpleAuthenticationandSecurityLayer) [4]. Однако, множество современных сетевых и веб приложений предьявляют требования к аутентификации пользователей и управления распределенным доступом, которые выходят за пределы возможностей LDAP- технологии, которая принципиально является иерархической и ориентирована на сетевые соединения.
Современные технологии аутентификации и авторизации на основе политики и управления привилегиями основаны на использовании XML- технологий безопасности и позволяют обеспечивать основные сервисы безопасности как для пользователей, так и для конечных приложений [5, 6, 7]. Базовые XML-технологии безопасности, составляющие основу для других безопасных сервисов и протоколов, включают: XMLEncryption [8], XMLSignature [9], XKMS [10]. Их приложение к XML-протоколу обмена сообщениями SOAP (SimpleObjectAccessProtocol) [11] и основанным на нем WebServices составляет другую группу XML- технологий безопасности, включая SOAP/WS-Security [12], SAML (SecurityAssertionMarkupLanguage) [13], которые являются базой для современных распределенных сервисов безопасности: единый доступ (SSO – SingleSignOn), распределенная сетевая идентификация (IdentityManagementandFederation), включая LibertyAllianceProject (LAP) [14] и WS-Federation [15], управление доступом на основе пользовательских привилегий или ролей и политики безопасности (RBAC – RoleBasedAccessControl) [16]. Подробный анализ XML- технологий безопасности приведен в работах автора [5, 6, 17].
Важным компонентом современных АА-технологий является использование политки (policy) для определения специфических требований и правил в отношении управления доверием на основе PKI, использования пользовательских данных, делегирования, соблюдения конфиденциальности и приватности, - для сервисов аутентикации, а также политики и правил доступа к ресурсам – для сервисов авторизации. В работе автора [17] приведен анализ различных форматов для описания политики доступа к ресурсам, включая WS-Policy [18], XACML (eXtensibleAccessControlMarkupLanguage) [19], PERMIS [20], GenericAAAArchitecture [21], SPOCP [22]. Политика или правила доступа определяются для триады Субьект, Ресурс, Акция (Subject, Resource, Action): Субьект запрашивает определенную Акцию в отношении Ресурса. Политика определяет правила доступа, а именно возможность выполнения определенной Акции в отношении Ресурса, для Субьекта, обладающего определенными привилегиями, часто определяемыми ролью субьекта. Ресурс является обобщенным определением обьекта доступа и может быть как реальным процессом или сервисом, так и информационным ресурсом или семантическим документом, заданным URI [17].
В настоящее время существует достаточное количество свободно распространяемых программных продуктов для реализации меж-организационных услуг аутентикации и авторизации, созданных в основном в университетской среде, краткий обзор которых приведен в работе автора [23]. Существующие проекты среди Европейских научных сетей [24] в основном направлены на решение вопросов интеграции существующих средств на основе WS-Security, SAML, XACML, и создания общего формата для пользовательской информации на основе Eduperson и специфических расширений, отражающих национальную специфику и законодальную базу в отношении пользовательской информации. Главная цель национальных АА-проектов - в обеспечении возможности для студентов одного университета иметь доступ к ресурсам другого университета, используя общегосударственный идентификатор личности/студента и реализация общей политики доступа для содружества университетов или организаций. Существует также Европейский форум TF-AACE (TaskForceforAuthorisationandAuthenticationCoordinationinEurope) [25] для обмена информацией, опытом и координации среди АА- проектов, который также осуществляет связь с Internet2 MiddlewareInitiative (I2-MI).
Организации/университеты, стояшие перед выбором технологии и технических средств для реализации АА-проектов должны оценить возможность будущей интеграции их АА-сервисов с подобными сервисами других университетов или организаций, а также коммерческими продуктами. Хорошим критерием в этом отношении является реализация специализированных стандартов на основе XMLSecurity или потенциальная возможность такой реализации в архитектуре конкретного продукта.
Одной из наиболее полных реализаций меж-университеской АА-инфраструктуры является Shibboleth, разработанный в рамках I2-MI. Однако, как показывает опыт многих организаций, Shibboleth является достаточно сложным обьектом внедрения и требует хорошо определенной внутри- и меж-университетской инфраструктуры и правил.
Продукт A-Select [26], разработанный SURFnet и Alfa-Aris и широко используемый для меж-организационной аутентификации и единого доступа в сети SURFnet и в Голландии, представляет необходимую функциональность как для внутри-университетской аутентификации, так и для обмена аутентификационной информацией между организациями для осуществления единого доступа. A-Select прост во внедрении и легко интегрируется с различными веб-приложениями. Аутентификация пользователей осуществляется провайдером аутентификации (AP- AuthenticationProvider). A-Select имеет реализации AP на основе банковской карточки (студента), мобильного телефона и SMS, LDAP, Radius или Kerberos.
Одним из доступных средств для реализации контроля доступа на основе политики является PERMIS [20], однако ограниченная база пользователей PERMIS не позволяет сделать вывод о соответствии его функциональности типичным требованиям университетской среды. При выборе или создании средств для контроля доступа на основе политики следует рассмотреть возможность использования стандарта XACML, как наиболее полной реализации RBAC- подхода [16].
Литература
[1] Directory of Directories for Higher Education (DoDHE) - http://middleware.internet2.edu/dodhe/
[2] EduPerson Object Class Specification - http://www.nmi-edit.org/eduPerson/internet2-mace-dir-eduperson-200312.html
[3] Internet2 Middleware Initiative - http://middleware.internet2.edu/
[4] SimpleAuthenticationandSecurityLayer (SASL) - http://asg.web.cmu.edu/sasl/
[5] Демченко Ю.В. Архитектура сервисов аутентификации и авторизации и сетевая идентификация в Интернет. - RELARN2003. - Июль 2003. - http://www.uazone.org/demch/papers/relarn2003-ydemchenko-aa-identity.html
[6] Demchenko Yu. Using WS-Federation and WS-Security for Identity Management in Virtual Organisations - Work in progress - http://www.uazone.org/demch/worksinprogress/draft-grid-vo-idm-03.pdf
[7] XML Web Services Security Overview by Demchenko Yu. - Seminar at IIDS Group, Vrije Universiteit. - 2003 - http://www.uazone.org/demch/presentations/ws-xml-sec.ppt
[8] XML Encryption Syntax and Processing. W3C Recommendation 10 December 2002 - http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/
[9] XML-Signature Syntax and Processing. W3C Recommendation. 12 February 2002 - http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/
[10] XML Key Management Specification (XKMS). Version 2.0 - http://www.w3.org/TR/xkms2/
[11] XML Protocol Working Group -http://www.w3.org/2000/xp/Group/
[12] Web Services Security Framework by OASIS - http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
[13] Security Assertion Markup Language (SAML) v1.0 - OASIS Standard, 5 November 2002 - http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
[14] Liberty Alliance Phase 2 Final Specifications - http://www.projectliberty.org/specs/
[15] Federation of Identities in a Web Services World A Joint Whitepaper from IBM Corporation and Microsoft Corporation Version 1.0 July 8, 2003 - http://msdn.microsoft.com/ws-federation/
[16] Role Based Access Control (RBAC) – NIST, April 2003. - http://csrc.nist.gov/rbac/
[17] Web Services Authorisation Policy Standards Overview by Demchenko Yu. – http://www.uazone.org/demch/analytic/ws-aaa-policy-overview.html
[18] WS-Policy Web Services Policy Framework (WS-Policy). Version 1.1 28 May 2003 -http://msdn.microsoft.com/ws/2002/12/Policy/
[19] eXtensible Access Control Markup Language (XACML) Version 1.0 - OASIS Standard, 18 February 2003 - http://www.oasis-open.org/committees/documents.php?wg_abbrev=xacml
[20] PERMIS PERMIS (PrivilEge and Role Management Infrastructure Standards validation) - http://sec.isi.salford.ac.uk/permis/
[21] RFC 2903 , Experimental, "Generic AAA Architecture", C. de Laat, G. Gross, L. Gommans, J. Vollbrecht, D. Spence, August 2000 - ftp://ftp.isi.edu/in-notes/rfc2903.txt
[22] SPOCP (Simple POlicy Control Protocol) - http://www.spocp.org/
[23] Overview of existing and developing systems for Authentication and Authorisation and Policy/Role based Privilege Management -Yuri Demchenko, April 2004. - http://www.uazone.org/demch/analytic/aaa-pmi-overview.html
[24] Projects on inter-institutional Authentication and Authorisation in Europe - http://www.uazone.org/znews/pki/aa-pki-euprojects.html
[25] TERENA Task Force on Authentication, Authorisation Coordination for Europe - http://www.terena.nl/tech/task-forces/tf-aace/
[26] A-Select Authentication System - http://a-select.surfnet.nl/