| digitalid-fapi-profile-01 | October 2025 | |
| ConnectID | Standards Track | [Page] |
The DigitalID Solution Working Group is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Australian Payments Plus DigitalID Scheme. There is a possibility that some of the elements of this document may be the subject to patent rights. Australian Payments Plus shall not be held responsible for identifying any or all such patent rights.¶
The DigitalID v1.0 specifications consist of the following parts:¶
These parts are intended to be used with RFC6749, RFC6750, RFC7636, OIDC, FAPI-2-Baseline and FAPI-2-Advanced.¶
The DigitalID FAPI security profile is a highly secured OAuth profile that aims to provide specific implementation guidelines for security and interoperability which can be applied to APIs in the DigitalID ecosystem.¶
Although it is possible to code an OpenID Provider (OP) and Relying Party (RP) from first principles using this specification, the main audience for this specification is parties who already have a certified implementation of FAPI Security Profile 2.0 - Part 1: Baseline and want to achieve certification for the DigitalID programme.¶
The key words "shall", "shall not", "should", "should not", "may", and "can" in this document are to be interpreted as described in ISO Directive Part 2. These key words are not used as dictionary terms such that any occurrence of them shall be interpreted as key words and are not to be interpreted with their natural language meanings.¶
This document specifies the method of:¶
This document is applicable to all participants engaging in DigitalID.¶
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.¶
ISODIR2 - ISO/IEC Directives Part 2¶
RFC3966 - The tel URI for Telephone Numbers¶
RFC4627 - JavaScript Object Notation (JSON)¶
RFC4648 - The Base16, Base32, and Base64 Data Encodings¶
RFC6749 - The OAuth 2.0 Authorization Framework¶
RFC6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage¶
RFC7636 - Proof Key for Code Exchange by OAuth Public Clients¶
RFC6819 - OAuth 2.0 Threat Model and Security Considerations¶
RFC7515 - JSON Web Signature (JWS)¶
RFC7519 - JSON Web Token (JWT)¶
RFC7591 - OAuth 2.0 Dynamic Client Registration Protocol¶
RFC7592 - OAuth 2.0 Dynamic Client Registration Management Protocol¶
RFC8705 - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens¶
BCP195 - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)¶
E.164 - The international public telecommunication numbering plan¶
OIDC - OpenID Connect Core 1.0 incorporating errata set 1¶
OIDD - OpenID Connect Discovery 1.0 incorporating errata set 1¶
OIDR - OpenID Connect Registration 1.0 incorporating errata set 1¶
OIDI - OpenID Connect for Identity Assurance 1.0¶
PAR - OAuth 2.0 Pushed Authorization Requests¶
JAR - OAuth 2.0 JWT Secured Authorization Request¶
FAPI-2-Baseline - FAPI Security Profile 2.0 - Part 1: Baseline¶
FAPI-2-Advanced - FAPI Security Profile 1.0 - Part 2: Advanced Working Draft¶
FAPI-2-Implementation-Advice - FAPI Security Profile 2.0 - Implementation Advice¶
RFC4122 - A Universally Unique IDentifier (UUID) URN Namespace¶
For the purpose of this document, the terms defined in RFC6749, RFC6750, RFC7636, OpenID Connect Core and ISO29100 apply.¶
acr - Authentication Context Class Reference¶
API – Application Programming Interface¶
FAPI - FAPI¶
HTTP – Hyper Text Transfer Protocol¶
OIDF - OpenID Foundation¶
OP - OpenID Provider¶
PII - Personally Identifiable Information¶
PPID - Pairwise Pseudonymous Identifier¶
TLS – Transport Layer Security¶
The DigitalID Security profile specifies additional security and identity requirements for sharing digital identity that consists of RFC6749, RFC6750, RFC7636, FAPI-2-Baseline, FAPI-2-Advanced and other specifications.¶
This profile describes security and feature provisions for a server and client that are necessary for the DigitalID Programme.¶
This profile describes the specific security profile requirements necessary to support the wider DigitalID ecosystem. As a profile of the OAuth 2.0 Authorization Framework, this document mandates the following for the DigitalID Security profile.¶
A Confidential Client shall support the provisions specified in clause 2.2.2 of FAPI Security Profile 2.0 - Part 1: Baseline.¶
In addition, the Confidential Client:¶
private_key_jwt as a token endpoint authentication mechanism;¶
mtls_endpoint_aliases as per clause 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens;¶
request_uri parameter as defined in Section 6.2 of OpenID Connect Core in the authentication request;¶
aud claim in the request object as the OP's Issuer Identifier URL;¶
exp claim in the request object that has a lifetime of no longer than 10 minutes; and¶
nbf claim in the request object.¶
x-fapi-interaction-id request header, with its value being a unique RFC4122 UUID for each request, to help correlate log entries between the client and server, eg: x-fapi-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a.¶
x-fapi-interaction-id in the log entry.¶
A Resource Server shall support the provisions specified in clause 2.2.3 of FAPI Security Profile 2.0 - Part 1: Baseline.¶
For JWS, both clients and Authorization Servers:¶
We would like to thank everyone for their valuable feedback and contributions that helped to evolve this specification.¶
We would also like to thank OpenID Foundation, IETF and many others who have set up the foundations for secure and safe data sharing.¶
Copyright (c) 2022 DigitalID Solution Working Group.¶