Cryptographers' Feedback on the EU Digital Identity’s ARF #211
Replies: 53 comments 54 replies
-
Hello,
In order to give more credibility to the last point, we just posted a proposal explaining how BBS/BBS+ can be implemented with already deployed SEs in a very efficient way. This can even be made compatible with mDL / SD-JWT. |
Beta Was this translation helpful? Give feedback.
-
I believe this document addresses details of #193, among other issues. |
Beta Was this translation helpful? Give feedback.
-
@ad-Orange: thanks for your comment! Indeed, your post seems extremely relevant. Glad that we are all in agreement! |
Beta Was this translation helpful? Give feedback.
-
The one main question still is: Why signing at all?! We successfully showed in BSI TR-03110, TR-03130, etc. how to perform ephemeral authentication without having to sign anything without the need of "zero knowledge proof" or similar algorithms. 15 years ago and every single bit of it is still valid. The main problem of "verifiable credentials" is 3rd-party-verifiability by unauthorized, illegal / criminal 3rd parties. Also introducing data protection issues when verifiable credentials are accumulated at service providers. Verifiable credentials have their origins in the idea of "signed tokens" as used in OpenID Connect / OAuth2 tokens and SAML2 assertions (this was back in 2001!). The concept of unprotected CWT (RFC 8392) claims set in COSE (RFC 9052) revives the idea of using encrypted, authenticated point-to-point channels to securely transmit all required claims WITHOUT SIGNATURES: One could think about a hash or set of hashes to double-check overall integrity. But the idea of signing personally identifiable information is bad, obsolete and not needed at all. Proven during the past one-and-a-half decades in one of the largest EU member states. Best, Edit 1: added missing link to current IETF draft for UCCS. |
Beta Was this translation helpful? Give feedback.
-
I fully support the general recommendation towards more privacy-tailored cryptographic approaches, such as BBS/BBS+ Signatures, which has been put forward in this issue. In addition, I would like to mention the following two points:
|
Beta Was this translation helpful? Give feedback.
-
@kernoelpanic Thanks a lot. As we're on the jump to post quantum cryptography or currently hybrid mechanisms as well we need versatile "basic" cryptographic primitives. BBS / BBS+ is a DEAD END STREET under the view point of crypto agility and especially forward towards PQC interoperability. |
Beta Was this translation helpful? Give feedback.
-
@ckahlo I would not call BBS/BBS+ a "dead end", it is probably the most thoroughly researched algorithm specifically designed for the use case at hand and the most advanced in terms standardization (compared to other newcomers). Is it perfect? Probably not, as nothing will be. I am getting your point regarding signatures and 3rd-party-verifiability and the demand for repudiation, which I also support. Although BBS+ as put forward in the RFC does not have this as an explicit goal, I believe the underlying primitives can be used to achieve schemes which can do it, at least with a performance decrease e.g, when used interactively (please correct me if I am wrong). So assuming, repudiation/deniable authentication could also be solved, what remains is the threat of a quantum computer, but abandoning a by-today's-standards well thought through approach that ticks almost all boxes (maybe all with some tweaks) because of this is also not the way to go my opinion. This does not mean, that we should not consider upgradeability right from the start. Generally, it would be a good idea for the discussion to agree on a prioritized list of boxes which should be ticked by a solution first. Maybe, there is no one-size-fits-all solution ... |
Beta Was this translation helpful? Give feedback.
-
Please note that the main basis for this document is the published legal text of the regulation, i.e. the list of requirements (unlinkability, selective disclosure, pseudonymity, etc.) is taken directly from the regulation. We intentionally did not want to go through the requirements analysis itself, because this is defined in the law at this point. |
Beta Was this translation helpful? Give feedback.
-
@kernoelpanic As regards to repudiation, there is indeed a technology invented in 1996 to implement plausible deniability for all ZKP based anonymous credentials. We detail its use with our BBS# proposal in page 20 of our paper (it is called DVP and referenced as [JSI96]). Please also note that contrary to popular belief, interactive ZKP do not provide plausible deniability. |
Beta Was this translation helpful? Give feedback.
-
@ad-Orange Following IT-Security best practices:
that the user does not need to rely on trusting the relying party that they do not forward the tokens? If we also take the eIDAS2 requierments by heart following security by design at state of the art, do you see a way around 2FA for LOA high including an airgapped physical token? |
Beta Was this translation helpful? Give feedback.
-
@ckahlo So in essence, you are opposing a possible but as of yet hypothetical threat (“quantum supremacy”) to a legal requirement (respect of GDPR including minimization and unlinkability) due today. Furthermore, it's not even clear how you would end up being GDPR compliant with your so called 'versatile "basic" cryptographic primitives'. Now, let’s talk about authenticated channels:
As long as there is no clear advantage identified today for authenticated channels as opposed to other proposals (including the paper we just posted), especially taking into account the constraints that will be there at the launch of eIDAS in a few years, it doesn’t seem like less of a “dead street end” than BBS/BBS+… |
Beta Was this translation helpful? Give feedback.
-
@LittleDetritus, I'm not sure you are understanding how DVPs work. Basically, you can steal or forward the ZKP to anyone you want, they will not be able to assess their validity (except its designated target, e.g. the verifier to whom the holder is doing the presentation). Once again, it's a technology that dates back to 1996 and how to use it in the realm of BBS signatures is explained in our paper around page 20. |
Beta Was this translation helpful? Give feedback.
-
Speaking as an Editor for the W3C work cited in the paper (W3C Verifiable Credentials, W3C Data Integrity, the W3C Data Integrity BBS Cryptosuite), and as someone deploying that technology with national and state governments globally, I agree with the findings of the cryptographic review and the experts that put the paper together. The current approach taken by SD-JWT is deeply flawed, as it relates to unlinkability and cryptographic agility, and has been flawed from the beginning. This has been expressed multiple times over the years, but the review from the cryptographic experts listed above hopefully places more weight on the previous criticisms of the use of SD-JWT. It is not fit for purpose for the EU's Digital Identity initiatives. I will also note that the W3C VCWG has known about these limitations for years and has provided a viable alternate path via W3C Verifiable Credentials, W3C Data Integrity, and the W3C Data Integrity BBS Cryptosuite. Additionally, future cryptographic innovations utilizing W3C Data Integrity wouldn't require a format change, by design. The same cannot be said for VC-JWT, SD-JWT, or JWP. I will also note that a review of the ARF's data model choices and cryptographic primitives have not been requested of any W3C Working Group. I would strongly suggest that the European Commission (or relevant body) officially request a review from the W3C on the ARF, as many of the experts in the W3C would not feel comfortable volunteering an unsolicited review. |
Beta Was this translation helpful? Give feedback.
-
@ckahlo the German solution is well-known and from security point of view the best solution. The disadvantage: Lack of adoption. Germany achieved 15% usage rate after 14 (!) years since publishment Your statement " But the idea of signing personally identifiable information is bad, obsolete and not needed at all. Proven during the past one-and-a-half decades in one of the largest EU member states." is a bit wrong looking at the less usage rate in Germany. Looking at Germany its proven that the German approach was best for security because it also mitigates the biggest security risk - the user. "One could think about a hash or set of hashes to double-check overall integrity." - a hash without PoE is useless. Majority of EU Member states use signed data in eID: Which fraud identity or data dealers for which signed eiD Data from which eID means based on which eID Scheme do you know? Please provide so that we can analyse commonly. This information is essential to assess the security risk and possible measures |
Beta Was this translation helpful? Give feedback.
-
At first: I gave a ❤️ emoji to the initial post, because I totally AGREE on BBS+ in case one has to rely on software certificates or weak key stores like Androids StrongBox or Apples SecureEnclave. In absence of stronger protection mechanisms of the private key, signed ID data is the only option we have. I am very well aware of that and was looking for a clear answer, because we're talking about secure elements as if this was the very same thing as well. So, without a secure element of any kind: BBS+ is probably the best way to go. Authenticated channels would lead to forgeable identities if the authentication key is leaked. A clear no-brainer I assume. @ad-Orange 1st comment: my question "why signing at all" wasn't with repudiation in mind, it's an option. Reduced to repudiation I might agree. @ad-Orange 2nd comment: Thanks for https://github.com/user-attachments/files/15905230/BBS_Sharp_Short_TR.pdf,
Authenticated channels:
BUT: I would be interested in having a closer look into the backgrounds of your paper. Because from I would be happy if we could confirm your findings from your paper and would encourage our BSI to have a closer look at it. If it works out, we could push it together. Hint: I've some dozen top-notch secure elements here - but older ones as well. :-) @KeepTrust: what a bold comment from an account created just 15 hours ago! That being said: Germany has a high population density with a good offline infrastructure compared to more rural areas within the EU. Additionally there is the "silver generation" with a fear of technology. Let's have a look how the adoption in the EU will be before judging too early. Technically the usage rate is not linked to the underlying protocols. We started to issue the first And we're also aware about some EU members not applying any reasonable security measures as well! Thanks for the fish. Just a hint: use Google with "estonian identity disaster", look up how Petr Švenda became able to impersonate basically everybody in Estonia. And continue, there are more examples. But that's your homework, not mine. From my side this is end of discussion. Good bye & good night, |
Beta Was this translation helpful? Give feedback.
-
A quick (rookie) question, if allowed, would this work with TPM 2.0? |
Beta Was this translation helpful? Give feedback.
-
@veikkoeeva Yes. E.g. ECSchnorr as signing scheme in the toolchains. The TCG specs also specify it. |
Beta Was this translation helpful? Give feedback.
-
It is pretty clear that ARF is heading for BIG TIME failure - doing the exact opposite (i.e. total surveillance) of what is needed (empowerment of citizens). |
Beta Was this translation helpful? Give feedback.
-
Dear @alysyans, Identity means at Level of Assurance High Revocation of Attestations Hardware Support and Cryptographic Functions Conclusion |
Beta Was this translation helpful? Give feedback.
-
In terms of certification for LoA High, do we already have specific targets or are these also under discussion as indicated by the parallel ATAG? The context of this question is that a notable set of hardware in current smartphone implementations already carries various certifications, e.g. the Qualcomm Snapdragon 888 SPU with EAL4+AVA_VAN.5 (https://www.tuv-nederland.nl/assets/files/cerfiticaten/2021/12/nscib-cc-0227918-cr.pdf), the Samsung S3K250AF with EAL5+ (https://news.samsung.com/global/samsung-introduces-best-in-class-data-security-chip-solution-for-mobile-devices), or the Google Pixel Titan M2 with BSI-CC-PP-0084-2014 (also EAL4+AVA_VAN.5, https://www.commoncriteriaportal.org/files/epfiles/NSCIB-CC-2300073-01_CERT.pdf). It seems possible that the same hardware can be made capable of creating full BBS(+) signatures with only a firmware update, and to certify that implementation, basically retrofitting existing hardware in the field. Which certification schemes would most likely relate to the LoA High requirements from https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32015R1502 ? Detailed questions about the curves to use and potential (minor) modifications to BBS(+) are certainly open, and we should keep discussing options for reaching both the security and privacy requirements outlined in the regulation. |
Beta Was this translation helpful? Give feedback.
-
@paolo-de-rosa
So if we match it to the requirement in your post, and reminding the basics (this is a BBS style protocol with all the privacy that comes with it – we actually added plausible deniability in addition to the “usual” BBS privacy features using a well known technics from 1996): Identity means at Level of Assurance High
Revocation of Attestations
Hardware Support and Cryptographic Functions
Conclusion
I would like to know if you (or anyone else actually – especially the 6 people that thumbed your post up until now I guess) sees any issue with this, in particular with the underlying security model, or the proofs that are provided. I would also like to understand why such a scheme would not be taken into the ARF in the very short term as it is the only proposal we know of today that allows both a proper security model and being compliant with GDPR. |
Beta Was this translation helpful? Give feedback.
-
It would be helpful in this discussion to describe specifically which elements of the regulation (citing the numbered clauses) the OP believes are not satisfied by the tech proposed in the ARF, and which elements an anoncreds BBS+ solution would address. I recall that some of the pushback on anoncreds early on was related to the underlying cryptography mechanisms (especially relating to ZKPs) not being on the NIST or SOG-IS approved list of acceptable cryptography mechanisms, therefore not usable by European governments. Is this still the case? Lastly on revocation, the potential for correlation through embedded revocation information within credentials (eg the position on a status list of a revocation bit being a perfect correlator) is a very tricky issue to handle. It would be useful to understand how the ARF-proposed technologies manage this versus the suggested anoncreds BBS+ approach. I'll get my popcorn ready. |
Beta Was this translation helpful? Give feedback.
-
Hi everyone! at the Dyne.org foundation we agree with criticism of EUDI ARF exposed by the paper in subject, in fact since months. We started working on an alternative system to SD-JWT we name SD-BLS. Our threat model includes revocation issuer corruption, since we believe that to be extremely relevant for civil society. |
Beta Was this translation helpful? Give feedback.
-
Hi folks, if you'd like to get a feel for what a JavaScript only BBS implementation running in a browser feels like give my BBS Demo a try. This was used in talks to the W3C CCG and NIST about a year ago. The performance is feels pretty good, which is a helpful non-quantitative measure. Note that Typscript, Rust, and Java implementations of BBS are available too. Also remember that the pairings computations are only used in signature and proof verification and not in signature or proof generation. We're currently updating the Blind BBS and BBS Per Verifier Id drafts. If you have feedback let me know, join the BBS DIF discussion group, or use the CFRG mailing list. Cheers Greg |
Beta Was this translation helpful? Give feedback.
-
I've been in and out of this thread this week and now see it's a discussion. Good! In the context of anonymous credentials, I wanted to be sure people are aware of AnonCredsV2: Concretely, AnonCreds v2:
Forgive me if already posted. Cheers-Cam |
Beta Was this translation helpful? Give feedback.
-
@andy-tobin @paolo-de-rosa for the revocation discussion the team should take a look at this: https://hackmd.io/LGlyexsRSBqrm7TIKzzZ_A Privacy Preserving Scalable Revocation Introduction (much more than this) Revocation is one of the most difficult aspects of any credentialing system. PKI (Public Key Infrastructure) uses a "phone-home" system where clients check with the issuer whether the certificate is still valid (not-revoked), thus no privacy. Other proposals based on PIR (Privacy Information Retreival) require clients to download the entire [3, 4] (or a big enough subset) list of valid entries, disclose their unique index or identifier and check this against the list. While this approach allows the presenter to remain anonymous with the issuer, it does not achieve privacy with the verifier. Some accumulator based approaches require publishing updates when entries are added and removed which requires clients to download large lists to perform local updates and stay in sync or "phone-home" to the revocation manager. Neither approach is scalable and privacy preserving. Downloading large lists penalizes users who do not stay constantly current since they must download all changes since their last update, leaking how long they've been offline, and in some cases is not cryptographically secure (see [1] for these details). Other accumulator based schemes have been proposed [5] that use static lists created at initialization time but again require downloading large amounts of data which can cause issues when checking for current status. The most common non-privacy approach requires users to "phone-home". The "phone-home" concept is defined as the holder revealing their revocation claim to the issuing party (or intermediary) to determine their revocation status. Either the holder does this directly or the verifier forwards the claim to the issuing party. In this manner, the revocation manager either returns another credential with the current status or gives the status directly. The additional credential can be good for a single presentation, includes date times like expires after or at, or some other method. This is also not privacy preserving as the revocation manager and/or others learn unintended information about the presenter. In many cases the revocation claim being checked is a unique value. This value can be used to track the presenter across uses which is undesirable much like a tracking cookie. To be both scalable and privacy-preserving, the revocation scheme must meet the following requirements:
|
Beta Was this translation helpful? Give feedback.
-
What’s the latest thinking on the utilisation of a trusted “Revocation Service Provider” (RSP) that provides an intermediary service for revocation status checking? In this model, the issuer publishes cred revocation status info to the RSP. The RSP provides a relying party with a yes/no answer as to whether a presented credential is revoked. Or the holder contacts the RSP and then provides a ZKP or signed RSP response to the RP confirming their cred isn’t revoked? Obviously the RSP is the correlation point here, but it’s easier to regulate and monitor a small number of RSPs than it is to try and manage thousands or millions of issuers. |
Beta Was this translation helpful? Give feedback.
-
I do not believe that there would be a way to achieve unlinkability/unobservability guarantees under collusion assumptions with RSPs, but would love to see proposals that do so.
…On June 30, 2024 2:35:44 PM GMT+02:00, Andy Tobin ***@***.***> wrote:
What’s the latest thinking on the utilisation of a trusted “Revocation Service Provider” (RSP) that provides an intermediary service for revocation status checking?
In this model, the issuer publishes cred revocation status info to the RSP. The RSP provides a relying party with a yes/no answer as to whether a presented credential is revoked. Or the holder contacts the RSP and then provides a ZKP or signed RSP response to the RP confirming their cred isn’t revoked?
Obviously the RSP is the correlation point here, but it’s easier to regulate and monitor a small number of RSPs than it is to try and manage thousands or millions of issuers.
--
Written on my mobile phone. Please excuse typos and excessive brevity.
|
Beta Was this translation helpful? Give feedback.
-
How to standardise BBS How to implement BBS at the issuers The Compiled list of QSCDs does not yet seem to contain any QSCD with BBS support. Adding a new QSCD with BBS support requires:
Getting a single product through this process within two years is a significant challenge, given the need for specialist labs and authorities with full backlogs. We would need an industrial transformation though, in which multiple vendors provide QSCD solutions that issuers can tender early enough on their implementation roadmap. This requires a substantial coordinated effort. What to do in the meantime To additionally address the untraceability requirement, we could explore creating an issuer signature not for each individual attestation, but for a large enough batch of short-lived attestations (sander/hierarchical-deterministic-keys#1). All attestations for all subscribers for this issuer would be mixed together. This way, the issuer signature does not provide extra information: relying parties only learn that two attestations were issued during a single time window by a single issuer. This fact they could learn from the issuer ID and timestamp anyway. This approach seems compatible with today’s QSCDs. It also reduces the operational load for issuers. |
Beta Was this translation helpful? Give feedback.
-
First independent implementation of BBS#dock.io, a well-recognized actor of the SSI space has made a first independent implementation of BBS#. |
Beta Was this translation helpful? Give feedback.
-
The EUDI Wallet Team of the European Commission invited subject-matter experts (i.e. cryptographers) to participate in a Webex meeting on June 5th or 6th, 2024, in which the team presented their current design of the EUDIW (ARF version 1.4.0), and requested feedback. They specifically requested feedback concerning attestations and zero-knowledge proofs. Our feedback is in this document: cryptographers-feedback.pdf
The attached document was co-authored by and thus represents the consensus opinion of the following cryptographers who were present on one of the two calls:
Carsten Baum, Technical University of Denmark
Olivier Blazy, École Polytechnique
Jaap-Henk Hoepman, Karlstad University & Radboud University
Anja Lehmann, Hasso-Plattner-Institute, University of Potsdam
Anna Lysyanskaya, Brown University
René Mayrhofer, Johannes Kepler University Linz
Hart Montgomery
Ngoc Khanh Nguyen, King's College London
abhi shelat, Northeastern University
Daniel Slamanig, Universität der Bundeswehr München
Søren Eller Thomsen, Partisia
Five additional experts (who were unable to participate in the calls, but carefully reviewed the ARF and other relevant materials) also co-authored this document:
Jan Camenisch, Dfinity
Eysa Lee, Brown University
Bart Preneel, KU Leuven
Stefano Tessaro, University of Washington
Carmela Troncoso, EPFL
Executive summary:
The eiDAS 2.0 regulation (electronic identification and trust services) that defines the new EU Digital Identity Wallet (EUDIW) is an important step towards developing interoperable digital identities in Europe for the public and private sectors. The regulation, if realized with the right technology, can make Europe the front runner in private and secure identification mechanisms in the digital space, and act as a template for future digital identity systems in other regions.
Unfortunately, we believe that some of the currently suggested design aspects of the EUDI and its credential mechanism fall short of the privacy requirements that were explicitly defined after extensive debate in the Digital Identity regulation. The main reason for this shortcoming in the current proposal is that it relies on cryptographic methods that were never designed for such requirements.
We do not see a way to fix the proposed solution to meet all the privacy features as required by the regulation; we believe that a larger redesign is in order.
In this document, we propose to use a different cryptographic mechanism instead; namely, anonymous credentials. Anonymous credentials were designed specifically to achieve authentication and identification that are both secure and privacy-preserving. As a result, they fully meet the requirements put forth in the eiDAS 2.0 regulation. Moreover, they are by now a mature technology. This technology was developed more than twenty years ago, and extensive efforts have been expended to analyze, improve, implement, standardize, test, and deploy it. Anonymous credentials are well understood by the scientific community.
Our specific recommendation is to use the BBS family of anonymous credentials. For BBS, thanks to prior work by the W3C, the Decentralized Identity Foundation, IETF/IRTF, ISO, and other standardization bodies, as well as the availability of open-source software libraries, the EC can develop a standard and reference implementation with only a modest effort. We additionally recommend that the EUDI be designed following the principle of crypto-agility, meaning that its underlying technologies can be upgraded quickly in the future if the need arises.
We thank the EC for this opportunity to weigh in. We would be excited to continue to provide feedback on this important endeavor, and see this document as the beginning of a longer dialogue.
cryptographers-feedback.pdf
NOTE: We are still polishing the document for readability and adding pointers to relevant literature; an updated version will likely be posted here in the near future.
Beta Was this translation helpful? Give feedback.
All reactions