Contract No.: 285248 Strategic Objective


FIWARE OpenSpecification Security Access_Control_Generic_Enabler



Download 1.78 Mb.
Page33/54
Date28.01.2017
Size1.78 Mb.
#8871
1   ...   29   30   31   32   33   34   35   36   ...   54

17FIWARE OpenSpecification Security Access_Control_Generic_Enabler


Name

FIWARE.OpenSpecification.Security.Access Control Generic Enabler

Chapter

Security,







Catalogue-Link to Implementation

[ Access Control]

Owner

Thales, Cyril DANGERVILLE


17.1Preface


Within this document you find a self-contained open specification of a FI-WARE generic enabler, please consult as well the FI-WARE_Product_Vision, the website on http://www.fi-ware.eu and similar pages in order to understand the complete context of the FI-WARE project.

17.2Copyright


Copyright © 2012-2014 by Thales

17.3Legal Notice


Please check the following Legal Notice to understand the rights to use these specifications.

17.4Overview


The initial requirement for the architecture presented here is the following: to provide a mean for controlling access to resources that are available on a given FI-WARE Instance. Those resources are owned by users of the FI-WARE Instance, either end-users (data that belongs to each end-user) or by application or service providers (API operations exported by a given application or service, which may well be a FI-WARE GE). Such access will be typically requested by client applications or services (including FI-WARE GEs) acting on behalf of another user. It would require approval from the resource owner and may be restricted by security policies that are either global to the FI-WARE Instance, or defined for application/services or for the end-users (both resource owners and end-user on behalf of whom access is requested), as well as the organizations that end-users belong to, if any.

In order to complete the picture, it is strongly recommended that the privacy of the end-users be preserved. In particular, the end-user – and/or the end-user’s organization - must be able to control which third-party applications may have access to which of his/her data, for which duration, etc. Each such access must be auditable, as required by various regulations or internal policies.

Furthermore, the third-party applications should not have knowledge of the credentials (typically login and password) of the user on behalf of whom they are trying to get access to resources. Last but not least, users should be able to revoke access from all or specific third-party applications at will, without having to change their password.

On the figure below, Service GEs provide API resources to Client Applications. Some of these APIs provide access to specific resources of some users. The IdM GE (Identity Management Generic Enabler) provides identity management and authentication for users and client applications. business requirement


17.5Basic Concepts

17.5.1Example Scenario


The basic concepts come from the OAuth 2 [OAuth2] and XACML 2.0 [XACML2] standards illustrated by the sample scenario below. The OAuth standard is supported by the Identity Mangement GE essentially, the OAuth Authorization endpoint and Token endpoint in particular. The Access Control GE is only a consumer of OAuth tokens, therefore it only supports validation of OAuth tokens and getting authorization info from the token, such as user attributes. The XACML standard is only supported by the Access Control GE.

sample scenario

17.5.2(OAuth) Resource Owner


The Resource Owner is the entity that owns resources on a Resource Server. The Resource Owner may be an End-User, an application or service provider. The Resource Owner may delegate resource access to a third-party - the Client Application (see next section) - with certain restrictions, e.g. limited scope, time period.

The Resource Owner must be registered in the IdM Generic Enabler.


17.5.3(OAuth) Client Application


The Client Application is the third-party from the Resource Owner's point of view, that is requesting access to the resources on behalf of that resource owner.

The Client Application must be registered in the IdM Generic Enabler.


17.5.4(OAuth) Resource Server


The Resource Server, also referred to as the Target Service (or Service GE in FI-WARE) is the server hosting the resources that the Client Application requests access to.

The Resource Server must be registered in the IdM Generic Enabler.


17.5.5OAuth Authorization Endpoint


This is the endpoint where client applications redirect users to for authorization grant and get an authorization code in return. This authorization code represents the user's approval of the client app's request to access resources on behalf of the user. Then, the client app can use the authorization code to request an access token from the Token Endpoint (see below). See also the Authorization Endpoint section in the OAuth 2.0 standard.

This endpoint is implemented by the IdM Generic Enabler (NSN/DT).


17.5.6OAuth Token Endpoint


The Token Endpoint issues access tokens to Client Applications provided that they authenticate successfully and present a valid authorization code. Client Applications need such access tokens to access the Resource Servers.

17.5.7Policy Decision Point (PDP)


The PDP provides authorization decisions based on various attributes and XACML policies. Attributes may come from the access request context as provided by PEPs (see below), such as the request URL, the HTTP method and especially the OAuth access token. From the OAuth access token, the PDP is able to get extra attributes related to the OAuth context (the resource owner a.k.a end-user ID, the client ID, etc.). It is also able to obtain extra attributes associated with the end-user by means of requesting them from the Identity Management GE acting as Attribute Provider (clearance level, role, location, etc.). This information, combined with information about the environment (e.g., current time) is used by the PDP to check whether access must be granted based on defined XACML policies.

This endpoint is implemented by the Access Control GE.


17.5.8Policy Administration Point (PAP)


The PAP provides an interface for policy administrators to manage XACML policies to be enforced by the PDP.

This endpoint is implemented by the Access Control GE.


17.5.9Policy Repository (PRP)


The XACML PRP is only used internally for storing policies managed by the PAP and retrieved by the PDP for enforcement.

It is also part of the Access Control GE.


17.5.10Policy Enforcement Point (PEP)


The PEP protects the Resource Server (e.g., instance of a FI-WARE GEis) from unauthorized access to resources. The PEP can be deployed as a security proxy that intercepts all HTTP(S) traffic to the Resource Server. Access is denied or permitted depending on the XACML PDP’s decision. The PEP forwards information about the API request (URL, HTTP method, HTTP headers, etc.) to the PDP, including the OAuth access token which the PDP can use to get information about the client application, the user on behalf of which the request has been issued and the token scope (user-approved permissions).

Download 1.78 Mb.

Share with your friends:
1   ...   29   30   31   32   33   34   35   36   ...   54




The database is protected by copyright ©ininet.org 2024
send message

    Main page