250 likes | 378 Views
Donkey Project Technologies and Target applications. March 6, 2003, Vrije Universiteit Yuri Demchenko <demch@NLnetLabs.nl>. Outlines . Problems in traditional PKI and Identity Management Donkey goals and f unctionality Design issues Timetable and Next steps Discussion:
E N D
Donkey ProjectTechnologies and Target applications March 6, 2003, Vrije Universiteit Yuri Demchenko <demch@NLnetLabs.nl>
Outlines • Problems in traditional PKI and Identity Management • Donkey goals and functionality • Design issues • Timetable and Next steps • Discussion: • Using and extending Donkey functionality • Possible applications • Reference information Donkey Project
Donkey Goal(s) Open extendable system for public key and Identity management Initial stage Open global distributed system for publishing and retrieving named, signed public keys Intended development Identity management for federated cross-domain AuthN and AuthZ Donkey website: http://www.nlnetlabs.nl/donkey/ Donkey Project
What is Donkey: Donkey functionality • Donkey allows anyone to publish a named key, together with optional data (Donkey package) • Multiple parties are allowed to publish a key with the same name. Applications must select the correct key when multiple keys match • Donkey is NOT a permanent storage: key must be republished to remain available • Donkey does NOT define a policy for key/payload usage • This is an application specific function • Donkey allows anyone to query for a published key, based on the key's name (required) and signers (optional) • Donkey allows anyone to sign a published key Donkey Project
Design issues: Package structure • (Proprietary) Internal format (Python data object) but XML based exchange format • Package ID • Content • Header • Flags • Names • Owner Public Key • <Name, Owner Key> must be unique • Body • Payload • Application dependent content and format • Intended for AA and Identity management • May include specific format definition (e.g., embedded XML Schema) • Signatures Donkey Project
Design considerations • Build upon existing solutions and standards • But still capable to do a low start • Gradual development • Build up upon key storage/management engine • XML for package extensibility and exchange • Including prospective use of the XML Protocol Donkey Project
Donkey Project milestones • Overview and inventory/planning - current stage • Selected basic technologies and development environment • Overview document • March-April: Prospective applications area overview • Requirements (common and specific for applications) • Draft Protocol description/definition • April-May: API(s) definition and Donkey prototyping • API requirements • June-August: Development and pilot implementation for 1-2 applications Donkey Project
Donkey current status • Just started work on Donkey prototype • Key generation (DSA or RSA keys) • Creating a new Donkey package • Add and verify signature to/of an existing Donkey package • Data model and XML DTD/Schema for Donkey packages • Goal: Create a base for experiments with application specific payloads Donkey Project
Some specific next tasks • Overview of existing solutions for AA and Identity management • Analysis of applications specific requirements • OpenPGP Keyserver • Attribute/Privilege storage • Identity/Credentials Storage • Trust analysis • Threats analysis Donkey Project
Donkey functionality for AuthN/AuthZ • Donkey will be built upon existing PKI and AA applications: • PGP Key Server • Internet2 PubCookie/WebISO and Shibboleth/AA • PAPI (AuthZ and Web SSO) • A-Select (AuthZ and Web SSO) • PERMIS (PrivilEge and Role Management Infrastructure Standards Validation Project) • Akenti (cross-domain AA for Grid applications) Donkey Project
Standards for security assertions • PGP • X.509 Public Key Certificate (PKC) • X.509 Attribute Certificate (AC) for Privilege Management • SAML (Security Assertion Mark-up Language) • Liberty Alliance Network Identity (XML and SAML based) • Web Services Security (SOAP Extensions) Donkey Project
Problems in PKI and Identity Management • X.509 PKI is a heavy-weight solution and usually enterprise oriented: • Requires Certificate Authority (CA) to create and trust a certificate (PKC) • Certificate creation/revocation mechanism is complex, slow and expensive • LDAP as a standard mechanism to publish X.509 Certs is not easily extensible and (generically) not globally scaled • Distributed applications and mobile users require secure remote access to electronic credentials and identity information • P2P networks normally (based on DHT) require non-hierarchical (non-PKI) security infrastructure • Advent of XML/SOAP based standards for SSO/Identity management creates technological alternative for traditional PKI and PMI Donkey Project
Donkey and DNSSEC • DNSSEC can be a source of public keys for zones/nodes but it's not intended to provide this service for other applications: • Intended for host names, not arbitrary names • Updates are slow (propagation through caches, administrative overhead) • Requires DNSSEC protocol for public key access/request (standard request for KEY and SIG RRs) • Donkey can provide (shadow/alternative) key distribution infrastructure using application specific protocols to off-load DNSSEC Donkey Project
Identity management and SSO • Two Identity standards • Microsoft passport – deployed since 2000 • Liberty alliance – emerging, deployment 2003 Donkey Project
Microsoft Passport • Proposed as a solution for Internet-wide Credentials management and Authentication service • Recently proposed Passport Manager Licensing Program • Allows access to and use of Passport Manager source code to develop, debug and support both commercial and noncommercial software for the purpose of integration • Passport Password Quality Meter • tools to gauge and improve the strength of their Passport password • Next Step for the Industry: Federated Security and Identity • Federated security is the ability for sites, services and applications to safely accept and recognize identities and authentication assertions issued by any one of a trusted set of partners • Based on industry emerging Web Services Security Donkey Project
Securely available credentials • Obvious need for such a service • Mobile users/agents • Persistent storage of valuable information • Scope of former IETF SACRED WG • Intersects with Identity management • Required functionality • Use/integrate/interchange credentials from different appliances (Internet, mobile telephone, smartcard/bankcard, etc.) • Credentials server vs direct access to home storage of credentials • Technology (storage and protocol) must be opaque to credentials • Need to support different types of user authentication • Primary and secondary credentials vs credentials delegation Donkey Project
Liberty Identity and Protocol • Liberty is a set of protocols that collectively provide a solution for identity federation management, cross-domain authentication, and session management. • The Liberty architecture contains three actors: Principal, identity provider, and service provider • Liberty protocol provides federation of Principal’s identity between the identity provider and the service provider. • Principal is authenticated to the identity provider • Identity provider provides an authentication assertion to the Principal • Principal can present the assertion to the service provider • Principal is then also authenticated to the service provider if the service provider trusts the assertion. • An identity federation is said to exist between an identity provider and a service provider when the service provider accepts authentication assertions regarding a particular Principal from the identity provider Donkey Project
Reference information • PKI Basics • X.509 Public Key Certificate (PKC) • X.509 Attribute Certificate (AC) • Role Based Access Control (RBAC) Donkey Project
Reference: PKI Basics • PKI - Public Key Infrastructure • Binds subject’s distinguished nameor identity with his/her public key • The major component of PKI is Public Key Certificate (PKC) • CRL – Certificate Revocation List as a component of PKC management • PKI components • Identification Service (IS) • Registration Authority (RA) • Certification Authority (CA) • Certificate Repository (CR), normally built on LDAP Donkey Project
Reference: PKC vs AC: Purposes • X.509 PKC binds an identity and a public key • AC is a component of X.509 Role-based PMI (Privilege Management Infrastructure) • AC contains no public key but it is issued to particular subject identified by DN • AC may contain attributes that specify group membership, role, security clearance, or other authorisation information associated with the AC holder • Analogy: PKC is like passport, and AC is like entry visa • PKC is used for Authentication and AC is used for Authorisation • AC may be included into Authentication message • PKC relies on Certification Authority and AC requires Attribute Authority (AA) Donkey Project
X.509 PKC Version Serial number Signature Issuer Validity Subject Subject Public key info Issuer unique identifier Extensions AC Version Holder Issuer Signature Serial number Validity Attributes Issuer unique ID Extensions PKC vs AC: Certificates structure Donkey Project
X.509 PKC Fields Serial Number Subject Subject Public Key Issuer Unique ID Subject Unique ID X.509 PKC Extensions Standard Extensions Authority Key Identifier Subject Key Identifier Key Usage Extended Key Usage CRL Distribution List Private Key Usage Period Certificate Policies Policy Mappings Subject Alternative Name Issuer Alternative Name Subject Directory Attributes Basic Constraints Name Constraints X.509 PKC Fields and Extensions – RFC 3280 • X.509 PKC Fields • Private Extensions • Authority Information Access • Subject Information Access • Custom Extensions Donkey Project
AC Attribute Types Service Authentication Information Access Identity Charging Identity Group Role Clearance Profile of AC AC Extensions Audit Identity To protect privacy and provide anonymity May be traceable via AC issuer AC Targeting Authority Key Identifier Authority Information Access CRL Distribution Points AC Attribute Types and AC Extensions Donkey Project
Role Based Access Control (RBAC) • RBAC – Role Based Access Control • Role describes the function • Rights define access to the resource in a specific mode under specific conditions • Benefits of RBAC • Easy manage and control • Seperate definition of role-user and role-privilege • Scaleability • Support of least privilege [rinciple • Enheritance and aggregation of privileges and rights • Possibility to delegate Donkey Project
Proxy Certificate Profile • Impersonation – used for Single-Sign-On and Delegation • Unrestricted Impersonation • Restricted Impersonation defined by policy • Proxy with Unique Name • Allows using in conjunction with Attribute Cert • Used when proxy identity is referenced to 3rd party, or interact with VO policy • Limited validity time – approx. 24 hours • Proxy Certificate (PC) properties: • It is signed by either an X.509 End Entity Certificate (EEC), or by another PC. This EEC or PC is referred to as the Proxy Issuer (PI). • It can sign only another PC. It cannot sign an EEC. • It has its own public and private key pair, distinct from any other EEC or PC. • It has an identity derived from the identity of the EEC that signed the PC. • Although its identity is derived from the EEC's identity, it is also unique. • It contains a new X.509 extension to identify it as a PC and to place policies on the use of the PC. This new extension, along with other X.509 fields and extensions, are used to enable proper path validation and use of the PC. Donkey Project