• No results found

Efficient and Secure Certificateless Directed Proxy Signature Scheme without Pairings

N/A
N/A
Protected

Academic year: 2022

Share "Efficient and Secure Certificateless Directed Proxy Signature Scheme without Pairings"

Copied!
28
0
0

Loading.... (view fulltext now)

Full text

(1)

Efficient and Secure Certificateless Directed Proxy Signature Scheme without Pairings

R. R. V. Krishna Rao, N.B. Gayathri and P. Vasudeva Reddy

*

Department of Engineering Mathematics,

Andhra University, Visakhapatnam, Andhra Pradesh, Pin code: 530003, INDIA.

email: [email protected], [email protected],

*

[email protected]

(Received on: April 8, 2019) ABSTRACT

The proxy signature scheme allows a proxy signer to sign the message on behalf of an original signer. However public verifiability of proxy signature is not desirable in some applications where the signed message is sensitive to the signature receiver. To meet this requirement, the concept of directed proxy signature was introduced. A directed proxy signature scheme is a kind of signature scheme, in which the verification ability is controlled by the proxy signer. Many directed proxy signature schemes are proposed in literature with various cryptographic settings.

However, it has been found that all these schemes are designed in Identity-based setting using bilinear pairings over elliptic curves. But the computation of a bilinear pairing is very expensive. Hence, in this paper, we propose the first certificateless directed proxy signature scheme without pairings. We also show our scheme is secure against various types of attacks. Also performance of this scheme is very efficient.

Keywords: Certificateless Signature, Directed Signatures, Proxy Signature, Random Oracle Security Model, Elliptic Curve Discrete Logarithm Problem.

1. INTRODUCTION

Digital signature is one of the fundamental and useful cryptographic primitive, which

provides authentication and non-repudiation for digital communications. To implement the

digital signature in the real world applications, it needs to consider different features and

properties to make them adequate and suitable for different usages. There are many digital

signature schemes in literature with different cryptographic settings such as traditional public

(2)

key infrastructure (PKI)

5

and Identity based cryptosystem

28

. The security of the traditional PKI is based on the certificate, signed by a certification authority (CA), containing the relationship between the key pairs, i.e., a public key and a private key, and the user’s identity and legitimacy. But certificate management leads to extra storage, large computation and communication costs. Contrast to traditional PKI, Identity Based cryptosystem (IBC)

28

does not need any certificate to ensure the authenticity of public/private key pair. In this system, public key of a user is derived from the user’s identity and the secret key is generated by a trusted third party called Private Key Generator (PKG). Though IBC successively eliminates the necessity of certificates, it suffers from inherent key escrow problem. Later, Al-Riyami

1

introduced a novel system called, certificateless public key cryptography (CL-PKC). This approach neither suffers from the key escrow problem nor requires any certificates, and so it can be viewed as a model in between traditional PKI and ID-PKC.

To deal with different scenarios, digital signature schemes have evolved into many variants such as Blind signature, Multi signature, Group signature, Ring signature etc. One of such variants is Proxy signature. A proxy signature scheme is an important cryptographic technique and allows an entity to delegate the signing capability to one or more entities. In 1996, Mambo et al.

20

introduced the proxy signature scheme, in which the original signer (Alice) delegated his signing privilege to a proxy signer such that the proxy signer (Bob) on behalf of the original signer can sign some specific messages. An entity (Cindy) who receives a message with a proxy signature can easily check the correctness of the signature and be convinced about the agreement of the original signer. Since then many new constructions have been proposed in literature on various cryptographic settings such as PKI based

11,16,23

, ID- based

18,8

and Certificateless based

7,27

. According to the delegation ways, proxy signature can be classified into three types: full delegation

16

, partial delegation

23

, and delegation by warrant

11

.

However, these proxy signature schemes allow public verification, which might not be suitable for applications in which the verification of the proxy signature is sensitive to the receiver, for example signatures on medical records, tax information. To meet this requirement, Lim and Lee

17

proposed a new type of signature called Directed signature. In a directed signature scheme, a signer sends a signature on a message to a designated verifier;

only the designated verifier can directly verify the signature, while the others know nothing about validity of the message without the help of the signer or the designated verifier. In case of trouble or if necessary, both signer and the designated verifier can prove the validity of the signature to any third party. Directed signature schemes are very useful in practical applications where signed message is sensitive to the signature receiver. After the introduction of directed signatures by Lim and Lee in

17

, many directed signature schemes are proposed in PKI based setting

15,14,19,10,34,26

. The first efficient ID-based directed signature scheme was presented by Sun et al.

29

in the random oracle model. Later few directed signature schemes were proposed in both ID-based setting

35,31,13,12

and Certificateless based setting

33,6

.

The combination of directed signature technique with proxy signature integrates the

advantages of both and is more applicable for signing on sensitive messages. Consider the

following situation: Doctor Alice has issued a hospital record to the patient Bob, in the form

(3)

of doctor’s digital signature. Alice can delegate his signing right to the proxy signer (Doctor Charlie). Bob then can exclusively verify these signatures with others knowing nothing about his state of illness. Otherwise, his state of illness is exposed. After a period time, Bob also needs to prove validity of his hospital record to other doctor for cure. At the same time, Doctor Charlie also shares the ability and responsibility to acknowledge this hospital records when Bob may not be convenient to do so. Motivated by the above scenario, some directed proxy signature schemes have been proposed in the literature

32,24,21,12

. In these schemes, the proxy signer generates a proxy signature on behalf of the original signer to a designated verifier. The designated verifier can directly verify the proxy signature and he can convince any other party about the validity of the signature. All these schemes are designed on Identity based setting.

There is no directed proxy signature scheme in Certificateless based setting.

Moreover, most of the above directed proxy signature schemes are designed using bilinear pairings over elliptic curves. The time consuming cryptographic operation is pairing operation and is more expensive than the evaluation of a scalar multiplication in elliptic curve.

For example, Elliptic Curve Cryptography (ECC) with 224 bit keys provides the same level of security as RSA with 2048 bit keys. Thus ECC has become popular since it provides higher security with smaller keys in size. This smaller key size improves the computational efficiency, storage capacity, bandwidth efficiency. Hence to improve the computational efficiency in directed proxy signature schemes, it is required to design the signature scheme without using bilinear pairing operations. This motivated us to design a pairing free directed proxy signature scheme in Certificateless based setting.

1.1. Our Contribution

Our main contributions in this paper are as follows.

i) We proposed an efficient Certificateless Directed Proxy Signature (CLDPS) scheme.

ii) We designed our CLDPS scheme without using bilinear pairings over elliptic curves. To the best of our knowledge this is the first scheme in Certificateless setting addressing about directed proxy signature in pairing free environment.

iii) The proposed CLDPS scheme is secure against forgeability and visibility. We proved it in random oracle model (ROM) under the hardness of the Elliptic Curve Discrete Logarithm Problem (ECDLP).

iv) We compare our CLDPS scheme with the existing directed signature schemes in terms of computational complexity point of view.

v) Efficiency analysis shows that the proposed CLDPS scheme is much efficient than all other schemes in the literature.

1.2. Organization

The remaining part of this paper is organized as follows. We presented some preliminaries in Section 2. Syntax and security model for our CLDPS scheme are presented in Section 3.

The proposed CLDPS scheme with its security analysis is presented in Section 4. Efficiency

analysis of our scheme is presented in Section 5. Finally Section 6 concludes the paper.

(4)

2. PRELIMINARIES

This section we briefly present the fundamental concepts on elliptic curve and the complexity assumption, on which the proposed scheme is designed and achieves the desired security.

2.1 Elliptic Curve Group

An elliptic curve E over a prime finite field F

p

is defined by an equation

2 3

, ,

p

y x ax b a b F and

4a3 27b2 0,

then we define G {( , ) : , x y x y F E x y

p

, ( , ) 0} { } O as the additive cyclic group and the point ' ' O is the point at infinity

2

.

Elliptic Curve Discrete Logarithm Problem (ECDLP)

Given a random instance P the generator of G and Q xP where x Z

*q

, compute x from P and . Q

Computation of x from P and Q is assumed to be computationally hard by any polynomial-time bounded algorithm.

The following Table 1 presents the Symbols and their descriptions which have been used throughout this paper.

Table 1: Symbols and their descriptions

Symbol Description

,

n s Security parameter and system secret key of Key Generation Centre.

,

p q Prime numbers

F

p

Finite field over p.

( p)

E F

Elliptic curve defined on finite field.

*

z

q

The group with elements 1,2…q-1 under addition modulo q.

G Elliptic curve cyclic group of prime order q with generator P.

KGC Key Generation Centre

ECDLP Elliptic Curve Discrete Logarithm Problem.

CLDPS Certificateless Directed Proxy Signature

, ,

os ps dv

ID ID ID Original Signer’s identity, Proxy Signer’s identity and designated verifier’s identity respectively.

1

,

2

,

2

,

3

,

3

,

4

,

4

H H H H H H H Cryptographic one way hash functions.

, ,

i i i

D SK PK Partial secret key, Secret key and Public key of a user.

S Proxy Signing Key

1, 2

Type-I and Type-II adversaries respectively.

: Challenger An algorithm which solves ECDLP by using adversaries.

A distinguisher to distinguish a valid signature on an adaptively chosen message by the attacker from one randomly drawn from the signature space.

1

,

2 1

is a Type-I distinguisher and

2

is a Type-II distinguisher.

ps

Proxy Signature on a message.

(5)

3. SYNTAX AND SECURITY MODEL

This section presents the syntax and security model for our pairing free CLDPS scheme.

3.1 Syntax of CLDPS Scheme

A formal model of the proposed CLDPS scheme consists of six components whose functionalities are described as follows.

Setup: KGC runs this algorithm by taking n Z as input and generates master secret key and master public key and publishes the list of public parameters as params.

Partial Secret Key Gen: KGC runs this algorithm by taking params, master secret key, ID as input and generates D i . KGC sends a partial secret key D i to the user through a secure channel.

User Key Generation: Taking master public key, ID, D i as input, this algorithm generates user's SK PK i , i .

Delegation Generation: Taking params, master public key, an original signers identity ID os with its private key D os , a warrant m w as input, this algorithm is run by the original signer and generates the delegation on the warrant m w .

Delegation Verification: Given a delegation on the warrant m w , the proxy signer verifies and accepts the delegation of original signer if the delegation is valid; rejects otherwise.

Proxy Key Generation: Taking the proxy signer’s private key and the delegation of the original signer, the proxy signer run this algorithm to generate the proxy signing key S . Directed Proxy Signature Generation: This algorithm is run by the proxy signer. The

proxy signer with identity ID ps generates a signature ps to a designated verifier with identity ID dv , on a given message m 0,1

*

by using params, delegation, partial secret key of the signer D ps , public and secret key pair of the signer ( PK ps , SK ps ), and public key of the verifier PK v .

Direct Proxy Signature Verification (D.Verify): The Designated Verifier runs this algorithm. To verify a signature

ps

on a message m, this algorithm takes params,

ps

,

, ,

os ps

PK PK PK dv and ID os , ID ps , ID dv as input, and outputs accept if ps is valid;

or reject, otherwise.

Public Proxy Signature Verification (P. Verify): To verify a signature

ps

on a message

m, this algorithm takes params, ps , PK os , PK ps , PK dv , ID os , ID ps , ID dv and an Aid

provided by the proxy signer ID

ps

or the designated verifier ID

dv

as input, and outputs

accept if

ps

is valid; or reject, otherwise.

(6)

3.2 Security Model of CLDPS Scheme

As described in

7,9

, based on the potential adversary behaviour, we consider the following types of adversaries.

1) Type I Adversary: Key Replacement Attack: The Adversary 1 does not have access to the master secret key but is able to replace the public key of any user with a value of his choice.

2) Type II Adversary: Malicious KGC Attack: The Adversary 2 cannot replace the public key of any user, but is able to access to the master secret key.

The security of a CLDPS scheme can be defined by considering the following game played between a challenger and an adversary 1 , 2 .

3.2.1 Game I:

- Initialization Phase: The challenger runs Setup algorithm, and generates the systems parameters params, master secret key and master public key. gives them to the . If

= 1 then keeps s secret. Otherwise it sends s to = 2 . - Queries Phase: In this phase, makes queries on the following oracles.

Reveal Partial Secret Key Oracle: On receiving a partial secret key query on ID from 1 , computes D i by taking ID as input and gives this to 1 .

Create User Oracle: On receiving a query from , the challenger computes PK i by taking ID as input and gives this to .

Reveal Secret Key Oracle: After receiving a query from , the challenger returns SK i by taking ID as input.

Replace Public Key Oracle: Taking identity ID, 1 may replace current PK i with the required PK i .

Delegation Generation Queries: On receiving a query from , the challenger computes delegation by taking original signers identity ID i and a warrant m w .

Proxy Key Generation Queries: When queries a Proxy Key of the proxy signer for a delegation with warrant m w , computes the proxy signing key S ps and responds to with S ps .

Proxy Sign Oracle: When makes a signing oracle on ( ID os , ID ps , ID dv , m m w , ),

returns a valid signature ps signed by current public/private key of the user ID ps , for the

input ID os , ID ps , ID dv with message m 0,1 . *

(7)

D.Verify Oracle: On receiving a query from adversary with ( ID

os

, ID

ps

, ID

dv

, m m

w

, ), verifies ps by extracting ID dv ' s private key D dv , SK dv and returns 1 if is valid.

Otherwise it returns 0.

P.Verify Oracle: On receiving a query from adversary with ( ID

os

, ID

ps

, ID

dv

, m m

w

, ), verifies the signature ps and returns to if ps is invalid. Otherwise, produces an Aid in the name of the signer ID ps or the designated verifier ID dv , then forwards Aid to . - Forgery Phase: Finally outputs ( , m m * w , * ps ) or ( m * w , ID os * , PK * os , ID * ps , * , * ) where

*ps

( W

ps*

, V

ps*

, k

*ps

, ID

os*

, PK

os*

, ID

*ps

, PK

*ps

,

*

) as its forgery.

We say wins the game, if one of the following conditions is satisfied.

CASE 1: outputs the tuple ( m * w , ID os * , PK os * , ID * ps , * , * ) satisfying:

(i) The tuple ( m * w , ID os * , PK os * , ID * ps , * , * ) is a valid tuple.

(ii) If = 1 , ID os * has never been made Partial Secret Key Oracle. If = 2 ,

*

ID os has never been made Secret Key Oracle.

(iii) ( m * w , ID os * , PK os * , * ) has never been made Delegation Generation queries.

CASE2: outputs ( , m m * w , * ps ) where

*ps

( W

ps*

, V

ps*

, k

*ps

, ID

os*

, PK

os*

, ID

*ps

, PK

*ps

,

*

) satisfying:

(i) The tuple ( , m m

*w

,

*ps

) where

*ps

( W

ps*

, V

ps*

, k

*ps

, ID

os*

, PK

os*

, ID

*ps

, PK

*ps

,

*

) is a valid tuple.

(ii) If = 1 , ID

os*

has never been made Partial Secret Key Oracle. If =

2

,

*

ID os has never been made Secret Key Oracle.

(iii) ( m

*w

, ID

os*

, PK

os*

,

*

) has never been made Delegation Generation queries.

(iv) ( m

*w

, ID

os*

, PK

os*

, ID

*ps

, PK

*ps

) has never been made Proxy Key Generation queries.

(v) ( , m m

*w

, ID

os*

, PK

os*

, ID

*ps

, PK

*ps

) has never been made Proxy Sign queries.

CASE 3: outputs ( , m m

*w

,

*ps

) where

*ps

( W

ps*

, V

ps*

, k

*ps

, ID

os*

, PK

os*

, ID

*ps

, PK

*ps

,

*

) satisfying:

(i) The tuple ( , m m

*w

,

*ps

) where

*ps

( W

ps*

, V

ps*

, k

*ps

, ID

os*

, PK

os*

, ID

*ps

, PK

*ps

,

*

) is a

valid tuple.

(8)

(ii) If = 1 , ID * ps has never been made Partial Secret Key Oracle. If = 2 ,

*

ID ps has never been made Secret Key Oracle.

(iii) ( m * w , ID os * , PK os * , ID * ps , PK * ps ) has never been made Proxy Key Generation queries.

(v) ( , m m * w , ID os * , PK os * , ID * ps , PK * ps ) has never been made Proxy Sign queries.

Definition 1: (Unforgeability): A CLDPS scheme is EUF-CMA, if no probabilistic polynomial-time adversary (Type-I and Type-II) has non-negligible probability to win the above game.

Definition 2(Invisibility): Invisibility of CLDPS scheme can be defined by considering the following Game-II against Type-I and Type-II adversaries.

3.2.2 Game II: This game is executed between the challenger and a distinguisher

1 2

( or ) as follows.

Initialization Phase: Same as in Game I.

Phase 1:

In this phase, the challenger responds to the queries asked by distinguisher

1 2

( or ) in the same way as in Game I.

Challenge:

After Phase I is over, ( 1 or 2 ) submits ID * ps , ID * dv , and a message m * to the challenger with the condition that

(i) ID dv * has never been submitted to Partial Secret Key Oracle for 1 . (ii) ID dv * has not been submitted to Secret Key Oracle for 2 .

(iii) ID dv * has not been submitted to Delegation Generation queries and Proxy Sign queries.

The Challenger then generates a random bit b {0,1} and does the following.

(i) If b 1 then produces a signature * ps .

(ii) If b 0 then selects a random * ps from the signature space.

Finally, sends * ps to ( 1 or 2 ).

Phase 2: As in Phase 1, ( 1 or 2 ) again adaptively performs several

queries to the challenger , subjected to the following conditions:

(9)

1 cannot run Delegation Generation queries and Partial Secret Key Oracle on ID * dv ; and D.Verifiy or P.Verifiy Oracle on ( ID * ps , ID * dv , m * ).

2 cannot run Secret Key Oracle on ID dv * ; and D.Verifiy or P.Verifiy Oracle on

* * *

( ID ps , ID dv , m ).

Guess: Finally ( 1 or 2 ) outputs a bit b {0,1}.

1 2

( or ) succeeds if b b .

4. PROPOSED CLDPS SCHEME WITHOUT PAIRINGS

In this section, we present our efficient CLDPS scheme and we prove its security.

4.1 CLDPS Scheme

As discussed in section 3.1, our CLDPS scheme consists of the following nine algorithms. The functionalities of these algorithms are presented below.

Setup: KGC run this algorithm with the security parameter n Z as input and performs the following.

1. KGC chooses a group G of elliptic curve points with prime order q , a generator P of ,

G and hash functions H H 1 , 2 , H 2 , H H 3 , 3 , H 4 , H 4 : 0,1 * Z q * .

2. KGC chooses a random s Z * q as the master secret key and sets the master public key of the system as P Pub sP .

3. KGC publish the system parameters as

1 2 2 3 3 4 4

, , ,

Pub

, , , , , , ,

params q G P P H H H H H H H and keeps s secretly.

Partial Secret Key Gen: By taking ID u and system parameters params as input, KGC chooses a random number r u Z * q , computes R u r P h u , 1 u H ID R P 1 ( u , u , Pub ) and

1 mod .

u u u

d r sh q Finally KGC sends the partial secret key D u ( d R u , u ) secretly to the user. The user verifies the equation d P u R u h P 1 u Pub to check the validity of D u .

User Key Gen: A user with identity ID u , randomly chooses a secret value x u Z q * , and computes X u x P u . Set PK u ( X u , R u ) as public key and SK u ( d u , x u ) as its secret key.

Delegation Generation: The original signer creates a warrant m w which keeps the record

of proxy information such as the identities of the original signer, proxy signer, proxy validity

(10)

period and so on. Original signer choose a random number Z q * and computes P ,

2os 2

(

w

, ,

ps

),

h H m ID h

2os

H

2

( m

w

, , ID

ps

) and h 2 os os d h 2 os os x mod . q Original signer outputs ( ID os , PK os , ID ps , m w , , ) as delegation on the warrant m w and send it to the proxy signer for verification and proxy key generation.

Delegation Verification: Given a delegation ( ID os , PK os , ID ps , m w , , ), proxy signer does the following.

Computes h 2 os H m 2 ( w , , ID ps ), h 2 os H 2 ( m w , , ID ps ) and checks whether the equation P h 2 os ( R os h 1 os Pub P ) h 2 os X os holds or not. If it holds, proxy signer accepts the delegation , corresponding to ID os , PK os , ID ps , on m w . Otherwise rejects it.

Proxy Key Generation: After validating the delegation , , proxy signer generates the proxy signing key by using original signer’s delegation key and proxy signer’s private key

( , )

ps ps ps

SK d x as follows.

1. Compute h 3 ps H m 3 ( w , , ID os , PK ps ), h 3 ps H 3 ( m w , , ID os , PK ps ) 2. Compute S h 3 ps ps d h 3 ps ps x mod q where d ps r ps h 1 ps s mod . q Hence the proxy signing key (for the original signer) is S .

Proxy Signature Generation: To generate a valid directed proxy signature s on a given message m 0,1 , * proxy signer takes designated verifiers identity ID dv with public key

dv ,

PK and proxy signing key S as input along with the proxy signers identity ID ps , and public key PK ps and does as follows.

1. The proxy signer chooses t t

1 2

, Z

q*

and computes U

ps

t P V

1

,

ps

t P W

2

,

ps

U

ps

t X

2 dv

. 2. Compute h

4ps

H m m ID

4

( ,

w

,

ps

, ID

dv

, U

ps

, R

ps

) and h

4ps

H

4

( , m m

w

, ID

ps

, ID

dv

, U

ps

, R

ps

, h

4ps

).

3. The signer computes k ps h 4 ps S h 4 ps t 2 mod . q

Hence the directed proxy signature is ps ( W ps , V ps , k ps , ID os , PK os , ). The proxy signer sends the proxy signature ( m m w , , ps ) to the designated verifier for verification.

D. Proxy Signature Verification: To accept or reject the directed proxy signature ( m w , , m ps ), designated verifier takes params, ID dv , PK dv ( X dv , R dv ), ID ps ,

( , )

ps ps ps

PK X R as input and verifies the signature as follows.

(11)

Compute Y dv W ps x V dv ps U ps .

Compute h 4 ps H m m 4 ( , w , ID ps , ID dv , Y dv , R ps ) and

4 ps 4 ( , w , ps , dv , dv , ps , 4 ps ).

h H m m ID ID Y R h

Designated verifier verifies the following equation.

4 2

(

1

)

3

(

1

)

2 4

(

3

)

4

.

ps ps os os os Pub ps ps ps Pub os os ps ps ps ps ps

k P h h R h P h R h P h X h h X h V

If the equation holds, the designated verifier accepts the signature ( m w , , m ps ), and outputs 1; rejects and outputs 0 otherwise.

P. Proxy Signature Verification: Any fourth party other than designated verifier can check the validity of proxy signature with the help of the aid provided by designated verifier or proxy signer. Public verifier takes params, ( m w , , m ps ), ID dv , PK dv ( X dv , R dv ),

ps ,

ID PK ps ( X ps , R ps ) as input and does the following.

Either the proxy signer (with identity ID ps ) or the designated verifier (with identity ID dv ) computes Aid U ps Y dv , and then sends to the fourth party (FP). FP computes

4 ps 4 ( , w , ps , dv , dv , ps )

h H m m ID ID Y R and h 4 ps H 4 ( , m m w , ID ps , ID dv , Y dv , R ps , h 4 ps ) and then checks whether the equation

4 2

(

1

)

3

(

1

)

2 4

(

3

)

4

ps ps os os os Pub ps ps ps Pub os os ps ps ps ps ps

k P h h R h P h R h P h X h h X h V

holds.

If it holds, return 1; else 0.

Correctness of the proposed scheme:

The correctness of the scheme can be verified as follows.

4 4 2

4 3 3 4 2

4 2 2 3 3 4 2

4 2 1 2 3 1 3 4

mod .

( ) mod

( )+ mod

( ) ( )

ps ps ps

ps ps ps ps ps ps

ps os os os os ps ps ps ps ps

ps os os os Pub os os ps ps ps Pub ps ps ps ps

k P h S h t P q

h h d h x P h t P q

h h d h x h d h x P h t P q

h h R h P h X h R h P h X h V

h

4 3 4 4 2 1 3 1 2

4 2 1 3 1 2 4 3 4

( ) ( ) ( )

( ) ( ) ( ) .

ps ps ps ps ps ps os os os Pub ps ps ps Pub os os

ps ps os os os Pub ps ps ps Pub os os ps ps ps ps ps

h X h V h h R h P h R h P h X

k P h h R h P h R h P h X h h X h V

4.2 Security of our CLDPS Scheme

In the following we will analyse the security of our CLDPS scheme. We prove the

unforgeability and invisibility of our CLDPS scheme by the following two theorems.

(12)

4.2.1 Unforgeability against Type I and Type II adversaries

Theorem 1: If there exists a probabilistic polynomial time bounded adversary who can break our proposed CLDPS scheme under the adaptively chosen message and identity attacks in the ROM, then there exists an algorithm that can be used by to solve the ECDLP.

Proof: We prove Theorem 1 with the help of the following lemma 1 and lemma 2.

Lemma 1: Our CLDPS scheme is existentially unforgeable against Type I adversary in random oracle model if ECDLP is intractable.

Proof: Let be an ECDLP challenger and is given a random instance ( , P Q sP ) of the ECDLP problem in G for a randomly chosen s Z q * . Its goal is to compute s . Let 1 is a Type-I adversary who interacts with as modelled in Game I. Now we prove that can solve the ECDLP using 1 . During the simulation process needs to guess the target identity of 1 . Without loss of generality, takes

ID*

as target identity of

1

on a message m * . - Initialization Phase: Algorithm sets P Pub Q sP and runs Setup algorithm to generate params . then gives params and master public key to 1 and keeps s secretly.

- Queries Phase: In this query phase, answers a series of queries performed by 1 in the following way.

Queries on oracle H 1 H ID R P 1 ( u , u , Pub ) : maintains an initially empty list L 1 and has the tuples of the form ( ID R P u , u , Pub , l 1 u ). When 1 makes an H 1 query on ( ID R P u , u , Pub ),

will check whether the tuple ( ID R P u , u , Pub , l 1 u ) is in the list or not. If this tuple exists in L 1 , then returns l 1 u . Otherwise, picks a random l 1u and adds to L 1 . Finally, returns l 1 u . Queries on oracle H 2 H m 2 ( w , , ID u ) : maintains an initially empty list L 2 and has the tuples of the form ( m w , , ID l u , 2 u ). When 1 makes an H 2 query on ( m w , , ID u ), will check whether the tuple ( m w , , ID l u , 2 u ) is in the list or not. If such a tuple

( m w , , ID l u , 2 u ) exists in L 2 , returns l 2 u . Otherwise, picks a random l 2u Z q * and returns l 2 u . adds ( m w , , ID l u , 2 u ) to L 2 .

Queries on oracle H 2 H 2 ( m w , , ID u ) : maintains an initially empty list L 2 and has the

tuples of the form ( m w , , ID l u , 2 u ). When 1 makes an H 2 query on ( m w , , ID u ),

will check whether the tuple ( m w , , ID l u , 2 u ) is in the list or not. If such a tuple

(13)

( m w , , ID l u , 2 u ) exists in L 2 , returns l 2 u . Otherwise, picks a random l 2u Z * q and returns l 2 u . adds ( m w , , ID l u , 2 u ) to L 2 .

Queries on oracle H 3 H m 3 ( w , , ID PK u , u ) : maintains an initially empty list L 3 and has the tuples of the form ( m w , , ID PK l u , u , 3 u ). When 1 makes an H 3 query on ( m w , , ID PK u , u ), will check whether the tuple ( m w , , ID PK l u , u , 3 u ) is in the list or not. If such a tuple ( m w , , ID PK l u , u , 3 u ) exists in L 3 , returns l 3 u . Otherwise, picks a random l 3u Z q * and returns l 3 u . adds ( m w , , ID PK l u , u , 3 u ) to L 3 .

Queries on oracle H 3 H

3

( m

w

, , ID

u

, PK

u

) : maintains an initially empty list L 3 and has the tuples of the form ( m w , , ID PK l u , u , 3 u ). When 1 makes an H 3 query on ( m w , , ID PK u , u ), will check whether the tuple ( m w , , ID PK l u , u , 3 u ) is in the list or not. If such a tuple ( m w , , ID PK l u , u , 3 u ) exists in L 3 , returns l 3 u . Otherwise, picks a random l 3u Z q * and returns l 3 u . adds ( m w , , ID PK l u , u , 3 u ) to L 3 .

Queries on oracle H 4 H

4

( , m m

w

, ID

ps

, ID

dv

, U

ps

, R

ps

, l

4u

) : maintains an initially empty list L 4 and has the tuples of the form ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u ). When 1 makes an H 4 query on ( , m m w , ID ps , ID dv , U ps , R ps ), will check whether the tuple

( , m m w , ID ps , ID dv , U ps , R ps , l 4 u ) is in the list or not. If the tuple exists on L 4 , then gives

4 u .

l Otherwise, picks a random l 4u Z q * and returns l 4 u . Finally, adds ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u ) to L 4 .

Queries on oracle H 4 H 4 ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u ) : maintains an initially empty list L 4 and has the tuples of the form ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u , l 4 u ). When

1 makes an H 4 query on ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u ), will check whether the tuple ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u , l 4 u ) is in the list or not. If the tuple exists on

4 ,

L then gives l 4 u . Otherwise, picks a random l 4u Z q * and returns l 4 u . Finally, adds

4 4

( , m m w , ID ps , ID dv , U ps , R ps , l u , l u ) to L 4 .

(14)

Reveal Partial Secret Key Oracle PSK ID ( u ) : To respond to this oracle, maintains an initially empty list L PSK and has the tuples of the form ( ID d R u , u , u ). When 1 makes a query on PSK ID ( u ) then gives d u , if the query has been made earlier. Otherwise, if

* ,

ID u ID chooses a u Z q * and sets d u a u and add ( ID d R u , u , u ) to L PSK and returns

u .

d If ID u ID * , aborts.

Create User Oracle Cuser ID ( u ) : To respond Create User Oracle ID u , maintains an initially empty list L Cuser and has the tuples of the form ( ID x PK u , u , u ). When 1 makes a query on Cuser ID ( u ), searches the list L Cuser and outputs PK u if the query has been made earlier. Otherwise, does as follows.

i) If ID u ID * , generates three random numbers a b x u , u , u Z q * and sets

, 1 ( , , ) and .

u u u Pub u u Pub u u u

R a P b P H ID R P b X x P sets PK u ( X u , R u ) and adds ( ID R P

u

,

u

,

Pub

, b to

u

) L 1 and ( ID x PK

u

,

u

,

u

) to L

Cuser

. returns

PKu

to

1

as a response.

Note that ( R X u , u , h 1 u ) generated in this way satisfies the equation d P u R u h P 1 u Pub . ii) If ID u ID * , generates three random numbers a ui , b x u , u Z q * and sets

, 1 ( , , ) and .

u u u u Pub u u u

R a P H ID R P b X x P sets PK u X u , R u and adds ( ID R P u , u , Pub , b u ) to L 1 and ( ID x PK u , u , u ) to L Cuser . returns PK u to 1 as a response.

Reveal Secret Key Oracle RSK ID ( u ) : When 1 makes this query on RSK ID ( u ), if

* ,

ID u ID aborts. Otherwise, if ID u ID * , finds the tuples ( ID x PK u , u , u ),( ID d R u , u , u ) from L Cuser , L PSK respectively and recovers x d u , u . sets SK u d u , x u and returns SK u to 1 . If there is no corresponding tuples in L Cuser , L PSK , makes a query on

( u ),

Cuser ID to generate x u , and makes a query on PSK ID ( u ) to generate d u . saves these values in L Cuser , L PSK respectively. Finally returns SK u .

Replace Public Key Oracle RPK ID ( u ) : When adversary makes a query on RPK ID ( u ), finds ( ID x PK u , u , u ) in L Cuser . replaces PK u PK u and x u .

Queries on Delegation Genration: When 1 makes this query on ( m w , ID os , ID ps ),

generates two random numbers os , os Z q * , computes h 1 os H ID 1 ( os , R os , P Pub ),

(15)

2 os 2 ( w , , ps ),

h H m ID and os P os ( R os h 1 os pub P ) h 2 os X os . sets

and 2 .

os h os os At last returns , to 1 and adds the tuple ( m w , , ID os , os ) to list L 2 .

Note that delegation , generated in this way satisfies the equation

2 os ( o 1 os Pub ) 2 os os .

P h R h P h X

Queries on Proxy Key Generation: When 1 makes this query on ( m w , ID os , ID ps ), gets , through Delegation Generation queries. If ID ps ID * , stops the simulation.

Otherwise, finds the tuples ( ID ps , x ps , PK ps ), ( ID ps , d ps , R ps ) from L Cuser , L PSK respectively and recovers x ps , d ps . Also recovers ( m w , , ID PK l u , u , 3 u ),

( m w , , ID PK l u , u , 3 u ) from L L 3 , 3 and computes S h 3 ps d ps h 3 ps ps x mod . q returns the proxy key as S to 1 .

Signing Oracle: When 1 makes this query on ( , m m w , ID os , ID ps ), with a verifier ID dv , first makes queries on H H 1 , 2 , H 2 , H H 3 , 3 , H 4 , H 4 oracles for u os or ps , and recovers the tuples ( ID R P u , u , Pub , l 1 u ), ( m w , , ID l u , 2 u ), ( m w , , ID l u , 2 u ),

( m w , , ID PK l u , u , 3 u ), ( m w , , ID PK l u , u , 3 u ) ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u ),

4 4

( , m m w , ID ps , ID dv , U ps , R ps , l u , l u ) from L L L ,L L L L 1 , 2 , 2 3 , 3 , 4 , 4 respectively and ( ID d u , u , R u ) from L PSK and ( ID x PK u , u , u ) from L Cuser . generates two random numbers r 1 ps , r 2 ps Z q * and sets k ps r 1 ps , V ps l 4 ps 1 r 1 ps P l 3 ps l 4 ps X ps ,

2 and 2 ,

ps ps dv ps ps

U r X W r P

2 os os 1 os pub 3 ps ps 1 ps pub 2 os os ,

l R l P l R P l P l X returns

( , , , , , )

ps W ps V ps k ps ID os PK os to 1 .

Note that ( , m m w , ps ) generated in this way satisfies the verification equation

4 2

(

1

)

3

(

1

)

2 4

(

3

)

4

. (1)

ps ps os os os Pub ps ps ps Pub os os ps ps ps ps ps

k P h h R h P h R h P h X h h X h V

D. Verify Oracle DV ID ( u ) : When 1 submits ( , m m w , ID os , ID ps , ID dv ), and

( , m m w , ps ) where ps ( W ps , V ps , k ps , ID os , R os , ) to , first recovers

(16)

( ID dv , R dv , P Pub , l 1 dv ) from L 1 list and then proceeds as follows.

i) If ID dv ID * then computes U ps x W dv ps and recovers the corresponding tuples from L L 4 , 4 lists. If these tuples does not exists, selects l 4 u , l 4 u Z q * and defines

4

( ,

w

,

ps

,

dv

,

ps

,

ps

,

4u

)

4u

H m m ID ID U R l l and H

4

( , m m

w

, ID

ps

, ID

dv

, U

ps

, R

ps

, l

4u

, l

4u

) l

4u

. then verifies the equation (1) with ( , m m w , ps ) and returns 1 if i valid; otherwise returns 0.

ii) If ID dv ID * , works on all possible entries H m m 4 ( , w , ID ps , ID dv , U ps , R ps , l 4 u ) and H 4 ( , m m w , ID ps , ID dv , U ps , R ps , l 4 u , l 4 u ) for some U i .

a) For each possible entry H m m 4 ( , w , ID ps , ID dv , U ps , R ps , l 4 u ) l 4 u and

4 ( , w , ps , dv , ps , ps , 4 u , 4 u ) 4 u

H m m ID ID U R l l l for some U i , evaluates the equation (1) and returns 1(if i valid) or 0 (if i invalid) to 1 .

b) If the above operation does not lead to return an answer for 1 , then returns 0 (invalid) to 1 .

P. Verify Oracle PV ID ( u ) : 1 submits ( , m m w , ID os , ID ps , ID dv ), and ( , m m w , ps ) to . It then executes the same procedure as in D. Verify Oracle. The only difference is; when

judges ps ( W ps , V ps , k ps , ID os , R os , ) is valid (i.e., returns 1 in the D. Verify Oracle);

it returns Aid U ps r 2 ps X dv x W dv ps Y ps (say) to 1 . When judges ( , m m w , ps ) is invalid (i.e., returns 0 in the D .Verify Oracle); it returns to 1 .

- Forgery: Finally 1 outputs ( , m m * w , * ps ) where

* * * * * * * * *

( , , , , , , , )

ps W ps V ps k ps ID os PK os ID ps PK ps or ( m * w , ID os * , PK os * , ID * ps , * , * ) as its forgery.

CASE 1: The output is a valid tuple ( m * w , ID os * , PK os * , ID * ps , * , * ) satisfying case 1 as defined in Section 3.2.1. If ID os * ID * , stops simulation. Otherwise, finds the tuples

* * * * * *

( ID os , x os , PK os ), ( ID os , d os , R os ) from L Cuser , L PSK respectively and recovers x * os , PK os * . Note that the public key PK * os may be replaced by 1 . Let ( PK os * , * , *

(1)

) denote

* * *

( PK os , , ). By using Forking Lemma

25

, if we have a replay of with same random tape

References

Related documents

“Delirium” AND “Biomarker”, “Delirium” AND “Ace- tylcholine”, “Delirium” AND “Adenylate kinase”, “Delir- ium” AND “Myokinase”, “Delirium” AND “Albumin”, “Delirium”

From the above results it is concluded that improvised GZIP (LZ77 and adaptive Huffman) as approximate 18% good results in terms of compression ratio and space saving

But in the case of Intel x86-based systems, the management solution market is remarkably complex and crowded with offerings from server vendors, OS players like Microsoft and Red

This dissertation regards chlorophylls and bacteriochlorophylls as ultimate synthetic target and concerns three topics: (1) a new Northern-Southern route towards

Unfortunately, the result of adaptive subdivision when it reaches the higher level of subdivision still brings the problem with memory consumption (Pulli and Segal, 1996; Wu

The computed equivalent plastic strain as function of temperature together with the critical strain for ductility dip cracking (Alloy 52 curve in Figure 8).. Results are presented

Ground penetrating radar (GPR) usage in detecting subsurface non-metal objects is investigated as there are many factors which can affect the strength of GPR signals such

the focus of the present study is to explore how certain human resource practices might be connected to personal initiative. More specifically, the relationship between