UNCLASSIFIED
Attribute Based Access Control (ABAC)
Engineering Blueprint v. 2.0
18 May 2011
DISA
Identity Management Division (PEO-MA, IA4)
UNCLASSIFIED
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Table of Contents
Executive Summary .................................................................................................................... 1
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
Introduction .......................................................................................................................... 2
Mission Description ............................................................................................................................. 2
Purpose ............................................................................................................................................... 3
Intended Audience .............................................................................................................................. 3
Scope .................................................................................................................................................. 3
Dynamic Access Control Development Approach .............................................................................. 4
Assumptions ........................................................................................................................................ 5
Symbol Conventions ........................................................................................................................... 5
ABAC from a Strategic and Operational Context ............................................................. 6
2.1 Information Sharing Paradigm ............................................................................................................ 6
2.2 Access Control in Support of Information Sharing .............................................................................. 9
Attribute Based Access Control ....................................................................................... 13
3.1 What is ABAC?.................................................................................................................................. 13
3.2 ABAC Components ........................................................................................................................... 14
Architectural Interfaces and Specifications .................................................................... 19
4.1 ABAC Component Message Overview ............................................................................................. 19
4.2 Message Types ................................................................................................................................. 20
4.3 PEP Specifications ............................................................................................................................ 22
4.3.1 Component Behavior: Enforce Access Control Decision ............................................................ 23
4.4 PDS Specifications ............................................................................................................................ 24
4.4.1 Component Behavior: Generate Access Control Decision ......................................................... 26
4.4.2 Component Behavior: Request Access Control Policy ............................................................... 29
4.4.3 Component Behavior: Request Attributes ................................................................................... 31
4.5 AS Specifications .............................................................................................................................. 32
4.5.1 Component Behavior: Retrieve Attributes ................................................................................... 33
4.6 PS Specifications .............................................................................................................................. 34
4.6.1 Component Behavior: Retrieve Policy ........................................................................................ 35
5
5.1
5.2
5.3
5.4
5.5
5.6
5.7
ABAC Demonstrations and Pilots .................................................................................... 37
Joint Rapid Architecture Experiment (2006/2007) Demonstration.................................................... 37
Empire Challenge (08/09) Demonstration......................................................................................... 37
Joint Expeditionary Forces Exercises 2008 Demonstration ............................................................. 38
The Joint Forces Command Defense Knowledge Online/Joint Knowledge Online Pilot .................. 38
PvM Pilot Phase I .............................................................................................................................. 39
PvM Pilot Phase II ............................................................................................................................. 39
OpenAM Reference Implementation ................................................................................................. 39
Implementation Approach and Lessons Learned .......................................................... 41
6.1 Integration with Native Access Controls ........................................................................................... 41
6.2 Policy Creation .................................................................................................................................. 41
6.3 Standards .......................................................................................................................................... 41
6.4 Performance and Scalability ............................................................................................................. 41
6.5 Design Considerations ...................................................................................................................... 42
6.5.1 PEP Policy Enforcement Point ................................................................................................. 42
6.5.2 Policy Decision Service ............................................................................................................... 43
6.5.3 Attribute Service .......................................................................................................................... 44
6.5.4 Policy Service .............................................................................................................................. 44
ii
UNCLASSIFIED
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
7
7.1
7.2
7.3
7.4
Enabling Performance and Resiliency ............................................................................ 45
Policy Enforcement Point .................................................................................................................. 46
Policy Decision Service ..................................................................................................................... 46
Access Control Component Horizontal Scaling ................................................................................ 47
High Availability Design..................................................................................................................... 49
Issues and Challenges ...................................................................................................... 51
Appendix A: Acronyms and Abbreviations ............................................................................ 54
Appendix B: Data Dictionary ................................................................................................... 58
Appendix C: References .......................................................................................................... 62
Appendix D: Security Frameworks Overview ........................................................................ 64
DISA IdAM Framework ............................................................................................................................. 64
Federal Identity, Credentialing, and Access Management ....................................................................... 66
NSA Enterprise Security Management ..................................................................................................... 67
Comparison of Security Frameworks ........................................................................................................ 68
Appendix E: Supporting Documentation ................................................................................ 70
Policy Analysis Requirements ................................................................................................................... 70
Government and Market Surveys ............................................................................................................. 70
Operational Use Cases ............................................................................................................................. 70
Gap Analysis Document............................................................................................................................ 70
Operational Requirements Document....................................................................................................... 70
Research Documentation and Results ..................................................................................................... 71
System Requirements Document ............................................................................................................. 71
Risk Analysis Report ................................................................................................................................. 71
Engineering Blueprint- v1 .......................................................................................................................... 72
Proof of Concept Design Document ......................................................................................................... 72
Test Plan ................................................................................................................................................... 72
Reference Implementation ........................................................................................................................ 72
Appendix F: Architectural Patterns and Performance Modeling.......................................... 73
Authorization Pattern 1.............................................................................................................................. 73
Authorization Pattern 2.............................................................................................................................. 76
Authorization Patterns 3 6 ...................................................................................................................... 78
Performance Modeling .............................................................................................................................. 79
Authorization Pattern 1 Timing .................................................................................................................. 80
Authorization Pattern 1 with Multiple Services .......................................................................................... 82
Authorization Pattern 2 Timing .................................................................................................................. 84
List of Figures
Figure 1: Dynamic Access Control Development Approach ......................................................................... 4
Figure 2: Symbol Convention ........................................................................................................................ 5
Figure 3: Engineering Blueprint in Support of GIG 2.0 ................................................................................. 8
Figure 4: Access Control Today .................................................................................................................. 10
Figure 5: Dynamic Access Control .............................................................................................................. 11
iii
UNCLASSIFIED
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 6: Basic ABAC Authorization Pattern............................................................................................... 16
Figure 7: Logical ABAC Interfaces .............................................................................................................. 19
Figure 8: Enforce Access Control Decision ................................................................................................ 24
Figure 9: Generate Access Control Decision Process Flow ....................................................................... 28
Figure 10: Request Access Control Policy Process Flow ........................................................................... 30
Figure 11: Request Attributes Process Flow............................................................................................... 32
Figure 12: Retrieve Attributes Process Flow............................................................................................... 34
Figure 13: Retrieve Policy Process Flow .................................................................................................... 36
Figure 14: PEP Integration Patterns ........................................................................................................... 43
Figure 15: Authorization Pattern 1 Flow...................................................................................................... 45
Figure 16: Multiple PEPs............................................................................................................................. 47
Figure 17: Multiple PDSs ............................................................................................................................ 48
Figure 18: High Availability Configuration ................................................................................................... 49
Figure 19: DISA IdAM Framework .............................................................................................................. 65
Figure 20: FICAM Services Framework ...................................................................................................... 67
Figure 21: ESM Services ............................................................................................................................ 68
Figure 22: Security Framework Mapping .................................................................................................... 69
Figure 23: Authorization Pattern 1 .............................................................................................................. 74
Figure 24: Authorization Pattern 2 .............................................................................................................. 77
Figure 25: Authorization Pattern 1 Timing .................................................................................................. 81
Figure 26: Authorization Pattern 1 Timing with Multiple Services............................................................... 83
Figure 27: Authorization Pattern 2 Timing .................................................................................................. 85
List of Tables
Table 1: Mission Support Capabilities........................................................................................................... 6
Table 2: JCA Alignment to Blueprint ............................................................................................................. 8
Table 3: Access Control Types ................................................................................................................... 11
Table 4: ABAC Enablement of Mission Support Capabilities ..................................................................... 13
Table 5: ABAC Components ....................................................................................................................... 14
Table 6: ABAC Programs and Initiatives..................................................................................................... 17
iv
UNCLASSIFIED
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Table 7: ABAC Message Types .................................................................................................................. 20
Table 8: Policy Enforcement Point Functions ............................................................................................. 22
Table 9: Enforce Access Control Decision Behavior .................................................................................. 23
Table 10: Policy Decision Point Functions .................................................................................................. 25
Table 11: Generate Access Control Decision Behavior.............................................................................. 26
Table 12: Request Access Control Policy Behavior ................................................................................... 29
Table 13: Request Attributes Behavior ....................................................................................................... 31
Table 14: Attribute Service Functions ......................................................................................................... 32
Table 15: Retrieve Attributes Behavior ....................................................................................................... 33
Table 16: Policy Service Functions ............................................................................................................. 34
Table 17: Retrieve Policy Behavior ............................................................................................................. 35
Table 18: ABAC Issues and Challenges ..................................................................................................... 51
Table 19: Steps for Authorization Pattern 1 ................................................................................................ 75
Table 20: Steps for Authorization Pattern 2 ................................................................................................ 77
Table 21: SSRA Authorization Patterns ...................................................................................................... 78
UNCLASSIFIED
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Executive Summary
The information-sharing paradigm is shifting from a need-to-know to need-to-share philosophy
in order to enable access to mission critical, time sensitive information. In support of mission
operations and to improve collaboration with federal agencies and coalition partners around the
globe, the Department of Defense (DoD) is developing an enterprise-wide dynamic access
control reference architecture to securely share information across administrative and
organizational boundaries. The dynamic access control reference architecture addresses the
ability to accommodate anticipated and unanticipated users,1 dynamic communities of interest
(COIs), and changing mission needs at modern day mission tempos.2 The reference architecture
combines information from the enterprise including policies, attributes, resource metadata, and
environmental attributes to provide Attribute Based Access Control (ABAC) capabilities to
dynamic operating environments.
To realize the reference architecture, the Defense Information Systems Agency (DISA) Identity
Management Division Privilege Management Branch (PEO-MA IA43) developed the ABAC
Engineering Blueprint. The Engineering Blueprint addresses dynamic access control concepts,
requirements, functionality, and logical architecture with an acute focus on issues pertaining to
decisioning and enforcement, and their interfaces for policy and attribute retrieval. The
Engineering Blueprint also includes design considerations and lessons learned that address
technical and operational issues including adoption, performance, high availability, and
deployment. The reference architecture and requirements described in this document serve as
the benchmark to research, develop, test, and evaluate dynamic access control solutions.
The efforts of DISA provide the foundation for an access control mechanism that enables the
effective and efficient sharing of information in support of the warfighter mission. To learn
more about dynamic access control, ABAC, and the efforts of DISA IA4, contact
PvM_Support@[Link].
An unanticipated user is a user that does not have an account in the resource identity store and has not pre-registered for access
to the resource.
2
DoD Privilege Management Roadmap, 6 January 2010
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Introduction
1.1 Mission Description
In support of the modern day operational environment, access to information is a key enabler for
mission success. Often, mission planners, commanders, and operational forces cannot wait for
registration to information systems and the assignment of specific permissions before accessing
mission critical, time sensitive data. To facilitate dynamic access to information, the DoD is
shifting toward a net-centric information-sharing environment -- the Global Information Grid
(GIG) 2.0.3 This shift requires information systems to evolve their current authentication and
access control approaches to support interoperability with other federal agencies, the
International Community (IC), and coalition partners.
Several defense reviews, strategies, and recommendations reports highlight the need for
enhanced access control solutions to enable secure, dynamic access to information resources.
The 2010 Quadrennial Defense Review (QDR) concluded that modern armed forces simply
cannot conduct high-tempo, effective operations withoutassured access to cyberspace.4 The
Program Decision Memorandum (PDM) III Core Enterprise Services Findings and
Recommendations Report recommended that DISA establish a common set of authorization
services for use on Non-Secure Internet Protocol Router Network (NIPRNet), Secure Internet
Protocol Router Network (SIPRNet), and the Joint Worldwide Intelligence Communications
System (JWICS), with a consideration toward Federal and Coalition networks. In addition, the
DoD Enterprise Architecture Transition Strategy identifies Information Assurance (IA)
technologies that enable transaction-based access control, information sharing across security
domains, protection of information and resources, and maintenance of Situational Awareness in
the target GIG as one of the key target GIG technologies.5
To address the need for an access control mechanism that enables secure information sharing,
DISA IA43 developed the ABAC Engineering Blueprint. The Engineering Blueprint outlines a
reference architecture for dynamic access control to resources across administrative and
organizational boundaries within the DoD enterprise and with external partners. Collaborating
with the National Security Agency (NSA) Enterprise Security Management (ESM), the DISA
and NSA joint team have started initiatives to understand the very complex access control
problem space and provide the basic building blocks needed to establish an enterprise-wide
capability. As part of this initiative, the DISA IA43 team is responsible for supporting the
development of a dynamic access control solution and leading the engineering activities to field
operational dynamic access control capabilities for the DoD enterprise.
Initial Capabilities Document for the Global Information Grid Information Assurance, NSA, 06 March 2006
Quadrennial Defense Review Report, February 2010
DoD Enterprise Architecture Transition Strategy, February 2008
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
1.2 Purpose
The purpose of the Engineering Blueprint is to describe dynamic access control concepts,
functionality, and logical reference architecture. The Engineering Blueprint defines the
architectural building blocks of a dynamic access control solution, which includes the following:
Technology standards
Protocols
Specifications
Interface definitions
Infrastructure
Performance criteria
Lessons Learned from Reference Implementations, pilots, and exercises
One of the goals of the Engineering Blueprint is to support the research, development, testing,
and evaluation of dynamic access control solutions. This document provides guidance for the
implementation of a dynamic access control solution and is the basis for product evaluations.
1.3 Intended Audience
The Engineering Blueprint target audience includes the following:
DoD, IC, coalition partners, and other federal agencies
Senior management and mission owners who enforce decisions about the IT security
budget
IT security program managers, who implement the security program
Information system security officers (ISSOs) responsible for IT security
IT system owners of system software and/or hardware used to support dynamic access
control functions
Information owners of data stored, processed, and transmitted by the IT systems
Business or functional managers, who are responsible for the IT procurement process
Technical support personnel and product vendors
1.4 Scope
The Engineering Blueprint addresses dynamic access control concepts, functionality, and logical
architecture with an acute focus on issues pertaining to access control decisioning and
enforcement, and their interfaces for policy and attribute retrieval. The goal of the Engineering
Blueprint is to design a flexible, enterprise scale access control decisioning and enforcement
mechanism to enable information sharing and accommodate anticipated and unanticipated users.
The Engineering Blueprint includes discussion of attributes and other supporting access control
and information security initiatives to highlight the dependencies and interactions with access
control decision and enforcement with related DoD/IC efforts. Although discussed, these
dependencies are currently not in the purview of DISA IA43.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
1.5 Dynamic Access Control Development Approach
In order to develop a dynamic access control reference architecture and lead the engineering
activities to develop, deploy, and sustain operational capabilities for the DoD. The DISA IA43
team investigated key Programs of Record (POR) that support Doctrine, Organization, Training,
Materiel, Leadership, Personnel, and Facilities (DOTMLPF) to identify how information is
currently accessed, stored, and where it is physically located. This information was used to
develop use cases that captured core information about access control mechanisms, information
flow models and the current technologies being used by these PORs.
In addition, DISA is working with the NSA to conduct pilots and exercises6 to demonstrate
dynamic access control technical capabilities and product performance. As part of this initiative,
DISA is collaborating with partners from the DoD, IC, Federal, Civilian, and industry to develop
standards, prototype technology, and integrate services related to dynamic access control. This
information enables DISA to develop best practices and lessons learned for developing an
enterprise scale dynamic access control capability.
Market surveys, pilots, demonstrations, and laboratory exercises, together with the Engineering
Blueprint, play a vital part for the dynamic access control development approach as illustrated in
Figure 1 below.
Figure 1: Dynamic Access Control Development Approach
Section 7.1 elaborates on DISA and NSA sponsored pilots and demonstrations.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
1.6 Assumptions
Key assumptions for the Engineering Blueprint include the following:
The following topics, although introduced and discussed in the Blueprint, are outside the
scope of IA43:
Attribute Management
User Attribute Services
Environmental Attribute Services
Digital Policy Management
Policy Services
Metadata and Resource Management
Public Key Infrastructure (PKI) and credential validation
The dynamic access control solution discussed in this document is based on eXtensible
Access Control Markup Language (XACML) version 2.0
The terminology used in this document is consistent with the DISA Identity and Access
Management (IdAM) security framework described in Appendix D.
1.7 Symbol Conventions
The figures in the Engineering Blueprint use the following color scheme to illustrate alignment
with the DISA IdAM Security Framework service categories listed in Appendix D.
Figure 2: Symbol Convention
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
ABAC from a Strategic and Operational Context
2.1 Information Sharing Paradigm
In order to maintain operational and tactical superiority on the battlefield, it is essential that
information be readily available, and easily disseminated to those that need the information,
when they need it. ABAC can facilitate secure information sharing by providing a greater
emphasis on leveraging policies, attributes, and metadata to allow access to information in a
controlled manner. Stove-piped information silos are commonplace in todays technology
infrastructure inhibiting communication and information sharing across all four major DoD
branches, other federal agencies, the intelligence communities, and coalition partners.7 The next
generation GIG 2.0 strategy addresses these issues. The GIG is a network of computer systems
and applications used to securely store, process, and disseminate data amongst systems and
warfighters, and support personnel throughout the DoD enterprise. In transitioning to GIG 2.0,
the DoD is developing innovations to effectively leverage information as a strategic asset.8 The
accessibility of information is essential when establishing an operational environment where
faster decision-making is the norm, and tactical dominance is consistently maintained and
executed. As defined by the DoD Privilege Management Roadmap and the GIG 2.0 Information
Assurance Initial Capabilities Document, the capabilities required to make GIG 2.0 a dynamic,
global, federated mission support enabler are listed in Table 1.
Table 1: Mission Support Capabilities
Mission Support Capability
Description
More Accurately Control Access to Information and
Resources
Enables mission planners, commanders, and
operational forces to discover and access
information needed to achieve mission success
regardless of domain or geography.
Support Federated Operations and Dynamic COIs
Enables operational forces to quickly share
information and collaborate with US Joint forces,
federal agencies, the IC, and coalition partners in
support of the need to share paradigm.
Employ a Standards-Based Approach
Enables use of a wide range of open source,
Commercial Off-the-Shelf (COTS), Government
Open Source (GOS) and custom technology while
maintaining interoperability and consistency of
operations.
7
8
DoD Privilege Management Roadmap, 6 January 2010
Initial Capabilities Document for the Global Information Grid Information Assurance, NSA, 06 March 2006
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Mission Support Capability
Description
Assure Enterprise Resources are Available
Ensures terminals, communications, information
systems and enterprise services remain available
and accessible to mission operators and
warfighters to satisfy mission needs when required.
Reduce Personnel Resource Demands
Enables redirection of manpower from technology
management and administration to warfighter
programs by reducing the administrative burden
required to manage and maintain service
requesters and the security of information systems.
Assured Information Sharing
Provides authorized service requesters with
appropriate access to networks, systems,
applications, and data across the enterprise; and
enables dynamic, trustworthy information sharing
across component domains to enable timely
creation and management of COIs.
As the DoD moves toward GIG 2.0 and the Net-Centric Operating Environment (NCOE), it is
critical to have access to timely and relevant mission information in a controlled fashion. The IA
Systems Technology Evolution Plan (STEP)9 provides a chronological view of capabilities and
existing technologies, expected enhancements, interim states, and theoretical elements required
to obtain the NCOE desired end states. The STEP conveys linkages between IA capabilities and
desired warfighter capabilities described in the NCOE in support of the GIG IA Portfolio. The
STEP describes the evolution of IA capabilities in support of three Capability Thread
Implementation Plans (CTIPs) from the GIG 2.0 Joint Capability Areas (JCAs): Secure
Information Exchange (SIE), Protected Data and Networks (PDN) and Respond to Attack Events
(RAE). The SIE plan focuses on ensuring assured mission success in the Net-Centric
environment through dynamic information sharing across the enterprise. Within the SIE plan,
the Engineering Blueprint directly addresses SIE 3, the Control Access to Information Resources
system function, by enabling access control decision and enforcement. Figure 3 below depicts
the different JCAs and the correlation between the different documents/frameworks that support
the Engineering Blueprint initiative:10
National Security Agency Information Assurance Directorate: STEP Practitioners Guide, September 2009
10
ALIGNMENT FRAMEWORK FOR GIG IA ARCHITECTURE, AUGUST 2009
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 3: Engineering Blueprint in Support of GIG 2.0
In addition to the STEP and the SIE plan, Table 2 below identifies specific GIG 2.0 goals/objectives that
the Engineering Blueprint and ABAC support.
Table 2: JCA Alignment to Blueprint
DoD Initiative
Architecture Framework for GIG (AFG)
Related goals to the Engineering
Blueprint/ABAC Solution
Assured access, collaboration, and information
sharing
Support GIG IA Architecture to facilitate data
management and collaboration
GIG IA ICD / GIG IA Architecture
Enterprise information is securely and seamlessly
available to mission partners
Achieve net-centricity by supporting dynamic
information sharing
Cyber Identity Information Assurance (CIIA)
Enable secure mission-driven access to information
and services and also provide the ability to securely
locate data and services across the extended
information enterprise
Facilitate seamless information management and
collaboration across information security domains
Manage Access by managing identity credentials,
privileges and resources
Allow GIG service requesters to collaborate across
information or security domains.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
DoD Initiative
Related goals to the Engineering
Blueprint/ABAC Solution
Information Sharing based upon need to know while
DoD Net-Centric JCD
maximizing situational awareness (SA) with
authorized service requesters
The NCOE addresses that mission partners must
have rapid access to relevant, accurate, and timely
information, and also the ability to create and share
the knowledge required to make superior decisions in
an assured environment amid unprecedented
11
quantities of operational data
12
DoD Identity Credential and Access Management
Align existing DoD identity and access management
initiatives into an enterprise-wide set of DoD ICAM
services
Establish unified governance for enterprise-wide
secure information sharing
Establish trust foundation for secure information
sharing and collaboration for DoD and its mission
partners13
While facilitating access to the information needed for achieving mission success has taken to
the forefront of the national security agenda, the cyber capability and technology to secure
information is equally as important. The shifting nature of partnerships and alliances, the
varying levels of collaboration and trust required, and the large and diverse populations of people
requiring access to information demand more flexible mechanisms for access control. Because
mission operations are dynamic, the capability to access information seamlessly needs to be agile
to adapt rapidly to changing mission environments.
2.2 Access Control in Support of Information Sharing
Many of todays information technology environments rely heavily on pre-populated Access
Control Lists (ACL) to determine who is allowed access to certain information. Under these
traditional need-to-know constructs, only those individuals, programs, or devices that have
specific permission to use a particular resource are granted access. As shown in Figure 4, ACLs
allow for the assignment of access rights through a manual registration process, but the
management of large populations of service requesters results in significant administrative
overhead. Maintenance of exhaustive lists of service requesters for every resource is a tedious,
and error prone process. In addition, this process cannot keep pace with the dynamic nature of
information sharing required for todays operational landscape, and creates information
stovepipes impeding the ability to enable authorized access to mission essential data in a timely
11
Joint Capabilities Document (JCD) for Net-Centric Operational Environment (NCOE), December, 2006
12
DoD ICAM Harmonization Assessment Version (Draft) 0.61, 25 August 2010
13
2010 08 20 DoD ICAM Harmonization Assessment v0 6 1[Link]
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
manner. Furthermore, it creates opportunities for the exploitation of information assets due to
vulnerabilities caused by managing an overwhelming volume of service requester accounts and
permissions.
Figure 4: Access Control Today
To increase the responsiveness of DoD systems to changing operating conditions, access to
information should be governed by digital policies that can be rapidly created, modified, and
consumed by IT systems. The digital policies should define the rules and conditions under
which someone is authorized for access by using user characteristics, or attributes, and resource
characteristics, or metadata, as opposed to membership to a resource ACL. The attributes can be
collected, stored, and managed independently of the resource. Additionally, as long as a source
for the appropriate attributes and metadata is available to fulfill a policy, an access control
decision can be rendered. To quickly accommodate changing mission partners based on shifting
tactical needs, removing the need to register service requesters with resources greatly enhances
the agility of operational forces in accessing data and applications. An unregistered service
requester attempting to access a resource is known as the unanticipated user. An unanticipated
user has no prior service requester data registered with the resource identity repository, but is
part of the DoD enterprise, IC, or an external mission partner and has an appropriate credential.
As shown in Figure 5, the unanticipated user should be dynamically granted or denied access
based on policy without requiring pre-registration or approval.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
10
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 5: Dynamic Access Control
In addition to ACLs, there are several common access control models that are used to decide and
enforce access. Table 3below briefly highlights the applicability of common access control
models to dynamic information sharing and the unanticipated user.
Table 3: Access Control Types
Access Control Types
Identity Based Access Control (IBAC)
Access Control List (ACL)
Description
Requires a service requester to be directly assigned
to a resource by name
Heavy Administrative burden
Does not scale to meet DoD enterprise
Does not support dynamic information sharing or
unanticipated users
Role Based Access Control (RBAC)
Policy is driven by categories of service requesters
defined by their relationship with the organization
(e.g., system administrators, logistics)
Permissions and service requesters are manually
assigned to roles
New roles often need to be created to handle
changing operating conditions or requirements
Does not support dynamic information sharing or
unanticipated users
Attribute Based Access Control (ABAC)
Policy is defined by assembling attributes and
metadata into rules
Permissions are defined through access control
policies tied to resources policies need to be modified
to handle changing operating conditions or
requirements
Does support dynamic information sharing and the
unanticipated user if the appropriate policies,
attributes, and metadata are available
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
11
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Access Control Types
Risk Adaptive Access Control (RAdAC)
Description
Policy is defined by the security risk and operational
need of the situational context in addition to access
control policies
Permissions are adapted at run time to accommodate
the value of the information being protected, mission
need, and risk tolerance
Does support dynamic information sharing and the
unanticipated user based on operational context
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
12
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Attribute Based Access Control
3.1 What is ABAC?
To accommodate federated mission operations, the appropriate policies, attributes, and metadata
need to be defined to ensure seamless operation and protect information assets across sovereign
boundaries. ABAC enables the transition away from access control based solely on identity
through evaluating and enforcing policies. It does so by leveraging enterprise sources of access
control policies, attributes, and data in support of dynamic operating environments. In line with
IA43s objective of enterprise wide capability, leveraging attributes, metadata, and digital
policies to secure access to resources requires a flexible and robust decisioning and enforcement
mechanism.
In ABAC, digital policies are defined and managed by administrators to protect specific
resources. These digital policies can be derived from partnerships between organizations, such
as a Memoranda of Agreement, or from collaboration on a particular focus area, such as
Communities of Interest. Digital policies can also be derived from compliance and information
assurance policies issued by the DoD CIO or the Joint Chiefs of Staff, such as implementing
HIPAA privacy rules or data releasability to coalition partners. ABAC enables a flexible means
of securely sharing and protecting information through the enforcement of digital policies
applicable to specific resources. Table 4 below represents how ABAC meets the goals and
objectives essential to the success of assured information sharing.
Table 4: ABAC Enablement of Mission Support Capabilities
Mission Support Capability
ABAC Enablement
More Accurately Control Access to Information and
Resources
ABAC facilitates access control to resources based
on the requesters attributes, resource metadata,
mission status, and other pertinent operational and
environmental factors.
Support Federated Operations and Dynamic
Communities of Interest
ABAC supports a federated credential, policy, and
attribute management service infrastructure in
order to operate across dynamic communities of
interest and enterprise boundaries where joint
recognition of sovereign authority is necessary to
facilitate information sharing.
Employ a Standards-Based Approach
ABAC adopts commercial and federal standards based protocols, interfaces, specifications, and
technology, which foster interoperability and
federated operations.
Assure Enterprise Resources are Available
ABAC helps control access to information objects,
applications, networked devices, and network
boundaries to ensure that information systems and
enterprise services are readily accessible to
mission operators and warfighters.
Reduce Personnel Resource Demands
ABAC helps reduce the administrative burden of
managing and maintaining service requester
accounts and ACLs by enabling dynamic access
without service requester pre-registration.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
13
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Mission Support Capability
ABAC Enablement
ABAC helps ensure that service requester access
is controlled through the proper authorization and
access control mechanisms permitting the secure
enforcement of information sharing policies,
attributes, resource metadata, and environmental
attributes among dynamic COIs.
Assured Information Sharing
3.2 ABAC Components
The building blocks of ABAC include the components described in Table 5 below.
Table 5: ABAC Components
ABAC Component
Description
Service Requester
The service requester is any subject that requests
access to resources on the GIG.
Resource
The resource provides information or a service in
response to a service request.
Policy Enforcement Point (PEP)
The PEP intercepts service requests to resources
and enforces access control decisions. The PEPs
main function is to grant or deny service requester
access to the resource and enforce workflow
obligations or constraints on the interaction. The
PEP may also support service requester
authentication, by checking the status of a service
requesters credentials and verifying authentication
assertions.
Policy Decision Service (PDS)
The primary function of the PDS is to render an
access control decision based on a policy. PDS
calculates access control decisions based on the
security context of the interaction between the
service requester and the resource. The security
context is comprised of access control parameters
including policies, attributes, resource metadata,
and environment attributes. The PDS can retrieve
the access control parameters from sources at
various levels of the enterprise to render a
decision.
Policy Service (PS)
The PS retrieves access control policies from a
policy store. Typically, the PDS will use the PS to
request the applicable policies pertaining to the
security context of a transaction. Policies may
consist of multiple rules. A rule contains a Boolean
condition and the associated effect, which the PDS
uses to calculate an access control decision.
Attribute Service (AS)
The AS retrieves service requester information on
person, personae, and NPEs from an attribute
store. The AS retrieves service requester
information by sharing, federating, exchanging, and
accessing various attributes associated with an
entitys information from variety of authoritative
identity stores such as directories and databases.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
14
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
ABAC Component
Resource Metadata Service (RMS)
14
15
Environmental Attribute Service
Description
The resource metadata service retrieves resource
IA metadata and resource context metadata from
the metadata repository. IA metadata includes
classification and releasability restrictions as
defined by the Controlled Access Program
Coordination Office (CAPCO) register. The
resource context metadata includes resource
labels such as title, author, owner, or version.
The environmental attribute service retrieves
characteristics of the operating environment for the
service requester transaction. This can include
factors such as time of day, geography, Information
Operations Condition (INFOCON) level, or Defense
Condition (DEFCON) level.
Based on the specific requirements of the information system, the ABAC components can be
structured in a number of different authorization patterns (Discussed in Architectural Patterns
and Performance Modeling Appendix F). Figure 6 below depicts the most common
authorization pattern, Authorization Pattern 1.
14
Resource Metadata Services are not discussed in the Engineering Blueprint because the service has not been defined but may
be discussed in future versions of this document.
15
Environmental Attribute Services are not discussed in the Engineering Blueprint because the service has not been defined but
may be discussed in future versions of this document.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
15
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
16
Figure 6: Basic ABAC Authorization Pattern
The dynamic access control process typically begins with a service requester sending a request to
interact with a target resource. The PEP intercepts the request and may request authentication if
the service requestor has not previously authenticated. Upon verifying service requester
authentication, the PEP sends an authorization decision request to the PDS for an access control
policy decision. In order for the PDS to produce a valid access control decision, it requires input
from several sources. The PDS accomplishes this by first requesting access control policies from
the policy service. The PDS then requests attributes, resource metadata, and environmental
attributes as required by policy from their respective sources. Once the PDS receives the
requested access control information, the PDS determines a policy decision to either permit or
deny access. Next, the PDS forwards the decision to the PEP to execute the enforcement of the
16 Note: The ABAC components in the figure above use the color scheme defined in the Color Conventions section of this
document.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
16
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
decision. The PEP then either enforces the grant or denies access control decision for the service
requesters access to the requested target resource. In the case of the unanticipated user,
assuming that the service requester is able to perform authentication and the appropriate
attributes are accessible in the enterprise, the ABAC solution can accommodate a service
requester that is new to the system without pre-registering for an account. Additionally, the
granularity of resources protected by ABAC is directly related to the level of specificity of the
PEP because the ABAC policy structure allows for policy definition down to the specific data
element.
In support of the dynamic access control process, IA43 is focusing on the access control decision
and enforcement mechanisms. There are several additional programs and initiatives across DoD,
IC, Federal Civilian, and industry that are researching and developing services and capabilities
for credentials, attributes, metadata, and access control policy. Table 6 provides a short list of
key programs and initiatives of interest for ABAC.17
Table 6: ABAC Programs and Initiatives
Program or Initiative
Description
DMDC Enterprise Identity Attribute Service (EIAS)
The EIAS capability was created to provide identity
attributes, for person and NPE, to foster people
discovery and support the DoDs push toward a
net-centric environment that incorporates an ABAC
capability.
Backend Attribute Exchange (BAE)
The BAE is an attribute retrieval specification that
involves exchanging Personal Identity Verification
(PIV) cardholder information between an Attribute
Authority (AA) and a Relying Party (RP) in a secure
and trusted manner. The BAE is exploring how to
share attributes between federal agencies.
Global Force Management Data Initiative (GFM DI)
GFM DI is establishing a Joint data standard
enabling DoD systems to exchange authorized
organization, force structure, and billet data in a
common format.
Digital Policy Management Technical Exchange
Meeting (DPM TEM)
The DPM TEM is led by the NSA and is addressing
the definition and management of digital policies.
Access control policies are one of many policy
types under consideration.
National Institute of Standards and Technology
(NIST) Access Control Policy Testing (ACPT) and
Policy Analysis
NIST is currently researching and developing
advanced tools capable of deconflicting policies.
The ACPT is a tool that is currently under
development. It helps generate enforceable
XACML policies based on policy requirements and
modeling to facilitate policy implementation.
17
For additional information on key programs and initiatives related to ABAC, visit the Privilege Management References page in
Intelink: [Link]
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
17
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Program or Initiative
Description
Geospatial eXtensible Access Control Markup
Language (GeoXACML)
GeoXACML provides an extension to the XACML
Policy Language by supporting the enforcement of
access restrictions, based on geographic data. As
an extension to XACML, GeoXACML provides
support for spatial data types and spatial
authorization decision functions.
DoD Discovery Metadata Specification (DDMS)
The DDMS specifies a metadata set to describe
any data or service asset that is made known to the
Enterprise in support of content discovery services.
In essence, the DDMSs primary function is to
define the core set of metadata elements that must
be used to describe data assets made visible to the
DoD Enterprise.
IA Metadata Community of Practice
The IA Metadata Community of Practice is by
definition a taxonomy for security and information
assurance metadata. The IA metadata describes
the security properties and protection requirements
for data assets, protections applied to data assets,
and provenance. For example, this includes
classification, handling, releasability, and
dissemination restrictions for a data asset.
Robust Certificate Validation Service (RCVS)
RCVS provides the revocation status of PKI
certificates using Online Certificate Status Protocol
(OCSP). When used in conjunction with relying
party certificate checking functions, RCVS enables
X.509 authentication, encryption, and verification of
digital signatures
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
18
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Architectural Interfaces and Specifications
As specified in Section 3.2, the ABAC consists of multiple components working together to
enable dynamic access control. This section elaborates on the ABAC components, providing
interface specifications for each component and defines core functions, behaviors, and process
flows for each of them. The interfaces and functions described for each component are derived
from the DoD/IC Service Security Reference Architecture, NCES SAML Attribute Profile,
NCES Profile of Web Service Security, NCES Profile of XACML, and Organization for the
Advancement of Structured Information Standards (OASIS) SAML 2.0 profile documentation.
The behaviors discuss the sequence of activities performed as part of each function, and the
behaviors are depicted graphically in a process flow diagram. Each behavior contains the
following information:
Summary of the function behavior
Pre-condition for the behavior to occur
Input messages received by the
interface
Nominal and Alternate flows of
activities
Output messages transmitted by the
interface
Design considerations that influence
configuration and deployment
Actors participating in the interface
sequence of activities
Assessment of how COTS products
implement the interface
4.1 ABAC Component Message Overview
Figure 7 below provides a high-level use case diagram depicting how the different ABAC
interfaces interact to provide access control. These functions and behaviors may differ based
upon different authorization patterns but specifications discussed in this section follow
Authorization Pattern 1 from the DoD/IC Service Security Reference Architecture.
Figure 7: Logical ABAC Interfaces
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
19
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
The ABAC components communicate primarily through a Simple Object Access Protocol
(SOAP)-based protocol, which consists of Security Assertion Markup Language 2.0 (SAML)
and XACML elements. SAML 2.0 is a primary protocol used to exchange authentication and
authorization data between the ABAC components. It is an Organization for the Advancement
of Structured Information Standards (OASIS) standard based on eXtensible Markup Language
(XML) and uses security tokens containing assertions to pass information. Its main functions are
to send and receive attributes and access control queries and responses. XACML v2.0 is an
XML-based access control protocol, also derived by OASIS. Its main function is to send
policies and return decisions based on applicable policies and rules.18
4.2 Message Types
The ABAC interfaces exchange messages to verify and grant access requests made by service
requesters. The interactions between the ABAC components consist of a number of message
types. These messages sent between each of the components are described in detail in Table 7
below.
Table 7: ABAC Message Types
Message Type
XACMLAuthzDecisionQuery:
The PEP will send an authorization query,
XACMLAuthzDecisionQuery, in the SAML 2.0
Profile of XACML v2.0 to the PDS to request
an access control policy decision.
XACMLAuthzDecisionStatement:
The PEP will receive an authorization
statement, XACMLAuthzDecisionStatement,
in the SAML 2.0 Profile of XACML v2.0 from
the PDS with an access control policy
decision response.
Parameters
The message will contain AT LEAST the following-
Subject (<xacml-context:Subject>)
Resource (<xacml-context:Resource>)
Action (<xacml-context:Action>)
Environment (<xacml-context:Environment>)
Authentication validation (<saml:Evidence>)
Other optional attributes may be included
The message will contain AT LEAST the following-
SAML Query Reference ID
(<samlp:ResponseInResponseTo>)
Issuer/Unique Id (<saml:Issuer>)
Subject Name (<saml:Subject>)
Validity duration of message
(<saml:ConditionsNotOnOrAfter>,
<saml:ConditionsNotBeforeOrAfter>)
Authorization decision (<xacml-context:Decision>)
18
For more information on SAML and XACML, refer to the OASIS standards, which can be found on [Link]
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
20
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Message Type
XACMLPolicyQuery:
Once the PDS receives the
XACMLAuthzDecisionQuery, it will send a
policy request to the PS, identified as the
XACMLPolicyQuery, in the SAML 2.0 profile
of XACML v2.0 format to receive all applicable
access control policies. Policies can be
retrieved by resource, policy set, or specific
policy.
Parameters
The query will contain AT LEAST the following-
Resource Match ID (<xacml:ResourceMatchMatchId>)
Resource Match Data Type
(<xacml:AttributeValueDataType>)
Resource Attribute Designator
(<xacml:ResourceAttributeDesignator>)
OR
Policy Set (<xacml-samlp:PolicySetIdReference>):
OR
Policy ID Reference (<xacml:PolicyIdReference>)
XACMLPolicyStatement:
The PDS will receive a policy response,
XACMLPolicyStatement, in the SAML 2.0
Profile of XACML v2.0 from the PS with the
applicable access control policies for the
service request.
The response will contain AT LEAST the following-
Policy Combining Algorithm
(<xacml:PolicySetPolicyCombiningAlgId>)
Method to match resource attribute
(<xacml:ResourceMatchMatchId>)
Resource attribute name
(<xacml:ResourceAttributeDesignatorAttributeId>)
Method and attributes to match the action attribute
(<xacml:ActionMatchMatchId>)
Effect that will be returned upon successful evaluation
(<xacml:RuleEffect>)
AttributeQuery:
To retrieve the attributes required to generate
a decision, the PDS will send an attribute
request to the AS, identified as the
AttributeQuery, in the SAML v2.0 format to
receive all applicable attributes.
The query will contain AT LEAST the following-
AttributeStatement:
The PDS will receive an attribute response,
AttributeStatement, in the SAML v2.0 format
from the AS with the applicable attributes to
evaluate the access control policies and
render an access control decision for the
service request.
The assertion will contain AT LEAST the following-
Subject name (<saml:NameID>)
Attribute(s) to be retrieved (<saml:AttributeName>)
Status of retrieval (<samlp:Status>)
Unique Identifier (<saml:Issuer>)
Validity duration (<saml:Conditions>)
Attribute name(s) (<saml:Attribute>)
Attribute value(s) (<saml:AttributeValue>)
Attribute service signature (<ds:Signature>)
Depending on the security requirements of the system, encryption and digital signatures may be needed to
protect the confidentiality, integrity, and non-repudiation of the ABAC messages. Appendix E of the
DoD/IC Service Oriented Architecture (SOA) Security Reference Architecture defines message level
controls that may be used by ABAC components.
PKI provides a cryptographic infrastructure for key management to enable encryption and digital
signatures. Where used, PKI certificates will need to be validated through relying party functions and
revocation status checking. Revocation status checking can be accomplished by either checking a CRL or
sending an OCSP request to the RCVS.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
21
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
4.3 PEP Specifications
All PEP interaction with the PDS must conform to the SAML v2.0 profile of XACML using the
SOAP protocol. The PEP enforces access control decisions in response to a request from a
service requester wanting to access a target resource. The Enforce Access Control Decision
function is detailed in Table 8.
Table 8: Policy Enforcement Point Functions
Function
Enforce Access Control Decision
Description
Function performs the enforcement of the access
control decision. The results are a permit, deny,
not applicable, or indeterminate decision, and if
the resulting decision was to permit access, the
message to the PEP will include the requested
data or a link to the requested resource.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
22
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
4.3.1 Component Behavior: Enforce Access Control Decision
Table 9: Enforce Access Control Decision Behavior
Enforce Access Control Decision
Inputs
ResourceRequestMessage: The PEP receives a request for a resource from a
service requester. The service requester is the entity who is requesting access
to the information. The message can be of different types depending on the
protocol in use.
XACMLAuthzDecisionStatement: The PEP will receive a XACML Authorization
Decision Assertion from the PDS, which the PEP uses to either permit or deny
access to the service requester.
Outputs
Operations
XACMLAuthzDecisionQuery: The PEP sends an authorization decision
query to the PDS.
PEP permits access to data / resource by forwarding the request to the
resource provider.
PEP denies access to data / resource by not forwarding the request to the
resource and returning a not authorized message.
Actors
Preconditions
Nominal Flow
Service Requester
PEP
PDS
Service Requester has an authenticated session
TLS session is established between the Service Requester and PEP
1. The PEP receives a request message. The PEP will first check the
message for validity (format and signature).
a. PEP verifies the message. This includes the following:
Verify request message timestamp (<wsu:Timestamp>)
Check uniqueness of request messageID (<wsa:MessageID>)
Verify SAML Authentication Assertion (<saml:Assertion>)
Verify Digital Signature
Perform relying party certificate checking functions
Check revocation status of PKI certificates
Checked for potential replay attacks
2. The PEP sends a XACMLAuthorizationDecisionQuery to the
PDS. Message must contain:
The identifier of the service attempting to be accessed
The subject that is attempting the accessing service
The operation attempting to be invoked
3. The PDS makes a decision on whether the subject is permitted or
denied access to the resource for the action requested.
4. The PDS sends the authorization decision back to the PEP.
5. The PEP receives the authorization decision from the PDS. The PEP
will first check the message for validity (format and signature) as in
step 1.
6. Once the message is validated, PEP enforces the authorization
decision received from PDS.
a. Permit: the access request is forwarded to the resource provider
b. Deny: an access denied message is sent to the requester
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
23
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Enforce Access Control Decision
Alternate Flow
Invalid Message
1b. presents a message invalid error message.
Not Applicable Access Control Decision
6c. Not Applicable: The PDS could not find an applicable policy for the request,
access is denied, and an error message is sent to the requester.
Indeterminate Access Control Decision
6d. Indeterminate: The PDS could not find the information required to evaluate the
access control policy, access is denied, and an error message is sent to the
requester.
PDS Nonresponsive
PEP resends the XACMLAuthorizationDecisionQuery to the PDS. If
the PDS returns nothing a second time, then go to alternate flow: deny
access
Figure 8: Enforce Access Control Decision
4.4 PDS Specifications
All PDS interaction utilizing SAML/XACML among the PEP, PDS, Attribute Service, and PS
must conform to the SAML v2.0 profile of XACML. Using user attributes and access control
policies, the PDS renders an access control decision. The PDS performs the following functions
as detailed in Table 10.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
24
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Table 10: Policy Decision Point Functions
Function
Description
Generate Access Control Decision
The function generates an authorization response
from an access control query it receives from the
PEP. It uses the information it receives from the
Policy and Attribute Services to generate and send
an authorization decision response to the PEP.
Request Access Control Policy
The function sends a policy query to retrieve
policies from the Policy Service. The policy service
then accepts and processes the message. Once
the Policy Service gets the information needed, it
sends a response to the PDS containing the
corresponding policies.
Request Attributes
The function sends a query to the Attribute Service
to retrieve user, resource, and/or environment
attributes. The Attribute Service receives the
message, retrieves the appropriate attributes, and
reassembles the message. Then, the Attribute
Service sends a SAML Attribute Assertion back to
the PDS.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
25
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
4.4.1 Component Behavior: Generate Access Control Decision
Table 11: Generate Access Control Decision Behavior
Generate Access Control Decision
Inputs
XACMLAuthzDecisionQuery: The PDS receives an authorization decision
query from the PEP for the service request.
Outputs
XACMLAuthzDecisionStatementType: The PDS returns a XACML
Authorization Decision Assertion with the result of the access control
decision for the resource.
Operations
PDS accepts the access control decision query from the PEP.
PDS determines access based on policy and attributes obtained from the
Policy and Attribute Services, respectively.
Actors
Preconditions
PDS packages a response and sends an access control decision to the PEP.
PEP
PDS
PS
AS
Service Requester has an authenticated session
TLS session is established between the PDS and PEP
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
26
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Generate Access Control Decision
Nominal Flow
1. PEP sends a request of type <xacmlsamlp:XACMLAuthzDecisionQuery> to PDS.
2. PDS receives the message request. The PDS will first check the
message for validity (format and signature).
a. PDS verifies the message. This includes the following:
Verify request message timestamp (<wsu:Timestamp>)
Check uniqueness of request messageID (<wsa:MessageID>)
Verify Digital Signature
Perform relying party certificate checking functions
Check revocation status of PKI certificates
Checked for potential replay attacks
3. Once message is validated, PDS retrieves the applicable policy.
4. PDS performs Retrieve Access Control Policy function using PS.
(See section 4.6.1)
5. PS sends applicable policy to PDS.
6. PDS receives the applicable policy message and validates the
message using step 2.
7. Based on the policy from PS:
a. PDS performs Retrieve Attribute function using AS. (See section
4.5.1)
8. AS sends requested attributes to PDS.
9. PDS receives the requested attributes and validates the message
using step 2.
10. With the attributes retrieved from the AS:
a. PDS evaluates the retrieved policys conditions using the
attributes in order to determine an access control decision.
11. PDS assembles the permit or deny access decision in a <xacmlsamlp:XACMLAuthzDecisionStatement> message and sends the
decision to the PEP.
12. PEP accepts the access decision message.
Alternate Flow
Invalid Message
2b. Presents a message invalid error message.
Not Applicable Access Control Decision
7b. Not Applicable: The PDS could not find an applicable policy for the request,
access is denied, and an error message is sent to the requester.
Indeterminate Access Control Decision
10d. Indeterminate: The PDS could not find the information required to evaluate
the access control policy, access is denied, and an error message is sent to
the requester.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
27
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Policy
Enforcement
Point
Policy Decision Service: Generate Access Control Decisions
Start
1
PEP Sends
Request
Authorization
Query
2b
Message Invalid
Error Message
End
End
12
Accept
Message
End
3
Retrieve
Policy
Message
Valid?
Check PKI
Certificate
Success
Certificate
Revoked?
XACML Policy
Query
6
Receives
Policy
Policy
Service
Attribute
Services
Policy Decision Service
N
2
PDS Validates
Message
4
Request
Policies
Certificate
Revoked
Certificate
Revoked
Message
7
Attribute Query
9
Receives
Attributes
10
Determines
Access
8
Query
Attributes
SAML Attribute
Message
11
Decision
Message
5
XACML Policy
Message
Figure 9: Generate Access Control Decision Process Flow
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
28
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
4.4.2 Component Behavior: Request Access Control Policy
Table 12: Request Access Control Policy Behavior
Request Access Control Policy
Inputs
Outputs
Operations
XACMLPolicyStatement
XACMLPolicyQuery
PDS sends a policy query (<xacml-samlp:XACMLPolicyQuery>) to retrieve policies
from the Policy Service.
Policy Service accepts and processes the message.
Policy Service sends a response (<xacml-samlp:XACMLPolicyStatement>) to the
PDS containing the corresponding policies.
Actors
PDS
PS
Preconditions
TLS session exists between the PDS and the PS
Nominal Flow
1. PDS sends a XACML Policy Query of type <xacml-samlp:XACMLPolicyQuery> to
the PS to extract the appropriate policy from the policy store. The policy query
will request either a XACML Target (<xacml:Target>), PolicySet ID Reference
(<xacml:PolicySetIdReference>), or Policy ID Reference
(<xacml:PolicyIdReference>)
2. PS receives the message request. The PS will first check the message for
validity (format and signature).
a. PS verifies the message. This includes the following:
Verify request message timestamp (<wsu:Timestamp>)
Check uniqueness of request messageID (<wsa:MessageID>)
Verify Digital Signature
Perform relying party certificate checking functions
Check revocation status of PKI certificates
Checked for potential replay attacks
3. Once the message is validated:
a. The PS extracts the applicable policies based on the policy request.
4. After extracting the applicable policies:
a. Policy Service will return a policy response (<xacmlsamlp:XACMLPolicyStatement>) to the PDS.
Alternate Flow
Invalid Message
2b. Presents a message invalid error message.
Not applicable Message
3b. PS could not find an applicable policy for the request, and the PDS returns a
not applicable response to the PEP
Indeterminate Message
4b. PDS receives no response from the PS, is unable to render an access control
decision, and returns an indeterminate response to the PEP.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
29
Policy Service
Policy Decision
Service
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 10: Request Access Control Policy Process Flow
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
30
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
4.4.3 Component Behavior: Request Attributes
Table 13: Request Attributes Behavior
Request Attributes
Inputs
Outputs
Operations
Actors and Components
AttributeStatement
AttributeQuery
PDS sends a query (<saml:AttributeQuery>) to the Attribute Service to
retrieve user attributes.
PDS
AS
Preconditions
TLS session exists between the PDS and the AS
Nominal Flow
1. PDS sends a SAML Attribute Query of type <samlp:AttributeQuery>
to the AS for extracting the appropriate attributes from the attribute
store.
2. AS receives the message request. The AS will first check the
message for validity (format and signature).
a. AS verifies the message. This includes the following:
Verify request message timestamp (<wsu:Timestamp>)
Check uniqueness of request messageID (<wsa:MessageID>)
Verify Digital Signature
Perform relying party certificate checking functions
Check revocation status of PKI certificates
Checked for potential replay attacks
3. Once the message is validated:
a. The APS extracts the applicable attributes based on the attribute
request and the AS will return an attribute response
(<samlp:AttributeStatement>).
4. PDS receives the attribute response message and the process ends.
Alternate Flow
Invalid Message
2b. Presents a message invalid error message.
Indeterminate Message
3b. The AS returns either no response or no attributes, and the PDS is
unable to render an access control decision returning an indeterminate
response to the PEP.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
31
Attribute Service
Policy Decision
Service
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 11: Request Attributes Process Flow
4.5 AS Specifications
All AS interaction using the SOAP protocol must conform to the SAML v2.0 profile of
XACML. The AS retrieves user attributes from attribute stores. The AS performs the following
functions, as detailed in Table 14.
Table 14: Attribute Service Functions
Function
Retrieve Attributes
Description
The function sends a query to the Attribute Service
to retrieve user attributes. The Attribute Service
receives the message, retrieves the appropriate
attributes, and reassembles the message. Then,
the Attribute Service sends a SAML Attribute
Assertion back to the PDS.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
32
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
4.5.1 Component Behavior: Retrieve Attributes
Table 15: Retrieve Attributes Behavior
Retrieve Attributes
Inputs
Outputs
Operations
AttributeQuery
AttributeStatement
Attribute Service receives the message and retrieves the attributes from the
Attribute Store(s).
Attribute Service send a SAML Attribute Assertion
(<samlp:AttributeStatement>) back to the Service Requester.
Actors
PDS
AS
Preconditions
TLS session exists between the Service Requester and the AS
Nominal Flow
1. The PDS sends the user distinguished name (DN) and attribute list to
the AS in <samlp:AttributeQuery>.
2. The AS receives the attribute request.
3. AS receives the message request. The AS will first check the
message for validity (format and signature).
a. AS verifies the message. This includes the following:
Verify request message timestamp (<wsu:Timestamp>)
Check uniqueness of request messageID (<wsa:MessageID>)
Verify Digital Signature
Perform relying party certificate checking functions
Check revocation status of PKI certificates
Checked for potential replay attacks
4. Once the message is validated:
a. AS will query the Attribute Store to retrieve the user attributes.
5. Attributes are filtered depending on the permissions of the service
requester.
6. The AS generates the attribute response.
7. AS returns the attributes to the PDS using the
<samlp:AttributeStatement> message.
Alternate Flow
Invalid Message
3b. Presents a message invalid error message.
No User Exists
5b. If the user does not exist, the AS will return a StatusCode and
StatusMessage to the Service Requester stating that the user does not
exist in the Attribute Store.
No User Attributes
5c. If attributes do not exist, the AS will return a StatusCode and
StatusMessage to the Service Requester stating that attributes do not
exist for the user.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
33
Attribute Service
Service
Requester
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 12: Retrieve Attributes Process Flow
4.6 PS Specifications
All PS interaction using the SOAP protocol must conform to the SAML v2.0 profile of XACML.
The policy service retrieves access control policy from policy stores. The PS performs the
following functions as detailed in Table 16.
Table 16: Policy Service Functions
Function
Retrieve Policy
Description
The function sends a query to the policy store to
retrieve access control policies based on the
security context of the transaction.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
34
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
4.6.1 Component Behavior: Retrieve Policy
Table 17: Retrieve Policy Behavior
Retrieve Policy
Inputs
Outputs
Operations
XACMLPolicyQuery
XACMLPolicyStatement
PS retrieves access control policies and forwards the request to the PDS.
PS sends an invalid message to the PDS for policies that do not exist in the
Policy Store.
Actors
Nominal Flow
Service Requester
PS
1. The service requester sends a <xacml-samlp:XACMLPolicyQuery>
message to PS to request access control policy.
2. The PS receives a request message.
3. The PS will first check the message for validity (format and
signature)
a. PS verifies the message. This includes the following:
Verify request message timestamp (<wsu:Timestamp>)
Check uniqueness of request messageID (<wsa:MessageID>)
Verify Digital Signature
Perform relying party certificate checking functions
Check revocation status of PKI certificates
Checked for potential replay attacks:
4. Once the message is validated, the PS will retrieve policy from the
policy store.
5. The PS will check to see if applicable policies currently exist in the
Policy Store.
a. If policies exist, the Policy Service will retrieve the policies.
6. Attributes are filtered depending on the permissions of the service
requester. The PS returns access control policies to the service
requester in a (<xacml-samlp:XACMLPolicyStatement>) message.
Alternate Flow
Invalid Message
3b. Presents a message invalid error message.
Unsuccessful Policy Retrieval
5b. If the access control policy does not exist, the PS will return an
appropriate StatusCode and StatusMessage stating that the Policy
did not exist in the Policy Store to the service requester.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
35
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 13: Retrieve Policy Process Flow
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
36
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
ABAC Demonstrations and Pilots
The DISA and NSA sponsored ABAC demonstrations and pilots have provided an understanding
of ABAC technology, showing new potential for information sharing and providing developers
and application owners ABAC experience in limited deployments. The lessons learned from the
ABAC demonstrations and pilots have illustrated several operational, technical, and support
considerations for deploying ABAC that are discussed in the Engineering Blueprint. The
following sections provide a summary of the pilots and demonstrations19 This portion of the document
has been removed as it is DoD sensitive. Please refer to the [Link] by the DoD
community.
5.1 Joint Rapid Architecture Experiment (2006/2007) Demonstration20
The Joint Record Architecture Experiment (JRAE) was intended to assist Joint DoD force
transformation by providing a venue for testing and evaluating next generation architectures and
roadmaps by collaboratively engaging in experiments and prototyping exercises across Services,
Agencies, and Coalitions. Particular emphasis was put on delivering services to the tactical edge
where bandwidth is a consideration. This is especially important because many of the message
formats specified in the blueprint are quite verbose. JRAE experimented with EFX (Efficient
XML) and found transmission times reduced by as much as 99% over standard XML. For faster
access and less message traffic, the PEP was collocated with the PDS providing faster access
times. JRAE also experimented with different techniques for accessing attributes. Authorization
Pattern 1 (discussed in Appendix F) is the most common method discussed throughout the
blueprint of having the PDS retrieves attributes from a centralized service. JRAE engineers
tested Authorization Pattern 2 where the requester authenticates locally and attributes are
asserted with the request having the PEP include them with the authorization request to the PDS.
This saves the PDS from having to retrieve them as part of its processing. Metadata was used to
identify resources and failover scenarios were explored as well as a Cross Domain Solution
(CDS). The most recent JRAE demonstrations experimented with attribute hierarchies obtaining
attributes from multiple sources.
5.2 Empire Challenge (08/09) Demonstration21Thisportionofthedocumenthas
[Link].
Empire Challenge (EC) focused on the data owners ability to share information with the DoD,
IC, and Coalition Partners. Operational scenarios involved using PKI credentials to enable the
unanticipated user, i.e. a service requester without a local account, and ABAC to conduct cross-
19
Most of the supporting information in this section is taken from two documents; DoD Privilege Management Demonstration
Summary, Version 1.1, February 2010; and Lessons Learned from DoD and IC ABAC Pilots, Version 1.0, February 2010. Additional
material is taken from the individual demonstration and pilot reports themselves.
20
Joint Rapid Architecture Experimentation, JRAE 06 Final Report, Version 1.0, December 7,2006
21
Empire Challenge 2008 Final Report PDM-III Initiative
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
37
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
domain searches and retrieve information for which they are authorized. In addition to using the
PEP/PDS to control access to information, EC also used the PEP to bracket a CDS to check
information for releasability to the network domain on the destination side of the CDS. This
CDS solution was necessary to enforce releasability constraints because while the attributes
might authorize access to the information itself, the releasability constraints of the network to
which the information was being returned was unknown at the resource PEP. The PEP at the
CDS could prohibit information that was not marked for releasability to the destination network.
Unanticipated coalition users could gain access to information as long as certificates could be
validated and as long as attributes could be obtained for the service requester. EC developers
experienced challenges with certificates because of the different formats required to properly
configure signing and encryption options in various vendor products. They also found that
expressing digital policy with the necessary Boolean relationships to conform to data access
goals of the organization was difficult and recommended striving for policy simplicity. SOA
development presented challenges in debugging and documenting component interactions, which
required use of open source tools, which would not be permitted on classified networks.
5.3 Joint Expeditionary Forces Exercises 2008 Demonstration22
A major focus of the Joint Expeditionary Forces Exercises 2008 (JEFX08) experiments was to
assess ABAC for enabling dynamic authorization to services and data, secured federated content
discovery and retrieval of Distributed Common Ground/Surface Systems (DCGS) Family of
Systems (FoS) data. Authentication by anticipated users was username/password or certificate,
and for unanticipated users was certificate. Unlike the EC demonstration, JEFX08 used ten
attributes to determine access to data resulting in more complex policy. The result of the testing
was that access controls operated as expected with acceptable performance under light system
load. However, as load increased, accesses would not complete within the timeout period and
during a very small fraction of time an access might be granted that should have been denied.
These problems were traced to issues, which manifested themselves in periods of degraded
performance. This was listed as an area of concern for ensuring the architecture can provide
secure services under all conditions including component failure modes.
5.4 The Joint Forces Command Defense Knowledge Online/Joint Knowledge
Online Pilot23
The Joint Forces Command (JFCOM) Defense Knowledge Online/Joint Knowledge Online
(DKO/JKO) Pilot was undertaken to solve a problem involving access to public DKO pages.
Depending on their attributes, foreign nationals and military dependents should be able to view
the JKO home page but not public DKO pages and services. Foreign nationals should be able to
view country specific information and other DoD affiliate/NGO users should be allowed to view
22
PDM III DCGS JEFX08 Technical Assessment Final Report, 18 August 2008
23
DKO ABAC Pilot, Lessons Learned Final Report, December 5, 2008
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
38
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
both DKO and JKO pages and services. The JFCOM pilot successfully integrated two different
vendors COTS identity management products and gained insight into areas of improvement for
the Army Knowledge Online (AKO)/DKO portal in enabling ABAC for an existing enterprise
portal. The pilot also demonstrated the successful retrieval of attributes from an enterprise
source. However, one downside discovered was that the ABAC product could not deny access
to a resource to which the native application allowed access due to the presence of allencompassing group access permissions.
5.5 PvM Pilot Phase I24
PvM Pilot I was an effort at Pacific Command (PACOM) to use attribute-based access controls
to a document library containing US-only and releasable data. Normally, US-only and releasable
information had to be stored in separate libraries but the use of ABAC allowed the data to be
combined into a single site. A COTS product was used and policy was created using resource
metadata, attributes, as well as environment variables to render an access decision. The system
worked under light loads but performance was a problem as load increased. Another issue was
that users were able to see titles of documents to which they were not authorized for access
although they were not able to see the actual content of the documents.
5.6 PvM Pilot Phase II25
PvM Pilot II is currently being implemented between the Department of Homeland Security
(DHS) and Northern Command (NORTHCOM). The objective is to allow first responders
access to NORTHCOM resources to access needed information during emergency situations.
The pilot involves federating attributes using BAE between DHS and a portal at NORTHCOM to
transfer attributes for use in ABAC decisions to portal resources. This pilot highlights not only
the technology for ABAC but also the issues with attribute sharing between organizations as well
as certification and accreditation issues.
5.7 OpenAM Reference Implementation26
OpenAM is the open source distribution of the Sun/Oracle product OpenSSO that consists of
access control and federation capabilities. OpenAM was chosen for an RI because there are a
number of PEPs available to protect different application resources. The objective of the RI was
to integrate OpenAM with a Microsoft SharePoint 2010 server and the Apache Web server. A
local attribute store, Lightweight Directory Access Protocol (LDAP), was created which
simulated an enterprise source for attributes. Authentication was performed with certificates and
access was controlled to resources using attributes and OpenAM policy conditions specifying
24
Privilege Management Pilot (PMP) Project Closeout Whitepaper
25
Privilege Management Pilot Phase II, N-NC Operational Demonstrations Presentation, 29-30 March 2010
26
Identity and Access Management Development and Sustainment Support, OpenAM Operational Administration Guide, 11
February 2011
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
39
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
using attributes. The Internet Information Server (IIS) PEP was used to control access to
SharePoint since there was no PEP specifically for SharePoint. The project did prove that
ABAC could be used to control access to the applications but because the PEP was installed on a
front-end Web server, resources were difficult to characterize because of complicated URLs and
query strings through which they are accessed. This resulted in being able to implement access
controls to the top-level sites but not through multiple levels of folder structure identified
through query strings.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
40
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Implementation Approach and Lessons Learned
Although the pilots, demonstrations, and RIs had different objectives, all focused on
implementing an ABAC solution for controlling access to resources. The environment for
ABAC is evolving as strategies for deploying policy, attribute, and metadata infrastructure in
support of ABAC are being developed. A recurring theme in the lessons learned from pilots is
that implementing ABAC successfully will require strategizing and tackling the tasks outlined in
the following subsections efficiently for consistent results.
6.1 Integration with Native Access Controls
As mentioned, ABAC provides the ability to provide access control to unanticipated users
without prior knowledge of the requester, which is necessary with other access control
mechanisms such as ACLs or RBAC. There are a large number of existing applications
currently using legacy native access controls, which limit the access control to anticipated users
only. ABAC fills the gap and provides access to authorized unanticipated users based on user
attributes. Implementing and integrating a new access control technology into an application
with legacy native access controls may present challenges especially where applications are
supplying information essential to mission success. The legacy controls in place protecting
information assets and accompanying procedures must continue to function with ABAC
implemented. Ideally, the legacy native access controls should continue to operate while a
transition can be made to ABAC.
6.2 Policy Creation
None of the pilots and demonstrations reported being able to obtain policy from any external
source; policy had to be written as part of the exercise. Most of the pilots and demonstrations in
their final report indicated that translating organizational requirements for information protection
into digital policy was difficult and required skills that few people possessed.
6.3 Standards
In order to deploy ABAC capabilities enterprise-wide, interoperability is a critical requirement.
Enterprise and local sources for digital policy, attributes, resource metadata and environment
variables require standard interfaces. COTS products may have targeted applicability, and the
needs of the DoD and IC may differ from their target. All of the standards specified in the NCES
interface definitions are based on industry standards but some require that certain features that
are options in the standard be implemented in the NCES profile. As a result, COTS products that
claim standards compliance may not actually be compliant with NCES interface specifications
because they either dont implement all of the options or include proprietary namespaces.
Additionally, the SAML Profile for XACML 2.0 is new and leaves some room open for
interpretation.
6.4 Performance and Scalability
Many of the pilots and demonstrations are set up in specific application areas with COTS
products that do not have a proven record in large-scale enterprise deployments. Several of the
pilots and demonstrations encountered problems as load was increased. Scalability across DoD
enterprise requires robust communications paths and while JRAE tested several configurations
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
41
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
for bandwidth optimization and failover capabilities this aspect remains an area for additional
research.
6.5 Design Considerations
When implementing ABAC components, there are several options for deploying the specified
interfaces, protocols, and message formats. Leveraging industry reports and findings from
different pilots and demonstrations, there are many industry best practices, lessons learned,
architectural considerations, and operational constraints for deploying ABAC components. The
following design considerations highlight some enhancements that can be made to components
to increase functionality or deployment capability.
6.5.1 PEP Policy Enforcement Point
The definition of a resource varies between access control products. Some products use
free text parameters that an administrator can define while others rely on using a Uniform
Resource Identifier tied to the resource location.
Some products have a resource discovery function as part of the PEP. Resource
discovery tools extract site content from protected applications and load it into the Policy
Administration Point (PAP) for policy administration. The resource discovery function
provides policy administrators with a holistic view of all the resources protected by the
PEP to facilitate the definition of access control policies.
In addition to access control provided by the PEP, the protected resource may have
internal access control mechanisms and policies defined. The internal access control
mechanisms and policies are referred to as native access controls. The use of ABAC and
the implementation of a PEP should not preclude the use of native access controls for a
protected resource.
The granularity of access control provided by ABAC is limited to the specificity of the
PEP in identifying and differentiating resources.
PEPs typically apply access controls to protocols such as HTTP requests, remote
procedure calls (RPC), or structured query language (SQL) queries. When attempting to
deploy a PEP to protect proprietary, custom, or legacy applications, an understanding of
the underlying protocols and system architecture govern how access control policies can
be enforced.
When using a PEP to protect access to resources, the PEP should fail closed. If the PEP
should become inoperable or incapable of obtaining an access decision, then all access to
resource protected by the PEP would be denied. This is a security measure to prevent
data loss and unauthorized access in the event of a PEP failure or denial of service.
The PEP should offer the option to retry access to the PDS in the event of timeouts.
Timeout period and retry count should be configurable.
For high availability, the PEP should have the ability to connect to multiple PDS so that
if one PDS is unavailable, the PEP may be able to obtain access decisions from other
sources.
The most common integration pattern of the PEP is as either an external proxy or an incontainer interceptor as shown in Figure 14 below.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
42
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 14: PEP Integration Patterns
As an external proxy, the PEP can enforce policies for numerous resources by serving as
a security firewall that only allows authorized requests to reach the requested resource.
As a module, the PEP can enforce policies as an in-container interceptor within the
resource SOAP platform, application server, or code library.
The PEP should cache access decisions for an authenticated session or for an optional
defined period of time to improve performance and throughput.
6.5.2 Policy Decision Service
The PDS should be loosely coupled with the PEP, attribute, and policy stores to allow the
flexibility to integrate with multiple PEPs, AS, and PS to retrieve access control
information.
To improve performance, the PEP and PDS should offer the option to be co-located to
improve performance and minimize latency in rendering an access decision.
The PDS should be able to implement a variety of policy combining algorithms, for
example, deny-overrides, or permit-overrides.
The PDS should be capable of retrieving attributes using the SAML X.509 Attribute
Sharing Protocol as well as LDAPS.
The PDS should be capable of accessing multiple attribute services at the enterprise,
extended and local levels.
For high availability, the PDS should have the ability to connect to a primary and backup
AS so that if one AS is unavailable, the PDS may be able to obtain attributes from other
sources.
To improve performance, the PDS should offer an option to cache attributes and policy
for a configurable period of time.
For testing, the PDS should provide a policy decision simulation tool for administrators
to run what if scenarios to verify the accuracy and validity of access control policies.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
43
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
6.5.3 Attribute Service
The AS should support SAML X.509 Attribute Sharing Protocol and LDAPs.
The AS itself should have the ability to restrict the releasability of attributes based on
access control policies and data privacy policies.
The AS should be able to interface with multiple attribute stores.
6.5.4 Policy Service
The PS should be able to interface with multiple policy stores for redundancy and high
availability.
The PS should allow for the deconfliction and prioritization of access control policies
Access control COTS typically implement the PS as part of the PDS. As a result, the PS
and the PDS are typically tightly coupled and not interoperable with an external or third
party PDS. The PS should offer the option to be decoupled from the PDS.
The policy store is typically a database or an LDAP directory and the PS is the interface
to retrieve policy. Policies are typically retrieved using SQL, Web services, or LDAP.
Often, access control products implement the PS as a proprietary interface that is not
exposed.
The policy service should have a user-friendly graphical policy administration user
interface. Additionally, it should ensure the usability criterion of the policy
administration point includes features such as import/export of XACML, bulk updates,
at-glance policy status, natural language policy expression, and policy validation checks.
The PS should be able to communicate with the PDS through XACML policy requests.
While some policies are stored in proprietary language, it is important that the policies
are requested and supplied in the standards-based XACML format to allow components
from different products to interoperate.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
44
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Enabling Performance and Resiliency
From the lessons learned obtained from the demonstrations and pilots, ABAC will potentially
add more overhead to a resource request than the traditional ACLs. In IBAC, user account data
and the ACLs are stored locally with the resource. With ABAC, policy and attributes must be
retrieved from various sources and the mandate to accommodate the unanticipated user,
requiring authentication to be performed against remote sources. Furthermore, policy and
attributes may need to be retrieved from multiple sources in order to determine access. Network
delays within an enclave and between enclaves may potentially add delays, which may result in
unacceptable overhead added to resource access due to ABAC. It is important that the
infrastructure supplying attributes and policy as well as the COTS products implementing the
access controls make use of replication and caching in order to improve performance and provide
high availability access decision capabilities.
Figure 15 below is based on Authorization Pattern 1 from the SSRA and is used as the default
pattern throughout the blueprint. This pattern shows the interaction between various AS, PS, the
PDS, and the PEP.
Figure 15: Authorization Pattern 1 Flow
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
45
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
As can be seen from the diagram, policy and attributes required to make an access decision are
obtained from sources external to the ABAC components and will add overhead to the resource
access time. The following subsections will explore how performance may be improved and
explore how caching and replication in the Attributes Services and in vendor ABAC products
will be required to deliver optimum performance.
7.1 Policy Enforcement Point
The PEP will be responsible for enforcing the decision of the PDS whether the service requester
has the privilege to access the resource or not. The PEP will forward the identity of the service
requester, the resource being requested, and the requested action on the resource to the PDS.
The PDS will return a decision to allow the access or deny access. The PEP should cache access
decisions so that repeated requests can be processed without going to the PDS.
7.2 Policy Decision Service
The PDS is responsible for making an access decision based on the information received from
the PEP consisting of the service requester identity, desired resource, and action on the resource.
The PDS must obtain policy-governing access to the desired resource as well as attributes,
resource metadata and environmental attributes and then evaluate attributes against policy. In
Authorization Pattern 1, the PDS receives the proof of authentication, requested action, and
desired resource information from the PEP in the form of an authorization decision request. The
PDS must retrieve policy rules from the Policy Service and gather the necessary attributes from
various Attribute Services to make the decision. Because the PDS may need to gather
information from multiple Attribute Services, it is essential that there be little delay in obtaining
them. The PDS may download or cache policy and attributes to speed access decision
determination.
After receiving the resource request, action, and service requester identity from the PEP, the PDS
will begin to gather information to use to make an access decision. The first element needed is
the policy governing access to the desired resource. The policy will be retrieved from the Policy
Service, which will get it from a Policy Store. Policy can be retrieved as needed or downloaded
and cached to minimize access time. Policy decisions should be cached to enhance performance
of requests made to the same resource by the same service requester. Attributes will be retrieved
from Attribute Services, which will retrieve them from an Authoritative Source. Because
attribute stores may often be remote, caching or replication should be by the Attribute Services
be used to minimize retrieval time. The Attribute Service may replicate attributes in a local store
after obtaining them from an Authoritative Source and the PDS should cache attributes, as they
may be needed for subsequent requests. Resource metadata may be needed if required by policy
to make an access decision. Resource metadata will be obtained from an Authoritative Source
and may be cached by the PDS for future use. If Environment Attributes are required by policy,
these must also be retrieved from an Authoritative Source. Environment Attributes may be
cached or downloaded to the PDS to enhance performance. Another performance enhancement
for the PDS is to request attributes, resource metadata and environment attributes in parallel
instead of waiting for each request to complete before requesting other information.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
46
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
7.3 Access Control Component Horizontal Scaling
Caching and replication of information will yield performance gains for throughput and
turnaround time. In planning for an enterprise capability, deploying multiple PDS/PEP
components and spreading the load across those components may result in throughput and
capacity increases. For example, if the PEPs transaction volume is at capacity, multiple PEPs
may be used to front end a resource and a load balancer can be used to direct service requests to
different PEPs to spread out the load. In this instance, multiple PEPs are deployed and service
requests are directed to different PEPs depending on the load. If the PEP is a bottleneck, this
solution may yield performance improvements. However, this scheme would work only if the
PEP is implemented as a proxy or there are multiple applications accessing the resources. This is
illustrated in Figure 16.
Figure 16: Multiple PEPs
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
47
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Another potential bottleneck is the PDS. The PDS will need to access multiple sources to obtain
policy, attributes, resource metadata, and spreading authorization requests to multiple PDSs may
improve performance. This is illustrated in Figure 17 below.
Figure 17: Multiple PDSs
In this scenario, the PEP will send authorization decision requests to one of several possible
PDSs. A simple round robin scheme could be used or one that favors the PDS with the quickest
response time. The PDS is more likely to be a bottleneck and methods to tune performance with
multiple components may improve performance.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
48
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
7.4 High Availability Design
As ABAC components are deployed throughout the DoD/IC infrastructure, it will become
essential that access decisions be rendered in a timely fashion. It will be unacceptable if access
to an important resource is denied due to the inability to make an access decision because policy
or attribute information needed could not be obtained. ABAC must be implemented with stable
and mature COTS software backed up by a robust infrastructure that delivers policy, attributes,
and resource metadata in a secure, reliable, and timely manner. Services delivering policy
information must be robust in themselves and have high availability built in to ensure that policy
information required to make authorization decisions is continually available. Service
disruptions could be catastrophic resulting in denied access to critical information at a time when
access is needed most. Figure 18 below shows high availability components that should exist
within the services infrastructure.
Figure 18: High Availability Configuration
A basic option for high availability is for the PEP to be able to request a policy decision from a
primary location, and if unavailable, from a backup location. The Attribute Service, Policy
Service, Resource Metadata Service, and Environment Attribute Service should all have multiple
instances in case one source of access control data becomes unavailable. For example, if the
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
49
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
PDS accesses the Attribute Service over a defined port to a given server, then if that server or
port becomes unavailable, requests should be redirected to another working server and port to
ensure availability of attributes for making access decisions. Ideally, this could be accomplished
within the infrastructure by changing the DNS or service access point to seamlessly direct
requests to an available attribute service. However, the PDS should have the option of obtaining
attributes from additional sources if the primary source is unavailable. The same architecture
should apply to all services supplying policy or attributes to ensure that policy information is
continuously available for granting access to resources.
In addition to replication of services themselves, the stores containing policy information should
also be replicated. Hardware, software, or network failures could make a single store
unavailable so mirror copies should be available from which to retrieve policy information.
Note:
A byproduct of high availability configuration can be performance increase if the secondary
services can be used in parallel with the primary services.
Finally, PDS and PEP components should also be capable of being replicated. A PEP should be
able to obtain authorization decisions from a primary PDS as well as one or more secondary
sources and multiple PEPs should be able to be deployed to control access to a single resource
where feasible. These capabilities were discussed in Section 7.3.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
50
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Issues and Challenges
The deployment of dynamic access controls and the associated technologies in the GIG poses
several difficulties. These arise from the proliferation of multiple dynamic access control
initiatives, competing standards, and multiple IdAM lexicons and vocabularies. Table 18
discusses issues and challenges inherent to successfully implementing a dynamic access control
capability across the DoD enterprise.
Table 18: ABAC Issues and Challenges
Current Shortfall
Issue/Challenge
Cultural Challenges
For decades data owners and stewards have relied
on vetting an individuals need to know information
before making that information available by
creating a local account for that individual. Relying
on attributes and policy over which they do not
have control leads to a sense of unease.
Notional buy in to increase information sharing
One of the findings of the PvM Pilot Phase I was
there was minimal support for increased
information sharing. This report noted that highlevel support can be used to break down policy
barriers and that most government net-centric
information sharing is only done when driven by
senior leadership.
Use of Directory Services Markup Language
(DSML)
While industry is moving towards Service
Provisioning Markup Language (SPML), DSML is
still in use. Both DoD and IC Pilots have noted that
authorization vendors do not support DSML rather
support SAML, XACML, Liberty, and Web Services
protocols.
Difficulty translating written policies into usable
system access control rules
Policies play an essential role in the dynamic
access control. They authorize information sharing
and collaboration between DoD and its partners.
The issues lie in translating the written policies into
usable system access control rules. The
development of Enterprise Policy and Management
Capabilities are not given careful consideration.
Lack of ABAC Standards and Implementations
Standards and technology processes are required
to evaluate complex access control policies based
on a real-time assessment of the operational
necessity for access and the security risk
associated with granting access to information. A
practical approach would be to define widely
accepted standards and plan/conduct pilots to test
functionalities as technology becomes available.
Lack of Digital Policy Management tools
Without the tools and services necessary to
construct, manage, and disseminate digital
policies, ABAC capabilities across the enterprise
will remain stagnant. Discovery and availability of
enterprise policy decision services that can be
readily integrated with, or replace, existing access
control mechanisms by the community, is needed.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
51
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Current Shortfall
Issue/Challenge
Lack of full product functionality
Significant portions of ABAC COTS products lack
the full capability to explicitly deny service
requester access. Open communication and
collaboration with commercial vendors will foster
continued improvement of existing ABAC
technology, as well as support the way ahead for
future products
There are few or missing access control
mechanisms in use
Legacy resources do not currently possess the
ability to utilize a Policy Decision Service. Meeting
this challenge will require either a modification to
the existing access control mechanism at the
resource, or establishing an external proxy to act
as a PEP that can utilize a policy decision service.
Access Denial for Unanticipated Users
Unanticipated users do not exist in the identity
store of a program, and their credentials are not
widely accepted. A strategy to implement and
define an applicable set of policies that provide
unanticipated users access based on their
credentials must be established.
Lack of an Attribute Authority
There is a need to ensure an authoritative source
will exist for different attributes across the
enterprise. Corrective measures will include
providing a unique identifier, citizenship, clearance,
and formal access approvals for all members of the
community.
Supporting Extended Operations
ABAC capabilities must support operations across
the tactical edge, enabling operations among
service requesters on the wideband networks with
those operating on low bandwidth, disconnected,
or austere environments (e.g., reconnaissance,
Special Operations).
Lack of Credential Management
ABAC functionality requires the ability to interpret
and authenticate the identity credentials of native
service requesters across the DoD enterprise, as
well as any credentials that may be used by
external service requesters that interact with DoD
networks and systems. Addressing this issue will
require ABAC technology to determine the
authenticity of a wide range of credential types and
sources, and determine the level of confidence in
the asserted identity from the authentication of
these credentials.
Access Control for Applications
Controlling access to applications and services will
require the capability to provide access to internet
sockets providing a service such as collaboration
and Web services. It also includes access controls
for Web portals, for local, organizational, and
department-wide uses.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
52
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Current Shortfall
Issue/Challenge
Resource Metadata Standards
Standards do not exist for resource metadata to
facilitate information sharing. To address this
concern, common resource metadata
requirements, built upon current DoD programs
(e.g., DDMS and Automated Metadata Population
Service (AMPS)), should be defined.
Adapting to Mission Demands
Fundamental structures including the use of
dynamic authorization policies, mission
environmental factors, and attributes have to be
structured and accessible to allow ABAC
capabilities to continue to function effectively at the
tempo of mission operations and remain flexible
and agile.
Lack of Identity Federation
A shared approach to conveying identity
information outside of the DoD and IC is required.
The foundation of this approach is the creation of
an identity federation, which will perform as a
collaborative unit of identity managers. Each
manager identifies and agrees to adhere to
collectively established standards and policies for
registering, maintaining, and sharing identities. In
order for this concept to come to fruition, standard
identity attributes shared across the federation
must be established.
Structured XACML Communications between
ABAC components
In the current state of access control, XACML has
a lack of authentication and confidentiality
requirements for communications between the PEP
and the PDS, and any other components within the
ABAC architecture. Therefore, a strategy should
be put in place to use SSL or similar mechanism to
provide confidentiality for the communication
between ABAC actors.
Lack of Metadata Governance Policies
Unless metadata is properly managed and
documented, there will be several competing
interpretations and inferences of metadata based
on individual perspectives; leading to data
confusion within and lack of interoperability within
the Enterprise.
Based on the issues and challenges highlighted above, it is evident that in order to establish a
widely known and accepted ABAC solution, a baseline understanding of the dynamic access
control reference architecture, and associated technologies must be established first. In addition,
the DoD and its coalition partners should work towards standardizing the dynamic access control
reference architecture, while being committed to implementing standard ABAC capabilities
within the larger enterprise. One way to fill the technology gap is to assess and evaluate the
ABAC requirements, technologies, and products in a laboratory setting. This activity will
minimize deviant solutions, foster standardization of ABAC baseline criteria, and provide insight
into the status of relevant technologies and products for use within the DoD enterprise.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
53
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Appendix A: Acronyms and Abbreviations
Acronym
Description
ACPT
Access Control Policy Testing
AFG
Architecture Framework for GIG
AAS
Authoritative Attribute Source
ABAC
Attribute-Based Access Control
ACL
Access Control List
AMPS
Automated Metadata Population Service
AS
Attribute Service
AA
Attribute Authority
BAE
Backend Attribute Exchange
CTIP
Capability Thread Implementation Plans
C&A
Certification and Accreditation
CA
Certificate Authority
CAC
Common Access Card
COI
Community of Interest
COTS
Commercial Off-the-Shelf
CPKI
Coalition Public Key Infrastructure
CRL
Certificate Revocation List
CVS
Certificate Validation Service
CIIA
Cyber, Identity and Information Assurance
DCGS
Distributed Common Ground/Surface Systems
DDMS
Defense Discovery Metadata Specification
DHS
Department of Homeland Security
DISA
Defense Information Systems Agency
DMDC
Defense Manpower Data Center
DMZ
Demilitarized Zone
DoD
Department of Defense
DOTMLPF
Doctrine, Organization, Training, Material,
Leadership, Personnel, and Facilities
DPM
Digital Policy Management
DSML
Directory Services Markup Language
ebXML
Electronic Business using eXtensible Markup
Language
EDI_PI
Electronic Data Interchange Personal Identifier
EIAS
Enterprise Identity Attribute Service
ESM
Enterprise Security Management
ESSF
Enterprise System Security Framework
FASC-N
Federal-Agency-Smart-Credential-Number
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
54
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Acronym
Description
FICAM
Federal Identity, Credential, and Access
Management
FoS
Family of Systems
GCDS
GIG Content Delivery Service
GCSS
Global Combatant Support System
GeoXACML
Geospatial eXtensible Access Control Markup
Language
GFM DI
Global Force Management Data Initiative
GIG
Global Information Grid
GOTS
Government off the shelf
HSPD-12
Homeland Security Presidential Directive 12
HTTP
Hypertext Transfer Protocol
HTTPS
Hypertext Transfer Protocol Secure
IA
Information Assurance
IC
Intelligence Community
ICAM
Identity, Credential, and Access Management
IdAM
Identity and Access Management
IIS
Internet Information Services
ISSO
Information System Security Officer
JCA
Joint Capability Area
JEDS
Joint Enterprise Directory Service
JFM
Joint Force Management
JPES
Joint Planning and Execution Services
JRAE
Joint Rapid Architecture Experiment
JTF
Joint Task Force
JWICS
Joint Worldwide Intelligence Communications
System
LDAP
Lightweight Directory Access Protocol
MDR
Metadata Registry
MNIS
Multi-National Information Sharing
NCES
Net-Centric Enterprise Services
NCOE
Net-Centric Operational Environment
NPE
Non-Person Entity
NIPRNet
Non-classified Internet Protocol Router Network
NIST
National Institute of Standards and Technology
NSA
National Security Agency
NSLDSS
National Senior Leaders Decision Support Systems
OASIS
Organization for the Advancement of Structured
Information Standards
OCSP
Online Certificate Status Protocol
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
55
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Acronym
Description
ORD
Operational Requirements Document
OUID
Organizational Unique Identifier
PDM
Program Decision Memorandum
PDN
Protected Data and Networks
PDS
Policy Decision Service
PEO-MA
Program Executive Office for Mission Assurance
PEP
Policy Enforcement Point
PIP
Policy Information Point
PIV
Personal Identity Verification
PKI
Public Key Infrastructure
POC
Proof of Concepts
POR
Program of Record
PRD
Policy Requirements Document
PS
Policy Service
PvM
Privilege Management
QDR
Quadrennial Defense Review
RA
Registration Authority
RAE
Respond Attack Events
RBAC
Role-Based Access Control
RI
Reference Implementation
RMS
Resource Metadata Service
RP
Relying Party
RPC
Remote Procedure Calls
RS
Resource Metadata Service
SA
Situational Awareness
SAML
Security Assertion Markup Language
SIE
Secure Information Exchange
SIPRNet
Secret Internet Protocol Router Network
SOA
Service Oriented Architecture
SOAP
Simple Object Access Protocol
SPML
Service Provisioning Markup Language
SRD
System Requirements Document
SSL
Secure Sockets Layer
STEP
Systems Technology Evolution Plan
SQL
Structured Query Language
TLS
Transport Layer Security
TS
Top Secret
TTA
Time to Authenticate
TTD
Time to Decide
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
56
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Acronym
Description
TTEv
Time to Evaluate
TTP
Transit Time to PEP
TTR
Transit Time to Resource
TTRA
Time to Retrieve Attributes
TTRE
Time to Retrieve Environment
TTRM
Time to Retrieve Metadata
TTRP
Time to Retrieve Policy
UI
User Interface
UK
United Kingdom
USA
United States of America
USAF
United States Air Force
USMC
United States Marine Corps
USN
United States Navy
XACL
XML Access Control Language
XACML
eXtensible Access Control Markup Language
XASP
X.509 Attribute Sharing Profile
XML
Extensible Markup Language
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
57
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Appendix B: Data Dictionary
Term
Definition
Reference
Action
An operation on a resource
OASIS XACML 2.0 Core Spec
Obligation
An operation specified in a policy
or policy set that should be
performed by the PEP in
conjunction with the enforcement
of an authorization decision
OASIS XACML 2.0 Core Spec
Resource
Data, service or system
component
OASIS XACML 2.0 Core Spec
Response
The element encapsulates the
authorization decision produced
by the PDS.
OASIS XACML 2.0 Core Spec
Rule
A rule is the most elementary
unit of policy. It may exist in
isolation only within one of the
major actors of the XACML
domain. In order to exchange
rules between major actors, they
must be encapsulated in a policy.
OASIS XACML 2.0 Core Spec
Subject
An actor whose attributes may
be referenced.
OASIS XACML 2.0 Core Spec
Target
The set of decision requests,
identified by definitions for
resource, subject and action, that
a rule, policy or policy set is
intended to evaluate
OASIS XACML 2.0 Core Spec
Access Control
Controlling access in accordance
with a policy
OASIS XACML 2.0 Core Spec
Assertion Markup Language
(SAML)
The SAML protocol schema
defines an attribute query used
for requesting instances of
attribute assertions, and a
response that contains the
requested instances.
NCES SAML 2.0 Profile
Attribute
A quality or characteristic
inherent in or ascribed to
someone or something.
American Heritage Dictionary,
2000
Attribute Assertion
A SAML assertion that contains
security context information
related to the attributes for an
entity.
NCES SAML 2.0 Profile
Attribute Management
Permits resource providers to
discover what attributes are
available, what values are
allowed for each attribute, where
attributes can be obtained, and
the extent to which attributes are
authoritative and reliable.
ESM Annex Document
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
58
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Term
Definition
Reference
Attribute Service
Provides attribute values that
describe subjects (either human
users or systems) for the
purpose of enabling all DoD and
IC organizations and partners to
make access control decisions
related to their data.
ICDOD_SS_AS_Spec_v1
Attribute Store
An automated system that
stores, protects, and processes
requests for values of user
attributes. Also, an organization
operating or owning such a
system.
Intellipedia
Attribute-Based Access Control
(ABAC)
A policy model that allows for
access control policy
applicability; and the associated
rules that govern access, to be
formulated based on an
extensible notion of subject,
resource, and other attributes.
ICDOD_SOA_SecurityRA_v1
Certificate Revocation List (CRL)
A time stamped list identifying
revoked certificates which is
signed by a CA or CRL issuer
and made freely available in a
public repository. Each revoked
certificate is identified in a CRL
by its serial number.
Intellipedia
Certificate Validation Service
(CVS)
Checks the revocation status of
PKI certificates
Commercial Off-the-Shelf
(COTS)
An acronym which stands for
"commercial off-the-shelf". It
refers to software which has
been produced by a commercial
entity.
Intellipedia
Common Access Card (CAC)
A United States DoD smartcard
issued as standard identification
for active duty military personnel,
reserve personnel, civilian
employees, non-DoD other
government employees and
State Employees of the National
Guard and eligible contractor
personnel.
Intellipedia
Decision
The result of evaluating a rule,
policy or policy set
OASIS XACML 2.0 Core Spec
Discovery Metadata Function
Allows data to be discovered by
creating, associating, and
publishing discovery metadata
and by allowing that data to
reside in shared spaces readily
available to authorized users
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
59
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Term
Definition
Reference
IA Metadata
Are specific data tags that clearly
define how data or resources are
to be accessed, stored, or
transmitted
Intellipedia
Identity Management
Defines standards, rules, and
procedures for the protection of
personal identity information
ESM Annex Document
Online Certificate Status Protocol
(OCSP)
The protocol used by Robust
Certificate Validation Services
(RCVS) to provide the revocation
status of X.509 certificates.
Intellipedia
Policy Combining Algorithm
The policy-combining algorithm
specifies the procedure by which
the results of evaluating the
component policies are
combined when evaluating the
PolicySet, i.e. the Decision value
placed in the response context
by the PDS is the result of
evaluating the PolicySet.
OASIS XACML 2.0 Core Spec
Policy Decision Service (PDS)
An entity that evaluates an
access request against one or
more policies to produce an
access decision.
OASIS RBAC Profile of XACML
v2.0
Policy Enforcement Point (PEP)
Enforces a policy decision and
the policy decision point.
NCES XACML Profile
Policy Management
Responsible for the lifecycle
management of policies. It is the
process that delivers tested,
verified, deconflicted, and
certified XACML policies to the
PDS, which uses them to make
the access control decisions that
are enforced by the PEP.
ESM Annex Document
Policy Service
Allows Policy Decision Service to
retrieve policies for their
resources from a policy
repository
ICDOD Security RA
Policy Set
Comprised of one or more
policies that are applicable to the
same resource.
NCES_XACML_RBAC_Profile
Policy Store
Repository of access control
policies
ICDOD Security RA
Public Key Infrastructure (PKI)
A service of products, which
provide and manage X.509
certificates for public key
cryptography.
Intellipedia
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
60
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Term
Definition
Reference
Role Based Access Control
(RBAC)
Role based access control allows
policies to be specified in terms
of subject roles rather than
strictly interims of individual
subject identities
OASIS RBAC Profile of XACML
v2.0
Rule Combining Algorithm
The rule-combining algorithm
specifies the procedure by which
the results of evaluating the
component rules are combined
when evaluating the policy, i.e.
the Decision value placed in the
response context by the PDS is
the value of the policy.
OASIS XACML 2.0 Core Spec
Service Consumer
The requesting application or
another service provider.
ICDOD Security RA
Service Provider
A mission entity that performs a
mission function for another
mission entity.
Note: A service provider may be a
NCES SAML 2.0 Profile
consumer of other service
providers.
Web Services
Web services extend the World
Wide Web infrastructure to
provide the means for software
to connect to other software
applications.
MSDN,
<[Link]
WS-Security
An OASIS standard, provides the
ability to secure SOAP Web
services by supplying
mechanisms for message
integrity and confidentiality that
are independent of the
underlying transport, and for
associating security tokens with
a message context
ICDOD_SOA_SecurityRA_v1
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
61
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Appendix C: References
The following is a list of documents that were used during the development of the Engineering
Blueprint. They provide additional insights, guidance, and requirements for the dynamic access
control reference architecture. Some documents may be relevant for a specific section only
where as other documents may be relevant in many places.
Note:
URLs are valid as of the publication date of this document.
Reference Table
A Survey of Access Control Methods, NIST/NSA, 2009
ACPT: A Tool for Modeling and Verifying Access Control Policies, JeeHyun Hwang, Tao Xie, Vincent Hu,
Mine Altunay, 11 November 2010
Alignment Framework for GIG IA Architecture
Intelink: [Link] August 2009
Department of Defense Enterprise Architecture Transition Strategy, OSD/NII, February 2008
Department of Defense Information Sharing Strategy, OSD/NII, May 2007
Deputy Assistant Secretary of Defense for Cyber, Identity, and Information Sharing (CIIA), August 2009
DKO ABAC Pilot: Lessons Learned-Final Report, DISA, 5 December 2008
DoD & IC Authorization and Attribute Services Committee (AASC): Federated ABAC Symposium
Summary Report, 15 September 2010
DoD and IC Service-Oriented Architecture Security Attribute Service Specification v1.0, DISA/ODNI, 15
April 2008
DoD and IC Service-Oriented Architecture Security Policy Decision Service Specification v1.0,
DISA/ODNI, 15 April 2008
DoD and IC Service-Oriented Architecture Security Policy Enforcement Point Specification v1.0,
DISA/ODNI, 15 April 2008
DoD and IC Service-Oriented Architecture Security Policy Service Specification v1.0, DISA/ODNI, 15
April 2008
DoD and IC Service-Oriented Architecture Security Reference Architecture v1.0, DISA/ODNI, 15 April
2008
DoD Enterprise Service Security Framework Model, DoD CIO, 07 August 2009
DoD ICAM Harmonization Assessment Version (Draft) 0.61, 25 August 2010
DoD Information Management and Information Technology Strategic Plan, DoD CIO, 2008
DoD Privilege Management Roadmap, OSD/NII, 6 January 2010
Draft Strategic Plan for DoD Privilege Management, 14 December 2008
Draft Whitepaper: DoD Enterprise Attribute Service Capability, 3 June 2009
Empire Challenge 2009 Final Report: Enterprise Services Initiative, 20 November 2009
Enterprise Security Management: A Context Overview, 20 March 2009
Enterprise Security Management: Annex for Privilege Management, NSA, 25 September 2009
Enterprise User Data Management Plan, DMDC/DISA, 2 November 2009
Evaluation of NISTs Access Control Policy Tool version 1, Technica Corporation, 11 January 2011
Federal Identity, Credential and Access Management (FICAM) Roadmap and Implementation Guidance,
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
62
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Reference Table
GSA, 10 November 2009
Global Force Management Data Initiative (GFM DI) Concept of Operations, Joint Chiefs of Staff, 16 April
2007
GSA HSPD-12 Paper: Backend Attribute Exchange Architecture and Interface Specification Version
1.0.0,15 May 2008
Guidance for Implementing Net-Centric Data Sharing: DoD 8320.2-G, 12 April 2006
HSPD12 Backend Attribute Exchange Architecture and Interface Specification Version 1.0.0 Final, 15
May 2008.
IA Metadata Community of Practice
Intelink: [Link]
Identities, Roles, and Attributes? Generic Use Case brief, DISA, 13 August 2009
Initial Capabilities Document for the Global Information Grid Information Assurance, NSA, 06 March 2006
Instantiating Privilege Management: An evolutionary view of enterprise authorization brief, DISA/NSA, 29
April 2009
Joint Capabilities Document (JCD) for Net-Centric Operational Environment (NCOE), December, 2006
JRAE 07 Final Test Report Version 1.0, Prepared for: Space and Naval Warfare Systems Command
Operational Experiments Office, 10 December 2007
Lessons Learned from DoD and IC ABAC Pilots, DISA, February 2010
National Security Agency Information Assurance Directorate: STEP Practitioners Guide, September
2009
NCES Profile of Web Service Security: Simple Object Access Protocol Message Security, DISA/NSA, 02
May 2008
NCES Profile of XACML for RBAC, DISA/NSA, 08 April 2008
NCES SAML Attribute Profile, DISA/NSA, 30 June 2008
Net-Centric Security Pilot Phase I Overview (LCDR Neboshynsky / Capt Hannan):Net-Centric Capability
Portfolio Management, June 2009
Quadrennial Defense Review Report, OSD/NII, February 2010
Research Documentation and Results Document, Available from the DISA IA43 team
System Technology Evolution Plan (STEP), December 2009
The Office of the Associate Director of National Intelligence: Identity and Access Management,
September 2009
Unified Authorization and Attribute Service Authoritative Attribute Sources and Attribute Services
Guidelines, DoD/IC, 30 September 2008
Unified Authorization and Attribute Services Authorization Attribute Service Interface Specification,
DoD/IC, 30 August 2009
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
63
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Appendix D: Security Frameworks Overview
The intention of this section is to provide an overview of the various IdAM frameworks. The
following sections provide an overview of the DISA IdAM framework, Federal Identity,
Credentialing, and Access Management (FICAM) framework, and NSA ESM framework.
Additionally, a mapping of the frameworks has been conducted to illustrate commonalities and
differences between each framework.
DISA IdAM Framework
To provide dynamic access control and provide anticipated and unanticipated users access to
DoD resources, the DISA IA43 team has established an IdAM framework that aligns well with
other security frameworks. As depicted below in Figure 19, the high-level business process
elements that are needed to establish a Security Infrastructure are consistent between the DISA
IdAM framework and other security initiatives. These business processes are:
Identity Management Defines standards, rules, and procedures for the protection of
personal identity information. Identity Management establishes a trustworthy process for
assigning user attributes to a digital identity.
Credential Management- Binds an identity to a token possessed by an authorized user.
Credential Management supports the lifecycle of credentials. Some examples of
credentials include digital certificates, PKIs, smart cards, and tokens.
Access Management- Ensures that proper identity verification exists when individuals
access sensitive information in computer systems and physical access to buildings. It
also manages the ways in which access to resources is granted to users. This business
process consists of three service categories: Privilege Management, Metadata
Management, and Access Control.
Net-centric- Captures functional and infrastructure requirements that are global and
encompass multiple DISA services.
The six blocks highlighted in color represent the six DISA service categories that incorporate all
FICAM and ESM service categories. The Security Framework Mapping details the color code
mapping of FICAM and ESM services to DISA services; however, all of the graphics that follow
will use this color scheme to show which service categories, or parts thereof, map to the six
DISA service categories. The DISA service color scheme is as follows:
Identity Management Blue
Credential Management
Red
Access Control Green
Privilege Management
Purple
Metadata Management
Aqua
Net-centric Orange
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
64
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 19: DISA IdAM Framework
The DISA IA43 team extended the Access Management process further to support an ABAC
solution that will enable dynamic access control for anticipated and unanticipated users. Access
Management consists of best practices, policies, procedures, and technical access control
mechanisms that are needed to appropriately manage access to resources in an organization. The
DISA IA43 team defined the following services to grant the appropriate access to authorized
members of a COI and denies access to unauthorized requests. These services form a functional
framework that classifies different business processes with respect to how they support business
and/or performance objectives. Figure 19 above provides the different services and associated
functional areas.
Privilege Management consists of Policy Management and Attribute Management
functional areas.
Policy Management - this process is responsible for the lifecycle management of
policies and provides the set of standards required to define, generate, structure, and store
access control policies that can be retrieved by the PDS.
Attribute Management - Permits resource providers to discover what attributes are
available, what values are allowed for each attribute, where attributes can be obtained,
and the extent to which attributes are authoritative and reliable.
Metadata Management consists of Resource IA Metadata and Resource Context
Metadata functional areas.
Resource IA Metadata - provides security properties, security requirements, and applied
protections for resource metadata.
Resource Context Metadata - provides security properties, security requirements, and
applied protections for resource context metadata.
Access Control consists of Access Control Decision and Enforcement functional areas.
Access Control Decision- decision service that permits or denies a particular request for
access to a resource or data. The decision is made after pulling information about the
user from attribute services, resource metadata, and/or environmental services and
comparing those values with policies retrieved from the policy store.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
65
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Access Control Enforcement- act of permitting or denying access to a particular
resource by the policy enforcement point based on the response received from the access
control decision provided by the policy decision service.
The Engineering Blueprint is based on the DISA IdAM Framework, which incorporates
the Business Processes of Identity Management, Credential Management, and Access
Management previously identified.
Federal Identity, Credentialing, and Access Management
The FICAM Roadmap and Implementation Guidance was developed in support of the federal
government mission to provide a common segment architecture and implementation guidance for
use by federal agencies as they continue to invest in IdAM programs27. The Presidents FY2010
budget cited the development of Federal segment architecture, stating that, one of the major
outcomes of this effort is to allow agencies to create and maintain information systems that
deliver more convenience, appropriate security, and privacy protection, with less effort and at a
lower cost. The purpose of the FICAM guide is to provide agencies with architecture and
implementation direction that addresses existing IdAM concerns and issues they face daily. It
also seeks to support the enablement of systems, policies, and processes to facilitate business
between the Government and its business partners and constituents. The document presents the
Federal Government with a common framework and implementation guidance needed to plan
and execute IdAM programs.
FICAM, like the DISA IdAM Framework, states that identity, credential, and access
management (ICAM) are the high- level business processes that create an enterprise security
solution. In support of the business processes, FICAM provides service types and components in
the FICAM services framework. This model classifies the service components with respect to
how they support business and performance objectives. DoD Enterprise System Security
Framework (ESSF) adopted and customized the FICAM framework to establish a security
framework for DoD components. The differences in FICAM and ESSF are highlighted in red
and additional services are provided in green boxes in Figure 20 below.
27
Federal Identity, Credential, and Access Management (FICAM) Roadmap and Implementation Guidance, GSA, 10 November
2009
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
66
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 20: FICAM Services Framework
NSA Enterprise Security Management
Developed by the NSA, the ESM Context Review Documents comprise the systems, processes,
and personnel required to order, create, disseminate, modify, suspend, and terminate
management controls to provision and operate IA services, processes, and devices across an
enterprise. IdAM is subset of the IA capabilities outlined in the ESM framework. ESM consists
of a number of services that provide dynamic management and control of IA services, processes,
and devices to optimize the enterprise for mission operations. There are nine ESM services that
are described in Figure 21 below, which include Identity Management, Credential Management,
Attribute Management, Policy Management, Privilege Management, Authentication,
Configuration Management, Audit Management, and Cryptographic Key Management. The
ESM service components together provide an efficient management process of IA services and
enable a dynamic information sharing process.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
67
IdAM Development and Sustainment Support
Engineering Blueprint v2.0
Figure 21: ESM Services
Comparison of Security Frameworks
Even though several commonalities exist between the different security frameworks that are
described above, the terminology is being used differently. For example, the Privilege
Management service category consists of different functional areas within each security
framework: The DISA PvM service category consists of ESMs Policy Management and
Subject Attribute Management service categories, and portions of FICAMs Authorization &
Access and Privilege Management service categories.
Figure 22, below, depicts Access Management mappings for DISA IdAM to the ESM and the
FICAM security frameworks. Each FICAM and ESM service category is mapped to the DISA
service categories according to the color scheme outlined in the DISA IdAM Framework section
of Appendix D .
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
68
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Figure 22: Security Framework Mapping
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
69
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Appendix E: Supporting Documentation
This section describes how DISA has developed the Engineering Blueprint to establish a
dynamic access control reference architecture for DoD, IC, Federal Civilian, and coalition
partners.
Policy Analysis Requirements
A comprehensive analysis of domestic, international, and coalition access control related
documents was conducted to gather pertinent access control requirements. These policy
documents were reviewed to identify regulatory, policy, technical and organizational policies
that may have an impact on a program in order to develop and promulgate access and
authorization control policies to support the Engineering Blueprint. The requirements from the
Policy Analysis were categorized based on the FICAM Roadmap Document. The Policy
Requirements Document (PRD) assisted in developing the Operational Requirements Document
(ORD) as well as the System Requirements Document (SRD).
Government and Market Surveys
In order to gather operational requirements and needs of DoD communities, key PORs were
investigated that support DOTMLPF to identify how information is currently accessed, stored,
and where it is physically and logically located on networks. DISA identified eleven PORs
initially based on PDM III CES, which needed investigation. The survey documentation also
helped in identifying certain pain points that the applications are facing today in addition to
access control mechanisms.
Operational Use Cases
The information from the Market Surveys was used to develop operational use cases that
captured core information about the as-is authentication and authorization mechanisms,
information flow models, and the current technologies being used by key PORs. The use cases
illustrated the as-is process flow and identified challenges and pain points that PORs are
experiencing relating to access control. The Operational Use Case Document was used to
conduct gap analysis as well as gathering operational requirements.
Gap Analysis Document
Once the Operational Use Cases were developed, the DISA IA43 team identified gaps that exist
between the as-is state of the access control mechanisms to the target state. The target state is
defined as providing dynamic access control to anticipated and unanticipated users. The gaps
were divided into the ten functional areas of the FICAM Roadmap Document that addresses how
to achieve a comprehensive Identity and Access Management framework.
Operational Requirements Document
The Operational Requirements Document (ORD) established the functional/operational
requirements necessary to implement system-wide dynamic access control. These requirements
were derived from the following documents as well as other available sources outside of this
initiative:
Policy Requirements Document
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
70
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Operational Use Cases Document
Gap Analysis Document
These requirements were used to generate system requirements in order to develop the
Engineering Blueprint. It is important to note that the ORD was also used in conjunction with
both the Policy and SRD documents when developing the Engineering Blueprint.
Research Documentation and Results
The Research Documentation and Results Document provided comprehensive research on the
standards, specifications, and protocols required to deploy and integrate improved access control
capabilities. The Research Documentation & Results deliverable facilitated development of
system requirements and the findings were used for the Engineering Blueprint. The document
included the following content:
Attribute-Based Access Control Concepts and Capabilities
Architectural Components and Patterns
Performance Modeling & Simulation
Authentication
Attributes
Access Control Policy
System Requirements Document
The system requirements document consolidated and documented Policy/Functional/Operational
requirements necessary to execute an ABAC solution. The requirements were derived from the
following documents:
Policy Requirements Document
Operational Requirements Document
Research Documentation and Results
Risk Analysis Report
The risk analysis document followed the risk management methodology defined in NIST SP
800-30 to document known risks to the ABAC concept. Of the nine total steps defined, the
DISA IA43 team focused on the first six steps:
System Characterization
Threat Identification
Vulnerability Identification
Controls Analysis
Likelihood Determination
Impact Analysis
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
71
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Engineering Blueprint- v1
The Engineering Blueprint is an architecture document defining the detailed design of the
standards, protocols, specifications, interface definitions, infrastructure, and performance
allocations to develop and deploy ABAC for the DoD enterprise. The Engineering Blueprint
builds upon the following documents: Policy Analysis, Gap Analysis, Operational Use Cases,
Research & Results Deliverable, Operational Requirements Definition, System Requirements
Document, and Risk Analysis and was used to develop reference implementations and will be
used as evaluation criteria to test vendor products.
Proof of Concept Design Document
The DISA IA43 team delivered a Proof of Concept (POC) document for the design and
development of a viable solution to meet the specific business needs of the DISA PORs using the
dynamic access control reference architecture. The POC Design Document defines real world
operational scenario(s) for evaluating COTS access control products against the dynamic access
control reference architecture. The POC design document also contains details around the
environment setup within DISA IA43 PvM North lab, as well as technical specifications and
interfaces to meet some basic operational scenarios.
Test Plan
The DISA IA43 teams test plan established the testing approach and execution, as well as
identified the test scenarios needed to validate the access control use cases outlined in the POC
Design Document. This deliverable also outlined the specific test cases for each use case in
order to validate selected vendor products against the use cases, and established ABAC
requirements. The identified testing criteria was then used to yield a threshold of two Reference
Implementations.
Reference Implementation
The DISA IA43 team developed RIs for the purpose of identifying whether or not the access
control components chosen, are interoperable with the components of other reference
implementations. Specifically, the RI demonstrated whether a PDS chosen for one
implementation could provide an access control decision to a PEP used in another
implementation. In addition, the RI identified that an authorization policy used for one
implementation could also be used in another implementation with the same results. Ultimately,
each RI will exhibit that the access control components can interoperate with existing DoD and
external providers to securely request and receive information required to evaluate authorization
policies such as a certificate validation service, attribute service, and policy repository.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
72
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Appendix F: Architectural Patterns and Performance Modeling
The DoD and IC Service-Oriented Architecture, Security Reference Architecture (SSRA)
document provides a joint DoD/IC view for securing Web service interactions within a serviceoriented environment. This reference architecture defines an abstract Service Security layer
that is backed by vetted security patterns. The document discusses six basic Authorization
Interaction Patterns that are used as a baseline for advanced architecture patterns. Although
these advanced patterns are not an exhaustive list of all possible integrations, they provide
several example usages that build upon the basic authorization interaction patterns. These
patterns are meant for guidance purposes only. DoD/IC community users may determine which
architecture pattern works best to meet their needs based on their environment needs and existing
systems and capabilities.28
These patterns describe how the access control components specified in the Architectural
Interfaces and Specifications section can be configured differently to support various needs. It is
possible that all six patterns could support ABAC; however, for the purposes of this blueprint,
Authorization Pattern 1 was selected because it is straightforward and supported by most
privilege management software packages. Implementers may choose one or multiple patterns to
support access control to one or several applications; however, the choice of one pattern over
another will be based on which pattern works best to meet the need and which pattern is
supported by the product chosen for the implementation; a given COTS product may not support
all of the patterns. Additionally, performance considerations will play a part in deciding which
pattern or patterns to select.
Authorization Pattern 1 and 2, which are commonly used patterns, are discussed in detail below.
The remaining patterns are summarized in Table 21 following discussion of pattern 2.
Authorization Pattern 1
This pattern, used in the previous two sections, is the most basic because a user may use a thin
client, such as a Web browser, to simply make an access request for a resource protected by a
PEP. The steps associated with Authorization Pattern 1 are illustrated in Figure 23 below. After
authenticating the user (step not shown), the PEP takes the users authentication assertion along
with the resource query and desired action, and passes them to the Policy Decision Service to
request an access decision. The PDS will retrieve the appropriate policy from the Policy Service
and then retrieve the user attributes, resource metadata, and environmental attributes required by
the policy to render an access decision. The PDS will request access control information from as
many sources as required by the policy. Furthermore, multiple attribute sources for each
attribute may need to be utilized depending on the attributes required to make an access decision.
An access decision (permit/deny) is reached by evaluating the attributes against the policy rules
and passed back to the PEP along with any constraints and obligations. The PEPs sole function
28
DoD and IC Service-Oriented Architecture Security Reference Architecture, 15 April 2008
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
73
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
is to enforce the decision, either permitting or denying access, and enforce constraints and
obligations.
Figure 23: Authorization Pattern 1
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
74
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Table 19: Steps for Authorization Pattern 1
Step
Description
Input
Output
1.
A Service Consumer sends a request
to a Service Provider that is managed
by a PEP.
N/A
request message
SAML Authentication
Assertion
2.
The PEP requests an access control
decision from the PDS.
Request message
SAML Authentication
Assertion
XACML Authorization
Decision Query
including the SAML
Authentication Assertion
3.
The PDS requests access control
policies from the Policy Service.
XACML Authorization
Decision Query, including
the SAML Authentication
Assertion
Get Policy Request
4.
The Policy Service returns access
control policies to the PDS.
Get Policy Request
Get Policy Response
5.
The PDS requests attributes from the
Attribute Service (AS) based on the
Service Consumer.
Get Policy Response
SAML Attribute Query
6.
The AS returns attribute assertions
with the relevant Service Consumer
attributes to the PDS.
SAML Attribute Query
SAML Attribute
Assertion
7.
The PDS makes a decision based on
the attributes and the policies, and
returns a decision assertion to the
PEP.
SAML Attribute Assertion
XACML Authorization
Decision Assertion
8.
The PEP either grants or denies
access to the Service Provider, based
on the decision assertion.
XACML Authorization
Decision Assertion
Request message
SAML Authentication
Assertion
Advantages to this method are:
Integrating with the PEP is a straightforward process that can be achieved with a Web
browser interface.
The only requirement is to pass authentication credentials.
Relevant user attributes are retrieved based on policies for the Service Provider.
Strong/Direct integration with the Policy Service, enables the PDS to perform efficient
querying of the policy store.
The disadvantages are:
Servicing multiple user requests simultaneously may cause the PDS to perform at a
slower rate since all incoming requests and access decisions must be made solely by the
PDS.
Several attribute stores may have to be queried to find the required set of Service
Consumer attributes.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
75
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Table 20 below summarizes the remaining five examples provided by SSRA. For a
complete description and process flow for each pattern, see SSRA pages 22-31.
Authorization Pattern 2
The 2007 Joint Rapid Architecture Experiment (JRAE 07) was conducted to evaluate the
performance of the proposed Fiscal Year 2008 Joint Targeting Service Oriented Architecture.29
This experiment analyzed the timeliness and accuracy of planned and emergent Joint strike
operations using capabilities from DISA, NSA, USAF, USN, UK, USA, and USMC. In addition
to Authorization Pattern 1 (discussed above), another common pattern, pattern 2, was used in the
experiment.
In Authorization Pattern 2, the Service Consumer Agent requests user attributes from the local
Attribute Service (AS). These attributes are then passed as SAML assertions when requesting
access to the protected resource. The PEP can capture the attribute assertions and pass them to
the PDS. The PDS needs to request policy as well as any other attributes required to make the
access decision. This pattern can work particularly well when the Service Consumer Agent is in
a different domain along with the user attribute service. This pattern is also characteristic of a
portal, which contains service that retrieves attributes and sends them to the resource along with
the request. Because security devices are situated between domains, putting the attributes in the
request may mean that the need for user attributes will already be met. However, if the PDS
needs to request additional attributes from another domain there will be a performance penalty.
29
JRAE 07 Final Test Report Version 1.0, prepared for: Space and Naval Warfare Systems Command Operational Experiments
Office, 10 December 2007.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
76
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Figure 24: Authorization Pattern 2
Table 20: Steps for Authorization Pattern 2
Step
Description
Input
Output
A Service Consumer requests
attributes for an end-user from
the AS.
N/A
SAML Attribute Query
The AS returns an attribute
assertion to the Service
Consumer.
SAML Attribute Query
SAML Attribute Assertion
The Service Consumer sends
the attribute assertion and the
request to a Service Provider
that is managed by a PEP.
XACML Attribute
Assertion
request message
SAML Authentication &
XACML Attribute Assertion
The PEP requests an access
control decision from the PDS.
Request message
SAML Authentication
& XACML Attribute
Assertion
XACML Authorization
Decision Query ,including a
SAML Authentication &
Attribute Assertion
The PDS requests access
control policies from the Policy
Service.
XACML Authorization
Decision Query,
including a SAML
Authentication &
Attribute Assertion
Get Policy Request
The Policy Service returns
access control policies to the
PDS.
Get Policy Request
Get Policy Response
6a
The PDS requests additional
attributes from an AS, if
necessary.
Get Policy Response
SAML Attribute Query
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
77
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Step
Description
Input
Output
6b
The AS returns an attribute
assertion to the PDS, if
necessary.
SAML Attribute Query
SAML Attribute Assertion
The PDS makes a decision
based on the attributes and the
policies, and returns a decision
assertion to the PEP.
XACML Attribute
Assertion
XACML Authorization
Decision Assertion
The PEP either grants or denies
access to the Service Provider,
based on the decision assertion.
XACML Authorization
Decision Assertion
Request message
SAML Authentication &
Attribute Assertion
Advantages to this method:
Subject attributes may be found more readily by the Service Consumer Agent.
The PDS may not need to search for additional subject attributes thereby offloading some
of the processing by the PDS.
Strong/Direct integration with the Policy Service enables the PDS to perform efficient
querying of the policy store.
Disadvantages to this method:
If the Service Consumer does not include all of the needed attributes in the request, the
PDS may need to make additional requests for user attributes, thereby adding to the
processing requirements by the PDS.
Service Consumer must be integrated with the Attribute Service and communicate using
the SAML interface.
Authorization Patterns 3 6
The remaining patterns are summarized below. For detailed description of the authorization
pattern and/or to learn more about the patterns refer to the SSRA document.
Table 21: SSRA Authorization Patterns
Pattern Number
Description
The Service Consumer Agent sends the request to the PEP, and the
PEP requests/receives the access control policies and attributes from
the PS and AS respectively. The PEP, then, sends the request,
policies, and attributes to the PDS for an access control decision. In
this pattern, the PEP performs all of the retrievals normally done by the
PDS and would have to be enhanced with more capability to determine
attributes needed by policy.
The Service Consumer Agent sends the request to the PDS, and the
PDS requests/receives access control policies and attributes from the
PS and AS respectively. The PDS then makes an access control
decision and sends the decision back to the Service Consumer Agent,
which, in turn, sends the decision to the PEP for enforcement. In this
pattern, the service consumer would need to be able to accept SAML
assertions from the PDS and send them to the PEP.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
78
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Pattern Number
Description
The Service Consumer Agent requests/receives user attributes from
the local AS first, and then forwards the request plus the attributes to
the PDS. The PDS requests/receives policies and additional attributes
(if necessary) from the PS and AS respectively, makes an access
control decision, and sends the decision back to the Service Consumer
Agent. The Service Consumer Agent sends the decision to the PEP for
enforcement. This pattern also requires the service consumer to be
able to interact with the PDS and AS using SAML protocols.
The Service Consumer Agent requests/receives access control policies
and attributes from the PS and AS respectively, and then sends the
policies, attributes, and request to the PDS. The PDS makes an
access control decision and sends the decision to the Service
Consumer Agent. The Service Consumer Agent sends the request and
PDS decision to the PEP for enforcement. This pattern would require
the Service Consumer Agent to interact with all of the ABAC services
before forwarding the request and decision to the PEP.
The SSRA document also defines hierarchical and asymmetrical authorization patterns. The
hierarchical pattern can be used for multiple PEP/PDS decisions for a single resource access.
This pattern resembles a cross-enclave access in JRAE07 where one PEP/PDS controlled access
to a resource based on the requesters attributes and resource metadata and another separate
PEP/PDS controlled access of the returning information to the network on which the requester
was located using a separate policy for releasability of the information to the destination
network. In asymmetrical situations, attributes or policies are sent to the PDS without the PDS
requesting them; another component makes the request. For example, a requester might request
his identity provider to send attributes to the PDS and then separately make a request for a
resource. When the PEP sends the authorization request to the PDS, the user attributes would
have already been sent.
Performance Modeling
The basic authorization patterns discussed above have some interface implications as well as
performance implications. Choosing one pattern over another may minimize network delays in
retrieving attributes and policy, and should be considered within the capabilities of the products
used. This section attempts to quantify transaction times to access protected resources in the
basic authorization pattern. Many DoD/IC networks contain boundary security devices,
expressed as Bdev that can add delays to requests for protected resources. One of the Empire
Challenge lessons learned reported an eight second one-way transversal of a high-speed guard.
Thus, significant performance gains can be realized by minimizing the number of times the highspeed guard is crossed. Use of some authorization patterns may minimize those transversals.
Note:
The position of the boundary devices in the timing diagrams is not absolute and may differ.
Performance optimization is a complex process. Typically, the most significant bottleneck is
addressed until another bottleneck is identified and the process is repeated. Using more
computational resources may solve some of the problems but others are a result of network
delays and complexity of process. Caching should be used whenever possible to minimize
network delays and simplification of policy may also yield performance improvements.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
79
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Although not drawn on the diagrams, the CVS may reside in a different enclave from the PEP,
therefore caching or using a CRL could yield significant benefits.
The authorization pattern above has been enhanced to consider authentication time as well as
positioning boundary devices at likely places in the information flow. The placement of
boundary devices positions the user in a different enclave from the protected resource. The PEP
and PDS would typically be in the same enclave with the resources, policy, and some attribute
sources. However, the user attribute source might be external to the resource enclave. Thus, the
authorization pattern contains 15 steps instead of the eight steps above. The Attribute Services
have been expanded into Attribute Services for user attributes, document attributes and
environment attributes. Not all Attribute Services may be needed depending on the policy
requirements.
Except for verifying the requesters certificate, timing considerations related to PKI operations
have been intentionally omitted as having a negligible effect on the transaction timing. The
reason for this is that although CVS will be required for the PEP, PDS and all other services,
CVS will be invoked for the initial certificate verification of a certificate used for a digital
signature or a Transport Layer Security (TLS) connection. However, once verified, the public
key in the certificate could be used repeatedly without verification for each use. Thus, there
would be an initial time delay for the CVS, the bulk of the transactions would incur no penalty.
The step for validation of the requesters certificate is in the timing consideration because it is
assumed that there would be a sufficiently large population of users accessing resources that
CVS timing would be a significant consideration. However, note that the timing for the Time to
Authenticate (TTA) does contain a note that the time may be zero if there is a cached decision
that can be used. Only patterns 1 and 2 are discussed in this blueprint. The performance
considerations from patterns 1 and 2 can easily be extended to the other authorization patterns
Authorization Pattern 1 Timing
Timing analysis is introduced in Figure 25. Note the numbers on the segments indicate the order
in which the steps proceed. Bdev represents a border security device which may introduce
delays into the process. In the authorization diagrams they are put in likely places but may
appear anywhere between ABAC components.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
80
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Figure 25: Authorization Pattern 1 Timing
Time to Access Data = TTP + TTA + TTD + TTR + Reply + [possible Bdev delays]
Transit Time to PEP (TTP) = transit time + [possible Bdev delays]
Transit Time to Resource (TTR) may be negligible.
Time to Authenticate (TTA) = (cache check) or ((OCSP or CRL check) + expiration check +
signature validity + certificate chain + usage check)
Time to Decide (TTD) = TTEv + TTRA + TTRE +TTRM + TTRP
Time to Evaluate (TTEv) = time required to evaluate policy statements with attributes and render
an access decision.
Time to Retrieve Attributes (TTRA) = time to retrieve attributes + [possible Bdev delays]
Time to Retrieve Policy (TTRP)
Time to Retrieve Metadata (TTRM)
Time to Retrieve Environment (TTRE)
Bdev
Possible locations for boundary devices (likely locations in cross enclave situations)
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
81
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Authorization Pattern 1 is the most likely flow of access since there is no requirement on the user
client to interact with any attribute or authorization components. The user client would typically
only be required to present a client certificate for authentication, which is a capability of popular
browsers with ActivClient Agent. Authorization Pattern 1 puts a big processing load on the
PDS, which is tasked with retrieving all policy and attributes in order to render an authorization
decision. Establishing a cluster of PDSs to service multiple authorization requests in parallel
could yield performance increases by having PEP requests for an authorization decision load
balanced across multiple PDSs. Another performance enhancement, which will be discussed
later, is that the PDS, after retrieving policy, could request user attributes, resource metadata and
environment attributes in parallel, which would result in a maximum function of attribute access
rather than a sum of the serialization of the requests.
Authorization Pattern 1 with Multiple Services
The above timing scenario is built upon a single source each for policy, user attributes, resource
attributes and environment attributes. However, the deployment scenario for ABAC may
involve getting policy, user attributes, resource attributes, and environment attributes from
multiple sources. For example, attributes may be obtained from an Enterprise source and from
another source for mission specific attributes. Policy may be retrieved from a source at the
Enterprise level and from a local source. Furthermore, there is no architectural limit on the
number of sources for policy or attributes. This fact may warrant the addition of multiple
sources for access control information while adding some complexity to Authorization Pattern 1
and the associated timing calculations resulting from the multiple sources. Figure 26 below
illustrates the additional sources and the following timing equations take into account the time
calculation.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
82
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Figure 26: Authorization Pattern 1 Timing with Multiple Services
The equations change as follows for a Policy Decision Service that requests policy and attributes
serially:
Time to Access Data = TUA + TTP + TTA + TTD + TTR + Reply + [possible Bdev delays on
retrieval]
TUA = Time to retrieve User Attributes (shown on later diagrams)
Transit Time to PEP (TTP) = transit time + [possible Bdev delays]
Transit Time to Resource (TTR)
Time to Authenticate (TTA) = (cache check) or ((OCSP or CRL check) + expiration check +
signature validity + certificate chain + usage check)
Time to Decide (TTD) = TTEv + TTRA + TTRE +TTRM + TTRP
Time to Evaluate (TTEv)
i + [possible Bdev delays] (for n Attribute
Sources)
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
83
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
i (for n Policy Sources)
i (for n Metadata Sources)
i (for n Environment Sources)
If the PDS is able to request policy and various attribute sources in parallel, the equations for
TTRA, TTRP, TTRM and TTRE would change as follows:
Time to Retrieve Attributes (TTRA) = MAX (TTRAi for i=1,n) for n attribute sources
Time to Retrieve Policy (TTRP) = MAX (TTRPi for i=1,n) for n policy sources
Time to Retrieve Metadata (TTRM) = MAX (TTRMi for i=1,n) for n metadata sources
Time to Retrieve Environment (TTRE) = MAX (TTREi for i=1,n) for n environment sources
Authorization Pattern 2 Timing
Authorization Pattern 2, as shown in Figure 27, can realize some performance gains over
Authorization Pattern 1 by retrieving user attributes and asserting them in the resource request.
If all of the user attributes needed for the access decision are passed in the assertion, time can be
saved in retrieving user attributes likely residing in another domain likely avoiding steps 12a and
12b. If additional attributes are required in step 12a/b, then the transaction time will be slower.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
84
IdAM Development and Sustainment Support
Engineering Blueprint V2.0
Figure 27: Authorization Pattern 2 Timing
As mentioned in the discussion above on Pattern 2, the user client must be able to assert user
attributes as well as an authentication certificate.
DISTRIBUTION STATEMENT A.
Approved for public release; distribution is unlimited.
85