• No results found

An Authenticatedand SecureGroup Key Transfer ProtocolwithCirculant Matrices

N/A
N/A
Protected

Academic year: 2022

Share "An Authenticatedand SecureGroup Key Transfer ProtocolwithCirculant Matrices"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

ISSN 2319-8133 (Online)

An Authenticated and Secure Group Key Transfer Protocol with Circulant Matrices

Shruti Nathani

1

and B. P. Tripathi

2

1,2

Department of Mathematics,

Govt. N.P.G. College of Science, Raipur (C.G.), INDIA.

email: [email protected], [email protected] Corresponding author: [email protected]

(Received on: November 17, 2018) ABSTRACT

Recently, many group key transfer (GKT) protocols based on Shamir's secret sharing(SSS) are proposed. In traditional, GKT protocols, first all the group members shall register themselves into a key generation center (KGC) and also at the time of registration they have to share their long-term secret password with KGC. Then KGC randomly selects a group key and securely distribute it to all authorized group members. But in many conventional GKT protocols, to generate and recover the secret group key, key generation centre (KGC) and each group member needs to compute a t-degree interpolating polynomial. In 2016, Hsu et al. gave a new and efficient GKT protocol. In their scheme information related to group key was hidden using Vandermonde matrix and to distribute the group key efficiently they employed linear secret sharing scheme on Vandermonde matrix. Inspire from Hsu et al. in this paper we present an authenticated and secure GKT protocol based on SSS with circulant matrices. Because of using circulant matrices from the point of communication and computational complexity, our protocol becomes more efficient and robust. Also, all the important security features in group communication are handle in our protocol.

Keywords: Circulant matrices, computation efficient, group key transfer protocol, secret sharing.

1. INTRODUCTION

Cryptographic protocols which deals with a group of participants are called group key

(2)

establishment protocols. With the rapid development of group oriented applications (such as group video conferences, e-learning, network communications etc.), group key establishment protocols has been studied extensively in the literature. Group key establishment protocols are often divided into two types: group key transfer protocols and group key agreement protocols

2

. Key transfer protocols rely on a mutually trusted key generation centre (KGC) to select session keys and then transport session keys to all communication entities secretly. Most often, KGC encrypts session keys under another secret key shared with each entity during registration. In key agreement protocols, all communication entities are involved to determine session keys.

In general, group key transfer protocols are more efficient then group key agreement protocols because in group key transfer protocols, a trusted KGC handles most key distribution tasks

6

.

In the past few years a large amount of research work on group key transfer protocol has been published extensively in the literatures. Secret sharing scheme which was first introduced by Blakley

4

and Shamir

1

in 1979, has been used in construction of group key transfer protocols from many years. Secret sharing has become one of the most basic building blocks in modern cryptographic research literature. In 2010, Harn and Lin

5

proposed a first authenticated GKT based on SSS. This novel GKT protocol provide confidentiality and authentication, but to distribute and recover the secret group key, KGC and each group member has to compute a t-degree interpolating polynomial. From the point of computational and communication storage this approach is become too intensive. To overcome this drawbacks recently, in 2016, Hsu et al.

2

gave a new and efficient GKT protocol. In their scheme information related to group key was hidden by Vandermonde matrix and to distribute the group key efficiently they employed linear secret sharing scheme on Vandermonde matrix.

In general this protocol drastically reduces the computation load of each group member.

In this paper we propose an efficient, secure and authenticated group key transfer protocol based on secret sharing scheme using circulant matrices. Some unique features of our proposed GKT protocol are listed below :

1. In our protocol we present an efficient computation of group keys, where group keys are generated and distributed by a mutually trusted KGC and it takes much less time than other group key transfer protocol.

2. In the proposed scheme, we use circulant matrix as a tool. Information related to group keys is hidden using circulant matrices. Thus each participating group member and KGC has to calculate only first row of the matrix. This gives us also much less computational complexity.

3. Group key is authenticated by each user and KGC. Also authentication has been done by only one message in the whole proposed protocol.

2. PRELIMINARIES A. Secret Sharing

In a secret sharing scheme, a secret S is divided into n shares and shared among a set

of n shareholders by a mutually trusted dealer in such a way that authorized subset of

(3)

shareholders can reconstruct the secret but unauthorized subset of share holders can not determine the secret. If any unauthorized subset of shareholders can not obtain any information about the secret, then the scheme is called perfect.

2

B. Circulant Matrix

3

A Circulant matrix is a square matrix where, given the first row, the successive rows are obtained by cyclically right shifting the present row by one element. Thus the row of a circulant matrix of size ( × ) is obtained by cyclically right shifting the ( − 1) row by one position, for = 2 , given the first row. Let the first row be the row vector, [ (1), (2), … . . , ( − 1), ( )]. Then the circulant matrix C is obtained as

 

 

 

 

 

) 1 ( )

3 ( )

2 (

) 1 (

) 1 ( )

(

) ( )

2 ( )

1 (

c c

c

n c c

n c

n c c

c C

The most important property of circulant matrices is they are multiplicatively commutative.

C. SSS based on Circulant matrix

Suppose we take a group of n participants (1 ≤ ≤ ) and is the private secret of each user (1 ≤ ≤ ). So, in SSS based on circulant matrices there are share holders

= { , ,

,

⋯ , } and a mutually trusted keygeneration center KGC. Actually, this scheme consist of two algorithms:

Share generation Algorithms

KGC first picks all the shared secrets ′ of each user and form circulant matrices {[ ], [ ], ⋯ , [ ]} of each user (1 ≤ ≤ ).

  (

1

,

2

, , )

1 3

2

1 1

2 1

n i i

i

i i

i

n i i

n i

n i i

i

i

Circ x x x

x x

x

x x

x

x x

x

C

 

 

 

 

and then calculate shares of each user (1 ≤ ≤ ) by computing

[ ]

, ,

⋯ =

Thus, this algorithm outputs with a list of share { , , ⋯ , }.

(4)

Secret Reconstruction Algorithm

This algorithm takes all n shares { , ,

,

⋯ , }. Each participating member has long term private key and public vector → = (

,

, ⋯ )as inputs and outputs the secret

= + + ⋯ +

by computing each product

= , , ⋯ , . ( ,

,

⋯ ),

for each , 1 ≤ ≤ .

3. PROPOSED PROTOCOL

We assume that there are members in a group {1,2, ⋯ , }. The detail steps are as follows:

User Registration

Each user is required to register at the KGC for subscribing the key distribution service. The KGC keeps tracking all the registered users and removing any unsubscribed users.

During the registration each user shares his/her long term secret ∈ with KGC in a secure manner. KGC publishes ℎ(. ) .

Group Key Generation and Distribution

Suppose a group of members { , , ⋯ } and the shared secrets are , , ⋯ , . The key generation and distribution process contains five steps.

1. The initiator sends a key generation request to KGC with a list of group members as { , , ⋯ , }.

2. KGC broadcast the list of group members { , , ⋯ , } as response.

3. Upon receiving the response from the KGC, each participating group member { } selects a random number ∈ and send it to KGC.

4. KGC randomly selects a group key ∈ ( ≠ ∑ ). Now KGC computes the secret of each user by computing the product

[ ]

, ,

⋯ =

i t

t i i

i

x x Circ r r r s

x

Circ (

1

,

2

,  , ). (

1

,

2

,  , ) 

 

 

 

 

1 3

2

1 1

2 1

i i

i

t i i

t i

t i i

i

x x

x

x x

x

x x

x

 

 

 

 

1 3

2

1 1

2 1

r r

r

r r

r

r r

r

t t

t

=

(5)

Here, is also a circulant matrix. After computing the secret of each user , KGC also computes theadditional values , 1 ≤ ≤ ,

such that = − , where = ( , , ⋯ )

and the value of

) , ,

, , , , , ,

( K

G

U

1

U

t

r

1

r

t

u

1,

u

t

h

Auth    

At last, KGC broadcast { ℎ, } for = 1 to all group member.

5. Now each participating group member , for = 1 knowing their corresponding public value , is able to compute the product

[ ]

, ,

⋯ =

and recover the group key by computing

= ( + ) which is of the form

= ( , , ⋯ )

Afterwards, each (1 ≤ ≤ ), computes

) , , , , , , , , ,

( 1 1 1

*

t t

t

G U U r r u u

K h

Auth    

,

and then checks the hash value , ℎ = ℎ

.

If this result is correct then each group user , (1 ≤ ≤ ) authenticates the group key is sent from KGC.

4. AN EXAMPLE

In our example, we suppose a group of 5 users {

,

, , , } want to generate a secure group communication.

User Registration

During the registration each user , 1 ≤ ≤ 5, shares his/her long term secret ∈ with KGC. Suppose shares = 2, shares = 4, shares = 1, shares = 8 and shares = 10 in a secure manner. KGC publishes ℎ(. ).

Group Key Generation and Distribution

1. Suppose (initiator) sends a key generation request to KGC with a list of group members as {

,

, , }.

2. KGC broadcast the list of group members {

,

, , , } as a response.

3. Upon receiving the response from the KGC, each participating group member selects a random number.

Suppose selects = 2, selects = 3, selects = 5, selects = 7 and

selects = 1 and send it to KGC.

(6)

4. Now KGC randomly selects a group key = 100. To compute the secrets of each user , first KGC has to make circulant matrices of each participated group user {

,

, , , } with their corresponding shared secret value

10 ,

8 , 1 , 4 ,

2

2 3 4 5

1

xxxx

x .

That is,

).

100000 , 10000 , 1000 , 100 , 10 ( ) 10 , 10 , 10 , 10 , 10 (

) 32768 , 4096 , 512 , 64 , 8 ( ) 8 , 8 , 8 , 8 , 8 (

) 1 , 1 , 1 , 1 , 1 ( ) 1 , 1 , 1 , 1 , 1 (

), 1024 , 256 , 64 , 16 , 4 ( ) 4 , 4 , 4 , 4 , 4 (

), 32 , 16 , 8 , 4 , 2 ( ) 2 , 2 , 2 , 2 , 2 (

5 4 3 2 1 5

5 4 3 2 1 4

5 4 3 2 1 3

5 4 3 2 1 2

5 4 3 2 1 1

Circ Circ

C

Circ Circ

C

Circ Circ

C

Circ Circ

C

Circ Circ

C

Therefore,

= [ ] ( , , , , ),

= (2,4,8,16,32) (2,3,5,7,1),

= (240,294,278,122,182).

= [ ] ( , , , , ),

= (4,16,64,256,1024) (2,3,5,7,1),

= (4824,7020,7620,1836,3252).

= [ ] ( , , , , ),

= (1,1,1,1,1) (2,3,5,7,1),

= (18,18,18,18,18).

= [ ] ( , , , , ),

= (8,64,512,4096,32768) (2,3,5,7,1)

= 122448 , 193176 , 234728 , 42872 , 80840 .

= [ ] ( , , , , )

= (10,100,1000,10000,100000) (2,3,5,7,1)

= 357120 , 571230 , 712350 , 123570 , 235710 . Now KGC computes the five additional values,

= − = (100, 100 , 100 , 100 , 100 ) − (240,294,278,122,182)

= (−140,9706,999722,99999878, 9999999818).

= − = (100, 100 , 100 , 100 , 100 ) − (4824,7020,7620,1836,3252)

= (−4724,2980,992380,99998164,9999996748).

(7)

= − = (100, 100 , 100 , 100 , 100 ) − (18,18,18,18,18).

= (82,9982,999982,99999982, 999999999982).

= −

= (100, 100 , 100 , 100 , 100 ) − 122448 , 193176 , 234728 , 42872 , 80840

= (−122348, −183176,765272,99957128,9999919160)

= −

= (100, 100 , 100 , 100 , 100 ) −

357120 , 571230 , 712350 , 123570 , 235710

= (−357020, −561230,287650,99876430,9999764290).

And the value of

ℎ = ℎ = 100, { , , , , }, , , , , , , , , , . Thus, KGC broadcast { ℎ, , , , , } to all the group members.

5. At last to compute the common group key, each participating group member

,

1 ≤ ≤ 5, has to solve the equation

= ( + ), 1 ≤ ≤ 5;

Where ( 1 ≤ ≤ 5), are the public values broadcast by the KGC and (1 ≤ ≤ 5) are the private secrets of each user . Also each user (1 ≤ ≤ 5), knowing the random challenges (1 ≤ ≤ 5). Hence , each participating group user

,

is now able to compute the common secret group key by computing which is of theform

= , , , , .

Therefore, User computes,

= [ ] ( , , , , ),

= (2,4,8,16,32) (2,3,5,7,1),

= (240,294,278,122,182).

So, = ( + )

= (−140,9706,999722,99999878, 9999999818) + (240,294,278,122,182)

= (100,10000,1000000,100000000,10000000000)

= (100, 100 , 100 , 100 , 100 )

Thus, = 100.

User computes,

= [ ] ( , , , , ),

= (4,16,64,256,1024) (2,3,5,7,1),

= (4824,7020,7620,1836,3252).

(8)

So,

= ( + )

= (−4724,2980,992380,99998164,9999996748) + (4824,7020,7620,1836,3252)

= (100,10000,1000000,100000000,10000000000)

= (100, 100 , 100 , 100 , 100 )

Thus, = 100.

User computes,

= [ ] ( , , , , ),

= (1,1,1,1,1) (2,3,5,7,1),

= (18,18,18,18,18).

So,

= ( + )

= (82,9982,999982,99999982,9999999982) + (18,18,18,18,18)

= (100,10000,1000000,100000000,10000000000)

= (100, 100 , 100 , 100 , 100 )

Thus, = 100.

User computes,

= [ ] ( , , , , ),

= (8,64,512,4096,32768) (2,3,5,7,1)

= (122448,193176,234728,42872, 80840) So,

= ( + )

= (−122348, −183176,765272,99957128,9999919160) + (122448,193176, 234728,42872,80840)

= (100,10000,1000000,100000000,10000000000)

= (100, 100 , 100 , 100 , 100 )

Thus, = 100.

User computes,

= [ ] ( , , , , ),

= (10,100,1000,10000,100000) (2,3,5,7,1)

= 357120 , 571230 , 712350 , 123570 , 235710 . So,

= ( + )

= (−357020, −561230,287650,99876430,9999764290) + (357120, 571230,712350,123570,235710),

= (100,10000,1000000,100000000,10000000000)

= (100, 100 , 100 , 100 , 100 )

Thus, = 100.

Afterwards, each user (1 ≤ ≤ 5) computes

= ℎ( = 100, , , , , , , , , , , , , , , )

(9)

And then checks the hash value , ℎ = ℎ

.

Here, we see that this result is correct for each group user (1 ≤ ≤ 5).

Thus, each group user authenticates the group key = 100 is sent from the KGC.

5. SECURITY ANALYSIS

Theorem 5.1. The proposed protocol can achieve key freshness, key confidentiality and key authentication.

Proof: Key Freshness: In our proposed protocol for each new communication session a new group key is selected by the KGC. In addition, to compute the group key , each group user

(1 ≤ ≤ ) has to calculate = ( + ), where

= , , ⋯ , . ( ,

,

⋯ ),

is a function of random challenges , ( 1 ≤ ≤ ) selected by each group member (1 ≤

≤ ) for each new communication service request . Thus, it is obvious that the group key will be different for each new communication session.

Key Confidentiality: In our proposed scheme, in step 4 each participating group member (1 ≤ ≤ ) uses his/her long term secret

= , , ⋯ , . ( ,

,

⋯ ).

This shared secret value assured that only authorized group member is able to recover the secret group key which is of the form = ( , , … … , ), where, = ( + ).

Thus any unauthorized member knows nothing about the group key since there are only values = ( − ) available for him/her and he/she obtains no information about since

≠ ∑ . Hence, key secrecy is provided due to the security feature of secret sharing scheme based on circulant matrices.

Key Authentication: In key distributing phase the KGC also compute ℎ with the secret group key and all members random challenges as in input and broadcast this value of ℎ to all group member . Thus, group key can be authenticated by each group member

(1 ≤ ≤ ) , it ℎ

= ℎ , in step 5.▄

Theorem 5.2. (Insider attack)

Suppose that the protocol runs successfully many times, then secret of each group member shared with initiator still remains unchanged(or unknown) to all group members(and out siders).

Proof: At the time of registration, each participating group member shared his/her long term secret key only with KGC (a trusted authority). For each new communication session a new group key is selected by KGC and makes values = ( − )( = 1, … . , ) publicly known. Then each authorized group member knows their shared secret with KGC and public values is able to compute the group key which is of the form

= ( , , ⋯ , ).

Since , = + , where , = , , ⋯ , . ( ,

,

⋯ ).

(10)

Therefore, the secret ∈ of each group member shared with KGC remains unknown to outsiders and also each authorized group member is able to recover the group key but not able to obtain other member’s long term secret . Thus, our proposed protocol resist against insider attack. ▄

Theorem 5.4. (Forward Backward Secrecy) The proposed protocol provide backward and forward secrecy, that is newly joined members cannot recover the old group keys and those old members who left the group can not access the current group key.

Proof: For every new session, whenever some old members leave or new members join a group, the KGC needs to select and distribute a new group to all the current group members.

In the proposed scheme the group key K is derived from the current group members long term secrets ′ and fresh random challenges , (1 ≤ ≤ ). Also, the whole computation is totally depends on the number of members in the current group. Thus, the newly joined members can recover the current group key but can not recover the previous group keys and those old members who left the group can not recover the current group key. Thus, our protocol achieves both forward and backward secrecy of group communication.

6. CONCLUSION

Our proposed group key transfer (GKT) protocol using circulant matrices is efficient, secure and authenticated. As we are using circulant matrices as a tool, in our GKT protocol which takes much less time than other existing group key transfer protocol. Also, our protocol satisfies all the required security attributes and the confidentiality of our proposed protocol is unconditionally secure.

REFERENCES

1. A. Shamir, “How to share a secret ”, Commun. ACM vol. 22, no. 11, pp. 612-613, Nov. (1979).

2. C.F. Hsu, L. Harn, Y. Mu, M. Zhang, X. Zhu, “Computation efficient key establishment in wireless group communications ”, Wireless Network 23, 289-297, (2016).

http://doi.org/10.1007/s11276-016-1223-1.

3. C. Rajarama, J. N. Sugatoor, T. Y. Swamy, “Diffie-Hellman type key exchange, ElGamal like encryption/decryption and proxy re-encryption using circulant matrices”, International Journal of Network Security, vol. 20, No. 4, PP. 617-624, July (2018).

4. G. R. Blakely, “Safegaurding cryptographic keys”, in proc. AFIPS 1979, National computer conference, pages 313-317. AFIPS, (1979).

5. L . Harn, C. Lin, “Authenticated group key transfer protocol based on secret sharing”, IEEE Trans. Comuter 59(6), pp. 842-846, (2010).

6. Y. J. Liu, L. Harn and C. C. Chang, “An authenticated group key distribution mechanism using theory of numbers”, International Journal of Communication Systems, vol. 27, no.

11, pp.3502-3512, Nov. (2014).

References

Related documents

After chicken osteoclasts were cultured for 5 d in a medium containing supernatant from transfected CEFs, the percentage of osteoclast apoptosis was increased significantly,

In order to determine whether transfection with SRA was suf- ficient to confer the serum resistance phenotype, transfected cells were incubated with increasing concentrations of

eBook Collection (EBSCOhost) , EBSCO host. Murray Schafer - Complete Catalogue Holdings.” Canadian Music Centre | Centre De Musique Canadienne. Toronto: Canadian Music Centre,

Iskander, “A MNG-TL loop antenna array with horizontally polarized omnidirectional patterns,” IEEE Transactions on Antennas and Propagation

The decay heat generated during any reactor scram is transported to the condensation pool from the primary system through the (314) safety relief valves and from

Our title derives from a nick- name given to Grant by his former students: the ‘‘King- pin.’’ Grant’s research career (and research students) can be roughly divided into

We aim to apply association rule mining to electronic medical records (EMR) to discover sets of risk factors and their corresponding subpopulations that represent patients at

These data strongly supported the existence of a large num- ber of suppressors of defective silencing (SDS) genes. In a second screen for sds mutants, potential