Internet DRAFT - draft-dwc-abfab-trust-model

draft-dwc-abfab-trust-model



Network Working Group                                       D.W.Chadwick
Internet-Draft                                         University of Kent                           
Intended status: Informational                               16 June 2013
Expires: 16 December 2013                                     
                                                       

		   A Trust Model for ABFAB Trust Routers
                   <draft-dwc-abfab-trust-model-00.txt>

Abstract

Trust routers form an integral part of the ABFAB infrastructure for 
determining routes between IdPs and RPs and determining CoI membership. 
Since it is inherent in their name that they are to be trusted, this 
Internet Draft specifies a trust model for their operation, so that IdPs 
and RPs can rely on them to perform the tasks that they are trusted to 
perform. These tasks are: 

-	form a trusted route between an IdP and RP
-	ensure that a community of interest (CoI)only has the members that it 
should have


Status of this Memo

This Internet-Draft is submitted in full conformance with the 
provisions of BCP 78 and BCP 79.

This document is not intended to be an Internet Standards Track 
specification; it is published for informational purposes.

Internet-Drafts are working documents of the Internet Engineering Task 
Force (IETF).  Note that other groups may also distribute working documents 
as Internet-Drafts.  The list of current Internet-Drafts is at 
http://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and 
may be updated, replaced, or obsoleted by other documents at any time. It 
is inappropriate to use Internet-Drafts as reference material or to cite 
them other than as "work in progress".


Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  








Table of Contents

1.	Introduction	2
2.	Basic Assumptions and Definitions	2
3.    The Trust Model	3
3.1      TR Roles	3
3.2      Inputting CoI information	4
3.3      Handshake Protocol	4
3.4      CoI Distribution Protocol	4
3.5      An Example	4
4.    References	5
4.1      Normative References	5
4.2      Informative References	5













1.	Introduction

If trust routers (TRs) are to be trusted by their trustors, then it must be 
clear to the trustors on what basis this trust is established. A trust 
model provides such a basis for showing who trusts whom for what purpose. A 
trust model has been defined as "the defined trust relationships and 
orientation of the communities participating with (an) organization.." [1].

The trust model described in this document is concerned with trust in trust 
routers for two purposes:

i)	to provide a trusted path between an RP and an IdP/AA, and 
ii)	to ensure that a community of interest (CoI)only has the members 
that it should have.



2.	Basic Assumptions and Definitions

The authorisation model and assumptions that underlie this document are as 
follows:

i) 	The Service Provider, being the Relying Party, is the trustor, and 
therefore must be in control of, and decide, who it trusts.

ii) 	The RP uses an attribute based access control model, in which users 
are granted access to its resources bases on their identity attributes

iii) 	Attributes may be globally defined, e.g. visa attributes, or locally 
defined e.g. member of club X. Globally defined attributes are often 
specified in international standards and may be used in several different 
CoIs and federations. Their syntax and semantics are fixed, regardless of 
which Attribute Authority (AA) issues them. Local attributes are defined by 
their issuing AA and usually are only valid in the CoI or federation in 
which the AA is a member. For locally defined attributes the attribute 
authority (issuer) must be globally identifiable (in the CoI or 
federation). The attribute then becomes globally identifiable through 
hierarchical naming (AA.attribute). It is therefore assumed that all 
attributes can be globally recognised.

iv)	The RP's software comprises a Policy Enforcement Point (PEP), 
Credential Validation Service (CVS), and Policy Decision Point (PDP). The 
PEP is the application specific code which traps users' requests and 
enforces access control decisions. The CVS is the component which takes as 
input the user's credentials, claims, attribute assertions (synonymous 
terms for the purpose of this document) and returns to the PEP a list of 
validated user identity attributes. The PDP takes the list of user 
attributes and returns an access control decision.

v)	The RP trusts its CVS to correctly validate the user's identity 
attributes based on its policy and to discard untrustworthy ones.

vi)	The RP trusts its PDP to correctly make access control decisions 
based on its policy and the user's valid identity attributes.

vii)	The CVS may have a local trust policy specifying which AAs are 
trusted to issue which attributes, along with the metadata necessary to 
validate digitally signed assertions from these AAs. In this case trust 
routers are not needed. If a router falsely directs the CVS to a fake AA, 
then the CVS can tell this (by signature validation) and will discard all 
the attributes it issues. 

viii)	The CVS may have a local trust policy specifying which attributes to 
accept from a federation or CoI, but may rely on the federation or CoI to 
control its membership and ensure that all AAs are trusted to issue these 
attributes. In this case the CVS trusts the TRs to connect it to trusted 
AAs, and not to connect it to untrusted AAs. Note that the CVS is not able 
to validate (digitally signed) assertions from these AAs since it does not 
have any meta data associated with them. So the CVS has to rely on the TRs 
to set up a trusted channel to an AA, via Diffie Hellman key exchange, then 
it does not need digitally signed assertions. The CVS should be able to 
trust everything that comes down the trusted path.

The TR trust model described in this document is based on the following 
assumptions:

A.	Each TR admin is absolutely in charge of his local TR and can 
configure it how he wants to (though it may not work properly if he 
does not follow some set procedures). He does not need to trust 
anyone else, i.e. he is his own root of trust. He can determine which 
remote entities to trust, and how much to trust them.

B.	Trust relationships between TRs can only be mutual and not one way. 
It makes little sense for one TR to trust messages from another TR 
but the other TR to not trust any message at all from the former. 
This is similar to the fact that a mutual trust relationship exists 
between an SP and an IdP in a federation.

C.	Trust relationships can be symmetrical or asymmetrical. Symmetrical 
trust relationships are when each party trusts the other to perform 
the same set of actions. Asymmetrical trust relationships are when 
each party trusts the other to perform different sets of actions. An 
example of an asymmetrical trust relationship is that between an IdP 
and an SP in a SAML federation. An example of a symmetrical trust 
relationship is that between two peers in a group.

D.	All TRs are members of the same federation, and this is agreed at 
initial configuration time.

E.	CoI membership information is dynamically propagated between TR 
federation members.


3. The Trust Model

3.1 TR Roles

A TR may perform one or more of the following roles:

Master - a master TR is responsible for keeping the CoI information up to 
date in its associated slave TRs. A Master CoI gets all its CoI information 
from its administrator.

Slave - a slave TR gets all its CoI information from its master TR. A slave 
TR administrator has no further work to do after initially configuring 
his/her slave TR.

Peer - a peer TR gets its CoI information from both its administrator and 
from its other peer TRs. When it receives any CoI information it propagates 
this to all its associated peer TRs, unless it already has this information 
stored in its local database, in which case it does no further propagation.


3.2 Inputting CoI information

All CoI information originates from TR administrators. The trust model 
allows for one or many CoI members to input this information to their 
managed TRs. It is then propagated to all other TRs in the federation.


3.3 Handshake Protocol

When a TR is initially configured, it is provided with: the name of its 
federation, its role, its metadata, and the associated TR(s) along with its 
(their) metadata. It then establishes an active trust association with its 
associated TR(s), passing each one: the name of the federation, its role, 
its metadata, the role of the associated TR and its metadata. The receiving 
TR checks that the received information matches the information that has 
been configured into it by its administrator, and if all matches, it 
acknowledges that the trust association has been established. From then 
onwards each TR will trust any CoI information received from its associated 
TR, providing it agrees with the relationship type (master/slave or peer to 
peer).


3.4 CoI Distribution Protocol

Once an active trust association between two TRs has been established, the 
CoI CRUD protocol can take place. This allows a TR to create, read, update 
and delete the CoI information in its associated TRs.
3.5 An Example
                                     O                                 O
                                    _|_  __                           _|_  ___
                                     ^     |                           ^      |
                                    / \    |                          / \     |5.CoI B
                                           |1.CoI A                           |
                                           |                                  |
                                           v                                  V
           ------------                  -----------                       -----------
           | Master   |     2. CoI A     | Master/ |     2. CoI A          | Peer TR |
           | Peer TR  | <--------------> | Peer TR | <-------------------->|  (c)    |
           |  (a)     |    7. CoI B      |  (b)    |     6. CoI B          |         |
           ------------                  -----------                       -----------
               ^      ^                         ^                               ^
               |       \                        |                               |
               |3.CoI A \ 3. CoI A              |2                              |3. CoI A
               |8.CoI B  \ 8. CoI B             |7.CoI B                        |6. CoI B
               v          \                     v                               v
           ------------    \              -----------                     -----------
           |          |     \             |          |                    | Peer TR |
           | Slave TR |      \            | Slave TR |                    |  (f)    |
           |  (d)     |       \           |  (e)     |                    |         |
           ------------        \          -----------                     -----------
                                \                                             ^
                                 \                                            |
                                  \                                           |
                                   \                                          |4. CoI A
                                    \                                         |7. CoI B
                                     \                                        |
                                      V                                       V
           ------------            -----------                             -----------
           |          |   4.CoI A  |          |        4.CoI A            X| Peer TR |
           | Peer TR  |<---------->| Peer TR  |<-------------------------->|  (i)    |
           |  (g)     |    9.CoI B |  (h)     |X      8.CoI B              |         |
           ------------            -----------                             -----------

Figure 1. An example TR federation

We assume that a set of TRs in a federation have been configured with the 
following trust associations, as shown in figure 1:
i)	TR(a) is the peer of TR(b) and the master of TR (d)
ii)	TR(b) is the master of TR(e) and the peer of TR (c)
iii)	TR(c) is the peer of TRs(b) and (f)
iv)	TR(d) is the slave of TR(a)
v)	TR(e) is the slave of TR(b)
vi)	TR(f) is the peer of TRs(c) and (i)
vii)	TR(g) is the peer of TR(h)
viii)	TR(h) is the peer of TRs(g) and (i)
ix)	TR(i) is the peer of TRs(f) and (h)

The administrator of TR(b) configures it with information about CoI A (step 
1). TR(b) now propagates this information to all its peers and slaves (step 
2). Any peers who receive this information now propagate it to their peers 
and slaves (step 3). This continues recursively until all TRs in the 
federation have received this information. Any peer who receives this 
information more than once from different peers discards the subsequent 
messages (step 4) (shown with an X in the diagram). The administrator of 
TR(c) configures it with information about CoI B (step 5). TR(c) now 
propagates this to all its peers (step 6). All peers who receive this 
information now propagate it to all their peers and slaves (step 7). This 
continues recursively until all TRs in the federation have received this 
information (steps 8 and 9), with peers discarding subsequent occurrences 
of the same message (shown with an X in the diagram).



4. References


4.1 Normative References

[BCP 78] S. Bradner, Ed. Et al. "Rights Contributors Provide to the IETF 
Trust" November 2008.

[RFC 2119] S. Bradner, "Key words for use in RFCs to Indicate 
Requirement Levels", March 1997.


4.2 Informative References

[1] http://www.ocio.gov.nl.ca/ocio/im/glossary.html#Trust_Model


5. Author's Address

   
David W Chadwick
School of Computing
University of Kent
Canterbury
CT2 7NF
England

d.w.chadwick@kent.ac.uk

Internet-Draft            Trust Model	            16 June 2013
Chadwick          Expires 16 December 2013                     [Page 5]