A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue...

20
A Flexible A Flexible Access Control Model Access Control Model for Web Services for Web Services Elisa Bertino Elisa Bertino CERIAS and CS Department, Purdue University CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University of Joint work with Anna C. Squicciarini – University of Milano Milano

Transcript of A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue...

Page 1: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

A FlexibleA FlexibleAccess Control Model Access Control Model

for Web Servicesfor Web Services

Elisa BertinoElisa Bertino

CERIAS and CS Department, Purdue UniversityCERIAS and CS Department, Purdue University

Joint work with Anna C. Squicciarini – University of MilanoJoint work with Anna C. Squicciarini – University of Milano

Page 2: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

OutlineOutline

Overview of Ws-Attribute Based Access Overview of Ws-Attribute Based Access control (Ws-ABA)control (Ws-ABA)

Underlying technologiesUnderlying technologies Digital identity managementDigital identity management Trust negotiation systemTrust negotiation system

Access control modelAccess control model System architectureSystem architecture Conclusions and future workConclusions and future work

Page 3: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

A Web service is a Web-Based application A Web service is a Web-Based application that can be that can be

PublishedPublished Located Located InvokedInvoked

Compared to centralized systems and client-Compared to centralized systems and client-server environments, a Web service is much server environments, a Web service is much more more dynamicdynamic and and securitysecurity for such an for such an environment poses unique challenges.environment poses unique challenges.

Web ServicesWeb Services

Page 4: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Web Services: Access ControlWeb Services: Access Control

An important issue is represented by the development of suitable An important issue is represented by the development of suitable access control models, able to restrict access to Web services access control models, able to restrict access to Web services to authorized users. to authorized users.

security technologies commonly adopted for Web sites and security technologies commonly adopted for Web sites and traditional access control models are not enough!traditional access control models are not enough!

Web services are quite different with respect to objects typically protected in conventional systems, since they consist of software modules, to be executed, upon service requests, according to a set of associated input parameters.

Page 5: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

An ExampleAn Example Suppose to have a travel agency Suppose to have a travel agency

selling flight tickets to generic selling flight tickets to generic customers offering a service, whose customers offering a service, whose goal is to offer competitive flight goal is to offer competitive flight tickets fare to requesting customers.tickets fare to requesting customers.

As sketched (arrow 1), a customer As sketched (arrow 1), a customer request is sent by including also a set request is sent by including also a set of attributes describing relevant of attributes describing relevant properties of the customer and his/her properties of the customer and his/her preference or needs, to customize preference or needs, to customize service release. service release.

The agency, in turn, forwards The agency, in turn, forwards customer requests to flight customer requests to flight companies. companies.

2

Personal Data +service

1

2

SERVICE CONSUMER

TRAVEL AGENCY

SErvice Registry For Air company

Service Description

1

Air flght company

3

SERVICE: flight info

SERVICE PROVIDER

SERVICE REGISTRY

2

Page 6: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Ws-AbaWs-Aba Implementation independent access control Implementation independent access control

model for Web services, for use within the model for Web services, for use within the SOAP standard, characterized by capabilities SOAP standard, characterized by capabilities for for negotiating service parametersnegotiating service parameters. .

The goal of The goal of Ws-AbaWs-Aba, is to express, validate and , is to express, validate and enforce access control policies without enforce access control policies without assuming pre-established trust in the users of assuming pre-established trust in the users of the web services.the web services.

Page 7: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Underlying Technologies Underlying Technologies Digital Identity ManagementDigital Identity Management

What is digital identity?What is digital identity? Digital identity can be defined as the digital Digital identity can be defined as the digital

representation of the information known about a specific representation of the information known about a specific individual or organizationindividual or organization

Technically, the term Technically, the term DI DI usually refers to two usually refers to two different concepts:different concepts: Nym – Nym – a nym gives a user an identity under which to a nym gives a user an identity under which to

operate when interacting with other parties. Nyms can operate when interacting with other parties. Nyms can be strongly bound to a physical identitybe strongly bound to a physical identity

Partial identity – Partial identity – partially identities refer to the set of partially identities refer to the set of properties that can be associated with an individual, properties that can be associated with an individual, such as name, birth-date, credit cards. Any subset of such as name, birth-date, credit cards. Any subset of such properties represents a partial identity of the usersuch properties represents a partial identity of the user

Page 8: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Underlying Technologies Underlying Technologies Trust NegotiationTrust Negotiation

Mutual authenticationMutual authentication

- Assumption on the counterpart honesty no longer holds- Assumption on the counterpart honesty no longer holds- Both participants need to authenticate each other- Both participants need to authenticate each other

Interactions between strangers

- In conventional systems user identity is known in advance and can be used for performing access control- In open systems partecipants may have no pre-existing relationship and may not share a common security domain

Page 9: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Underlying Technologies Underlying Technologies Trust NegotiationTrust Negotiation

A promising approach for open systems where most of the A promising approach for open systems where most of the interactions occur between strangers.interactions occur between strangers.

The The goalgoal: establish trust between parties in order to : establish trust between parties in order to exchange sensitive information and services exchange sensitive information and services

The The approachapproach: establish trust by verifying : establish trust by verifying propertiesproperties of of the other party. the other party.

Page 10: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Ws-Aba access control Ws-Aba access control model model

Access conditions Access conditions expressed in terms of expressed in terms of partial identitiespartial identities take into account also the parameters characterizing take into account also the parameters characterizing

web services.web services.

Concept of Concept of access negotiationaccess negotiation.. Web service negotiation in Ws-Aba deals with the Web service negotiation in Ws-Aba deals with the

possibility for trusted users to dynamically change possibility for trusted users to dynamically change their access requests in order to obtain authorizations.their access requests in order to obtain authorizations.

Page 11: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Ws-Aba access control Ws-Aba access control policiespolicies

An access control policy is defined by An access control policy is defined by three elements:three elements: A service identifierA service identifier A set of parameter specificationsA set of parameter specifications

A parameter specification is a pairA parameter specification is a pair Parameter-name, parameter-value-rangeParameter-name, parameter-value-range

A set of conditions against partial A set of conditions against partial identitiesidentities

Page 12: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Ws-Aba access control policiesWs-Aba access control policiesexamplesexamples

Policy Pol1Policy Pol1 (FlightRes; Discount[0,30]; Age > 65)(FlightRes; Discount[0,30]; Age > 65) It authorizes subjects older than 65 to reserve a It authorizes subjects older than 65 to reserve a

flight with a discount up to 30%;flight with a discount up to 30%; Policy Pol2Policy Pol2

(FlightRes;{Fare [Standard, Gold], Discount[0,50]};(FlightRes;{Fare [Standard, Gold], Discount[0,50]};{Partnernship=TravelCorporation, Seniority >3, {Partnernship=TravelCorporation, Seniority >3,

Age>65})Age>65}) It authorizes subjects that are older than 65 and It authorizes subjects that are older than 65 and

have a 3 year seniority and have a partnership with have a 3 year seniority and have a partnership with TravelCorporation to get a fare between standard TravelCorporation to get a fare between standard and gold and a discount up to 50%and gold and a discount up to 50%

Page 13: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Ws-Aba: how it worksWs-Aba: how it works1.1. Access requests Access requests are received are received

specified by constraining service parameters, and subject partial identitiesspecified by constraining service parameters, and subject partial identities Note: a subject before releasing partial identity information may require to Note: a subject before releasing partial identity information may require to

establish trust by using trust negotiationestablish trust by using trust negotiation

2.2. The system extracts the corresponding access control policies, in order to The system extracts the corresponding access control policies, in order to establish whether the subject request can be:establish whether the subject request can be: accepted as it isaccepted as it is must be rejected must be rejected has to be negotiated. has to be negotiated.

3.3. A A request negotiationrequest negotiation results in eliminating and/or modifying some of the results in eliminating and/or modifying some of the service parameters specified within an access request that made it not service parameters specified within an access request that made it not immediately acceptable.immediately acceptable.

Page 14: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Access responses in Ws-AbaAccess responses in Ws-Aba Upon an access request three replies are possibleUpon an access request three replies are possible: :

1.1. The submitted attributes match with a policy for the specified The submitted attributes match with a policy for the specified service request and the specified service parameters are service request and the specified service parameters are acceptable by the policyacceptable by the policy

1.1. The submitted attributes do not match with any policy The submitted attributes do not match with any policy for the specified service requestfor the specified service request

2.2. The submitted attributes match with a policy for the The submitted attributes match with a policy for the specified service request but the specified service specified service request but the specified service parameters are not acceptable by the policyparameters are not acceptable by the policy

Request is granted

Request is rejected

Negotiate request

Page 15: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Access responses in Ws-Aba - exampleAccess responses in Ws-Aba - example Policy Pol1 - (FlightRes; Discount[0,30]; Age > 65)Policy Pol1 - (FlightRes; Discount[0,30]; Age > 65) Policy Pol2 - (FlightRes;{Fare [Standard, Gold]; Policy Pol2 - (FlightRes;{Fare [Standard, Gold];

Discount[0,50]};Discount[0,50]};{Partnernship=TravelCorporation, Seniority >3, {Partnernship=TravelCorporation, Seniority >3,

Age>65})Age>65}) Requests:Requests:

<[Partnership:TravelCorporation, Seniority:5, <[Partnership:TravelCorporation, Seniority:5, Age:70]; FlightRes; [Fare:Gold, Discount:30]>Age:70]; FlightRes; [Fare:Gold, Discount:30]>

It complies with Pol2 and can be fully acceptedIt complies with Pol2 and can be fully accepted <[Age:70; FlightRes; [Discount:50]><[Age:70; FlightRes; [Discount:50]>

It complies with Pol1; however it must be negotiated since It complies with Pol1; however it must be negotiated since the parameter value is outside the range specified in Pol1the parameter value is outside the range specified in Pol1

<[University:Milano; FlightRes; [Discount:30]><[University:Milano; FlightRes; [Discount:30]> It is rejected since it does not match the subject It is rejected since it does not match the subject

specification of any policyspecification of any policy

Page 16: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Certificates supported Certificates supported

WS-Aba accepts SOAP messages for service WS-Aba accepts SOAP messages for service invocation. invocation.

To promote interoperability and flexibility we To promote interoperability and flexibility we do not restrict our system to a specific do not restrict our system to a specific implementation, we adopt a specific proposal implementation, we adopt a specific proposal to connect our system to the PKC to connect our system to the PKC infrastructure: infrastructure: X.509 ACX.509 AC

Page 17: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Identity and attributes: X.509 ACIdentity and attributes: X.509 AC

<element name="Attributes" type="ac:AttributesType"/> <complexType name="AttributesType"> <sequence> <element ref="ac:ServiceAuthenticationInformation" minOccurs="0"/> <element ref="ac:AccessIdentity" minOccurs="0"/> <element ref="ac:ChargingIdentity" minOccurs="0"/> <element ref="ac:Group" minOccurs="0"/> <element ref="ac:Role" minOccurs="0"/> <element ref="ac:Clearance" minOccurs="0"/> <element ref="ac:GenericAttribute" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="Id" type="ID" use="optional"/> </complexType>

X.509 AC provides a binding between attributes and an identity. It is composed of two nested elements: the former describing the conveyed information, that is, the AttributeCertificateInfo element and the Signature element, carrying the signature.

Page 18: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Three main Three main modules:modules:

Message HandlerMessage Handler

Authorization Authorization modulemodule

Authorization Authorization managementmanagement

WS- Aba System ArchitectureWS- Aba System Architecture Esternal Firewall

Internal Firewall

Internet

XML Validator

Gateway SOAP

Actual Service

Credential Repository

Policy DB

Message Handler

Authorization module

Administration Module

Services List

Page 19: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Open issues Open issues

Policy selection:Policy selection: If a request complies with several policies, how do we choose a If a request complies with several policies, how do we choose a

policy to apply?policy to apply? Negotiation of parameters:Negotiation of parameters:

How can subjects negotiate service parameters?How can subjects negotiate service parameters? DelegationDelegation: :

How to manage delegated access requests?How to manage delegated access requests? Cached policies:Cached policies:

How and where keep track of previous access requests?How and where keep track of previous access requests? Policy protection:Policy protection:

How to protect UDDI registries where AC policies are stored?How to protect UDDI registries where AC policies are stored?

Page 20: A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.

Future workFuture work

Delegation mechanisms for credentialsDelegation mechanisms for credentials Automated mechanisms supporting negotiations of Automated mechanisms supporting negotiations of

parametersparameters Granularity levels of policies: policies that apply to Granularity levels of policies: policies that apply to

group of servicesgroup of services Authorization derivation rules, allowing Authorization derivation rules, allowing

authorizations on a service to be automatically authorizations on a service to be automatically derived from authorizations specified on other derived from authorizations specified on other services.services.