Data Register¶
This chapter comprises a register of all data that is exchanged between the components listed in the decomposition.
In the following table all data is listed with the following information:
- Name: Name of the data by which the data is referenced in the sequence diagrams.
- Processors: Which role or component processes the data
- Contains: What data is contained in complex data types
- Description: Short description of the purpose of the data
The name of data is made up of domain, purpose and type of the data, separated by an underscore:
- Domain: Acronym in lower case of a component or role from the decomposition that produces or controls the data, as
introduced above, e.g.
pp
for PID Provider. - Purpose: Description of the purpose or content of the data in one (maximum two) strings.
- Type: For complex data types the type results from purpose and does not have to be specified separately. Furthermore, we differentiate:
- prvk - for a private key of asymmetric key pair
- pubk - for a public key of asymmetric key pair
- pop - for a proof of possession of a private key of asymmetric key pair
- symk - for a symmetric key
- id - for an identifier
- nonce - for a number used only once
With regard to data processing, we distinguish between:
- P - producer of the data
- L - long-term storage of the data
- LE - long-term storage of the data but encrypted
- LH - long-term storage of the data but hardware backed (e.g. TEE, TRH, HSM)
- S - short-term storage of the data for a specific transaction
Name | User | WB | RWSCD | WI | HKS | PP | RP | PAP | Contains | Description |
---|---|---|---|---|---|---|---|---|---|---|
wb_mac_symk | - | P, L | - | - | - | - | - | - | Symmetric key to ensure integrity and authenticity of WB messages, i.e. used to authenticate the wb_auth_challenge with a MAC. | |
wb_auth_challenge | - | P, S | - | S | - | - | - | - | Challenge containing a nonce and timestamp for ensuring freshness of requests towards WB, MACed with wb_mac_symk. | |
wb_wi_id | - | P, L | - | LE, S | - | - | - | - | Universally unique identifier of a WI at the WB. | |
wi_wb_auth_prvk | - | - | - | P, LH | - | - | - | Private key of asymmetric key pair for authenticating WI towards WB. | ||
wi_wb_auth_pubk | - | L | - | S | P, LH | - | - | - | Public key of asymmetric key pair for authenticating WI towards WB. | |
wi_wb_register_pop | - | S | - | P | - | - | - | - | wb_auth_challenge, wi_wb_auth_pubk | Proof of possession of wi_wb_auth_prvk for wallet registration process. |
wi_wb_auth_pop | - | S | - | P | - | - | - | - | wb_auth_challenge | Proof of possession of wi_wb_auth_prvk for issuance of wallet attestation process. |
wi_app_attest_challenge | - | S | - | P | - | - | - | S | Hash used as a challenge for ensuring freshness and session binding for PAP's app attestation. | |
pap_app_attest | - | S | - | S | - | - | - | P, S | wi_app_attest_challenge | Attestation of PAP (Apple/Google) about the integrity of WI and UD. |
wi_wia_prvk | - | - | - | - | P, LH | - | - | - | Private key of asymmetric key pair for authenticating wi_wia_pop. | |
wi_wia_pubk | - | S | - | S | P, LH | - | - | - | - | Public key of asymmetric key pair for authenticating wi_wia_pop. |
wi_wia_pop | - | - | - | P, S | - | S | - | - | pp_wia_pop_nonce | Proof of possession of wi_wia_prvk, may include a challenge, e.g. from PID Provider. |
wb_wia | - | P, S | - | S | - | S | - | - | wi_wia_pubk, wb_client_id | Short lived Wallet Instance Attestation (WIA), only used once, signed by wb_wia_auth_prvk. |
wb_wia_auth_prvk | - | P, LH | - | - | - | - | - | - | Private key of asymmetric key pair to ensure integrity and authenticity of Wallet Instance Attestations towards Issuers and Relying Parties. | |
wb_wia_auth_pubk | - | P, LH | - | - | - | L | - | - | Public key of asymmetric key pair to ensure integrity and authenticity of Wallet Instance Attestations towards Issuers. | |
rwscd_mac_symk | - | - | P, L | - | - | - | - | - | Symmetric key to ensure integrity and authenticity of RWSCD messages, i.e. used to authenticate the rwscd_auth_challenge with a MAC. | |
rwscd_auth_challenge | - | - | P, S | S | - | - | - | - | Challenge containing a nonce and timestamp for ensuring freshness of requests towards RWSCD, MACed with rwscd_mac_symk. | |
wi_rwscd_auth_prvk | - | - | - | - | P, LH | - | - | - | Private key of asymmetric key pair for authenticating the User towards the RWSCD. Possession factor of user's MFA to approve presentations of credentials bound to the RWSCD. | |
wi_rwscd_auth_pubk | - | - | L | S | P, LH | - | - | - | Public key of asymmetric key pair for authenticating the User towards the RWSCD. | |
wi_rwscd_register_pop | - | - | S | P, S | - | - | - | - | rwscd_auth_challenge, wi_rwscd_auth_pubk, wi_rwscd_pin_pubk | Proof of possession of wi_rwscd_auth_prvk and wi_rwscd_pin_prvk authenticating the request towards the RWSCD for the process of Remote WSCD registration. |
wi_rwscd_auth_pop | - | - | S | P, S | - | - | - | - | rwscd_auth_challenge, wi_rwscd_operation_request | Proof of possession of wi_rwscd_auth_prvk and wi_rwscd_pin_prvk authenticating the request towards the RWSCD for the process of Remote WSCD operation. |
user_rwscd_pin | P,L | - | - | S | - | - | - | - | Knowledge factor of user's MFA to approve presentations of credentials bound to the RWSCD. | |
wi_rwscd_pin_salt | - | - | - | P, L | - | - | - | - | Cryptographic key used as salt for deriving wi_rwscd_pin_prvk and wi_rwscd_pin_pubk based on user_rwscd_pin entered by the user. | |
wi_rwscd_pin_prvk | - | - | - | P, S | - | - | - | - | Private key of asymmetric key pair for authenticating the user’s user_rwscd_pin to the RWSCD. | |
wi_rwscd_pin_pubk | - | - | L | P, S | - | - | - | - | Public key of asymmetric key pair for authenticating the user’s user_rwscd_pin to the RWSCD. | |
rwscd_account_id | - | - | P, L | LE, S | - | - | - | - | Universally unique identifier of a WI at the RWSCD. | |
rwscd_pin_retry_counter | S | - | P, L | - | - | - | - | - | Retry Counter for the user_rwscd_pin, managed by the Remote WSCD. | |
wi_rwscd_operation_request | - | - | S | P, S | - | - | - | - | An operation that is requested by the WI to be performed by the RWSCD, e.g. to create keys or sign data. | |
rwscd_operation_result | - | - | P, S | S | - | - | - | - | The result of the operation created by the RWSCD with the help of the Remote KMS Provider that was requested by the WI. | |
rwscd_key_id | - | - | P, L | L | - | - | - | - | Unique identifier of a cryptographic key (pair) at the RWSCD. | |
pp_meta_data | - | - | - | S | - | P, L | - | - | Public configuration and metadata of the PP. | |
pp_wia_pop_nonce | - | - | - | S | - | P, S | - | - | Challenge provided by PP to be used by WI for the WIA proof of possession. | |
wi_pkce_code_verifier | - | - | - | P, S | - | S | - | - | Nonce to ensure secure binding between Authorization and Token Request. | |
wi_pkce_code_challenge | - | - | - | P, S | - | S | - | - | Hash of the PKCE Code Verifier acting as a challenge to ensure secure binding between Authorization and Token Request. | |
wb_client_id | - | P, L | - | L | - | S | - | - | OAuth client identifier that represents the Wallet Solution. | |
pp_par_request_uri | - | - | - | S | - | P, S | - | - | URL linking to the PP and an associated issuance session from the Pushed Authorization Request as part of the OpenID4VCI protocol. | |
es_tc_token | - | - | - | S | - | P, S | - | - | pp_refresh_url | Token used to transmit the information required to establish a trustworthy channel between the WI and the eID-Server. |
pp_refresh_url | - | - | - | S | - | P, S | - | - | URL linking to the PP and an associated issuance session from the German eID protocol. | |
user_eid_pin | P, L | - | - | - | - | - | - | - | Knowledge factor of user's German eID Card to authorize presentation of eID data. | |
es_eid_data | L | - | - | - | - | S | - | - | The eID data read by the eID-Server from the eID Card containing the user's personal attributes. The data is actually stored in the user's eID card. | |
pp_authorization_code | - | - | - | S | - | P, S | - | - | Token issued by the PP after successful authorization phase. | |
wi_fake_dpop | - | - | - | P, S | - | S | - | - | Proof of possession of a local key, only used to receive a pp_rt_dpop_nonce from PP (protocol-related necessity). | |
pp_rt_dpop_nonce | - | - | - | S | - | P, S | - | - | Challenge provided by PP to be used by WI for the DPoP proof of possession for access/refresh tokens. | |
rwscd_rt_prvk | - | - | P, LH | - | - | - | - | - | Private key of asymmetric key pair for securing access/refresh tokens. | |
rwscd_rt_pubk | - | - | P, LH | S | - | S | - | - | Public key of asymmetric key pair for securing access/refresh tokens. | |
rwscd_rt_wte | - | - | P, L | S | - | L | - | - | pp_rt_dpop_nonce, rwscd_rt_pubk | Long-lived Wallet Trust Evidence for issuing the refresh token, only used once, signed by rwscd_wte_auth_prvk. |
rwscd_wte_auth_prvk | - | - | P, LH | - | - | - | - | - | Private key of asymmetric key pair for issuance of WTEs securing its integrity and authenticity. | |
rwscd_wte_auth_pubk | - | - | P, LH | - | - | L | - | - | Public key of asymmetric key pair for issuance of WTEs securing its integrity and authenticity. | |
wi_rt_dpop | - | - | - | P, S | - | S | - | - | pp_rt_dpop_nonce, rwscd_rt_pubk | Proof of possession of rwscd_rt_prvk authenticating the access/refresh token towards the PP. |
pp_access_token | - | - | - | S | - | P, S | - | - | Token issued by the PP that authorizes issuance of PID credentials. | |
pp_refresh_token | - | - | - | LE | - | P, S | - | - | es_eid_data | Token issued by the PP that authorizes issuance of new access tokens. |
pp_c_nonce | - | - | S | S | - | P, S | - | - | Challenge provided by PP to be used by WI and its RWSCD for freshness of rwscd_pid_device_wte and the contained rwscd_pid_device_pubk[]. | |
rwscd_pid_device_prvk | - | - | P, LH | - | - | - | - | - | Private key of asymmetric key pair for securing presentations of pp_pid_credential. | |
rwscd_pid_device_pubk | - | - | P, LH | LE | - | S | - | - | Public key of asymmetric key pair for securing presentations of pp_pid_credential. | |
rwscd_pid_device_wte | - | - | P | S | - | L | - | - | pp_c_nonce, rwscd_pid_device_pubk | Long-lived Wallet Trust Evidence for issuing PID credentials, only used once, signed by rwscd_wte_auth_prvk. |
pp_pid_credential | - | - | - | LE | - | P, S | - | - | rwscd_pid_device_pubk, pp_pid_auth_pubk, es_eid_data | Long-lived PID Credential, only used once, signed by pp_pid_auth_prvk. |
pp_pid_auth_prvk | - | - | - | - | - | P, LH | - | - | Private key of asymmetric key pair for issuance of pp_pid_credential securing its integrity and authenticity. | |
pp_pid_auth_pubk | - | - | - | - | - | P, LH | L | - | Public key of asymmetric key pair for issuance of pp_pid_credential securing its integrity and authenticity. |