1. Trang chủ
  2. » Khoa Học Tự Nhiên

Báo cáo hóa học: " Research Article Controlled Delegation Protocol in Mobile RFID Netwo" doc

13 256 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

To achieve off-line delegation for mobile readers, we propose a delegation protocol for mobile RFID allowing its readers access to specific tags through back-end server.. Mobile RFID’s au

Trang 1

Volume 2010, Article ID 170150, 13 pages

doi:10.1155/2010/170150

Research Article

Controlled Delegation Protocol in Mobile RFID Networks

Ming Hour Yang

Information Computer Science, Chung Yuan Christian University, Chung Li 32023, Taiwan

Correspondence should be addressed to Ming Hour Yang,mhyang@cycu.edu.tw

Received 11 May 2010; Revised 14 August 2010; Accepted 20 September 2010

Academic Editor: Ibrahim Develi

Copyright © 2010 Ming Hour Yang This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited

To achieve off-line delegation for mobile readers, we propose a delegation protocol for mobile RFID allowing its readers access

to specific tags through back-end server That is to say, reader-tag mutual authentication can be performed without readers being connected to back-end server Readers are also allowed off-line access to tags’ data Compared with other delegation protocols, our scheme uniquely enables back-end server to limit each reader’s reading times during delegation Even in a multireader situation, our protocol can limit reading times and reading time periods for each of them and therefore makes back-end server’s delegation more flexible Besides, our protocol can prevent authorized readers from transferring their authority to the unauthorized, declining invalid access to tags Our scheme is proved viable and secure with GNY logic; it is against certain security threats, such as replay attacks, denial of service (DoS) attacks, Man-in-the-Middle attacks, counterfeit tags, and breaches of location and data privacy Also, the performance analysis of our protocol proves that current tags can afford the computation load required in this scheme

1 Introduction

In recent years, Radio Frequency Identification (RFID) has

been widely used in security control, process monitoring,

medical management and e-ticket, and so forth The

struc-ture of RFID includes three parts: tag, reader, and back-end

database Tags can be divided into two categories: active tags

and passive tags An active tag is equipped with a battery

and therefore can power itself without the power from

readers’ radio It can do more computation and has a wider

communication range, compared with passive tags However,

due to its higher costs and battery limits, it is not so popularly

used as a passive tag, which is not confined by battery life

and less costs Therefore, passive tags are commonly used in

RFID systems, despite its limited computation ability and

power source from reader sensing Besides, a traditional

fixed reader has a bigger antenna for tag sensing and wider

communication range but is not suitable for every occasion

Hence, a mobile reader has been developed in recent

years to combine mobile technology with traditional RFID

systems, through the integration of reading chips, PDA, and

mobile devices, hence mobile RFID [1 4] The mobile RFID

system that Lee and Kim [1] propose already sketches a

basic structure, whose communication steps are illustrated

inFigure 1

Step 1 A mobile reader queries a tag and receives its

feedback

Step 2 After the feedback, the mobile reader forwards it to

an authentication server (AS) to verify the tag’s identity

Step 3 If the tag is verified, the AS will query an object

name server (ONS) about the tag’s uniform resource location (URL)

Step 4 The ONS sends the tag’s URL to the AS.

Step 5 The AS requests an object information server (OIS)

for the tag’s information

Step 6 The OIS sends the requested information to AS Step 7 The AS forwards the tag’s information to the mobile

reader

Because a passive tag’s computation is quite limited [5

8], attackers can easily access the tag Once it is not able to verify a reader’s identity, certain security issues rise, such as replay attacks, Man-in-the-Middle attacks, distributed denial

of service (DDoS) attacks, counterfeit tags, and bleaches of privacy

Trang 2

AS (authentication server)

ONS (object name server)

OIS (object information server)

(3) (4) (5) (6) (7)

Database

Tag Mobile reader

Figure 1: Structure of Mobile RFID

Mobile RFID’s authentication requires that a reader

access a tag and verify the tag’s returned messages through

back-end server [9 11] However, interruption of the

authentication happens due to unstable network connection

or moving of the reader For this reason, off-line delegation

schemes [12–16] have been developed in recent years

allowing a reader partial authority, so that it can verify a

tag’s messages directly Lee and Li [15] use a time stamp for

access control and multireading issue, and solve the problem

that a tag may be accessed by several delegated readers at the

same time However, Lee’s scheme cannot limit each reader’s

reading times Further, in this protocol, an authorized

reader may transfer the delegation authority to unauthorized

readers without permission, allowing unauthorized readers

to access the tag Besides, malicious users can modify the

time stamp sent from a reader, so that the time stamp that

a tag receives is superior to the tag’s Then the tag sends to

the reader a request for updating keys Receiving the request,

the reader sends it back to back-end server to renew the tag’s

keys and to generate a new delegation table for the reader

When receiving the new delegation table, the reader updates

its table and the tag’s information and sends the information

to the tag Following these, the tag checks the time stamp first

and therefore will not renew the key As a result, authorized

readers are not able to access the tag

In Fouladgar’s delegation protocol [14], he adds random

numbers to messages and makes the attackers unable to

use the intercepted data to carry out replay attacks because

they do not have the required facilities to convert the data

Neither can the attackers launch Man-in-the-Middle attacks

by generating any valid messages for tags or readers Thus,

the system will not get paralyzed because of the asynchrony

between readers and tags Besides, Fouladgar uses a counter

to limit a reader’s delegation and reading times However,

when a reader sends a query to a tag, the tag does not

verify the query If attackers keep sending queries to a tag,

the tag’s counter increases, which unfortunately decreases

an authorized reader’s opportunities for delegation and

reading When the counter reaches a limit, the reader can

no longer access the tag and renew its keys Meanwhile, if a

legitimate tag renews its key at this moment, even the original

reader is not able to access the tag Hence, this protocol

does not apply to a multi-reader situation or to mobile

RFID networks Since Dimitrou’s delegation protocol [16] is

designated for mobile readers, it can be applied in a mobile RFID environment However, back-end server’s authority delegation to readers is not automated and consequently causes some troubles when the server tries to delegate several readers at a time Also, this scheme does not set any reading limits for readers

Delegation protocols mentioned above do not com-pletely apply to mobile readers and fail to prevent read-ers from transferring delegation messages to unauthorized readers Also, when delegating multireaders simultaneously, these protocols have no control over each reading in spite

of the limitation of reading times As a result, one reader may read too many times and put other readers at a disadvantage To deal with authorized readers’ fair reading and mobile readers’ authentication issues, we propose a delegation protocol that can be applied in a mobile RFID and multi-reader environment, allowing multireaders to perform mutual authentication through back-end server and to get access to specific tags We limit each reader’s reading times according to its authority and, further, restrict its reading time periods (how long it can read) When delegation expires

or authorized readers transfer delegation messages to the unauthorized, readers’ access to a tag will be declined More-over, our protocol can secure against certain security threats, such as replay attacks, DDoS attacks, Man-in-the-Middle attacks, counterfeit tags, and breaches of location privacy

and details how to delegate a reader group and to limit each reader’s reading times.Section 3presents the security analysis of our protocol and compares it with that of other related schemes Conclusion is drawn inSection 4

2 Delegation Protocol with Limits on Reading Times

When a mobile reader is in an off-line access situation, we try to limit its reading times Hence, we propose a protocol that is capable of delegation and off-line authentication in

a mobile RFID network As Figure 2 illustrates, back-end server delegates multireaders, and then the readers can read the tags even when they are not connected to the server Thus, during the off-line access, readers do not need to connect back-end server to identify the tags They simply can achieve mutual authentication with the tags in an off-line situation

Trang 3

Reader

RID j

RID1

RID11

TID1

TID2

TID2

2

3 5

i

(a) Back-end database delagating readers

TID1

TID2

TID3

TID5 RID1

RID11 RID3

(b) Authorized readers’ o ff-line reading of tags

Figure 2: Delegation in a mobile environment

Table 1: Access control list ofTID2

(a) Initial state ofRlist2

(b)Rlist2 after readers’ reading

11 =15

In addition, in our protocol, one reader’s reading times of a

specific tag will not be influenced by other readers’ reading

of it

As shown in Figure 2, because back-end server and

readers have better computation, communication between

the server and delegated readersRID1,RID2, , RID j can

be encrypted with AES [17] or 3-DES For this reason,

we assume that the channel between back-end server and

readers is secured and use the channel for delegation, so as

to acquire a tag’s access and reading times After delegation,

reader RID1 and tags TID1, TID2 are able to do off-line

authentication, and the reader can even access the tags’ data

through an insecure channel now, as shown inFigure 2(b)

ReadersRID3andRID11also use this channel to access tags

TID2,TID3, andTID5

Our protocol consists of three phases Phase 1 is

initial-ization, that is, preliminary work for tags, readers, and

back-end server Phase 2 deals with the body of our delegation

protocol, how back-end server delegates a group of readers

Phase 3 is about off-line authentication, explaining how we

limit readers’ reading times in an off-line situation and how

we allow them off-line access to tags

2.1 Phase 1 Initialization In order for tags and readers

to recognize each other when doing off-line authentication

of tags, tags should be able to compute hash and generate random numbers, and there must be enough storage for the access control list (ACL) that has the access to the tag In addition, during initialization, each tagTID iis supposed to have its time stampTS ito check if the delegated readers have expired, whose initial state TS i = 0 indicates that all the legitimately authorized readers can read the tag Also, the tag

TID ihas to share two secret keys with the back-end database Because the length of hash chains [18] can be unlimited, our protocol does not take it into consideration that keys will run out Hence, after initialization, tags have an empty ACL

Rlist i, which stores the information including each reader’s number, reading times, and the allowed maximum reading times For example, when an unauthorized reader tries to access tagTID2,Rlist2 contains no information, as shown

inTable 1(a) However, when an authorized reader accesses tagTID2,TID2will put the reader’s information intoRlist2

AsTable 1(b) shows, when accessing tagTID2, the allowed reading times for readersRID1,RID11, andRID3are 10, 15 and 10 times, respectively InTable 1(b), readerRID1reads tag TID2 first After RID1 reads the tag twice, TC2 = 2 and then RID11 reads TID2 Thus, in Table 1, we will see readerRID11 and its reading timesTC2

11, and the allowed maximum reading times MaxTC2

11 are all included in the control listRlist2 Next, readerRID1readsTID2three times,

RID11readsTID2fourteen times, andRID3readsTID2 Tag

TID2 then putsRID3’s information intoRlist2 At last, the content ofRlist2is shown inTable 1(b) We will detail how ACL changes inSection 2.3

To run our off-line authentication protocol, RIDjneeds

to receive the delegation table (Table 2) first from back-end database In the initial state, RID j has not delegated

Trang 4

Table 2:RID11’s delegation table.

Delegation table

11 =0

SignRT2 =H(TKcur

2 ⊕TID2 ⊕RID11)

RK2

11 =H n(TKcur

2 ⊕RID11)⊕G(H n(TKcur

2 ⊕RID11))

MaxRK2

11 =H n(TKcur

2 ⊕RID11)⊕G p(H n(TKcur

2 ⊕RID11))

11 =0

SignRT3 =H(TKcur

3 ⊕TID3 ⊕RID11)

RK3

11 =H n(TKcur

3 ⊕RID11)⊕G(H n(TKcur

3 ⊕RID11))

MaxRK3

11 =H n(TKcur

3 ⊕RID11)⊕G p(H n(TKcur

3 ⊕RID11))

11 =0

SignRT5 =H(TKcur

5 ⊕TID5 ⊕RID11)

RK5

11 =H n(TKcur

5 ⊕RID11)⊕G(H n(TKcur

5 ⊕RID11))

MaxRK5

11 =H n(TKcur

5 ⊕RID11)⊕G p(H n(TKcur

5 ⊕RID11))

Request table, RID j

Database Reader RID j

Delegation new table

Figure 3: The Process that readers obtain the delegation table from

back-end database

the table by back-end database, so the table will be empty

Also, readers send request to the back-end database for

authentication information that the delegation table needs

Back-end database has tags’ identification setT =

{(TID i,TKcur

i ) | i = 1 ∼ x}, which includes tags’

numbers, current secret keysTKcur

i used to generate session keys for readers to read tags, and next secret key for use

TKnext

i When tags run out of keysTKcur

i , tags and back-end database will adopt the autorenewal approach, proposed by

Zhang and Zhu [18] and then use as the next keyTKnext

i

the new key that TKcur

i generate Meanwhile, the oldTKnext

i is treated as the current keyTKcur

i Back-end database, on the other hand, needs to save the set of readers’

informationR= {(RID j,RC i

j)|i=1∼x, j =1∼ y} The counterRC iindicates the reading times thatRID jis allowed

(by back-end database) to read the tagTID i As readers have

not read tags yet after initialization, thusRC i =0 The next

section will deal with the protocol we propose that which

allows back-end database to delegate the access to readers,

so that readers are authorized to read and identify tags

2.2 Phase 2 Delegation Protocol In the mutual

authentica-tion protocol between tags and readers, we propose, they

need to authenticate each other without back-end database

and only the authorized readers can access the tag For this

reason, we require that readers be delegated directly by

back-end database (Figure 3)

When RID j fails to obtain the delegation table or the

table is invalid, the reader will send Request Table to

back-end database for it Receiving the request, back-back-end database

Table 3: Notations

TKcur

i TID i’s session key in the current session

TKnext

i TID i’s session key in the next session

TC i Counter on tag’s part, countingRID j’s queries to

TID i

RC i Counter on reader’s part, countingRID j’s queries

toTID i

MaxTC i RID j’s maximum queries toTID i

Rlist i

Access control list,

Rlist i= {RID j,TC i,MaxTC i}, used to store readerRID j’s identity, reading timesTC i, and the maximum queriesMaxTC i

TS i TID i’s time stamp

RK i Session key shared betweenTID iandRID j

H(), G() Hash functions

then gives the reader a time stamp RS i to access the tag

TID iaccording to the reader’s reading authority Further, it uses the time stamp, tag’s secret keyTKcur

i , and the reader’s number RID j to generate the session key RK i when the reader accesses the tag, that is,

RK i

j=H nRS i+1

TKcur



G P

H nRS i+1

TKcur



.

(1)

The formula RK i includes two parts H nRS i+1(TKcur

RID j) andG P(H nRS i+1(TKcur

iRID j)) to prevent readers’ illegitimate alteration of the times of reading tags Due to the lack of tags’ keyTKcur

i , readers are unable to generate the messageH nRS i+1(TKcur

iRID j) with the keyTKcur

time stampRS ifrom back-end database As inFigure 4, our protocol will run the hash functionH() n times along the x-axis, generating n time stamps Likewise, it will run the

hash function G() p times along the y-axis and come to

Trang 5

RS i= 1

RID j)

G()

G()

RID j))

RID j))

Direction of time-stamps

H()

RS i= 1, the session key in first reading

RID j)

G(H n (TK cur i

RID j))

RS i= 1, the session

key when RID jreads

TID iforP times

RID j)

RID j))

RS i=n

RID j)

G()

G()

RID j))

G P (H(TK

RID j))

H()

RS i=n, the session

key in first reading

RID j)

RID j))

RS i=n, the session

key when RID jreads

TID iforP times

RID j)

G P (H(TK

RID j))

RID j

cur

i

cur

i

cur

i

cur

i

cur

i

cur

i

cur

i

cur

cur

i

cur

i

cur

i

cur

i

Figure 4: Stages of session keyRK i

Table 4: The change ofRlist2and the corresponding responses of the reader inStep 3

TID2 =52,TKcur

11,MaxRK2

11

TS2 Rlist2:{RID j, TC2

j, MaxTC2

11

Rlist2afterStep 3

11 =0 MaxTC2

11 =15

11 =4 MaxTC2

11 =15

Rlist2afterStep 3

11 =5 MaxTC2

11 =15

Rlist2afterStep 3

11 =0 MaxTC2

11 =15

the resultG P(H nRS i+1(TKcur

iRID j)) Further, we combine the two parts and then find the key MaxTC i when reader

RID j reads the tag TID i for the maximum times p In

Figure 4, when time stampRS i =1, back-end database uses

the hash functions H() and G() to obtain the session key

RK i = H n(TKcur

iRID j)) when the reader reads the tagTID ifor the first time Besides,

back-end database, according to the maximum reading times p,

will also run the hash functionG() p times to generate the

keyMaxRK i=H n(TKcur

iRID j)⊕G P(H n(TKcur

when the reader reads the tag for the maximum times

After generating the session key, back-end database

begins to create a delegation table for readers (Table 2)

This table includes readerRID j, tagTID i, current system’s

time stamp RS i, reader’s reading times RC i, shared secret

SignRT i, the session keyRK i

j used to read tags, and the key

MaxRK i for checking reader’s maximum reading times In

the delegated information, SignRT i is a shared secret for readers to indentify tagTID i It is created by tag’s keyTKcur

tagTID i, and readerRID j, that is, SignRT i = H(TKcur

TID iRID j) To prevent authorized readers from delegating the others, we add in readerRID jintoSignRT i

For instance, when receiving RID11’s Request Table

(Figure 2(a)), back-end database will create a delegation table (Table 2) that can readTID2,TID3, andTID5 In the delegation table, the two keys that readerRID11 reads ((1) tagTID2’s session keyRK2

11; (2) the keyMaxRK2

11—checking reader’s maximum reading times) are generated by back-end database In addition, back-back-end database uses current time stampRS2, tag’s secret keyTKcur

2 , and readerRID11to generate current time stamp’s session key IfRS2 = 1, then

RK2

2 ⊕RID11)) As for

MaxRK2

11, it is the key thatRK2

11is going to read at thep time;

therefore,MaxRK2

RID )) When the reader reads the tag the second time,

Trang 6

Table 5: Comparison of authentication protocols.

Lee and

Li [15]

Fouladgar and Afifi [14]

Dimitrou [16]

Our scheme Prevention of replay

Prevention of

Man-in-the-middle

attack

Off-line

Mutual

Limitation of each

reader’s reading

times

Prevention of

reader’s transfer of

delegation

Compatibility with

the session key stored on the reader will then be updated as

RK2

andTID5will generate session keys in the same way

After receiving the delegation table from back-end

database, reader RID11 is able to read tags TID2, TID3,

andTID5and then check the validity of the messages that

the tags return Meanwhile, the reader’s time stamp that we

propose is delegated by back-end database, andTID2’sTS2

is therefore updated by the reader Once the reader reads the

tag, its time stamp will synchronize with back-end database

If the tag’sTS2 = 5, only when the reader’sRS2 = 5 can

the reader read this tag; if one of the readers is in the state

that RS2 = 6, the tag will test the reader and update the

tag toTS2 =6 (no matter whether the reading times reach

the maximum) RID11’s delegation table is then generated

according to the setting of back-end database, allowing the

reader to read the tag in compliance with its delegated power

The detailed approach and what information is used by

back-end database to control the reading times will be discussed

inSection 3 We use the notations summarized inTable 3to

help illustrate the protocol throughout this paper

2.3 Phase 3 Off-Line Mutual Authentication Protocol After

acquiring the delegation table through the delegation

proto-col, readers are capable of off-line reading of tags and able

to limit the reading times in accordance with the delegation

table from back-end database When reader RID j tries to

read the tagTID i that has been authorized access by

back-end database, mutual authentication (based on the protocol

of tag’s off-line authentication as shown inFigure 5) must be

done first and thenRID jhas to confirm its reading times If

the reading times are below back-end database’s limitation,

RID j is allowed to read and identify the tag The detailed protocol and steps are as follows

Step 1 When reading the tag, reader RID j also sends out

Request, its own ID (RID j), and the random numberr0 to

the tag Receiving the Request message, tag TID iuses its own secret keyTKcur

i , itself, andRID jto generate the tag’s shared secretSignRT

iTID iRID j) Next, it creates authentication information M

1 = G(SignRT

ir0r1) with

SignRT

i as well as random numbersr0andr1using operator

“” to concatenate them as a string, so thatRID jis able to use that information to identify the tag that it is reading.RID jis included in the secret key to keep the unauthorized readers from acquiringSignRT

i and then reading the tag

Step 2 After RID j receives the tag’s information, it uses

TID i’s shared secret SignRT i in the delegation table and random numbersr0andr1 of this session to createM1 and then compares it withM

1 (sent by the tag) so as to check the validity of tag TID i If the outcome of authentication

is positive,RID jsubsequently takesTID i’s session keyRK i

from the delegation table,RID j’s current reading timesRC i,

r0, andr1to generateM

2 =G(RK iRC ir0⊕r1), which allows the tag to limitRID j’s reading times Further, it sends

to the tagM

2,RS i,RC i, andMaxR If the tag fails to pass the

authentication,RID jwill take random numbers as seeds to generate falseRS i,RC i,M

2, andMaxR and send them to the

tag in order to prevent from guessing attacks

Step 3 According to the reader and time stamp, tag TID iis going to generateRK i when receiving the reader’s feedback With RK i, RC i, r0, and r1, TID i creates M2 and then compares it withM

2that it has received IfRS iandRC i

jare correct inM

2,RID jis authenticated Then, we will deal with three situations in terms of time stamp

First IfRID j’s time stampRS iis bigger than the tag’s time stampTS i and the received reading timesRC i = 0,

it means the tag’s time has not synchronized with the system, and reader RID j has not read the tag after receiving the new delegation table Therefore, tagTID i needs to update its time stampTS ito the system’s time RS i and refresh its access control list

Rlist i Furthermore,TID iwill setRID j’s counterTC i

as zero, calculate (according toMaxTC i that it has received)RID j’s maximum reading timesMaxTC i =

P, and incorporate RID j, TC i and MaxTC i into

Rlist i Second When TID i’s time synchronizes with the system

and the tag has been read, RID j will be saved in

Rlist i Then TID i checks RID j’s reading times If

MaxTC iRC i, which means that the reading times have not reached the maximum, it will check whether

RC i synchronizes withTC i If not, it means that the tag did not receive the message for update inStep 4

TID i, therefore, synchronizes the counters RC i =

TC i

Trang 7

Table 6: Comparison of average computation of a reader and tag.

TID i , TK , TS i

Rlist i= {RID j , TC i , MaxTC i}

Generater0 Generater1

RID j)

M1,r1

M2, RS i,

RC i , MaxR

M3, TC i , URK

M4, URC

RID j , RK i , MaxRK i,

TID i , RC i , RS i , SignRT i

Request, RID j,r0

cur

i

cur

i

cur

If (M1=M1) {

M2=G(RK i

RC i

r0 ⊕

r1 )

MaxR=G(MaxRK ir0 ⊕r1 )

} Else {

Generater RS,r RC,r RK,r MaxRK

RS i=r RS , RC i=r RC

M2=G(r RK

r RC

r0 ⊕

r1 )

MaxR=G(r MaxRKr0 ⊕r1 ) }

M1=G(SignRTir0 ∥r1 )

flag=true

RC ir0 ⊕r1 )

If (M2=M2) {

If ((RS i > TS i) ∧(RC i = 0)) {

}Else if ((RS i=TS i) ∧(RID jRlist i) ∧(MaxTC iRC i)) {

If (RC i > TC i){TC i =RC i} }Else if ((RS i=TS i) ∧(RID j/ Rlist i) ∧(RC i = 0)) {

Rlist i=Rlist i+ {RID j, 0,P} } Else {flag=false}

} Else {flag=false}

TS i=RS i , Rlist i=φ, Rlist i=Rlist i+ {RID j, 0,P}, TK =H(TK )

URK)

If ((RC i=TC i) ∧(M3 =M3)) {

RK i =RK i

r0

r1

M4=G(RK i

r0 ⊕

r1 )

r0 ⊕

r1 )

} Else {

Generater RK,r RC

M4=G( r RK

r RC

r0 ⊕

r1 )

r0 ⊕

r1 ) }

Update RC i=TC i+ 1

If (flag=true){

G TC i+1(H nRS i+1(TK i

RID j)) ⊕r0 ⊕r1 )

URK=G TC i (H nRS i+1(TK i

RID j))

G TC i+1(H nRS i+1(TK i

RID j)) ⊕

r0 ⊕

r1

} Else { Generater TC,r RK,r URK

TC i =r TC , M3=G(r RKr0 ⊕r1 )

URK=G(r URKr0 ⊕r1 ) }

M3=G(H nRS i+1(TK i

RID j)

If ((TC i=RC i− 1) ∧(M4=M4)) {Update TC i =RC i}

M1 =G(SignRT ir0 ∥r1 )

G(RK i

r1 )

RC i

Figure 5: Off-line mutual authentication protocol

Trang 8

Table 7 Initial steps

T TID i

T TKcur

i

T TKnext

i

T TS i

T r1

T|≡#(r1)

R RID j

R r0

R|≡#(r0)

DB|≡DB TID i

DB|≡DB TKcuri

DB|≡DB TKnexti

DB|≡DB←−−→RID j R

Table 8 Goal

R|≡T SignRT i

T|≡R←−→RK i T

T|≡DBP T

R|≡#(RC i)

R|≡#(RK i)

T|≡φ(RK i)

T|≡#(TC i)

The reader authenticates the tag with

SignRT i, whereas the tag authenticates the reader withRK i, hence mutual authentication Then, the tag acquires the reader’s maximum reading times

P Since the authentication is

confirmed, the update ofRK i,RC i, andTC i will therefore be carried out

Third IfTID i’s time is synchronized with the system and

RID j has not readTID iyet,Rlist idoes not contain

RID j’s information, and the received RC i

j must be zero If all the conditions above are met,TID i will

put intoRlist ithe information that recordsRID j

After checking the messages (sent by RID j), if the

result is positive, tag TID i will use its saved hash value

G TC i

(H(TKcur

iRID j)) in the last session, secret keyTKcur

and readerRID jto generate the following message:

M

TKcur



G TC i+1

H nRS i+1

TKcur



r0⊕r1



. (2)

M

3 is used by RID j for authentication and to update its

counter RC i Meanwhile, in order for RID j to check the

validity of M

3 and update RK i, TID i also generates the

message

URK =G TC i

H nRS i+1

TKcur



G TC i+1

H nRS i+1

TKcur



, (3)

sendingM

j, andURK to RID j and updatingRK i

RC i If the result of authentication is negative, tagTID iwill

use random numbers to generate falseM

3,TC i, andURK,

preventing from guessing attacks We store the value ofG()

of last session in advance, so that the tag only needs to run

the hash functionG one time.

Step 4 Reader RID j judges by the equivalence betweenRC i

andTC i whetherTC i has been modified and generatesM3 with RK i and URK It then checks if M3 equalsM

3 so as

to confirm the validity of M3 If the result is positive, it will update RC i andRK i:RC i = TC i + 1 RK i = RK i

URKr0⊕r1 After the update,RID j uses newRK i

j,RC i

j,

r0, andr1 to generateM

4 = G(RK iRC ir0⊕r1) and

URC =G(RC ir0⊕r1), so that the tag can know that the reader has updated the key and counter ReceivingM

URC from RID j, the tag then updates its counter TC i If the result of authentication is negative,RID j will generate random numbers to createM

4andURC to prevent guessing

attacks

Step 5 Receiving the message inStep 4,RID jgetsRC i with receivedURC, checking if TC i is equivalent to −RC i −1, generating M4 with RK i, RC i,r0, and r1, finally checking again if M4equalsM

4 If all the conditions above are met,

it means that readerRID j’s update is successful and the tag’s counter will beTC i=RC i

For example, when receiving the delegation table from back-end database, readerRID11will send to the tag Request,

the reader RID11 = 11, and the random number of this sessionr0 = 777 As the tag receives all the information, it first generates a random numberr1 = 558 and then takes its secret key TKcur

2 = 4321, its own IDTID2 = 52, and the receivedRID11to generate the shared secretSignRT

H(4321⊕52⊕11) Following this, the tag uses the shared secret and the two random numbers 777 and 558 to generate

M

1 = G(SignRT

2777558) and subsequently returnsM

1 andr1toRID11

Step 2 RID11adopts the two random numbers 777 and 558 and the shared secretSignRT2from the delegation table to generateM1 =G(SignRT2777558) and then compares it withM

1to check its validity If the result is positive,RID11 can therefore confirm that the tag isTID2 Also, the reader will take from the delegation table TID2’s corresponding counter RC2

11, session key RK2

11, and the key MaxRK2

generateM

11⊕777⊕558) andMaxR =

G(MaxRK2

11 ⊕777⊕558) Moreover, it will send to the tag the time stamp RS2 = 1,M

2,MaxR, and RC2

11 If the authentication of the receivedM

1fails,RID11will generate

RS2,M

2,MaxR, and RC2

11 with random numbers and send all of them to the tag

Step 3 RID11 takes RS2 and RC2

11 to check the validity

of M

2 If the outcome is positive, we will deal with the following three situations according to the tag’s time stamp and ACL.Table 3indicates the change of the tag’sRlist2and the corresponding responses of the reader and the tag

Situation 1 If received RS2 = 1 and bigger than the tag’s

TS2 = 0 and RC2

11 = 0, the tag’s time stamp is no longer valid and needs to synchronize with the system Thus,

TS = RS , and the tag will clearRlist because the reader

Trang 9

Table 9 Delegation Message

DB ∗(Request, RID j)

R ∗(RS i,RC i,SignRT i,RK i,MaxRK i)

DB RS i

DB RC i

DB SignRT i

DB RK i

DB MaxRK i

DB|≡DB RS i

DB|≡DB←−→RC i R

DB|≡DB SignRT i

DB|≡DB←−→RK i R

R|≡φ(RS i,RC i,SignRT i,RK i,MaxRK i)

R RS i

R RC i

R SignRT i

R RK i

R MaxRK i

After receiving a reader’s Request and its ID RID j, back-end database will generate the information for the reader to access the tag This part is done through a secured channel, so this information can be transferred directly to the reader, and the reader will take it without further checking, henceRS i,RC i,SignRT i,RK i, andMaxRK iin the reader

may be influenced by time It then puts intoRlist2 reader

RID11, counterRC2

11 =0, and the maximum reading times

MaxTC2

Situation 2 If received RS2 = 1 (equal toTS2 =1), reader

RID11 is stored inRlist2, andMaxTC2

11 = 15 (bigger than

RC2

11),RID11is still entitled to access the tag If the value of

reader’s counter is bigger than that of tag’s counter, the tag

did not receive the update message that the reader sent last

time, hence the update of the counterTC2

Situation 3 If RS2=1 equalsTS2=1,RID11is not inRlist2

andRC2

11 = 0,RID11has not read the tagTID2, hence the

incorporation ofRC2

11=0 andMaxTC2

11=15 intoRlist2 Besides, according to the results above, whether tagTID2

is going to send messages depends on the validity of received

messages If the validity is confirmed, TID2 will generate

legitimateM

3, andURK to update the session key and the

reader’s counter If not, it will generateTC2

3, andURK

with random numbers

Step 4 The reader will check if TC2

11is the same asRC2

then takeRK2,URK and random numbers 777 and 558 to

generateM3so as to check the validity ofM

3 If the result is positive, it will update the session keyRK2

11 and its counter

RC2

11 It will subsequently generateM

4, andURC so that the

tag can update its counter simultaneously

Step 5 If the received value of RC2

11is one more than that

of TC2

4 is confirmed as valid, TC2

11 will then be updated

3 Security Analysis

This section deals with the security analysis of our protocol, especially in terms of off-line authentication in the preven-tion of replay attack, DDoS, Man-in-the-Middle attack as well as counterfeit tag, and the protection of tag owner’s data and location privacy

3.1 Prevention of Replay Attack In replay attacks, attackers

usually acquire valid messages in the communications and then resend those messages to tags or readers Nonetheless, due to the random numbers r0 andr1 in every session in our protocol, which every message adopts in every session, all the messages are therefore ever changing Hence, attacks will

Trang 10

Table 10 Off-line authentication of tag Message

T ∗(Request, RID j,r0)

T r0

T RID j

After receivingRID jandr0, the tag can identify this reader and know the random numbers in this session

R ∗(M

1,r1)

R r1

R (G(SignRT ir0 ⊕r1))

R SignRT i

R|≡#(G(SignRT ir0 ⊕r1))

R|≡φ(G(SignRT ir0 ⊕r1))

R|≡T SignRT i

The reader can identify the tag because ofSignRT ifrom back-end database Since both the reader and tag haveSignRT i, the reader can then check the validity of messageM

1and trust the received messages

T ∗(M

2,RS i,RC i,MaxR)

T RS i

T RC i

T (G(RK iRC ir0 ⊕r1)

T RK i

T|≡#(G(RK iRC ir0 ⊕r1))

T|≡φ(G(RK iRC ir0 ⊕r1))

T|≡R←−→RK i T

T (G(MaxRK ir0 ⊕r1))

T MaxRK i

T|≡#(G(MaxRK ir0 ⊕r1))

T|≡φ(G(MaxRK ir0⊕r1))

T|≡P

T|≡DBP T

Since the tag has been authenticated by the reader, it will generateRK iwith received

RS iandRC i, authenticateM

2withRK i, and then allow itself to authenticate the

reader Besides, it will acquire with MaxR the maximum reading times P from

back-end database

R ∗(M

3,TC i,URK)

R TC i

R (G(RK iURK))

R|≡#(G(RK iURK)

R|≡φ(G(RK iURK))

R|≡#(RK i)

R|≡#(RC i)

After identifying the tag, the reader generates a newRK iand authenticatesM

3 Hence,R|≡φ(G(RK iURK)).

If the authentication is successful, the reader’sRK iandRC iwill be updated

T ∗(M

4,URC)

T TC i

T|≡#(RC i)

T|≡φ(RC i)

T|≡#(RK i)

T|≡#(G(RK iRC ir0⊕r1))

T|≡φ(G(RK iRC ir0 ⊕r1))

T|≡φ(RK i)

T|≡#(TC i)

T|≡R←−→RC i T

The tag receives a newRC i from URC, authenticates it, and generates a new RK i

with it Next, the tag authenticatesM

4with the newRK i If the result is positive,

T|≡φ(G(RK iRC ir0 ⊕r1)) andTC iwill be updated Thus,TC i=RC i

Ngày đăng: 21/06/2014, 11:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN