FICAM SAML SSO for RP, v1.0

This Trustmark Definition specifies much of the conformance criteria and assessment process for Relying Parties wishing to support FICAM SAML SSO.

Assessment Steps (9)

1
RP uses and supports SAML 2.0 (SAML_2_0_Step)

Does this relying party support SAML 2.0?

Artifact
Sample SAML Authentication Request

Include a sample SAML Authentication request as XML/Text.

2
RP supports SAML Redirect Binding (Redirect_Binding_Step)

When generating SAML Authentication Requests, does the relying party use the SAML Redirect Binding? Please provide a header trace with the full URL accessed on the test Identity Provider.

Artifact
Header Trace Showing Redirect Binding Usage

Using a header tracing tool like the Chrome's Developer Tools linked earlier will make this an easy copy/paste operation.

3
Valid Issuer within SAML AuthnRequest (Valid_Issuer_Step)

Does the relying party provide a valid Issuer as an URL within control of the RP organization within a SAML AuthnRequest?

Artifact
Sample SAML Authentication Request

This artifact is assumed for all subsequent steps regarding AuthnRequests; annotate those results if that is untrue.

4
Valid NameIDPolicy (Name_ID_Policy_Step)

Does the relying party generate a valid NameIDPolicy within the AuthnRequest? The specified NameIDPolicy must be persistent or transient.

5
AuthnRequest Exclusions (AuthnRequest_Step)

Does the AuthnRequest generated by the relying party not include a Subject, Scoping, Extensions, or Conditions?

6
Protocol Binding (Protocol_Binding_Step)

Does the AuthnRequest generated by the relying party include a ProtocolBinding set to urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST?

7
Post Binding (Post_Binding_Step)

Does the relying party accept SAML Responses via the POST binding? Please provide a header trace as well as a sample SAML Response in XML.

Artifacts
Header Trace

Provide a header trace showing the RP accepting a SAML Response at their Assertion Consumer Service URL via POST.

SAML Response

Include a SAML Response in XML/Text.

8
XML Encryption (XML_Encryption_Step)

Does the relying party accept SAML Responses with encrypted SAML Assertions?

Artifact
SAML Response

Please provide a sample SAML Response that is encrypted that was accepted by the relying party.

9
Digital Signatures (Digital_Signatures_Step)

Does the relying party validate the signature on the SAML Assertion and that the signature is by a trusted partner? This test will require verifying three different responses:

  1. One correctly signed SAML Assertion.

  2. One unsigned SAML Assertion.

  3. One correctly signed SAML Assertion, signed with a key that has NOT been established as trusted via SAML Metadata exchange.

  4. Use an http injection tool to intentional corrupt a signature from a trusted partner to verify the message is rejected.

Artifact
Results

Please provide detailed description and/or screenshots of each of the tests done to verify an RP correctly validates signatures.

Conformance Criteria (9)

SAML 2.0

The RP must use the SAML 2.0 protocol.

Citation
FICAM-SAML-SSO
Section 2.1
Redirect Binding

The RP must support the use of the SAML HTTP Redirect Binding for SAML SSO.

Citation
FICAM-SAML-SSO
Section 3.1 requirement 9
Valid Issuer

The RP must include the Issuer element in all SAML AuthnRequests and that Issuer must be a URL controlled by the RP organization.

Citation
FICAM-SAML-SSO
Section 3.1 requirement 1
NameIDPolicy

The RP's AuthnRequest must include a valid NameIDPolicy and it must be transient or persistent.

Citation
FICAM-SAML-SSO
Section 3.1 requirement 8
AuthnRequest Exclusions

The RP's AuthnRequest must not contain any of the following: Subject, Scoping, Extensions, or Conditions.

Citation
FICAM-SAML-SSO
Section 3.1 requirement 2 and 3
Protocol Binding

If the RP's AuthnRequest includes a ProtocolBinding then it must be set to urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST.

Citation
FICAM-SAML-SSO
Section 3.1 requirement 11
Post Binding

The RP must accept SAML Responses via the SAML POST binding.

Citation
FICAM-SAML-SSO
Section 3.2 requirement 2
XML Encryption

The RP must accept SAML Assertions that have been encrypted.

Citation
FICAM-SAML-SSO
Section 3.2. requirement 4.a
Digital Signatures

The RP must validate the XML digital signature on the SAML Assertion, including verifying the signing key is trusted based on previously exchanged SAML 2 Metadata.

Citation
FICAM-SAML-SSO
Section 3.4 requirement 3 and Section 3.2 requirement 10

Metadata

Publication Date 2017-05-18
Trustmark Reference Attribute https://artifacts.trustmarkinitiative.org/lib/trustmark-definitions/ficam-saml-sso-for-rp/1.0//trustmark-reference/
Issuing Organization
No Responder support@trustmarkinitiative.org 404-407-8956 75 5th Street NW, Suite 900, Atlanta, GA 30308
Keywords FICAM, SAML, SSO, RP, Relying Party, SP, Service Provider, Single Sign On, Interoperability,
Supersedes
Issuance Criteria
yes(ALL)
Assessment Step Preface

This assessment is intended to be performed on Relying Parties that wish to support the use of FICAM conforming SAML SSO. To adequately perform these steps the assessor must possess a test Identity Provider as well as tooling to inspect messages that are passed through the browser. The following tools and/or browser plugins may be useful:

The assessor's test Identity Provider must be configured to trust the RP being evaluated. Additionally, the RP being evaluated must be configured to trust the test Identity Provider.

Target Stakeholder Organizations that have a vested interest in the U.S. Federal Identity, Credential, and Access Management (FICAM) program and its technical specifications.
Target Recipient Relying Parties that wish to conform to the FICAM SAML SSO Profile and/or interoperate with Identity Providers that conform to the FICAM SAML SSO Profile.
Target Relying Party Credential Service Providers that wish to provide their users with access to Relying Party services offered by U.S. federal government agencies and other organizations that have adopted the FICAM SAML SSO Profile.
Target Provider Entities that evaluate organizations against FICAM requirements.
Provider Eligibility Criteria Any organization or business entity may act as a Trustmark Provider for trustmarks under this Trustmark Definition.
Assessor Qualifications Any individual employed or contracted by the Trustmark Provider may act as the assessor for trustmarks under this Trustmark Definition.
Trustmark Revocation Criteria For any trustmark issued under this Trustmark Definition, the Trustmark Provider must revoke the trustmark upon any condition whereby one or more Conformance Criteria cease to be satisfied.
Extension Description This Trustmark Definition requires no extension data.
Legal Notice This document and the information contained herein is provided on an "AS IS" basis, and the Georgia Tech Research Institute disclaims all warranties, express or implied, including but not limited to any warranty that the use of the information herein will not infringe any rights or any implied warranties or merchantability or fitness for a particular purpose. In addition, the Georgia Tech Research Institute disclaims legal liability for any loss incurred as a result of the use or reliance on the document or the information contained herein.

Sources (1)

Terms (23)

Term Name Abbreviations Definition
Account

An account is used to associate transactional records with an end user or organization. Presence of an account does not necessarily mean that there are credentials (e.g., username and password) associated with the account.

Assert

To make a statement about the properties of a user or user's act of authentication.

Authentication Session

Period of time that an end user remains trusted after the end user authenticates. That is because an IDP typically does not require an end user to re-authenticate for every page requested. Each IDP defines its own authentication session duration. If an end user returns to the IDP and an earlier authentication session has expired, the IDP re-authenticates the end user even if single sign-on is in effect.

Binding

Mappings of SAML request-response message exchanges onto standard messaging or communication protocols.

Consolidated Metadata

A single XML file containing a top-level root <md:EntitiesDescriptor> containing multiple <md:EntityDescriptor> and/or <md:EntitiesDescriptor> elements.

Credential Service Provider CSP

For the purposes of SAML SSO, they are synonymous with Identity Providers.

Digital Encryption

Private key data encryption that converts data into a form that cannot be easily understood by unauthorized people. Decryption is the process of converting encrypted data back into its original form, so it can be understood. Within the FICAM SAML Profile, encryption pertains to SSL v3 or TLS 1.1 (and higher), encryption and/or XML encryption, depending upon the Level of Assurance.

Digital Signature

An asymmetric key operation where the private key is used to digitally sign an electronic document and the public key is used to verify the signature. Digital signatures provide authentication and integrity protection.

Discovery

Process of an end user finding a IDP and/or RP.

Extensible Markup Language XML

XML is a specification developed by the W3C that enables the definition, transmission, validation, and interpretation of data between applications and between organizations. In a nutshell, XML describes data and focuses on what data is. XML facilitates technical interoperability, and is used in identity management standards such as SAML (e.g., to convey information in a SAML assertion).

Federal Identity, Credential, and Access Management Trust Framework Solutions FICAM TFS

The Federal Identity, Credential, and Access Management (FICAM) Trust Framework Solutions (TFS) program is is the federated identity framework for the U.S. Federal Government. It includes guidance, processes, and supporting infrastructure to enable secure and streamlined citizen and business facing online service delivery.

Holder-of-Key Assertion

A holder-of-key assertion contains a reference to a public key (corresponding to a private key) or a symmetric key possessed by the end user. The RP requires the end user to prove possession of the private key or secret that is referenced in the assertion. In proving possession, the end user also proves that he or she is the rightful owner of the assertion.

Identity Provider IDP

For the purposes of SAML SSO, they are synonymous with Credential Service Providers. A kind of service provider that creates, maintains, and manages identity information for principals and provides principal authentication to other service providers (relying parties) within a federation, such as with web browser profiles.

Metadata

Information shared between endpoints (e.g., RP, IDP) necessary for technical interoperation.

Persistent

Ability to maintain data.

Protected Session

A session wherein messages between two participants are encrypted and integrity is protected using a set of shared secrets called session keys. A participant is said to be authenticated if, during the session, he, she or it proves possession of a long term token in addition to the session keys, and if the other party can verify the identity associated with that token. If both participants are authenticated, the protected session is said to be mutually authenticated. One way to implement a protected session is SSL/TLS, which is required for this Profile.

Pseudonymous Identifier

Private end user pseudonym that will only be used with one site. The site will always know it's you when you come back, but it won't be able to look up any other information about you, or correlate your profile with other sites.

Relying Party RP

A system entity (i.e., stand-alone system or group of applications that rely on a central authentication system) that decides to take an action based on information from another system entity. For example, a SAML Relying Party depends on receiving assertions from an asserting party (e.g., a SAML Identity Provider) about a subject. A Relying Party is also referred to as a Service Provider.

Security Assertion Markup Language SAML

The set of specifications describing security assertions that are encoded in XML, profiles for attaching the assertions to various protocols and frameworks, the request/response protocol used to obtain the assertions, and bindings of this protocol to various transfer protocols (for example, SOAP and HTTP). SAML addresses web single sign-on, web services authentication, attribute exchange, authorization, non-repudiation, and secure communications. SAML defines assertion message formats that are referenced in Liberty Alliance, Shibboleth, WS-Security, and other specifications. SAML has become the standard web SSO identity management solution. Several versions have been released to date, including SAML 1.0, SAML 1.1, and SAML 2.0. The Organization for the Advancement of Structured Information Standards (OASIS) oversees SAML.

Security Token Service STS

An STS provides a standards-based method of converting security tokens across different formats.

Service Provider SP

For the purpose of SAML SSO, they are synonymous with Relying Parties. Service Providers generate SAML AuthnRequests, provide users with discovery interfaces, consume SAML Responses, and generally provide some sort of service or capability for a user.

Signature Verification

The process of checking the digital signature by reference to the original message and a given public key, thereby determining whether the digital signature was created for that same message using the private key that corresponds to the referenced public key.

Single Sign-on SSO

Once an end user has authenticated their identity at an IDP, he or she may, by their choice, move among RPs that interoperate with the IDP without re-authenticating. In other words, the end user is seamlessly logged into any other RP that interoperates with the IDP. For privacy considerations, end users must take explicit actions to opt-in to SSO. In addition, SSO is in effect only for the duration of the end user's current browser session and authentication session.

Also available as XML or JSON