cnl:TokenValue - UAZone.org Development Server

advertisement
Обеспечение гибкой системы
контроля доступа
в Веб-сервисах и Грид-системах
RELARN2005
16 июня, 2005
Yuri Demchenko <demch@science.uva.nl>
AIRG, University of Amsterdam
Содержание
 Услуги Аутентификации (AuthN) и Авторизации (AuthZ) в научных и
образовательных сетях
 Модель безопасности и контроль доступа в системах ориентированных на
услуги (СОУ)
 Система контроля доступа на основе политики (СКДП) и модель Role
Based Access Control (RBAC)

Оптимизированные модели push-pull-agent и использование квитанций/билетов
и маркеров авторизации (AuthZ tickets and tokens)
 Отношения доверия в распределенной инфраструкутре контроля доступа
 Политика доступа и существующие форматы
 Примеры систем распределенной аутентификации и
авторизации
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_2
AuthN/AuthZ в научных и образовательных сетях
 Доступ к многосайтовым Веб/Интернет ресурсам

Система единого доступа (SSO – Single Sign On) и системы управления
идентификацией (IdM - Identity management)
 Межуниверситетские ресурсы и доступ к внешним ресурсам или
предоставление доступа для внешних пользователей
 Распределенные университетские кампусы и дистанционное обучение
 Грид-центры и Грид-приложения
Различные административные домены и домены безопасности
 Продолжительные (транзитивные) задачи
 Динамические ресурсы и виртуальные ассоциации ресурсов и пользователей

June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_3
Современная архитектура сервисов AuthN и AuthZ
Проблемы
 Множество логинов/паролей – на каждый ресурс/сайт
 Ограничение одним доменом безопасности или множество сертификатов
открытых ключей
 Сложность частичной динамической делегации полномочий
Требования к современной архитектуре AuthN/Z
 Разделение сервисов аутентификации (AuthN) и авторизации (AuthZ)
Аутентификация в «домашней» организации
 Авторизация ресурсом

 Конфиденциальность, приватность и анонимность

Контроль доступа к атрибутам на основе политики
 Управление доступом на основе ролей и политики безопасности (RBAC) и
инфраструктуры управления привелегиями (PMI)
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_4
Новая парадигма безопасности приложений
Традиционные модели безопасности (ISO7498-2) и POSIX:




Host-to-host или point-to-point security
Ориентированная на архитектуру Client/Server
Основанные на соединение (connection-oriented) и нет (connectionless)
В общем случае единый доверительный домен (на основе PKI)
Безопасность приложений основе XML
 Безопасность между конечными точками приложений (End-to-end)
 Ориентированная на документ (или семантический обьект)

Квитанции, мандаты и маркеры безопасности могут быть ассоциированы с документом
или сообщением или их частью
 Потенциально работает между различными доменами административными и
безопасности
 Позволяет создавать динамические и виртуальные ассоциации
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_5
Модель контроля доступа в СОУ
User HomeOrg
Zone RN
Zone RA
IdentP
TA/BA
Req/User
Client
Zone RAA
Zone R1
IdentP
TA/BA
FW
Appl
Srvr/
Contnr
Resource/Service Site
AuthN
(SSO)
AuthZ
(Policy
Enforcemnt)
Resource
IF/Agent
(IntFW)
Creds
PEP
ACL
(ResAuthZ)
Attrib
PDP
AttrA
PolicyA
June 16, 2005 RELARN2005
Site AuthN
Identity/Attributes
(TA/BA/VO Contx)
Resource/
Service
PolicyA
Data
Local
FileSyst
UserDB
Internet/Network
Access
Zone R0
Site AuthZ
(Policy Enforcement)
Access Control in Web Services and Grid
Resource IF/Agent
Resource Manager
Resource
(Local File System)
Slide_6
Архитектура безопасности Грид и Веб-сервисов
Site Security
Services
Intrusion
Detection and
Incident
Response
Services/Operational Security
Authentication
and Identity
Management
Authorisation
(Access Control)
Secure
Logging
Policy
Management
(AuthZ,
Privacy,
Trust,
Federation)
Secure Context
Management
Auditing and
Notarisation
Policy Expression and Exchange
Identity/
Federation Policy
Authorisation
Policy
Trust
Management
Policy
Confidentiality
and
Privacy Policy
Messaging Security: SOAP/WS- Security
User
Management
Key
Management
June 16, 2005 RELARN2005
Communication/Transport Security: SSL/TLS, VPN, IPSec, Firewall, etc.
Access Control in Web Services and Grid
Slide_7
Требования к Системе Контроля Доступа на
основе Политики (СКДП)
 Выражение политики для множества доменов и организаций (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_8
СКДП и управление доступом на основе ролей
RBAC – Role Based Access Control
 Роль описывает функцию
 Права/привилегии определяют доступ к ресурсу в определенном режиме
 Правила доступа описаны в форме политики доступа

Возможно комбирирование множественных политик
Преимущества RBAC





Легко управлять и контролировать
Раздельное назначение ролей-пользователей и ролей-привилегий
Поддерживает принцип минимально необходимых привилегий
Масштабируемость, наследование и агрегирование привилегий/прав
Возможность делегирования
ISO STD on PMI (Privilege Management Infrastructure) как основа для RBAC
 Строится на основе X.509 Сертификатов Атрибутов (AC – Attribute Certificate)

АС позволяет связать идентификатор пользователя с ролями и роли с привилегиями
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_9
(1) Generic AAA Architecture by AIRG (UvA)
Решение о доступе на основе
политики
Request/Response
Request/Response
Request/Response
Generic AAA
RBE
Policy
Policy
Policy
•Политика доступа
определяется ресурсом
June 16, 2005 RELARN2005
ASM
ASM
ASM
 Req {AuthNtoken, Attr/Roles,
PolicyTypeId, ConditionExt}
 RBE (Req + Policy) =>
=> Decision {ResponseAAA,
ActionExt}
 ActionExt = {ReqAAAExt,
ASMcontrol}
 ResponseAAA =
{AckAAA/RejectAAA, ReqAttr,
ReqAuthN, BindAAA (Resource,
Id/Attr)}
•Преобразование logDecision => Action
•Преобразование State => LogCondition
Access Control in Web Services and Grid
Slide_10
(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_11
Служба авторизации сайта на основе RBAC и
комбинированная модель pull-push
Site Services/Resources
AzTicket
Srv Req
Requestor
Srv Deliv
AzTicket
User
login
IF
PEP1
PEP2
Resource/
Service
AzTicket
AuthN Req
PDP
types
call
An
Req/
Resp
AuthN
and
IdentMngt
AzReq
Decision
AuthN Req/Valid
Ext
AuthZ
IF
Az
Tickt
PDP
(local)
PDP
PDP
PDP
(Master)
PDP
(Secondary)
chain
PDP
(Secondary)
chain
Важные вопросы:
• Комбинирование
множества политик
• Последовательность
PEP (chaining) и
рекурентность PDP
(nesting)
• Множество доменов
доверия и
административных
Extern
(Multiple domains)
PDP
chain
AzTicket
Attribute
Authority
PAP
(local)
Attr Req/Valid
PAP
June 16, 2005 RELARN2005
PAP
Access Control in Web Services and Grid
Slide_12
Служба авторизации сайта на основе комбинированной
модели agent-push для сложных ресурсов
Site Services/Resources
SrvDeliv
SrvDeliv
Resource/
Service
AzTicket
PEP1
(ASM)
Srv Req
Srv Req
Resource/
Service
PEP2
(ASM)
Srv Req
AzTicket
AuthN Req/Valid
AuthNReq
AuthN
and
IdentMngt
AuthN Req
Srv Req
Srv Req
AzTicket
AzTicket
Srv Req
Requestor
AzTicket
Attribute
Authority
User
login/
AuthZ
IF
PDP
(Driving)
Recursive
PDP
flow/chain
Recurs
PDP
call
Attr Req/Valid
PAP
June 16, 2005 RELARN2005
PDP2
(Driving)
Важные вопросы:
• Ресурсы, состоящие из
множества
компонентов и
принадлежащих
множеству доменов
(Multi-component and
multidomain resources)
• Включение политики в
запрос и/или
использование
квитанций (Policy push
and/or token based
access control)
PAP
Access Control in Web Services and Grid
Slide_13
СКДП: Вопросы внедрения



PDP и PAP должны иметь общее пространство имен (namespace)
Запрос (request message) должен содержать ссылку на Политику и соответствующий
PAP или эта информация должна быть известна PEP и PDP заранее
Каждый PEP в цепочке приложения политики (policy enforcement) должен
обрабатывать запрос полностью, обращаясь к соответствующему главному PDP
(master PDP).


Только один PDP должен формировать окончательное решение по исходному запросу



PEP не должен производить комбинацию множества решений нескольких PDP
Однако, PEP при этом может запрашивать различные типы PDP в зависимости от
семантики или пространства имен запроса и используемой политики
В случае использования квитанций или билетов (ticket/token) для оптимизации
производительности контроля доступа, PEP должен понимать и иметь возможность
проверять (validate) AuthZ-билеты, выданные доверительным PDP (trusted PDP)
 При этом AuthZ-билеты должны иметь ограниченный срок годности и назначение
(validity and usage restriction) и содержать информацию о принятом
авторизационном решении и о ресурсе
Для ускорения процесса последующей проверки и повышения безопасности, PEP
может кэшировать AuthZ-билеты
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_14
Что нужно сделать до установки СКДП
Исходные технические правила и соглашения
 Распределение ключей и установление доверительный отношений
(Key distribution and trust establishing)

В настоящее время в процессе поиска простой и эффективной модели
 Формат для описания политики, включая семантику и пространства имен
для субьекта, атрибутов и ролей, акций
Совместимость с существующими форматами, например SAML, XACML
 Практически, формат политики может определяться используемым/наличным
PDP

 Формат для мандатов/сертификатов безопасности

Standard vs proprietary
 Протоколы и форматы сообщений
SOAP + XACML Request/Response
 SOAP + SAMLP + XACML

June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_15
Отношения доверия в AuthN/Z системах
User HomeOrg
Zone RN
Zone RA
IdentP
TA/BA
Req/User
Client
Zone RAA
Zone R1
IdentP
TA/BA
FW
Appl
Srvr/
Contnr
Resource/Service Site
AuthN
(SSO)
AuthZ
(Policy
Enforcemnt)
Resource
IF/Agent
(IntFW)
Creds
PEP
ACL
(ResAuthZ)
Attrib
PDP
AttrA
PolicyA
Site AuthN
Identity/Attributes
(TA/BA/VO Contx)
Resource/
Service
PolicyA
Data
Local
FileSyst
UserDB
Internet/Network
Access
Zone R0
Site AuthZ
(Policy Enforcement)
Resource IF/Agent
Resource Manager
Resource
(Local File System)
Последовательность
доверия/мандатов
делегирования для
основных модулей
User.Cred =>
=> (HO.user[TA] | UserD)
=> User.roles(AA)
=> Role.permissions(PA)
=> Resource. permissions
Trust/credentials chain and
delegation between major
modules:
Получение необходимых прав доступа для выполнения запрашиваемой акции:
User => AuthN(HomeOrg.IdentP, (UserDB | TA)) =>
=> AuthZ(AttrA.roles, Policy.permissions) =>
=> Resource.permissions
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_16
Пример использования: Система контроля доступа в демосистеме Collaboratory.nl (CNL2)
3. JNLP
Remote CNL
Instrument
Surabaya
5,10 startSession()
11,14 goLeft()
Web
Client
2. JNLP
1. Login
CHEF
Job Mgt.
Instrument
Controller
4. getJobInfo()
6,9 startSession()
12,13 checkAuthZStatus()
gAAA Server
7,8 requestDecision()
PDP
Note: we assume SSL TCP connections all over.
June 16, 2005 RELARN2005
PEP
JNLP – Java Network
Launch Protocol
CHEF – Collaborative
tool
Surabaya – Collaborative
Workspace
environment
Locations/trust
domains
Access Control in Web Services and Grid
Slide_17
CNL2 AuthZ policy: Resource, Actions, Subject,
Roles
Actions (8)








Roles (4)





StartSession
StopSession
JoinSession
ControlExperiment
ControlInstrument
ViewExperiment
ViewArchive
AdminTask
Analyst
Customer
Guest
Administrator
(CertifiedAnalyst)
Naming convention
 Resource - “http://resources.collaboratory.nl/Phillips_XPS1”
 Subject – “WHO740@users.collaboratory.nl”
 Roles - “role“ or “role@JobID”
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_18
AAA Policy and XACML Policy formats
CNL AAA Policy
Subject
Resource/
Environment
RBAC/XACML
Policy
Target
{S, R, A, (E)}
XACML Policy
Rule Combination
Algorithm
Policy Target
{S, R, A, (E)}
PolicySet
Rule ID#1
Rules
Policy
{Rules}
…
Rule Target
{S, R, A}
Condition
AttrDesignat
Policy
{Rules}
Match List
Rule ID#n
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_19
Oткрытые системы для AuthN/AuthZ
Разработаны в рамках проектов Internet2, FP5/FP6 и национальных
научных сетей
 Internet2 проекты

Shibboleth - http://shibboleth.internet2.edu/
 TERENA AAI (Authentication, Authorisation Initiative) и
ассоциированные проекты - http://www.terena.nl/tf-emc2/
A-Select - http://a-select.surfnet.nl/
 PAPI - http://www.rediris.es/app/papi/index.en.html
 PERMIS - http://www.permis.org/
 GEANT JRA5 AAI Framework - http://www.geant2.net/

 Globus Toolkit 4.0 AuthZ Framework  GAAA_tk and GAAAPI (Generic AuthN, AuthZ API)
GAAA_tk - http://www.science.uva.nl/research/air/projects/aaa/
 GAAAPI - http://staff.science.uva.nl/~demch/projects/aaauthreach/

June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_20
Обсуждение и вопросы?
Обговорення і питання?
Discussion and Questions?
Bespreking and Vragen?
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_21
Дополнительная информация




Примеры AuthZ tickets and tokens
Управление сессией авторизации
Примеры политики в формате AAA и XACML
GT4 Authorisation Framework
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_22
Модель контроля доступа в СОУ - Обмен
AuthzTicket и AuthzToken
Zone RN
AzTickt
Zone RA
FW
Appl
Srvr/
Contnr
AuthZ
User
DB
PEP
AttrA
Zone R0
Resource/Service Site
AuthN
Attrib
SrvResp
Zone R1
IdentP
TA/BA
SrvReq
Requestor
(User)
System
Zone RAA
PDP
PAP
Resource
IF/Agent
(SRM)
Resource/
Service
(DSE)
(Access
Control
List)
PAP
Data
AzTickt
Local
FileSyst
UserDB
Internet/Network
Access
June 16, 2005 RELARN2005
Site AuthN
(Identity/Attributes)
Site AuthZ
(Policy Enforcement)
Access Control in Web Services and Grid
Resource IF/Agent
Resource Manager
Resource
(Local File System)
Slide_23
Mapping between CNLAuthzTicket, XACML Request/Response and
SAML2.0 Authorization Assertion
CNLAuthzTicket
XACMLRequest
PolicyRef
{Subject}
SubjectID
AuthnToken
JobID
SessionID
Issuer
Issuer
PolicyURIs
Subject
Decision
SubjNameID
ResourceID
{Roles}
{Resource}
ResContent
{ResAttribs}
Action
{ActionAttrs
}
Environment
{EnvirAttrs}
Result
ResourceID
ValidityTime
ValidityTime
ValidityTime
ValidityTime
AuthnToken
CommunRestr
SubjectID
AuthnToken
JobID
Status
Status/Msg
StatusDetail
Obligations
{Condition}
Advice
SAML11AuthzStat
{Assertions}
m
Decision
OtherInfo
Resource
SAMLAuthzStatm
Subject
Resource
ResourceID
Action
Obligations
{Obligation}
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
AudienceRstr
Proxy/1Time
Subject
{Actions}
Decision
SubjConfirm
Conditions
Validity
{Roles}
XACMLResponse
SAML20AuthzAssertion
Decision
SubjNameID
ResourceID
SubjConfirm
Action
Action
{ActionID}
{ActionID}
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
Evidence
Evidence
AttrAssertion
AttrAssertion
}
AuthnToken
{Assertion}
}
{Assertions}
AuthnToken
{Obligation}
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_24
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

Can be mapped to SAML Condition element or SAML Advice element
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_25
CNLAuthzTicket example – 1011 bytes
<cnl:CNLAuthzTicket xmlns:AAA="http://www.AAAarch.org/ns/AAA_BoD"
xmlns:cnl="http://www.aaauthreach.org/ns/#CNL" Issuer="http://www.AAAarch.org/servers/AAA"
PolicyURIs="CNLpolicy01" SessionIndex="JobXPS1-2005-001"
TicketID="c24d2c7dba476041b7853e63689193ad">
<!-- Mandatory elements -->
<cnl:Decision
ResourceID="http://resources.collaboratory.nl/Philips_XPS1">Permit</cnl:Decision>
<cnl:Validity NotBefore="2005-02-13T01:26:42.699Z" NotOnOrAfter="2005-0214T01:26:42.699Z"/>
<!-- Additional elements -->
<cnl:Subject Id="subject">
<cnl:SubjectID>WHO740@users.collaboratory.nl</cnl:SubjectID>
<cnl:SubjectConfirmationData>SeDFGVHYTY83ZXxEdsweOP8Iok</cnl:SubjectConfirmationData>
<cnl:JobID>CNL2-XPS1-2005-02-02</cnl:JobID>
<cnl:Role>analyst@JobID;expert@JobID</cnl:Role>
</cnl:Subject>
<cnl:Resource>http://resources.collaboratory.nl/Philips_XPS1</cnl:Resource>
<cnl:Actions>
<cnl:Action>cnl:actions:CtrlInstr</cnl:Action>
<cnl:Action>cnl:actions:CtrlExper</cnl:Action>
</cnl:Actions>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> ... </ds:Signature>
</cnl:CNLAuthzTicket>
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_26
CNLAuthzTicket XML Signature element – 957 bytes
(total signed ticket 1968 bytes)
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>nrNrZZDiw/2aDnKXFEHSeoixnsc=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
0IZt9WsJT6an+tIxhhTPtiztDpZ+iynx7K7X2Cxd2iBwCUTQ0n61Szv81DKllWsq75IsHfusnm56
zT3fhKU1zEUsob7p6oMLM7hb42+vjfvNeJu2roknhIDzruMrr6hMDsIfaotURepu7QCT0sADm9If
X89Et55EkSE9oE9qBD8=
</ds:SignatureValue>
<ds:KeyInfo> << ... snip ... >> </ds:KeyInfo>
</ds:Signature>
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_27
RSA <ds:KeyInfo> element – 1010 bytes
(total signed ticket with KeyInfo - 3078 bytes)
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIICADCCAWkCBEGX/FYwDQYJKoZIhvcNAQEEBQAwRzELMAkGA1UEBhMCTkwxGTAXBgNVBAoTEENv
bGxhYm9yYXRvcnkubmwxHTAbBgNVBAMTFEFBQXV0aHJlYWNoIFNlY3VyaXR5MB4XDTA0MTExNTAw
NDYxNFoXDTA1MDIxMzAwNDYxNFowRzELMAkGA1UEBhMCTkwxGTAXBgNVBAoTEENvbGxhYm9yYXRv
cnkubmwxHTAbBgNVBAMTFEFBQXV0aHJlYWNoIFNlY3VyaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
ADCBiQKBgQDdDrBhVmr1nD9eqi7U7m4yjIRxfvjAKv33EpuajvTKHpKUgLjbcBC3jNJ4F7a0GiXQ
cVbuF/aDx/ydIUJXQktvFxK0Sm77WVeSel0cLc1hYfUSAg4mudtfsB7rAj+CzNnVdr6RLFpS9YFE
lv5ptGaNGSbwHjU02HnArEGL2K+0AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADHKqkOW4mP9DvOi
bMvf4oqXTth7yv8o3Zol7+nqlB9Tqf/bVNLMk8vNo5fWRHbpnHIFFgTk31nrJf8kEZEofvwAeW9s
1gQtYfs1oxvsMPKHxFjJDiZlLkHRViJl/slz5a7pkLqIXLRsPFRziTksemRXB/fT8KDzM14pzQZg
HicO
</ds:X509Certificate>
</ds:X509Data>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
3Q6wYVZq9Zw/Xqou1O5uMoyEcX74wCr99xKbmo70yh6SlIC423AQt4zSeBe2tBol0HFW7hf2g8f8
nSFCV0JLbxcStEpu+1lXknpdHC3NYWH1EgIOJrnbX7Ae6wI/gszZ1Xa+kSxaUvWBRJb+abRmjRkm
8B41NNh5wKxBi9ivtAM=
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_28
CNLAuthzToken example – 293 bytes
<cnl:CNLAuthzToken TokenID="ed9d969e1262ba1d3a7f33dbd670dd94">
<cnl:TokenValue>
0IZt9WsJT6an+tIxhhTPtiztDpZ+iynx7K7X2Cxd2iBwCUTQ0n61Szv81DKllWsq75IsHfusnm56
zT3fhKU1zEUsob7p6oMLM7hb42+vjfvNeJu2roknhIDzruMrr6hMDsIfaotURepu7QCT0sADm9If
X89Et55EkSE9oE9qBD8=
</cnl:TokenValue>
</cnl:CNLAuthzToken>
 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_29
CNLSAMLAuthzTicket example – 2254 bytes
<Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" AssertionID="c236b047d62db5cecec6b240996bcb90" IssueInstant="2005-02-15T14:53:23.542Z"
Issuer="cnl:subject:CNLAAAauthority" Version="1.1">
<Conditions NotBefore="2005-02-16T14:32:12.506Z" NotOnOrAfter="2005-02-17T14:32:12.506Z">
<Condition xsi:type="typens:cnl:session-id">JobXPS1-2005-001</Condition>
<Condition xsi:type="typens:cnl:policy-uri">CNLpolicy01</Condition>
</Conditions>
<AuthorizationDecisionStatement Decision="Permit" Resource="http://resources.collaboratory.nl/Philips_XPS1">
<Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">cnl:actions:CtrlInstr</Action>
<Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">cnl:actions:CtrlExper</Action>
<Evidence>
<Assertion AssertionID="f3a7ea74e515ffe776b10a7eef0119d7" IssueInstant="2005-02-15T14:53:23.542Z" Issuer="cnl:subject:CNLAAAauthority"
MajorVersion="1" MinorVersion="1">
<Conditions NotBefore="2005-02-15T14:53:11.745Z" NotOnOrAfter="2005-02-16T14:53:11.745Z"/>
<AttributeStatement>
<Subject>
<NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
NameQualifier="cnl:subject">WHO740@users.collaboratory.nl</NameIdentifier>
<SubjectConfirmation>
<ConfirmationMethod>signed-subject-id</ConfirmationMethod>
=== moved to attr in SAML 2.0
<ConfirmationData>
PBLIR0aZRtdZmq979lj8eDpJ5VT6BxxWBtSApC5BPnIsfHRUcOOpWQowXBw2TmOZdJGNzFWhMinz
XU3/wSdLjv+siO2JGfyZ7U9eqkM0GqY8VizMl5uRuUAsrr7AIHv9/DP1ksJMNDZ5DnGosMc+Zyqn
KogfMqhK+DKqPwfHF6U=</ConfirmationData>
</SubjectConfirmation>
</Subject>
<Attribute xmlns:typens="urn:cnl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
AttributeName="AttributeSubject" AttributeNamespace="urn:cnl">
<AttributeValue xsi:type="typens:cnl:job-id">CNL2-XPS1-2005-02-02</AttributeValue>
=== level 5 of element
<AttributeValue xsi:type="typens:cnl:role">analyst@JobID;expert@JobID</AttributeValue>
</Attribute>
</AttributeStatement>
</Assertion>
</Evidence>
</AuthorizationDecisionStatement>
</Assertion>
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_30
CNLAuthnTicket example – 1752 bytes
<cnl:CNLAuthnTicket xmlns:AAA="http://www.AAAarch.org/ns/AAA_BoD"
xmlns:cnl="http://www.aaauthreach.org/ns/#CNL" Issuer="http://www.AAAarch.org/servers/AAA"
TicketID="f35585dfb51edec48de0c7eadb11c17e">
<!-- Mandatory elements -->
<cnl:Validity NotBefore="2005-02-15T14:33:10.548Z" NotOnOrAfter="2005-02-16T14:33:10.548Z"/>
<cnl:Subject Id="subject">
<cnl:SubjectID>WHO740@users.collaboratory.nl</cnl:SubjectID>
<cnl:SubjectConfirmationData>
0+qQNAVuZW4txMi8DH6DFy7eLMGxSfKDJY6ZnY4UW5Dt0JFtatlEprUtgnjCkzrJUMvWk9qtUzna
sDdUG+P4ZY7dgab+PHiU91ClusZbztu/ZIjNqCnw5su1BQLTumC8ZTtYKKJi4WWs+bMMbP8mFNQm
+M7F4bJIPBfLcxf0bk4=
</cnl:SubjectConfirmationData>
<!--Optional elements -->
<cnl:SubjectAttribute attrname="urn:cnl:subject:attribute:job-id">
CNL2-XPS1-2005-02-02
</cnl:SubjectAttribute>
<cnl:SubjectAttribute attrname="urn:cnl:subject:attribute:role">
analyst@JobID;expert@JobID
</cnl:SubjectAttribute>
</cnl:Subject>
</cnl:CNLAuthnTicket>
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_31
CNLAuthnToken signed/encrypted – 401/269 bytes
<cnl:CNLAuthnToken xmlns:cnl="http://www.aaauthreach.org/ns/#CNL"
TokenID="f35585dfb51edec48de0c7eadb11c17e">
<cnl:SubjectID>WHO740@users.collaboratory.nl</cnl:SubjectID>
<cnl:TokenValue>
0+qQNAVuZW4txMi8DH6DFy7eLMGxSfKDJY6ZnY4UW5Dt0JFtatlEprUtgnjCkzrJUMvWk9qtUzna
sDdUG+P4ZY7dgab+PHiU91ClusZbztu/ZIjNqCnw5su1BQLTumC8ZTtYKKJi4WWs+bMMbP8mFNQm
+M7F4bJIPBfLcxf0bk4=</cnl:TokenValue>
</cnl:CNLAuthnToken>
 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
<cnl:CNLAuthnToken xmlns:cnl="http://www.aaauthreach.org/ns/#CNL"
TokenID="a392a20157698d201d77b2c6e8e444ef">
<cnl:SubjectID>WHO740@users.collaboratory.nl</cnl:SubjectID>
<cnl:TokenValue>qij9zJgKZp9RiJxYN1QJAN0vhjLJSMGVLD/doQtmCsk=</cnl:TokenValue>
</cnl:CNLAuthnToken>
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_32
Session management in CNL2 AuthZ system
 Maintaining session is a part of generic RBAC functionality
 Session can be started only by authorised Subject/Role

Session can be joined by other less privileged users
 SessionID is included into AuthzTicket together with other decision attributes

Signed AuthzTicket is cached by PEP or PDP
 If session is terminated, cached AuthzTicket is deleted

Note: AuthzTicket revocation should be done globally for the AuthZ trust domain
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_33
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_34
AAA Policy and XACML Policy formats
CNL AAA Policy
Subject
Resource/
Environment
RBAC/XACML
Policy
Target
{S, R, A, (E)}
XACML Policy
Rule Combination
Algorithm
Policy Target
{S, R, A, (E)}
PolicySet
Rule ID#1
Rules
Policy
{Rules}
…
Rule Target
{S, R, A}
Condition
AttrDesignat
Policy
{Rules}
Match List
Rule ID#n
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_35
CNL2 AuthZ policy: RBAC using AAA format
Policy generation conventions
 Subject validation
 Resource and Environment checking
 Access rules evaluation

Rules are expressed as permissions to perform an action against Subject role
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_36
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

Rule’s Condition provides matching of roles which are allowed to perform the Action
 Access rules evaluation
Rules are expressed as permissions to perform an action against Subject role
 Rules effect is “Permit”

 Subject validation – is not supported by current XACML functionality

TODO: add Function or do validation at/by PEP or Context Handler
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_37
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

Simple policy format
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_38
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 “Permitoverride” combination
• Configured by Interceptor
PDP/PIP call-out list
• PDP are called directly or
via PIP
June 16, 2005 RELARN2005
Access Control in Web Services and Grid
Slide_39
Download