230 likes | 364 Views
Vigil : Enforcing Security in Ubiquitous Environments. Authors : Lalana Kagal, Jeffrey Undercoffer, Anupam Joshi, Tim Finin Presented by : Amit Choudhri CMSC 628 Spring 2002 UMBC. Introduction. Focal point of paper :
E N D
Vigil : Enforcing Security in Ubiquitous Environments Authors : Lalana Kagal, Jeffrey Undercoffer, Anupam Joshi, Tim Finin Presented by : Amit Choudhri CMSC 628 Spring 2002 UMBC
Introduction • Focal point of paper : Ubiquitous / pervasive computing .i.e. : access to services and information ANYWHERE and EVERYWHERE • Existing technologies for security in such environments : • Simple Public Key Infrastructure ( SPKI ) • Role Based Access Control ( RBAC )
Vigil complements these with “ distributed trust management “ • Vigil is applied to Smart Spaces • Smart Space : provides services and resources accessible by short-range wireless communication.
Vigil uses the Centaurus model for the SmartSpace architecture. • Centaurus SM proxies for clients • Vigil infrastructure : • reduce load on mobile devices • media independent • provides services and information
Security Challenges • Cannot provide unique user id and login for everyone not scalable. • Cannot have a central authority per space. • No access control information available when new users are authenticated. • Heterogeneity of environments and inconsistent interpretations of policy.
Architecture • Clients can move, attach, detach and re – attach at any point in the framework. • Vigil uses “ trust management “ • Establishing trust relationships • NOT quantifying trust • Similar to RBAC • Access rights are computed from its properties !
Components • Vigil has 6 components : • Service Broker • Communication Manager • Certificate Controller • Security Agent • Role Assignment Manager • Clients ( users & services )
Service Broker • The Service Broker is responsible for : • Processing Client Registration/De-Registration requests • responding to registered Client requests for a listing of available services, • brokering Subscribe/Un-Subscribe and Command requests from users to services • sending service updates to all subscribed users
Service brokers in different spaces form a tree hierarchy core of the Vigil system • Identified by their handles , i.e. position in the hierarchy • Trust between clients in transitive through the Service Brokers
Client • All users and services are clients • Clients register with a Service Broker in a space. • Digital certificate and Showall flag sent during registration • Clients can request services from brokers and other clients, via service brokers.
Certificate Controller • Generates x.509 version 3 digital certificates for system entities • Verifies certificates presented by entities • These certificates are stored on the clients smartcard • Verification is based on a list of trusted CA’s and a set of verification rules and policies.
Role Assignment Manager • Assigns roles to entities in a space • Maintains an Access Control List ( ACL ) • Uses rules from the security policy to assign roles. • Allows multiple roles for an entity and dynamic updating of roles.
Security Agent • Maintains “ distributed trust ” in the system. • Policy has rules for : • Role assignment • Access control • Delegation • Revocation • Policies • Global – organization level • Local – Space level
Policy has • Permissions • Prohibitions negative access rights • Knowledge base is created using Prolog • All queries are converted to Prolog • More complex than RBAC or ACL because access rights can be delegated. • Delegations are not random from authorized entity to authorized entities, follow policy.
Service Access • On registration, user gets an interface to all accessible services • Also services that have their ShowAll flag set are displayed User cannot access them , but can request access for them • User can get a list of services from its Service Broker. • Service Broker grants access after checking clients role and querying the Security Agent for the users rights. • If valid request, it forwards request to the service.
Delegation • User can see services, but cannot use them Showall flag • User can request another user or service to delegate it the required access rights. • To request delegation, user sends request with digital certificate • If delegated rights, Security Agent is informed
Delegated rights are valid only for a specific time. • Delegated rights can be re-delegated if allowed • When time expires renew rights again • Delegating user can revoke delegated rights by informing Security agent.
Terms • Role Based Access Control ( RBAC ) : • Rights are associated with pre-defined roles, and not with users. • Roles can change in different environments, while user remains the same context – dependent semantics ! • Rules for assigning roles are the main access control mechanism • Dynamic creation of roles is possible, based on inferences • Drawback : dynamic delegation of rights not possible
Public Key Infrastructure (PKI) • PKI uses on-line repository for certificates • PKI provides on-line Certificate Revocation List (CRL) • PKI imposes a high overhead and increased traffic. • Simplified Public Key Infrastructure (SPKI) • Entities send their certificate to SA • SA sends back its own certificate to entity • Certificates verified using certificate controller • Certificate has list of CA’s and rules for verification • All entities can communicate by attaching their certificates to initial message.
Implementation • Security Agent uses Prolog for reasoning • Java was the development platform • Centaurus framework which is used uses Centaurus Capability ML (CCML) • CCML is used as data exchange format between service requester and provider
Related Research • Unisys Corporation / Orange experimental house ( Hertford, England ) • UC Berkeley’s Ninja Project • Uwash’s Portolano project • Stanford’s Interactive Workspaces Project
Further Work • Implementing distributed belief based on gossip for the SA • Using RDF or DAML instead of Prolog for encoding the trust information