Topic G: Zero Knowledge Proof #408
Replies: 25 comments 20 replies
-
The discussion paper has this bullet point.
What does ‘negligible probability’ refer to? Is there some element of randomness that would allow a false statement to be considered true? |
Beta Was this translation helpful? Give feedback.
-
Hello @phin10 . Thank you for opening this discussion. Question. Why are you considering BBS+ to be a zero knowledge proof scheme? As far I understand the scheme provides selective disclosure. It is not categorized as a Non Interactive Zero Knowledge Proof scheme (NIZKP)? Valid NIZKP protocols include: zk-SNARKs, zk-STARKs, and bulletproofs (and derivatives of them) . But I do not know of any academic paper that mentions BBS+ as valid NIZKP. |
Beta Was this translation helpful? Give feedback.
-
[Comments on chapter 3][Chapter 3.1.1] “BBS# [Ora2024] is a modification of BBS+ allowing group signatures and selective disclosure based on ECDSA” => “BBS#[Ora2024] is an extension of BBS+ whose objective is to increase its security (by allowing holder-binding using classical WSCDs) and certifiability properties while maintaining its inherent privacy properties. [Chapter 3.1.3] Therefore, we propose to change the disadvantages to “Require support for digital signature schemes that are not widely supported yet on the issuer side”. [Chapter 3.2.1] Not only does the issuer need to play this relying party role, but the higher the needed level of certification for the issuer, the more it will need to have confidence in the quality of the presentation verification feature implementation, e.g. through formal proof mechanisms. However, the sensitivity of zk-SNARKs to the type of attestation and their complexity will generate significant burden for the issuers (and for the relying parties alike), particularly for high value ones in terms of deployability/interoperability/certifiability. Therefore we don’t believe that the statement that there are no significant changes in the issuer process is correct and we would even argue that the process of adding a new, relatively simple signature algorithm could be less of a burden than the management of notoriously complex zk-SNARKs. |
Beta Was this translation helpful? Give feedback.
-
[Comments on chapter 4.1]Generally, what the use of a properly designed ZKP scheme should do is decorrelate the “identity service layer” from the “infrastructure layer”. In other words, the ZKP scheme shall ensure that whatever is required by the relying party, provided by the issuer and presented by the holder, at the end of the presentation, the relying party only learns something from the information that the holder explicitly wanted to provide and learns nothing more from the underlying infrastructure. As a matter of fact, the issuer shall learn nothing in the process. What that means is that the holder is deciding by itself (and also based on relying party needs) what attribute it reveals in clear (e.g. date of birth), completely hides (e.g. *****), or minimises (e.g. “over 18”). If this is applied and if the considered scheme does not significantly increase the necessary processing, then the thinking should be reversed: is there any reason NOT to use a ZKP scheme for all transactions ? Using a ZKP scheme verifying the decorrelation between the infrastructure layer and the identity service layer would ensure a very flexible ecosystem naturally evolving towards more privacy. For instance, already today, ZKPs would be needed to implement the following relying party requests in a fully privacy protecting manner even if it could be implemented like today, with a much reduced level of privacy:
In order to achieve that vision properly, the most important features to implement are:
If a proper ZKP scheme is implemented, we see no reason to implement anything else, except potentially for resistance to quantum computer based forgery if the considered scheme is not quantum resistant. |
Beta Was this translation helpful? Give feedback.
-
[Comments on chapter 4.2]Yes, the support of ZKPs shall not endanger the security model and a WSCD-bound user binding shall absolutely be enforced, and of course without jeopardizing the privacy benefits brought by the use of ZKPs. In order to enforce the full trust model, the ZKP scheme shall also allow an efficient secure multi-VC linking, i.e. the ability to efficiently prove that multiple VCs used as part of a single VP are indeed associated to the same WSCD. Please note that the BBS# scheme requires WSCD-bound user binding by design, supports efficient secure multi-VC linking and is compatible with deployed WSCDs without requiring any update. |
Beta Was this translation helpful? Give feedback.
-
[Comments on chapter 4.3]Regarding proof generation time In the context of the BBS# schema, the computation time for a proof is approximately 100 ms for an attestation containing 50 attributes, of which 10 are disclosed. Regarding storage and communication overhead The overall size of data necessary for presentations shall also not be over a few MB in order to ensure the fluidity of transaction, in particular face to face, taking into account the low power requirements of the underlying proximity interfaces and thus their relatively limited performances. Even for online transactions, taking into account limited or transient connectivity situations would point to the same direction. - Depending on the envisioned solution, that probably means that the signatures used in presentations shall be under a few kB, especially taking into account the multi-VC presentation use case. Regarding hardware requirements |
Beta Was this translation helpful? Give feedback.
-
[Comments on chapter 4.4]Yes, ZKP scheme providers should collaborate with the relevant standardization bodies but in order to facilitate this process:
|
Beta Was this translation helpful? Give feedback.
-
[Comments on chapter 4.5]The system load analysis cannot be completely assessed theoretically, especially in view of a constantly evolving technical infrastructure where even the theorical impact of interactions on system load becomes a moving target. We therefore find it difficult to decide on a priori limits on technical interactions as long as full privacy, high security and the target user experience are achieved. Please also note that the comparisons on the overall load with and without ZKP might not always go against using ZKPs. In particular, implementing efficient privacy preserving revocation mechanisms might heavily reduce the load on the issuer side by allowing for much longer validity periods than 24 or 48h for attestations. |
Beta Was this translation helpful? Give feedback.
-
[Comments on chapter 4.6]Here are the additional properties that we think should be sought for in a ZKP scheme to be used in the eIDAS 2 context. Wieldy for MS : any proposed scheme shall be understandable, auditable and flexible enough in its deployment for Member States and their respective certification bodies to feel comfortable about using it in all circumstances without fearing any downstream use case limitation or risk. Compatible with the EC chosen protocols & formats : given the the EC willingness to use some specific protocols (like mDL & SD-JWT) as the core protocol for eIDAS, it is necessary for any proposed scheme to be compatible with these ARF promoted protocols and formats without major structural changes Everlasting privacy (AKA unconditional privacy) : the signature scheme shall support everlasting privacy. In particular, given the eventual arrival of quantum computer, transaction logs shall not offer any opportunity to come back to their author or the involved hidden attributes in any circumstance. Voting comes as an evident example to mind. Minimisation : chapter 2 lists range proofs as an example of “additional privacy properties”. We think it should be extended to any sort of minimisation whose final goal would be to only transact on predicates whereby the wallet would only answer “yes/no” to the exact required property from the verifier. E.g., for a business requirement of “over 18, not living in region A, and earning less than X” the answer would be yes or no as opposed to sending to the verifier the date of birth, the postal address and the salary which they don’t really need. Support plausible deniability for both issuance and presentation: plausible deniability states that the receiver of a signature cannot transfer it to a third party in a way that the third party can believe its completeness. This shall always be implemented for issuance in order to limit the incentive to steal credentials and optionally be implemented for presentation in the use cases where the knowledge of the transaction details might put the holder in an uncomfortable situation. Long VC validity periods : limiting the validity of VCs could create a wide range of issues from overloading the technical issuance and revocation chains to imposing unjustified end-user interactions. Being able to revoke VCs in real time (as soon as the information reaches the issuer) would allow such policies. Therefore, the proposed ZKP scheme would need to offer an implementation of this property that does not create new security or privacy risks. Blind signature : the signature of attribute by the issuer in a way that the issuer doesn’t know the value it is signing is instrumental in implementing a proper trust model while preserving privacy (and in particular full unlinkability). Secure multi-VC linking : in most (if not all) situations, presentations will require at least 2 attestations to be combined to be fully compliant with the trust model. In many situations, especially when the ecosystem grows and the use cases become richer, even more attestations might be required. In order to ensure that the attestations all originate from the same user with the same WSCD, it will be necessary to ensure that the considered ZKP scheme includes an efficient way to securely prove that they are indeed related while also preserving all privacy properties. Centralized WSCD attacks descaling : with the HSM being increasingly seen as the best compromise between security and reach at the launch of eIDAS, it is important to ensure that the breach of an HSM platform would not lead to a complete and immediate loss of security for all the users associated to it. If the considered scheme is able to split the credentials between an HSM part and a part on the device (even in software), the impact of the attack is immediately reduced as a potential attacker would then need to ALSO compromise each and every associated device. |
Beta Was this translation helpful? Give feedback.
-
Feedback: 3.2.1 zk-SNARKs The Iden3 protocol started its development back in 2018, led by Jordi Baylina, David Schwartz, and Antoni Martin, with the goal of creating decentralized and trusted digital identities that could be used in the scenario of a national referendum via an on-chain voting system. Iden3 is owned by the nonprofit “0KIMS Association” and is managed as a public good. A few components of the Iden3 protocol are worth highlighting:
Verifiable Credential Issuance Signatures / Proofs used in the Iden3 Protocol: 1- Signature Issuance Proof (BJJSignature2021): It proves that the specific issuer has issued the verifiable credential by a BJJSignature, which means the issuer simply signs the credential with their BJJ key and does not alter their issuer state tree. 2 - Merkle Tree Issuance Proof (MTP - Iden3SparseMerkleTreeProof ): It proves that the specific issuer has issued this verifiable credential by a Merkle tree proof that this claim is included in the issuer’s Claims Merkle tree, and is therefore in the issuer’s state. This state is published by the issuer to a trusted ledger. Since this algorithm does not use any kind of signature it is stronger against potential quantum attacks, versus other signature algorithms. You can see more details about each credential issuance methods in the Iden3 documentation for BJJSignature2021 and Iden3SparseMerkleTreeProof. Key Advantages of the Iden3 Credential Signature Schemes:
|
Beta Was this translation helpful? Give feedback.
-
On version 0.2Following the update to version 0.2 of the discussion paper, we would like to highlight some points of importance. [Chapter 2] On composite proofs, please note that a "hidden attribute binding" is not necessary with some ZKP schemes, and that all the randomized VCs leveraged in the VP embedding the same public key shall be enough of a signal to ensure proper combination. It would also ease the computing process on the relying party side for verification of the VP. We insist again that everlasting/unconditional privacy is a critical feature to support in such a potentially wide encompassing framework as eIDAS 2.0. Please note that any attribute that can be used as part of any conditional disclosure scheme will not have the everlasting privacy feature. Finaly, we are happy to see that you added the “Deniable Presentation” property, but quite puzzled as to why you left “Deniable Issuance” out. This is very strange, as 1. It brings a clear benefit in all cases, whereas the “Deniable Presentation” use case is highly dependant on a particular use case 2. Both are complementary and adding “Deniable Presentation” doesn’t cover at all for any of the issues that would be covered by a “Deniable Issuance” feature. [Chapter 4.1.4] Note: similar to [Chapter 2] comments. [Chapter 4.5]
On one hand, it was brought to the attention of the commission that to ensure citizen trust and wide adoption of the eIDAS 2 wallets, the proper level of privacy shall be mandatory for the launch of the wallet. However, we do consider that the ARF excluded the only known tool able to achieve this goal: ZKP (this point is also shared by several experts). The late concern about including them is what is bringing us to the expectation that ZKP schemes are going to "follow the launch of the EUDI Wallet", i.e. arrive very late to the party. On the other hand, due to the late integration of ZKP in the ARF, we might end up in a migration type situation. This involves all parts of the ecosystem. Issuers are an important part of the ecosystem but not the only one. The sustainability and expansion of the ecosystem will most probably depend on the financial flows originated from the Relying Parties. Taking all the above in consideration, we propose to change the statement to the following one: There is no obvious rational reason (to us at least) to only take into account issuer induced constraints and leave those of the rest of the ecosystem aside. As explained in this very discussion document, including ZKPs could touch on a lot of different aspects of the ecosystem, and they all need to be taken into account at the time when this will happen. The ecosystem not being completely defined yet and the associated impacts of ZKPs even less, concentrating on the impacts on only one of the ecosystem functions already from now would certainly introduce some analytical bias that we’re sure is not desired by the commission. This is a general issue that we have with the while 4.5 chapter: defining precise expectations for parts of the ecosystem from now on that are not related to the user experience seems very premature given the overall technical maturity of the ARF and we see a strong risk of introducing unjustifiable bias. Finally, we strongly believe that launching the eIDAS 2.0 infrastructure without including ZKP and their deriving privacy preserving properties is a very bad idea as it does not match the expectations of the European civil society and, as you rightly included in your own discussion paper, will create downstream migration issues. [Requirements] 6&7: unclear. Both in terms of what it means and what the purpose is. [General Comments] Focus on issuers Examples thereof: Everlasting Privacy |
Beta Was this translation helpful? Give feedback.
-
On behalf of the Spanish Data Protection Authority (AEPD) The attached document contains our comments on this topic. Thank you very much for this opportunity to contribute to this important discussion. |
Beta Was this translation helpful? Give feedback.
-
BBS# descriptionWe have put together an updated document describing BBS# in more details. We think it should be added to the references (chapter 6) in the Topic G document. |
Beta Was this translation helpful? Give feedback.
-
I think there is a typo in Version 1, Requirement 1, NOTE. The text refers to function (vi) but only five functions are defined. I think you mean function (v). |
Beta Was this translation helpful? Give feedback.
-
Thanks for documenting ARF Discussion Topic G - Zero Knowledge Proof. Please find below some comments that may be considered. More information about these comments can also be found in ETSI TR 119 476 v1.2.1. Standardization of cryptographic algorithms and SOG-IS approval In order for an eID scheme to reach LoA High according to EU CIR 2015/1502, in conjunction with Regulation (EU) No 1025/2012 on European standardization, the cryptographic algorithms need to be approved by the SOG-IS Agreed Cryptographic Mechanisms. Hence, one more requirement to be considered for the ZKP schemes is whether the cryptographic algorithms are approved according to the SOG-IS Agreed Cryptographic Mechanisms. In relation to standardization of cryptographic algorithms, it could be mentioned that IETF CFRG is currently in the process of specifying BBS+ in the IETF CFRG BBS standard, whilst DIF is drafting a specification for blind signatures extension of BBS+. ISO/IEC has initiated the Preliminary Work Item (PWI) 24843 on privacy-preserving attribute-based credentials. One objective of ISO/IEC PWI 24843 is to formally standardize the multi-message signature scheme version of ISO/IEC 20008-2, i.e. BBS+. ISO/IEC are also working on the common draft ISO/IEC CD 27565 "Guidelines on privacy preservation based on zero knowledge proofs". More specifically, Annex C of ISO/IEC CD 27565 includes an example of selective disclosure by using BBS+, with a reference to the IETF CFRG BBS draft specification. When it comes to zk-SNARKs, none of the zk-SNARK schemes are standardized yet, although some zk-SNARK schemes are based on hash algorithms that are SOG-IS approved. The standardization aspect and the SOG-IS approval of cryptographic algorithms should be considered as a separate requirement in ARF Discussion Topic G - Zero Knowledge Proof. zk-SNARK based solutions In addition to the mentioned zk-SNARK solutions in [Fri2024] and [Paq2024], it could be worthwhile to also mention Cinderella (zk-SNARKs used with X.509 certificates) and zk-Creds (zk-SNARKs used with ICAO DTC). Post-quantum safe ZKP schemes For more information on plausible post-quantum safe ZKP schemes, it is recommended to study Annex A.1 (PQS zk-SNARKs) and Annex C.3 (Lattice-based anonymous credentials schemes ) in ETSI TR 119 476 v1.2.1. Implementations in constrained devices One more aspect to be considered is whether the ZKP can be implemented in constrained WSCDs, such as secure elements or SIM-cards. Example of a ZKP solutions that are suitable for constrained WSCDs is Keyed-Verification Anonymous Credentials (KVAC) and BBS#. Other There is a small typo: "IRTF Crypto Forum Research Group" should be changed to "IETF Crypto Forum Research Group". |
Beta Was this translation helpful? Give feedback.
-
On version 1.0As compared to previous versions Requirement 10 Requirement 11
We already know that double signature at issuance and parallel infrastructures (if they are incompatible) between 2 types of schemes would be a way to migrate whatever the 2 protocols. We are really not sure what this requirement is trying to achieve and we think it shall simply be removed. On the contrary, important requirements such as everlasting privacy, that we know would actually start to be useful immediately, are still missing and shall be added immediately. |
Beta Was this translation helpful? Give feedback.
-
Great to see that Zero Knowledge Proofs are being considered so carefully in context of the ARF. I have looked at the discussion paper and ETSI TR 119 476 v1.2.1. from @Sebastian-Elfors-IDnow I think it gives a good overview and helps to interpret the complex subject matter. The paper mentions CL signatures and citates Idemix and the IRMA project, I'm currently responsible for that project and I would love to help in terms of giving practical insights. Might be good to know that we are currently exploring the following:
Furthermore I had one minor question about the requirements. All requirements except for Requirement 7 have the following or condition |
Beta Was this translation helpful? Give feedback.
-
The WUA MUST be managed through a ZKP schemeAs explained in this post, we do not see any other way than managing the WUA used for privacy sensitive (and then: why not for all ?) us cases through the ZKP schemes discussed in this topic. These include for instance majority / over 18 proofs which are eagerly awaited by some European governments and this is one of the (numerous) reasons why we think these ZKP schemes should be used already at the initial launch of the eIDAS wallet. |
Beta Was this translation helpful? Give feedback.
-
Proper sync with Topic V |
Beta Was this translation helpful? Give feedback.
-
Generic zk-(S)NARKs are the most effective long-term solution for anonymous credentials, and should be prioritised in the post-quantum upgrade path. This is not at odds with the use of BBS/BBS# signatures, which should be adopted in the immediate-term (as opposed to salted hashes). The main capability enabled by generic zk-(S)NARKs, over less expressive signature schemes, is the decoupling of provable predicates from issued credentials. This has the advantage of being future-proof against:
(Here is a link to the PNG file for the image above, with colored annotations) There is a large existing ecosystem of digital identity solutions using generic zk(S)NARKs (e.g. World ID [1], Rarimo [2], Self [3], iden3 [4]), who are eager to work with the EUDI and standards bodies on the longer-term goals of:
A high-level specification of generic zk(S)NARKs is a top priority for the TS04 draft specification, and can build on ongoing efforts such as the ZKProof Standards working groups [9]. [1] “World ID by World - Digital proof of human for the Internet”. https://world.org/world-id |
Beta Was this translation helpful? Give feedback.
-
Just fyi, Zero-knowledge is typically omitted from FRI or subcheck based "zk proofs" for performance, likely this covers almost all STARKs deployments, Ligero, etc. Auditors should carefully check any claims of zero-knowledge by these. See https://eprint.iacr.org/2024/1037 or https://www.youtube.com/watch?v=_A6uhQ2q_0M These proofs sound too large for identity applications anyways, so maybe not a concern, but they may come up when discussing legacy credentials. Groth16 deployments almost all have zero-knowledge, because afaik they cannot really save anything by not being zero-knowledge. As an aside, identity applications often benefit from the rerandomizability that only Groth16 offers, ala https://eprint.iacr.org/2023/002 or https://eprint.iacr.org/2024/2013. Groth16 is disliked by many zk implementers because of the circuit specific trusted setup, which creates a trust problem for smart contract workflows, but circuit specific trusted setup ceremonies are obviously fine for a government id system. I'd expect bulletproofs usually have zero-knowledge, because they seem useless without zero-knowledge. I've no idea about Plonk deployments, but zero-knowledge should be cheap for the pairing based ones. |
Beta Was this translation helpful? Give feedback.
-
This is perhaps too pedantic, but I think that the current text leaves the impression that [Api2025] is an improvement on BBS#, which is false. In fact, [Api2025] explicitly ignores device binding (see [Api2025, Footnote 3]), whereas solving device binding in a BBS-like protocol is the great insight of BBS# and the main reason why BBS# is interesting for EUDIW in the first place. |
Beta Was this translation helpful? Give feedback.
-
Given the exchange with @matteo-frigo just above, we feel that there are several misunderstandings regarding the BBS# proposal and we went through all the document and now want to raise issues for things that previously looked benign to us.
Furthermore, it seems that in this version (1.4) that we hope is not the final one based on the various comments made, there still is no mention of everlasting/unconditional privacy, which is completely paradoxical for us as it is the only way to ensure that transactions made now will be privacy protected forever against any sort of attack, even if the attacker gets access to the private key of the holder, or if the attacker has an unlimited computing power (including quantum capabilities). This is all the more surprising that other features that seem much more benign like Issuer Hiding are mandatory (SHALL used in the statement). All these points taken separately look like errors, however taken together give the impression that all inputs are not taken into account in the same manner, which would not be fair. |
Beta Was this translation helpful? Give feedback.
-
[Google Feedback] Google has reviewed this topic and is supportive of the proposal to incorporate ZKP systems as a component of the EUDIW architecture. We agree with the considerations around performance, and compatibility with existing attestation formats and attestation issuance infrastructure. |
Beta Was this translation helpful? Give feedback.
-
Thanks for publishing this document and open for discussion. My overall comment is essential. Many in the identity sphere overlook the basics that Qualified Unlinkable signatures represent the essence of eIDAS 2.0 - everything else is secondary as this is the critical principle that aligns the many legitimate requirements on digital processes. Cybersecurity, anti-crime, research, market/autonomy and fundamental rights all depend on the availability of qualified unlinkable signatures as the default. This is not new as already the Data Directive of 1995 defined data minimization, purpose-specificity and the necessity principles as core just as eIDAS 1.0 defined pseudonym signatures as a must-carry. The basic problem is that without good digital implementation all process based on these core technologies fail. These issues are not resolved by plastering zk-proofs as lip service on top of an inherently illegal and counter-productive surveillance structure which seems to be the agenda of ARF given the many surveillance-centric use cases that could be upgraded to legal structures.
Two main problems: b. The zk-universe is unable to support unlinkability at issuers which is criticial as most data and proofs inherently originate with an RP that require enrollment using unlinkable signatures. Even BBS# assume a shared identifier across providers but have no way to establish assurance that this is not used to link transactions or mix or conflict credentials of different citizens (identity lending or renting).
Maintaining integrity unlinkable across many issuers of credentials across many providers of technology is a nightmare that eIDAS specifications are not even close at providing in zk. Secondarily is the ability to establish and maintain integrity across one provider. Two main approaches: II. Upgrade the set of zk proofs and constructs to deal with the omissions. This require discovery of new mechanisms. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Welcome to the discussion on the Zero knowledge Proof, part of the ongoing development of the Architecture and Reference Framework (ARF) for the European Digital Identity (EUDI) Wallet.
This discussion is based on the document Topic G - Zero knowledge Proof.
ZKP offer strong potential as a privacy-enhancing technique. It should be revisited to determine the foundational requirements needed for its future integration, particularly focusing on defining specific requirements for implementing ZKP by using any type of WSCD/WSCA.
The paper presents the privacy properties of Zero-Knowledge Proof schemes, and introduces families of Zero-Knowledge Proof schemes and gives an overview of representative solutions. For the purpose of the ARF topics are discussed related to the integration of Zero-Knowledge Proof schemes into the ARF, and finally lists the additions and changes that will be made to the ARF as a result of discussing this topic with Member States.
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.
Beta Was this translation helpful? Give feedback.
All reactions