Cross-Cutting Requirements
This section will highlight important requirements or describe any additional cross-cutting requirements that apply to this Building Block.
1. Privacy Protection
As PII data would be stored in the Wallet, it is important to make sure that the privacy of the holder is preserved by the implementation of cryptographic techniques and adherence to privacy-preserving standards.
2. Security
Robust security measures should be implemented to protect sensitive user information and prevent unauthorized access or tampering with digital credentials. As part of the security requirements, we need to look at the below parameters,
Utilization of the hardware key store in the mobile device (Android or iOS) to store the private keys of the wallet needs to be defined.
Defining Key Management for the Issuer and the Holder
Defining the Key Rotation Policy
Enabling an option for Key Revocation & Replacement when the key is compromised
3. Interoperability Standards
The wallet must conform to established standards like Decentralized Identifiers (DIDs) and Verifiable Credentials data models, ensuring seamless compatibility and interoperability across diverse systems.
Considering the wallet building block's intention to accommodate various credential formats, an interoperable profile can be constructed. This profile would encompass attributes such as communication protocols, credential format(s), signature algorithms, key management methods, and trust management methods.
3.1. Communication Protocols
3.1.1. Credential Issuance Protocol
OpenID4VCI
Authorization Code Flow
Pre-authorization Code Flow
3.1.2. Credential Presentation Protocol
OpenID4VP
3.2. Credential Formats
W3C VC (1.1) signed as JWT (not using JSON LD)
W3C VC Secured using Data Integrity, using JSON-LD, with a Proof Suite Requiring Linked Data Canonicalization
W3C VC (1.1) signed as JWT (using JSON LD)
ISO mDL MDOC
IETF SD-JWT VC
ICAO DTC