WO2024201126A1 - Anonymous and unlinkable authentication with membership test via private set intersection cardinality - Google Patents

Anonymous and unlinkable authentication with membership test via private set intersection cardinality Download PDF

Info

Publication number
WO2024201126A1
WO2024201126A1 PCT/IB2023/056617 IB2023056617W WO2024201126A1 WO 2024201126 A1 WO2024201126 A1 WO 2024201126A1 IB 2023056617 W IB2023056617 W IB 2023056617W WO 2024201126 A1 WO2024201126 A1 WO 2024201126A1
Authority
WO
WIPO (PCT)
Prior art keywords
prover
prf
key
protocol
checklist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2023/056617
Other languages
French (fr)
Inventor
Christiane KUHN
Giorgia Azzurra MARSON
Sebastien Andreina
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories Europe GmbH
Original Assignee
NEC Laboratories Europe GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Laboratories Europe GmbH filed Critical NEC Laboratories Europe GmbH
Publication of WO2024201126A1 publication Critical patent/WO2024201126A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Definitions

  • a self-sovereign identity (SSI) system enables individuals to have full control of their own identities and credentials.
  • Verifiable anonymous credentials (VAC) provide a powerful tool to realize the SSI vision.
  • VAC Verifiable anonymous credentials
  • a user can obtain credentials from a credential issuer, and can later use these credentials to authenticate to verifiers anonymously.
  • the authentication process is performed peer-to-peer between end-users and verifiers, without the need of involving the credential issuer. Additionally, users remain anonymous to verifiers and are unlinkable across interactions.
  • the method includes: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result.
  • DOPRF distributed oblivious pseudorandom function
  • FIG.1 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing according to an embodiment of the present disclosure
  • FIG.2 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing for a three-party case according to an embodiment of the present disclosure
  • FIG.3 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing for a two-party case according to an embodiment of the present disclosure
  • FIG.4 illustrates a processing system configured according to an embodiment of the present disclosure.
  • An aspect of the present disclosure provides a method that performs a privacy preserving blacklist or whitelist matching in a self-sovereign identity-based (SSI-based) digital identity system.
  • the matching can be made on any attributes of a users’ anonymous credentials.
  • a system configured to perform the method and a computer-readable medium configured to store instructions for executing the method are also provided according to aspects of the present disclosure.
  • implementations according to the present disclosure uses a PRF-based representation of the list elements computed obliviously by means of a DOPRF protocol.
  • a DOPRF protocol a protocol for modifying the list elements.
  • Kohlweiss leaks the identity of the user, thereby violating the privacy of said user.
  • implementations of the present disclosure only reveal whether the user’s identity belongs to the checklist, which is the minimal leakage needed for a membership test application.
  • Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0013]
  • authorities and/or corporations may like to screen users against a checklist.
  • the checklist is held by the verifier or by third parties.
  • the user presents their identity to the verifier, and the verifier locally checks the presented identity against the checklist.
  • the verifier therefore, needs to inspect the identity of the user.
  • Current realizations of this scenario lack sufficient technical mechanisms to protect the privacy of users.
  • the verifier performing a local check also learns all elements in the checklist, thereby violating the privacy of the list holder.
  • the current realizations also lack sufficient technical mechanism to protect the privacy of the list holder.
  • VAC solutions do not allow for realizing the aforementioned checklist-matching scenario.
  • existing solutions for membership tests with respect to a verifier-held checklist, require verifiers to disclose their checklist so that users can generate a zero-knowledge proof of membership to the checklist in the case of a whitelist (or non-membership to the checklist in the case of a blacklist).
  • the state of the art VAC methods merely perform a zero-knowledge membership tests on public lists. See, e.g., Benarroch et al., “Zero-Knowledge Proofs for Set Membership: Efficient, Succinct, Modular”, Financial Cryptography and Data Security, Lecture Notes in Computer Science, vol 12674, pp.
  • the present inventors have designed privacy- preserving authentication mechanisms, implemented according to aspects of the present disclosure, that are adapted for a three-party scenario, where a verifier does not need to have (and may be excluded from having) access to the blacklist / whitelist, but only needs a proof of inclusion or exclusion of the users within the blacklist / whitelist.
  • Privacy-preserving mechanisms adapted for this three-party scenario solve the technical failures of the current state of the art private membership tests.
  • an embodiment of the present disclosure adapted for the airline domain advantageously incorporates privacy-preserving mechanisms that allow an airline to check travelers according to a sanction list held by the government without leaking any information. Attorney Docket No.819585 (Client Ref.
  • NLE-1267-22-WO Other example use cases can include border control police screening the passengers and vehicles according to “watchlists,” and airlines or hotels checking if the check-in guest is in a “VIP list” without leaking their VIP list to the users.
  • casino in addition to an “unwelcomed-list,” casinos also have “self-exclusion” program that restricts the admission of certain customers.
  • the present disclosure provides a method that performs a privacy-preserving membership test, on a private list, for the identity associated to a verifiable anonymous credential, enabling a verifier to check whether a user participating in the authentication/authorization process belongs to a checklist held by a list holder.
  • a method for anonymous credential verification and privacy-preserving membership test executes a protocol between a prover holding anonymous verifiable credentials (VAC), a verifier, and a list holder holding a checklist.
  • VAC anonymous verifiable credentials
  • steps 1-2 check the credentials
  • steps 3-7 check the user according to the list
  • step 8 provides the connection between these parts and the final output.
  • the following protocol includes the following steps: Step 1: Providing, by the prover, a verifiable presentation of her anonymous credentials, a commitment to her identity, and a zero-knowledge proof binding her identity to the credentials.
  • Step 2 Verifying, by the verifier, the credentials and the zero-knowledge proof.
  • Step 3 Selecting, by the list holder, a pseud-random function (PRF) key share uniformly at random and committing to it; generating a commitment for each element of the checklist; sending all the commitments to the prover.
  • Step 4 Selecting, by the prover, a PRF key share uniformly at random, committing to it, and sending it to the list holder.
  • Step 5 Pseudorandom representation of the checklist: Executing a shuffled distributed oblivious PFF (DOPRF) protocol, with committed key-shares and committed inputs, between the list holder acting as the sender and the prover acting as the receiver, on input the elements of the checklist, and providing the output to the verifier.
  • DOPRF distributed oblivious PFF
  • Step 6 Pseudorandom representation of the user ID: Executing a DOPRF protocol, with committed key-shares and committed inputs, between the prover acting as the sender and the list holder acting as the receiver, on input the prover’s identity, and providing the output to the verifier.
  • Step 7 Generating, by the prover, a zero-knowledge proof for input consistency of the committed value used in the credential verification protocol from Step 1 and the committed value used in the DOPRF protocol from Step 6.
  • Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO)
  • Step 8 Verifying, by the verifier, the zero-knowledge proof of input consistency provided by the prover, and finally authenticating the user if all protocol steps succeed.
  • the present disclosure provides a method that comprises at least one of: Binding the user’s anonymous credentials to the privacy-preserving membership test through commitments and zero knowledge proofs to ensure the user uses the correct attributes of their identity in the membership test; Enabling a three-party privacy-preserving membership test on user identities within verifiable anonymous credentials by means of a private set intersection (PSI) cardinality protocol; and/or Providing unlinkability of users in a privacy-preserving membership test on user identities by means of a shuffled distributed OPRF protocol.
  • PSI private set intersection
  • a computer-implemented method for anonymous credential verification and privacy-preserving membership test is provided.
  • This method includes: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result.
  • DOPRF distributed oblivious pseudorandom function
  • the first committed-input-and-key-shares DOPRF protocol is a shuffled committed- input-&-key-shares DOPRF protocol, and the set of first PRF results are shuffled as compared to an order of the elements in the checklist to provide a pseudorandom representation of the checklist.
  • the method of the fourth aspect according to any of the above implementations may further include: receiving, from the prover, a first commitment to the identity of the prover, a first zero-knowledge proof (ZKP) binding the identity of the prover to verifiable anonymous credentials (VAC) of the prover; and at least one of a pseudonym of the identity or a corresponding credentials, the VAC comprising the identity, the pseudonym, and the credentials; and verifying that the first ZKP is valid; and verifying the credentials.
  • ZKP zero-knowledge proof
  • VAC verifiable anonymous credentials
  • the inputs to the first committed-input-and-key-shares Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) DOPRF protocol may include: a first pseudorandom function (PRF) key share of the prover; a first commitment corresponding to a second PRF key share of the list holder; the second PRF key share of the list holder; a set of commitments corresponding to the elements in the checklist; a second commitment corresponding to the PRF key share of the prover; and the checklist.
  • PRF pseudorandom function
  • the set of first PRF results may also include values of a pseudorandom function evaluated on the plurality of elements of the checklist, using the first PRF key share and the second PRF key share.
  • the inputs to the second committed-input-and-key-shares DOPRF protocol may include: a first pseudorandom function (PRF) key share of the prover, a first commitment corresponding to a second PRF key share of the list holder, the identity of the prover; the second PRF key share of the list holder, and a second commitment corresponding to the first PRF key share of the prover.
  • PRF pseudorandom function
  • the second PRF result may include a value of the pseudorandom function evaluated on the identity of the user, using the first PRF key share and the second PRF key share.
  • the method of the fourth aspect according to any of the above implementations further includes, at a verifier, before executing the first committed-input-and-key-shares DOPRF protocol and the second committed-input-and-key- shares DOPRF protocol: receiving, from the list holder, a commitment to a first pseudorandom function (PRF) key share, commitments to the plurality of elements of the checklist, and a zero- knowledge proof (ZKP) that the checklist supplied for the first DOPRF protocol is consistent with the commitments to the plurality of elements of the checklist, and sending the commitment to the first PRF key share, the commitments to the plurality of elements of the checklist, and the ZKP to the prover; and receiving, from the prover, a commitment to a second PRF key share, and sending the commitment to the second PRF key share to the list holder.
  • PRF pseudorandom function
  • ZKP zero- knowledge proof
  • the method of the fourth aspect according to any of the above implementations further includes, at the verifier, after executing the first committed-input-and-key-shares DOPRF protocol and the second committed-input-and-key- shares DOPRF protocol: receiving, from the prover, a second ZKP of a consistency between the first commitment to the identity of the prover and a second commitment to the identity of the Attorney Docket No.819585 (Client Ref.
  • the checklist is a whitelist.
  • the method further includes: upon determining that the identity of the prover belongs to one of the plurality of elements of the checklist and upon verifying that the second ZKP is valid, authenticating the prover.
  • the checklist is a blacklist.
  • the method further includes: upon determining that the identity of the prover does not correspond to any of the plurality of elements of the checklist and upon verifying that the second ZKP is valid, authenticating the prover.
  • the verifier executes the first committed-input-and-key-shares DOPRF protocol, executes the second committed-input-and-key-shares DOPRF protocol, and determines whether one of the elements in the checklist corresponds to the identity of the prover.
  • the verifier and the list holder coincide on a same computer.
  • the determining whether one of the elements in the checklist corresponds to the identity of the prover comprises determining whether a value of a pseudorandom function evaluated on the identity of the prover matches with any values of the pseudorandom function evaluated on the plurality of elements of the checklist.
  • a computer system is provided.
  • the computer system of this aspect includes one or more hardware processors which, alone or in combination, are configured to provide for execution the method according to each of the above aspects and their implementations.
  • a tangible, non-transitory computer-readable medium is provided.
  • aspects of the present disclosure provide a multiplicity of technical improvements to the functionality of authentication systems, particularly VAC systems.
  • aspects of the present disclosure provide a privacy-preserving mechanism implemented as a combination of a PSI cardinality protocol with verifiable anonymous credentials, which provides Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) unlinkability.
  • aspects of the present disclosure provide privacy-preserving mechanisms that: include a separation of the membership-verifying and credential-holding tasks; enable privacy-preserving checklist matching for SSI systems for a three-party scenario; and/or support checklist matching for non-public checklists.
  • Authentication systems currently available in the field do not include at least the above-listed functionality enabled by aspects of the present disclosure.
  • aspects of the present disclosure are capable of implementing such privacy- preserving mechanisms in an automated way, which is amenable to being implemented at scale, with an efficient use of computer resources.
  • the present disclosure therefore provides an improved VAC system for privacy- preserving checking of membership in a set (e.g., checklist) as compared to the state-of-the-art.
  • the present disclosure represents an improvement over a proposal by Miao for a PSI cardinality protocol based on shuffled committed input and key shares. See Miao, Peihan, Sarvar Patel, Mariana Raykova, Karn Seth, and Moti Yung, “Two-Sided Malicious Security for Private Intersection-Sum with Cardinality,” CRYPTO 2020, pp.1-50, 2020, available online at: ⁇ eprint.iacr.org/2020/385.>> (hereinafter “Miao”) (the entire contents of which are hereby incorporated by reference herein).
  • Miao does not provide for a combination of a PSI cardinality protocol with verifiable anonymous credentials, much less a combination that provides unlinkability. Also different from aspects of the present disclosure, Miao does not include a distribution among entities of the verification and credential holding tasks. [0037] Aspects of the present disclosure instantiate one or more cryptographic building blocks to realize the privacy-preserving mechanism used as part of performing the membership test. Exemplary building blocks used in embodiments implemented according to aspects of the present disclosure are defined below.
  • SSI system In a self-sovereign identity (SSI) system, users control and own their digital identities and other verifiable anonymous credentials (VAC) without having to rely on a central authority.
  • An owner or user usually has a corresponding SSI-enabled app on their mobile device with a digital wallet, in which the verifiable digital evidence can be securely stored.
  • an issuer may also act as a verifier. In such a case, only two actors are involved in the SSI system.
  • Verifiable anonymous credentials VAC
  • a user ⁇ also referred to as a prover or owner
  • obtains credentials ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ signed by an authority referred to as an issuer
  • verifiers can later present these credentials to other authorities/organizations
  • Verifiability ensures that a prover holding valid credentials can convince a verifier that her credentials were issued by the relevant authority.
  • a prover can additionally authenticate to verifiers using one-time pseudonyms ⁇ ⁇ ⁇ ⁇ rather than the identity, so that the presentation of credentials ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ only reveal possession of specific attributes, while it reveals nothing about the identity ⁇ ⁇ of the prover.
  • the present disclosure is not limited to a specific implementation of a credential- issuing/obtaining protocol, but instead can implement such a protocol as appropriate for the application scenario.
  • the credential-issuing protocol can include the following two steps: 1) the issuer validates the attributes for which the user requested a verifiable credential; and 2) the issuer digitally signs (a representation of) these attributes.
  • a pair (m, ⁇ ) where the message m is a representation of the attributes, and ⁇ is a digital signature on m (generated by the issuer using its signing key), provides a verifiable credential to the user. Since a digital signature is publicly verifiable, being in possession of (m, ⁇ ) allows the user to convince anybody that the issuer truly signed the statement.
  • a citizen of a certain country could request the government to attest their nationality.
  • a government agent would function as the issuer by checking the user’s passport (or any other document stating the nationality of the user) and then digitally signing a statement m claiming that the digital identity of that user is associated to the claimed nationality.
  • the user can then present the government-agent signature to prove their nationality to any verifier, who can validate the signature under the government verification key (which is public), without the need of disclosing the user’s password.
  • the present disclosure is not limited to a specific implementation of a pseudonym-issuing/obtaining protocol, but instead can implement such a protocol as appropriate for the application scenario.
  • pseudonyms can be chosen by the user, or can be computed as cryptographic commitments of a user-held secret key.
  • Zero-knowledge proof (ZKP) [0044]
  • a zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that a given statement is true while the prover avoids conveying any additional information apart from the fact that the statement is indeed true.
  • Oblivious pseudorandom function (OPRF) protocols [0045]
  • An oblivious pseudorandom function (OPRF) protocol is an interactive protocol allowing two parties to evaluate a pseudorandom function (PRF) on an input ⁇ provided by one party, and under a key ⁇ (referred to as a PRF key) provided by other party.
  • PRF pseudorandom function
  • the protocol is oblivious in the sense that the sender (input holder) obtains the output ⁇ ⁇ ⁇ ⁇ and learns nothing about the PRF key, while the receiver (key holder) receives no output and learns nothing about the sender’s input.
  • DY Dodis-Yampolskiy
  • Step 1 The key holder homomorphically encrypts the PRF key, obtaining a ciphertext ⁇ ⁇ ⁇ . ⁇ ⁇ ⁇ ⁇ ⁇ , and sends to the input holder.
  • Step 2 After receiving ciphertext ⁇ ⁇ , the input holder picks an element ⁇ ⁇ Z ⁇ uniformly at random, homomorphically encrypts input ⁇ to obtain a ciphertext ⁇ ′ ⁇ ⁇ ⁇ . ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , computes ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , and finally sends ciphertext ⁇ ⁇ to the key holder.
  • Attorney Docket No.819585 (Client Ref.
  • Step 3 After receiving ciphertext ⁇ ⁇ , the key holder decrypts to obtain a message ⁇ , computes ⁇ ′ ⁇ ⁇ ⁇ / ⁇ , and sends ⁇ ′ to the input holder.
  • Step 4 After receiving ⁇ ′, the input holder computes ⁇ ⁇ ⁇ ⁇ ⁇ and outputs this value.
  • the aforementioned OPRF protocol allows the input holder to correctly compute the PRF evaluation of ⁇ .
  • DOPRF Distributed, oblivious pseudorandom function
  • a distributed OPRF protocol for the evaluation of the PRF ⁇ ⁇ ⁇ ⁇ / ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ : ⁇ ⁇ , i.e., the DY pseudorandom function ⁇ ⁇ ⁇ ⁇ ⁇ : ⁇ ⁇ ⁇ / ⁇ with key ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , can be obtained from the OPRF protocol ( ⁇ ) by letting the sender contribute the PRF key share ⁇ ⁇ .
  • the following modification of protocol ( ⁇ ) provides a DOPRF protocol for the DY pseudorandom function:
  • the receiver holds a PRF key share k ⁇ ⁇ Z ⁇ and generates a key pair ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ ⁇ . ⁇ ⁇ ⁇ for the homomorphic encryption scheme.
  • the receiver sends the encryption key ⁇ ⁇ to the sender.
  • Step 1 The receiver homomorphically encrypts its PRF key share ⁇ ⁇ , obtaining a ciphertext sends the Attorney Docket No.819585 (Client Ref.
  • Step 2 After receiving ciphertext ⁇ ⁇ , the sender picks an element ⁇ ⁇ Z ⁇ uniformly at random, homomorphically encrypts input ⁇ ⁇ ⁇ ⁇ to obtain a ciphertext ⁇ ′ ⁇ ⁇ ⁇ . ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , computes ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , and finally sends ciphertext ⁇ ⁇ to the receiver.
  • Step 3 After receiving ciphertext ⁇ ⁇ , the receiver decrypts it to obtain a message ⁇ , computes ⁇ ′ ⁇ and sends ⁇ ′ to the sender.
  • Step 4 After receiving ⁇ ′, the sender computes ⁇ ⁇ ⁇ ⁇ ⁇ , sends ⁇ to the receiver, and outputs ⁇ .
  • Committed-input OPRF protocols [0059] A committed-input OPRF protocol provides the same functionality of an OPRF and, additionally, it makes the sender commit to its input. This provides the possibility to verify that the same input is used in multiple runs of the protocol or in a combination of protocols. Such protocols can be instantiated by letting the sender commit to its input and proving in zero- knowledge that the input to the OPRF protocol is the same value the sender has committed to.
  • the OPRF protocol ( ⁇ ) can be turned into one with committed input by letting the sender include to the message sent in Step 2 a cryptographic commitment ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ , where ⁇ ⁇ is the randomness of the commitment.
  • the sender should also include a zero-knowledge proof stating that it correctly computed ciphertexts ⁇ ’ and ⁇ ⁇ (in particular, that ⁇ ’ is an encryption of the value committed to in ⁇ ⁇ ).
  • a suitable commitment scheme to be used in the oblivious evaluation of ⁇ ⁇ is the Pedersen commitment.
  • Committed-key-shares DOPRF protocols [0061] Analogous to committed-input OPRF protocols, a committed-key-share DOPRF protocol forces either the sender or the receiver, or both, to commit to the key share they use in the DOPRF protocol. This allows to check that the same key-share is used in multiple runs of protocols. Similar to committed-input OPRF protocols, committed-key-shares DOPRF protocols can be instantiated via commitment schemes and zero-knowledge proofs. The DOPRF protocol ( ⁇ ) can be turned into one with committed key shares by letting the sender and receiver include a cryptographic commitment ⁇ ⁇ resp. ⁇ ⁇ to its key share ⁇ ⁇ resp.
  • a suitable commitment scheme to be used in the oblivious evaluation of ⁇ ⁇ is Pedersen commitment.
  • the protocol shall include an additional value sent in any step in which the sender resp. receiver provides a zero-knowledge proof to convince the receiver resp. sender that the current intermediate result corresponds to the evaluation prescribed by the protocol for the current step with the committed key share used as input. See Miao. Attorney Docket No.819585 (Client Ref.
  • NLE-1267-22-WO Committed-input-&-key-shares DOPRF protocols
  • the committed-input OPRF protocol and the committed-key-share DOPRF protocol can be combined, so that each party commits to its key share and additionally the sender commits to its input.
  • the OPRF protocol ( ⁇ ) can be turned into a committed-input- &-key-shares DOPRF protocol by including all the previously mentioned modifications. The previously included commitments and zero-knowledge proofs do not influence each other. See Miao.
  • a shuffled DOPRF protocol allows the sender and the receiver to run a DOPRF protocol on a sequence of inputs provided by the sender, so that they obtain the PRF evaluations of these inputs in a random order. In this way, the sender cannot associate her inputs to the corresponding output values.
  • the DOPRF protocol ( ⁇ ) can be turned into a shuffled one by doing the evaluations for multiple ⁇ ⁇ in each step and letting the sender send the intermediate results ⁇ ⁇ for the ⁇ ⁇ in step 2 in a random order instead of ordered by the ⁇ index of the corresponding See Miao.
  • PSI cardinality protocol is an interactive protocol allowing two parties, A and B, to jointly and privately compute the cardinality of the intersection of input sets ⁇ ⁇ held by party A and ⁇ ⁇ held by party B.
  • the term “privately” refers to the fact that both parties do not learn anything more than the cardinality of the intersection of their sets and the cardinality of the sets. In particular, party A does not gain any information about the content of input set ⁇ ⁇ , and party B does not gain any information about the content of input ⁇ ⁇ . See Miao.
  • PSI cardinality protocols can provide security against malicious parties, who may deviate arbitrarily from the protocol.
  • a PSI cardinality protocol can be implemented using committed-input-&-key-shares OPRFs. See Miao.
  • the same pseudorandom transformation ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ computed obliviously by means of an OPRF protocol, is applied to A’s input ⁇ ⁇ ⁇ and to B’s input ⁇ ⁇ ⁇ . Then, the number of intersection elements is obliviously calculated by building the intersection of the pseudorandomly transformed elements.
  • FIG.1 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing implemented according to an aspect of the present disclosure.
  • the prover 110 wishes to authenticate to a verifier 130 (e.g., an authority) by proving possession of valid credentials in a privacy-preserving manner.
  • the verifier 130 wishes to check whether the prover’s identity (which is not disclosed to the verifier Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) 130) belongs to a checklist (e.g., whitelist, blacklist, etc.) held by a third-party list holder 120 (e.g., another authority).
  • the prover 110 holds verifiable anonymous credentials ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ , where ⁇ denotes the prover’s identity, ⁇ ⁇ ⁇ denotes a one-time pseudonym of the prover’s identity, and ⁇ ⁇ ⁇ ⁇ denotes the corresponding credential.
  • the prover 110 presents the anonymous credentials (nym, cred) to the verifier 130.
  • the checklist L may be provided as a set of user identities u 1 , ..., u n that share a common quality.
  • the present disclosure is not limited to a specific relation function, and may be adapted based on the application as a person of ordinary skill in the art would readily be able to implement. It is noted that the verifier does not directly evaluate the predicate (i.e., by evaluating the expression on input (u,nym,cred), but instead engages in an anonymous credential verification protocol with the user.
  • the oblivious membership test 150 may execute a PSI cardinality protocol.
  • the PSI cardinality protocol may be implemented, for example, based on a shuffled committed-input and key shares DOPRFs. See, e.g., Miao.
  • FIG.2 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing according to an implementation of aspects of the present disclosure.
  • Three entities may be included in the system: a prover (or user) 210, a list holder 220, and a verifier 230.
  • An oblivious membership test is realized by letting the prover 210, the verifier 230, and the list holder 220 operate a joint protocol.
  • the prover 210 and the verifier 230 engage in an anonymous credential sub-protocol (operations 242 and 244, discussed below); then, the prover 210 and the list holder 220 run a PSI cardinality sub-protocol with the aid of the verifier 230 (operations 246, 248, 250, 252, 254, and 256, discussed below).
  • the prover 210 and the list holder 220 generate and contribute their own key material. The prover 210 provides its identity ⁇ as input, while the list holder 220 provides its list ⁇ as input.
  • the protocol terminates with prover 210 and the verifier 230 obtaining only the single information of whether the prover’s identity is in the list.
  • the list holder 220 does not obtain the outcome.
  • the output may be provided to the list holder.
  • the prover 210 submits the same identity ⁇ as input to both the VAC sub-protocol and the PSI cardinality sub-protocol.
  • the two sub- protocols are cryptographically bound by letting the prover 210 commit to its identity first, and later prove in zero-knowledge that the input to the PSI cardinality protocol coincides with the previously committed value.
  • the prover 210 presents its verifiable anonymous credentials (VAC) (nym, cred) to the verifier 230, along with a commitment to its identity ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ , for a random value ⁇ ⁇ , as well as a first zero- knowledge proof (ZKP) ⁇ ⁇ of possessing valid credentials and binding the committed identity to the VAC (the ⁇ operator indicates an assignment).
  • VAC verifiable anonymous credentials
  • the prover computes a zero- knowledge argument of knowledge (ZKAoK) for values ⁇ (the alleged identity) and ⁇ ⁇ (the commitment’s randomness) such that ⁇ ⁇ is a commitment to value ⁇ using randomness ⁇ ⁇ , and value ⁇ along with the VAC ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ fulfils the desired relation: Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0075]
  • the prover’s anonymous credentials may include both the user’s pseudonym ⁇ ⁇ ⁇ and corresponding credential ⁇ ⁇ ⁇ ⁇ , which are one-time representations and not linkable in multiple showings of the VAC.
  • the verifier 230 verifies whether the VAC and the first ZKP ⁇ ⁇ presented by the prover 210 are valid. [0076] After verifying the VAC and the first ZKP ⁇ ⁇ , the verifier 230 contacts the list holder 220 to engage in the PSI cardinality sub-protocol.
  • the PSI cardinality sub-protocol is executed between the prover 210 and the list holder 220, which communicate with each other by passing all messages to the verifier 230, which may forward all messages except for the final output.
  • each entity contributes a share of the PRF key ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , where the key share ⁇ ⁇ is contributed by the prover 210, and the key share ⁇ ⁇ is contributed by the list holder 220.
  • This can be instantiated using a distributed OPRF (DOPRF) protocol.
  • DOPRF distributed OPRF
  • both parties commit to their key shares and to their inputs and prove in zero- knowledge that all supplied inputs are consistent with the corresponding commitments.
  • the list holder 220 randomly selects a pseudorandom function (PRF) key share k L , and commits to it ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ , where ⁇ is the randomness for the commitment).
  • PRF pseudorandom function
  • the commitment function used here may be the same as used in the anonymous credential sub-protocol, but is not so limited.
  • the list holder 220 also commits to each element of the checklist L ( ⁇ ⁇ ⁇ ⁇ ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ).
  • the message including ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ , where ⁇ ⁇ is the randomness for each commitment and a ZKP ⁇ ⁇ ⁇ for each commitment ⁇ ⁇ proving knowledge of value and randomness ⁇ ⁇ such that ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ : is forwarded to the prover 210 via the verifier 230.
  • ⁇ ⁇ is the randomness for each commitment and a ZKP ⁇ ⁇ ⁇ for each commitment ⁇ ⁇ proving knowledge of value and randomness ⁇ ⁇ such that ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ : is forwarded to the prover 210 via the verifier 230.
  • the prover 210 randomly selects a PRF key share ⁇ ⁇ , and commits to it ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ , where ⁇ ⁇ is the randomness for the commitment).
  • the commit ⁇ ⁇ is forwarded to the list holder 220 via the verifier 230.
  • the committed value (key share ⁇ ⁇ ) Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) is confidential to the Prover, while the resulting commitment ⁇ ⁇ is forwarded to the Verifier so that it can later verify that the Prover did use the same key share as specified in the supplied commitments.
  • the PSI cardinality sub-protocol may be realized by letting the prover 210 and the list holder 220 engage in two oblivious pseudorandom function (OPRF) protocols (as discussed below with respect to steps 250 and 252), run in reverse directions, to evaluate the same pseudorandom function (PRF) transformation ⁇ ⁇ ⁇ on the elements of the list ⁇ and on the prover’s identity ⁇ , respectively.
  • PRF pseudorandom function
  • the prover 210 inputs to the OPRF: its key share k P , the commit ⁇ ⁇ for the list holder’s key share k L , and the commit ⁇ ⁇ ⁇ ⁇ ⁇ for each of the entries ⁇ u1, ..., un ⁇ in the list L.
  • the OPRF is specifically a shuffled committed-input-&-key-shares DOPRF.
  • the shuffled DOPRF protocol ensures that, in the case that the identity ⁇ of the prover is in the checklist ⁇ (i.e., ⁇ ⁇ ⁇ ), the list holder 220 is prevented from learning which element of the list corresponds to the prover’s identity, as the PRF values output at step 250 are shuffled.
  • the output of the DOPRF can be expressed as: Y ⁇ ⁇ ⁇ , ⁇ ⁇
  • the output Y may be provided to both the prover 210 and the list holder 220.
  • the list holder 220 inputs to an OPRF: its key share kL and the commit ⁇ ⁇ of the prover’s key share k P .
  • the prover 210 inputs to the OPRF: its key share k P , its identity u, and the commit ⁇ ⁇ of the list holder’s key share k L .
  • the OPRF executed in 252 is a committed-input-&-key-shares DOPRF.
  • both the prover 210 and the list holder 220 receive the result of the DOPRF evaluation ⁇ ⁇ , ⁇ ⁇ ⁇ executed on the identity u of the prover 210 and using the two key shares kP, kL.
  • the list holder 220 may additionally receive a commitment ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ , where ⁇ ⁇ is the randomness for the commitment, that the corresponding identity used for the DOPRF evaluation is the identity u of the prover 210.
  • the prover 210 provides a ZKP of input consistency ⁇ ⁇ to the proof verification and membership step evaluator of the verifier 230, , proving that the two committed inputs represented by commitments ⁇ ⁇ and ⁇ ⁇ are the same: Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0086]
  • the verifier 230 verifies the ZKP of input consistency ⁇ ⁇ , which if verified, indicates that the identity ⁇ of the prover 210 was consistently provided in the prior operations. If the ZKP ⁇ ⁇ is verified, the verifier 230 will determine whether the identity ⁇ of the prover 210 is in the checklist L.
  • the verifier 230 does this in a privacy preserving way by determining, by direct comparison, whether ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ belongs to one of the elements in Y ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇
  • the specific verification algorithm depends on the ZKP used, however, a feature of a preferred algorithm includes the following: Upon verifying proof ⁇ ⁇ , the verifier 230 learns that the input to which the prover 210 committed to in the credential verification protocol, and the input to which the prover 210 committed to in the membership test, are the same. Therefore, since the credential verification protocol binds the committed input to the credentials claimed by the prover 210, at this point the verifier 230 is convinced that the identity checked in the membership test is the same identity for which valid credentials have been supplied. [0087] The protocol provides security (more specifically, soundness) in the sense that only provers 210 in possession of valid credentials and who pass the membership test can be authenticated.
  • FIG.3 illustrates a system method of anonymous credential verification and privacy- preserving membership test according to an implementation of aspects of the present disclosure.
  • the roles of verifier and list holder coincide.
  • a prover (or user) 310 may be involved in the process: a prover (or user) 310, and a verifier / list holder 320.
  • a two-party protocol can be obtained by modifying the three-party protocol to let the verifier participate in the PSI cardinality sub-protocol.
  • the prover 310 presents its verifiable anonymous credentials (VAC) to the verifier / list holder 320, along with a commitment to its identity u ( ⁇ . ⁇ ., ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ), Attorney Docket No.819585 (Client Ref.
  • the prover’s anonymous credentials may include both a pseudonym ⁇ ⁇ ⁇ and a corresponding credential ⁇ ⁇ ⁇ ⁇ , which are one-time representations and not linkable in multiple showings of the VAC.
  • the verifier /list holder 320 verifies that the VAC and the first ZKP ⁇ ⁇ presented by the prover 310 are valid. If they are valid, the protocol continues. [0092] After verifying the VAC and the first ZKP, at 346, the prover 310 randomly selects a pseudorandom function (PRF) key share ⁇ ⁇ , and commits to it ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ). The commit ⁇ ⁇ is forwarded to the verifier / list holder 320.
  • PRF pseudorandom function
  • the verifier / list holder 320 randomly selects a PRF key share kL, and commits to it ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ).
  • the commit ⁇ ⁇ is forwarded to the prover 310.
  • the verifier / list holder 320 commits to the checklist L ( ⁇ ⁇ ⁇ ⁇ ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ), and provides a ZKP that supplied inputs are consistent with the corresponding commitments:
  • the commits ⁇ ⁇ and the ZKP ⁇ ⁇ ⁇ are forwarded to the prover 310.
  • a DOPRF is executed, between the prover and the verifier / list holder, to PRF evaluate the checklist L.
  • the verifier / list holder 320 provides as inputs to a DOPRF: the checklist L, its PRF key share k L , and the commit ⁇ ⁇ of the prover’s key share k P .
  • the prover 310 provides as inputs to the DOPRF: its PRF key share kP, the commit ⁇ ⁇ of the list holder’s PRF key share k L , and the commits ⁇ ⁇ ⁇ ⁇ ⁇ for each entry in the checklist L.
  • a shuffled committed-input-&-key-shares DOPRF is performed.
  • the output is the set of results for operating the DOPRF based on the two key shares and the entries in the checklist, where each entry in the results set corresponds to an entry in the checklist (i.e., Y ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇
  • the output may be provided to both the prover 310 and the verifier / list holder 320.
  • a DOPRF is executed, between the prover and the verifier / list holder, to PRF evaluate the identity ⁇ of the prover 310.
  • the verifier / list holder 320 provides as inputs to a DOPRF: its PRF key share k L and the commit ⁇ ⁇ for the prover’s PRF key share k P .
  • the prover 210 provides as inputs to the DOPRF: its key share kP, its identity u, and the commit ⁇ ⁇ for the verifier / list holder’s PRF key share kL.
  • a committed-input-&-key-shares DOPRF is Attorney Docket No.819585 (Client Ref.
  • the prover 310 provides a second ZKP of input consistency ⁇ ⁇ : ⁇ ⁇ ⁇ ZKP ⁇ u, r ⁇ , r ⁇ ⁇
  • a processing system 400 can include one or more processors 402, memory 404, one or more input/output devices 406, one or more sensors 408, one or more user interfaces 410, and one or more actuators 412. Processing system 400 can be representative of each computing system disclosed herein.
  • Processors 402 can include one or more distinct processors, each having one or more cores.
  • Memory 404 can include volatile memory, non-volatile memory, and any other medium capable of storing data. Each of the volatile memory, non-volatile memory, and any other type of memory can include multiple different memory devices, located at multiple distinct Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) locations and each having a different structure. Memory 404 can include remotely hosted (e.g., cloud) storage.
  • Examples of memory 404 include a non-transitory computer-readable media such as RAM, ROM, flash memory, EEPROM, any kind of optical storage disk such as a DVD, a Blu- Ray® disc, magnetic storage, holographic storage, a HDD, a SSD, any medium that can be used to store program code in the form of instructions or data structures, and the like. Any and all of the methods, functions, and operations described herein can be fully embodied in the form of tangible and/or non-transitory machine-readable code (e.g., interpretable scripts) saved in memory 404.
  • a non-transitory computer-readable media such as RAM, ROM, flash memory, EEPROM, any kind of optical storage disk such as a DVD, a Blu- Ray® disc, magnetic storage, holographic storage, a HDD, a SSD, any medium that can be used to store program code in the form of instructions or data structures, and the like.
  • Any and all of the methods, functions, and operations described herein can be fully embodied
  • Input-output devices 406 can include any component for trafficking data such as ports, antennas (i.e., transceivers), printed conductive paths, and the like. Input-output devices 406 can enable wired communication via USB®, DisplayPort®, HDMI®, Ethernet, and the like. Input-output devices 406 can enable electronic, optical, magnetic, and holographic, communication with suitable memory 406. Input-output devices 406 can enable wireless communication via WiFi®, Bluetooth®, cellular (e.g., LTE®, CDMA®, GSM®, WiMax®, NFC®), GPS, and the like. Input-output devices 406 can include wired and/or wireless communication pathways.
  • Sensors 408 can capture physical measurements of environment and report the same to processors 402.
  • User interface 410 can include displays, physical buttons, speakers, microphones, keyboards, and the like.
  • Actuators 412 can enable processors 402 to control mechanical forces.
  • Processing system 400 can be distributed. For example, some components of processing system 400 can reside in a remote hosted network service (e.g., a cloud computing environment) while other components of processing system 400 can reside in a local computing system.
  • Processing system 400 can have a modular design where certain modules include a plurality of the features/functions shown in FIG.4.
  • I/O modules can include volatile memory and one or more processors.
  • individual processor modules can include read-only-memory and/or local caches.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

A computer-implemented method anonymously verifies credentials while performing a membership test in a privacy-preserving manner. The method includes: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result.

Description

Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) ANONYMOUS AND UNLINKABLE AUTHENTICATION WITH MEMBERSHIP TEST VIA PRIVATE SET INTERSECTION CARDINALITY CROSS-REFERENCE TO RELATED APPLICATIONS [0001] Priority is claimed to U.S. Patent Application No.63/455,276, filed on March 29, 2023, the entire disclosure of which is hereby incorporated by reference herein. FIELD [0002] Embodiments of the present disclosure relate to a method, system and computer- readable medium for anonymous and unlinkable authentication with membership test via private set intersection (PSI) cardinality. BACKGROUND [0003] A self-sovereign identity (SSI) system enables individuals to have full control of their own identities and credentials. Verifiable anonymous credentials (VAC) provide a powerful tool to realize the SSI vision. In a VAC system, a user can obtain credentials from a credential issuer, and can later use these credentials to authenticate to verifiers anonymously. The authentication process is performed peer-to-peer between end-users and verifiers, without the need of involving the credential issuer. Additionally, users remain anonymous to verifiers and are unlinkable across interactions. [0004] The present inventors have recognized that, while VACs have the potential of combining the goals of authentication and privacy in practically relevant use cases, most existing solutions are limited to basic authentication scenarios between users and verifiers. SUMMARY [0005] An aspect of the present disclosure provides a computer-implemented method for anonymous credential verification and privacy-preserving membership test. The method includes: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result. BRIEF DESCRIPTION OF THE DRAWINGS [0006] Embodiments of the present disclosure will be described in even greater detail below based on the exemplary figures. The present invention is not limited to the exemplary embodiments. All features described and/or illustrated herein can be used alone or combined in Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) different combinations in embodiments of the present invention. The features and advantages of various embodiments of the present invention will become apparent by reading the following detailed description with reference to the -attached drawings which illustrate the following: [0007] FIG.1 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing according to an embodiment of the present disclosure; [0008] FIG.2 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing for a three-party case according to an embodiment of the present disclosure; [0009] FIG.3 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing for a two-party case according to an embodiment of the present disclosure; and [0010] FIG.4 illustrates a processing system configured according to an embodiment of the present disclosure. DETAILED DESCRIPTION [0011] An aspect of the present disclosure provides a method that performs a privacy preserving blacklist or whitelist matching in a self-sovereign identity-based (SSI-based) digital identity system. The matching can be made on any attributes of a users’ anonymous credentials. A system configured to perform the method and a computer-readable medium configured to store instructions for executing the method are also provided according to aspects of the present disclosure. [0012] As discussed above, most existing VAC solutions are limited to basic authentication scenarios between users and verifiers. Currently, in the state of the art known to the present inventors, only a single solution is available to enable a private membership test for a VAC holder with respect to a private checklist held by a third party: Kohlweiss et al, “Privacy-preserving blueprints”, Advances in Cryptology (Eurocrypt) 2023, Lecture Notes in Computer Science, vol. 14005, pp. 594-625, 2023, available online at: <<eprint.iacr.org/2022/1536.>> (hereinafter “Kohlweiss”) (the entire contents of which are hereby incorporated by reference herein). Kohlweiss relies on a homomorphic enough cryptosystem to encode the list elements in the coefficients of a polynomial. Instead, implementations according to the present disclosure uses a PRF-based representation of the list elements computed obliviously by means of a DOPRF protocol. As a consequence, if the user is in the checklist, Kohlweiss leaks the identity of the user, thereby violating the privacy of said user. In contrast, implementations of the present disclosure only reveal whether the user’s identity belongs to the checklist, which is the minimal leakage needed for a membership test application. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0013] To illustrate this failure, consider a scenario utilizing private blacklist/whitelist matching in an authentication/authorization application, where privacy for verifiers is required. Here, authorities and/or corporations (i.e., the verifiers) may like to screen users against a checklist. In current realizations of user-authentication/authorization, the checklist is held by the verifier or by third parties. The user presents their identity to the verifier, and the verifier locally checks the presented identity against the checklist. The verifier, therefore, needs to inspect the identity of the user. Current realizations of this scenario lack sufficient technical mechanisms to protect the privacy of users. Moreover, if the checklist is held by a third party, the verifier performing a local check also learns all elements in the checklist, thereby violating the privacy of the list holder. Thus, the current realizations also lack sufficient technical mechanism to protect the privacy of the list holder. [0014] Specifically, currently available VAC solutions do not allow for realizing the aforementioned checklist-matching scenario. For example, existing solutions for membership tests, with respect to a verifier-held checklist, require verifiers to disclose their checklist so that users can generate a zero-knowledge proof of membership to the checklist in the case of a whitelist (or non-membership to the checklist in the case of a blacklist). The state of the art VAC methods merely perform a zero-knowledge membership tests on public lists. See, e.g., Benarroch et al., “Zero-Knowledge Proofs for Set Membership: Efficient, Succinct, Modular”, Financial Cryptography and Data Security, Lecture Notes in Computer Science, vol 12674, pp. 393-414, 2021 (the entire contents of which are hereby incorporated by reference herein). This solution is suitable only for use cases where no privacy is required for the verifier’s checklist. For example, the verifier runs a membership test to check whether the user is a maintainer of a certain public project (e.g., GitHub-hosted software). Currently, in the state of the art known to the present inventors, no solution is available to enable a private membership test for a VAC holder with respect to a private checklist held by a third party. [0015] Having recognized this failure, the present inventors have designed privacy- preserving authentication mechanisms, implemented according to aspects of the present disclosure, that are adapted for a three-party scenario, where a verifier does not need to have (and may be excluded from having) access to the blacklist / whitelist, but only needs a proof of inclusion or exclusion of the users within the blacklist / whitelist. Privacy-preserving mechanisms adapted for this three-party scenario solve the technical failures of the current state of the art private membership tests. [0016] For example, an embodiment of the present disclosure adapted for the airline domain advantageously incorporates privacy-preserving mechanisms that allow an airline to check travelers according to a sanction list held by the government without leaking any information. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) Other example use cases can include border control police screening the passengers and vehicles according to “watchlists,” and airlines or hotels checking if the check-in guest is in a “VIP list” without leaking their VIP list to the users. As another example, in some countries, in addition to an “unwelcomed-list,” casinos also have “self-exclusion” program that restricts the admission of certain customers. [0017] According to a first aspect, the present disclosure provides a method that performs a privacy-preserving membership test, on a private list, for the identity associated to a verifiable anonymous credential, enabling a verifier to check whether a user participating in the authentication/authorization process belongs to a checklist held by a list holder. [0018] According to a second aspect, a method for anonymous credential verification and privacy-preserving membership test is provided. The method executes a protocol between a prover holding anonymous verifiable credentials (VAC), a verifier, and a list holder holding a checklist. In the protocol, steps 1-2 check the credentials, while steps 3-7 check the user according to the list, and step 8 provides the connection between these parts and the final output. In particular, the following protocol includes the following steps: Step 1: Providing, by the prover, a verifiable presentation of her anonymous credentials, a commitment to her identity, and a zero-knowledge proof binding her identity to the credentials. Step 2: Verifying, by the verifier, the credentials and the zero-knowledge proof. Step 3: Selecting, by the list holder, a pseud-random function (PRF) key share uniformly at random and committing to it; generating a commitment for each element of the checklist; sending all the commitments to the prover. Step 4: Selecting, by the prover, a PRF key share uniformly at random, committing to it, and sending it to the list holder. Step 5: Pseudorandom representation of the checklist: Executing a shuffled distributed oblivious PFF (DOPRF) protocol, with committed key-shares and committed inputs, between the list holder acting as the sender and the prover acting as the receiver, on input the elements of the checklist, and providing the output to the verifier. Step 6: Pseudorandom representation of the user ID: Executing a DOPRF protocol, with committed key-shares and committed inputs, between the prover acting as the sender and the list holder acting as the receiver, on input the prover’s identity, and providing the output to the verifier. Step 7: Generating, by the prover, a zero-knowledge proof for input consistency of the committed value used in the credential verification protocol from Step 1 and the committed value used in the DOPRF protocol from Step 6. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) Step 8: Verifying, by the verifier, the zero-knowledge proof of input consistency provided by the prover, and finally authenticating the user if all protocol steps succeed. [0019] According to a third aspect, the present disclosure provides a method that comprises at least one of: Binding the user’s anonymous credentials to the privacy-preserving membership test through commitments and zero knowledge proofs to ensure the user uses the correct attributes of their identity in the membership test; Enabling a three-party privacy-preserving membership test on user identities within verifiable anonymous credentials by means of a private set intersection (PSI) cardinality protocol; and/or Providing unlinkability of users in a privacy-preserving membership test on user identities by means of a shuffled distributed OPRF protocol. [0020] According to a fourth aspect of the present disclosure, a computer-implemented method for anonymous credential verification and privacy-preserving membership test is provided. This method includes: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result. [0021] According to a first implementation of the method of the fourth aspect of the present disclosure, the first committed-input-and-key-shares DOPRF protocol is a shuffled committed- input-&-key-shares DOPRF protocol, and the set of first PRF results are shuffled as compared to an order of the elements in the checklist to provide a pseudorandom representation of the checklist. [0022] According to a second implementation, the method of the fourth aspect according to any of the above implementations may further include: receiving, from the prover, a first commitment to the identity of the prover, a first zero-knowledge proof (ZKP) binding the identity of the prover to verifiable anonymous credentials (VAC) of the prover; and at least one of a pseudonym of the identity or a corresponding credentials, the VAC comprising the identity, the pseudonym, and the credentials; and verifying that the first ZKP is valid; and verifying the credentials. [0023] According to a third implementation, in the method of the fourth aspect according to any of the above implementations, the inputs to the first committed-input-and-key-shares Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) DOPRF protocol may include: a first pseudorandom function (PRF) key share of the prover; a first commitment corresponding to a second PRF key share of the list holder; the second PRF key share of the list holder; a set of commitments corresponding to the elements in the checklist; a second commitment corresponding to the PRF key share of the prover; and the checklist. The set of first PRF results may also include values of a pseudorandom function evaluated on the plurality of elements of the checklist, using the first PRF key share and the second PRF key share. [0024] According to a fourth implementation, in the method of the fourth aspect according to any of the above implementations, the inputs to the second committed-input-and-key-shares DOPRF protocol may include: a first pseudorandom function (PRF) key share of the prover, a first commitment corresponding to a second PRF key share of the list holder, the identity of the prover; the second PRF key share of the list holder, and a second commitment corresponding to the first PRF key share of the prover. Also, the second PRF result may include a value of the pseudorandom function evaluated on the identity of the user, using the first PRF key share and the second PRF key share. [0025] According to a fifth implementation, in the method of the fourth aspect according to any of the above implementations, executing the second committed-input-and-key-shares DOPRF protocol further obtains a third commitment to the identity of the prover. [0026] According to a sixth implementation, the method of the fourth aspect according to any of the above implementations further includes, at a verifier, before executing the first committed-input-and-key-shares DOPRF protocol and the second committed-input-and-key- shares DOPRF protocol: receiving, from the list holder, a commitment to a first pseudorandom function (PRF) key share, commitments to the plurality of elements of the checklist, and a zero- knowledge proof (ZKP) that the checklist supplied for the first DOPRF protocol is consistent with the commitments to the plurality of elements of the checklist, and sending the commitment to the first PRF key share, the commitments to the plurality of elements of the checklist, and the ZKP to the prover; and receiving, from the prover, a commitment to a second PRF key share, and sending the commitment to the second PRF key share to the list holder. Also, in this implementation, the first PRF key share was selected uniformly at random by the list holder, and the second PRF key share was selected uniformly at random by the prover. [0027] According to a seventh implementation, the method of the fourth aspect according to any of the above implementations further includes, at the verifier, after executing the first committed-input-and-key-shares DOPRF protocol and the second committed-input-and-key- shares DOPRF protocol: receiving, from the prover, a second ZKP of a consistency between the first commitment to the identity of the prover and a second commitment to the identity of the Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) prover from in the second committed-input-and-key-shares DOPRF protocol; and verifying the second ZKP. [0028] According to a seventh implementation, in the method of the fourth aspect according to any of the above implementations, the checklist is a whitelist. In this implementation, the method further includes: upon determining that the identity of the prover belongs to one of the plurality of elements of the checklist and upon verifying that the second ZKP is valid, authenticating the prover. [0029] According to an eighth implementation, in the method of the fourth aspect according to any of the above implementations, the checklist is a blacklist. In this implementation, the method further includes: upon determining that the identity of the prover does not correspond to any of the plurality of elements of the checklist and upon verifying that the second ZKP is valid, authenticating the prover. [0030] According to a ninth implementation, in the method of the fourth aspect according to any of the above implementations, the verifier executes the first committed-input-and-key-shares DOPRF protocol, executes the second committed-input-and-key-shares DOPRF protocol, and determines whether one of the elements in the checklist corresponds to the identity of the prover. [0031] According to a tenth implementation, in the method of the fourth aspect according to any of the above implementations, the verifier and the list holder coincide on a same computer. [0032] According to an eleventh implementation, in the method of the fourth aspect according to any of the above implementations, the determining whether one of the elements in the checklist corresponds to the identity of the prover comprises determining whether a value of a pseudorandom function evaluated on the identity of the prover matches with any values of the pseudorandom function evaluated on the plurality of elements of the checklist. [0033] According to a fifth aspect, a computer system is provided. The computer system of this aspect includes one or more hardware processors which, alone or in combination, are configured to provide for execution the method according to each of the above aspects and their implementations. [0034] According to a sixth aspect, a tangible, non-transitory computer-readable medium is provided. The computer-readable medium of this aspect has instructions thereon which, upon being executed by one or more hardware processors, alone or in combination, provide for execution the methods according to each of the above aspects and their implementations. [0035] Aspects of the present disclosure provide a multiplicity of technical improvements to the functionality of authentication systems, particularly VAC systems. For example, aspects of the present disclosure provide a privacy-preserving mechanism implemented as a combination of a PSI cardinality protocol with verifiable anonymous credentials, which provides Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) unlinkability. Further, aspects of the present disclosure provide privacy-preserving mechanisms that: include a separation of the membership-verifying and credential-holding tasks; enable privacy-preserving checklist matching for SSI systems for a three-party scenario; and/or support checklist matching for non-public checklists. Authentication systems currently available in the field, do not include at least the above-listed functionality enabled by aspects of the present disclosure. Aspects of the present disclosure are capable of implementing such privacy- preserving mechanisms in an automated way, which is amenable to being implemented at scale, with an efficient use of computer resources. [0036] The present disclosure therefore provides an improved VAC system for privacy- preserving checking of membership in a set (e.g., checklist) as compared to the state-of-the-art. For example, the present disclosure represents an improvement over a proposal by Miao for a PSI cardinality protocol based on shuffled committed input and key shares. See Miao, Peihan, Sarvar Patel, Mariana Raykova, Karn Seth, and Moti Yung, “Two-Sided Malicious Security for Private Intersection-Sum with Cardinality,” CRYPTO 2020, pp.1-50, 2020, available online at: <<eprint.iacr.org/2020/385.>> (hereinafter “Miao”) (the entire contents of which are hereby incorporated by reference herein). Unlike aspects of the present disclosure, Miao does not provide for a combination of a PSI cardinality protocol with verifiable anonymous credentials, much less a combination that provides unlinkability. Also different from aspects of the present disclosure, Miao does not include a distribution among entities of the verification and credential holding tasks. [0037] Aspects of the present disclosure instantiate one or more cryptographic building blocks to realize the privacy-preserving mechanism used as part of performing the membership test. Exemplary building blocks used in embodiments implemented according to aspects of the present disclosure are defined below. SSI system [0038] In a self-sovereign identity (SSI) system, users control and own their digital identities and other verifiable anonymous credentials (VAC) without having to rely on a central authority. They are therefore completely independent of third parties and decide independently who is provided with which identity data. [0039] There may be three actors involved in an SSI system that interact collectively with the SSI. These actors are: issuers, verifiers, and owners. Issuers issue verifiable digital credentials, such as certificates of identity, endorsements, proficiency, authorizations, qualifications or membership cards. Exhibitors are companies or organizations that are authorized to issue digital proofs, such as registration offices, road traffic offices, schools and universities, professional associations, authorities or qualification and testing organizations. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) Verifiers are points of acceptance or applications that use digital evidence for their processes. Owners, also referred to as users or provers, are holders of digital evidence. An owner or user usually has a corresponding SSI-enabled app on their mobile device with a digital wallet, in which the verifiable digital evidence can be securely stored. In some embodiments, an issuer may also act as a verifier. In such a case, only two actors are involved in the SSI system. Verifiable anonymous credentials (VAC) [0040] In a VAC system, a user ^^ (also referred to as a prover or owner) obtains credentials ^ ^^, ^^ ^^ ^^ ^^^ signed by an authority (referred to as an issuer), and can later present these credentials to other authorities/organizations (referred to as verifiers). Verifiability ensures that a prover holding valid credentials can convince a verifier that her credentials were issued by the relevant authority. In an anonymous credential system, a prover can additionally authenticate to verifiers using one-time pseudonyms ^ ^^ ^^ ^^^ rather than the identity, so that the presentation of credentials ^ ^^ ^^ ^^, ^^ ^^ ^^ ^^^ only reveal possession of specific attributes, while it reveals nothing about the identity ^ ^^^ of the prover. [0041] The present disclosure is not limited to a specific implementation of a credential- issuing/obtaining protocol, but instead can implement such a protocol as appropriate for the application scenario. Nevertheless, the credential-issuing protocol can include the following two steps: 1) the issuer validates the attributes for which the user requested a verifiable credential; and 2) the issuer digitally signs (a representation of) these attributes. Thus, a pair (m, σ), where the message m is a representation of the attributes, and σ is a digital signature on m (generated by the issuer using its signing key), provides a verifiable credential to the user. Since a digital signature is publicly verifiable, being in possession of (m, σ) allows the user to convince anybody that the issuer truly signed the statement. [0042] For example, a citizen of a certain country could request the government to attest their nationality. In this case, a government agent would function as the issuer by checking the user’s passport (or any other document stating the nationality of the user) and then digitally signing a statement m claiming that the digital identity of that user is associated to the claimed nationality. The user can then present the government-agent signature to prove their nationality to any verifier, who can validate the signature under the government verification key (which is public), without the need of disclosing the user’s password. [0043] Similarly, the present disclosure is not limited to a specific implementation of a pseudonym-issuing/obtaining protocol, but instead can implement such a protocol as appropriate for the application scenario. For example, pseudonyms can be chosen by the user, or can be computed as cryptographic commitments of a user-held secret key. See, e.g., Jan Camenisch, “Concepts Around Privacy-Preserving Attribute-Based Credentials - Making Authentication Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) with Anonymous Credentials Practical,” Privacy and Identity Management for Emerging Services and Technologies, pp.53–63, 2014, available online at: <<hal.science/hal- 01276046/document>> (hereinafter “Camenisch”) (the entire contents of which are hereby incorporated by reference herein). Zero-knowledge proof (ZKP) [0044] In cryptography, a zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that a given statement is true while the prover avoids conveying any additional information apart from the fact that the statement is indeed true. See Camenisch. Oblivious pseudorandom function (OPRF) protocols [0045] An oblivious pseudorandom function (OPRF) protocol is an interactive protocol allowing two parties to evaluate a pseudorandom function (PRF) on an input ^^ provided by one party, and under a key ^^ (referred to as a PRF key) provided by other party. The protocol is oblivious in the sense that the sender (input holder) obtains the output ^^^^ ^^^ and learns nothing about the PRF key, while the receiver (key holder) receives no output and learns nothing about the sender’s input. For instance, consider the Dodis-Yampolskiy (DY) pseudorandom function, defined by: ^^^ ^^^ ^^^:ൌ ^^^/^^ା௫^, where ^^ is a generator of a cyclic group ^^ ≔ 〈 ^^〉 of prime order ^^ ∈ ℕ, and ^^, ^^ ∈ ℤ^. It is known that the DY pseudorandom function can be obliviously evaluated using additively homomorphic encryption (e.g., via Paillier encryption scheme). See Yevgeniy Dodis, “A Verifiable Random Function with Short Proofs and Keys,” IACR 8th International Workshop on Theory and Practice in Public Key Cryptography (PKC 2005), pp.416-431, available online at <<eprint.iacr.org/2004/310.pdf>>. An OPRF protocol for evaluating the Dodis-Yampolskiy (DY) pseudorandom function fୈଢ଼ is described below. Oblivious evaluation protocol for the Dodis-Yampolskiy PRF
Figure imgf000012_0001
[0046] Setup: The input holder has an input x ∈ ℤ^ and the key holder picks a PRF key k ← ℤ^. The key holder additionally generates a key pair ^ ^^ ^^, ^^ ^^^ ← ^^ ^^. ^^ ^^ ^^ for the homomorphic encryption scheme, and shares the public key ^^ ^^ with the input holder. [0047] Step 1: The key holder homomorphically encrypts the PRF key, obtaining a ciphertext ← ^^ ^^. ^^ ^^ ^^^^^ ^^^, and sends
Figure imgf000012_0002
to the input holder. [0048] Step 2: After receiving ciphertext ^^^, the input holder picks an element ^^ ∈ ℤ^ uniformly at random, homomorphically encrypts input ^^ to obtain a ciphertext ^^′ ← ^^ ^^. ^^ ^^ ^^^^^ ^^^, computes ^^^ ^^^ ⋅ ^^ᇱ^^, and finally sends ciphertext ^^ to the key holder. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0049] Step 3: After receiving ciphertext ^^, the key holder decrypts to obtain a message ^^, computes ^^′ ← ^^^/^, and sends ^^′ to the input holder. [0050] Step 4: After receiving ^^′, the input holder computes ^^ ← ^ ^^ᇱ^^ and outputs this value. [0051] Because of the properties of the homomorphic encryption scheme, the aforementioned OPRF protocol allows the input holder to correctly compute the PRF evaluation of ^^. Indeed, the key holder decrypts ^^ as follows:
Figure imgf000013_0001
^^ ^ ^^ ^ ^^ ^ , thus:
Figure imgf000013_0002
See Casacuberta, Silvia, Julia Hesse, and Anja Lehmann, “SoK: Oblivious Pseudorandom Functions,” 2022 IEEE 7th European Symposium on Security and Privacy, pp.625-646, 2022, available online at: <<eprint.iacr.org/2022/302.pdf>> (hereinafter “Casacuberta”) (the entire contents of which are hereby incorporated by reference herein). Distributed, oblivious pseudorandom function (DOPRF) protocols [0052] An OPRF variant, called “distributed” OPRF (DOPRF), allows both parties to contribute the key and obtain the PRF evaluation. In a DOPRF protocol, the input holder (henceforth referred to as the sender) provides the input ^^ and a key share ^^, the other party (henceforth referred to as the receiver) provides a key share ^^, and both parties learn ^^^ೄ,^ೃ^ ^^^. As the PRF key is now contributed by both parties, the PRF evaluation ^^^ೄ,^ೃ ^ ^^^ reveals no information about ^^ to the receiver due to the pseudo-randomness property. See Miao. A distributed OPRF protocol for the evaluation of the PRF ^^^ ^/^^ ^ ೄା^ೃା௫^ ோ^ ^^^:ൌ ^^ , i.e., the DY pseudorandom function ^^^ ^^^ ^^^:ൌ ^^^/^^ା௫^ with key ^^ ൌ ^^ ^ ^^, can be obtained from the OPRF protocol (※) by letting the sender contribute the PRF key share ^^. [0053] More specifically, the following modification of protocol (※) provides a DOPRF protocol for the DY pseudorandom function: [0054] Setup: The sender has an input x ∈ ℤ^ and a PRF key share k ∈ ℤ^. The receiver holds a PRF key share k ∈ ℤ^ and generates a key pair ^ ^^ ^^, ^^ ^^^ ← ^^ ^^. ^^ ^^ ^^ for the homomorphic encryption scheme. The receiver sends the encryption key ^^ ^^ to the sender. [0055] Step 1: The receiver homomorphically encrypts its PRF key share ^^, obtaining a ciphertext
Figure imgf000013_0003
sends the Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0056] Step 2: After receiving ciphertext ^^^, the sender picks an element ^^ ∈ ℤ^ uniformly at random, homomorphically encrypts input ^^ ^ ^^ to obtain a ciphertext ^^′ ← ^^ ^^. ^^ ^^ ^^^^^ ^^ ^ ^^^, computes ^^^ ^^^ ⋅ ^^ᇱ^^, and finally sends ciphertext ^^ to the receiver. [0057] Step 3: After receiving ciphertext ^^, the receiver decrypts it to obtain a message ^^, computes ^^′ ←
Figure imgf000014_0001
and sends ^^′ to the sender. [0058] Step 4: After receiving ^^′, the sender computes ^^ ← ^ ^^ᇱ^^, sends ^^ to the receiver, and outputs ^^. Committed-input OPRF protocols [0059] A committed-input OPRF protocol provides the same functionality of an OPRF and, additionally, it makes the sender commit to its input. This provides the possibility to verify that the same input is used in multiple runs of the protocol or in a combination of protocols. Such protocols can be instantiated by letting the sender commit to its input and proving in zero- knowledge that the input to the OPRF protocol is the same value the sender has committed to. [0060] The OPRF protocol (※) can be turned into one with committed input by letting the sender include to the message sent in Step 2 a cryptographic commitment ^^ ← ^^ ^^ ^^^ ^^; ^^^, where ^^ is the randomness of the commitment. To make the protocol secure against malicious adversaries, the sender should also include a zero-knowledge proof stating that it correctly computed ciphertexts ^^’ and ^^ (in particular, that ^^’ is an encryption of the value committed to in ^^). A suitable commitment scheme to be used in the oblivious evaluation of ^^^^ is the Pedersen commitment. Committed-key-shares DOPRF protocols [0061] Analogous to committed-input OPRF protocols, a committed-key-share DOPRF protocol forces either the sender or the receiver, or both, to commit to the key share they use in the DOPRF protocol. This allows to check that the same key-share is used in multiple runs of protocols. Similar to committed-input OPRF protocols, committed-key-shares DOPRF protocols can be instantiated via commitment schemes and zero-knowledge proofs. The DOPRF protocol (※) can be turned into one with committed key shares by letting the sender and receiver include a cryptographic commitment ^^^ resp. ^^^ to its key share ^^^ resp. ^^^, i.e., ^^^ ← ^^ ^^ ^^^ ^^^; ^^^^ for some random value ^^^. A suitable commitment scheme to be used in the oblivious evaluation of ^^^^ is Pedersen commitment. To obtain security against a possibly malicious sender, the protocol shall include an additional value sent in any step in which the sender resp. receiver provides a zero-knowledge proof to convince the receiver resp. sender that the current intermediate result corresponds to the evaluation prescribed by the protocol for the current step with the committed key share used as input. See Miao. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) Committed-input-&-key-shares DOPRF protocols [0062] The committed-input OPRF protocol and the committed-key-share DOPRF protocol can be combined, so that each party commits to its key share and additionally the sender commits to its input. Concretely, the OPRF protocol (※) can be turned into a committed-input- &-key-shares DOPRF protocol by including all the previously mentioned modifications. The previously included commitments and zero-knowledge proofs do not influence each other. See Miao. Shuffled DOPRF protocols [0063] A shuffled DOPRF protocol allows the sender and the receiver to run a DOPRF protocol on a sequence of inputs provided by the sender, so that they obtain the PRF evaluations of these inputs in a random order. In this way, the sender cannot associate her inputs to the corresponding output values. The DOPRF protocol (※) can be turned into a shuffled one by doing the evaluations for multiple ^^^ in each step and letting the sender send the intermediate results ^^ for the ^^^ in step 2 in a random order instead of ordered by the ^^ index of the corresponding
Figure imgf000015_0001
See Miao. Private set intersection cardinality (PSI Cardinality) [0064] A PSI cardinality protocol is an interactive protocol allowing two parties, A and B, to jointly and privately compute the cardinality of the intersection of input sets ^^^ held by party A and ^^^ held by party B. The term “privately” refers to the fact that both parties do not learn anything more than the cardinality of the intersection of their sets and the cardinality of the sets. In particular, party A does not gain any information about the content of input set ^^^, and party B does not gain any information about the content of input ^^^. See Miao. PSI cardinality protocols can provide security against malicious parties, who may deviate arbitrarily from the protocol. [0065] A PSI cardinality protocol can be implemented using committed-input-&-key-shares OPRFs. See Miao. In some embodiments, the same pseudorandom transformation ^^^ ^^, computed obliviously by means of an OPRF protocol, is applied to A’s input
Figure imgf000015_0002
∈ ^^^ and to B’s input ∈ ^^^. Then, the number of intersection elements is obliviously calculated by building the intersection of the pseudorandomly transformed elements. [0066] FIG.1 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing implemented according to an aspect of the present disclosure. Three entities may be involved in the system: a prover (also referred to as user) 110, a list holder 120, and a verifier 130. The prover 110 wishes to authenticate to a verifier 130 (e.g., an authority) by proving possession of valid credentials in a privacy-preserving manner. The verifier 130 wishes to check whether the prover’s identity (which is not disclosed to the verifier Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) 130) belongs to a checklist (e.g., whitelist, blacklist, etc.) held by a third-party list holder 120 (e.g., another authority). The membership test is “privacy preserving” in the sense that the prover’s identity is not disclosed to the verifier 130 and the list holder 120, and similarly the list holder’s checklist is not disclosed to any other party. [0067] Referring to FIG. 1, the prover 110 holds verifiable anonymous credentials ^^ ^^ ^^ ൌ ^ ^^, ^^ ^^ ^^, ^^ ^^ ^^ ^^^, where ^^ denotes the prover’s identity, ^^ ^^ ^^ denotes a one-time pseudonym of the prover’s identity, and ^^ ^^ ^^ ^^ denotes the corresponding credential. At 140, the prover 110 presents the anonymous credentials (nym, cred) to the verifier 130. The verifier 130 verifies whether the credentials are valid by determining whether the credentials satisfy a certain public policy, i.e., validating a relation function ^^ ^^ ^^^^^^ ^^, ^^ ^^ ^^, ^^ ^^ ^^ ^^^. Upon verifying that the prover’s credentials are valid, at 150, the verifier 130 performs an oblivious membership test to check whether the prover’s identity u (which is not disclosed to the verifier 130) belongs to a checklist L = {u1, …, un} held by the list holder 120 (also not disclosed to the verifier 130). If the prover 110 belongs to the checklist L ( ^^ ∈ ^^), the output would be 1; if the prover 110 does not belong to the checklist L ( ^^ ∉ ^^), the output would be 0. The checklist L, as indicated in FIG.1, may be provided as a set of user identities u1, …, un that share a common quality. [0068] The present disclosure is not limited to a specific relation function, and may be adapted based on the application as a person of ordinary skill in the art would readily be able to implement. It is noted that the verifier does not directly evaluate the predicate (i.e., by evaluating the expression on input (u,nym,cred), but instead engages in an anonymous credential verification protocol with the user. Anonymous credentials allow the user to prove possession of credentials fulfilling a certain relation without revealing all sensitive data described in the credentials. [0069] The oblivious membership test 150 may execute a PSI cardinality protocol. The PSI cardinality protocol allows the prover 110 and verifier 120 to jointly and privately determine if the prover’s identity ^^ belongs to the checklist L = {u1, …, un}. Because this protocol is privacy preserving, neither the verifier 130 nor the list holder 120 learns the prover’s identity ^^, and neither the verifier 130 nor the prover 110 learns the checklist L = {u1, …, un}. All that the entities learn is the cardinality of the intersection of their sets, i.e., how many entries (elements) are shared between the sets, and the cardinality of the sets, i.e., the number of entries in each set. In the present example, because the prover’s set consists of 1 entry—i.e., the prover’s identity ^^—the cardinality of the intersection will be either 1 or 0. With 1 indicating that the prover 110 belongs to the checklist L. The PSI cardinality protocol may be implemented, for example, based on a shuffled committed-input and key shares DOPRFs. See, e.g., Miao. The system and Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) method illustrated in FIG.2 is an exemplary embodiment implementing such a PSI cardinality protocol. [0070] Specifically, FIG.2 illustrates a system and method of anonymous credential verification and privacy-preserving membership testing according to an implementation of aspects of the present disclosure. Three entities may be included in the system: a prover (or user) 210, a list holder 220, and a verifier 230. An oblivious membership test is realized by letting the prover 210, the verifier 230, and the list holder 220 operate a joint protocol. [0071] In the joint protocol, first, the prover 210 and the verifier 230 engage in an anonymous credential sub-protocol (operations 242 and 244, discussed below); then, the prover 210 and the list holder 220 run a PSI cardinality sub-protocol with the aid of the verifier 230 (operations 246, 248, 250, 252, 254, and 256, discussed below). [0072] In the PSI cardinality sub-protocol, the prover 210 and the list holder 220 generate and contribute their own key material. The prover 210 provides its identity ^^ as input, while the list holder 220 provides its list ^^ as input. The protocol terminates with prover 210 and the verifier 230 obtaining only the single information of whether the prover’s identity is in the list. In the example of FIG.2, the list holder 220 does not obtain the outcome. However, in other embodiments, the output may be provided to the list holder. [0073] For the protocol to be secure, the prover 210 submits the same identity ^^ as input to both the VAC sub-protocol and the PSI cardinality sub-protocol. To this end, the two sub- protocols are cryptographically bound by letting the prover 210 commit to its identity first, and later prove in zero-knowledge that the input to the PSI cardinality protocol coincides with the previously committed value. [0074] Referring to FIG.2, in the anonymous credential sub-protocol, at 242, the prover 210 presents its verifiable anonymous credentials (VAC) (nym, cred) to the verifier 230, along with a commitment to its identity ^^^^ ^^ ^^ ^^^ ^^; ^^^ ^, for a random value ^^^, as well as a first zero- knowledge proof (ZKP) ^^^ of possessing valid credentials and binding the committed identity to the VAC (the ^ operator indicates an assignment). More precisely, the prover computes a zero- knowledge argument of knowledge (ZKAoK) for values ^^ (the alleged identity) and ^^^(the commitment’s randomness) such that ^^^ is a commitment to value ^^ using randomness ^^^, and value ^^ along with the VAC ^ ^^ ^^ ^^, ^^ ^^ ^^ ^^^ fulfils the desired relation:
Figure imgf000017_0001
Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0075] The prover’s anonymous credentials may include both the user’s pseudonym ^^ ^^ ^^ and corresponding credential ^^ ^^ ^^ ^^, which are one-time representations and not linkable in multiple showings of the VAC. At 244, the verifier 230 verifies whether the VAC and the first ZKP ^^^ presented by the prover 210 are valid. [0076] After verifying the VAC and the first ZKP ^^^, the verifier 230 contacts the list holder 220 to engage in the PSI cardinality sub-protocol. The PSI cardinality sub-protocol is executed between the prover 210 and the list holder 220, which communicate with each other by passing all messages to the verifier 230, which may forward all messages except for the final output. [0077] To ensure that the PRF values reveal no information about their corresponding inputs, each entity contributes a share of the PRF key ^^ ൌ ^^^ ∘ ^^^, where the key share ^^^ is contributed by the prover 210, and the key share ^^^ is contributed by the list holder 220. This can be instantiated using a distributed OPRF (DOPRF) protocol. [0078] To further protect against a potentially malicious prover or list holder, who may deviate from the protocol to bypass the membership test or to learn more information about the other party’s input, both parties commit to their key shares and to their inputs and prove in zero- knowledge that all supplied inputs are consistent with the corresponding commitments. This can be instantiated via committed-input and committed-key-shares DOPRFs. [0079] Referring to FIG.2, at 246, the list holder 220 randomly selects a pseudorandom function (PRF) key share kL, and commits to it ^^^^ ← ^^ ^^ ^^^ ^^^; ^^^^, where ^^^ is the randomness for the commitment). The commitment function used here may be the same as used in the anonymous credential sub-protocol, but is not so limited. The list holder 220 also commits to each element of the checklist L (∀ ^^^ ∈ ^^: ^^௨^ ← ^^ ^^ ^^^ ^^^; ^^^ ^). The message, including
Figure imgf000018_0001
^^ ^^ ^^^ ^^^; ^^^^, where ^^^ is the randomness for each commitment
Figure imgf000018_0002
and a ZKP ^^^ ^ for each commitment ^^௨^ proving knowledge of value
Figure imgf000018_0003
and randomness ^^^ such that ^^௨^ ൌ ^^ ^^ ^^^ ^^^ , ^^^^:
Figure imgf000018_0004
is forwarded to the prover 210 via the verifier 230. In the above, there is one commitment per element of the checklist. [0080] At 248, the prover 210 randomly selects a PRF key share ^^^, and commits to it ( ^^^ು ← ^^ ^^ ^^൫ ^^^; ^^^൯, where ^^^ is the randomness for the commitment). The commit ^^^ು, is forwarded to the list holder 220 via the verifier 230. Thus, the committed value (key share ^^^) Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) is confidential to the Prover, while the resulting commitment ^^^ು is forwarded to the Verifier so that it can later verify that the Prover did use the same key share as specified in the supplied commitments. [0081] The PSI cardinality sub-protocol may be realized by letting the prover 210 and the list holder 220 engage in two oblivious pseudorandom function (OPRF) protocols (as discussed below with respect to steps 250 and 252), run in reverse directions, to evaluate the same pseudorandom function (PRF) transformation ^^^^⋅^ on the elements
Figure imgf000019_0001
of the list ^^ and on the prover’s identity ^^, respectively. [0082] Referring to FIG.2, at 250, the list holder 220 inputs to the OPRF: the checklist L, its PRF key share kL, and the commit ^^^ುfor the prover’s PRF key share kp. The prover 210 inputs to the OPRF: its key share kP, the commit ^^^^ for the list holder’s key share kL, and the commit ^ ^^௨^^௨^∈^ for each of the entries {u1, …, un} in the list L. In the embodiment of FIG.2, the OPRF is specifically a shuffled committed-input-&-key-shares DOPRF. The shuffled DOPRF protocol ensures that, in the case that the identity ^^ of the prover is in the checklist ^^ (i.e., ^^ ∈ ^^), the list holder 220 is prevented from learning which element of the list corresponds to the prover’s identity, as the PRF values output at step 250 are shuffled. The output of the DOPRF can be expressed as: Y ൌ ^ ^^^ು,^^^ ^^^^| ^^^ ∈ ^^ ^ where the output Y is the set of the results of the DOPRF evaluation ^^^ು,^^ ^ ^^^ ^ run based on the entries in the checklist L and the key shares kP, kL, with one entry in the results set for each entry ^^^ in the checklist L. The order of the set, however, is shuffled as compared to the checklist order. The output Y may be provided to both the prover 210 and the list holder 220. [0083] At 252, the list holder 220 inputs to an OPRF: its key share kL and the commit ^^^ು of the prover’s key share kP. The prover 210 inputs to the OPRF: its key share kP, its identity u, and the commit ^^^^ of the list holder’s key share kL. In the example of FIG.2, the OPRF executed in 252 is a committed-input-&-key-shares DOPRF. [0084] As a result of 252, both the prover 210 and the list holder 220 receive the result of the DOPRF evaluation ^^^ು,^^^ ^^^ executed on the identity u of the prover 210 and using the two key shares kP, kL. The list holder 220 may additionally receive a commitment ^^ ← ^^ ^^ ^^^ ^^; ^^^, where ^^ is the randomness for the commitment, that the corresponding identity used for the DOPRF evaluation is the identity u of the prover 210. [0085] At 254, the prover 210 provides a ZKP of input consistency ^^ to the proof verification and membership step evaluator of the verifier 230, , proving that the two committed inputs represented by commitments ^^^ and ^^ are the same: Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO)
Figure imgf000020_0001
[0086] At 256, the verifier 230 verifies the ZKP of input consistency ^^, which if verified, indicates that the identity ^^ of the prover 210 was consistently provided in the prior operations. If the ZKP ^^ is verified, the verifier 230 will determine whether the identity ^^ of the prover 210 is in the checklist L. In particular, the verifier 230 does this in a privacy preserving way by determining, by direct comparison, whether ^^^ು,^^ ^ ^^^ belongs to one of the elements in Y ൌ ^ ^^^ು,^^^ ^^^^| ^^^ ∈ ^^ ^. If the answer is yes, the membership test is passed in the case of a whitelist or failed in the case of blacklist. Depending on the implementation, it may be that only the prover 210 receives the result. The specific verification algorithm depends on the ZKP used, however, a feature of a preferred algorithm includes the following: Upon verifying proof ^^, the verifier 230 learns that the input to which the prover 210 committed to in the credential verification protocol, and the input to which the prover 210 committed to in the membership test, are the same. Therefore, since the credential verification protocol binds the committed input to the credentials claimed by the prover 210, at this point the verifier 230 is convinced that the identity checked in the membership test is the same identity for which valid credentials have been supplied. [0087] The protocol provides security (more specifically, soundness) in the sense that only provers 210 in possession of valid credentials and who pass the membership test can be authenticated. It also provides privacy for provers and list holders: namely, it prevents the verifier 230 and the list holder 220 from learning the identity ^^ of the prover 210, and it prevents the prover 210 and the verifier 230 from learning the list ^^ held by the list holder 220. The protocol additionally provides unlinkability of provers, meaning that the verifier 230 cannot link multiple authentication requests from the same prover 210, as long as the communication channel between the prover 210 and the verifier 230 is anonymous. [0088] FIG.3 illustrates a system method of anonymous credential verification and privacy- preserving membership test according to an implementation of aspects of the present disclosure. Here, in contrast to FIG.2, the roles of verifier and list holder coincide. Thus, two entities may be involved in the process: a prover (or user) 310, and a verifier / list holder 320. A two-party protocol can be obtained by modifying the three-party protocol to let the verifier participate in the PSI cardinality sub-protocol. [0089] At 342, the prover 310 presents its verifiable anonymous credentials (VAC) to the verifier / list holder 320, along with a commitment to its identity u ( ^^. ^^., ← ^^ ^^ ^^^ ^^; ^^^^), Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) and a first ZKP π^ binding the committed identity to the VAC, proving that the (private) identity ^^ associated to the VAC is the same value the prover committed to in commitment ^^^: π^ ← ZKAoK ^^ u, r^ ^| c^ ൌ com ^ u; r^ ^ ∧ Rel^^େ ^ u, nym, cred ^^ . [0090] The prover’s anonymous credentials may include both a pseudonym ^^ ^^ ^^ and a corresponding credential ^^ ^^ ^^ ^^, which are one-time representations and not linkable in multiple showings of the VAC. [0091] At 344, the verifier /list holder 320 verifies that the VAC and the first ZKP π^ presented by the prover 310 are valid. If they are valid, the protocol continues. [0092] After verifying the VAC and the first ZKP, at 346, the prover 310 randomly selects a pseudorandom function (PRF) key share ^^^, and commits to it ( ^^^ು ← ^^ ^^ ^^൫ ^^^; ^^^൯). The commit ^^^ು is forwarded to the verifier / list holder 320. At 348, the verifier / list holder 320 randomly selects a PRF key share kL, and commits to it ( ^^^^ ← ^^ ^^ ^^^ ^^^; ^^^ ^). The commit ^^^^ is forwarded to the prover 310. [0093] At 350, the verifier / list holder 320 commits to the checklist L (∀ ^^^ ∈ ^^: ^^௨^ ← ^^ ^^ ^^^ ^^^; ^^^ ^), and provides a ZKP that supplied inputs are consistent with the corresponding commitments:
Figure imgf000021_0001
The commits ^^௨^ and the ZKP ^^^ ^ are forwarded to the prover 310. [0094] At 352, a DOPRF is executed, between the prover and the verifier / list holder, to PRF evaluate the checklist L. Here, the verifier / list holder 320 provides as inputs to a DOPRF: the checklist L, its PRF key share kL, and the commit ^^^ು of the prover’s key share kP. The prover 310 provides as inputs to the DOPRF: its PRF key share kP, the commit ^^^^ of the list holder’s PRF key share kL, and the commits ^ ^^௨^^௨^∈^ for each entry in the checklist L. In the example of FIG.3, specifically a shuffled committed-input-&-key-shares DOPRF is performed. The output is the set of results for operating the DOPRF based on the two key shares and the entries in the checklist, where each entry in the results set corresponds to an entry in the checklist (i.e., Y ൌ ^ ^^^ು,^^^ ^^^^| ^^^ ∈ ^^ ^). The output may be provided to both the prover 310 and the verifier / list holder 320. [0095] At 354, a DOPRF is executed, between the prover and the verifier / list holder, to PRF evaluate the identity ^^ of the prover 310. Here, the verifier / list holder 320 provides as inputs to a DOPRF: its PRF key share kL and the commit ^^^ು for the prover’s PRF key share kP. The prover 210 provides as inputs to the DOPRF: its key share kP, its identity u, and the commit ^^^^for the verifier / list holder’s PRF key share kL. A committed-input-&-key-shares DOPRF is Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) then performed to determine the result of the DOPRF on the identity ^^, using the key shares kP, kL (i.e., ^^^ು,^^ ^ ^^ ^ and a second commit ^^ଶ for the identity ^^ (i.e., ^^ଶ ← ^^ ^^ ^^ ^ ^^; ^^ଶ ^ ^. [0096] At 356, the prover 310 provides a second ZKP of input consistency π: π ← ZKP^∃^u, r^, r^|c^ ൌ com^u; r^^ ∧ c ൌ com^u; r^^. [0097] At 358, the verifier / list holder 320 determines whether ^^^ು,^^^ ^^^ belongs to one of Y ൌ ^ ^^^ು,^^^ ^^^^| ^^^ ∈ ^^ ^. If the answer is yes, the membership test is passed in the case of a whitelist or failed in the case of blacklist. [0098] Referring to FIG.4, a processing system 400 can include one or more processors 402, memory 404, one or more input/output devices 406, one or more sensors 408, one or more user interfaces 410, and one or more actuators 412. Processing system 400 can be representative of each computing system disclosed herein. [0099] Processors 402 can include one or more distinct processors, each having one or more cores. Each of the distinct processors can have the same or different structure. Processors 402 can include one or more central processing units (CPUs), one or more graphics processing units (GPUs), circuitry (e.g., application specific integrated circuits (ASICs)), digital signal processors (DSPs), and the like. Processors 402 can be mounted to a common substrate or to multiple different substrates. [0100] Processors 402 are configured to perform a certain function, method, or operation (e.g., are configured to provide for performance of a function, method, or operation) at least when one of the one or more of the distinct processors is capable of performing operations embodying the function, method, or operation. Processors 402 can perform operations embodying the function, method, or operation by, for example, executing code (e.g., interpreting scripts) stored on memory 404 and/or trafficking data through one or more ASICs. Processors 402, and thus processing system 400, can be configured to perform, automatically, any and all functions, methods, and operations disclosed herein. Therefore, processing system 400 can be configured to implement any of (e.g., all of) the protocols, devices, mechanisms, systems, and methods described herein. [0101] For example, when the present disclosure states that a method or device performs task “X” (or that task “X” is performed), such a statement should be understood to disclose that processing system 400 can be configured to perform task “X”. Processing system 400 is configured to perform a function, method, or operation at least when processors 402 are configured to do the same. [0102] Memory 404 can include volatile memory, non-volatile memory, and any other medium capable of storing data. Each of the volatile memory, non-volatile memory, and any other type of memory can include multiple different memory devices, located at multiple distinct Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) locations and each having a different structure. Memory 404 can include remotely hosted (e.g., cloud) storage. [0103] Examples of memory 404 include a non-transitory computer-readable media such as RAM, ROM, flash memory, EEPROM, any kind of optical storage disk such as a DVD, a Blu- Ray® disc, magnetic storage, holographic storage, a HDD, a SSD, any medium that can be used to store program code in the form of instructions or data structures, and the like. Any and all of the methods, functions, and operations described herein can be fully embodied in the form of tangible and/or non-transitory machine-readable code (e.g., interpretable scripts) saved in memory 404. [0104] Input-output devices 406 can include any component for trafficking data such as ports, antennas (i.e., transceivers), printed conductive paths, and the like. Input-output devices 406 can enable wired communication via USB®, DisplayPort®, HDMI®, Ethernet, and the like. Input-output devices 406 can enable electronic, optical, magnetic, and holographic, communication with suitable memory 406. Input-output devices 406 can enable wireless communication via WiFi®, Bluetooth®, cellular (e.g., LTE®, CDMA®, GSM®, WiMax®, NFC®), GPS, and the like. Input-output devices 406 can include wired and/or wireless communication pathways. [0105] Sensors 408 can capture physical measurements of environment and report the same to processors 402. User interface 410 can include displays, physical buttons, speakers, microphones, keyboards, and the like. Actuators 412 can enable processors 402 to control mechanical forces. [0106] Processing system 400 can be distributed. For example, some components of processing system 400 can reside in a remote hosted network service (e.g., a cloud computing environment) while other components of processing system 400 can reside in a local computing system. Processing system 400 can have a modular design where certain modules include a plurality of the features/functions shown in FIG.4. For example, I/O modules can include volatile memory and one or more processors. As another example, individual processor modules can include read-only-memory and/or local caches. [0107] While subject matter of the present disclosure has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive. Any statement made herein characterizing the invention is also to be considered illustrative or exemplary and not restrictive as the invention is defined by the claims. It will be understood that changes and modifications may be made, by those of ordinary skill in the art, within the scope of the following claims, which may include any combination of features from different embodiments described above. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) [0108] The terms used in the claims should be construed to have the broadest reasonable interpretation consistent with the foregoing description. For example, the use of the article “a” or “the” in introducing an element should not be interpreted as being exclusive of a plurality of elements. Likewise, the recitation of “or” should be interpreted as being inclusive, such that the recitation of “A or B” is not exclusive of “A and B,” unless it is clear from the context or the foregoing description that only one of A and B is intended. Further, the recitation of “at least one of A, B and C” should be interpreted as one or more of a group of elements consisting of A, B and C, and should not be interpreted as requiring at least one of each of the listed elements A, B and C, regardless of whether A, B and C are related as categories or otherwise. Moreover, the recitation of “A, B and/or C” or “at least one of A, B or C” should be interpreted as including any singular entity from the listed elements, e.g., A, any subset from the listed elements, e.g., A and B, or the entire list of elements A, B and C.

Claims

Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) CLAIMS What is claimed is: 1. A computer-implemented method for anonymous credential verification and privacy- preserving membership test, the method comprising: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result. 2. The method as claimed in claim 1, wherein the first committed-input-and-key-shares DOPRF protocol is a shuffled committed-input-&-key-shares DOPRF protocol, and the set of first PRF results are shuffled as compared to an order of the elements in the checklist to provide a pseudorandom representation of the checklist. 3. The method of any of claims 1 or 2, the method further comprising: receiving, from the prover, a first commitment to the identity of the prover, a first zero- knowledge proof (ZKP) binding the identity of the prover to verifiable anonymous credentials (VAC) of the prover; and at least one of a pseudonym of the identity or a corresponding credentials, the VAC comprising the identity, the pseudonym, and the credentials; and verifying that the first ZKP is valid; and verifying the credentials. 4. The method of any of claims 1-3, wherein the inputs to the first committed-input-and-key-shares DOPRF protocol comprise: a first pseudorandom function (PRF) key share of the prover; a first commitment corresponding to a second PRF key share of the list holder; the second PRF key share of the list holder; a set of commitments corresponding to the elements in the checklist; a second commitment corresponding to the PRF key share of the prover; and the checklist, and wherein the set of first PRF results comprises values of a pseudorandom function evaluated on the plurality of elements of the checklist, using the first PRF key share and the second PRF key share. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) 5. The method of any of claims 1-4, wherein the inputs to the second committed-input-and-key-shares DOPRF protocol comprise: a first pseudorandom function (PRF) key share of the prover, a first commitment corresponding to a second PRF key share of the list holder, the identity of the prover; the second PRF key share of the list holder, and a second commitment corresponding to the first PRF key share of the prover, and wherein the second PRF result comprises a value of the pseudorandom function evaluated on the identity of the user, using the first PRF key share and the second PRF key share. 6. The method of any of claims 1-5, wherein executing the second committed-input-and- key-shares DOPRF protocol further obtains a third commitment to the identity of the prover. 7. The method of any of claims 1-6, the method further comprising, at a verifier, before executing the first committed-input-and-key-shares DOPRF protocol and the second committed- input-and-key-shares DOPRF protocol: receiving, from the list holder, a commitment to a first pseudorandom function (PRF) key share, commitments to the plurality of elements of the checklist, and a zero-knowledge proof (ZKP) that the checklist supplied for the first DOPRF protocol is consistent with the commitments to the plurality of elements of the checklist, and sending the commitment to the first PRF key share, the commitments to the plurality of elements of the checklist, and the ZKP to the prover; and receiving, from the prover, a commitment to a second PRF key share, and sending the commitment to the second PRF key share to the list holder, wherein the first PRF key share was selected uniformly at random by the list holder, and the second PRF key share was selected uniformly at random by the prover. 8. The method as claimed in claim 7, the method further comprising, at the verifier, after executing the first committed-input-and-key-shares DOPRF protocol and the second committed- input-and-key-shares DOPRF protocol: receiving, from the prover, a second ZKP of a consistency between the first commitment to the identity of the prover and a second commitment to the identity of the prover from in the second committed-input-and-key-shares DOPRF protocol; and verifying the second ZKP. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) 9. The method of claim 8, wherein the checklist is a whitelist, the method further comprising: upon determining that the identity of the prover belongs to one of the plurality of elements of the checklist and upon verifying that the second ZKP is valid, authenticating the prover. 10. The method of claim 8, wherein the checklist is a blacklist, the method further comprising: upon determining that the identity of the prover does not correspond to any of the plurality of elements of the checklist and upon verifying that the second ZKP is valid, authenticating the prover. 11. The method as claimed in claims 7 or 8, wherein the verifier executes the first committed-input-and-key-shares DOPRF protocol, executes the second committed-input-and- key-shares DOPRF protocol, and determines whether one of the elements in the checklist corresponds to the identity of the prover. 12. The method as claimed in any of claims 1-11, wherein the verifier and the list holder coincide on a same computer. 13. The method as claimed in any of claims 1-12, wherein determining whether one of the elements in the checklist corresponds to the identity of the prover comprises determining whether a value of a pseudorandom function evaluated on the identity of the prover matches with any values of the pseudorandom function evaluated on the plurality of elements of the checklist. 14. A computer system comprising one or more hardware processors which, alone or in combination, are configured to provide for execution of the following steps: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result. Attorney Docket No.819585 (Client Ref. NLE-1267-22-WO) 15. A tangible, non-transitory computer-readable medium having instructions thereon which, upon being executed by one or more hardware processors, alone or in combination, provide for execution of the following steps: executing a first committed-input-and-key-shares distributed oblivious pseudorandom function (DOPRF) protocol to obtain a set of first pseudorandom function (PRF) results, each result corresponding to one of a plurality of elements in a checklist held by a list holder; executing a second committed-input-and-key-shares DOPRF protocol to obtain a second PRF result corresponding to an identity of a prover; and determining whether one of the elements in the checklist corresponds to the identity of the prover based upon the set of first PRF results and the second PRF result.
PCT/IB2023/056617 2023-03-29 2023-06-27 Anonymous and unlinkable authentication with membership test via private set intersection cardinality Ceased WO2024201126A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202363455276P 2023-03-29 2023-03-29
US63/455,276 2023-03-29

Publications (1)

Publication Number Publication Date
WO2024201126A1 true WO2024201126A1 (en) 2024-10-03

Family

ID=87378066

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2023/056617 Ceased WO2024201126A1 (en) 2023-03-29 2023-06-27 Anonymous and unlinkable authentication with membership test via private set intersection cardinality

Country Status (1)

Country Link
WO (1) WO2024201126A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120930114A (en) * 2025-10-14 2025-11-11 中国电子技术标准化研究院((工业和信息化部电子工业标准化研究院)(工业和信息化部电子第四研究院)) Method and device for detecting ownership of universal multimedia interface protocol based on watermark
CN121217470A (en) * 2025-11-26 2025-12-26 浙江大学 A two-layer encrypted batch decryption method and system based on selection commitment
CN121530753A (en) * 2026-01-15 2026-02-13 中国电子信息产业集团有限公司第六研究所 An authentication system, method, electronic device, and readable storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019204711A1 (en) * 2018-04-19 2019-10-24 Google Llc Security measures for determination of private set intersections

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019204711A1 (en) * 2018-04-19 2019-10-24 Google Llc Security measures for determination of private set intersections

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
BENARROCH ET AL.: "Zero-Knowledge Proofs for Set Membership: Efficient, Succinct, Modular", FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, LECTURE NOTES IN COMPUTER SCIENCE, vol. 12674, 2021, pages 393 - 414, XP047614802, DOI: 10.1007/978-3-662-64322-8_19
CASACUBERTA, SILVIAJULIA HESSEANJA LEHMANN: "IEEE 7th European Symposium on Security and Privacy", 2022, article "SoK: Oblivious Pseudorandom Functions", pages: 625 - 646
JAN CAMENISCH: "Concepts Around Privacy-Preserving Attribute-Based Credentials - Making Authentication with Anonymous Credentials Practical", PRIVACY AND IDENTITY MANAGEMENT FOR EMERGING SERVICES AND TECHNOLOGIES, 2014, pages 53 - 63
KOHLWEISS ET AL.: "Privacy-preserving blueprints", ADVANCES IN CRYPTOLOGY (EUROCRYPT) 2023, LECTURE NOTES IN COMPUTER SCIENCE, vol. 14005, 2023, pages 594 - 625, XP047658686, DOI: 10.1007/978-3-031-30617-4_20
MIAO PEIHAN ET AL: "Two-Sided Malicious Security for Private Intersection-Sum with Cardinality", 10 August 2020, ADVANCES IN CRYPTOLOGY - CRYPTO 2020; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 3 - 33, ISBN: 978-3-030-56876-4, ISSN: 0302-9743, XP047666928 *
MIAO, PEIHANSARVAR PATELMARIANA RAYKOVAKARN SETHMOTI YUNG: "Two-Sided Malicious Security for Private Intersection-Sum with Cardinality", CRYPTO 2020, 2020, pages 1 - 50
SÍLVIA CASACUBERTA ET AL: "SoK: Oblivious Pseudorandom Functions", vol. 20220307:124729, 4 March 2022 (2022-03-04), pages 1 - 22, XP061070692, Retrieved from the Internet <URL:https://eprint.iacr.org/2022/302.pdf> [retrieved on 20220304] *
YEVGENIY DODIS: "A Verifiable Random Function with Short Proofs and Keys", IACR 8TH INTERNATIONAL WORKSHOP ON THEORY AND PRACTICE IN PUBLIC KEY CRYPTOGRAPHY, 2005, pages 416 - 431, XP047030063

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120930114A (en) * 2025-10-14 2025-11-11 中国电子技术标准化研究院((工业和信息化部电子工业标准化研究院)(工业和信息化部电子第四研究院)) Method and device for detecting ownership of universal multimedia interface protocol based on watermark
CN121217470A (en) * 2025-11-26 2025-12-26 浙江大学 A two-layer encrypted batch decryption method and system based on selection commitment
CN121217470B (en) * 2025-11-26 2026-03-06 浙江大学 A two-layer encrypted batch decryption method and system based on selection commitment
CN121530753A (en) * 2026-01-15 2026-02-13 中国电子信息产业集团有限公司第六研究所 An authentication system, method, electronic device, and readable storage medium

Similar Documents

Publication Publication Date Title
Androulaki et al. Privacy-preserving auditable token payments in a permissioned blockchain system
US12160527B2 (en) Systems and methods of ring usage certificate extension
CN110084068B (en) Blockchain system and data processing method for blockchain system
JP4639084B2 (en) Encryption method and encryption apparatus for secure authentication
Terzi et al. Securing emission data of smart vehicles with blockchain and self-sovereign identities
WO2024201126A1 (en) Anonymous and unlinkable authentication with membership test via private set intersection cardinality
US20170149563A1 (en) Method for deriving a verification token from a credential
KR102357460B1 (en) Electronic voting system and method based on homogeneous cryptography
CN113645020A (en) A Consortium Chain Privacy Protection Method Based on Secure Multi-Party Computation
EP3627367B1 (en) Subversion resilient attestation for trusted execution environments
CN110061846A (en) Identity authentication method and relevant device are carried out to user node in block chain
CN105187405B (en) Cloud computing identity management method based on prestige
CN101873301A (en) Anonymous registration system and method
Kravitz Transaction immutability and reputation traceability: Blockchain as a platform for access controlled iot and human interactivity
KR101133183B1 (en) A Electron Vote Method for an Individual Information Protection
Goyal et al. Blockchains enable non-interactive MPC
CN113364597A (en) Privacy information proving method and system based on block chain
Buccafurri et al. Allowing non-identifying information disclosure in citizen opinion evaluation
CN116723031A (en) A supervised anonymous authentication method for membership identity (validity period)
US12395341B2 (en) Augmented zero-knowledge proof with private membership test
Hölzl et al. Real-world identification: Towards a privacy-aware mobile eid for physical and offline verification
US20260128860A1 (en) Anonymous and unlinkable authentication with membership test via private set intersection cardinality
Pulls Privacy-Friendly cloud storage for the data track: an educational transparency tool
Li et al. Designated-verifier zk-SNARKs made easy
Abdolmaleki et al. On quantum simulation-soundness

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23742415

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23742415

Country of ref document: EP

Kind code of ref document: A1