Использование технологииДоверительной Компьютерной Платформыдля повышения безопасностиВиртуальной Рабочей Среды ГридYuri Demchenko <demch@science.uva.nl>
System and Network Engineering Group
University of Amsterdam
RELARN2007 Conference
6-9 June 2007, Nizhny Novgorod - Moscow, RussiaСодержание• Безопасность и доверие в Грид-приложениях Отношения Пользователь-Провайдер и Данные-Компьютер

• Модель безопасной виртуальнй рабочей среды Грид• Доверительная Компьютерная Платформа (ДКП) иДоверительный Платформенный Модуль (ДПМ)• Выводы и дальнейшее развитиеRELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_2

Безопасность и Доверие в Грид-приложенияхи предоставлении контентаВиртуальная лаборатория (ВЛ/VL) как форма предоставлениякоммерческих услуг• Фактически реализует концепцию Utility Computing• Может ли провайдер ВЛ обеспечить доверительную среду для проведенияэкспериментов с точки зрения клиентов и бизнес-соперников Эктремальный случай: Решится ли фирма Pepsi выполнять свои анализы наоборудовании компании Coca-Cola?
 Здравый смысл: Мы можем доверять удаленной системе настолько насколькомы доверяем системному администраторуПровайдеры контента (музыка, видео)• Контент, который проигрывается на компьютере пользователя, долженбыть защищен от копирования или использоваться такое количество,которое оплачено

Провайдеры сервисов/ресурсов по требованию (service on demand)• Обеспечить выпольнение договора на предоставление услуг (SLA),включая «обьязательства» (Obligations), со стороны пользователяRELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_3

Разные стороны Безопасности и Доверия• Современная реализация удаленных распределенных сервисов ицифрового контента делает отношения безопасности и доверительностимежду Пользователем и Провайдером более сложными• Пользователь и Провайдер – 2 действующих лица, которые озабоченыбезопасностью и защищенностью собственных данных/контента идоверительностью компьютерных платформ друг друга• Два аспекта безопасности и доверительности Сохраненные данные и Обрабатываемые данные Система выключенная и Система активная (обрабатывающая пользовательскуюзадачу/данные)• Жизненный пример обеспечения специальной безопасности: Дипломатический визит или визит Президента

UserДовери(е/тельность)Trust(worthiness)

ProviderSystemSystem

Data

Data

Безопасность/Security
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_4

Доменная организация ресурсов в коллективной средеВиртуальной Лаборатории на основе ГридInstrument

Instrument

Instrument

Instrument
SessionFacility

VirtualLaboratory(TA1)

Experiment(Project)
TA2

Experiment
Session(SecurityContext)

Admin

Admin

Users(attrs/roles)

Users(attrs/roles)

User/Delegate
Session

Policy/Restr.

Collab/AuthZ
Session(AuthzTicket)

(TA0)
Admin

Policy/Restr.

Policy/Restr.
Resource Provisioning SessionДинамическое созданиерабочей средыэкспериментаСоздание динамическихассоциацийпользователей и ресурсовиз множества доменовИспользование договора ВЛи/или Эксперимента дляуправления сеансамиколлективной работыОбьединение политикибезопасности множествадоменов
Возможность делегированияполномочий и прав впределах ассоциацииПолное описание ресурса в форме URI/ID –CNL:Facility:VirtualLab:Experiment:InstrModelПолный контекст сеанса пользователя –Facility < Virtual Lab < Experiment < Experiment Session < Collaborative Session
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCGSlide_5Компоненты Доверительной среды Грид для КоллективныхПриложений• Доверительная компьютерная платформа (ДКП/TPM)• Система виртуализации рабочего пространства (VirtualWorkspace Service - VWSS)• (Динамическая) система контроля доступа приложенияPC Platform
TPMCPUTA0(TPM)
OSHostingplatfrm3-х уровневая безопаснаяпользовательская виртуальная среда
•User Controlled VWSS(VWSS-UC)
RELARN2007 - 6-9 June 2007

MemoryGrid Virtual WSS (VL)

User Applic Env

TA1
VM/VWSSTA2(UC Appl)

VM
Ware

VM1

Applic(UC Srv)

VMn

Applic(UC Srv)

(Xen)

TA#(UserClient)Applic
An/Az
GtewayUser Client
SrvReqTPM

AzTicket
Security
Gateway

I/O-Network

Extending Security and Trust Domains with TPM/TCG

AuthZ Session

WSSReqWssTicket
WSS Session

Slide_6

Globus Toolkit Virtual Workspace Service (VWSS)• Динамически конфигуримуемая исполнительная средадля динамических Грид-приложений http://workspace.globus.org/index.html
 Состоит из двух сервисов: Workspace Factory Service (WFS) иWorkspace service (WSS) Использует VM/Xen как платформу для виртуализации• Предлагаемая модель безопасности использует толькоконтроль доступа при запросе WFS на основе GT4-AuthZ Возможность использования предварительносконфигурированных образов VM
 Использует доверие к провайдеру Грид-сервисов как кдоверительной третьей сторонеRELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_7Доверительная Компьютерная платформа (ДКП)
TCG Trusted Computing PlatformПредложена и развивается Trusted Computing Group (TCG)• Предоставляет основу для построения контролируемой безопасной среды дляисполнения задач и приложений и защищенной обработки данных или контентаhttps://www.trustedcomputinggroup.org/home• Содержит стандарты для доверительного сетевого соединения, клиента, сервера, имобильного устройства
• TMP software stack (TSS) определяет API/интерфейс для удаленного доступа,контроля идентификации платформы, PKI/СОК, безопасной e-mail, шифрованиефайлов и директорий, и др.

Компоненты TCG••••Доверительный Платформенный Модуль (ДПМ, Trusted Platform Module (TPM))“Curtained memory” в центральном процессорном устройствеЯдро безопасности в OС и ядра безопасности в каждом приложенииПоддерживающая инфраструктура онлайн серверов производителей аппаратного ипрограммного обеспечения для производства, инсталяции и эксплуатации TPM/TCG

Trusted Network Connect (TNC) – позволяет производить контрольдоверительных отношений и интегральности платформы при установлениисоединения между двумя платформами с ДПМRELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCGSlide_8Доверительный Платформенный Модудь (ДПМ)
Trusted Platform Module (TPM)Микрочип, встроенный в компьютерную систему или пластиковую карточку• Может использоваться как платформенная доверительная привязка (“root-of-trust”)
для доверительной регистрации компьютерной системы и обеспечения ееинтегральности

Обеспечивает набор аппаратно реализуемых криптографических функций• Аппаратная генерация несимметричной пары ключей, аппаратная генерация
цифровой подписи, шифрование посредством открытого или секретного ключа.
• Подтверждающий ключ (Endorsement Key (EK))Реализует “zero-knowledge cryptography”
 Позволяет доказать факт знания секретного ключа ТРМ без его раскрытия• Протокол и процедура Прямой Автономной Аттестации (Direct AutonomousAttestation (DAA))Позволяет безопасным образом передавать информацию о статической или динамическойконфигурации платформы, которая может быть запомнена в TPM в хэшированной форме• Защита коммуникаций между двумья TPM• Монолитный счетчик и таймер, которые могут использоваться для контроляпоследовательности и временных параметров коммуникацийRELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_9Безопасная пользовательская виртуальная среда –3-х уровневая модельPC Platform
TPMCPUTA0(TPM)
OSHostingplatfrm

MemoryI/O-Network

Grid Virtual WSS (VL)

User Applic Env

TA1
VM/VWSSTA2(UC Appl)

VM
Ware

VM1

Applic(UC Srv)

VMn

Applic(UC Srv)

(Xen)

Applic
An/Az
GtewayTA#(UserClient)

User Client
SrvReqTPM

AzTicket
Security
Gateway

AuthZ Session

WSSReqWssTicket
WSS Session•Trust Anchors: T0 (TPM) – TA1 (VM/VWSS) – TA2 (Application) – TA# (User)•WVSS session and Application AuthZ sessions
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_10

VWSS-UC – Соображения по внедрению

Компьютерная платформа содержащая TPM• http://www.tonymcfadden.net/tpmvendors.html

Базовое программное обеспечение для TCG/TPM, разрабатываемое врамках множества проектов
• Daonity (HP), OpenTC (EU), проекты в Germany, Czech Republic,инициативные исследования в проекте EGEE и UvA

Популярная среда виртуализации Xen v3.0 имеет так-называемый Virtual
TPM модуль• http://www.cl.cam.ac.uk/Research/SRG/netos/xen/readmes/user

Grid Virtual Workspace Service (VWSS) – GT4 candidate component• http://workspace.globus.org/

Программный пакет GAAAPI для поддержки сеанса авторизации(Authorisation session)• Использует квитанции авторизации (AuthZ Ticket) на основе XML или SAMLRELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCGSlide_11Выводы и дальнейшее развитие• TCG позволяет расширить зону доверительности для выполненияпользовательских задач и обработки данных• Доверительная платформа может использоваться для исходногообмена доверительными сертификатами с целью последуюшего
установления безопасного канала/среды между конечнымисистемами Пользователя и Провайдера (aka end-to-end) Предложена модель поддержки динамических ассоциаций на основесеанса авторизации с использованием AuthZ Ticket• Необходимо дальнейшее развитие и тестовое внедрение Обсуждение в рамках OGF Virtualisation WG• Разработка модели управления динамическими отношениямидоверительности для много-доменных виртуализованныхресурсов с TPM
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_12

Additional information• AuthZ service components in GAAA-AuthZ and gJAF/GT4-AuthZ• AuthZ session management and AuthZ ticket format

RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_13

GAAA-AuthZ/GAAAPI components to support dynamic security
context management (1)GAAA_tk profile

AzReq

PDP
PDP

AzTicket

PAP

AAS
(IdP)

CVS

NS
ResolverCtxHandler

TriageCachePEP

Srv Req

Srv DelivTicket
Authority

AttrReslvGAAAPI
AzTicket

PEP/PDPConfig

MasterPDP

PIP

Resource

TrustDomains

AzTicket• GAAAPI is a collection of components to support PEP and PDP interaction,
implemented in Java• Needs Trust Anchor configuration in a distributed multidomain infrastructure
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_14

GAAAPI components to support dynamic security context
management (2)• Context Handler (CtxHandler) that calls to a namespace resolver (NSResolver) and attribute resolver (AttrResolver), which in its own can callto external CVS or Attribute Authority Service (AAS) to validate
presented attributes or obtain new ones
• Triage and Cache to provide an initial evaluation of the request, including
the validity of the provided credentials
 Used for handling AuthZ tickets/tokens, and also for AuthZ session

management by evaluating service requests versus the provided AuthZ
ticket/token claims• Ticket Authority (TickAuth) generates and validates AuthZ tickets or
tokens on the requests from PEP or PDP
 to support AuthZ session, tickets are cached by TickAuth directly or byPEP/PDP• Policy Information Point (PIP) that provides resolution and call-outs torelated authoritative Policy Authority Points (PAP)
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_15

gJAF – Proposed Extensions for AuthZ Session Management
Grid Service/Resource
Srv Request

Service Gateway(SOAP Msg Interceptor)

ConfigManagerTicket
Authority

Cache(AzTick)

PEP

Context Handler
SecurityCtx (MsgCtx, Subj (SecCreds), A, R, PDecisn(Oblig), AzTick (AzSesnCtx))
Call fromSrvGw or Msg
Interceptor

AuthZ
Attr/Data

PDP chainPIP chain

Bootstrap
PIP
User/Local
Attr

PIP

PIP
VO Attr

AuthZ
Decision(Obligations)

AuthZ Decision Combination

TriagePDP

PDP(BL)

XACML

PDP

TicketAuthrCache

PAP

Ext PDPCallout

External
Attr Call

Ext. AttrAuth(e.g. Shibboleth)

RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Ext. PDP(e.g. G-PBox)

Slide_16

AuthZ Session management in GAAA-AuthZ• AuthZ session is a part of the generic AAA-AuthZ functionality• Session can be started only by an authorised Subject/Role Session can be joined by other less privileged users
 Session permissions/credentials can be delegated to (subordinate) subjects• Session context includes Request/Decision information and may include
any other environment or process data/information
 AuthZ Session context is communicated in a form of extended AuthZ

Assertion or AuthZ ticket SessionID is included into AuthzTicket together with other AuthZ Ctx
information
 Signed AuthzTicket is cached by PEP (Policy Enforcement Point) or PDP(Policy Decision Point)• If session is terminated, cached AuthzTicket is deleted
 Note: AuthzTicket revocation should be done globally for the AuthZ trust

domainRELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCGSlide_17

AuthZ session 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 fromtoken to ticket must be provided
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_18

AuthZ ticket/assertion for extended security context
management – Data model (1) - Top elements
Required functionality to support
multidomain provisioning scenarios• Allows easy mapping to SAML andXACML related elements

Allows multiple Attributes format(semantics, namespaces)
Establish and maintain Trust relations
between domains• Including Delegation

Ensure Integrity of the AuthZ decision• Keeps AuthN/AuthZ context• Allow Obligated Decisions (e.g.
XACML)

Confidentiality• Creates a basis for user-controlled
Secure session

RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_19

AuthZ ticket Data model (2) - Mandatory elements••••

TicketID attribute
Decisions element andResourceID attribute
Conditions Element andvalidity attributes
Extensible element
ConditionAuthzSession• Any AuthZ session related
data

RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_20

AuthZ ticket Data model (3) – Subject and Delegation elements••RELARN2007 - 6-9 June 2007

Subject element to keep AuthN
security context and Subject
Attributes
Delegation element to allowpermissions/AuthZ decisiondelegation to other Subjects orgroups/community

Extending Security and Trust Domains with TPM/TCG

Slide_21

AuthZ ticket main elements<Decision> element - holds the PDP AuthZ decision bound to the requested resource orservice expressed as the ResourceID attribute.
<Conditions> element - specifies the validity constrains for the ticket, including validity
time and AuthZ session identification and additionally context<ConditionAuthzSession> (extendable) - holds AuthZ session context<Subject> complex element - contains all information related to the authenticated Subject
who obtained permission to do the actions<Role> - holds subject’s capbilities<SubjectConfirmationData> - typically holds AuthN context<SubjectContext> (extendable) - provides additional security or session related information,e.g. Subject’s VO, project, or federation.

<Resources>/<Resource> - contains resources list, access to which is granted by theticket<Actions>/<Action> complex element - contains actions which are permitted for theSubject or its delegates<Delegation> element – defines who the permission and/or capability are delegated to:another DelegationSubjects or DelegationCommunity• attributes define restriction on type and depth of delegation<Obligations>/<Obligation> element - holds obligations that PEP/Resource should
perform in conjunction with the current PDP decision.
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_22

AuthZ ticket format (proprietary) for extended security context
management – 3-10KB<AAA:AuthzTicket xmlns:AAA="http://www.aaauthreach.org/ns/#AAA" Issuer="urn:cnl:trust:tickauth:pep"
TicketID="cba06d1a9df148cf4200ef8f3e4fd2b3"><AAA:Decision ResourceID="http://resources.collaboratory.nl/Philips_XPS1">Permit</AAA:Decision><!-- SAML mapping: <AuthorizationDecisionStatement Decision="*" Resource="*"> --><AAA:Actions><AAA:Action>cnl:actions:CtrlInstr</AAA:Action><!-- SAML mapping: <Action> --><AAA:Action>cnl:actions:CtrlExper</AAA:Action></AAA:Actions><AAA:Subject Id="subject"><AAA:SubjectID>WHO740@users.collaboratory.nl</AAA:SubjectID><!-- SAML mapping: <Subject>/<NameIdentifier> --><AAA:SubjectConfirmationData>IGhA11vwa8YQomTgB9Ege9JRNnld84AggaDkOb5WW4U=</AAA:SubjectConfirmationData><!-- SAML mapping: EXTENDED <SubjectConfirmationData/> --><AAA:Role>analyst</AAA:Role><!-- SAML mapping: <Evidence>/<Assertion>/<AttributeStatement>/<Assertion>/<Attribute>/<AttributeValue> --><AAA:SubjectContext>CNL2-XPS1-2005-02-02</AAA:SubjectContext><!-- SAML mapping: <Evidence>/<Assertion>/<AttributeStatement>/<Assertion>/<Attribute>/<AttributeValue> --></AAA:Subject><AAA:Delegation MaxDelegationDepth="3" restriction="subjects"><!-- SAML mapping: LIMITED <AudienceRestrictionCondition> (SAML1.1), or <ProxyRestriction>/<Audience> (SAML2.0) --><AAA:DelegationSubjects> <AAA:SubjectID>team-member-2</AAA:SubjectID> </AAA:DelegationSubjects></AAA:Delegation><AAA:Conditions NotBefore="2006-06-08T12:59:29.912Z" NotOnOrAfter="2006-06-09T12:59:29.912Z" renewal="no"><!-- SAML mapping: <Conditions NotBefore="*" NotOnOrAfter="*"> --><AAA:ConditionAuthzSession PolicyRef="PolicyRef-GAAA-RBAC-test001" SessionID="JobXPS1-2006-001"><!-- SAML mapping: EXTENDED <SAMLConditionAuthzSession PolicyRef="*" SessionID="*"> --><AAA:SessionData>put-session-data-Ctx-here</AAA:SessionData> <!-- SAML EXTENDED: <SessionData/> --></AAA:ConditionAuthzSession></AAA:Conditions><AAA:Obligations><AAA:Obligation>put-policy-obligation(2)-here</AAA:Obligation> <!-- SAML EXTENDED: <Advice>/<PolicyObligation> --><AAA:Obligation>put-policy-obligation(1)-here</AAA:Obligation></AAA:Obligations></AAA:AuthzTicket><ds:Signature> <ds:SignedInfo/> <ds:SignatureValue>e4E27kNwEXoVdnXIBpGVjpaBGVY71Nypos...</ds:SignatureValue></ds:Signature>
RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCGSlide_23

AuthzToken example – 293 bytes<AAA:AuthzToken TokenID="c24d2c7dba476041b7853e63689193ad"><AAA:TokenValue>
0IZt9WsJT6an+tIxhhTPtiztDpZ+iynx7K7X2Cxd2iBwCUTQ0n61Szv81DKllWsq75IsHfusnm56
zT3fhKU1zEUsob7p6oMLM7hb42+vjfvNeJu2roknhIDzruMrr6hMDsIfaotURepu7QCT0sADm9If
X89Et55EkSE9oE9qBD8=</AAA:TokenValue></AAA:AuthzToken>

AuthzToken is constructed of the AuthzTicket TicketID and SignatureValue
AuthzToken use suggests caching AuthzTicket’sAuthzToken can be used as cookie in Web/portal based applications

RELARN2007 - 6-9 June 2007

Extending Security and Trust Domains with TPM/TCG

Slide_24