Topic B: Re-issuance and batch issuance of PIDs and Attestations #354
Replies: 20 comments 29 replies
-
Yes, a Wallet Solution must make it possible. An Attestation Provider may choose to limit the re-issuance in its Terms and Conditions and reject new token requests. Note that batch issuance of attestations should also be possible in OID4VCI without including multiple public keys and proofs of possession. See #284 and openid/OpenID4VCI#359. |
Beta Was this translation helpful? Give feedback.
-
Yes, a Wallet Solution must support batch issuance. Note that for capacity management reasons, an Attestation Provider may prepare batches off peak hours, so the ARF should not expect the batch to be signed or sealed at the moment of request by the Wallet Unit. |
Beta Was this translation helpful? Give feedback.
-
Agreed. But the PID Provider or Attestation Provider may invalidate the refresh token, and in this case Users should see an indication that the PID or attestation has become unavailable. |
Beta Was this translation helpful? Give feedback.
-
Yes, this is the simplest solution. A key known by the PID/Attestation Provider to be associated may also be used. For example using #287 |
Beta Was this translation helpful? Give feedback.
-
Multiple HDK and HDK-like solutions are possible. See #284. Requirement WUA_02 should be generalised sufficiently to enable such solutions. In all these solutions, the WSCD protects a device key (critical asset), which the WSCA can blind to obtain many associated public keys. The WSCA SHALL authenticate the User before performing any cryptographic operation involving the device key (critical asset). |
Beta Was this translation helpful? Give feedback.
-
The suggested change to WUA_02 in option 1 is indeed infeasible. |
Beta Was this translation helpful? Give feedback.
-
Option 2 may be useful for attestations that are yet to be presented, but is too risky as long as there is no common approach to ZKP. |
Beta Was this translation helpful? Give feedback.
-
The ARF should make HDK possible. A group of specialists from the Large Scale Pilot consortiums have analysed prerequisites: #282. Additionally, we need support to evolve the common HDK specification in draft-dijkhuis-cfrg-hdkeys and the implementation in OpenID4VCI as started in openid/OpenID4VCI#359. The ARF should also suggest using HDK with a reference to a concrete specification, to provide a complete reference architecture to Wallet Providers. It makes sense to recommend it as a option. Having clear reference architecture decisions, without too many options, makes implementation of a privacy-friendly ecosystem easier. I see no problems with making HDK support mandatory. In order to gain support for such a decision we should carefully address the Feedback to resolve HDK and PoA issues in the ARF. |
Beta Was this translation helpful? Give feedback.
-
This needs to be considered together with #333. The WSCA should only authenticate the User before creating a key associated with the first attestation, and subsequent batches may rely on this single authentication. Likely we can do with a single modified requirement WUA_02. |
Beta Was this translation helpful? Give feedback.
-
Yes, but as an optional, possibly user-configurable feature, up to the Wallet Provider. Users may not want their Wallet Unit to proactively contact many PID/Attestation Providers regularly. |
Beta Was this translation helpful? Give feedback.
-
This requires a disproportional amount of energy and bandwidth for the edge case that an attribute changes and its user wants to avoid manual action. |
Beta Was this translation helpful? Give feedback.
-
This may be a value-added feature provided by some Wallet Providers, but the tight coupling of Wallet Units to (presumably) centrally controlled HTTP services is not acceptable as a requirement. It creates a precedent to significantly complicate the ecosystem, just to make one of its roles seemingly easier to implement. Indeed being a PID/Attestation Provider requires specialized knowledge and a dedicated infrastructure. Governments should leverage and stimulate the internal market for trust services to make this competence and infrastructure available at scale in the EU. For example, (public or private) trust service providers of QEAA could deliver trust service components to PID Providers for re-use. |
Beta Was this translation helpful? Give feedback.
-
This is the most viable option. Following (EU) 2024/1183 recital (52), the ARF should encourage the deployment of e-delivery infrastructure to enable end-to-end communication channels between legal and natural persons such as PID/Attestation Providers and Users for structured messages. A Wallet Unit can be used to authenticate the User as a recipient in such e-delivery infrastructure initially, but could eventually be used as an agent for direct access to an e-delivery access point. |
Beta Was this translation helpful? Give feedback.
-
Have the Wallet Unit automatically check for revocation and enable the User to request re-issuance if revocation is detected. |
Beta Was this translation helpful? Give feedback.
-
re: the text here: 3c521bd#diff-ddfe04e611152cf17ec83903a26e5c411186867a196cb0921c59a1254fba734eR100-R102 in particular:
The reason for issuing a new refresh token is not clear to me and it may not be necessary if the refresh token is already sufficient sender constrained. (This so called 'refresh token rotation' is not usually necessary for security purposes with, for example, confidential OAuth clients where the refresh token is sender constrained by the client authentication.) If it is necessary, then experience from OpenBanking ecosystems is that such rotation is often problematic and can lead to the client holding refresh tokens that don't work, e.g. in the case of trying to rotate an access token whilst the network connection is unstable. This led to e.g. https://openid.net/specs/fapi-security-profile-2_0-04.html#section-5.3.2.1 discouraging the rotation of refresh tokens and requiring that if they are rotated the old token remains temporarily valid so that the client can recover if it failed to receive the new token value on the first attempt - similar language might be necessary here. |
Beta Was this translation helpful? Give feedback.
-
From version 0.4:
Please note that some details are not fully correct. Instead:
This is why we use “hierarchical”: one PID Provider or Attestation Provider may derive keys based on another PID’s or attestation’s public key. The “metadata required to apply HDK” for example includes seeds and key handles for key derivation. We have worked with the OpenID4VCI authors to ensure that the protocol supports adding these. In some deployments, the WSCA never fully derives the corresponding private key. For example, the WSCA may use multi-party signature schemes, or apply ECDH with multiple iterations. In those cases, WSCA derives key material that enables proving possession, as if it fully derived the corresponding private key. Therefore I suggest to use “effectively” in the description. |
Beta Was this translation helpful? Give feedback.
-
On behalf of the Spanish Data Protection Authority (AEPD) The attached document contains our comments and responses on this topic. Thank you very much for this opportunity to contribute to this important discussion. |
Beta Was this translation helpful? Give feedback.
-
My comments and recommendations on Topic B version 20 January 2025. |
Beta Was this translation helpful? Give feedback.
-
Addressing three more critiques on HDK I’m sharing some more notes from a discussion about HDK this morning, to enable public referencing and refinement. I’m only focusing on “remote HDK”: HDK when applied in interaction with the issuer, who can derive many public keys from a single (WSCD-bound) public key. In the notes below I’ll distinguish:
Functional association can have legal consequences. While functional association may be implemented using cryptographic association, this may be insufficient. Functional association should be designed in such a way that cryptographic properties cannot accidentally lead to legal consequences. Critique 1. Remote HDK introduces a new risk: a malicious issuer could derive a cryptographically associated public key, issue a document bound to it, and forge a functional PoA towards relying parties. Rebuttal 1. As specified in ARF Topic 9, keys are only functionally associated once the WSCA registers them as being associated. Therefore the malicious issuer action alone is insufficient: they would also need to convince the wallet/user to accept the issued document and register the association in the WSCA. The functional PoA towards RPs should therefore not merely be consist of a proof of knowledge of cryptographic blinding factors, but also of a WSCD-protected statement about the WSCA internal registry – e.g. a WSCD-created (blinded) digital signature over the PoA statement. This prevents the risk scenario. Note that if user acceptance of documents is insufficiently specified in the ARF, that should be improved. This is in PKI an important concept, cf. RFC 3647 § 4.4.4 Certificate Acceptance. Critique 2. Remote HDK potentially introduces legal scope creep: the WSCA may now also include the issuer. Rebuttal 2. According to the (EU) 2024/2981 Art. 2(4) definition, the WSCA manages critical assets. While the original WSCD private key is a critical asset, the HDK blinding factor is not a critical asset as per (EU) 2024/2981 Art. 2(11), which defines critical assets as being “assets within or in relation to a wallet unit of such extraordinary importance that where their availability, confidentiality or integrity are compromised, this would have a very serious, debilitating effect on the ability to rely on the wallet unit”. While blinding factors may be important for protecting documents, within and outside of wallets, they do not affect the ability to rely on wallets. Note that even though we speak about “remote key generation”, in remote HDK the issuer only generates a blinding factor (in what is cryptographically called a contributory key encapsulation mechanism or KEM), as metadata to achieve the privacy goal of RP-unlinkability. Functionally you could compare this to the issuer generation of salts in the “salted hashes” approach to enabling selective disclosure. While both are metadata assets to cryptographically protect confidentiality in documents that are potentially held by a wallet, they are distinct from the WSCD-protected cryptographic assets required to protect integrity. Critique 3. Remote HDK complicates the certification of issuer and wallet components and solutions. Rebuttal 3. Taking the legal interpretation above, it is quite simple:
Arguably, these are simpler requirements than when wallets and issuers would need to support functional PoA merely for the (batch) (re-)issuance of documents. Note that remote HDK also addresses the “cross-issuance” use case where the user presents PID to an issuer, who then issues QEAA/PuB-EAA back to the user, for which the user can then create a functional PoA. We will also need functional PoA in the ARF and someday in wallet/RP implementation, but designing and standardising functional PoA is easier when it is decoupled from the (batch) (re-)issuance use case, and limited to: #341 |
Beta Was this translation helpful? Give feedback.
-
I’ll prepare a longer reply to address all the points later but I just want to clarify that PoA does not address unlinkability. Quite the opposite, [**EDIT: as Verheul correctly points out, A NIZKP**] generates a proof that two attestations are linked.
You cannot achieve simultaneous issuer and verifier unlinkable attestations using standard crypto available to the eudiw. Issuers will be able to link presentations until we layer ZKP on top of MSOs / SD-JWTs. PoA is an entirely separate topic.
…Sent from my iPhone
On 18 Mar 2025, at 10:58, René Mayrhofer ***@***.***> wrote:
Thanks for the quick reply! It is clear that full unlinkability depends on the selectively disclosed attributes not allowing unique identifiabiliy, and the critical use case I have in mind are centered around public transport, age verification, etc. Thanks for confirming my first understanding that unlinkability in "distributed WSCD/WSCA" is achievable under issuer collusion.
I agree that wallet/WSCA-derived keys are clearly preferable to issuer-derived keys for the two main reasons of privacy (unlinkability under honest-but-curious issuer models) and control of entropy/input (under broken/dishonest issuer models). This is why we previously suggested BBS+ or related randomizable key/signature approaches. There may be scalability disadvantages by the wallet having to trigger re-issuing, but those need to be evaluated/quantified to make any reasonable comments.
Is there a statement on the patent situation around PoA, which seems to have triggered concerns?
—
Reply to this email directly, view it on GitHub<#354 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/BADDEALQM5E2NXNLSQUJYF32U7U3LAVCNFSM6AAAAABTSNMCACVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTENJTGYYTOMI>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Welcome to the discussion on Re-issuance and batch issuance of PIDs and Attestations, part of the ongoing development of the Architecture and Reference Framework (ARF) for the European Digital Identity (EUDI) Wallet.
This discussion is based on Topic B: Re-issuance and batch issuance of PIDs and Attestations discussion paper.
The paper provides background information, context, and initial proposals on re-issuance and batch issuance and open comments related to user authentication requirements and re-use of existing private keys. The paper explores challenges on:
This discussion is part of a structured process to refine and complete the ARF, with your input playing a vital role. We invite you to share your comments, insights, and suggestions here. Your contributions will be carefully reviewed and considered as we work towards the next version of the ARF, which will incorporate updates on this topic.
Thank you for participating in this important conversation.
@skounis and others feel free to edit and take over this discussion.
Beta Was this translation helpful? Give feedback.
All reactions