Обеспечение гибкой системы контроля доступа в Веб-сервисах и Грид-системах RELARN2005 16 июня, 2005 Yuri Demchenko AIRG, University of Amsterdam.

Презентация:



Advertisements
Похожие презентации
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Configuring Groups and Policies Configuring Policies.
Advertisements

© 2006 Cisco Systems, Inc. All rights reserved.ISCW v IPsec VPNs Configuring IPsec Site-to-Site VPN Using SDM.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
Designing Security Services © 2004 Cisco Systems, Inc. All rights reserved. Implementing Network Security Using the SAFE Security Blueprints ARCH v
© 2009 Avaya Inc. All rights reserved.1 Chapter Three, Voic Pro Advanced Functions Module Four – Voic Campaigns.
© 2003, Cisco Systems, Inc. All rights reserved. CSPFA Chapter 3 Cisco PIX Firewall Technology and Features.
Архитектура Сервисов Аутентификации и Авторизации и сетевая идентификация в Интернет RELARN июня, 2003 Yuri Demchenko, NLnet Labs.
© 2005, Cisco Systems, Inc. All rights reserved. IPS v Lesson 4 Using IPS Device Manager.
© 2003, Cisco Systems, Inc. All rights reserved. CSVPN Lesson 17 Configure the Cisco Virtual Private Network 3000 Series Concentrator for LAN-to-LAN.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Using Outbound Route Filtering.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Administering Events and Generating Reports Managing Events.
Designing Network Management Services © 2004 Cisco Systems, Inc. All rights reserved. Designing the Network Management Architecture ARCH v
© 2006 Cisco Systems, Inc. All rights reserved. CVOICE v VoIP Signaling and Call Control Configuring SIP.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
© 2006 Cisco Systems, Inc. All rights reserved.SNRS v Adaptive Threat Defense Examining Cisco IOS Firewall.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement the DiffServ QoS Model Implementing QoS Preclassify.
© 2006 Cisco Systems, Inc. All rights reserved. ICND v Managing IP Traffic with ACLs Introducing ACLs.
© 2007 Cisco Systems, Inc. All rights reserved.SNRS v Adaptive Threat Defense Configuring Cisco IOS Firewall Authentication Proxy.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
Транксрипт:

Обеспечение гибкой системы контроля доступа в Веб-сервисах и Грид-системах RELARN июня, 2005 Yuri Demchenko AIRG, University of Amsterdam

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _2 Содержание Услуги Аутентификации (AuthN) и Авторизации (AuthZ) в научных и образовательных сетях Модель безопасности и контроль доступа в системах ориентированных на услуги (СОУ) Система контроля доступа на основе политики (СКДП) и модель Role Based Access Control (RBAC) u Оптимизированные модели push-pull-agent и использование квитанций/билетов и маркеров авторизации (AuthZ tickets and tokens) Отношения доверия в распределенной инфраструкутре контроля доступа Политика доступа и существующие форматы Примеры систем распределенной аутентификации и авторизации

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _3 AuthN/AuthZ в научных и образовательных сетях Доступ к многосайтовым Веб/Интернет ресурсам u Система единого доступа (SSO – Single Sign On) и системы управления идентификацией (IdM - Identity management) Межуниверситетские ресурсы и доступ к внешним ресурсам или предоставление доступа для внешних пользователей Распределенные университетские кампусы и дистанционное обучение Грид-центры и Грид-приложения u Различные административные домены и домены безопасности u Продолжительные (транзитивные) задачи u Динамические ресурсы и виртуальные ассоциации ресурсов и пользователей

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _4 Современная архитектура сервисов AuthN и AuthZ Проблемы Множество логинов/паролей – на каждый ресурс/сайт Ограничение одним доменом безопасности или множество сертификатов открытых ключей Сложность частичной динамической делегации полномочий Требования к современной архитектуре AuthN/Z Разделение сервисов аутентификации (AuthN) и авторизации (AuthZ) u Аутентификация в «домашней» организации u Авторизация ресурсом Конфиденциальность, приватность и анонимность u Контроль доступа к атрибутам на основе политики Управление доступом на основе ролей и политики безопасности (RBAC) и инфраструктуры управления привелегиями (PMI)

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _5 Новая парадигма безопасности приложений Традиционные модели безопасности (ISO7498-2) и POSIX: Host-to-host или point-to-point security Ориентированная на архитектуру Client/Server Основанные на соединение (connection-oriented) и нет (connectionless) В общем случае единый доверительный домен (на основе PKI) Безопасность приложений основе XML Безопасность между конечными точками приложений (End-to-end) Ориентированная на документ (или семантический обьект) u Квитанции, мандаты и маркеры безопасности могут быть ассоциированы с документом или сообщением или их частью Потенциально работает между различными доменами административными и безопасности Позволяет создавать динамические и виртуальные ассоциации

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _6 Модель контроля доступа в СОУ

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _7 Архитектура безопасности Грид и Веб-сервисов

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _8 Требования к Системе Контроля Доступа на основе Политики (СКДП) Выражение политики для множества доменов и организаций (Multidomain and inter-institutional) Множество форматов описания политики (multiple policy format) Комбинирование и агрегирование множества политик (policy combination and aggregation) Множество центров удостоверения политики (multiple policy authority) Управление политикой независимо от управления основными функциями (independent policy administration) Динамическое приложение/ассоциирование политики с основными функциями (dynamic policy association)

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _9 СКДП и управление доступом на основе ролей RBAC – Role Based Access Control Роль описывает функцию Права/привилегии определяют доступ к ресурсу в определенном режиме Правила доступа описаны в форме политики доступа u Возможно комбирирование множественных политик Преимущества RBAC Легко управлять и контролировать Раздельное назначение ролей-пользователей и ролей-привилегий Поддерживает принцип минимально необходимых привилегий Масштабируемость, наследование и агрегирование привилегий/прав Возможность делегирования ISO STD on PMI (Privilege Management Infrastructure) как основа для RBAC Строится на основе X.509 Сертификатов Атрибутов (AC – Attribute Certificate) u АС позволяет связать идентификатор пользователя с ролями и роли с привилегиями

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _10 (1) Generic AAA Architecture by AIRG (UvA) Решение о доступе на основе политики Req {AuthNtoken, Attr/Roles, PolicyTypeId, ConditionExt} RBE (Req + Policy) => => Decision {ResponseAAA, ActionExt} ActionExt = {ReqAAAExt, ASMcontrol} ResponseAAA = {AckAAA/RejectAAA, ReqAttr, ReqAuthN, BindAAA (Resource, Id/Attr)} Generic AAA RBE Policy Request/Response ASM Преобразование logDecision => Action Преобразование State => LogCondition Политика доступа определяется ресурсом

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _11 (2) RBAC: потоки данных и компоненты – Модель XACML PEP/AEF - Policy Enforcement Point (authorisation enforcement function) PDP/ADF - Policy Decision Point (authorisation decision function) PIP - Policy Information Point AA - Attribute Authority PAP - Policy Authority Point

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _12 Служба авторизации сайта на основе RBAC и комбинированная модель pull-push Важные вопросы: Комбинирование множества политик Последовательность PEP (chaining) и рекурентность PDP (nesting) Множество доменов доверия и административных (Multiple domains)

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _13 Служба авторизации сайта на основе комбинированной модели agent-push для сложных ресурсов Важные вопросы: Ресурсы, состоящие из множества компонентов и принадлежащих множеству доменов (Multi-component and multidomain resources) Включение политики в запрос и/или использование квитанций (Policy push and/or token based access control)

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _14 СКДП: Вопросы внедрения PDP и PAP должны иметь общее пространство имен (namespace) Запрос (request message) должен содержать ссылку на Политику и соответствующий PAP или эта информация должна быть известна PEP и PDP заранее Каждый PEP в цепочке приложения политики (policy enforcement) должен обрабатывать запрос полностью, обращаясь к соответствующему главному PDP (master PDP). u PEP не должен производить комбинацию множества решений нескольких PDP Только один PDP должен формировать окончательное решение по исходному запросу u Однако, PEP при этом может запрашивать различные типы PDP в зависимости от семантики или пространства имен запроса и используемой политики В случае использования квитанций или билетов (ticket/token) для оптимизации производительности контроля доступа, PEP должен понимать и иметь возможность проверять (validate) AuthZ-билеты, выданные доверительным PDP (trusted PDP) u При этом AuthZ-билеты должны иметь ограниченный срок годности и назначение (validity and usage restriction) и содержать информацию о принятом авторизационном решении и о ресурсе Для ускорения процесса последующей проверки и повышения безопасности, PEP может кэшировать AuthZ-билеты

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _15 Что нужно сделать до установки СКДП Исходные технические правила и соглашения Распределение ключей и установление доверительный отношений (Key distribution and trust establishing) u В настоящее время в процессе поиска простой и эффективной модели Формат для описания политики, включая семантику и пространства имен для субьекта, атрибутов и ролей, акций u Совместимость с существующими форматами, например SAML, XACML u Практически, формат политики может определяться используемым/наличным PDP Формат для мандатов/сертификатов безопасности u Standard vs proprietary Протоколы и форматы сообщений u SOAP + XACML Request/Response u SOAP + SAMLP + XACML

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _16 Отношения доверия в AuthN/Z системах Получение необходимых прав доступа для выполнения запрашиваемой акции : User => AuthN(HomeOrg.IdentP, (UserDB | TA)) => => AuthZ(AttrA.roles, Policy.permissions) => => Resource.permissions Последовательность доверия/мандатов делегирования для основных модулей User.Cred => => (HO.user[TA] | UserD) => User.roles(AA) => Role.permissions(PA) => Resource. permissions Trust/credentials chain and delegation between major modules:

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _17 Пример использования: Система контроля доступа в демо-системе Collaboratory.nl (CNL2) JNLP – Java Network Launch Protocol CHEF – Collaborative tool Surabaya – Collaborative Workspace environment Locations/trust domains

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _18 CNL2 AuthZ policy: Resource, Actions, Subject, Roles Actions (8) StartSession StopSession JoinSession ControlExperiment ControlInstrument ViewExperiment ViewArchive AdminTask Roles (4) Analyst Customer Guest Administrator (CertifiedAnalyst) Naming convention Resource - Subject – Roles - role or

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _19 AAA Policy and XACML Policy formats PolicySet Policy {Rules} Target {S, R, A, (E)} RBAC/XACML Policy {Rules} … Subject Rules Resource/ Environment CNL AAA Policy Policy Target {S, R, A, (E)} XACML Policy Rule Combination Algorithm Rule ID#1 Rule Target {S, R, A} Condition Match List AttrDesignat Rule ID#n

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _20 Oткрытые системы для AuthN/AuthZ Разработаны в рамках проектов Internet2, FP5/FP6 и национальных научных сетей Internet2 проекты Shibboleth - TERENA AAI (Authentication, Authorisation Initiative) и ассоциированные проекты - A-Select - PAPI - PERMIS - GEANT JRA5 AAI Framework - Globus Toolkit 4.0 AuthZ Framework - GAAA_tk and GAAAPI (Generic AuthN, AuthZ API) u GAAA_tk - u GAAAPI -

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _21 Обсуждение и вопросы? Обговорення і питання? Discussion and Questions? Bespreking and Vragen?

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _22 Дополнительная информация Примеры AuthZ tickets and tokens Управление сессией авторизации Примеры политики в формате AAA и XACML GT4 Authorisation Framework

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _23 Модель контроля доступа в СОУ - Обмен AuthzTicket и AuthzToken

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _24 Mapping between CNLAuthzTicket, XACML Request/Response and SAML2.0 Authorization Assertion SAML 2.0 vs SAML 1.1 Better security features Issuer and Subject are top level elements Encrypted elements for Subject, Attributes, Evidence Special profile for XACML General problems for AuthZ Attributes can be placed only as deep as 5 level down: Assert/AzStm/Evid/AttrAsrt/Attr /AttrValue Ambiguous location for PolicyURIs and SessionID SAML1.1 ConfirmationData element is extensible type – compatibility problems

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _25 Using SAML 1.1/2.0 for AuthzTicket expression SAML 2.0 vs SAML 1.1 Better security features Issuer and Subject are top level elements Encrypted elements for Subject, Attributes, Evidence Special profile for XACMLAuthzStatement General problems for Authorisation assertion Attributes can be placed only as deep as 5 level down: Assertion/AuthzStatement/Evidence/AttributeAssertion/Attribute/AttributeValue Ambiguous location for PolicyURIs and SessionID Ambiguous mapping for XACML/Obligation to SAML/(Condition or Advice) SAML1.1 ConfirmationData element is an extensible type – compatibility problems XACML Obligation element u Can be mapped to SAML Condition element or SAML Advice element

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _26 CNLAuthzTicket example – 1011 bytes Permit SeDFGVHYTY83ZXxEdsweOP8Iok CNL2-XPS cnl:actions:CtrlInstr cnl:actions:CtrlExper...

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _27 CNLAuthzTicket XML Signature element – 957 bytes (total signed ticket 1968 bytes) nrNrZZDiw/2aDnKXFEHSeoixnsc= 0IZt9WsJT6an+tIxhhTPtiztDpZ+iynx7K7X2Cxd2iBwCUTQ0n61Szv81DKllWsq75IsHfusnm56 zT3fhKU1zEUsob7p6oMLM7hb42+vjfvNeJu2roknhIDzruMrr6hMDsIfaotURepu7QCT0sADm9If X89Et55EkSE9oE9qBD8= >

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _28 RSA element – 1010 bytes (total signed ticket with KeyInfo bytes) MIICADCCAWkCBEGX/FYwDQYJKoZIhvcNAQEEBQAwRzELMAkGA1UEBhMCTkwxGTAXBgNVBAoTEENv bGxhYm9yYXRvcnkubmwxHTAbBgNVBAMTFEFBQXV0aHJlYWNoIFNlY3VyaXR5MB4XDTA0MTExNTAw NDYxNFoXDTA1MDIxMzAwNDYxNFowRzELMAkGA1UEBhMCTkwxGTAXBgNVBAoTEENvbGxhYm9yYXRv cnkubmwxHTAbBgNVBAMTFEFBQXV0aHJlYWNoIFNlY3VyaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDdDrBhVmr1nD9eqi7U7m4yjIRxfvjAKv33EpuajvTKHpKUgLjbcBC3jNJ4F7a0GiXQ cVbuF/aDx/ydIUJXQktvFxK0Sm77WVeSel0cLc1hYfUSAg4mudtfsB7rAj+CzNnVdr6RLFpS9YFE lv5ptGaNGSbwHjU02HnArEGL2K+0AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADHKqkOW4mP9DvOi bMvf4oqXTth7yv8o3Zol7+nqlB9Tqf/bVNLMk8vNo5fWRHbpnHIFFgTk31nrJf8kEZEofvwAeW9s 1gQtYfs1oxvsMPKHxFjJDiZlLkHRViJl/slz5a7pkLqIXLRsPFRziTksemRXB/fT8KDzM14pzQZg HicO 3Q6wYVZq9Zw/Xqou1O5uMoyEcX74wCr99xKbmo70yh6SlIC423AQt4zSeBe2tBol0HFW7hf2g8f8 nSFCV0JLbxcStEpu+1lXknpdHC3NYWH1EgIOJrnbX7Ae6wI/gszZ1Xa+kSxaUvWBRJb+abRmjRkm 8B41NNh5wKxBi9ivtAM= AQAB

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _29 CNLAuthzToken example – 293 bytes 0IZt9WsJT6an+tIxhhTPtiztDpZ+iynx7K7X2Cxd2iBwCUTQ0n61Szv81DKllWsq75IsHfusnm56 zT3fhKU1zEUsob7p6oMLM7hb42+vjfvNeJu2roknhIDzruMrr6hMDsIfaotURepu7QCT0sADm9If X89Et55EkSE9oE9qBD8= CNLAuthzToken is constructed of the CNLAuthzTicket TicketID and SignatureValue CNLAuthzToken use suggests caching CNLAuthzTicket s

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _30 CNLSAMLAuthzTicket example – 2254 bytes JobXPS CNLpolicy01 cnl:actions:CtrlInstr cnl:actions:CtrlExper signed-subject-id === moved to attr in SAML 2.0 PBLIR0aZRtdZmq979lj8eDpJ5VT6BxxWBtSApC5BPnIsfHRUcOOpWQowXBw2TmOZdJGNzFWhMinz XU3/wSdLjv+siO2JGfyZ7U9eqkM0GqY8VizMl5uRuUAsrr7AIHv9/DP1ksJMNDZ5DnGosMc+Zyqn KogfMqhK+DKqPwfHF6U= CNL2-XPS === level 5 of element

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _31 CNLAuthnTicket example – 1752 bytes 0+qQNAVuZW4txMi8DH6DFy7eLMGxSfKDJY6ZnY4UW5Dt0JFtatlEprUtgnjCkzrJUMvWk9qtUzna sDdUG+P4ZY7dgab+PHiU91ClusZbztu/ZIjNqCnw5su1BQLTumC8ZTtYKKJi4WWs+bMMbP8mFNQm +M7F4bJIPBfLcxf0bk4= CNL2-XPS

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _32 CNLAuthnToken signed/encrypted – 401/269 bytes 0+qQNAVuZW4txMi8DH6DFy7eLMGxSfKDJY6ZnY4UW5Dt0JFtatlEprUtgnjCkzrJUMvWk9qtUzna sDdUG+P4ZY7dgab+PHiU91ClusZbztu/ZIjNqCnw5su1BQLTumC8ZTtYKKJi4WWs+bMMbP8mFNQm +M7F4bJIPBfLcxf0bk4= CNLAuthnToken is constructed of the CNLAuthnTicket TicketID and SubjectConfirmationData which is encrypted SubjectID value CNLAuthzToken must be self-sufficient and doesn t require caching CNLAuthnTicket s qij9zJgKZp9RiJxYN1QJAN0vhjLJSMGVLD/doQtmCsk=

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _33 Session management in CNL2 AuthZ system Maintaining session is a part of generic RBAC functionality Session can be started only by authorised Subject/Role u Session can be joined by other less privileged users SessionID is included into AuthzTicket together with other decision attributes u Signed AuthzTicket is cached by PEP or PDP If session is terminated, cached AuthzTicket is deleted u Note: AuthzTicket revocation should be done globally for the AuthZ trust domain

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _34 Tickets/Tokens handling in AuthZ system AuthzTicket is issued by PDP and may be issued by PEP AuthzTicket must be signed AuthzTicket contains all necessary information to make local PEP-Triage Request verification When using AuthzTokens, AuthzTickets must be cached; Resolution mechanism from token to ticket must be provided

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _35 AAA Policy and XACML Policy formats PolicySet Policy {Rules} Target {S, R, A, (E)} RBAC/XACML Policy {Rules} … Subject Rules Resource/ Environment CNL AAA Policy Policy Target {S, R, A, (E)} XACML Policy Rule Combination Algorithm Rule ID#1 Rule Target {S, R, A} Condition Match List AttrDesignat Rule ID#n

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _36 CNL2 AuthZ policy: RBAC using AAA format Policy generation conventions Subject validation Resource and Environment checking Access rules evaluation u Rules are expressed as permissions to perform an action against Subject role

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _37 CNL2 AuthZ policy: RBAC using XACML format Policy generation conventions Policy Target is defined for the Resource and may include Environment checking Policy combination algorithm is ordered-deny-override or deny-override Rule Target is defined for the Action u Rules Condition provides matching of roles which are allowed to perform the Action Access rules evaluation u Rules are expressed as permissions to perform an action against Subject role u Rules effect is Permit Subject validation – is not supported by current XACML functionality u TODO: add Function or do validation at/by PEP or Context Handler

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _38 GT4 AuthZ framework: Implementation details Source code tree org.globus.wsrf.impl.security.authorization Still using grid-map file as a major option Special interface for PDP and PIP to interact with Interceptor Very simple example provisioning for XACML u Simple policy format

June 16, 2005 RELARN2005 Access Control in Web Services and Grid Slide _39 GT4 AuthZ framework: Multiple configured PDPs GT4 implementation uses Interceptor concept Originated from POSIX AuthZ f/w Supported by Axis Handlers PEP function is (virtually) eliminated Deny-override vs Permit- override combination Configured by Interceptor PDP/PIP call-out list PDP are called directly or via PIP