Next Article in Journal
Application of InterCriteria Analysis to Assess the Performance of Scoring Functions in Molecular Docking Software Packages
Next Article in Special Issue
Counter Mode of the Shannon Block Cipher Based on MPF Defined over a Non-Commuting Group
Previous Article in Journal
Deep Learning for Forecasting Electricity Demand in Taiwan
Previous Article in Special Issue
Revisiting the Polynomial-Time Equivalence of Computing the CRT-RSA Secret Key and Factoring
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Attribute Based Pseudonyms: Anonymous and Linkable Scoped Credentials

by
Francesc Garcia-Grau
1,*,
Jordi Herrera-Joancomartí
2 and
Aleix Dorca Josa
3
1
Escola de Doctorat, Universitat d’Andorra, AD600 Sant Julià de Lòria, Andorra
2
Departament d’Enginyeria de la Informació i les Comunicacions, Universitat Autònoma de Barcelona, CYBERCAT-Center, 08193 Barcelona, Spain
3
Departament de Serveis Informàtics, Universitat d’Andorra, AD600 Sant Julià de Lòria, Andorra
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(15), 2548; https://doi.org/10.3390/math10152548
Submission received: 2 June 2022 / Revised: 27 June 2022 / Accepted: 12 July 2022 / Published: 22 July 2022
(This article belongs to the Special Issue Recent Advances in Security, Privacy, and Applied Cryptography)

Abstract

:
Attribute-based credentials (ABCs) provide an efficient way to transfer custody of personal and private data to the final user, while minimizing the risk of sensitive data revelation and thus granting anonymity. Nevertheless, this method cannot detect whether one attribute has been used more than once without compromising anonymity when the emitter and consumer collude with one another. The protocol proposed in this article deals with this issue by using a modification of ZSS pairing-based short signatures over elliptic curves and Verheul’s self-blinded credentials scheme. Each user can generate an identifier (pseudonym) that is unique and verifiable by everyone in a given scope, without compromising anonymity. However, the identifier cannot be reused in the same scope, since such reuse would be detected.

1. Introduction

The ongoing digitalization of our daily lives pushes users towards the creation of multiple online identities, both for informal interactions, such as social networks and entertainment, and more formal ones, such as digital banking or digital citizenship. Citizens have to be identified and such identification can be performed using a credential, i.e., a passport, an identity card, or a driving licence. The personal information these legal documents provide is usually more than what is needed. Institutions holding citizens’ data therefore have access to personal data that they do not need for their intended purposes. Furthermore, most of this information is often repeated and scattered all over the Internet, beyond the user’s control, and, even worse, with little to no guarantee regarding its access and safeguarding.
Identity providers (IDP) were developed to prevent the spread of such personal information, acting as a trusted third party (TTP). They centralize and verify the identities and give out credentials. Nevertheless, TTPs may have issues with privacy and security, and may also exhibit the single-point-of-failure problem [1]. To overcome these issues, researchers have developed solutions that involve the use of blockchain technologies, which shift the control of digital activities over to users [2,3]. Blockchains rely on cryptographic algorithms to provide properties such as tampering resistance, pseudo-anonymity, fault-tolerance, auditability, and resilience. However, blockchains have to deal with several inconveniences related to privacy, confidentiality, and efficiency [4].
The main contribution of this paper is a credential protocol to protect personal attributes efficiently. The protocol, based on a proposal by Singh et al. [4], is user-centered and provides privacy-preserving features. The main characteristic of the protocol is the capacity to link different uses of the same attribute in a given scope when it is performed by the same user, so anonymous identities can only be used once within a given scope. More precisely, the protocol provides:
  • Unlinkability between scopes, i.e., the same user with the same credential cannot be linked between scopes.
  • Reusability detection within the same scope, i.e., it prevents misbehavior by the user, who, thanks to their anonymity, could try to authenticate more than once.
One of the most interesting and obvious applications of the protocol proposed in this article could be in an e-voting system to ensure the ”one voter one vote”concept.
The rest of the paper is organized as follows. Section 2 introduces the state of the art on attribute-based credentials [5,6]. Section 3 provides the cryptographic background needed to ensure the security and feasibility of the protocol presented in Section 4. Section 5 evaluates how secure the protocol is, and finally, Section 6 deals with conclusions and future lines of research.

2. State of the Art

Anonymous credentials [5,6] are designed to assert an identity and, at the same time, maintain privacy. Idemix [7] and U-Prove [8] are two well-known privacy-oriented attribute-based credentials schemes. In [4], the authors exposed the shortcomings of these schemes in regard to their anonymity, untraceability, and unlinkability. Furthermore, the authors proposed a protocol that enables efficient and user-centered features using the pairing-based short signature of modified-ZSS (Zhang, Safavi-Naini and Susilo) scheme [9] and the self-blinding scheme developed by Verheul [10]. In a more recent paper [11], Teodor Dahl Knutsen at al. demonstrated the practicality of implementing two protocols and extended them with hidden public metadata.
An anonymous credential system usually involves the following roles: issuers, recipients, provers, and verifiers. The credential owner, or recipient, acts as the prover when presenting the credential to a verifier. To achieve this purpose, the credential consists of cryptographic information that allows the owner of the credential to create a proof, as well as the set of values of attributes to be proven.
The Idemix protocol, based on the Camenisch–Lysyanskaya (CL) signature scheme, uses this scheme to issue credentials [12]. The distinguishing feature of a CL signature is that it allows a user to prove the possession of a signature without revealing the original message, or even the signature itself, using zero-knowledge proofs (ZKP). The protocol uses XML and XSD to specify objects and build messages. It works using the RSA crypto-system that implies the use of 2048 or 4096 key lengths.
The downside of the Idemix protocol is the use of RSA cryptography, which uses long keys and requires resources to compute exponentiation. At the same time, the use of XML and XSD to codify messages adds an important overhead in both the setup and message exchange. Finally, the setup of the system can be difficult [13] to accomplish.
U-Prove is another anonymous credential system. It can be defined for a group in which it is unfeasible to compute a discrete logarithm. Proof-of-possession of the private key is the foundation of U-Prove. Every U-Prove token has the unique private key that signs it. It is a container of attributes of any kind, and this container is signed. The prover, using an issuance protocol, obtains the issuer parameters needed to build a token and convince a verifier using the presentation protocol. The prover then signs the issuer parameters to create a presentation proof.
In the case of U-Prove, the downside is that, even if it is more efficient than other alternatives, it does not provide unlinkability. In addition, the security of the protocol has not been fully proven [8].
In the protocol based on pairing-based short signatures and a self-blinding scheme introduced in [4], the authors provided proof of inefficiency and security in both Idemix and U-Prove. In the proposed protocol, to enforce unlinkability, the architecture splits the issuer into two actors: (1) the identity validator, who verifies the identity of the recipient and signs the commitment of values to allow the identification of the recipient in a blockchain; and (2) the Certificate provider, who provides a credential to the recipient for each service. This is accomplished after having verified the signature of an identity validator on the recipient’s anonymized attributes and proof of these anonymized attributes.
This protocol is based on: (1) pairings, (2) short signatures, (3) commitments, (4) zero-knowledge proofs, and (5) elliptic-curve cryptography. An additional privacy feature to protect the recipient’s activities on the blockchain is implemented using a self-blinding scheme [10].
This protocol is more efficient than others, but it is not suitable in applications where user actions need to be restricted to a single authentication, since the unlinkability property it offers does not detect whether someone has been authenticated more than once.
In order to obtain proof of authorization of an action or resource, many researchers propose the use of anonymous tokens. Davidson et al. [14] introduced a concept of an anonymous token named Privacy Pass [15,16,17,18] in order to avoid the use of CAPTCHAS for human proofs in the Tor network.
On the other hand, Moe, Silde and Strand [19] reimplemented the Privacy Pass for use in the COVID-19 digital contact tracing app Smittestopp [20]. The same Silde and Strand [21] extended their work with the construction of a new system of anonymous tokens with both private and public metadata.
Independently, Tyagi et al. [22] presented the same construction, along with a complete security proof.
Finally, Teodor Dahl Knutsen et al. [11] demonstrated the practicality of implementing two protocols and extending them with hidden public metadata.
These protocols, primarily focused on the pairing-based instantiation, are more generally known as verifiable (partially) oblivious pseudo-random functions. Pseudo-random functions (PRF) produce an output that will seem random unless one knows the secret key material.
Oblivious PRFs [23,24] are protocols that can compute a PRF without any of the parties learning the other party’s secret input, and with one of the parties learning the output of the function. In addition, verifiable oblivious PRFs (VOPRF) [24] guarantee that a correct input has been used. The output from the VOPRF is used as the anonymous token since the user’s private input is unknown to the issuer. The protocols use two mechanisms for creating this verifiability. The first set of protocols uses non-interactive zero-knowledge proofs to enable an issuer to prove that the correct private key was used to generate the function output. However, this proof cannot be updated by the receiver, so the resulting token can only be verified by a party holding the private key. Considering this disadvantage, Silde and Strand suggested a second set of protocols, named VOPRF instantiation, which allows verification without using zero-knowledge proofs, but with bilinear pairings instead.
Other anonymous authentication protocols have been developed in order to guarantee security in communications. In Internet of Things (IoT) systems, Alzahrani et al. [25] proposed an anonymous protocol with untraceability, resilience to physical device capture attacks, node impersonation, desynchronisation, and forward secrecy. Chien-Ming et al. [26] enhanced the previous protocol with the prevention of privileged insider attacks and stolen verification attacks. Nevertheless, none of these systems offers the traceability needed to implement e-voting systems.
In the field of vehicular ad hoc networks (VANETs), Ahmed et al. [27] presented a protocol that ensures message verification and integrity, resistance to unauthorized access, he preservation of privacy with pseudonyms, resistance to replay attacks, and traceability. Nonetheless, by only allowing traceability by a trusted authority, pseudonyms could be linked to real identities. This is inadmissible in a real election process. On the other hand, Waheeb et al. [28] developed a protocol with authentication, integrity, and non-repudiation, with conditional privacy, which was efficient and robust. However, conditional privacy is again an issue with this system.
In healthcare applications, Jangseok et al. [29] introduced a protocol with forgery attack prevention, perfect forward secrecy, patient anonymity, and insider or privileged insider attack prevention. The issue in this case is the complexity of the three-way login and authentication processes, which overloads communications and is not suitable for high-load systems such as national elections.
In the drone communications field, Tsuyang et al. [30] detailed a protocol with mutual authentication, replay attack prevention, physical device capture, and user anonymity and untraceability. Again, untraceability is the main issue with this protocol regarding its potential use in e-voting systems.
In public cloud servers, Naveed et al. [31] charted a protocol that provides user anonymity, untraceability, perfect forward secrecy, and resistance to replay attacks. Again, non-traceability is the problem, as one-voter-one-vote cannot be assured.
In the study of smart cities [32] and RFID [33], similar issues to the ones presented above can also be found.

3. Preliminaries

The protocol presented in this article uses pairings, short signatures, and zero-knowledge proofs over elliptic curves (EC). In this section, an overview of the primitives and the cryptographic problems upon which the security relies are provided.
Throughout this section, we consider a cyclic group G 1 of prime order q with a generator P, and a G 2 cyclic multiplicative group of the same order. We also denote by H : { 0 , 1 } * { 0 , 1 } λ a cryptographic hash function.

3.1. Bilinear Pairings

As stated in [9], a bilinear pairing is defined by G 1 , G 2 , and e : G 1 × G 1 G 2 is a map with the following properties:
  • Bilineality: e ( a P , b Q ) = e ( P , Q ) a b for all P , Q G 1 , a , b F q
  • Non-degeneracy: There exists P , Q G 1 such that e ( P , Q ) 1 , that is, mapping does not send all pairs in G 1 × G 1 to identity in G 2
  • Computability: Computing e ( P , Q ) for all P , Q G 1 can be achieved with an efficient algorithm.
We also need e to be an admissible bilinear map, that is, e ( G 1 , G 1 ) must generate G 2 to ensure that if P is a generator of G 1 , then e ( P , P ) is a generator of G 2 .

3.2. Cryptographic Problems in Additive Groups

The following cryptographic computational problems in the ( G 1 , + ) additive group are considered (against an adversary A ˜ ):
  • Problem 1: Discrete logarithm problem (DLP): it is hard for A ˜ , given P , Q ( G 1 : + ) , to find n F q * such that Q = n P .
  • Problem 2: Computational Diffie–Hellman Problem (CDHP): it is hard for A ˜ , given P , a P , b P with a , b F q * to compute a b P .
  • Problem 3: decisional Diffie–Hellman problem (DDHP): it is hard for A ˜ , given P , a P , b P , c P with a , b , c F q * to decide whether c a b mod q israndomly chosen from F q .
  • Problem 4: Inverse computational Diffie–Hellman problem (Inv-CDHP): For a F q * and given P , a P , it is hard to compute a 1 P .
  • Problem 5: The bilinear Diffie–Hellman problem (BDHP) in ( G 1 , G 2 , e ) : given
    ( P , a P , b P , c P ) for some a , b , c F q * , it is hard for A ˜ to compute v G 2 such that v = e ( P , P ) a b c .

3.3. A Short Signature Scheme from Pairings

Nowadays, the most efficient short signature scheme in the current literature is the well-known short signature scheme ZSS [9].
  • Parameter generation: { G 1 , G 2 , e, q, P, H} will be the system parameters.
  • Key generation: the key generation is performed by randomly selecting x R F q * and computing P p u b = x P , where P p u b will be the public key and x will be the secret key.
  • Signature: the signature will be
    S = ( H ( m ) + x ) 1 · P ,
    taking the secret key x and a message m.
  • Verification: we will verify the signature, taking the public key P p u b , a message m, and a signature S and computing
    e ( H ( m ) P + P p u b , S ) = e ( H ( m ) · P + x · P , ( H ( m ) + x ) 1 P ) = e ( P , P ) ( H ( m ) + x ) · ( H ( m ) + x ) 1 = e ( P , P )

3.4. Non-Interactive Zero-Knowledge Proofs

Using zero-knowledge proofs, a prover P is able to convince a verifier V that a statement is true without revealing any additional information other than that the statement is true [34]. Schnorr proofs of knowledge are normally interactive. To overcome this issue, the Fiat–Shamir transformation that converts a traditional ZPK into a non-interactive one (NI-Schnorr ZKP) is used. The protocol ( P , V ) has to satisfy two properties: (1) completeness—if the protocol is run by an honest prover and an honest verifier, the verifier always accepts the proof; and (2) soundness—an honest verifier accepts the proof of a dishonest prover for a false statement with a probability not greater than a certain bound (e.g., 1/2).
The prover P knows the secret v, so the necessary steps are the following:
  • P chooses a random r F q and calculates
    r = P · r v = v · P h = H ( r ) t = h · v + r
    and sends the tuple ( r , v , t ) to V ; the proof π is the tuple ( r , v , t ) .
  • V computes h = H ( r ) and verifies
    t · P = ( h · v + r ) · P = h · v · P + r · P = h · v + r
In [4], the authors present the use of this technique to prove correctness on committed data over the blockchain, in this case applied to elliptic curves.

4. The Proposed Protocol

4.1. Overview

The proposed protocol presented in this section aims to provide credentials to users in a given scope and ensure that they can use this credential only in the given scope in a linkable manner. This means that anybody can link two credentials and detect their reuse, but no one can link the credentials with the identity owner of said credential. We define scope as an arbitrary string acting as an identifier of the scope. Figure 1 shows a high-level diagram of the proposed scenario and the information exchange.
Table 1 presents a guide to the specific notation used.
In the following we present a case in which we use and follow this protocol:
  • A service provider, known as SP , offers a service only if the user is of legal age.
  • SP needs to know that the user U is of legal age, and nothing else.
  • SP needs to be able to identify U through different interactions because the provided service should be accessed only once.
  • An attribute provider AP , for instance, the civil registry, has all the information of all users and can provide anonymous credentials in the form of verifiable attributes. This anonymous credential is verifiable since it contains the signature of AP .
  • To overcome linkability, U blinds the credentials using Verheul’s algorithm. This allows the verification of a blinded attribute with a blinded signature. Once blinded, the linkability between the attribute and the real user U is broken.
  • U could blind one attribute in different ways, with different final values, without losing the verifiable characteristic, which makes it impossible to link different uses of the same attribute. To overcome this, the use of a universal identifier i d U is proposed. Computed for a given scope S, it includes the values of S and the attribute. i d U will not be blinded; it will be anonymous and unique, and used together with the blinded attribute. It enables anonymous authentication with linkability.
  • SP acts as a consumer of anonymous credentials and can identify the use of one credential with the i d U associated with a given scope S.
Below is the full description of the protocol, including the involved actors, the definitions regarding information, and the information exchanges.

4.2. Actors

Three different actors take part in the protocol:
  • The user, U , obtains and uses an anonymous credential.
  • The attribute provider, AP , provides U with a verifiable attribute in a given scope S by signing the hash S and the public key provided by U .
  • The service provider, SP , grants access to a particular service to identified users with a verifiable attribute and their universal identifier i d U , after verifying both.

4.3. Key Generation

Let F q be a cyclic group of prime order q and the elliptic point P E ( F q ) be a generator. Every actor chooses a random value s k R F q as a private key, and computes the scalar product over the fixed point of the elliptic curve to obtain the corresponding public key p k . Thus, the scheme deals with three different key pairs: ( s k U , p k U ) , ( s k AP , p k AP ) , and ( s k SP , p k SP ) . These keys correspond to U , AP , and SP , respectively.

4.4. Issuance of Anonymous Credentials: U AP

Before any protocol interaction, AP verifies the identity of U by any means necessary, involving, for instance, physical documents or face-to-face verification. It then registers U as an authorized member for a given scope S and provides the scope credential to U .
The messages exchanged between the two parties are as follows (see Figure 2):
  • U requests authorization for a given scope S.
  • AP reliably checks the identity and possible attributes requested to belong to the scope S.
  • AP generates the signature with the modified short Z S S signature scheme for bilinear pairing
    σ AP = ( H ( S ) + s k AP ) 1 · p k U .
  • AP sends σ AP , p k AP to U .
  • U verifies the received signature:
    e ( H ( S ) · P + p k AP , σ AP ) = e ( ( H ( S ) · P + s k AP · P ) , ( H ( S ) · s k AP ) 1 · p k U ) = e ( ( H ( S ) + s k AP ) · P , ( H ( S ) + s k AP ) 1 · p k U ) = e ( P , p k U ) ( H ( S ) + s k AP ) · ( H ( S ) + s k AP ) 1 = e ( P , p k U )
After the successful verification of the signature, the credential σ AP is stored for future use by U . σ AP is the credential that grants U access to a service in the given scope S.

4.5. Presentation of Credentials: U SP

A privacy feature to protect the activities performed by U based on a self-blinding scheme has been added into this protocol. A diagram of the exchanged messages and processes is shown in Figure 3.
We use a modified short signature Z S S and Verheul’s self-credentials with the aim of blinding the keys delivered by AP . Furthermore, i d U will never be blinded, allowing the linking of different presentations.
U , in order to compute their unique identifier, generates the signature using a Z S S signature scheme for bilinear pairing
i d U = H ( S ) 1 ( s k U + H ( S ) ) 1 · p k U
These blind credentials are still verifiable and retain the signature of AP .
The steps needed to obtain these values are:
  • U has σ AP , H ( S ) , s k U , p k U , and i d U .
  • U chooses b R F q * as a blind factor.
  • U computes:
    s k U = b · s k U p k U = s k U · P σ AP = b · σ AP P = b · P p k AP = b · p k AP C = b · H ( S ) · P
  • U also computes a NI-Schnorr ZKP, choosing r R F q * and finds:
    R = r · P h = H ( R ) t = h · s k U + r
  • U sends SP the anonymous credential σ AP , p k U , p k AP , P , C . U also sends the universal identifier i d U , and the NI-Schnorr ZKP proof-of-possession of the private key ( R , h , t ), to allow the verification of the credentials and the universal identifier.
  • SP needs to verify that p k AP is really p k AP after being blinded. To accomplish this, SP can test the following equality:
    e ( p k AP , P ) = e ( b · p k AP , P ) = e ( p k AP , P ) b = e ( p k AP , b · P ) = e ( p k AP , P )
  • If p k AP is correct, SP can verify the following:
    e ( C + p k AP , σ AP ) = e ( b · H ( S ) · P + b · p k AP , b · σ AP ) = e ( b · ( H ( S ) · P + s k AP · P ) , b · ( H ( S ) + s k AP ) 1 · p k U ) = e ( b · P · ( H ( S ) + s k AP ) , b · ( H ( S ) + s k AP ) 1 · p k U ) = e ( P · ( H ( S ) + s k AP ) , b · ( H ( S ) + s k AP ) 1 · p k U ) = e ( P · ( H ( S ) + s k AP ) , b · ( H ( S ) + s k AP ) 1 · s k U · P ) = e ( P , b · s k U · P ) ( H ( S ) + s k AP ) · ( H ( S ) + s k AP ) 1 = e ( P , p k U )
  • SP can also verify the universal identifier i d U following this process:
    e ( C + p k U , H ( S ) · i d U ) = e ( b · H ( S ) · P + b · p k U , H ( S ) · H ( S ) 1 · ( s k U + H ( S ) ) 1 · p k U ) = e ( b · ( H ( S ) · P + s k U · P ) , ( H ( S ) + s k U ) 1 · p k U ) = e ( P · ( H ( S ) + s k U ) , ( H ( S ) + s k U ) 1 · p k U ) b = e ( P , b · p k U ) ( H ( S ) + s k U ) · ( H ( S ) + s k U ) 1 = e ( P , p k U )
  • Finally, SP can also verify that U has the correct private key:
    t · P = ( h · s k U + r ) · P = h · s k U · P + r · P = r P + h · p k U = R + p k U · h

5. Security Analysis

A security analysis of the proposed protocol is provided in this section. First, we analyze its robustness when faced with a malicious user who tries to forge fake credentials. Then, the anonymous properties of the proposed scheme are verified.
Two main threats have been analyzed. The user U fair-play caseand the possible collusion between AP and SP .
The assumptions that we made about the abilities of U are summarized below:
  • U can forge fake credentials.
  • U can blind credentials many times with different results to use credentials more than once.
In both cases, we demonstrate that this malicious behaviour will be detected.
The assumptions that we made about the abilities of AP and SP are summarized below:
  • AP knows the real identity of U .
  • AP and SP collude and collect all messages exchanged with U .
We demonstrate that in any case, SP cannot obtain U ’s real identity, and AP cannot know when U uses their credential.

5.1. Unforgeability

First, a malicious user U cannot generate fake credentials that are not blindly signed by AP . This property is ensured by the use of the ZZS short signature, which has the property of unforgeability. More precisely, in the case in which U generates a fake credential, such a credential would not be properly signed using the s k AP , and the fake ZSS signature would not pass the validation performed by SP in the credential presentation phase; verifying that
e ( C + p k AP , σ AP ) = e ( P , p k U )
would fail. If this did not fail, this would mean that the short signature ZSS did not have the property of unforgeability, which would be false in this case.
Secondly, a malicious user U cannot generate an i d U that is not associated with an AP for a given scope ( S ) , since such an identifier would not pass the validation performed by SP . More precisely, in the credential issuance phase, the computation of i d U ,
i d U = H ( S ) 1 ( s k U + H ( S ) ) 1 · p k U ,
provides a unique identifier for the given scope, ( S ) , and a private key, s k U . In the case in which U generates a different identifier,
i d ˜ U = H ( S ) 1 · ( s k ˜ U 1 + H ( S ) ) 1 · p k ˜ U ,
SP must verify C and i d ˜ U with the same p k U ; however, if U sends p k U = b · p k U in the credential presentation phase, the verification performed by SP of i d ˜ U will fail because e ( C + p k U , H ( S ) · i d ˜ U ) e ( P , p k U ) . On the other hand, if U sends p k ˜ U = b · s k ˜ U · P , SP can detect the attack since e ( C + p k AP , σ AP ) e ( P , p k ˜ U ) .
Finally, a malicious user U cannot generate a fake blinded AP public key p k AP associated with a fake AP in the scope S , since this would not pass the validation performed by SP .

5.2. User Anonymity

The proposed protocol protects the identity of U in such a way that it cannot be obtained by an adversary A ˜ who has access to a number of messages and/or credentials generated by AP or processed by SP from the same user. In fact, the identity of U is protected even if AP and SP collude.
In the credential issuance phase, AP does not know the value of i d U generated by U in the last step of the protocol since it is computed using the private key of U .
In the credential presentation phase, U uses a blinding factor b to protect the information sent to SP , so SP cannot obtain U ’s identity based on the received blinded values. The use of short ZZS signatures allows for the proper security verification when using blinded data.
Regarding the i d U value, it cannot be used to obtain U ’s identity based on SP since, as discussed for the case of AP , i d U is generated by U using the private key of U .
Note, as well, that collusion between AP and SP cannot compromise the anonymity of i d U . As SP only receives blinded values, even if it colludes with AP it has no chance of obtaining the user’s identity, due to the assumptions of DLP, CDHP, and DDHP (problems 1, 2, and 3, respectively, in Section 3.2).

5.3. Identifier Unlinkability between Scopes

Given n different scopes, S 1 , S 2 , , S n , an adversary who has knowledge of the corresponding identifiers for a particular user U , denoted by i d U S 1 , i d U S 2 , , i d U S n , cannot link these identifiers nor obtain the identity of i d U .
This property is ensured by the identifier definition:
i d U S i = H ( S i ) 1 ( s k U + H ( S i ) ) 1 · p k U
since obtaining either s k U or p k U , even with the knowledge of S 1 , S 2 , , S n , is not possible due to the DLP (problem 1 in Section 3.2).

5.4. Identifier Reusability Detection within the Same Scope

The proposed protocol is able to detect user identifier reuse within the same scope. This property is based on how i d U is defined.
Note that all the terms in the expression
i d U = H ( S ) 1 · ( s k U 1 + H ( S ) ) 1 · p k U
are fixed for a given scope ( S ) ; thus, the resulting i d U will be the same for a given s k U and p k U . SP only needs to store i d U to detect its reuse. Moreover, as i d U does not depend on the blinded value C , i d U will be the same for different blinded versions of C.
A malicious user U cannot generate an i d U that is not associated with an s k ˜ U and p k ˜ U , since this identifier will not pass the validation performed by SP . In the same way as in Section 5.1, U generates a different identifier:
i d ˜ U = H ( S ) 1 · ( s k ˜ U 1 + H ( S ) ) 1 · p k ˜ U
SP must verify C and i d ˜ U with the same p k U ; however, if U sends p k U = b · p k U in the credential presentation phase, the verification performed by SP of i d ˜ U will fail, because e ( C + p k U , H ( S ) · i d ˜ U ) e ( P , p k U ) . On the other hand, if U sends p k ˜ U = b · s k ˜ U · P , SP can detect the attack since e ( C + p k AP , σ AP ) e ( P , p k ˜ U ) .

6. Conclusions and Future Line of Research

A new protocol that defines attribute-based pseudonyms has been proposed in this paper, which is based on a proposal by Singh et al. [4]. The concept of scopes ( S ) has been added to provide reusability detection within a given scope, without the loss of anonymity, even in cases with collusion between participants. The concept of scope determines the cases wherein the pseudonym will be linkable, and we have defined a user identifier, i d U , that represents the pseudonym for a given scope. This identifier will be unique in the given scope, and is linked to an anonymous credential.
We reinforce the fact that only AP knows the personal user data, preventing the spread of personal data over the network. AP gives the user a verifiable credential that is anonymous but grants rights in the formof a SP to obtain a service. It is important to highlight that the user is the one who stores those credentials and is responsible for their custody. By blinding the credentials before their presentation, the user knows that it is not possible to link any credentials to the real identity, even if AP and SP collude with one another. With the use of bilinear pairings over elliptic-curves that allow signature verification even when credentials are blinded, we establish a mechanism to validate anonymous credentials. In order to allow linkability in a given scope, the user must present the identifier, together with the associated blinded anonymous credential. The identifier is unique and is associated with an anonymous credential before blinding, and the SP can detect its reuse, thanks to its uniqueness, by storing the i d U .
Future works could focus on the application of the proposed protocol in environments where both anonymity and uniqueness of the user are essential properties that need to be preserved. One of these scenarios could be a blockchain-based e-voting scheme. The vast majority of blockchain-based e-voting proposals do not deal with the problem of user identification, so we plan to include our protocol in an existing blockchain voting scheme to evaluate its use in a large-scale scenario such as a national voting deployment, in which the election process is stored in a blockchain and can be fully verifiable.

Author Contributions

Writing—original draft preparation: F.G.-G.; writing—review and editing: F.G.-G., J.H.-J. and A.D.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Berkowsky, J.A.; Hayajneh, T. Security issues with certificate authorities. In Proceedings of the 2017 IEEE 8th Annual Ubiquitous Computing, Electronics and Mobile Communication Conference (UEMCON), New York, NY, USA, 19–21 October 2017; pp. 449–455. [Google Scholar]
  2. Khan, M.A.; Salah, K. IoT security: Review, blockchain solutions, and open challenges. Future Gener. Comput. Syst. 2018, 82, 395–411. [Google Scholar] [CrossRef]
  3. Dib, O.; Huyart, C.; Toumi, K. A novel data exploitation framework based on blockchain. Pervasive Mob. Comput. 2020, 61, 101104. [Google Scholar] [CrossRef]
  4. Singh, K.; Dib, O.; Huyart, C.; Toumi, K. A novel credential protocol for protecting personal attributes in blockchain. Comput. Electr. Eng. 2020, 83, 106586. [Google Scholar] [CrossRef]
  5. Camenisch, J.; Lysyanskaya, A. An Efficient System for Non-transferable Anonymous Credentials with Optional Anonymity Revocation. In Advances in Cryptology—EUROCRYPT 2001; Pfitzmann, B., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; pp. 93–118. [Google Scholar]
  6. Bogatov, D.; Caro, A.D.; Elkhiyaoui, K.; Tackmann, B. Anonymous Transactions with Revocation and Auditing in Hyperledger Fabric. Cryptology ePrint Archive, Report 2019/1097. 2019. Available online: https://eprint.iacr.org/2019/1097 (accessed on 1 June 2022).
  7. IBM. Specification of the Identity Mixer Cryptographic Library. In Information Security; IBM: Armonk, NY, USA, 2010; pp. 1–52. [Google Scholar]
  8. Paquin, C.; Zaverucha, G. U-Prove Cryptographic Specification V1.1 (Revision 3). 2013. Available online: https://www.microsoft.com/en-us/research/publication/u-prove-cryptographic-specification-v1-1-revision-3/ (accessed on 1 June 2022).
  9. Zhang, F.; Safavi-Naini, R.; Susilo, W. An Efficient Signature Scheme from Bilinear Pairings and Its Applications. In Public Key Cryptography—PKC 2004; Bao, F., Deng, R., Zhou, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 277–290. [Google Scholar]
  10. Verheul, E.R. Self-Blindable Credential Certificates from the Weil Pairing. In Advances in Cryptology—ASIACRYPT 2001; Boyd, C., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; pp. 533–551. [Google Scholar]
  11. Knutsen, T.D.; Manum, T.; Strand, M. FFI-NOTAT Anonymous Tokens-Implementation and Development; FFI/NOTAT: Kjeller, Norway, 2022. [Google Scholar]
  12. Camenisch, J.; Lysyanskaya, A. A Signature Scheme with Efficient Protocols. In Security in Communication Networks; Cimato, S., Persiano, G., Galdi, C., Eds.; Springer: Berlin/Heidelberg, Germany, 2003; pp. 268–289. [Google Scholar]
  13. Camenisch, J.; Herreweghen, E. Design and Implementation of the idemix Anonymous Credential System. In Proceedings of the ACM Conference on Computer and Communications Security, Washington, DC, USA, 27–30 October 2003. [Google Scholar] [CrossRef]
  14. Davidson, A.; Goldberg, I.; Sullivan, N.; Tankersley, G.; Valsorda, F. Privacy Pass: Bypassing Internet Challenges Anonymously. Proc. Priv. Enhancing Technol. 2018, 2018, 164–180. [Google Scholar] [CrossRef] [Green Version]
  15. Internet Engineering Task Force. Privacy Pass Datatracker. 2021. Available online: https://datatracker.ietf.org/wg/privacypass (accessed on 26 March 2022).
  16. Davidson, A.; Internet Engineering Task Force. Privacy Pass: The Protocol. Internet-Draft Draft-Davidson-pp-Protocol-01. 2020. Available online: https://datatracker.ietf.org/doc/html/draft-davidson-pp-protocol-01 (accessed on 26 March 2022).
  17. Celi, S.; Davidson, A.; Faz-Hernández, A.; Valdez, S.; Wood, C.A.; Internet Engineering Task Force. Privacy Pass Issuance Protocol. Internet-Draft draft-ietf-privacypass-protocol-03. 2022. Available online: https://datatracker.ietf.org/doc/html/draft-ietf-privacypass-protocol-03 (accessed on 26 March 2022).
  18. Davidson, A.; Iyengar, J.; Wood, C.A.; Internet Engineering Task Force. Privacy Pass Architectural Framework. Internet-Draft Draft-Ietf-Privacypass-Architecture-03. 2022. Available online: https://datatracker.ietf.org/doc/html/draft-ietf-privacypass-architecture-03 (accessed on 26 March 2022).
  19. Moe, H.W.; Silde, T.; Strand, M. Anonymous Tokens. 2021. Available online: https://github.com/HenrikWM/anonymous-tokens/ (accessed on 26 March 2022).
  20. Norwegian Institute of Public Health. The Smittestopp App—Helsenorge.no. Available online: https://www.helsenorge.no/en/smittestopp/ (accessed on 26 March 2022).
  21. Silde, T.; Strand, M. Anonymous Tokens with Public Metadata and Applications to Private Contact Tracing. Cryptology ePrint Archive, Report 2021/203. 2021. Available online: https://ia.cr/2021/203 (accessed on 26 March 2022).
  22. Tyagi, N.; Celi, S.; Ristenpart, T.; Sullivan, N.; Tessaro, S.; Wood, C.A. A Fast and Simple Partially Oblivious PRF, with Applications. Cryptology ePrint Archive, Report 2021/864. 2021. Available online: https://ia.cr/2021/864 (accessed on 26 March 2022).
  23. Casacuberta, S.; Hesse, J.; Lehmann, A. SoK: Oblivious Pseudorandom Functions. Cryptology ePrint Archive, Report 2022/302. 2022. Available online: https://ia.cr/2022/302 (accessed on 26 March 2022).
  24. Davidson, A.; Faz-Hernández, A.; Sullivan, N.; Wood, C.A.; Internet Engineering Task Force. Oblivious Pseudorandom Functions (OPRFs) using Prime-Order Groups. Internet-Draft draft-irtf-cfrg-voprf-09. 2022. Available online: https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-voprf-09 (accessed on 26 March 2022).
  25. Alzahrani, B.A.; Mahmood, K. Provable Privacy Preserving Authentication Solution for Internet of Things Environment. IEEE Access 2021, 9, 82857–82865. [Google Scholar] [CrossRef]
  26. Chen, C.M.; Li, X.; Liu, S.; Wu, M.E.; Kumari, S. Enhanced Authentication Protocol for the Internet of Things Environment. Secur. Commun. Netw. 2022, 2022, 8543894. [Google Scholar] [CrossRef]
  27. Ahmed, W.; Di, W.; Mukathe, D. Privacy-preserving blockchain-based authentication and trust management in VANETs. IET Netw. 2022. [Google Scholar] [CrossRef]
  28. Goudarzi, S.; Soleymani, S.A.; Anisi, M.H.; Azgomi, M.A.; Movahedi, Z.; Kama, N.; Rusli, H.M.; Khan, M.K. A privacy-preserving authentication scheme based on Elliptic Curve Cryptography and using Quotient Filter in fog-enabled VANET. Ad Hoc Netw. 2022, 128, 102782. [Google Scholar] [CrossRef]
  29. Ryu, J.; Oh, J.; Kwon, D.; Son, S.; Lee, J.; Park, Y.; Park, Y. Secure ECC-Based Three-Factor Mutual Authentication Protocol for Telecare Medical Information System. IEEE Access 2022, 10, 11511–11526. [Google Scholar] [CrossRef]
  30. Wu, T.; Guo, X.; Chen, Y.; Kumari, S.; Chen, C. Amassing the Security: An Enhanced Authentication Protocol for Drone Communications over 5G Networks. Drones 2022, 6, 10. [Google Scholar] [CrossRef]
  31. Khan, N.; Zhang, J.; Jan, S.U. A Robust and Privacy-Preserving Anonymous User Authentication Scheme for Public Cloud Server. Secur. Commun. Netw. 2022, 2022, 1943426. [Google Scholar] [CrossRef]
  32. Xie, Q.; Li, K.; Tan, X.; Han, L.; Tang, W.; Hu, B. A secure and privacy-preserving authentication protocol for wireless sensor networks in smart city. Eurasip J. Wirel. Commun. Netw 2021, 119. [Google Scholar] [CrossRef]
  33. Wei, G.h.; Qin, Y.l.; Fu, W. An Improved Security Authentication Protocol for Lightweight RFID Based on ECC. J. Sens. 2022, 7516010. [Google Scholar] [CrossRef]
  34. Schnorr, C.P. Efficient signature generation by smart cards. J. Cryptol. 1991, 4, 161–174. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Overview of the information exchange between roles. (1) U begins the protocol by requesting AP for a credential for a given scope S. In this case, this is carried out two times, one for scope S 1 and one for scope S 2 . (2) After user identity verification, AP provides the user with a credential. This credential is only valid for S x within the request. (3) U stores both credentials. (4) U presents the credentials to SP . The figure illustrates four cases: (4a) U presents the credential for S 1 to S P of scope S 1 , verification succeeds and S P accepts the credential (4b) U presents the credential for S 1 to S P of scope S 2 , verification fails and S P rejects the credential. (4c) U presents credential for S 2 to S P of scope S 1 , verification fails and S P rejects the credential. (4d) U presents credential for S 2 to S P of scope S 2 , verification succeeds and S P accepts the credential.
Figure 1. Overview of the information exchange between roles. (1) U begins the protocol by requesting AP for a credential for a given scope S. In this case, this is carried out two times, one for scope S 1 and one for scope S 2 . (2) After user identity verification, AP provides the user with a credential. This credential is only valid for S x within the request. (3) U stores both credentials. (4) U presents the credentials to SP . The figure illustrates four cases: (4a) U presents the credential for S 1 to S P of scope S 1 , verification succeeds and S P accepts the credential (4b) U presents the credential for S 1 to S P of scope S 2 , verification fails and S P rejects the credential. (4c) U presents credential for S 2 to S P of scope S 1 , verification fails and S P rejects the credential. (4d) U presents credential for S 2 to S P of scope S 2 , verification succeeds and S P accepts the credential.
Mathematics 10 02548 g001
Figure 2. Message exchange between U and AP during the credential issuance phase.
Figure 2. Message exchange between U and AP during the credential issuance phase.
Mathematics 10 02548 g002
Figure 3. Message exchange between U and SP during the credential presentation phase.
Figure 3. Message exchange between U and SP during the credential presentation phase.
Mathematics 10 02548 g003
Table 1. Notation guide.
Table 1. Notation guide.
NotationMeaningNotationMeaning
AP Attribute provider U User
SP Service provider A ˜ Adversary
i d U User identifierSScope (arbitrary string)
i d U S i User identifier for scope S i i d ˜ U Fake user identifier
s k U User secret key p k U User public key
s k ˜ U Fake user secret key p k ˜ U Fake user public key
s k AP Attribute provider secret key p k AP Attribute provider public key
s k SP Service provider secret key p k SP Service provider public key
σ AP Signature of attribute provider H ( S ) hash of scope
PGenerator of cyclic group G bRandom blind factor
s k U Blinded user secret key p k U Blinded user public key
σ AP Blinded signature ( R , h , t ) NI-Schnorr ZKP
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Garcia-Grau, F.; Herrera-Joancomartí, J.; Dorca Josa, A. Attribute Based Pseudonyms: Anonymous and Linkable Scoped Credentials. Mathematics 2022, 10, 2548. https://doi.org/10.3390/math10152548

AMA Style

Garcia-Grau F, Herrera-Joancomartí J, Dorca Josa A. Attribute Based Pseudonyms: Anonymous and Linkable Scoped Credentials. Mathematics. 2022; 10(15):2548. https://doi.org/10.3390/math10152548

Chicago/Turabian Style

Garcia-Grau, Francesc, Jordi Herrera-Joancomartí, and Aleix Dorca Josa. 2022. "Attribute Based Pseudonyms: Anonymous and Linkable Scoped Credentials" Mathematics 10, no. 15: 2548. https://doi.org/10.3390/math10152548

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop