WSCA
A WSCA, a Wallet Secure Cryptographic Application, is the application defined by the ARF that manages the critical cryptographic assets of a Wallet Unit, such as the private keys a PID is bound to, by using the functions of a Wallet Secure Cryptographic Device (WSCD). A WSCA does not support exporting private keys.
A WSCA always works together with a WSCD, the tamper-resistant device that provides the protected environment. The ARF describes four WSCD architectures, and the form of the WSCA follows from them: on a remote HSM it may be a dedicated firmware module, on a smart card, SIM, e-SIM or embedded Secure Element it is typically a Java Card applet, and on a local native WSCD the operating system’s key API takes the role of the WSCA. In every case the WSCA interfaces directly with the Wallet Instance, the app the Wallet User interacts with. PID private keys must be managed in a WSCA/WSCD, because only that combination meets Level of Assurance High. A Wallet Unit may additionally use keystores for non-critical keys. The Wallet Provider describes each WSCA/WSCD in a Key Attestation, a type of Wallet Unit Attestation that states its certification and lists public keys whose private keys it holds. The Wallet Unit sends that Key Attestation to a PID Provider or Attestation Provider during issuance, so the new credential can be bound to one of those keys. Relying Parties do not need to interact with or trust a WSCA supplier. If a type of WSCA/WSCD is compromised, the Wallet Provider revokes it together with every Wallet Instance that uses it, and PID Providers must then revoke the PIDs bound to it.
- ARF 3.0.0, Annex 1
- ARF 3.0.0, 3.3
- ARF 3.0.0, 4.3.2, 4.5
- ARF 3.0.0, 6.5.3.4
- ARF 3.0.0, Annex 2, WURevocation_09a
What is the difference between a WSCA and a WSCD?
A WSCD is the tamper-resistant device, such as a remote HSM, a smart card or an embedded Secure Element, that provides the protected environment and the cryptographic functions. A WSCA is the application that uses those functions to manage critical assets, for example generating a key pair and signing with it. With a local native WSCD the line blurs: the operating system’s key API acts as the WSCA.