You are currently viewing a new version of our website. To view the old version click .
Electronics
  • Article
  • Open Access

22 July 2020

An Anonymous Protocol with User Identification and Linking Capabilities for User Privacy in a Permissioned Blockchain

,
,
and
1
Department of Computer Science and Engineering, Soonchunhyang University, Asan-si 31538, Korea
2
Department of Computer Science, Kennesaw State University, Marietta, GA 30060, USA
3
Department of Computer Science and Information Sciences, Fordham University, Bronx, NY 10458, USA
*
Author to whom correspondence should be addressed.
This article belongs to the Section Computer Science & Engineering

Abstract

A permissioned blockchain includes a user in the network after verifying the user’s identity, in contrast to Bitcoin, which is a public blockchain that allows network participation without third-party approval. The two types of permissioned blockchains are private blockchains, each consisting of one server and multiple users, and consortium blockchains, which consist of groups of private blockchains. However, a blockchain has privacy issues, such as user tracking and inference. Therefore, cryptography should be applied for user privacy in a blockchain. There is a lot of research on anonymous protocols for privacy in a blockchain. In this paper, we provide a scheme for user management, i.e., identification and authorization, in a permissioned blockchain. We also propose an anonymous protocol with user identification and transaction linking capabilities provided by the private server, strictly to solve privacy concerns.

1. Introduction

A blockchain is a distributed ledger in which all participants can record and share information with each other [1]. In addition, a blockchain is a structure that enables modification of the data by the owner of a private key. As a result, the owner of the private key can control the data. A blockchain is also capable of providing a public key to access and offer signature verification of data, without a central trusted third party (TTP) public key certificate. It can provide anonymity, as Bitcoin does, because it uses a pseudonym (public key) without revealing the actual identity information. Blockchains are increasing in popularity in that they provide decentralization, integrity, transparency, and privacy [2].
Unlike permissionless environments, e.g., Bitcoin, wherein the public network allows network participation without third-party approval, a permissioned blockchain is composed of a set of known, identified nodes that might not completely trust each other [3]. Additionally, permissioned models control who participates in the validation protocol; these nodes usually have constructed identities and form a consortium [4]. For example, consider an independent hospital that records a patient’s prescription information in a private blockchain [5]. To negotiate with other hospitals, which can share the records and prescriptions of patients, a consortium blockchain is preferred. Similarly, a consortium blockchain can allow customers to make banking transactions both within the bank and between multiple banks. Service providers in the permissioned blockchain need to identify and manage a user’s identity. In a permissioned blockchain, this happens through a membership service provider (MSP). Repeated use of the same public key by a user may lead to a privacy problem due to inferring or tracking the specific user with the identifier recorded in the blockchain. If a member’s transaction in the private blockchain can be identified, the member can also be known on the consortium blockchain. Sensitive information, such as hospital records, must have greater security to protect the privacy of the user [6]. It is essential that permissioned blockchains guarantee privacy between consortium members while managing user authentication.
Privacy means the ability of an individual or group to conceal and selectively reveal their own information. Anonymity is derived from Greek, meaning “without a name” or “namelessness” [7,8]. Anonymity, as part of privacy, means that even if a message (transaction) is disclosed on the blockchain, the public key is not related to the individual’s off-chain ID (real identity) [8]. Even if one possesses the message, still, the identity of the individual cannot be identified or inferred [7,8]. In this connection, unlinkability and untraceability are essential. Unlinkability means one has “no idea how transactions are related,” and the untraceability means one has “no idea where a transaction came from.” Bitcoin, which uses financial transactions with the mask of public keys, provides unlinkability. However, the untraceability of the same user in the blockchain transaction is not guaranteed. Monero offers both unlinkability and untraceability through a ring signature and a one-time key [8]. On the other hand, there are also areas where blockchain is applied rather than currency. Yin et al. and Yang et al. used blockchain to improve privacy, anonymity, and efficiency in 5G networks and in the cloud [9,10]. Reference [9] secured reliability through the layer of the blockchain and strengthened anonymity using only the public key address. Reference [10] applied blockchain for efficiency and reliability in a 5G network. In addition, anonymous authentication is performed using a zero-knowledge certificate. However, for zero knowledge verification, the key generation and verification verification time are required separately. We try not to use zero-knowledge proofs. Additionally, complete anonymity, such as zero-knowledge proof, may not be able to control malicious users in the business model.
In a permissioned blockchain, the goals of unlinkability and untraceability need not always be fulfilled simultaneously. A permissioned blockchain needs the MSP to identify, manage, and restrict participants. Depending on policy, a permissioned blockchain may also require the tracking of malicious members or verification of the identity of a user upon a legitimate request. Only partial anonymity is needed to protect the user’s privacy while revealing the user’s identity and efficiently computing connections at the same time. In this paper, we propose an anonymous protocol that features improved user privacy in permissioned blockchains and fulfills the requirements of anonymity, linking, and user identification.
This paper consists of five sections: introduction, related work, preliminary remarks, proposed scheme, and analysis and conclusion. In Section 1, we introduce the blockchain and privacy problem and some design issues for the permissioned blockchain. In Section 2, we summarize the related works. In Section 3, we review the background and preliminary work for the proposed scheme. In Section 4, we cover the proposed scheme in depth—the motivation, contributions, overview, entities, and security requirements. We also describe the use of the workflow and the formula. In Section 5, we analyze and compare our scheme to other existing schemes. In Section 6, we set out our conclusion.

3. Preliminary

In this section, we discuss the background and preliminaries required in this paper.

3.1. Anonymous Credential System

A credential system is a system in which a user can obtain credentials from institutions and can announce those credentials. It is called an anonymous credential system when others do not know if the actions are all done by the same user [36]. In Figure 1, the sender (user) registers identity and key with issuer (institution). The sender authenticates to issuer via a key and requests an anonymous credential (pseudo ID). The sender and the receiver perform a secret calculation for mutual authentication. At this time, the sender uses the pseudo ID obtained from issuer. Therefore, the receiver does not know the real identity of the sender. This is an anonymous credential system associated with privacy and anonymity. This guarantees that a credential issued by an institution has accurate information and users can be validated on demand. Anonymous credential systems are sometimes referred to as pseudonym systems because users are issued a credential with a different pseudonym by each institution. A pseudonym allows users to use a different name at each institution. Each institution can associate users with user accounts through a pseudonym, but institutions cannot know the true identities of their users. However, an anonymous credential can assure a relationship between the user and the institution, and it can prove the relationship to other institutions [37]. In relation to our work, a private blockchain uses an anonymous credential system that manages users’ identity information and issues pseudonym IDs to the users. Users can generate messages anonymously via the pseudonym ID. The private blockchain can provide the user’s identity information upon demand.
Figure 1. Diagram of the anonymous credential system.

3.2. Bilinear Pairing

Bilinear pairing assumes that it is difficult to solve the discrete logarithm problem when multiplicative groups G 1 and G 2 of a larger multiplicative group n have the same constant p. g 1 is the constructor of G 1 and g 2 is the constructor of G 2 . ψ is a homogeneous calculation from G 1 , G 2 and ψ g 2 = g 1 . If e : G 1 × G 2 G τ in L = ( n ,   G 1 ,   G 2 ,   G τ ,   e ,   g 1 ,   g 2 ) satisfies the following conditions, e : G 1 × G 2 G τ is termed a bilinear pairing [38].
Bilinear: u G 1 , v G 2 and a , b Z n e u a , v b = e u , v a b .
Nondegenerate: For G 1 , v G 2 , e ( u , v ) , where ∅ is the zero factors of G τ
Computability: There exists an efficient algorithm allowing the computation e ( u , v ) for u G 1 , v G 2 .
Complexity assumption: Let P be the generator for the groups G 1 and G 2 is defined above. The q-BDHI problem is defined as follows [39]: Given the q + 1-tuple ( P , x P , x 2 P , , x q ) G 1 * q + 1 as input, compute P , P 1 / x G 2 * . An algorithm A has an advantage ε in solving q - BDHI G 1 if
Pr A P , x P , x 2 P , , x q = e P , P 1 x ε
where the probability is over the random choice of x Z p * and random bits of A.
Definition 1.
q-BDHI assumption. The q-BDHI assumption in G 1 and G 2 holds if all polynomial-time algorithms have negligible time to solve the q-BDHI problem.

3.3. Blockchain

Blockchain is a distributed ledger technology; all nodes both record and store the same ledger. A block usually consists of the hash value of the previous block, the signature of the contributor, a payload and timestamp. The hash value of the previous block makes the blockchain immutable (Figure 2). Therefore, unlike existing databases, the ledger can only add transactions; data cannot be modified or deleted. Therefore, it is exceedingly difficult to counterfeit or tamper with data. First, data entry is irreversible given the hash calculation within the block. Second, the contents of the previous block form a chain with the contents of the next block, and no node can change. Additionally, as all nodes store records identically, a network can be created and maintained in the absence of central organization. This avoids the possible single-point-of-failure problem of centralized structures and minimizes broker activities and commissions. Blockchains are divided into public blockchains that anyone can join, and permissioned blockchains that accept only authorized members. A permissioned blockchain contains a member who identifies authorized users or groups [40].
Figure 2. Structure of blockchain.
For our work, an anonymous credential system is introduced for two types of permissioned blockchain, private blockchain and consortium blockchain, to store and manage users’ data with pseudonym IDs, which helps to improve the users’ privacy. Each private blockchain issues pseudonym IDs, which are linked to users’ real identity information. The private blockchain store the users’ data, including the pseudonym ID. A private blockchain negotiates to form a consortium blockchain, which keeps records of the anonymous data via an aggregated signature.

3.4. Elliptic Curve Cryptography

Compared to conventional cryptographic techniques, such as the Digital Signature Standard (DSS), Rivest–Shamir–Adleman (RSA), and Diffie–Helmman (DH) key exchange, elliptic curve cryptography (ECC) is considered more efficient for security [41]. ECC is a public key cryptosystem based on elliptic curve theory. An elliptic curve is a curve defined by an equation of the form y 2 = x 3 + a x + b , yielding points on an ellipse, which contains a special category of real numbers, used to develop public keys. Early public-key cryptography was based on the fact that it takes a very long time to divide a very large integer into two or more prime numbers [41].
ECC exploits the fact that it also takes an exceptionally long time to determine the discrete logarithm of a random elliptic curve at any given point. Discrete logarithms require that x satisfies the equation a x = b . If a and x are known, it is very easy to find b, but if only a and b are known is the difficulty of finding x known as the discrete logarithm problem, which is exploited to render it very difficult to calculate the private key from the public key. In detail, the discrete logarithm problem can be stated as follows: it is difficult to find the logarithm of a surplus system that considers only the remainder of a modular operation. If the previously given statement is satisfied, given Q as a point and t F p * as an integer, then repeated addition is used to define scalar multiplication, i.e., t Q = Q + Q + Q + Q + … + Q (t times). The domain parameters are members of finite field F P * , i.e., ( p , a , b , P , n , h ) F P * . E is an abelian group and the identity element of this group is the point that lies at infinity [42].

3.5. Aggregate Signature and Root Signature

An aggregate signature scheme was proposed by Yuan et al. in 2017 [43]. They proposed a new scheme that was designed to hide the number of transactions in a blockchain, which contains multiple inputs and outputs. It uses an aggregate signature to combine transactions and produce a single group signature.
A root signature is a type of aggregate signature. The user creates a one-time public/private key pair ( P K , S K ) using ECC. P is the public key set and P K i P refers to a one-time public key (Figure 3 and Figure 4). In our work, each one-time public key P K i P is associated with a one-time private key S K i . A user u U creates a root signature for public key verification generated as an aggregate signature using the one-time public keys P K i for each transaction as input. Others can access, but are not allowed to modify the user’s one-time public keys or the root signature without the private key. The root signature is the same size as the one-time public key. The single signature value of the aggregate one-time public key that comes from this is called the root public key.
Figure 3. One-time keys and root signature.
Figure 4. Generation and verification in a root signature model.

4. Proposed Scheme

In this section, we explain the proposed scheme. This section consists of six subsections: our contribution, security requirements, overview, entities in the system, workflow, and protocol.

4.1. Our Contribution

We provide two contributions. One is the privacy issue and the other is user identification and linking capabilities.
(1) Privacy issue: There can be privacy problems when sharing a ledger among groups. In the consortium blockchain, a member authenticated in multiple private blockchain with the same identifier can cause privacy concerns, such as inference of members. In this paper, we aimed to guarantee privacy through anonymity via pseudonym IDs, which are issued by an anonymous credential system and by using aggregated signatures.
(2) User identification and linking capabilities: With complete anonymity it is not possible to track malicious members in a permissioned blockchain. Therefore, traceability and linkability can be provided through a signature that includes a tag or a group manager who knows users’ identities. However, with a group manager, iterative user authentication, distribution of group keys, and signing are inefficient. Therefore, we propose an anonymous protocol based on an anonymous credential system [36]. In addition, we use a root signature-based one-time key and public key certificate system. This assures security through binding one-time public keys to a root public key. A user may own multiple pseudonym IDs according to the anonymous credential system, and other groups identify users with the pseudonym IDs [37]. The actual identity of the user is concealed by using the pseudonym IDs, and user identification and linking capabilities are provided through the private blockchain server (PBS) when users act maliciously. In addition, the PBS’s signature ensures the authentication of its members and messages to other groups in the consortium blockchain [44]. Finally, we generate an efficient, compressed signature using aggregate signatures.

4.2. Security Requirements

In this subsection, we describe the requirements for creating an anonymous protocol with user identification and linking capabilities for user privacy in a permissioned blockchain. At the same time, we analyze the advantages and disadvantages of existing methods for satisfying these requirements.
(1) Authorization: The permissioned blockchain only allows users who have been identified to join the network. Only authenticated users have authorization to access the services. Only users authenticated by the permissioned blockchain can generate signatures. Signatures are verified only by group members. Signatures that fail verification are invalid.
(2) Confidentiality: Confidentiality means that a message is not visible to other users. Sensitive information that requires confidentiality can be encrypted as in [19,20]. Encryption and decryption have a lot of overhead.
(3) Prevention of inferring user’s identity: If a user uses the same key repetitively, it can allow for inferring with the user’s identity. Keys can be used as one-time-keys or changed periodically [17,25]. However, depending on the life cycle of the keys, it may be necessary to solve problems such as verification, revocation, and renewal of the keys.
(4) Anonymity: In a group signature, a condition can be added that only the manager identifies the signer to improve anonymity [18]. Additionally, in permissioned blockchains, private blockchains and consortium blockchains use different methods to reduce manager overhead and improve privacy. Privacy needs to separate user verification and signature authentication to minimize information exposure.
User identification and linking capabilities: Sometimes a permissioned blockchain needs to trace user messages [31]. A tag is attached so that the signature of the same signer can be verified through a TTP. Reference [7] proposed a ring signature tag using Zk-SNARKs on the ring signature without a TTP. This method separates all the users’ identity information and only checks whether a message is generated from the same user. The requester verifies the user’s real identity information via TTP and only verifies whether the same user signed.

4.3. Overview

The proposed system is a permissioned blockchain. It is a consortium blockchain that consists of several private blockchains, which in turn consist of a PBS and users. The system is shown in Figure 5. (1) A user requests issuance of pseudonym ID using the user’s OffID (offline ID) and a one-time key pair to join the group. At this point, the root signature binds the user’s one-time public keys to the root public key. (2) The private blockchain issues public-key certificates for the user’s one-time public keys and root signature and manages the user identity list with an OffID and linking pseudonym ID for the user. (3) The PBS encrypts the pseudonym ID and transmits it to the user. (4) The user creates an anonymous transaction by signing a message using the pseudonym ID and a one-time private key. (5) The private blockchain generates a transaction for the consortium blockchain using the PBS’s aggregate signature.
Figure 5. Entities and overview of proposed scheme.

4.4. Entities in the System

In this section, we define the entities for our anonymous protocol for permissioned blockchain.
Private blockchain server: The private blockchain server takes on the roles of the public key certificate issuer, group signer, and user identifier. We abbreviate this to PBS.
Users: Users act as group members, signature verifiers, and linkers.
Public key certificate issuer: The public key certificate issuer issues a public key certificate to the users using the PBS’s aggregate signature upon user request.
Group signer: The group signer creates a group signature for the message using the PBS’s private key and aggregate signature.
Verifier: The verifier verifies whether a transaction, which is signed using the PBS’s aggregate signature, was created using a user’s private key.
User identifier: For the user’s identity requests, the user identifier discloses the identity to the requester using OffIDList and a public key certificate.
Linker: Linker computes whether two transactions were created by the same signer without revealing the user identity.

4.5. Workflow

4.5.1. System Setup Phase

In this phase, the PBS sets the appropriate security strength according to the security policy and generates key pairs. The PBS generates a user OffIDList, and the public key and private key for user identification.

4.5.2. Join Phase

In this phase, the user sends a one-time public key, root signature, and OffID to the PBS to obtain a public key certificate and pseudonym ID. Then, the PBS updates the user identities list List = (List[1], …, List[n]). Identity information about the ith registered user is included. Additionally, it creates a pseudonym ID list. Finally, the PBS returns the pseudonym IDs encrypted with the user’s public key and the user’s public key certificate with the PBS’s signature.

4.5.3. Aggregate Signature Phase

In this phase, the user creates a signature, which is then committed as a transaction on the consortium blockchain. The aggregate signature consists of two phases: signature creation in a private blockchain and signature creation in the consortium blockchain. In the signature creation in a private blockchain phase, the user creates a signature using a pseudonym ID. Subsequently, in the signature creation in the consortium blockchain stage, PBS compresses a message signed with pseudonym IDs of multiple users and broadcasts it to the consortium blockchain.
(3-1) Signature creation in a private blockchain: The user creates a hash value with a message and a one-time private key and sends it to the PBS together with their pseudonym ID and the public key certificate. The PBS validates the user through the user’s public key certificate and creates a transaction with the user’s hash value, which is signed using the PBS’s one-time private key and sent to the private blockchain. Finally, if more than half of the private blockchain’s members validate the PBS’s signature completely, then the transaction will be added and committed to the private blockchain.
(3-2) Signature creation in the consortium blockchain: The PBS’s signature is propagated to the consortium blockchain as a single group signature through an aggregate signature.

4.5.4. Validation Signature Phase

In this phase, verifiers in the consortium blockchain who want to verify the message can verify that the message was generated by a user of a legitimate private blockchain by verifying the PBS’s signature.

4.5.5. User Identification and Linking Capability Phase

In this phase, upon request, the PBS provides member identity verification. It provides user identification through private blockchain records, public key certificates, and OffIDList. A requestor can have local connectivity only by calculating whether a transaction is created from the same member through a Bloom filter of a private blockchain.

4.5.6. Renewal and Revocation of Public Key Certificate Phase

In this phase, the PBS performs renewal and revocation of public key certificates upon withdrawal and/or rejoining of members. The user transmits both the one-time key pair and root signature created previously to the PBS to request the renewal or revocation of the public key certificate. After that, the user can request a new certificate through a newly created one-time key pair and the root signature.

4.6. Protocol

This section describes the protocol of formulas according to the workflow in Section 4.5. The protocol consists of seven phases: a system set up, join, aggregate signature, signature validation, user identification and linking, renewal, and revocation public key certificate (Figure 6).
Figure 6. Scenarios of the proposed scheme.

4.6.1. System Parameters

Table 5 shows the notation and properties of the system parameters of the proposed scheme.
Table 5. System parameters for the proposed scheme.

4.6.2. System Setup Phase

In the system setup phase, the PBS sets the appropriate security strength according to the security policy and performs the following.
Step 1. First, create three groups G 1 , G 2 , G T and bilinear map e : G 1 × G 2 G T .
Step 2. For the PBS subset server PBS i C B , assign to each C B an index i, ranging from 1 to k = PSB i . Each private server PSB i C B , picks random S K S i R Z p , a i E , and computes P K S i = g 2 S K s i , A i = a i × G . The PBS’s signature public key and signature private key are P K S i G 2 and S K S i Z p . The PBS’s payment public key and payment private key are A i E and a i E .
Step 3. For the user subset user U i U , assign to each user an index i, ranging from 1 to k = U i . Each user U i U picks random a i R Z p , b i E , and computes S K U i = g 2 a i , B = b i × G . The user’s public key and private key are S K U i G 2 and x i Z p . The user’s one-time pubic key and one-time private key are B i E and b i E .
Step 4. The PBS selects B 1 G 2 and Q 1 , Q 2 , Q , U G 1 and uses the hash function H p : { 0 , 1 } * Z p * .
Step 5. The PBS calculates W , D , B θ , V by using random numbers η , ξ , θ Z p * and calculates L 1 , L 2 , L 3 , L 4 using the calculated values.
W = [ η ] U , D = [ ξ ] U , B θ = [ θ ] B 1 , V = [ ξ ] B 1
L 1 = e W , B 1 , L 2 = e ( W , B θ ) , L 3 = e Q 1 , B 1
L 4 = e Q 2 , B 1
Step 6. The PBS will display ( e , G 1 , G 2 , G T ) , Q , B 1 , B θ , H p as public parameters, create a group public key g p k = ( Q 1 , Q 2 , U , W , D , ( L 1 , L 2 , L 3 , L 4 ) and display g m o k = ( η , ξ ) as its private key.
Step 7. User generates public key I D U , private key I D A , one-time public key for authentication P K U i and one-time private key S K U i .
Step 8. Next, a σ value allowing for public key verification is computed as
P i = H r × I D S × G + I D U , σ U = 1 n P i S K U i

4.6.3. Join Phase

Step 1. The user sends certificate information I D U , σ , t 0 , P K U i to the PBS and requests a public key certificate.
Step 2. The PBS verifies R using the one-time public key P K U i of the public key certificate information sent by user.
P i = H R × I D S × G + I D U , σ , g 2 = I = i K e P i , P K U i I D S × R
= D S × r × G = I D S B × r E σ , g 2 = e P i , g 2 S K U i = P i , P K U i = O K
Step 3. The PBS proceeds with the following if the verification of the user’s public key list is valid, and stops if it is not.
Step 4. The PBS selects random numbers x, y Z p * and then calculates A after summing LIST at n+i-th list.
A = [ 1 / ( θ + x ) ] Q 1 [ y ] Q 2 Z = [ 1 / ( θ + x ) ] Q 1 [ y ] Q 2 [ z ] W
LIST [ n + 1 ] = ( 1 D , [ y ] Q , A , x , y , u p k [ i ] = Z , T I D )
Step 5. The PBS signs the set of user identity list parameters ( i , A , x , y ) and propagates it to the private blockchain.
H ( r × ( i , A , x , y ) ) × G + I D P B
Step 6. The PBS generates certificate signature information for multiple users using the aggregate signature σ B .
P i = H r × I D S × G + I D U , σ U = 1 n P i S K U i
Step 7. The private blockchain verifies the signature of the PBS.
I D S × R = I D S × r × G = I D S × r
E σ , g 2 = e P i , g 2 S K S i = P i , P K S i = O K
Step 8. After verification, the private blockchain collects the aggregated signature from the PBS and manages its public key certificate as a leaf node of a hash tree.
Step 9. The PBS returns a public key certificate I D U , σ U , t 0 , P K U i , I D S , σ S containing I D S and verification σ S data to the user.
Step 10. The user verifies the public key certificate including the ID and verification data σ S .
I D S × R = I D S A × r × G = I D S × r
E σ , g 2 = e P i , g 2 S K S i = P i , P K S i = O K

4.6.4. Aggregate Signature Phase

(1) Signature creation in private blockchain
Step 1. User sends the public key certificate ( I D U , σ A , t 0 , P K U i , I D S , σ S ), and one-time key pair S K A i and S K U i , to the PBS for authentication and simultaneously creates the pair x = H m , S K U i to request a signature.
Step 2. The PBS verifies the authenticity of the user by the one-time private key S K U i , public key P K U i , and root public key value with the public key certificate via the hash tree of the private blockchain. The public key certificate with the PBS’s signature is validated PBS’s aggregate signature.
E σ , g 2 = e P i , g 2 S K S i = P i , P K S i = O K
P K U i + g 2 S K U i = O K
P i = H r × I D S × G + I D U , σ U = 1 n P i S K U i
(2) Signature creation in consortium blockchain
Step 1. The consortium blockchain network generates a global hash tree using the relationship x = H m , S K U i , and then a global timestamp value S t , by linking the global coordinated time to the hash tree root value.
Step 2. The consortium blockchain network broadcasts the user’s anonymous ID to the PBSs after generating token S t , S K S i and returns the token to the user.

4.6.5. Signature Validation Phase

Step 1. The user sends their one-time private key, the token S t , S K S i for the message, and E ( M ) encrypted using the verifier’s public key to the verifier.
Step 2. The verifier calculates the signature token of the consortium blockchain using the Merkle tree.
Step 3. The verifier verifies the signature of the private blockchain.
I D S A × R = I D S × r × G = I D S A × r
E σ , g 2 = e P i , g 2 S K s i = P i , P K S i = O K

4.6.6. User Identification and Linking Capability Phase

Step 1. The PBS performs the following process using pseudonym ID values L V   =   ( ρ , D 1 , D 2 , D 3 , c , s α , s x , s γ , s y ) and its public key g m o k   =   ( η , ξ ) .
Step 2. The PBS calculates [ y ] Q = D 3 [ ξ ] D 1 and searches for the signer’s real identity corresponding to entry LIST [i] = ( I D , [ y ] Q , A , x , y , u p k [ i ] = Z ) . If user i is found, the PBS selects r Z p and calculates K o p e n , W o p e n , V o p e n , c o p e n , and s o p e n .
K o p e n = [ η ] D 1 , W o p e n = [ r ] U , V o p e n = [ r ] D 1
c o p e n = H p ( σ g K o p e n W o p e n V o p e n )
s o p e n = r + c o p e n η ( mod p )
Step 3. The PBS calculates T = ( i , τ = ( K o p e n , c o p e n , s o p e n ) , u p k [ i ] = Z , Y 1 i = [ y i ] Q 2 , Y 2 i = [ y i ] B 1 , i , I = [ x i ] Q , C a l c u l a t e X 2 i = [ x i ] B 1 ) and discloses the identity of U i i to the requester.
Step 4. If a requester or an evaluator, such as a judge, wants to verify the relationship between the pseudonym ID verification value σ and the user i, the public key certificate issuance process is performed to verify the user’s public key verification value, public key, public key certificate issuance information, and private blockchain. The user’s identity is verified through the public key certificate and information list.
Step 5. To determine whether two transactions were done by the same user, the linker creates a Bloom filter set using the two transactions with the transaction signature of the consortium blockchain. The linker calculates the following values for the signature g s l k = V ( = [ ξ ] B 1 ) of the private blockchain from D 3 , a component of σ , and D 3 , a component of σ .
L 1 = e D 3 , B 1 e D 1 , V 1
L 2 = e D 3 , B 1 e D 1 , V 1
Step 6. Through upper computation L 1 , the linker provides the requester with the Merkle path that meets the conditions of the Merkle tree and Bloom Filter.

4.6.7. Renewal and Revocation Public Key Certificate Phase

Step 1. The user sends all their one-time key pairs together with their public key certificate to the PBS.
Step 2. The PBS validates the one-time key pairs and discards the existing public key certificate and identity list.

5. Analysis

We compare the security of the proposed scheme with other schemes according to Section 4.1 security requirements (Table 6).
Table 6. A comparison of features of schemes for privacy in blockchain.

5.1. Analysis of Security

(1) Authorization: We propose an anonymous credential system for permissioned blockchain. Our scheme reduces overhead and performs authentication efficiently using an anonymous credential system. σ , t 0 are used to calculate S K U i so only the user can create it, and it can be verified with I D U , P K U i . Additionally, 1 n P i s K s i is generated by the PBS only through S K S i is E. E σ , g 2 = e P i , g 2 S K s i = P i , P K S i
Permissioned blockchain generates signatures only through user-created key pairs ( S K U i , P K U i ) and public key certificates ( I D U , σ U , t 0 , P K U i , I D S , σ S ).
Additionally, signature forgery of legitimate users is very difficult for the following reasons: Forgery of the user’s key pair ( S K U i , P K U i ) is very difficult based on the difficulty of the elliptic curve discrete logarithms problem (ECDLP) [45]. Creating a root signature is exceedingly difficult, depending on parallelism and the DH [46].
Theorem 1.
Given a primitive element P and another element T on an elliptic curve, the ECDLP problem is to find the integer d , where 1 < d < # E such that : P + , , + P = d P = T , | P | = d times 3)
Theorem 2.
Let ( G 1 , G 2 ) be a t , ϵ -bilinear group pair for co-Diffie–Hellman, with each group of order p , with respective generators g 1 and g 2 , with an isomorphism computable from G 2 to G 1 , and with a bilinear map e : G 1 G 2 G T . Then the bilinear aggregate signature scheme on ( G 1 , G 2 ) is t , q H , q s , N , ϵ -secure against existential forgery in the aggregate chosen-key model for all t and ϵ satisfying ϵ e ( q s + N ) · ϵ and t t G 1 q H + 2 q S + N + 4 ) ( N 1 ) , where e is the base of natural logarithms, and exponentiation and inversion on G 1 take time c G 1
(2) Anonymity: In our proposed scheme, a private blockchain server (PBS) issues and manages pseudonym IDs of the users to ensure the users’ unlinkability. Additionally, a PBS creates an aggregate signature for the consortium blockchain to ensure the user’s untraceability. The user uses the created one-time key pairs ( S K U i , P K U i ) and pseudonym IDs are issued via the one-time key pairs. Additionally, the consortium blockchain cannot know the user’s identity because transactions are signed by the PBS’s aggregate signature.
Prevention of inferring user’s identity: We need to improve key updates to prevent others from inferring a user’s identity through a user’s repeated use of the same key. However, we prefer to avoid a complex secret computation operation. We propose an ECC-based one-time key and public key certificate system. An aggregate signature-based root signature is a binding one-time public key and private key. It provides efficient verification of one-time keys and defends against security threats such as changing keys by malicious actors. Additionally, our scheme uses one-time keys to prevent user inference and cryptographic algorithms from solving problems such as one-time-key verification, revocation, and renewal.
(3) Confidentiality: Our scheme does not need encryption as a default. However, if the users need to perform encryption, an encryption key will be generated and used by our protocol.
(4) User identification and linking capabilities: We propose unmasking the user identity through a PBS user identity list and PKI. Additionally, the private blockchain network node acts as a linker. It can provide link information to the verifier upon request. When necessary, user identification and linking capabilities can be provided by revoking anonymity. The PBS has a list of identity information provided by the user 1 D U , σ , P K U i when requesting a public key certificate. User identification is provided according to List [ i ] = List 1 , , List i
Our scheme further minimizes the exposure of users’ information by separating the roles of user identification and linking. The linker has K o p e n = [ η ] D 1 , W o p e n = [ r ] U , V o p e n = [ r ] D 1 , c o p e n = H p ( σ g K o p e n W o p e n V o p e n ), s o p e n = r + c o p e n η ( m o d p ) 2 t = ( i , T = ( K o p e n , c o p e n , s o p e n ) , u p k [ i ] = Z , Y 1 , i = [ y i ] Q 2 , Y 2 , i = [ y i l B 1 , X 1 , i = [ x i ] Q , X 2 , i = [ x i ] B 1 ) . The requestor can determine if transactions are linked through the above parameters.

5.2. Analysis of Efficiency

Existing blockchain transactions, n in number, are proportionally increased in size by 71 bytes through the ECDSA signature. However, the proposed scheme generates signatures for efficient single verification through double-linear mapping and ECC-based signature and public key generation. The length of the trapdoor increases with the user identification and linking capabilities of the group signature compared to the existing group signature, but providing a single compressed signature provides the same 160-bit signature regardless of n. In addition, the group authentication through anonymous credit has reduced the computational count of members of general group signatures.
Table 7 and Table 8 show that zero-knowledge verification has relatively fast key size and verification but requires separate key generation and verification, which is slow. In particular, according to [47,48], Table 8 compared each execution time. Based on this rationale, we can calculate the time for each skill’s basic performance. We considered the calculation time of each technique according to the criteria of Table 8. The protocol’s basic implementation steps of other proposed technologies were checked and time was calculated. Figure 7 compares the speeds of the proposed schemes with the schemes that provide privacy in the existing blockchain. The median value is abbreviated as a tilde. The highest point and the lowest point are connected to the peak point. Verification time is 212 ms, and key generation time is increased to 1000 ms compared to the schemes [20,21], but it is very efficient because no verification time is required.
Table 7. A comparison of the efficiencies of schemes for privacy in blockchain.
Table 8. A comparison of the efficiencies of cryptography methods.
Figure 7. Comparison of efficiencies with various times for the existing scheme and our scheme.

6. Conclusions

Unlike a permissionless environment, e.g., Bitcoin, where the public network allows network participation without third-party approval, a permissioned blockchain is composed of a set of known, identified nodes that might not completely trust each other [2]. Permissioned models control who participates in the validation protocol; these nodes usually have constructed identities and form a consortium [3]. This permits the transactions created in a private blockchain to be shared as a consortium blockchain. However, if identity information is included or inferred in the transaction created, the sharing of transactions among groups in the consortium blockchain has a user privacy problem. To address this, the permissioned blockchain should be controlled not only with MSP but also use proper cryptography for privacy. Some existing schemes provide privacy by ensuring user unlinkability and untraceability. Unfortunately, a permissioned blockchain sometimes needs to track malicious users. Furthermore, it may be necessary to verify the user’s identity with a legitimate request. This makes it necessary to impose partial anonymity to protect the user’s privacy while at the same time revealing the user’s identity and providing efficient linking.
In this paper, we proposed an anonymous protocol with improved user privacy in a permissioned blockchain to fulfill the requirements for anonymity, linking, and user identification capabilities. We used an anonymous protocol based on an anonymous credential system and a root signature-based one-time key and public key certificates system. It assures security through binding a one-time key pair. A user’s pseudonym ID may own multiple pseudonym IDs according to the anonymous credential system. Other groups may recognize users via their pseudonym IDs. We ensured privacy through anonymity via a pseudonym ID issued by an anonymous credential system and an aggregator signature. The identity of the user provides anonymity by revealing the user identification with the pseudonym ID and sometimes provides linking and user identification capabilities through the private blockchain. This enabled our proposed scheme to track malicious members in the permissioned blockchain. We generated an efficient compression signature using an aggregator signature. It can ensure the authentication of its members and messages to other groups in the consortium blockchain and provides an efficient signature size. We compared existing schemes with our scheme for privacy in blockchains according to the security requirements. We found that our proposed scheme has an advantage. In the future, we will improve our scheme to enable its use in the real world.

Author Contributions

Conceptualization, I.L. and G.R.; methodology, D.S. and G.R.; software, G.R.; validation, M.Z.A.B. and G.R.; formal analysis, D.S. and M.Z.A.B.; investigation, I.L.; resources, I.L.; data curation, G.R.; writing—original draft preparation, G.R.; writing—review and editing, M.Z.A.B. and G.R.; visualization, D.S.; supervision, I.L.; project administration, I.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education(NRF-2019R1A2C1085718) and was supported by the Soonchunhyang University Research Fund.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Swan, M. Blockcanin:Blueprint for a New Economy; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2015. [Google Scholar]
  2. Ali, S.; Wang, G.; Bhuiyan, M.Z.A.; Jiang, H. Secure Data Provenance in Cloud-Centric Internet of Things via Blockchain Smart Contracts. In Proceedings of the 2018 IEEE SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), Guangzhou, China, 8–12 October 2018; pp. 991–998. [Google Scholar]
  3. Amiri, M.J.; Agrawal, D.; Abbadi, A.E. CAPER: A cross-application permissioned blockchain. Proc. VLDB Endowment 2015, 12, 1385–1389. [Google Scholar] [CrossRef]
  4. Cachin, C. Architecture of the hyperledger blockchain fabric. In Proceedings of the Distributed Cryptocurrencies and Consensus Ledgers “DCCL 2016”, Chicago, IL, USA, 25 July 2016; p. 4. [Google Scholar]
  5. Bhuiyan, M.Z.A.; Zaman, A.; Wang, T.; Wang, G.; Tao, H.; Hassan, M.M. Blockchain and big data to transform the healthcare. In Proceedings of the International Conference on Data Processing and Applications, Guangzhou, China, 12–14 May 2018; pp. 62–68. [Google Scholar]
  6. Omar, A.A.; Bhuiyan, M.Z.A.; Basu, A.; Kiyomoto, S.; Rahman, M.S. Privacy-friendly platform for healthcare data in cloud based on blockchain environment. Future Gener. Comput. Syst. 2019, 95, 511–521. [Google Scholar] [CrossRef]
  7. Mercer, R. Privacy on the blockchain: Unique ring signatures. arXiv 2016, arXiv:1612.01188. [Google Scholar]
  8. Sun, S.F.; Au, M.H.; Liu, J.K.; Yuen, T.H. RingCT 2.0: A compact accumulator-based (linkable ring signature) protocol for blockchain cryptocurrency Monero. In European Symposium on Research in Computer Security; Springer: Berlin/Heidelberg, Germany, 2017; pp. 456–474. [Google Scholar]
  9. Yin, B.; Mei, L.; Jiang, Z.; Wang, K. Joint cloud collaboration mechanism between vehicle clouds based on blockchain. In Proceedings of the 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), Oxford, UK, 13–16 April 2019; pp. 227–2275. [Google Scholar]
  10. Yang, H.; Wu, Y.; Zhang, J.; Zheng, H.; Ji, Y.; Lee, Y. BlockONet: Blockchain-based trusted cloud radio over optical fiber network for 5G fronthaul. In Proceedings of the 2018 Optical Fiber Communications Conference and Exposition (OFC), San Diego, CA, USA, 11–15 March 2018. [Google Scholar]
  11. Gentry, C. A Fully Homomorphic Encryption Scheme. Ph.D. Thesis, Stanford University, Stanford, CA, USA, 2009. [Google Scholar]
  12. Noether, S.; Mackenzie, A. Ring confidential transactions. Ledger 2016, 1, 1–18. [Google Scholar] [CrossRef]
  13. [ANN] Joinmarket—Coinjoin that People will Actually Use. 2015. Available online: https://bitcointalk.org/index.php?topic=919116.0 (accessed on 9 January 2015).
  14. JoinMarket’s Privacy Is Degraded (for a While). 2016. Available online: https://gist.github.com/chris-belcher/00255ecfe1bc4984fcf7c65e25aa8b4b (accessed on 27 May 2020).
  15. Ruffing, T.; Moreno-Sanchez, P.; Kate, A. P2P Mixing and Unlinkable Bitcoin Transactions. In Proceedings of the Network and Distributed System Security Symposium, San Diego, CA, USA, 26 February–1 March 2017. [Google Scholar]
  16. Hopwood, D.; Bowe, S.; Hornby, T.; Wilcox, N. Zcash Protocol Specification; Zerocoin Electric Coin Company: 2016. Available online: https://github.com/zcash/zips/blob/master/protocol/protocol.pdf (accessed on 27 May 2020).
  17. Noether, S. Ring SIgnature Confidential Transactions for Monero; IACR Cryptology ePrint Archive: Lyon, France, 2015; p. 1098. Available online: https://eprint.iacr.org/2015/1098 (accessed on 11 November 2015).
  18. Hardjono, T.; Pentland, A. Verifiable anonymous identities and access control in permissioned blockchains. arXiv 2019, arXiv:1903.04584. [Google Scholar]
  19. Zhang, A.; Lin, X. Towards secure and privacy-preserving data sharing in e-health systems via consortium blockchain. J. Med. Syst. 2018, 8, 140. [Google Scholar] [CrossRef]
  20. Jiang, P.; Guo, F.; Liang, K.; Lai, J.; Wen, Q. Searchain: Blockchain-based private keyword search in decentralized storage. Future Gener. Comput. Syst. 2017, 107, 781–792. [Google Scholar] [CrossRef]
  21. Dubovitskaya, A.; Xu, Z.; Ryu, S.; Schumacher, M.; Wang, F. Secure and trustable electronic medical records sharing using blockchain. In Proceedings of the AMIA Annual Symposium, Washington, DC, USA, 4–8 November 2017; Volume 2017, p. 650. [Google Scholar]
  22. Zhu, X.; Su, Y.; Gao, M.; Huang, Y. Privacy-preserving friendship establishment based on blind signature and bloom filter in mobile social networks. In Proceedings of the 2015 IEEE/CIC International Conference on Communications in China (ICCC), Shenzhen, China, 2–4 November 2015; pp. 1–6. [Google Scholar]
  23. Aitzhan, N.Z.; Svetinovic, D. Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams. IEEE Trans. Dependable Secur. Comput. 2016, 15, 840–852. [Google Scholar] [CrossRef]
  24. Gennaro, R.; Goldfeder, S.; Narayanan, A. Threshold-optimal DSA/ECDSA signatures and an application to Bitcoin wallet security. In Proceedings of the International Conference on Applied Cryptography and Network Security, London, UK, 19–22 June 2016; pp. 156–174. [Google Scholar]
  25. Axon, L.M.; Goldsmith, M. PB-PKI: A privacy-aware blockchain-based PKI. In Proceedings of the 14th International Conference on Security and Cryptography 2016, London, UK, 19–22 June 2016. [Google Scholar]
  26. Heilman, E.; Baldimtsi, F.; Goldberg, S. Blindly signed contracts: Anonymous on-blockchain and off-blockchain bitcoin transactions. In Proceedings of the International Conference on Financial Cryptography and Data Security, Bridgetown, Barbados, 22–26 February 2016; pp. 43–60. [Google Scholar]
  27. Ouaddah, A.; Elkalam, A.A.; Ouahman, A.A. Towards a novel privacy-preserving access control model based on blockchain technology in IoT. In Europe and MENA Cooperation Advances in Information and Communication Technologies; Springer: Berlin/Heidelberg, Germany, 2017; pp. 523–533. [Google Scholar]
  28. Barber, T.P.; Payne, L.D. Method and System for Creation and Verification of Anonymous Digital Credentials. U.S. Patent 20180181745A1, November 2015. Available online: https://patents.google.com/patent/US9191370B2/en (accessed on 27 May 2020).
  29. Kiayias, A.; Tang, Q. Traitor deterring schemes: Using bitcoin as collateral for digital content. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, 12–16 October 2015; pp. 231–242. [Google Scholar]
  30. Boneh, D.; Gentry, C.; Waters, B. Collusion resistant broadcast encryption with short ciphertexts and private keys. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2005; pp. 258–275. [Google Scholar]
  31. Chaum, D. Blind signatures for untraceable payments. In Advances in Cryptology; Springer: Boston, MA, USA, 1983. [Google Scholar]
  32. Zhu, Y.; Song, X.; Yang, S.; Qin, Y.; Zhou, Q. Secure Smart Contract System Built on SMPC Over Blockchain. In Proceedings of the 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Halifax, NS, Canada, 30 July–3 August 2018; pp. 1539–1544. [Google Scholar]
  33. Lipmaa, H. Prover-efficient commit-and-prove zero-knowledge SNARKs. In Proceedings of the International Conference on Cryptology in Africa, Fes, Morocco, 13–15 April 2016; pp. 185–206. [Google Scholar]
  34. Chaum, D. Security Without Identification: Transaction Systems to Make Big Brother Obsolete. Commun. ACM 1985, 28, 10. [Google Scholar] [CrossRef]
  35. Kiayias, A.; Tsiounis, Y.; Yung, M. Traceable signatures. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; pp. 571–589. [Google Scholar]
  36. Wu, C.N.; Fan, C.I.; Huang, J.J.; Tseng, F.Y.; Kikuchi, H. Probably Secure Efficient Anonymous Credential Scheme. Int. J. Softw. Innov. (IJSI) 2018, 6, 18–35. [Google Scholar] [CrossRef]
  37. Singh, A.; Fhom, H.C.S. Restricted usage of anonymous credentials in vehicular ad hoc networks for misbehavior detection. Int. J. Inf. Secur. 2016, 16, 195–211. [Google Scholar] [CrossRef]
  38. Han, J.; Li, Y.; Chen, W. A Lightweight and privacy-preserving public cloud auditing scheme without bilinear pairings in smart cities. Comput. Stand. Interfaces 2019, 62, 84–97. [Google Scholar] [CrossRef]
  39. Choi, S.G.; Park, K.; Yung, M. Short traceable signatures based on bilinear pairings. In International Workshop on Security; Springer: Berlin/Heidelberg, Germany, 2006; pp. 88–103. [Google Scholar]
  40. Vukolic, M. Rethinking permissioned blockchains. In Proceedings of the ACM Workshop on Blockchain, Cryptocurrencies and Contracts, Abu Dhabi, UAE, 3–7 April 2017. [Google Scholar]
  41. Chaudhry, S.A.; Farash, M.S.; Naqvi, H.; Sher, M. A secure and efficient authenticated encryption for electronic payment systems using elliptic curve cryptography. Electron. Commer. Res. 2016, 16, 113–139. [Google Scholar] [CrossRef]
  42. Mahmood, K.; Chaudhry, S.A.; Naqvi, H.; Kumari, S.; Li, X.; Sangaiah, A.K. An elliptic curve cryptography based lightweight authentication scheme for smart grid communication. Future Gener. Comput. Syst. 2018, 81, 557–565. [Google Scholar] [CrossRef]
  43. Yuan, C.; Xu, M.X.; Si, X.M. Research on a new signature scheme on blockchain. Secur. Commun. Netw. 2017, 2017, 4746586. [Google Scholar] [CrossRef]
  44. Ra, G.J.; Seo, D.; Bhuiyan, M.Z.A.; Lee, I.Y. An anonymous protocol for member privacy in a consortium blockchain. In Proceedings of the International Conference on Security, Privacy and Anonymity in Computation, Communication and Storage, Atlanta, GA, USA, 14–17 July 2019; pp. 456–464. [Google Scholar]
  45. Zhang, J.; Cui, J.; Zhong, H.; Chen, Z.; Liu, L. PA-CRT: Chinese Remainder Theorem Based Conditional Privacy-preserving Authentication Scheme in Vehicular Ad-hoc Networks. IEEE Trans. Dependable Secur. Comput. 2019. [Google Scholar] [CrossRef]
  46. Boneh, D.; Gentry, C.; Lynn, B.; Shacham, H. Aggregate and verifiably encrypted signatures from bilinear maps. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Warsaw, Poland, 4–8 May 2003; pp. 416–432. [Google Scholar]
  47. Jinasena, T.; Meegama, R.; Marasinghe, R. Access Control of Medical Images using Elliptic Curve Cryptography through Effective Multi-Key Management in a Mobile Multicasting Environment. Comput. Sci. Eng. 2017, 7, 1–7. [Google Scholar]
  48. Boneh, D.; Gentry, C.; Lynn, B.; Shacham, H. Zerocash: Decentralized anonymous payments from bitcoin. In Proceedings of the 2014 IEEE Symposium on Security and Privacy, San Jose, CA, USA, 18–21 May 2014; pp. 459–474. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.