Skip to content

2.2 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 at rest, involves processing the data in unencrypted form in volatile memory
  • LH - long-term storage of the data but hardware backed
    • in case of the Wallet Instance, this is the local Hardware Key Store (HKS), e.g. TEE, Strongbox, Secure Enclave
    • in case of Wallet Backend, PID Provider, EAA Provider and optionally Relying Party, this is an Hardware Security Module (HSM).
      • in case of RWSCA, the Hardware Security Module is the RWSCD
  • S - short-term storage of the data for a specific transaction in volatile memory
Name User MDVM WB RWSCA PNS WI HKS PP EP RP MPP Description
wi_data_enc_symk - - - - - - P, LH - - - - Symmetric key to ensure integrity and authenticity of local data at the WI at rest.
mdvm_challenge_symk - P, LH - - - - - - - - - Symmetric key to ensure integrity and authenticity of mdvm_auth_challenge.
mdvm_auth_challenge - P, S - - - S - - - - - Challenge containing a nonce and timestamp for ensuring freshness of requests towards MDVM, MACed with mdvm_challenge_symk.
mdvm_wi_id - P, L - - L LE - - - - - Universally unique identifier of a WI at the MDVM, also embedded in mdvm_token
mdvm_wi_state - P, L - - - S - - - - - MDVM-internal revocation state of the WI account.
wi_mdvm_auth_prvk - - - - - - P, LH - - - - Private key of asymmetric key pair for authenticating WI towards MDVM, WB and RWSCA.
wi_mdvm_auth_pubk - L L L - S P, LH - - - - Public key of asymmetric key pair for authenticating WI towards MDVM, WB and RWSCA.
wi_mdvm_parent_prvk - - - - - - P, LH - - - - Private key of asymmetric key pair for signing wi_android_key_attestation.
wi_mdvm_parent_pubk - L - - - S P, LH - - - - Public key of asymmetric key pair for for signing wi_android_key_attestation.
wi_mdvm_reattest_prvk - - - - - - P, LH - - - - Private key of asymmetric key pair for providing a wi_android_key_attestation towards MDVM.
wi_mdvm_reattest_pubk - S - - - S P, LH - - - - Public key of asymmetric key pair for for providing a wi_android_key_attestation towards MDVM.
wi_mdvm_register_pop - S - - - P - - - - - Proof of possession of wi_mdvm_auth_prvk for MDVM registration process.
wi_mdvm_auth_pop - S - - - P - - - - - Proof of possession of wi_wb_auth_prvk for renewal of MDVM token process.
wi_android_key_attestation - S - - - P, S - - - - - Certificate chain for the Android key attestation about the wi_mdvm_auth_prvk/wi_mdvm_reattest_prvk and the integrity of WI and UD.
wi_device_class - S - - - P, S - - - - - Information about the hardware and software versions of the UD and WI.
wi_platform_attestation_challenge - P, S - - - P, S - - - - S Challenge as input for platform attestation of the UD or MPP.
pap_attestation_auth_prvk - - - - - - - - - - P, LH Private key of asymmetric key pair to sign MPP attestations.
pap_attestation_auth_pubk - L - - - - - - - - P, LH Public key of asymmetric key pair to verify MPP attestations.
pap_playintegrity_attestation - S - - - S - - - - P, S Android app attestation about the integrity of WI and UD.
wi_devicecheck_prvk - - - - - P, LH - - - - Private key of asymmetric key pair for signing wi_devicecheck_assertion.
wi_devicecheck_pubk - L - - - S P, LH - - - - Public key of asymmetric key pair for for signing wi_devicecheck_assertion.
pap_devicecheck_attestation - S - - - S - - - - P, S iOS DeviceCheck AppAttest attestation about the WI and wi_devicecheck_pubk.
wi_devicecheck_assertion - S - - - S P, S - - - - iOS DeviceCheck AppAttest assertion generated by HKS with wi_devicecheck_prvk.
mdvm_attestation_prvk - P, LH - - - - - - - - - Private key of asymmetric key pair to ensure integrity and authenticity of MDVM tokens towards WB and RWSCA.
mdvm_attestation_pubk - P, LH L L - - - - - - - Public key of asymmetric key pair to ensure integrity and authenticity of MDVM tokens towards WB and RWSCA.
mdvm_token - P, S S S S LE - - - - - Token signed by the MDVM that attests to the integrity and authenticity of the WI and its wi_mdvm_auth_prvk, and carries mdvm_wi_id.
wb_challenge_symk - - P, LH - - - - - - - - Symmetric key to ensure integrity and authenticity of wb_auth_challenge.
wb_auth_challenge - - P, S - - S - - - - - Challenge containing a nonce and timestamp for ensuring freshness of requests towards WB, MACed with wb_challenge_symk.
wb_wi_id - - P, L - - LE - - - - - Universally unique identifier of a WI at the WB.
wi_wb_auth_pop - - S - - P - - - - - Proof of possession of wi_mdvm_auth_prvk authenticating the request towards the WB for various WB operations.
wb_wi_state - - P, L - - - - - - - - WB-internal revocation state of the WI account.
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 S - - Proof of possession of wi_wia_prvk, may include a challenge, e.g. from the PID Provider or EAA Provider.
wb_wia - - P, S - - S - S S - - Short lived Wallet Instance Attestation (WIA), only used once, signed by wb_wia_auth_prvk.
wb_wia_status - - P, L - - S - L L - - Long-lived status information on the Wallet Instance, included in the Wallet Instance Attestation (WIA).
wb_wia_tsl - - P, L - - - - S S - - Status List Token published by the WB that aggregates the wb_wia_status of all referenced Wallet Instances, signed by wb_wia_tsl_prvk.
wb_client_instance_id - - P, L - - LE - - - - - Universally unique identifier generated by the WB that identifies a (WI, Credential Issuer) pairing and references the associated wb_wia_status; provided by the WI on WIA renewal so the WB reuses the same status entry without parsing a previous wb_wia.
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 L - - Public key of asymmetric key pair to ensure integrity and authenticity of Wallet Instance Attestations towards Issuers.
wb_wia_tsl_prvk - - P, LH - - - - - - - - Private key of asymmetric key pair to ensure integrity and authenticity of the Wallet Instance Attestation Status List Token.
wb_wia_tsl_pubk - - P, LH - - - - L L - - Public key of asymmetric key pair to ensure integrity and authenticity of the Wallet Instance Attestation Status List Token.
wb_wi_revocation_secret - - P, L - - - - - - - - Secret for authenticating the Wallet Instance revocation. The WB only stores the hash of wb_wi_revocation_secret.
wb_wi_revocation_code - - P, S - - - - - - - - Bech32-encoding of wb_wi_revocation_secret, used as the user input for authenticating the Wallet Instance revocation at the WB revocation service.
rwscd_challenge_symk - - - P, LH - - - - - - - Symmetric key to ensure integrity and authenticity of rwsca_auth_challenge.
rwsca_auth_challenge - - - P, S - S - - - - - Challenge containing a nonce and timestamp for ensuring freshness of requests towards RWSCA, MACed with rwscd_challenge_symk.
wi_rwsca_auth_pop - - - S - P, S - - - - - Proof of possession of wi_mdvm_auth_prvk and wi_rwsca_pin_prvk authenticating the request towards the RWSCA for the process of Remote WSCA operation.
user_rwsca_pin P,L - - - - S - - - - - Knowledge factor of user's MFA to approve presentations of credentials bound to the RWSCA.
wi_rwsca_pin_salt - - - - - P, LE - - - - - Cryptographic key used as salt for deriving wi_rwsca_pin_prvk and wi_rwsca_pin_pubk based on user_rwsca_pin entered by the user.
wi_rwsca_pin_prvk - - - - - P, S - - - - - Private key of asymmetric key pair for authenticating the user’s user_rwsca_pin to the RWSCA.
wi_rwsca_pin_pubk - - - L - P, S - - - - - Public key of asymmetric key pair for authenticating the user’s user_rwsca_pin to the RWSCA.
rwsca_account_id - - - P, L - LE - - - - - Universally unique identifier of a WI at the RWSCA.
rwsca_account_state - - - P, L - - - - - - - RWSCA-internal revocation state of the WI account.
rwsca_pin_retry_counter S - - P, L - S - - - - - Retry Counter for the user_rwsca_pin, managed by the RWSCA.
rwscd_pin_symk - - - P, LH - - - - - - - Symmetric key to ensure the authenticity and integrity of the rwsca_pin_session_token.
rwsca_pin_session_token - - - P, S - S - - - - - Short-lived session token, that attests the user authentication of wi_rwsca_pin_prvk for a short time, managed by the RWSCA.
wi_rwsca_operation_params - - - S - P, S - - - - - An operation that is requested by the WI to be performed by the RWSCA, e.g. to create keys or sign data.
rwscd_master_key - - - P, LH - - - - - - - Symmetric key in the RWSCD that is used to encrypt and authenticate all wrapped private keys that the RWSCD generates.
rwscd_wrapped_key - - - P, S - - - - - - - Wrapped key blob for a private key of asymmetric key pair that was generated by the RWSCD using rwscd_master_key and is exported to the RWSCA.
rwscd_aead_symk - - - P, LH - - - - - - - Symmetric key in the RWSCA that is used to encrypt and authenticate all rwscd_wrapped_key together with the rwsca_account_id.
rwsca_bound_wrapped_key - - - P, S - LE - - - - - Wrapped key blob for a private key of asymmetric key pair that was generated by the RWSCD and is associated to a rwsca_account_id and is exported to the WI.
rwsca_wte - - - P, S - S - S - - - Wallet Trust Evidence for issuing PID refresh token and batch credentials, only used once, signed by rwscd_wte_auth_prvk, containing rwsca_wte_status.
rwsca_wte_status - - - P, L - S - L - - - Long-lived status information on the WSCD, included in the Wallet Trust Evidence (WTE).
pns_challenge_symk - - - - P, LH - - - - - - Symmetric key to ensure integrity and authenticity of pns_auth_challenge.
pns_auth_challenge - - - - P, S S - - - - - Challenge containing a nonce and timestamp for ensuring freshness of requests towards PNS, MACed with pns_challenge_symk.
wi_pns_auth_pop - - - - S P - - - - - Proof of possession of wi_mdvm_auth_prvk authenticating the request towards the PNS for various PNS operations.
mpp_registration_token - - - - L LE - - - - P, L Token identifying the WI at the push notification service of the mobile OS, used by the PNS to send push notifications to a specific WI; re-registered by the WI after one month to prevent staleness.
pp_meta_data - - - - - S - P, L - - - Public configuration and metadata of the PP, provided as signed metadata and verified via pp_access_cert.
ep_meta_data - - - - - S - - P, L - - Public configuration and metadata of the EP, provided as signed metadata and verified via ep_access_cert.
pp_access_cert_prvk - - - - - - - P, LH - - - Private key of asymmetric key pair for authenticating the PP, used to sign the signed metadata pp_meta_data.
ep_access_cert_prvk - - - - - - - - P, LH - - Private key of asymmetric key pair for authenticating the EP, used to sign the signed metadata ep_meta_data.
pp_access_cert_pubk - - - - - - - P, LH - - - Public key of asymmetric key pair for authenticating the PP, used by the WI to verify the signed metadata pp_meta_data.
ep_access_cert_pubk - - - - - - - - P, LH - - Public key of asymmetric key pair for authenticating the EP, used by the WI to verify the signed metadata ep_meta_data.
pp_access_cert - - - - - S - L - - - Certificate for authenticating the identity of the PP, used to sign the PP metadata.
ep_access_cert - - - - - S - - L - - Certificate for authenticating the identity of the EP, used to sign the EP metadata.
pp_registration_cert - - - - - S - L - - - Certificate for authenticating the identity of the PP, used for consent display.
ep_registration_cert - - - - - S - - L - - Certificate for authenticating the identity of the EP, used for consent display.
pp_wia_pop_challenge - - - - - S - P, S - - - Challenge provided by PP to be used by WI for the WIA proof of possession.
ep_wia_pop_nonce - - - - - S - - P, S - - Challenge provided by EP to be used by WI for the WIA proof of possession.
wi_pkce_code_verifier - - - - - P, S - S S - - Nonce to ensure secure binding between Authorization and Token Request.
wi_pkce_code_challenge - - - - - P, S - 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 S - - OAuth client identifier that represents the Wallet Solution.
wb_redirect_uri - - P, L - - L - S S - - Claimed HTTPS URI (realized via Android App Links / iOS Universal Links) registered as the OAuth redirect_uri of the Wallet Solution, used by the PP or EP to redirect the browser back to the WI after authorization.
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.
ep_par_request_uri - - - - - S - - P, S - - URL linking to the EP and an associated issuance session from the Pushed Authorization Request as part of the OpenID4VCI protocol.
es_tc_token - - - - - S - P, S - - - 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 - 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 the successful authorization phase in the Authorization Code Flow.
ep_authorization_code - - - - - S - - P, S - - Token issued by the EP after the successful authorization phase in the Authorization Code Flow.
ep_pre-auth_code - - - - - S - - P, S - - Pre-authorized code issued by the EP in the Credential Offer, authorizing the Token Request in the Pre-Authorized Code Flow.
ep_tx_code S - - - - S - - P, S - - Transaction Code communicated by the EP to the user out-of-band, entered by the user in the WI to bind the Credential Offer to the user in the Pre-Authorized Code Flow.
wi_fake_dpop - - - - - P, S - S - - - Proof of possession of a local key, only used to receive a pp_dpop_nonce from PP (protocol-related necessity).
pp_dpop_nonce - - - - - S - P, S - - - Challenge provided by PP to be used by WI for the DPoP proof of possession of PID access/refresh tokens.
ep_dpop_nonce - - - - - S - - P, S - - Challenge provided by EP to be used by WI for the DPoP proof of possession of EAA 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_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 - - - Proof of possession of rwscd_rt_prvk authenticating the PID access/refresh token towards the PP.
wi_dpop_prvk - - - - - - P, LH - - - - Private key of asymmetric key pair for the DPoP proof sender-constraining EAA access tokens, managed in the local HKS.
wi_dpop_pubk - - - - - S P, LH - S - - Public key of asymmetric key pair for the DPoP proof sender-constraining EAA access tokens.
wi_dpop - - - - - P, S - - S - - Proof of possession of wi_dpop_prvk sender-constraining the EAA access token towards the EP.
pp_access_token - - - - - S - P, S - - - Token issued by the PP that authorizes issuance of PID credentials, sender-constrained to rwscd_rt_pubk via DPoP.
pp_refresh_token - - - - - LE - P, S - - - Token issued by the PP that authorizes issuance of new access tokens for PID credentials, sender-constrained to rwscd_rt_pubk via DPoP.
pp_c_nonce - - - S - S - P, S - - - Challenge provided by PP to be used by WI for freshness of the PID device binding proofs and key attestations (via RWSCD, e.g. rwsca_wte and rwscd_pid_device_pubk[]).
ep_c_nonce - - - S - S - - P, S - - Challenge provided by EP to be used by WI for freshness of the EAA holder binding proofs of possession.
ep_access_token - - - - - S - - P, S - - Token issued by the EP that authorizes issuance of EAA credentials, sender-constrained to wi_dpop_pubk via DPoP.
ep_refresh_token - - - - - LE - - P, S - - Token issued by the EP that authorizes re-issuance of new access tokens for EAA credentials without user authentication.
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.
wi_eaa_device_prvk - - - - - - P, LH - - - - Private key of asymmetric key pair for cryptographic holder binding of EAA credentials, managed in the local HKS.
wi_eaa_device_pubk - - - - - S P, LH - S - - Public key of asymmetric key pair for cryptographic holder binding of EAA credentials.
wi_eaa_device_pop - - - - - P, S - - S - - Proof of possession of wi_eaa_device_prvk for holder binding, provided to the EP in the Credential Request.
pp_pid_credential - - - - - LE - P, S - - - 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.
ep_eaa_credential - - - - - LE - - P, S - - Long-lived EAA credential, in case of batch issuance used only once, signed by ep_eaa_auth_prvk.
ep_eaa_auth_prvk - - - - - - - - P, LH - - Private key of asymmetric key pair for issuance of ep_eaa_credential securing its integrity and authenticity.
ep_eaa_auth_pubk - - - - - - - - P, LH L - Public key of asymmetric key pair for issuance of ep_eaa_credential securing its integrity and authenticity.
rp_response_enc_prvk - - - - - - - - - P, S - Private key of asymmetric key pair for application-level encryption of PID presentation.
rp_response_enc_pubk - - - - - S - - - P, S - Public key of asymmetric key pair for application-level encryption of PID presentation.
rp_access_cert_prvk - - - - - - - - - P,LH - Private key of asymmetric key pair for authenticating the RP.
rp_access_cert_pubk - - - - - - - - - P,LH - Public key of asymmetric key pair for authenticating the RP, used to verify the signed request object rp_openid4vp_request.
rp_access_cert - - - - - S - - - L - Certificate for authenticating the identity of the RP.
rp_registration_cert - - - - - S - - - L - Certificate for authenticating the intended use and registered attributes of the RP, used for consent display.
rp_client_id - - - - - S - - - L - OAuth client identifier that represents the RP.
rp_openid4vp_request - - - - - S - - - P, S - OpenID4VP request signed by rp_access_cert_prvk.
rp_cookie_id - - - - - S - - - P, S - HTTP cookie identifying the browser session.
rp_openid4vp_state - - - - - S - - - P, S - Nonce identifying the OpenID4VP session.
rp_dcql_query - - - - - S - - - P, S - JSON data structure provided by RP that defines the requested credentials.
rp_key_binding_nonce - - - - - S - - - P, S - Challenge provided by RP for the keybinding proof of possession.
rp_request_uri - - - - - S - - - P, S - URL linking to the rp_openid4vp_request.
wi_key_binding_data - - - - - P, S - - - S - JSON data structure used for key binding of pp_pid_credential.
wi_key_binding_data_hash - - - S - P, S - - - S - Hash of wi_key_binding_data.
rwscd_key_binding_signature - - - P, S - S - - - S - Signature of wi_key_binding_data using rwscd_pid_device_prvk.
wi_pid_presentation - - - - - P, S - - - S - Presentation of pp_pid_credential with key binding.
wi_response_enc_prvk - - - - - P, S - - - - - Private key of asymmetric key pair for application-level encryption of PID presentation.
wi_response_enc_pubk - - - - - P, S - - - S - Public key of asymmetric key pair for application-level encryption of PID presentation.
wi_openid4vp_response - - - - - P, S - - - S - OpenID4VP Response containing encrypted wi_pid_presentation.
rp_response_uri - - - - - S - - - P, L - URL provided by the RP for the Wallet to send wi_openid4vp_response to.
rp_redirect_uri - - - - - S - - - P, S - URL provided by the RP for the Wallet to redirect into the browser session.