Journal Pre-proof Efficient authentication protocol with anonymity and key protection for mobile Internet users Yan Jiang, Youwen Zhu, Jian Wang, Yong Xiang
PII: DOI: Reference:
S0743-7315(19)30310-7 https://doi.org/10.1016/j.jpdc.2019.11.010 YJPDC 4155
To appear in:
J. Parallel Distrib. Comput.
Received date : 23 April 2019 Revised date : 19 November 2019 Accepted date : 20 November 2019 Please cite this article as: Y. Jiang, Y. Zhu, J. Wang et al., Efficient authentication protocol with anonymity and key protection for mobile Internet users, Journal of Parallel and Distributed Computing (2019), doi: https://doi.org/10.1016/j.jpdc.2019.11.010. This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of record. This version will undergo additional copyediting, typesetting and review before it is published in its final form, but we are providing this version to give early visibility of the article. Please note that, during the production process, errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
© 2019 Elsevier Inc. All rights reserved.
Journal Pre-proof
pro of
Efficient authentication protocol with anonymity and key protection for mobile Internet users Yan Jianga , Youwen Zhua,c,d,∗, Jian Wanga , Yong Xiangb a College
of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China of Information Technology, Deakin University, Melbourne, VIC 3125, Australia c Collaborative Innovation Center of Novel Software Technology and Industrialization, Nanjing 210023, China d Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin 541004, China b School
re-
Abstract
To preserve user privacy and guarantee data confidentiality on the mobile Internet, it is crucial to secure communication between the mobile devices held by users and a remote server. In real applications, a serious threat against
lP
communication security is exposure of secret keys, due to the compromise of the mobile devices storing the key. One method of preserving key exposure is to use protected hardware or smart-cards, but they are costly and impractical. Another method is to utilize secret sharing to share secret key across multiple devices. Nevertheless, secret sharing schemes guarantee security only
urn a
if the adversary cannot access at least one share in its entirety. In this paper, we present a remote authentication protocol, which resists key exposure. Further, we present a zero-knowledge protocol based on SDH assumption that can achieve anonymity. We formally prove our proposed solution is secure under the decision linear assumption and the qs -mSDH assumption in the random oracle model. Finally, we show our solution can achieve higher efficiency and stronger anonymity comparing with existing schemes, and thus the proposed solution is
Jo
more suitable for real-world environments. Keywords: anonymity, key protection, zero-knowledge protocols, mobile ∗ Corresponding
author Email address:
[email protected] (Youwen Zhu)
Preprint submitted to Journal of LATEX Templates
November 19, 2019
Journal Pre-proof
Internet
pro of
1. Introduction With the high-speed growth of mobile Internet and wireless communication, intelligent terminal devices (e.g., mobile phones) have become more and more popular. For example, the number of Chinese users in the mobile Internet has 5
reached 817 million [1]. There are many kinds of mobile applications for Internet users, such as instant message, online shopping and mobile payment.
A general mobile Internet is described in Fig. 1. Mobile devices are able to gather, transmit and store personal data, which may contain user privacy such
10
re-
as living habits [2]. The data is vulnerable to an eavesdropper, impersonation and replay attack since the open channel is insecure. Thus, it is necessary to
Mobile User
lP
protect the security of mobile devices and communication.
Attacker
Server
Open Channel
urn a
Mobile User
Figure 1: Workflow of mobile Internet facilities
Authentication of the participants is significant in mobile Internet-based applications to establish trust relations (e.g., a shared key). The importance of preserving user privacy in the authentication mechanism has been pointed out by the European Union [3], especially data privacy [4, 5]. Anonymous authen-
Jo
15
tication is an effective method to protect user privacy by enabling secure authentication and anonymity. Furthermore, a perfect anonymous scheme should provide user anonymity and unlinkability [6]. For example, consider an online
2
Journal Pre-proof
mall that tracks a buyer prior purchases and shopping habits. The seller has 20
more information about what the buyer is willing to pay, but the buyer is not
pro of
aware of this asymmetry. In traditional authenticated key exchange protocols, users authenticate with the private key but pay no attention to protection of the key. In particular, mobile devices may be corrupted in some physical way (e.g., lost), enabling an 25
attacker to recover the key using mobile forensic tools [7]. Therefore, anonymous authentication with key protection technology is highly desired.
To enhance the protection of users’ private key, Shamir [8] proposes a (t, n) secret sharing scheme by distributing the key between n parties and meeting that
30
re-
t parties or more can restore the key, but less than t parties cannot get anything. Such protocol enables users holding an entire private key could authenticate themselves while protecting the key. However, the method has an inherent limitation on the reconstruction process, i.e., an attacker could still imitate others, if one who holds the key is compromised.
35
lP
Another approach is to utilize secure multiparty computation (MPC) [9], where participants jointly calculate a function while keeping their inputs private. Lindell [10] proposes a standard digital signature scheme with distributed key generation between two parties. In our work, we use the same method
urn a
to generate an authentication key, except for replacing Paillier cryptography. Other ways of protecting the secret key include the use of program obfusca40
tion [11, 12] or key-insulated cryptosystem[13, 14], but these ways are either impractical or not resistant to active attacks [15]. This paper seeks to remedy these problems by using zero-knowledge proofs and two-party protocols. For this reason, we present an efficient authentication protocol for the mobile Internet, which can provide both anonymity and key protection. Subsequently, we provide formal security proof for the security of the presented solution. Lastly, we show the performance of presented protocols
Jo
45
by comparing with previous protocols for the mobile Internet. A summary of the main contributions is provided as follows:
3
Journal Pre-proof
• We plan a new method to generate an authentication key by using linear 50
encryption and two-party protocols.
pro of
• At the core of our mutual authentication phase, we give a variant signature of knowledge of Dan et al. [16] by using short signature method [17].
The remaining part of the paper proceeds as below. In Section 2, we give a context of related work. In Section 3, we present preliminaries and model 55
description. In Section 4, we specify the presented solutions. In Section 5, we prove our protocols secure via formal analysis, and in Section 6 we show the performance of our solutions. In Section 7, we conclude our solution and draw
re-
some future work. In Appendix A, we present zero-knowledge proofs for three relations and a commitment scheme.
60
2. Related Work
lP
In practice, a serious threat of an authentication protocol is exposure of secret key, due to the compromise of machine storing the key. The threats are growing with users using mobile devices to access remote servers. Two methods can be considered to deal with the threat. One method is to 65
use protected smart-cards [18] or hardware to protect secret key, but these can
urn a
be costly or impractical. The other method is to suppose that key exposure will be inevitable and explores for ways to weaken the risk of an adversary obtaining the key. Secret sharing [8], proactive cryptography [19], threshold cryptography [20, 21], and secure multiparty computation [9], can be seen as different ways 70
of dealing with the threat.
The most feasible solution is to combine different approaches. One promising approach has been proposed by Lindell [10] via using a secure two-party
Jo
protocol. However, his scheme consists of Paillier encryption that is more expensive than elliptic curve operations. Subsequently, Doerner et al. [22] propose
75
a solution via invoking an oblivious transfer (OT) scheme to solve the difficulty. Lindell [23] points out that Doerner et al.’s scheme has much higher bandwidth
4
Journal Pre-proof
than [10], but also presents a protocol to replace the Paillier encryption with ElGamal encryption in the exponent. With the help of distributing key gener-
80
pro of
ation, a series of schemes [24, 25, 26] to protect secret key have been proposed. A very recent work of Wu et al. [24] implements and uses similar ideas to ours, i.e., two-party singing in [10]. However, their scheme depends upon ”Paillier encryption” and thus their constructions may sustain an efficiency loss compared to elliptic curve operations. Moreover, their solution cannot provide unlinkability that users’ online identity is not linked to his real-world identity. 85
Table 1 compares our proposed solution with previous work on authentication protocols and the two party case in terms of techniques, anonymity,
re-
unlinkability and the notion of security.
Table 1: Features of authentication protocols and the two party case Scheme
Techniques
Anonymity
Unlinkability
X
X
SIM
×
×
GB/SIM
×
SIM
LE PE
Wu et al. [24]
PE
He et al. [25]
X
lP
This work Lindell [10]
Zhang et al. [26]
×
DS
×
PE
×
×
Security
GB GB
X: Support the feature; ×: Not support the feature. GB and SIM indicate game-based and simulatability-based security notions. LE, PE and DS are
urn a
linear encryption, paillier encryption and distributed signing, respectively.
3. Preliminaries and Model description We will introduce notations defined in Table 2 and show the building blocks 90
in our approach: preliminaries and model description. 3.1. Preliminaries
Jo
3.1.1. Mathematical assumption
Definition 1. (Bilinear Pairings): Let G1 , G2 , and GT be three groups, and their order is q. The generators of G1 and G2 is P1 and P2 , respectively. e is a
95
map: G1 × G2 → GT , which is computable and has the properties below: 5
Journal Pre-proof
Table 2: notations in the scheme Description
p, q
two big primes
Z∗ q
a group of prime order
Fp
a prime finite field
E Fp
an elliptic curve E over Fp
G1 , G2
two cyclic groups
e
a computable map: G1 × G2 → GT
pro of
Notation
generators of G1 , G2 , respectively.
hi for i = (1, . . . , 6)
secure hash functions
IDi
identity of user i
DAi , DBi
two devices of user i
PIDi
public key of user i
kDAi , kDBi
private key of user i
γ, µ
private key of servers
u ˆ, v ˆ, u, v
public key of servers
r, s, a, b, c, d
re-
P1 , P2
random elements of Z∗ q
• Bilinearity: ∀M ∈ G1 , ∀N ∈ G2 , ∀c, d ∈ Z∗q , e(c · M, d · N ) = e(M, N )cd .
lP
• Non-degeneracy: e(P1 , P2 ) 6= 1.
• Computation: ∀Q ∈ G1 , ∀R ∈ G2 , there exists a procedure to calculate e(Q, R). 100
Definition 2. (Decision linear Assumption (Decision-LA)). Given u, v, h, ue , v f , hg ∈
urn a
G1 , it is hard to determine whether e+f = g, for e, f, g ∈ Z∗q . Note that Decision linear assumption holds in generic bilinear groups [16][Section 8].
Definition 3. The modified Decision linear assumption (Decision-mLA) is hard to differentiate (M, N, P, c · M, d · N, (c + d) · P ) from (M, N, P, c · M, d · N, η)
105
for M, N, P, η ∈ G1 , c, d ∈ Z∗q .
1
Definition 4. The qs -SDH assumption [17] is hard to compute (c, g1x+c ) ∈ qs
Zq × G1 for c ∈ Z∗q \{−x} when given (g1 , g1x , . . . , g1x , g2 , g2x ) ∈ Gq1s +1 × G22 ,
Jo
where the generators of G1 and G2 are g1 and g2 , respectively.
1 Definition 5. The modified qs -mSDH assumption is hard to compute (m, x+m P1 ) ∈
110
Zq × G1 for m ∈ Z∗q \{−x} when given (P1 , xP1 , x2 P1 , . . . , xqs P1 , P2 , xP2 ) ∈ Gq1s +1 × G22 , where P1 , P2 are generators of groups G1 , G2 , respectively. 6
Journal Pre-proof
3.1.2. Zero-Knowledge (ZK) Proofs ZK proofs of knowledge show that a prover knows a witness x for which
115
pro of
(x, X) ∈ R without revealing anything, where R denotes a relation, X is a statement. In this paper, we define zero-knowledge proofs for three relations as follows:
(1) Zero-knowledge equality of linear encryption and discrete logarithm: Define the relation
REQ = {(G1 , P1 , q, pk = (M, N ), A, B, C), (kB , m, r, s)| DB = kB · P1 ∧ (A, B, C) = Encpk (m; r, s)}
that shows knowledge of discrete logarithm and values that are encrypted
re-
in a linear encryption ciphertext. In Appendix A.1, we specify the protocol for this relation.
(2) Knowledge of discrete logarithm: Define the relation
120
lP
RDL = {(G1 , P1 , q, DA ), kA |DA = kA · P1 } of discrete logarithm values. In Appendix A.2, we specify the protocol for this relation.
(3) Knowledge of a solution to an qs -mSDH problem: Define the relation
urn a
RSDH = {(G1 , G2 , P1 , P2 , q, R, u ˆ, vˆ, u, v), (m, r, σ)| e(σ, u + m · P2 + r · v) = e(R, P2 )}
for σ = (γ + m + r · µ)−1 · R. In Appendix A.3, we specify the protocol for this relation.
3.1.3. Linear Encryption
Let G1 be a group, whose order is q, and P1 is a corresponding generator. In our construction, we use linear decryption, that its result is actually an element
Jo
125
of G1 . Encryption of a value m ∈ Z∗q is as follows: R
• L.Gen(1λ ): Given a secure parameter 1λ , choose xe , ye ← − Z∗q , and output pk = (M, N ) = (xe · P1 , ye · P1 ), dk = (xe , ye ). 7
Journal Pre-proof
R
130
• L.Enc((pk, m)): Given pk = (M, N ), m, choose r, s ← − Z∗q and output c = (r · M, s · N, (r + s) · P1 + m · P1 ).
pro of
• L.Dec(dk, c): Given dk = (xe , ye ) and c = (T1 , T2 , T3 ), output m0 · P1 = T3 − (xe )−1 T1 − (ye )−1 T2 .
A ciphertext (T1 , T2 , T3 ) multiplied by a scalar w is (w · T1 , w · T2 , w · T3 ) = ((w · r) · M, (w · s) · N, (w · (r + s)) · P1 + (w · m) · P1 ) = Encpk (w · m). This can R
be combined with re-randomization by selecting ∆r, ∆s ← − Z∗q , i.e., c0 = (wT1 + ∆r · M, wT2 + ∆s · N, wT3 + (∆r + ∆s)P1 ) + (w · m)P1 )
re-
= ((wr + ∆r)M, (ws + ∆s)N, ((wr + ∆r) + (ws + ∆s))P1
which is viewed as the encryption of w · m. 135
3.2. Model description
lP
We show the system model and formalize security models for authenticated key exchange protocols by [27] and anonymity by [6] in this section. 3.2.1. System Model
A system model of our protocol is shown as Fig. 2, in which the participants involve in a server S and two devices DA and DB.
urn a
140
• S: It is a trusted remote server that produces system public parameters and the master keys γ, µ. In addition, S responds to registration requests for users (i.e., DA and DB).
• DA: It is one of users’ mobile devices that store part of a private key to generate an authentication key.
• DB: It is one of users’ mobile devices. In addition to generate an entire
Jo
145
authentication key, DB is as the master device to authenticate with S.
8
Journal Pre-proof
Server
Insecure Channel
key tial nel Par han C e ur Sec
pro of
Mobile device A
Sec
ure Ch a Par tial nnel key
Output
Authentication key
re-
Mobile device B
Figure 2: An overview of the authentication key generation
3.2.2. AKE Security
lP
150
Let A be an adversary who has access to communication transcripts. We Qk S use U to define the user U 0 s k-th session, where U ∈ {U1 , U2 , . . . , Un } S.
A is required to make the following queries for polynomial time. The allowed queries are as follows:
urn a
• hi (ej ): The query simulates the ability of A to get access the oracles. When A makes a hash query for ej , the oracles return a random value fi ,
155
and record (ej , fj ) in a table Lhi .
• Extract(ID): The query simulates the ability of A to obtain the long-term private key.
• Execute(Ui , S): The query simulates the ability of A to obtain the tran-
Jo
scripts between Ui and S.
160
Qk • Send( U ,M): The query simulates the ability of A to play as a legitimate user.
9
Journal Pre-proof
• Reveal(
Qk
U ):
The query simulates the ability of A to know session key.
That is to return the session key to A if the oracle knows.
165
pro of
• Corrupt(IDi ): The query simulates the ability of A to obtain the longterm secret key held by Ui .
Qk • Test( U ): The query simulates the security of session key. The oracle chooses b ∈ {0, 1} and the session key is returned to A if b = 1; otherwise,
returns a random value if b = 0.
AKE security. A can make any polynomial times for hi (ej ), Extract, Execute, 170
Send, Reveal and Corrupt queries, but can only make once for Test query. Fi-
re-
nally, A outputs a b0 . Let AdvAKE Π,A denote the advantage of A, meaning that
0 AdvAKE Π,A = Pr[b = b] − 1/2. A protocol Π is said to AKE secure if for all
poly-time adversary A the function AdvAKE Π,A is negligible.
3.2.3. Anonymity
The anonymity property means that the server should not know which user
lP
175
it is interacting with. To model the anonymity against a corrupted server, the adversary is given a corrupted server’s private-key [6]. Additionally, a Reg oracle is given to model registration phase. An experiment for anonymity between a
180
urn a
adversarial server A and a user Ui from a set of n-authorized users {U1 , . . . , Un } is as follows:
• Reg(IDi ): If i ∈ {1, . . . , n}, the oracle computes what the registration phase says to and sends back the server’s secret key to A.
• Send(Ut ,M ): A message M is to instance user Ut calculates what the mutual authentication & key exchange phase says to and sends back the result to A. In particular, an authentication key (rt , σut ) is sent to A.
Jo
185
• Change(IDi0 ,IDi1 ,M ): If i0 , i1 ∈ {1, . . . , n}, the oracle processes as follows. First, the oracle generates two authentication keys σuio , σui1 as the challenge messages for linear encryption. The linear encryption changer
10
Journal Pre-proof
R
returns a linear encryption of σuib for b ← − {0, 1}. Then, the oracle in190
stances what the remaining parts of the protocol Π says to and returns
pro of
the results to A.
Anonymity. Finally, A outputs a bit b0 . Let Advanon Π,A denote the advantage
0 of A, meaning that Advanon Π,A = Pr[b = b] − 1/2. A protocol Π is said to be
anonymous if for all poly-time A the function Advanon Π,A is negligible. 195
4. Our Protocol
We present an efficient authentication protocol with distributed key gener-
re-
ation for mobile devices. Our scheme is composed of initialization phase, registration phase and mutual authentication & key exchange phase. The framework is as shown in Fig. 3.
DB
DA
Server
System parameter 𝔾1 , 𝔾2 , 𝑃1 , 𝑃2 , 𝑞, ℎ1 , ⋯ ℎ6 , 𝑢, ො 𝑣, ො 𝑢, 𝑣
lP
System Initialization
Registration phase
System private keys 𝛾, 𝜇 Linear encryption key pair 𝑝𝑘, 𝑑𝑘 Partial keys 𝑘𝐷𝐴 , 𝑘𝐷𝐵 𝑘𝐷𝐵 , 𝑝𝑘, 𝑑𝑘
𝑘𝐷𝐴 , 𝑝𝑘
𝑐1
urn a
Mutual Authentication & Key Exchange phase
𝑘𝐴
𝑐1 = 𝐸𝑛𝑐𝑝𝑘 𝑘𝐷𝐵 𝑘𝐵
Simulatable DH key exchange
Jo
𝑅 = 𝑘𝐴 ⋅ 𝑘𝐵 ⋅ 𝑃1 Homomorphically compute 𝐸𝑛𝑐𝑝𝑘 𝜎 ′ = 𝐸𝑛𝑐𝑝𝑘 𝑘𝐴 ⋅ 𝑘𝐷𝐴 ⋅ 𝑘𝐷𝐵
𝑅 = 𝑘𝐵 ⋅ 𝑘𝐴 ⋅ 𝑃1
𝐸𝑛𝑐𝑝𝑘 𝜎 ′
𝜎 = 𝑘𝐵 ⋅ 𝐷𝑒𝑐𝑑𝑘 𝐸𝑛𝑐𝑝𝑘 𝜎 ′ Signature of knowledge 𝜎𝑢
Verify 𝑀 Compute 𝑆𝐾𝑈
Message 𝑀
Figure 3: The framework of our protocol
11
Verify 𝜎𝑢 Compute 𝑆𝐾𝑆
Journal Pre-proof
200
4.1. Initialization phase In this phase, the server S produces system parameters as follows:
pro of
(1) Let G1 , G2 , and GT be three groups, and their order is q. The generators of G1 and G2 is P1 and P2 , respectively. e is a map: G1 × G2 → GT , which is computable. 205
(2) S chooses six secure hash functions h1 , ..., h6 , where h1 : {0, 1}∗ → Z∗q ,
h2 : G1 × G1 × G1 × G1 × ×G1 × G1 × G1 × G1 × G1 × G1 × G1 → Z∗q , h3 : G1 × G1 × G1 × G1 × {0, 1}∗ × {0, 1}∗ × {0, 1}∗ × {0, 1}∗ × {0, 1}∗ → Z∗q ,
h4 : G1 × G1 × G1 → Z∗q , h5 : G1 × G1 × G1 × G1 × G1 × {0, 1}∗ → Z∗q ,
210
re-
h6 : G1 × G1 × G1 × G1 × {0, 1}∗ → Z∗q .
(3) S chooses two random elements γ, µ ∈ Z∗q , computes u ˆ = γ · P1 , vˆ = µ · P1 , u = γ ·P2 , v = µ·P2 as its public keys. Then, S publishes the system param-
eters {G1 , G2 , P1 , P2 , q, h1 , . . . , h6 , u ˆ, vˆ, u, v} and holds the system private
lP
keys (γ, µ) securely. 4.2. Registration phase 215
A user Ui asks for the registration requests, and S returns private keys to DA, DB. As described in Table 3, the details are as follow:
urn a
Table 3: Registration phase
DAi
S
DBi
IDi
params, γ, µ
IDi IDi
Randomly Choose ri , ti ∈ Z∗ q Compute
mi =h1 (IDi ) −1
· (γ + mi + ri µ)
−1
· (γ + mi + ri µ)
kDB 1 =ti i
kDB 2 =ti
Jo
Generate
i
−1
kDAi =ti mod q linear encryption
−1
key
P1
pair
(pk, dk)
ri , kDB 1 , kDB 2 , pk, dk
kDAi , pk
i
i
store (ri , kDB 1 , kDB 2 , pk, dk)
store (kDAi , pk)
i
12
i
Journal Pre-proof
R
(1) S chooses ti , ri ← − Z∗q , and computes mi = h1 (IDi ). Then, S sets kDBi = −1 (ri , kDBi1 , kDBi2 ) = (ri , ti−1 · (γ + mi + ri µ)−1 , t−1 · P1 ) as i · (γ + mi + ri µ)
pro of
DBi ’s shared key and kDAi = ti mod q as DAi ’s shared key. R
220
(2) S chooses xe , ye ← − Z∗q and sets M = xe · P1 , N = ye · P1 , sends the keys (kDBi , pk = (M, N ), dk = (xe , ye )) to DBi and the other keys (kDAi , pk = (M, N )) to DAi .
(3) S computes PIDi = (γ + mi + ri µ)P2 = u + mi P2 + ri v as Ui ’s public key. Note that, the private key of Ui is (ri , ti · kDBi2 ) = (ri , (γ + mi + ri µ)−1 P1 ). 4.3. Mutual Authentication & Key Exchange phase
re-
225
In this phase, Ui and S are mutual authentication and then establish a session key. As described in Table 4, the details are presented as follows: (1) Round 1 : R
lP
(a) DBi chooses kB ← − Z∗q , and computes DB = kB · P1 . R
230
(b) DBi picks r, s ← − Z∗q and calculates c1 = L.Encpk (kDBi1 ; r, s) = (A, B, C). R
EQ (c) DBi transmits (com−prove, sidk1, (DB , c1 ), (kB , kDBi1 , r, s)) to Fcom−zk
(i.e., DBi provides a commitment to DB , c1 and a proof for the relation
urn a
REQ , described in Appendix A.4).
(2) Round 2 : 235
R
EQ (a) DAi obtains (proof − receipt, sidk1) from Fcom−zk .
R
(b) DAi chooses kA ← − Z∗q and computes DA = kA · P1 . RDL (c) DAi sends (prove, sidk2, DA , kA ) to Fzk .
Jo
(3) Round 3 :
RDL (a) DBi gets (proof, sidk2, DA ) from Fzk ; If not, it aborts.
240
R
EQ (b) DBi transmits (decom − proof, sidk1) to Fcom−zk .
13
Journal Pre-proof
Table 4: Mutual authentication & Key agreement phase DAi
DBi
S
kDAi , pk
kDBi , pk, dk
γ, µ
R
pro of
Select kB ←− Z∗ q
Compute DB =kB · P1 c1 =Encpk (kDB 1 ) i
=(A, B, C) Compute proof π1
Compute commitment to DB , c1 , π1 commit R
Choose kA ←− Z∗ q
Compute DA = kA · P1 Compute proof π2 DA , π2 Verify proof π2
Select a, b ←−
re-
Decommit to DB , c1 , π1 R
Z∗ q
Compute with re-randomization
c2 = (ti kA · A + a · M, ti kA · B + b · N, ti kA · C + (a + b) · P1 )
c2
lP
Compute σi =kB · L.Decdk (c2 ) R =kB · DA Verify e(σi , PIDi ) = e(R, P2 ) Compute proof π3
Compute signature of knowledge
Jo
urn a
σu = (R, T1 , T2 , T3 , π3 ) {σu , TSM1 } Verify σu R
Select c, d ←− Z∗ q Compute −1
σi =T3 − (γ)
−1
T2
−1
T1 + (µ)
T4 =c · M T5 =d · N T6 =(c + d) · P1 ν =h5 (R, σi , T1 , T2 , (γ) SKS =h6 (T4 , T5 , T6 , σi , ν) {T4 , T5 , ν, TSM2 }
Compute ν 0 = h5 (R, σi , T1 , T2 , (α + β) · P1 , TSM2 ) Verify ν 0 = ν Compute
T1 − (µ)
0
T6 =(xe )
−1
−1
T4 + (ye )
T5
0 SKUi =h6 (T4 , T5 , T6 , σi , ν)
14
−1
T2 , TSM2 )
Journal Pre-proof
(4) Round 4 : R
EQ ; if not, it (a) DAi receives (decom − proof, sidk1, DB , c1 ) from Fcom−zk
pro of
aborts. R
(b) DAi chooses a, b ← − Z∗q and re-randomizes c2 = (E, F, Y ) = (ti kA · A + 245
a · M, ti kA · B + b · N, ti kA · C + (a + b) · P1 ). (c) DAi sends c2 to DBi . (5) Round 5 :
(a) DBi computes R = kB ·DA , σi = kB ·L.Decdk (c2 ) = (γ+mi +ri µ)−1 ·R.
250
re-
(b) DBi verifies that (R, P2 , σi , PIDi ) is a DDH tuple under (P1 , P2 , u, v, ri , mi ) by testing whether e(σi , PIDi ) = e(σi , u + mi · P2 + ri · v) = e(R, P2 ). If not, it aborts.
RSDH (c) DBi sends (prove, sidk4, (R, u ˆ, vˆ, u, v, P2 ), (mi , ri , σi )) to Fzk .
(6) Round 6 : 255
lP
(d) DBi sends {TSM1 } to S (where TSM1 is the current time stamp).
RSDH (a) S receives (proof, sidk4, (R, u ˆ, vˆ, u, v, P2 ) from Fzk and checks the
fresh of TSM1 ; if not, it aborts. R
urn a
(b) S chooses c, d ← − Z∗q and computes T4 = c·M , T5 = d·N and T6 = (c+ d) · P1 . Then, S parses signature of knowledge σu = (R, T1 , T2 , T3 , π3 )
and computes σi = L.Dec(γ,µ) (T1 , T2 , T3 ) and ν = h5 (R, T1 , T2 , γ −1 T1 +
260
µ−1 T2 , σi , TSM2 ) (where TSM2 is current time stamp).
(c) S computes the session key SKS = h6 (T4 , T5 , T6 , σi , ν) and sends {T4 , T5 , ν, TSM2 } to DBi .
Jo
(7) Output:
(a) DBi checks the fresh of TSM2 and whether the equation ν 0 = h5 (R, (α+
265
β) · P1 , T1 , T2 , σi , TSM2 ) holds; if not, it aborts.
15
Journal Pre-proof
(b) DBi computes T60 = (xe )−1 T4 + (ye )−1 T5 and the session key SKUi =
Correctness. It is easy for DAi to compute
pro of
h6 (T4 , T5 , T60 , σi , ν 0 ).
c2 = (ti kA A + aM, ti kA B + bN, ti kA C + (a + b)P1 ) = ((ti kA r + a)M, (ti kA s + b)N, ((ti kA r + a)
−1 + (ti kA s + b)P1 + (ti kA t−1 P1 )) i (γ + mi + ri µ)
Then, DBi can compute σi =kB · L.Decdk (c2 )
re-
=(kB kA (γ + mi + ri µ)−1 ) · P1 =(γ + mi + ri µ)−1 ) · R and verify
(R = kA · kB · P1 ).
e(σi , u + mi + ri v) = e(R, P2 )
5. Security Proofs 270
lP
For server side, its correctness follows the completeness of protocol A.C.
We theoretically prove the proposed scheme to be secure under the Decision
urn a
linear assumption and qs -mSDH assumption in the random oracle. Let F1 , F2 be two forgers. We prove the AKE security (Theorem 1) via two lemmas. In Lemma 1, we prove that no F1 can forge authentication keys in the case of a corrupted DAi or DBi . In Lemma 2, we show that no F2 can forge users 275
authentication transcripts by combining with the result of Lemma 1. By using these results (Lemma 1 and Lemma 2), Theorem 1 can be easy to prove. Lemma 1. Assume that linear encryption is semantically secure and the qs -
Jo
mSDH assumption holds. If an (t0 , 0 )-adversary A that forges authentication
keys. Then an (t, )-attacker B that breaks the hardness of the qs -mSDH as-
280
sumption, where = 21 (0 − qs /q) (or 12 (0 /qs − 1/q)) and t = t0 + Θ(qs2 ).
16
Journal Pre-proof
Proof. Let A be an adversary who has corrupted DAi or DBi (at most one who consider the case where DBi is corrupted.
pro of
is controlled); then we build an attacker B for the qs -mSDH assumption. First B is given an instance (P1 , xP1 , x2 P1 , . . . xqs P1 , P2 , xP2 ) of the qs -mSDH
1 assumption for unknown x ∈ Z∗q , and then B aims to produce (m, x+m P1 )
for m ∈ Z∗q . B begins by choosing randomly ω1 , ω2 , . . . , ωqs ∈ Z∗q . Letting Qqs −1 Pqs −1 f (X) = i=1 (X + ωi ) = i=0 αi X i , B computes P10 =
qX s −1
αi (X i P1 ) = f (X)P1
i=0
u, vˆ) ∈ G21 and returning Then, B creates a public key by picking µ ∈ Z∗q , (ˆ
re-
A the public key (P10 , P2 , u ˆ, vˆ, u = xP2 , v = µP2 ). Next, B should generate an authentication key (ri , σi ) on mi where mi = h1 (IDi ). Letting fi (X) = Qqs −1 Qqs −2 j f (X)/(X + ωi ) = j=1,j6 =i (X + ωj ) = j=0 βj X , B computes σi0 =
qX s −2
βj (xj P1 ) = fi (x)P1 =
B also chooses ri ∈
lP
j=0
1 P0 x + ωi 1
Z∗q
such that mi + µri = ωi . In principle, B computes
σi = ϕi σi0 by picking ϕi ∈ Z∗q . Then, (σi , ri ) is a valid authentication key on mi since
urn a
e(σi , u + mi P2 + ri v) =e(σi , u + (mi + ri µ) · P2 ) =e(σi , u + ωi · P2 ) = e(ϕi · P10 , P2 )
B returns P 0 IDi = u + mi P2 + ri v to A and responds A as follows: 285
1. B gets (1λ , pk = (M, N )), where pk denote the public key without knowing the corresponding private key.
2. B calls A on input (1λ , pk) and simulates the response of oracle Π, answering as follows:
Jo
(a) B parses the first message into the form (com−porve, sidk1, (DB , c1 ),
290
eq (kB , kDBi1 , r, s)) that DBi sends to Fcom−zk . If DB = kB · P10 and
−1 c1 = Encpk (kDBi1 ; r, s) then B sets DA = kB ·ϕi P10 ; else DA is chosen
randomly. B sets the response of the oracle to be (proof, sidk2, DA ). 17
Journal Pre-proof
(b) B parses the second message into the form (decom − proof, sidk1) from A. If DB 6= kB · P10 or c1 6= Encpk (kDBi1 ; r, s) then B simulates R
DBi aborting and the experiment finishes. If not, B selects a, b ← −
pro of
295
−1 −1 Z∗q , calculates c2 = (a·M, b·N, (a+b)·P10 +kB ·σi ) = Encpk (kB ϕi (x+
mi + µri )−1 ; a, b), and sets the response of the oracle to be c2 .
Note that, we prove that the joint distributions over A’s view and DAi ’s output are the same in the above simulation and a real world. The main difference is R
300
DA : DAi chooses kA ← − Z∗q and computes DA = kA · P10 , whereas B computes
−1 DA = kB · ϕi P10 . Since ϕi is chosen randomly, the distributions over kA ·
−1 P10 and kB · ϕi P10 are identical. Therefore, the only difference is c2 : c2 =
re-
−1 Encpk (kB ϕi (x + mi + µri )−1 ) = Encpk (φ1 ) in the simulation, whereas c2 =
Encpk (ti kA ·kDBi1 ) = Encpk (kA ·(x+mi +µri )−1 ) = Encpk (φ2 ) in a real execution. 305
As long as the linear encryption key is valid, the distribution of φ2 in a real world is as above. Therefore, we just show that c2 is a legitimate ciphertext in the
lP
simulation and a real execution by deciding the equations e(σi , PIDi ) = e(R, P2 )
(resp., e(σi , P 0 IDi ) = e(ϕi P10 , P2 )). If the equation holds, the distributions over φ1 and φ2 are indistinguishable. Thus, the joint distributions over A’s view and
310
DAi ’s output are identical.
Finally, if B is not interrupted, A outputs a valid forgery (m∗ , r∗ , σ∗ ). There
urn a
are two types of forgery:
• If m∗ + µr∗ ∈ / {ω1 , . . . , ωqs }. For any valid pair (m, e re, σ e), σ e is uniquely 315
identified by m e and re. The remainder of the proof follows a similar approach to Opener of [28]. Suppose that Opener is a unbound algorithm
that, given (P10 , u, v, µ), a pair (m∗ , r∗ , σ∗ ), will output ϕ∗ ∈ Z∗q such that
e(σ∗ , u + m∗ P2 + r∗ v) = e(σ∗ , u + (m∗ + µr∗ )P2 ) = e(ϕ∗ · P10 , P2 ). That is, the algorithm will find the correct random number ϕ∗ so that the equation
Jo
holds. Let ω∗ = m∗ +µr∗ , f (X) = f 0 (X)(X +ω∗ )+ρ for some ρ ∈ Z∗q , and Pqs −2 f (x) 1 · P10 = (x+ω · P1 = f 0 (X) = j=0 τj X j . Note that, (ϕ∗ )−1 · σ∗ = (x+ω ∗) ∗)
320
ρ 1 (f 0 (x) + (x+ω ) · P1 . B computes x+ω · P1 = ((ϕ∗ )−1 σ∗ − f 0 (x) · P1 ) · ρ−1 ∗) ∗ P qs −2 1 j with f 0 (x) · P1 = j=0 τj (x · P1 ). B outputs (ω∗ , x+ω∗ · P1 ) as the
18
Journal Pre-proof
solution to the qs -mSDH problem. If A is (, t)-adversary that forge an authentication key, then B wins with same probability in time t + Θ(qs2 ).
pro of
• If m∗ + µr∗ = ω∗ for some i ∈ {1, . . . , qs }. B chooses γ ∈ Z∗q , (ˆ u, vˆ) ∈ G21
and returns (P10 , P2 , u ˆ, vˆ, u = γP2 , v = xP2 ) to A. B defines ri = (γ +
mi )/ωi , σi = ϕi σi0 by picking ϕi ∈ Z∗q , and records (mi , ri , ϕi , mi P2 + ri v) to a table L. Then, ((ri )−1 · σi , ri ) is a valid authentication key on mi since
e((ri )−1 · σi , u + mi P2 + ri v) =e((ri )−1 · σi , γP2 + mi P2 + ri v) =e(σi , (ri )−1 (γ + mi ) · P10 + v)
325
re-
=e(σi , ωi + v) = e(ϕi · P10 , P2 )
If (m∗ , r∗ , σ∗ ) is a valid, B finds (mj , rj , ϕj , mj P2 + rj v) on the table L such that mj P2 + rj (xP2 ) = m∗ P2 + r∗ (xP2 ), namely mj + rj x = m∗ + r∗ x. Because mj 6= m∗ and rj 6= r∗ (otherwise, (m∗ , r∗ , σ∗ ) is the
lP
same authentication key that B computes before), B computes x = (m∗ − mj )/(rj − r∗ ). Therefore, B can forge a solution to the qs -mSDH problem 330
on any identity. If A is (, t)-adversary that forges an authentication key,
then B wins with probability − qs /q in time t + Θ(qs2 ).
B can guess what kind of forgery is 1/2, then assuming the use of more pes-
urn a
simistic cases prove the Lemma 1. Therefore, B obtains an instance of the qs -mSDH problem with 21 ( − qs /q) in time t + Θ(qs2 ).
335
Next, we consider a corrupt DAi . We use the same method as a corrupted DBi , with one difference. That is, the ciphertext may be incorrectly computed by A, and B cannot detect this (since B is not aware of the private key). We deal with this issue by setting some points to simulate DAi aborting. Namely, B chooses a random i ∈ {1, 2, . . . , qs }, where qs − 1 is the number queries of A to Π. If B chooses correctly, the simulation is perfect. Intuitively, the successful
Jo
340
probability is
1 qs .
(1) B receives (1λ , pk), where pk denote the public key without knowing the corresponding private key. 19
Journal Pre-proof
(2) Suppose that A makes multiply queries for Π. Then, B chooses a random 345
i ∈ {1, 2, . . . , qs }.
pro of
(3) B calls A on input (1λ , pk) and simulates the response of oracle Π, answering as follows:
(a) B parses the first message into the form (prove, sidk2, DA , kA ) that
RDL DAi sends to Fzk . B verifies that DA = kA · P10 ; otherwise, it simu-
350
lates DAi aborting. B computes DB = (kA )−1 ϕi P10 , c1 = Encpk (k] DBi1 )
R − Z∗q , and fixes the response of the oracle to be (decom − for k] DBi1 ←
proof, sidk1, DB , c1 ).
re-
(b) B parses the second message into c2 . If this is i-th query that was made by A to Π, then B simulates DBi aborting. Otherwise, it continues. 355
B guesses j that DBi does not obtain a valid authentication key (ri , σi ) with
ϕi P10 . Similarly, the distributions over kB · P10 and (kA )−1 ϕi P10 are identical.
lP
Then, if j = i, the only difference is ciphertext c1 : c1 = Encpk (kDBi1 ) in a real ] execution, whereas c1 = Encpk (k] DBi1 ) for a random kDBi1 in the simulation. Just the public key pk is valid, the indistinguishability of c1 can reduce to 360
the indistinguishability of linear encryption scheme. Nevertheless, B has no information about the private key for linear encryption. Hence, B guesses j = i 1 qs .
If A is (, t)-adversary that forges authentication keys,
urn a
with probability
B outputs an instance of the qs -mSDH problem by using same strategy with probability
1 1 qs 2 (
− qs /q) = 12 (/qs − 1/q) in time t + Θ(qs2 ).
Lemma 2. Assume that linear encryption is semantically secure and the qs mSDH assumption holds. If an adversary A1 can forge user’s authentication messages in time t with probability . Suppose that qh1 , qh4 , qS and qE are the number of queries made by A1 to h1 , h4 , Send and Extract, respectively.
Jo
Then an attacker B1 that breaks the hardness of the qs -mSDH assumption. In
particularly, we have s 2qh1 qh4 qE (AdvBqs1−mSDH (t) + qqs ) qs ≤ + 4qs + Adv F orge1 (t) q (qh1 + 1 − qs )(qE + 1 − qs ) 20
Journal Pre-proof
365
Where Adv F orge1 (t) is the maximum advantage of any F1 with time t, AdvBqs1−mSDH (t) is the advantage for the qs -mSDH assumption.
pro of
Proof. Suppose A1 is a forger algorithm that forges authentication messages. Consider the following two cases: one is to output authentication transcripts by forging authentication keys (r, σ), and the other is to output a forgery based on 370
users’ transcripts. We deal with each of these two cases as follows.
For the first case, we can create a Forger F1 to run A1 as a subroutine to generate authentication keys (r, σ). F1 follows the Appendix A.3 procedure with the keys to get a signature σu on m, and return < σu , TSM1 > to A. Let F orge1 denote the event that A1 can successfully output authentication keys.
F orge1 The advantage of F1 satisfies P rA1 [F orge1 ] ≤ AdvF (t) ≤ Adv F orge1 (t). 1
re-
375
By Lemma 1, P rA1 [F orge1 ] is negligible.
Next, consider the second case. We can build an algorithm B1 that solves the hardness of the qs -mSDH assumption. Given an instance of the qs -mSDH
380
lP
1 problem (P1 , xP1 , . . . , xqs P1 , P2 , xP2 ), the goal of B1 is to output (m, x+m P)
for some m ∈ Z∗q . Suppose that B1 considers the more pessimistic case to set the public parameters (P10 , P2 , u ˆ, vˆ, u = γP2 , v = xP2 ) (known γ), and returns
to A1 . B1 also creates a list L of tuple (mi , ri , ϕi , σi , mi P2 + ri v). B1 defines the event IDi = ? indicates that the (r? , (ri )−1 σ? ) is not known. B1 begins by
385
urn a
interacting with A1 as follow:
• h1 -query: When A1 makes an h1 -query IDi , if IDi 6= ?, then B1 finds (mi , ri , ϕi , σi , mi P2 + ri v) in L, returns mi and records (IDi , mi ) to Lh1 .
Otherwise, B1 aborts.
• hi -query (i = 2, 3, 4): When A1 makes an hi -query ej , then B1 returns R
fj for fj ← − Z∗q and records (ej , fj ) to Lhi .
• Extract-query: When A1 makes an Extract query, if IDi 6= ?, B1 finds
Jo
390
(mi , ri , ϕi , σi , mi P2 + ri v) in L and returns (ri , (ϕi ri )−1 σi ) to A1 . Other-
wise, B1 aborts.
• Send-query: When A1 makes an Send query, if IDi 6= ?, B1 finds 21
Journal Pre-proof
(mi , ri , ϕi , σi , mi P2 +ri v) in L, and follows Π procedure with ((ri , (ri )−1 σi ) 395
to obtain a signature σu = (ϕi P10 , T1 , T2 , T3 , π3 ) and returns (σu , TSM1 ) to
pro of
A1 . Otherwise, B1 uses the protocol Appendix A.3 simulator to obtain a transcript (R, T1 , T2 , T3 , ψ1 , c, ψ2 ), where ψ1 = (R1 , R2 , R3 , R4 , R5 , R6 , R7 ), ψ2 = (sα , sβ , sm , sr , sδ1 , sδ2 , sδ3 , sδ4 ). Then, B1 sets a signature σu = (R, T1 , T2 , T3 , c, ψ2 ). In addition, we have to make the oracle h4 at (ϕi P10 , 400
T1 , T2 , T3 , R1 , R2 , R3 , R4 , R5 , R6 , R7 ) to be the same with c. The probability that it would encounter a collision is
2 (qh4 qS +qS ) q 11
(assuming qS
qh4 q, this probability is negligible). If the collision happens, B1 aborts. Otherwise, B1 returns (σu , TSM1 ) to A1 .
405
re-
Finally, if B1 does not aborts, A outputs a valid authentication message tuple < σu∗ , TSM1 > with probability , without access to the oracle h4 . By using
4
lP
the extractor of the protocol Appendix A.3 and the method of the Forking qs − 1 Lemma [29], B1 obtains an pair (m, e re, σ e) with probability (1 − )(1 − qh1 2 qs −1 (/qs −1/q) (this is the use of Boneh et al. [16][Theorem 5.3]). The reqE ) 32qh mainder of the Lemma 2 follows closely the methodology of the Lemma 1. Thus, B1 outputs an instance to the qs -mSDH problem with probability at least 2 qs − 1 s −1/q) (1 − )(1 − qsq−1 ) (/q32q − qqs . Note that, an instance of qs -mSDH E h 4 qh1 problem can be turned into qs − 1 SDH pairs.
urn a
410
Theorem 1. Assume that linear encryption is semantically secure and the qs mSDH assumption holds. If an adversary A2 with time t that breaks the proposed protocol Π. Then Π is AKE secure under the Decision linear and qs -mSDH assumptions provided that AKE AdvΠ,A ≤ 2
(qh1
Decision−LA qh1 qE qC (qS )2 (qR )2 AdvG (t) 1 +Adv F orge2 (t) + 1 − qs )(qE + 1 − qs )(qC + 1 − qs )(qR − 1)(qs − 1)
Decision−LA Where Adv F orge2 (t) is the advantage of F2 , AdvG is the advantage 1
Jo
for the Decision linear assumption, and qS , qE , qC and qR are the quantity of
415
queries provided by A2 to Send, Extract, Corrupt and Reveal, respectively. Proof. Let A2 be an adversary for Π. Consider the following two cases: one is to break the protocol by forging authentication transcripts, and the other is 22
Journal Pre-proof
to break the protocol but not deviate from it. We deal with each of these two cases as follows. For the first case, we can construct an Forger F2 that runs A2 as a subrou-
pro of
420
tine to generate a valid transcript (σu , TSM1 ). F2 generates system parameters and private keys that Π required, and simulates the response of the oracle to Π. Let F orge2 denote the event that A2 outputs a valid authentication messages.
F orge2 The advantage of F2 satisfies P rA2 [F orge2 ] ≤ AdvF (t) ≤ Adv F orge2 (t). 2 425
By Lemma 2, P rA2 [F orge2 ] is negligible.
Next, consider the second case. We build an attacker B2 that breaks the Decision linear assumption. Given an instance of the qs -mSDH problem (P1 , xP1 , . . . ,
re-
xqs P1 , P2 , xP2 ), assume that B2 considers the more pessimistic case to set the
public parameters (P10 , P2 , u ˆ, vˆ, u = γP2 , v = xP2 ) (known γ), and returns to 430
A1 . B2 also creates a list L of tuple (mi , ri , ϕi , σi , mi P2 + ri v) for i ∈ [qs − 1]. B2 defines the event IDi = ? indicates that the (r? , (ri )−1 σ? ) is not known.
Given an instance of the Decision linear assumption (M, N, P, c · M, d · N, η),
lP
the goal of B2 is to distinguish η = (c + d) · P from a random element of G1 .
B2 guesses j such that A2 makes an Test query in the j-th session. B2 returns 435
(M, N, P ) to A2 and begins by interacting with A2 as follows: • h1 (IDi )-query: When A2 makes a query, if IDi 6= ?, then B2 finds
urn a
(mi , ri , ϕi , σi , mi P2 + ri v) in L, returns mi and records (IDi , mi ) to Lh1 . Otherwise, B aborts.
• hi (ej ) (i = 2, 3, 4, 5, 6): When A2 makes a query, then B2 returns fj for R
440
fj ← − Z∗q and records (ej , fj ) to Lhi .
• Send: there exists two types of send queries: Qk (1) Send( U , M): The query follows closely the approach of the Lemma
Jo
2 (Send query). Finally, B2 outputs < σu , TSM1 > and returns to A2 . Qk (2) Send( S , M): If the query < σu = (R, T1 , T2 , T3 , π3 ), TSM1 > is made
445
in the j-th session and j ∈ [qs −1], B2 finds (mj , rj , ϕj , σj , mj P2 +rj v) in L, computes T 0 = T3 − σj , ν = h5 (R, T1 , T2 , T 0 , σj , TSM2 ) and 23
Journal Pre-proof
returns < T4 , T5 , ν, TSM2 > and adds ν to L (where T4 = c · M , and returns < T4 , T5 , ν, TSM2 >. 450
pro of
T5 = d · N ); else B2 aborts. If not, B2 chooses randomly T4 , T5 , ν, • Execute(U, S): When A2 makes a query, B2 responds transcripts << σu , TSM1 >, < T4 , T5 , ν, TSM2 >> by employing the results of the above queries.
• ExtractIDi : When A2 makes a query, if IDi 6= ?, B2 finds (mi , ri , ϕi , σi ,
mi P2 + ri v) in L and returns (ri , (ϕi ri )−1 σi ) to A2 . Otherwise, B2 aborts.
455
• CorruptIDi : When A2 makes a query, if IDi 6= ?, B2 finds (mi , ri , ϕi , σi , • Reveal
Qk
U:
re-
mi P2 + ri v) in L and returns (ri , (ϕi ri )−1 σi ) to A2 . Otherwise, B2 aborts. When A2 makes a query, if this is j-th session, then B2 aborts
and exits. Otherwise, B2 runs Π to obtain the session key of an instance and returns to A2 .
• Test: When A2 makes a query, if this is j-th session, B2 finds ((mj , rj , ϕj ,
lP
460
σj , mj P2 + rj v), ν) in L, and returns h6 (T4 , T5 , η, σj , ν) as the session key. Otherwise, B2 declares fair and exits. If A2 succeeds the game with probability , then B2 can decide whether η = 465
urn a
(c+d)·P or not. Let qS , qE , qC and qR be the quantity of queries provided by A2 to Send, Extract, Corrupt and Reveal, respectively. If B2 does not abort, the probability is (1−(qs −1)/qh1 )(1−(qs −1)/qE )(1−(qs −1)/qC )(1−1/qR )(1/qR ) = (qh1 +1−qs )(qE +1−qs )(qC +1−qs )(qR −1) . qh1 qE qC (qR )2
In the above game, B2 correctly guesses the
probability of j and j ∈ [qs − 1] is the Decision linear problem at least
In the end, we obtain the advantage of A2 in the second case is bounded by Decision−LA qh1 qE qC (qS )2 (qR )2 AdvG (t) 1 (qh1 +1−qs )(qE +1−qs )(qC +1−qs )(qR −1)(qs −1) .
Jo
470
1 qs −1 qS qS . Thus, B2 outputs a solution to (qh1 +1−qs )(qE +1−qs )(qC +1−qs )(qR −1)(qs −1) . qh1 qS qE qC (qR )2 (qS )2
Theorem 2. Assume that linear encryption is semantically secure, then our protocol guarantees the anonymity provided that Advanon (A) = Advss Π Decision-mLA (B). 24
Journal Pre-proof
Where Advss Decision-mLA (B) is the advantage for linear encryption. Proof. Let A be an attacker who breaks anonymity of the proposed protocol 475
pro of
with . We build B as the attacker on linear encryption with probability at least .
First, B is given (P, M, N ) from its own challenger. It generates the remaining system parameter by following the initialization and registration phase. Next, B runs the Π, provides A the public parameter (P, M, N, u ˆ, vˆ, u, v, PIDi ) and the users’ private authentication key (ri , σi ). In addition, A is given the 480
server secret key γ, µ from the Reg oracle. When the random oracle h4 is queried from A, B returns a random element of Z∗q . A provides two identity IDi0 and
re-
IDi1 . B generates the corresponding private key σi0 , σi1 and outputs (ri0 , σi0 ), (ri1 , σi1 ) to its own challenger. The linear encryption changer returns a linear R
encryption of σuib for b ← − {0, 1}. B runs the protocol Appendix A.3 simulator 485
with (T1 , T2 , T3 ), and returns a signature σu to A. In the end, A outputs b0 as
lP
its guess, B sets b0 as the response. Therefore, A wins that breaks anonymity with probability leads to B as the attacker on linear encryption with the same advantage.
5.1. Informal security analysis
The proposed solution for mobile Internet should achieve security properties
urn a
490
below, except for the above security analysis. • Mutual authentication: From Lemma 1 and Theorem 1, we show that no adversary successfully forges authentication transcripts of users and servers. Thus, the proposed authentication protocol can obtain mutual authenti-
495
cation.
Jo
• Unlinkability: This property describes that no adversary who can view the Internet traffic is able to track which servers/services a given user is communicating with [6]. Even if a server is controlled by an adversary, it will get nothing. Suppose that an adversary is given the private key of servers,
25
Journal Pre-proof
500
he can only obtain an authenticated key by decrypting a ciphertext. Thus, the proposed protocol can obtain unlinkability.
pro of
• Session key exchange: Section 4 shows that users and servers can compute the same T6 = (xe )−1 T4 + (ye )−1 T5 (resp., T6 = (c + d) · P1 ), and the common shared key SK = h6 (T4 , T5 , T6 , σi , ν). Therefore, the presented 505
protocol can obtain session key exchange.
• Resist man-in-the-middle attack: A aims to forge valid messages << σu , TSM1 > , < T4 , T5 , ν, TSM2 >>.
From Lemma 1, we show that an adversary
cannot forge user’s authentication transcripts. To forge a transcript < R
T4 , T5 , ν, TSM2 >, A chooses c, d ← − Z∗q and computes T4 = c · M , T5 =
d · N , σi = T3 − (γ)−1 T1 − (µ)−1 T2 , ν = h5 (R, σi , T1 , T2 , (γ)−1 T1 +
re-
510
(µ)−1 T2 , TSM2 ). However, it is difficult for A to compute without the private key γ, µ of a server. Thus, the proposed protocol can stand up to
lP
man-in-middle attack.
• Resist replay attack: As can be seen from section 4, users and a server can 515
re-select new random number (kA , kB , a, b, c, d) for each communication. Furthermore, the timestamps (TSM1 , TSM2 ) are used to check the freshness of message between users and a server. Therefore, the presented protocol
urn a
is able to resist replay attack.
6. Performance Analysis 520
We show the performance analysis for mobile Internet including computation and communication costs. The presented solution is to deal with security issues for mobile Internet. Here, we compare our solutions with the previous solutions
Jo
with anonymity and key protection [24] to show the advantage of our scheme. 6.1. Computation Cost
525
We compare computational cost analysis by calculating the sum time con-
sumption of each scheme’s basic operations. Since Wu et al. [24] have calculated
26
Journal Pre-proof
the performing time of cryptographic operations used a personal computer as the server and a mobile device as the user, we will directly use their parameters
530
pro of
for the comparison. The configurations of these devices and their experiment results are shown in Table 5 and Table 6, respectively. Table 5: Testing devices Devices
Operation system
Dell
Window 8
Samsung Galaxy
Android 4.4.2
Processor
Inter(R) Core(TM)
i5-4460S@ 2.90GHz Quad-core 2.45G
Notions
Descriptions
Samsung Galaxy
Dell
Tsm
point multiplication on G1 , G2
13.405 ms
2.165 ms
TA
point addition G1 , G2
0.081 ms
0.013 ms
Te
bilinear pairing on GT
32.713 ms
5.427 ms
Th
general hash function
0.056 ms
0.007 ms
TE
exponentiation on Z∗ q
2.249 ms
0.339 ms
lP
re-
Table 6: Experiment results in [24]
Tm
multiplication on Z∗ q
0.008 ms
0.001 ms
log p
Bits length of a prime p
512 bits
512 bits
log q
Bitslength of a prime q
160 bits
160 bits
|G1 |
the length of an element on G1
1024 bits
1024 bits
the length of an element on G2
1024 bits
1024 bits
|Z|
the length of an element on Zp
160 bits
160 bits
the length of a time stamp
32 bits
32 bits
|G2 |
urn a
|TSM |
In our protocol, users need to compute thirteen point multiplication operations, one multiplication operation, six point addition operations for (c1 , c2 , σ) and three point multiplication operations for (R, DA , DB ), respectively. Users also need to calculate four multiplication operations, twenty-one point multipli535
cation operations, six hash function operations, nine point addition operations for commitment, FReq , FRDL , and two bilinear pairing operations for verify-
Jo
ing an authenticated key. To compute σi , ν 0 , T60 , SKUi , users need to deal with
sixteen point multiplication operations, sixteen multiplication operations, six point addition operations, five bilinear pairing operations, five exponentiation
540
operations and three hash function operations. Thus, the total time consump27
Journal Pre-proof
tion is 53Tsm + 21TA + 21Tm + 9Th + 7Te + 5TE ≈952.444ms for users side. For the server side, a server executes fifteen point multiplication operations, seven
pro of
point addition operations, five exponentiation operations, five bilinear pairing operations, four multiplication operations, three hash function operations for 545
verifying a signature of knowledge σu and computing (σi , ν, SKS ). Thus, it totally needs 19Tsm + 9TA + 7Te + 6TE + 5Tm + 3Th ≈73.301ms. In particular, the parings e(P1 , u), e(P1 , P2 ) and e(P1 , v) can be precomputed and stored by both users and servers. Accordingly, the total time consumption is cut down by 3Te =98.139ms, and the total is 854.305ms for users. For the server side, the
550
total is reduced to 57.02ms.
re-
Table 7, Fig. 4 and Fig. 5 clearly present that, for Ui side, our protocol has lower computational cost than [24]. For servers side, our computation cost is higher than that in [24]. In the case of the above, It is more suitable for some scenarios where users use mobile devices to access remote servers.
Protocols
lP
Table 7: comparison of computation time (millisecond) Computation
Precomputation
Computation
(Ui )
(Ui )
(S)
Precomputation (S)
none
8.688
none
1197
53Tsm + 21TA +
53Tsm + 21TA +
19Tsm + 9TA +
19Tsm + 9TA +
Ours
21Tm + 9Th + 7Te
21Tm + 9Th + 4Te
7Te + 6TE + 4Tm
4Te + 6TE + 4Tm
+5TE ≈ 952.4
+5TE ≈ 854.3
+3Th ≈ 73.3
+3Th ≈ 57.02
urn a
[24]
Table 8: comparison of communication cost (bits)
Protocols
Communication (Ui )
Communication (S)
Sum
[24]
2400
1216
3616
2|G1 | + |Z| + 32 = 2240
7808
Ours
6.2. Communication Cost
Jo
555
2|G1 | + 2|G2 |+
9|Z| + 32 = 5568
Let |G1 |, |G2 |, |Z| denote the length of values in |G1 |, |G2 |, |Z|, respectively.
Thus, |G1 | = |G2 |=1024 bits and |Z|=160 bits. Assume that the length of the
identity and time stamp are 32 bits, and the hash functions output space is
28
Journal Pre-proof
pro of
1,200
1,100
1,000
re-
900
Ours
[24]
Ours with precomputation
lP
Figure 4: Computation time at the user side (ms)
urn a
60
40
20
Jo
[24]
Ours
Ours with precomputation
Figure 5: Computation time at the server side (ms)
29
Journal Pre-proof
160 bits. In our proposed protocol, the communication cost of Ui and S is 560
2|G1 | + 2|G2 | + 9|Z| + 32 = 5568 bits, 2|G1 | + |Z| + 32 = 2240 bits, respectively.
pro of
Thus, the total communication consumption is 5568 + 2240 = 7808 bits. Table 8 shows that the communication cost of Ui and S are slightly higher than [24]. However, our protocol can achieve unlinkability, which is better to protect user privacy. Thus, the proposed protocol is better suitable for real 565
world scenarios. 7. Conclusion
Motivated by the practical needs to secure communication on the mobile
re-
Internet, we proposed a novel anonymous authentication protocol with key protection. Further, we achieved the anonymity by translating a proof of knowledge 570
to a signature of knowledge. We theoretically prove the presented solution to be secure under the Decision linear assumption and the qs -mSDH assumption in
lP
the random oracle. The results of an instance show that the presented scheme is practically efficient. In future, we will consider anonymous authentication with different key protection methods, such as ratcheted key exchange [30].
575
Acknowledgment
urn a
This work is in part supported by the National Key Research and Development Program of China (No. 2017YFB0802300), the Natural Science Foundation of China (No. 61602240), and the Research Fund of Guangxi Key Laboratory of Trusted Software (No. kx201906).
580
References
[1] CNNIC, the 43th statistical report on internet development in china,
Jo
https://en.pingwest.com/w/424 (2019).
[2] Y.-N. Liu, Y.-P. Wang, X.-F. Wang, Z. Xia, J.-F. Xu, Privacy-preserving raw data collection without a trusted authority for iot, Computer Networks
585
148 (2019) 340–348. doi:10.1016/j.comnet.2018.11.028. 30
Journal Pre-proof
[3] T. E. Parliament, the Council of the European Union, Directive 2009/136/ec,
https://eur-lex.europa.eu/legal-content/EN/TXT/
pro of
?qid=1551962644264&uri=CELEX:32009L0136 (2009). [4] X. Li, Y. Zhu, J. Wang, Z. Liu, Y. Liu, M. Zhang, On the soundness and 590
security of privacy-preserving svm for outsourcing data classification, IEEE Transactions on Dependable and Secure Computing 15 (5) (2018) 906–912. doi:10.1109/TDSC.2017.2682244.
[5] Y. Zhu, Y. Zhang, X. Li, H. Yan, J. Li, Improved collusion-resisting secure nearest neighbor query over encrypted data in cloud, Concurrency 595
and Computation: Practice and Experience (2018) e4681doi:10.1002/
re-
cpe.4681.
[6] Y. Lindell, Anonymous authentication, Journal of Privacy and Confidentiality 2 (2) (2007) 4. doi:10.29012/jpc.v2i2.590.
600
lP
[7] K. Barmpatsalou, T. Cruz, E. Monteiro, P. Simoes, Current and future trends in mobile device forensics: A survey, ACM Computing Surveys (CSUR) 51 (3) (2018) 46. doi:10.1145/3177847. [8] A. Shamir, How to share a secret, Communications of the ACM 22 (11)
urn a
(1979) 612–613. doi:10.1145/359168.359176. [9] A. C. Yao, Protocols for secure computations, in: Foundations of Computer 605
Science, 1982. SFCS’08. 23rd Annual Symposium on, IEEE, 1982, pp. 160– 164.
[10] Y. Lindell, Fast secure two-party ecdsa signing, in: Annual International Cryptology Conference (CRYPTO’17), Springer, 2017, pp. 613–644. doi: 10.1007/978-3-319-63715-0_21. [11] B. Barak, O. Goldreich, R. Impagliazzo, S. Rudich, A. Sahai, S. Vad-
Jo
610
han, K. Yang, On the (im) possibility of obfuscating programs, in: Annual International Cryptology Conference, Springer, 2001, pp. 1–18. doi: 10.1145/2160158.2160159. 31
Journal Pre-proof
[12] M. Zhang, Y. Zhang, Y. Jiang, J. Shen, Obfuscating eves algorithm and its 615
application in fair electronic transactions in public clouds, IEEE Systems
pro of
Journaldoi:10.1109/JSYST.2019.2900723. [13] Y. Dodis, J. Katz, S. Xu, M. Yung, Key-insulated public key cryptosystems, in: International Conference on the Theory and Applications of Cryptographic Techniques, Springer, 2002, pp. 65–82. doi:10.1007/ 620
3-540-46035-7_5.
[14] Y. Dodis, J. Katz, S. Xu, M. Yung, Strong key-insulated signature schemes, in: International Workshop on Public Key Cryptography, Springer, 2003,
re-
pp. 130–144. doi:10.1007/3-540-36288-6_10.
[15] M. Bellare, S. Duan, A. Palacio, Key insulation and intrusion resilience 625
over a public channel, in: Cryptographers Track at the RSA Conference, Springer, 2009, pp. 84–99. doi:10.1007/978-3-642-00862-7_6.
lP
[16] D. Boneh, X. Boyen, H. Shacham, Short group signatures, in: Annual International Cryptology Conference (CRYPTO’04), Springer, 2004, pp. 41–55. doi:10.1007/978-3-540-28628-8_3. 630
[17] D. Boneh, X. Boyen, Short signatures without random oracles and the sdh
urn a
assumption in bilinear groups, Journal of cryptology 21 (2) (2008) 149–177. doi:10.1007/s00145-007-9005-7. [18] D. N. Hoover, B. Kausik, Software smart cards via cryptographic camouflage, in: Proceedings of the 1999 IEEE Symposium on Security and 635
Privacy (Cat. No. 99CB36344), IEEE, 1999, pp. 208–215. doi:10.1109/ SECPRI.1999.766915.
[19] R. Ostrovsky, M. Yung, How to withstand mobile virus attacks, in: PODC,
Jo
Vol. 91, 1991, pp. 51–59. doi:10.1145/112600.112605.
[20] A. De Santis, Y. Desmedt, Y. Frankel, M. Yung, How to share a function
640
securely, in: Proceedings of the twenty-sixth annual ACM symposium on
32
Journal Pre-proof
Theory of computing, ACM, 1994, pp. 522–533. doi:10.1145/195058. 195405.
pro of
[21] Y. Desmedt, Y. Frankel, Threshold cryptosystems, in: Conference on the Theory and Application of Cryptology (CRYPTO’89), Springer, 1989, pp. 645
307–315. doi:10.1007/0-387-34805-0_28.
[22] J. Doerner, Y. Kondi, E. Lee, A. Shelat, Secure two-party threshold ecdsa from ecdsa assumptions, in: 2018 IEEE Symposium on Security and Privacy (SP), IEEE, 2018, pp. 980–997. doi:10.1109/SP.2018.00036. [23] Y. Lindell, A. Nof, Fast secure multiparty ecdsa with practical distributed key generation and applications to cryptocurrency custody, in: Pro-
re-
650
ceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (ACM CCS’18), ACM, 2018, pp. 1837–1854. doi: 10.1145/3243734.3243788.
655
lP
[24] L. Wu, J. Wang, K.-K. R. Choo, D. He, Secure key agreement and key protection for mobile device user authentication, IEEE Transactions on Information Forensics and Security 14 (2) (2019) 319–330. doi:10.1109/ TIFS.2018.2850299.
urn a
[25] D. He, Y. Zhang, D. Wang, K.-K. R. Choo, Secure and efficient two-party signing protocol for the identity-based signature scheme in the ieee p1363 660
standard for public key cryptography, IEEE Transactions on Dependable and Secure Computingdoi:10.1109/TDSC.2018.2857775. [26] Y. Zhang, D. He, S. Zeadally, D. Wang, K.-K. R. Choo, Efficient and provably secure distributed signing protocol for mobile devices in wireless networks, IEEE Internet of Things Journaldoi:10.1109/JIOT.2018.2865247. [27] K. Y. Choi, J. Y. Hwang, D. H. Lee, I. S. Seo, Id-based authenticated
Jo
665
key agreement for low-power mobile devices, in: Australasian Conference on Information Security and Privacy (ACISP’05), Springer, 2005, pp. 494– 505. doi:10.1007/11506157_41. 33
Journal Pre-proof
[28] M. Bellare, D. Hofheinz, S. Yilek, Possibility and impossibility results for 670
encryption and commitment secure under selective opening, in: Annual
pro of
International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT’09), Springer, 2009, pp. 1–35. doi:10.1007/ 978-3-642-01001-9_1.
[29] D. Pointcheval, J. Stern, Security arguments for digital signatures and blind 675
signatures, Journal of cryptology 13 (3) (2000) 361–396. doi:10.1007/ s001450010003.
[30] M. Bellare, A. C. Singh, J. Jaeger, M. Nyayapati, I. Stepanovs, Ratcheted encryption and key exchange: The security of messaging, in: An-
680
re-
nual International Cryptology Conference, Springer, 2017, pp. 619–650. doi:10.1007/978-3-319-63697-9_21.
[31] A. Fiat, A. Shamir, How to prove yourself: Practical solutions to iden-
lP
tification and signature problems, in: Conference on the Theory and Application of Cryptographic Techniques, Springer, 1986, pp. 186–194. doi:10.1007/3-540-47721-7_12.
Appendix A. Zero-knowledge protocols
urn a
685
We will describe zero-knowledge protocols for our protocols that we need in this Appendix.
Appendix A.1. Zero-knowledge equality of linear encryption and discrete logarithm - REQ
We propose the relation of the protocol that follows
Jo
Req = {(G1 , P1 , q, pk = (M, N ), (DB , A, B, C), (kB , m, r, s)|
DB = kB · P1 ∧ (A, B, C) = Encpk (m; r, s)}
690
that shows knowledge of discrete logarithm and values that are encrypted in a linear encryption ciphertext. Note that (A, B, C) = Encpk (m; r, s), meaning 34
Journal Pre-proof
that A = r · M , B = s · N and C = (r + s) · P1 + m · P1 . The joint input (G1 , P1 , q, pk, A, B, C) and witness (kB , m, r, s) for the prover are described as
R
695
pro of
follows: (1) The prover P selects α, β, γ, τ ← − Z∗q , and computes W = α · P1 , X = β · M , Y = γ · N , and Z = (β + γ) · P1 + τ · P1 . (2) P sends (W, X, Y, Z) to the verifier V. R
(3) V picks c ← − Z∗q , and sends to P.
(4) P computes z1 = α + c · kB , z2 = β + c · r, z3 = γ + c · s and z4 = τ + c · m. (5) P sends (z1 , z2 , z3 , z4 ) to V.
re-
700
(6) V accepts if the following holds: (a) z1 · P1 = W + c · DB ,
lP
(b) z2 · M = X + c · A , (c) z3 · N = Y + c · B , 705
(d) (z2 + z3 ) · P1 + z4 · P1 = Z + c · C . We describe the security of the protocol through the following three proper-
urn a
ties: completeness, soundness and zero-knowledge. Completeness:
z1 · P1 = (α + c · kB ) · P1 = α · P1 + c · kB · P1 = W + c · DB ,
so a) holds. For analogous reason b) and c) hold. Finally, (z2 + z3 ) · P1 + z4 · P1
Jo
=(β + c · r + γ + c · s) · P1 + (τ + c · m) · P1 =β · P1 + (c · r) · P1 + γ · P1 + (c · s) · P1 + τ · P1 + (c · m) · P1 =(β · γ) · P1 + τ · P1 + c · ((r + s) · P1 + m · P1 ) =Z + c · C. 35
Journal Pre-proof
so d) holds. Soundness: Given (W, X, Y, Z, c, c0 , z1 , z2 , z3 , z4 , z10 , z20 , z30 , z40 ), we use c 6=
c0 mod q and receive both (W, X, Y, Z, c, z1 , z2 , z3 , z4 ) and (W, X, Y, Z, c0 , z10 , z20 ,
pro of
710
z30 , z40 ) that are valid transcripts. We use this to compute (kB , m, r, s) such that DB = kB · P1 and (A, B, C) = (r · M, s · N, (r + s) · P1 + m · P1 ). If the transcripts are accepting, all four verification equations a)-d) hold.
For simplicity, let ∆c = c − c0 , ∆z1 = z1 − z10 , and similarly for ∆z2 , ∆z3 and ∆z4 . Now consider a) above, we have that both
c · DB =z1 · P1 − W,
re-
c0 · DB =z10 · P1 − W.
Subtracting the equations from each other, we have
(c − c0 ) · DB = (z1 − z10 ) · P1 .
Then, we obtain kB = ∆z1 /∆c mod q. Similarly, we obtain m = ∆z4 /∆c mod q, r = ∆z2 /∆c mod q and s = ∆z3 /∆c mod q such that DB = kB · P1 and
lP
715
(A, B, C) = (r · M, s · N, (r + s) · P1 + m · P1 ).
R
zero-knowledge: The simulator picks c, z1 , z2 , z3 , z4 ← − Z∗q and computes W =z1 · P1 − c · DB ,
urn a
X =z2 · M − c · A, Y =z3 · N − c · B,
Z =(z2 + z3 ) · P1 + z4 · P1 − c · C.
If there exist (kB , m, r, s) such that DB = kB · P1 and (A, B, C) = (r · M, s · N, (r + s) · P1 + m · P1 ), then
W =(z1 − c · kB ) · P1 ,
Jo
X =(z2 − c · r) · M, Y =(z3 − c · s) · N, Z =(z2 − c · r + z3 − c · s) · P1 + (z4 − c · m) · P1 .
36
Journal Pre-proof
Now, set ρ1 = z1 − c · kB , ρ2 = z2 − c · r, ρ3 = z3 − c · s and ρ4 = z4 − c · m. If z1 , z2 , z3 , z4 are randomly chosen, then ρ1 , ρ2 , ρ3 , ρ4 also are random. The
720
pro of
implication is that z1 = ρ1 +c·kB , z2 = ρ2 +c·r, z3 = ρ3 +c·s and z4 = ρ4 +c·m for random ρ1 , ρ2 , ρ3 , ρ4 . Thus, the simulator’s view and verifier’s view in a real execution are identical.
We remark that when using the Fiat-Shamir paradigm [31], P computes c = h2 (P1 , M, N, DB , A, B, C, W, X, Y, Z) and defines the proof to be π1 = (c, z1 , z2 , z3 , z4 ) only. Then, V derives W = z1 · P1 − c · DB , X = z2 · M − c · A, 725
Y = z3 · N − c · B, Z = (z2 + z3 ) · P1 + z4 · P1 − c · C, and verifies the hash. Appendix A.2. Knowledge of discrete logarithm - RDL
re-
We propose the relation of the protocol that follows
RDL = {(G1 , P1 , q, DA ), kA |DA = kA · P1 } of discrete log values are same with Req except that removing the computation
lP
of X,Y ,Z,z2 ,z3 ,z4 and corresponding verification.
We remark that when using the Fiat-Shamir paradigm, P computes c = 730
h4 (P1 , DB , W ) and defines the proof to be π2 = (c, z1 ) only. Then, V derives W = z1 · P1 − c · DB , and verifies the hash.
urn a
Appendix A.3. Knowledge of a solution to an qs -mSDH problem - RSDH We propose the relation of the protocol that follows RSDH = {(G1 , G2 , P1 , P2 , q, R, u ˆ, vˆ, u, v), (m, r, σ)| e(σ, u + m · P2 + r · v) = e(R, P2 )}
for σ = (γ + m + rµ)−1 · R. The joint input (G1 , G2 , P1 , P2 , q, R, u ˆ, vˆ, u, v) and witness (m, r, σ) for the prover P are described below: R
(1) The prover P picks α, β ← − Z∗q , and computes: T1 = α · u ˆ, T2 = β · vˆ,
Jo
735
T3 = (α + β) · P1 + σ. P also computes δ1 = α · m, δ2 = β · m, δ3 = α · r and δ4 = β · r.
37
Journal Pre-proof
(2) P chooses rα , rβ , rm , rr rδ1 , rδ2 , rδ3 and rδ4 at randomly from Z∗q . P computes: R1 = rα · u ˆ, R2 = rβ · vˆ, R3 = e(T3 , P2 )rm · e(T3 , v)rr · e(P1 , u)−rα −rβ ·
pro of
740
e(P1 , P2 )−rδ1 −rδ2 ·e(P1 , v)−rδ3 −rδ4 , R4 = rm ·T1 −rδ1 · u ˆ, R5 = rm ·T2 −rδ2 · vˆ, R6 = rr · T1 − rδ3 · u ˆ, R7 = rr · T2 − rδ4 · vˆ.
(3) P sends (T1 , T2 , T3 , R1 , R2 , R3 , R4 , R5 , R6 , R7 ) to V. R
(4) V selects c ← − Z∗q , and transmits to P. 745
(5) P constructs sα , sβ , sm , sr , sδ1 , sδ2 , sδ3 , sδ4 as:
sα = rα + c · α, sβ = rβ + c · β, sm = rm + cm, sr = rr + cr, sδ1 = rδ1 + c · δ1 ,
re-
sδ2 = rδ2 + c · δ2 , sδ3 = rδ3 + c · δ3 and sδ4 = rδ4 + c · δ4 . (6) P sends (sα , sβ , sm , sr , sδ1 , sδ2 , sδ3 , sδ4 ) to V. (7) V accepts if the following holds: (a) sα · u ˆ = c · T1 + R1 ,
lP
750
(b) sβ · vˆ = c · T2 + R2 ,
(c) e(T3 , P2 )sm e(T3 , v)sr e(P1 , u)−sα −sβ e(P1 , P2 )−sδ1 −sδ2 e(P1 , v)−sδ3 −sδ4 c = e(R, P2 )/e(T3 , u) · R3 ,
755
urn a
(d) sm · T1 − sδ1 · u ˆ = R4 , (e) sm · T2 − sδ2 · vˆ = R5 , (f) sr · T1 − sδ3 · u ˆ = R6 , (g) sr · T2 − sδ4 · vˆ = R7 .
We describe the security of the protocol through the following three properties: completeness, soundness and zero-knowledge.
Jo
Completeness:
sα · u ˆ = (rα + c · α) · u ˆ = c · (α · u ˆ) + rα · u ˆ = c · T1 + R1 ,
38
Journal Pre-proof
so a) holds. For same reasons b) holds. Moreover,
pro of
sm · T1 − sδ1 · u ˆ =(rm + cm) · (α · u ˆ) − (rδ1 + cmα) · u ˆ =rm · (α · u ˆ) − rδ1 · u ˆ = R4 , so d) holds. For analogous e)-g) hold. Finally,
e(T3 , P2 )sm · e(T3 , v)sr · e(P1 , u)−sα −sβ · e(P1 , P2 )−sδ1 −sδ2 · e(P1 , v)−sδ3 −sδ4 =e(T3 , P2 )rm +cm · e(T3 , v)rr +cr · e(P1 , u)−rα −rβ −cα−cβ
· e(P1 , P2 )−rδ1 −rδ2 −cmα−cmβ e(P1 , v)−rδ3 −rδ4 −crα−crβ
=e(T3 , P2 )rm · e(T3 , v)rr · e(P1 , u)−rα −rβ · e(P1 , P2 )−rδ1 −rδ2 e(P1 , v)−rδ3 −rδ4
re-
· e(T3 − (α + β)P1 , u)c · e(T3 − (α + β)P1 , mP2 )c · e(T3 − (α + β)P1 , rv)c · e(T3 , u)−c
so c) holds.
lP
760
=e(T3 − (α + β)P1 , u + mP2 + rv)c · e(T3 , u)−c · R3 c = e(σ, u + mP2 + rv)/e(T3 , u) · R3 c = e(R, P2 )/e(T3 , u) · R3 .
Soundness: Given (T1 , T2 , T3 , R1 , R2 , R3 , R4 , R5 , R6 , R7 , c, c0 , sα , sβ , sm , sr , sδ1 , sδ2 , sδ3 , sδ4 , s0α , s0β , s0m , s0r , s0δ1 , s0δ2 , s0δ3 , s0δ4 ), we use c 6= c0 mod q and receive
urn a
both (T1 , T2 , T3 , R1 , R2 , R3 , R4 , R5 , R6 , R7 , c, sα , sβ , sm , sr , sδ1 , sδ2 , sδ3 , sδ4 ) and (T1 , T2 , T3 , R1 , R2 , R3 , R4 , R5 , R6 , R7 , c0 , s0α , s0β , s0m , s0r , s0δ1 , s0δ2 , s0δ3 , s0δ4 ) that are 765
valid transcripts. We use this to compute (m, r, σ) so that e(σ, u+m·P2 +r·v) = e(R, P2 ). If the transcripts are accepting, all seven equations a)-g) hold. For simplicity, let ∆c = c − c0 , ∆sα = sα − s0α , and similarly for ∆sβ , ∆sm , ∆sr , ∆sδ1 , ∆sδ2 , ∆sδ3 and ∆sδ4 . Now consider a) above. Subtracting the two instances, we obtain ∆sα · u ˆ=
∆c · T1 , namely α e = ∆sα /∆c. Similarly, from b), we obtain βe = ∆sβ /∆c.
Consider d) above. Subtracting the two instances gives ∆sm · T1 = ∆sδ1 · u ˆ,
Jo
770
e m, we obtain ∆sδ1 = α e∆sm . Similarly, from e)-g) we deduce that ∆sδ2 = β∆s
e r. ∆sδ3 = α e∆sr and ∆sδ4 = β∆s
39
Journal Pre-proof
Finally, subtracting the two instances of c), we obtain ∆c e(R, P2 )/e(T3 , u)
pro of
=e(T3 , P2 )∆sm · e(T3 , v)∆sr · e(P1 , u)−∆sα −∆sβ · e(P1 , P2 )−∆sδ1 −∆sδ2 · e(P1 , v)−∆sδ3 −∆sδ4
=e(T3 , P2 )∆sm · e(T3 , v)∆sr · e(P1 , u)−∆sα −∆sβ e
e
α∆sm −β∆sm α∆sr −β∆sr · e(P1 , P2 )−e · e(P1 , v)−e
Taking ∆c-th roots, and letting m e = ∆sm /∆c, re = ∆sr /∆c; we obtain e
e α−β e(R, P2 )/e(T3 , u) = e(T3 , P2 )m · e(T3 , v)re · e(P1 , u)−b e
e
re-
αm− e βm e αr e−βe r · e(P1 , P2 )−b · e(P1 , v)−b ,
e 1 , u + mP e(R, P2 ) = e(T3 − (e α + β)P e 2 + rev).
e 1 , we obtain an tuple (m, Letting σ e = T3 − (e α + β)P e re, σ e).
R
R
zero-knowledge: The simulator begins by picking R, σ ← −∈ G1 and α, β ← −
lP
ˆ, T2 = β · vˆ, and T3 = (α + β) · P1 + σ. The simulator picks Z∗q . It sets T1 = α · u R
c, sα , sβ , sm , sr , sδ1 , sδ2 , sδ3 , sδ4 ← −∈ Z∗q and computes R1 = sα · u ˆ − c · T1 R2 = sβ · vˆ − c · T2
urn a
R3 = e(T3 , P2 )sm · e(T3 , v)sr · e(P1 , u)−sα −sβ
c · e(P1 , P2 )−sδ1 −sδ2 e(P1 , v)−sδ3 −sδ4 · e(T3 , u)/e(R, P2 )
R4 = sm · T1 − sδ1 · u ˆ
R5 = sm · T2 − sδ2 · vˆ
R6 = sr · T1 − sδ3 · u ˆ
R7 = sr · T2 − sδ4 · vˆ.
These values clearly satisfy the equation a)-g). Furthermore, the distributions
Jo
775
of R1 , R2 , R3 , R4 , R5 , R6 , R7 are the same as in the real view. We remark that when using the Fiat-Shamir paradigm, P computes c =
h4 (R, T1 , T2 , T3 , R1 , R2 , R3 , R4 , R5 , R6 , R7 ) and defines the proof to be π3 = 40
Journal Pre-proof
f3 = e(T3 , P2 )sm ·e(T3 , v)sr ·e(P1 , u)−sα −sβ ·e(P1 , P2 )−sδ1 −sδ2 e(P1 , v)−sδ3 −sδ4 · sβ ·ˆ v −c·T2 , R c f4 = sm ·T1 −sδ ·ˆ f f6 = sr ·T1 −sδ ·ˆ v, R e(T3 , u)/e(R, P2 ) , R 1 u, R5 = sm ·T2 −sδ2 ·ˆ 3 u,
pro of
780
f1 = sα · u f2 = (c, sα , sβ , sm , sr , sδ1 , sδ2 , sδ3 , sδ4 ) only. Then, V derives R ˆ − c · T1 , R f7 = sr · T2 − sδ · vˆ, and verifies the hash. Moreover, we define signature of R 4 knowledge to be σu = (R, T1 , T2 , T3 , π3 ). Appendix A.4. Commitment
785
The operation of a commitment scheme includes a committer and a verifier. The joint input (P1 , P2 , q, h3 ) and commitment values (DB , c1 , π1 ) for the committer C are described as follows:
R
790
re-
Commit:
c = α · P1 + t · P2 . (1) C picks t ← − Z∗q , and computes α = h3 (DB kc1 kπ1 ), b (2) C sends b c to the verifier V.
lP
Open:
(1) C sends (DB , c1 , π1 , t) to V.
(2) V computes α b = h3 (DB kc1 kπ1 ) and verifies b c=α b ·P1 +t·P2 . If the equation
Jo
urn a
holds, V accepts; otherwise, he rejects.
41
Journal Pre-proof Authors Biography: Yan Jiang is currently working toward the Ph.D. degree at the College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing, China. His research interests include privacy-preserving protocols in network systems and clouds.
pro of
Youwen Zhu received his B.E. degree and Ph.D. degree in Computer Science from University of Science and Technology of China, Hefei, China, in 2007 and 2012, respectively. From 2012 to 2014, he is a JSPS postdoc in Kyushu University, Japan. He is currently an Associate Professor at the College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, China. He has published more than 40 papers in refereed international conferences and journals, and has served as program committee member in several international conferences. His research include
identity
authentication,
information
security
and
data
privacy.
re-
interests
Jian Wang received the Ph.D. degrees in Nanjing University in 1998. He is currently a Professor at the College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics. His research interests include
lP
cryptographic protocol and malicious tracking.
urn a
Yong Xiang received his B.E. and M.E. degrees from the University of Electronic Science and Technology of China, China, and PhD degree from The University of Melbourne, Australia. He is a Professor at the School of Information Technology, Deakin University, Australia. He is also the Director of DeakinSouthwest University (SWU) Joint Research Centre on Big Data and the Director of Deakin Blockchain Innovation Lab. He was the Associate Head of School
(Research) (2013-2018) and Director of the Artificial Intelligence and Data Analytics Research Cluster
Jo
(2013-2018).
Journal Pre-proof Highlights: We propose a novel anonymous authentication protocol with key protection. The new protocol introduces a novel zero-knowledge proof that can provide stronger anonymity even if the server is compromised.
pro of
The new protocol enables two devices to jointly compute an authentication key via linear encryption and zero-knowledge proofs.
Jo
urn a
lP
re-
We implement our protocol and show its efficiency and suitability.
Journal Pre-proof
Conflict of Interest
Jo
urn a
lP
re-
pro of
The manuscript has not been published elsewhere and that it has not been submitted simultaneously for publication elsewhere. We also have no conflicts of interest to disclose.