Mersenne twister-based RFID authentication protocol

Transcription

Mersenne twister-based RFID authentication protocol
Turkish Journal of Electrical Engineering & Computer Sciences
http://journals.tubitak.gov.tr/elektrik/
Turk J Elec Eng & Comp Sci
(2015) 23: 231 – 254
¨ ITAK
˙
c TUB
⃝
doi:10.3906/elk-1212-95
Research Article
Mersenne twister-based RFID authentication protocol
¨
Mehmet Hilal OZCANHAN,
G¨
okhan DALKILIC
¸∗
˙
Department of Computer Engineering, Dokuz Eyl¨
ul University, Tınaztepe, Izmir,
Turkey
Received: 19.02.2012
•
Accepted: 05.04.2013
•
Published Online: 12.01.2015
•
Printed: 09.02.2015
Abstract: This work presents an ultra-lightweight, cryptographic, mutual authentication protocol for radio-frequency
identification (RFID) tags. The proposed scheme is more secure than its predecessors. The vulnerabilities of previous
schemes based on triangular functions and rotation have been demonstrated in traditional and rotational cryptanalysis.
In this paper, we summarize the successful attacks on previous schemes and demonstrate further attacks on 3 recent
ultra-lightweight protocols. Next, we present a proposal that resists all of the known passive attacks. The proposal
obeys the properties and rules of addition-rotation-XOR with constants systems. The proposed scheme inserts parts
of advanced encryption standard S-boxes into the temperings of the Mersenne twister, which is used as a deterministic
random number generator. The proposal is supported by extensive performance and security analysis. Apart from
previous work, our scheme is compared and contrasted against the results of some popular hashing and encryption
algorithms, recommended for RFID tags.
Key words: RFID, mutual authentication, ultra-lightweight protocols, ubiquitous computing, ARX-c systems
1. Introduction
RFID technology is gradually replacing commercial barcodes in automatic object identification applications [1].
IDTechEX’s 2010 report [2] puts RFID in the category of booming ubiquitous technologies. The focus of this
work is low-cost passive-UHF tags, which are reportedly the most popular. The research community has also
shown great interest in passive tags, whose popularity is due to their low cost [3,4]. Only these tags can compete
with the prices of plastic/paper barcodes used in huge numbers in supply chains [4].
RFID rests upon wireless technology. A tiny tag consists of a primitive microcontroller and memory that
are energized via an antenna by a reader. The tag carries the unique and sensitive identity number (ID), which
uniquely identifies the item it is tagged on [4]. The reader energizes the tag to access the ID inside. The low
cost limits the computational capacity, available memory, and power supply of the tags. Only 4K gates can
be reserved for security due to limited resources [3]. The resulting weak security is reflected in many reports
of serious attacks and counter efforts [4–6]. In the proposed protocols, where the reader interrogates the tag,
parties exchange messages [4]. Each side decrypts the received messages and tries to mutually authenticate the
other. Preshared secrets are used in the formation of the messages. To hide its real identity, a tag uses an
index-pseudonym (IDS), updated at the end of every run [3]. The reader sends the IDS to a securely wired
database server to obtain the full record of the tag.
The ISO-18000-6 (ISO) [7] and the EPCglobal Class-1 Generation-2 (Gen-2) standard [8] set the passive
∗ Correspondence:
[email protected]
231
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
tag properties. Unfortunately, they do not cover the security and privacy issues [4,9], causing diverse proposals
to emerge. A classification of the proposals is made in one of the proposals, based on the processing power and
operations supported [5]. The widely accepted classification divides the proposed protocols into 3. The fullyfledged protocol class supports random number generation, hashing, and encryption functions, as in e-passport
tags. The simple protocol class supports hashing and random number generation but not encryption. The
ultra-lightweight class supports random number generation, cyclic redundancy check (CRC), and simple bitwise
operations, as in Gen-2 tags. Accordingly, the prefix ‘ultra-lightweight’ in the front of the tags, authentication
protocols, cryptography, and functions means only simple, bitwise operations like AND, OR, exclusive OR,
rotation, shifting, and the modulo 2 m addition are supported [3,5,9]. Protecting the sensitive ID number in
the exchanged messages is more difficult in ultra-lightweight tags than in high-cost tags, because the resources
(computation power, memory, supported operations) of low-cost tags are very limited [5,9]. The dilemma of
protecting the secrets with scarce resources creates one of the biggest challenges in RFID security, which draws
the attention of many researchers, as well as ours.
In this work, we focus on removing the previous repeated weaknesses of ultra-lightweight protocols and
provide efficient security for the secrets they carry, by:
• Pinpointing the repeated weaknesses,
• Demonstrating new attacks on the 3 latest schemes,
• Applying the rules of addition-rotation–XOR with constants (ARX-c) systems to RFID operations,
• Complementing operations by inserting parts of advanced encryption standard (AES) S-box for randomness, and
• Inspiring from a well-established random number generation algorithm.
In the rest of this paper, Section 2 gives a classification of previous ultra-lightweight proposals, details their
major weaknesses, and demonstrates the cryptanalysis of the 3 latest protocols, due to the exposed weaknesses.
In Section 3, a detailed alternative proposal is presented. Section 4 contains the explanation and the results of
the statistical tests. The security and performance analysis of the proposed new features are in Section 5. In
Section 6, we conclude and list future work.
2. Related works and repeated weaknesses
There has been a lot of research in the security of ultra-lightweight RFID protocols. Ultra-lightweight protocols
can also be subcategorized on the basis of utilized functions. Table 1 summarizes some of the protocols that
use a combination of the ultra-lightweight functions AND, OR, XOR, addition modulo 2 m , rotation, and those
that qualify to be in the ARX-c systems category. The protocols in Table 1 are detailed in the next sections,
but it is necessary to mention the works outside of Table 1, which are also in the ultra-lightweight category.
These other works use linear feed-back shift registers (LFSRs), CRC functions, physically unclonable functions
(PUFs), and pseudo-random number generators (PRNGs).
Although the hardware implementation of LFSRs is suitable for Gen-2 tags, many attacks like correlation,
fast correlation, distinguishing, random fault, and strategic attacks have been announced on LFSRs, some even
before RFID security took off. Therefore, protocols based on LFSRs are classified as outside the scope of this
work. Gen-2 tags support CRC functions and because they exist, some proposals use CRC with XOR operation.
However, CRC is a homomorphism function and CRC(a ⊕ b) = CRC(a) ⊕ CRC(b). This property leads to a
232
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
fundamental algebraic weakness, taking the attention off of CRC-based protocols [10]. Protocols based on PUFs
have also been claimed as ultra-lightweight. Unfortunately, PUFs rely on uncontrollable physical properties that
do not convince the community as a strong security primitive [11,12]. Gen-2 tags also support a 16-bit PRNG,
which is used to encrypt the ID in some proposals [13]. To the best of our knowledge, there is no formal proof
for using PRNGs as an encryption algorithm; therefore, they will not be considered here either.
Table 1. Classification of the protocols according to the functions used.
Function protocol used
UMAP [16–18]
SASI [5]
UMA [41]
DIDT [40]
ULAP [3]
Gossamer [9]
ULERAP
And
√
×
√
√
×
×
×
Or
√
√
√
√
√
×
×
Addition 2m
√
√
×
×
√
√
√
Rotation
×
√
√
√
×
√
√
XOR
√
√
√
√
√
√
√
ARX
×
√
×
×
×
√
√
Hashing and encryption are universally accepted algorithms that provide strong security protocol designs,
but they are considered as outside of the ultra-lightweight category [3,5,9]. However, they are compared to the
results of our work in Section 5, to show that our design uses much less die area and fewer clock cycles.
2.1. Related works in the ultra-lightweight category
The first proposals suggesting the idea of using lightweight cryptography in RFID came from Vajda and Butty´an
[14] and Juels [15], before Gen-2 was released. The first ultra-lightweight protocols, the minimalist mutualauthentication protocol, lightweight mutual authentication protocol (LMAP), and efficient mutual authentication protocol, announced by Peris et al. [16–18], were named collectively as the ultra-lightweight mutual
authentication protocol (UMAP) for short, and utilized only triangular functions (∨ , ∧ , ⊕) and addition. The
UMAP protocols are shown in Table 1 because they have drawn a lot of attention [19–24]. Afterwards, Chien et
al. pointed out the numerous attacks on the UMAP and suggested the inclusion of the rotation operation in their
ultra-lightweight protocol, strong authentication and strong integrity (SASI) [5]. Unfortunately, the protocol
used triangular functions (∨ , ⊕), addition, and only a limited number of rotations. SASI was quickly attacked
in a number of works [25–29]. However, SASI inspired Peris et al. to announce Gossamer [9], which used
addition and XOR encapsulated in nested rotation functions, evolving it into an ARX system [30]. Therefore,
Gossamer is an ‘on the up and up’ protocol that is a result of the RFID authentication protocol evolution. No
disclosure attack on Gossamer has been declared to date, except in very low probability special case situations.
This is because ARX systems can be considered as the building blocks of contemporary encryption algorithms,
which use repeated combinations of shifting, substitution, and XOR operations. Algorithms that do not use
any of the ARX functions are considered weak [30].
After Gossamer, Pedro released the ultra-lightweight authentication protocol (ULAP) [3]. The ULAP uses
only triangular functions and addition, a slightly improved version of the LMAP [17]. The ULAP contradicted
the author’s own guidelines in [31], where another protocol was attacked, declaring “.... main reason for the
weaknesses ... be the noninclusion of any kind of rotations”. It is therefore not surprising to see attacks on the
ULAP in [32] and later in our work. Analyses of the UMAP, ULAP, SASI, and Gossamer are still coming, and
the latest works on RFID authentication research can be found in [33].
233
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
2.2. Weaknesses of previous works
We divide previous ultra-light proposals into rotational and nonrotational schemes. The first section summarizes
the weaknesses of nonrotational schemes and the second gives an account of rotational schemes weaknesses.
2.2.1. Weaknesses of triangular function-based protocols
The weaknesses of protocols based on triangular functions are outlined in [9,22–24]. Barasz et al. pinpointed
the weakness of least significant bits (LSBs) in triangular bitwise operations and the misusage of OR and AND
functions in some messages, which lead to exposure of the ID [22,23]. The authors in [20] launched a full
disclosure attack by exploiting the algebraic weakness in the messages. By exposing the value of some terms in
messages A and B, and substituting them in message D, the critical ID value was captured. Following the attack,
the shared secrets were also exposed, by hopping from one message to another. In their security analyses, Lopez
et al. [9] explained the weak diffusion properties of the OR and AND operations, listed the attacks made on
the UMAP [19–24], and concluded that due to its capacity, ultra-lightweight tags cannot resist active attacks.
In addition, a new protocol was proposed to resist the known passive attacks.
The authors in [10], defined 3 attacks and the RFID protocols where each is effective. Their work showed
the success of algebraic attacks on protocols based on associative operations, such as triangular functions and
modular addition. This analysis put all triangular-only protocols into jeopardy. Even so, the ULAP [3] tried to
resist passive attacks by a new notion of ‘sessionIDS’, which is also a repetitive addition function, but failed. A
passive attack against the ULAP was demonstrated in [32] and later in Section 2.4. It is obvious that changing
or increasing the number of triangular functions or additions cannot save the UMAP, and the ULAP-type of
protocols. These protocols do not contain rotation or shifting; therefore, they have been superseded by newer
ARX schemes.
2.2.2. Weaknesses of rotation function based protocols
Protocols that encapsulate triangular functions (mainly XOR) and addition modulo 2 m in rotation operations
are rotational schemes. These protocols are considered to be also in the ultra-lightweight category [5,9], because
rotation is a simple shift operation with the most or least significant bits wrapped around it. The first ultralightweight protocol using rotation was SASI [5]. As the most pioneering work, SASI was analyzed in every
detail [25–29]. This time, the most significant bits (MSBs) of the XORed messages are shown to be vulnerable
to intentional bit flipping. Messages and updates with no rotation operations are the second point of weakness.
Finally, the OR operation in one of the messages devastates the protocol. Using the above weaknesses, the
authors in [28] outlined a detailed disclosure attack on SASI. In [9], the weaknesses of SASI were summarized
and a new protocol, Gossamer, was suggested, which has stronger security. Gossamer is a scheme where 2
nested rotation operations encapsulate the addition and XOR operations, as shown in Figure 1. Gossamer
also introduces a function called Mixbits, to provide randomness for the exchanged messages. The success of
the rotation operation and the Mixbits function has drawn a lot of attention and they are still studied in the
latest literature. In 2012, Bassil et al. praised Gossamer, but offered the PUF-based ultra-lightweight mutualauthentication RFID protocol (PUMAP), which replaces Mixbits with a PUF [34]. Unfortunately, the PUMAP
and many other protocols that contain triangular functions and no rotation are immediately attacked [35,36].
After a first round of evaluations, some weaknesses were detected in Gossamer [6,37,38]. The first
weakness appears in the updating of the IDS and the shared secrets. The lack of update-acknowledging and
IDS collision result in desynchronization attacks [6]. A more serious weakness that exposes the ID value occurs
234
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
in 2 special cases when either the values of the shared secrets or the nonces equal 0 [38]. The messages exchanged
reduce to a combination of addition and XOR operations, and after a few algebraic manipulations, the secret
ID is disclosed. A similar approach also succeeds on the SASI protocol [38]. The most devastating attack is the
disclosure attack, where the tag ID and the shared secrets are exposed with relatively little effort. This opens
the way to creating a cloned tag without getting detected, which makes the attacked protocols very dangerous
to use. This is the reason behind the attacks we devise in the following sections.
Reader
Step 1: «hello»
1. Tag Ident f cat on
Step 2: «IDS»
Tag
The tag answers with its next IDS,
and the old IDS if necessary.
2. Mutual Authent cat on
With IDS finds a match entry in the database.
A = ROT((ROT(IDS+k1+π+n1, k2)+k1, k1);
B = ROT((ROT(IDS+k2+π+n2, k1)+k2, k2);
n3= MIXBITS(n1, n2);
k1* = ROT((ROT(n2+k1+π+n3, n2)+k2 ⊕ n3, n1) ⊕ n3
k2* = ROT((ROT(n1+k2+π+n3, n1)+k1+n3, n2)+n3
n1' = MIXBITS(n3,n2);
Step 3: «A| | B| | C»
C = ROT((ROT(n3+k1*+π+n1', n3)+k2* ⊕ n1', n2) ⊕ n1'
Step 4: «D»
D' = ROT((ROT(n2+k2*+ID+n1',n2)+k1*+n1', n3)+n1'
If D' = D
3. Back-end database Updating
n2' = MIXBITS(n1', n3);
IDS = ROT((ROT(n1'+k1*+IDS+n2', n1')+k2* ⊕ n2', n3) ⊕ n2'
k1= ROT((ROT(n3+k2*+π+n2', n3)+k1*+n2', n1')+n2'
k2= ROT((ROT(IDS+k2*+π+k1, IDS)+k1*+k1, n2')+k1
Extract n1 from A, and n2 from B
n3=MIXBITS(n1, n2);
k1*=ROT((ROT(n2+k1+π+n3, n2)+k2 ⊕ n3, n1) ⊕ n3
k2*=ROT((ROT(n1+k2+π+n3, n1)+k1+n3, n2)+n3
n1'=MIXBITS(n3, n2);
C'=ROT((ROT(n3+k1*+π+n1', n3)+k2* ⊕ n1', n2) ⊕n1'
If C' = C
D=ROT((ROT(n2+k2*+ID+n1', n2)+k1*+n1', n3)+n1'
3. Tag Updat ng
n2' = MIXBITS(n1', n3);
IDSold = IDS;
IDSnext= ROT((ROT(n1'+k1*+IDS+n2', n1')+k2* ⊕ n2', n3) ⊕ n2'
k1old = k1; k1next= ROT((ROT(n3+k2*+π+n2', n3)+k1*+n2', n1')+n2'
k2old = k2;
k2next= ROT((ROT(IDSnext+k2*+π+k1next, IDSnext)+k1*+k1next, n2')+k1next
π = 0x3243F6A8885A308D313198A2 (L = 96 b ts)
Figure 1. Gossamer protocol of [9].
Khovratovich and Nikolic studied ARX systems like hashing, SASI, and Gossamer in [30]. Their work
declared that protocols containing rotation operations should be studied under rotational cryptanalysis. In [30],
the authors showed that a combination of addition, rotation, and XOR was more secure, if a sufficient number of
rotations and constants were used in the schemes. Our attacks below succeed because the above 2 requirements
are not obeyed.
2.2.3. Cryptanalysis of a scheme using addition, rotation, xor operations
Our first focus is on Gossamer, shown in Figure 1. The scheme is based on a regularly updated IDS and the
double rotation of shared secrets, obscured by random numbers. Two nonces are generated by the reader. First,
(n 1 ) is passed in message A and the second (n 2 ) is passed in message B. Message C is the authenticator. The
tag is expected to extract the nonces, calculate the extra terms n 3 , k ∗1 , k ∗2 , n 1′ , and C’, and match C’ to the
authenticator C. A correct match authenticates the reader. The tag prepares and sends its authenticator D.
Next, it immediately updates its secrets and IDS, without waiting for an acknowledgement from the reader.
The reader authenticates the tag by matching the calculated D’ and the D received. Finally, the reader also
updates its values.
235
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
The scheme is an ARX-c system with the constant π , but message A omits the XOR operation and does
not take the special case of ineffective rotation. The result of the rotation of all ones or all zeros gives the same
result. Using this fact, if the addition IDS + k 1 + π + n 1 in message A gives all bits as zeros (all zeros) or all
bits as ones (all ones), the first rotation ROT(IDS + k 1 + π + n 1 , k 2 ) also yields all zeroes or all ones. The
addition after the ineffective rotation, gives k 1 or k 1 – 1. For example 00 H (FF H ) + 03 H , yields 03 H (02 H ).
A thus reduces to A = ROT(k 1 , k 1 ) or A = ROT(k 1 - 1, k 1 ). Now, consider another case when IDS + k 1 + π
+ n 1 is not all zeros, but all zeros except one bit. When rotated by an amount k 2 mod 96 as in message A, it
will still be a value of all zeros, except that one of the bits is one. When this value is added to k 1 , the result
is still k 1 , except at the position where the bit value is one. The binary addition of one flips the value of the
added bit and may cause a carry. For simplicity, assuming no carry is generated and naming this flipped bit as
k f1 , it is obvious that there are many possibilities when message A collapses to a simple equation.
For rotations where no ones are wrapped around it, the operation is a left shift (multiplication by 2 for
every shift). Hence, A = 2 k1 × k 1 , or A = 2 k1 × k 1 – 1, or A = 2 k1 × k f1 . A is public; therefore, possible
k 1 values can be calculated easily. Next, n 1 is also revealed as IDS, k 1 , π are known. Finally, there are 3
candidate sets of {k 1 , n 1 } that can be true. For value k f1 , k 1 is found by resetting the ones, one-by-one, and
calculating as if calculating A = 2 k1 × k 1 .
Without repeating the same argument for the similar message B, we can conclude that we can also have
3 candidate sets of {k 2 , n 2 } . An attacker can eavesdrop on messages A and B, and obtain values for k 1 , k 2 ,
n 1 , and n 2 , as if the assumptions are true. When calculating k ∗1 , k ∗2 , n ′1 , n 3 , and C’ in order, if C’ matches
C, then it is a successful assumption. From here on, the disclosure attacks shown in [19,27] can be launched.
Only a number of the iterations given in [22] are needed. Since all of the other intermediate values, k ∗1 , k ∗2 , n ′1 ,
and n 3 , depend on k 1 , k 2 , n 1 , and n 2 , the adversary calculates and inserts them into message D to capture
the ID value. Our attack works on the versions in [6,37,38] as well.
The total probability of the success of the attacks is important. In [38], both k 1 , k 2 or both n 1 , n 2 were
assumed to be zeros. Another extreme possibility is a case when all of the k 1 , k 2 , n 1 , and n 2 are zeros. The
probability of an attack where both k 1 and k 2 , or both n 1 and n 2 are zeros is 2 × (1 / 2 n ) × (1 / 2 n ) =
(2 / 2 2n ) . The probability of all of them being zeros is (1 / 2 4n ) . For the attack in our work, the probability
of all of the bits of addition in A or B being ones or zeros is (1 / 2 n ) + (1 / 2 n ) = (2 / 2 n ). In our extended
attack, the probability of only one of the bits of addition in A or B being one is (n/2 n ) . The overall probability
of our assumptions is [((2 / 2 n ) + (n / 2 n )) × ((2 / 2 n ) + (n / 2 n ))] = [(n + 2) 2 /22n ]. Hence, the probability
of attacking Gossamer is now increased to a total of [(1 / 2 4n ) + (2 / 2 2n ) ] + [((n + 2) 2 / 2 2n )]. Neglecting
the first term, the probability of a successful attack is [(2 + (n + 2) 2 ) / 2 2n ]. The probability would increase
if attacks for 2 bit flips in k 1 and k 2 are followed, but the point is made and we stop here.
The probability graph is dependent on the word length n. The probability of an EPCglobal Gen-2 tag
is relatively high, because n = 16. It is also important to note that the probability of the attacks is equal at
every reading and adds up with every reading. In theory, 1000 tags/s can be read [39] by a modern reader. By
substituting n = 16, and multiplying by 1000 tags/s, the probability becomes [((2 + 18 2 )× 1000) / 2 32 ] in 1 s.
In 1 h, the probability of finding a tag that satisfies the assumptions, and thus the probability of capturing its
ID, is 0.27.
236
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
2.3. Cryptanalysis of a latest scheme using only triangular functions
The second protocol of interest is the ULAP [3]. Having observed the attacks in [17], the authors tried to stop
the escalation of known attacks on the IDS with a weak encryption algorithm called SessionIDS. The ULAP
is similar to that in [17] and if the IDS is revealed the same passive attacks in [32] expose the sensitive ID
number. Therefore, we will just show how the IDS is exposed. Our attack is inspired by the attacks in [22,24].
SessionIDS is given by the following function:
for (i = 0; i < 32; i + +){Z = (Z >> 1) + Z + Z + N ; },
where IDS = Z and N is a nonce. Denoting the bit position values with a superscript, after the first round the
addition becomes:
0
Z 95 .................................... Z 3 Z 2 Z 1
Z 95 Z 94 .................................... Z 2 Z 1 Z 0
Z 95 Z 94 .................................... Z 2 Z 1 Z 0
+
N 95 N 94 .................................... N 2 N 1 N 0
The result of the addition of the LSBs is revealed as Z 1 + N 0 , because Z 0 + Z 0 is always 0 (only carry 0
is affected) and N 0 is public. Assuming a zero value for Z 0 , carry 0 is calculated. Next, calculating every bit
for 0 < n < 95: Z n = Z n+1 + Z n + N n0 + carry n . Continuing until the addition of the MSBs, 0 + Z 95 +
Z 95 + N 95 + carry 94 (Z 95 + Z 95 results in 0, carry 95 is unused). Since N 95 is known, carry 94 is revealed.
Going through the ‘for’ loop leads to an equation for SessionIDS and exposes Z (IDS). If the obtained binary
equations are not satisfied, predict Z 0 = 1 and repeat the bit calculations.
2.4. Cryptanalysis of the latest scheme using only XOR and rotation
The protocol DIDT [40] uses rotation and XOR operations but leaves out addition (Figure 2). The proposal is
an update of the same author’s work in [41]. The main design is the same, only the terms of the rotations are
diversified to counter the attacks demonstrated in [42]. By updating the steps of the profound attack in [42], we
were able to launch the same full disclosure attack on the new scheme. However, instead of repeating the same
attacks, we demonstrate the effectiveness of an ‘all ones’ and ‘all zeros’ attack. An all zeros initial message A i
dissolves the scheme and resets DIDT i+1 , as well as the shared secret K i+1 to 0. All zeros A i means R i =
K i , due to a simple XOR. Hence, the XOR in B i also yields all zeros. Similarly, C i , DIDT i+1 and K i+1 all
collapse to zeros.
The argument is the same for all ones in A i , except this time R i = NOT(K i ). Now, B i , C i , DIDT i+1 ,
and K i+1 all collapse to all ones. All ones or all zeros can be forced on the tag by simply sending 0, 0 to the
tag, in step 2. Next, DIDT i+1 , K i+1 are reset. For values where only 1 bit of R i is different than K i , the
attack can also be successfully approximated, resulting in updated values with only a single bit set or reset.
One has to wait passively for A i values very close to all zeros or all ones. The probability of A i values being
all zeros or all ones, or only a 1-bit zero or one is 1 / 2 n + 1 / 2 n + n / 2 n + n / 2 n = (2n + 2) / 2 n . For
a 16-bit Gen 2 tag, t is 34 / 2 16 . After 964 readings, the probability of an expected A i is 0.50. A slow reader
reads around 600 tags/s [39]. In a supply chain, within 2 s, a tag can be found with a suitable A i . Notice that
237
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
blocking message C i twice causes desynchronization of the reader with the tag. The rest of the known attacks
are in [42].
Reader
DIDT i, DIDT i+1, K i, K i+1
Tag
DIDTi, DIDTi+1, K i, K i+1
DIDTi
Generate Ri,compute
Ai = Ki ⊕ Ri
Bi = ROTL(Ki, Ki) ⊕ ROTL(Ri, Ri)
A i,Bi
Ci
Obtain R i from A i, verify Bi’ = B i, compute:
C i=ROTL(K i, R i) ⊕ ROTL(R i , K i )
Verify Ci, if ok continue.
Reader and tag update:
DIDTi+1 = ROTL(Ri, Ri OR Ki) ⊕ ROTL(Ki, Ri AND Ki)
Ki+1 = ROTL(Ri, Ri AND Ki) ⊕ ROTL(Ki, Ri OR Ki)
Figure 2. Protocol of [40].
Following the above examples, a list can be drawn to recapitulate the repeated weaknesses in previous
ultra-lightweight protocols:
1. The designed functions in the UMAP- and ULAP-type protocols are not strong cryptologic functions, but
consist of compositions of weak triangular functions and need to be combined with rotation operation, as
outlined in [20,29,31],
2. XOR, mod 2 m addition, and triangular functions are associative operations that are nonresistant to
algebraic replay attacks [10,20]; therefore, the messages of a protocol should not be reduced to these
operations,
3. The operations follow a weak chain towards the main secret (ID), where intermediary messages are
decrypted to capture the terms of the message that contains the ID [20,22,23],
4. The terms of the rotations are not carefully designed for special cases when some of the terms are all zeros
or ones [6,38], leaving the used secrets vulnerable to analysis,
5. The rotational cryptanalysis outlined in [30] is not considered; for example, protocols [40,41], and
6. Secret update is neither signaled nor acknowledged [20].
3. The proposed ultra-lightweight extended authentication protocol
Taking the above weaknesses into consideration, we design the scheme in Figure 3. The scheme is made up of
3 phases. As in previous works, random numbers are used to provide freshness in the authentication messages,
a measure against replay and other attacks. The resourceful reader generates a nonce n 1 , which is used as
a seed to generate other terms (n 2 , n 3 ) for messages B, C, D, and IDS. The first improvement is the use of
the Mersenne twister (MT) [43] to obtain the deterministic but unbiased terms n 2 and n 3 . The messages and
IDS must resemble random numbers to make tracing difficult [3,9]. In addition, message C should have good
statistical properties, as it carries the secret ID. The MT is a well-proven random number generation algorithm
that can serve the above requirements, because it passes the Diehard tests [43,44]. However, the first version
238
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
of the MT [43] had the disadvantages of poor initialization (outputs close to 0 for at least 1000 rounds) and
unfitting size into a low-cost tag. Therefore, we used the improved version in [44], which does not fit into a tag
either. Two changes have been made, which makes the scheme fit into a tag and removes the poor initialization.
The matrix operations have been eliminated and temperings have been enforced with substitution of parts of
the AES S-box [45] into the generation of n 2 and n 3 . We call our version the enforced Mersenne twister (eMT)
function, shown in Figure 4. The 96-bit word length and additional temperings allow the eMT to have a period
of 259,872, longer than that of its inspired MT version. We also named our protocol the ULERAP, short for
ultra-lightweight extended RFID authentication protocol.
Reader
IDS, k0, k1, k2, k3 , IDSold , k2old , k3old , old , next
Step 1: «hello»
1. Tag Identification Phase
Tag
IDS, k0, k1, k2, k3
Step 2: «IDS »
2. Mutual Authentication Phase
With IDS a match is found in the database.
Generate n1,
A = ROTL((IDS+k0) ⊕ n1, k1⊕ k2)+(k2+k3);
n2= eMT(n1);
B = ROTL(n2⊕ (k0+n1), n2) + (k1 + n2);
Step 3: «A| | B»
Step 4: «C »
Check
C eckC’=C,
Ch
C =C,
C’
C ifif ok
okcontinue.
continue.
3. Secret Update Verification Step
IDSold = IDS; IDSnext=ROTL((IDS + k0) ⊕ (n2 + ID), k1 + n2);
k2old = k2; k2next= ROTL((IDSnext + n2) + (k3 ⊕ n2),k0 ⊕ n2);
n3= eMT(n1); (k2next is used)
k3old = k3; k3next= ROTL((ID ⊕ k2) ⊕ n3,k3 + n3);
D=
D ROT
D=
ROTLL(n
RO
(n22+k
+k00+π+k
+k
+ +k
+π
+ 11,, kk22)+(k
)+(kk33⊕ kk00))
Step 5: «D»
Extract n1 from A,
n2= eMT(n1);
If B’ = B
C=ROTL(ROTL((ID+n2) ⊕ k3, k0) + k1),n2)+(k2 + k0);
Tag Updating
Check D=D’;
IDSnext=ROTL((IDS + k0) ⊕ (n2 + ID), k1 + n2);
k2next= ROTL((IDSnext + n2) + (k3 ⊕ n2), k0 ⊕ n2);
n3= eMT(n1); ( k2next is used)
k3next= ROTL((ID ⊕ k2) ⊕ n3,k3 + n3);
Figure 3. Proposed protocol, ULERAP.
3.1. The assumptions of ULERAP
It is generally assumed that the wired communication between the reader and the back-end server is secure,
while the wireless channel between the tag and the reader is insecure. It is openly declared that as with none of
the previous protocols, the ULERAP cannot resist active attacks. We assume that active intruders are detected
by perimeter security measures such as security guards, cameras, and other detection equipment, which is not a
great disadvantage in tags that will be used in a monitored environment like supply chains. The final assumption
is that both sides have an IDS, ID, and the preshared secrets, k 0 , k 1 , k 2 , and k 3 , prior to the start of the
message exchange. Secrets k 0 and k 1 are derived from one of the S-boxes of the AES algorithm. Secret k 0 can
be the first 12 entries of the 1st row, while k 1 is the first 12 entries of the 3rd row [45]. Each tag application
can choose a different row. Secret k 2 is rotated before being partially inserted in the eMT function to avoid
using a repeated constant.
Rotation ROTL(x, y) is the circular shift of x to the left. Term y means the hamming weight of y.
Rotation is a simple but clock-cycle consuming operation. The implementation is easy and requires 2 registers.
239
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
The term x is rotated for a minimum of 0 or a maximum of 96 times, but testing of y forces 96 clocks for each
rotation.
3.2. The phases of our proposed protocol
There are 3 phases in the protocol. The first is the tag identification phase. The mutual authentication takes
place in the second phase. The third phase involves the update of IDs and the secret keys.
Phase 1: Tag identification phase (Steps 1 and 2, in Figure 3).
The reader sends ‘hello’ and the tag replies with the IDS. The tag is identified in the database and its
secrets are sent to the reader. If a match for the IDS is not found, the IDS old values are searched. Upon locating
IDS old , a new exchange is started using it and the tag is authenticated. The tag always repeats the same IDS
and does not store old IDS values.
Phase 2: Mutual authentication phase (Steps 3 and 4, in Figure 3).
The reader generates a nonce n 1 and using the preshared secrets obtained from the database, it hides
n 1 in message A. Next, the reader produces variable n 2 , by passing n 1 to function eMT (Figure 4). The eMT
uses k 0 , k 1 , and k 2 , forcing both sides to possess and use the secrets, correctly. Only n 1 is passed to the eMT
because the secrets are used in order from the memory by a sequencer mechanism, explained in detail in [3]. The
ARX-c rules of [30] and parts of the AES S-box are used in k 0 , k 1 to obscure and rotate n 1 a varying number
of times. Our proposed eMT produces unbiased, nonzero numbers, while Mixbits produces a zero output if a
zero input is given [38]. The quality of n 2 is important and measured in Section 4.2.
Y = eMT(X){
Y= k 0 ⊕ X
Y= k 1 ⊕ Y
Y = ROT L (k 2 ,Y)
Y = Y AND 0x 0000FFFF0000FFFF00000000
X = X AND 0x FFFF0000FFFF0000FFFFFFFF
X = Y OR X
Y = ROT R (X, 0x001FFFFFFFFFFFFF)
Y=X ⊕ Y
X = SHIFT L (Y, 0x003F)
X = X AND 0x 9D2C56809D2C56809D2C5680
Y=Y ⊕ X
X = SHIFT L (Y, 0x7FFF )
X = X AND 0xEFC60000EFC60000EFC60000
Y=Y ⊕ X
X = SHIFT R (Y, 0x0003FFFF )
Y=Y ⊕ X
}
Figure 4. Proposed eMT function.
Using k 0 , k 1 , n 1 , n 2 , message B is formed and passed, as an authenticator. The tag extracts n 1 from
A, if it knows the preshared secrets. Tag then calculates n 2 and its own version of B’ to check against the
received B. If B = B’, n 1 has not been tampered with and the reader is authentic. The eMT guarantees
that the tag has extracted n 1 correctly, and knows the scheme and all of the secrets. The ULERAP has one
message less than Gossamer at this stage. Next, the tag prepares and sends its authenticator C. Message C
contains the sensitive information ID number. Therefore, it is protected by substitution through addition and
XOR operations, followed by transformation through double rotation operations. This makes the relationship
240
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
between the statistics of the encrypted data and the encryption key value complex, by providing confusion,
nonlinearity, and preventing statistical analysis [45,46]. The reader calculates C’ and authenticates the tag, if
C’ = C.
Phase 3: IDS and key update verification phase (Step 5, in Figure 3).
After verifying the tag, the reader updates its secrets first and with D, it signals the completion of mutual
authentication and the update of the tag to go ahead. In our scheme, the reader updates first to resist the
known IDS next exploits, in the next exchange. The attacks that use IDS next calculation to expose the terms
of A, B, and C are prevented by obeying ARX-c rules [30]. The IDS and secret values of the past exchange,
denoted with old suffixes, are stored in the server only, relieving memory of the tag.
If the tag receives no message or a bogus message, it will not update its secrets avoiding desynchronization.
The update takes place only after verifying D = D’, where D’ is a value calculated by the tag. After IDS next
and k 2next are updated, the tag calculates n 3 and writes it over n 2 . Finally, k 3next is calculated and the
protocol finishes at this point.
4. Statistical tests
The RFID tags security and performance are the main focus of RFID security. We will analyze our proposed
protocol’s tag security in 2 areas. First of all, the results of the statistical tests for randomness will be discussed.
Next, a security and performance analysis will be made. To prove the success of our protocol, the test results,
security, and performance are compared with those of selected previous work. The UMAP, ULAP, SASI, and
DIDT [40] protocols are left out, because they are not ARX systems and fail to resist passive attacks. It is not
logical make comparisons against fully broken protocols or non-ARX systems. Gossamer is the only protocol
that qualifies to be in the ARX-c category. In addition, Gossamer and ULERAP are the only protocols that
propose the inclusion of a function for increasing the randomness of the exchanged messages and the IDS.
Our tests presented in the following sections are based on full 96-bit test software, instead of the present
32-bit versions. The software can be obtained on request from the authors. During the tests, true random
numbers from http://random.org are used. The full test results and the data used in the tests are also available
at http://srg.cs.deu.edu.tr/publications/2012/rfid. We only summarize part of the full results that match the
declared results of previous work.
4.1. Explanation of the used statistical tests
Strongly biased results in an authentication protocol are undesirable, as they facilitate the cryptanalysis of the
protocol. Bitwise AND and OR operations are examples of 2 strongly biased functions. When 2 random inputs
are ANDed (ORed), the probability of obtaining a 0 (one) is 3/4. Since the XOR operation can be expressed
in a combination of AND and OR operations, it is also strongly biased. The bitwise modulo 2 m addition is
sometimes approximated to the XOR operation, by neglecting the carry at the end of the bit addition. Therefore,
addition can also be biased. Based on this argument, the protocols using triangular functions and addition are
expected to produce biased messages. This is depicted in the attacks cited and demonstrated in Section 2, on the
UMAP and ULAP. To resist passive attacks based on the cryptanalysis of previous biased messages, exchanging
correlated or analogous messages has to be avoided. To ensure that our designed protocol is not producing
biased results, statistical tests are made for proving the randomness of messages A, B, C, D, and IDS, and the
outputs of the eMT. The most popular statistical randomness tests are the famous Diehard, National Institute
of Standards and Technology (NIST) (http://csrc.nist.gov/groups/ST/toolkit/rng/batteries stats test.html),
241
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
David Sexton’s battery [47], and the avalanche test [48]. Since MT passes the Diehard test [43,44], the same
test is not repeated for the eMT. Furthermore, neither the eMT of the ULERAP, nor the Mixbits of Gossamer
are independent PRNGs. Therefore, there is no point in carrying out the full NIST battery tests, which are
designed for testing the random number generators. Only the relevant pseudorandom number sequence test
(ENT) randomness tests (also available from the above NIST link) of the NIST suite are carried out. Gossamer
has not declared any test results. We chose the ENT, and David Sexton’s and avalanche tests specifically. Many
works have declared only partial test results, but the ULAP has detailed test results. Therefore, we use the
same tests to compare the ULERAP and Gossamer objectively, 2 compatible ARX-c systems. We perform the
tests for both and compare the results. With the comparisons, we aim to prove that our proposal is in the
ultra-lightweight category, performs better, and has stronger security. However, first, an explanation of the
ENT, and David Sexton’s and the avalanche effect test is made in separate subsections.
4.1.1. The ENT test of NIST
The NIST gives a list of tests as batteries of statistical tests, to prove the randomness of the numbers generated
by random number generators. ENT is one of the tests; it performs batteries of statistical tests on the input
stream of bytes and bits, and produces 7 results. The first 2 are the serial correlation coefficient results, 1 for each
byte and 1 for each bit of the tested input. The byte test measures the correlation of a byte to the previous byte,
and bit test measures the correlation of a bit to the previous bit. For random sequences, the results (positive or
negative) must be close to 0. The second, the chi-square test is the most commonly used test for randomness
and it is extremely sensitive to errors in pseudorandom sequence generators. The chi-square distribution is
calculated for the stream of bytes in the input and is expressed as an absolute number and a percentage, which
indicates how frequently a truly random sequence would exceed the value calculated. The percentages given
are interpreted as the degree to which the sequence tested is suspected of being nonrandom. If the percentage
is greater than 99% or less than 1%, the sequence is almost certainly not random. For percentages of 95%–99%
or 1%–5%, the sequence is suspect and for 90%–95% or 5%–10% the sequence is ‘almost suspect’. Outside of
these values the sequence is random. An arithmetic mean test is simply the result of the summing of all the
bytes in the input and dividing by the input length. If the data are close to random, this test result should be
about 127.50. In the next test, the result of the Monte Carlo value for the Pi test approaches the correct value
of Pi, if the sequence is close to random. The last tests are entropy and compression tests, which are coupled to
each other during evaluation. Entropy gives the information density of the contents of the file, expressed as a
number of bits per character. A value close to 8.0 means an extremely dense file. Entropy is supported by the
compression rate, such that as the information density increases, the compression rate decreases. A compression
rate of 0 means the tested data are so random that they cannot be compressed any further.
4.1.2. The David Sexton battery tests
In David Sexton’s tests, a P value is given to each test result. The P value is a percentile that shows whether
the probability of the test result is equal to or greater than the one reported. P values for a given test should
be more-or-less evenly distributed between 0 and 1. Numbers less than 0.1 are cautioned with asterisks to the
right of a P value. Numbers greater than 0.9 are cautioned by carets (∧) placed to the right of a P value. The
individual test entries are as follows:
Bit prediction tests try to predict the value of each bit of the sequence from the beginning to a predefined
point in the sequence. The numbers of zeros and ones in the previous predefined number of bits are counted. If
the ones outnumber the zeros, a zero is predicted; if the zeros outnumber the ones, a one is predicted. In the
242
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
bit prediction A, B, C, D, E tests, the number of bits counted are, respectively, all, 1, 9, 17, 33, and 65 previous
bits. In a random sequence the probability of success of any such prediction is 1/2. The number of successes is
counted and a chi-squared statistic is calculated, whose degrees-of-freedom is 1.
The byte prediction A, B, C test suit tries to predict the value of each byte of the sequence from the
beginning of the sequence to the end. The first byte of the sequence is predicted to equal 0. In a random
sequence the probability of success of any such prediction is 1/256. The number of successes is counted. A
chi-squared statistic is calculated. The degrees-of-freedom is 1. In the byte prediction A test, the next byte is
predicted to be equal to all of the previous bytes bitwise XORed together. In the byte prediction B test, the
next byte is predicted to be equal to the sum of all of the previous bytes, modulo 256. In the byte prediction
C test, the next byte value is predicted to be zero until the first zero is found. From that point on, the next
byte value is predicted to be the byte value whose last appearance was the furthest back in the sequence. In
the byte prediction D test, a given byte value is predicted to be followed by the same byte value it was followed
by the last time it appeared in the sequence. A byte value that has not previously appeared in the sequence is
predicted to be followed by the byte value of the first byte, in the sequence. The first byte of the sequence is
predicted to equal zero.
4.1.3. The avalanche test
The final test is the avalanche test, which measures nonlinearity. If a change in one of the input bits changes at
least half of the output bits (avalanche), then it meets the desirable property of nonlinearity [48]. This ensures
that if an adversary tries to flip one of the bits of the input and analyze the effect on the output (an attack cited
in Section 2), the avalanche in the output will give no information about the function inside. Mathematically,
the avalanche effect on F: 2 m → 2 n is defined as:
For all x, y|H(x, y) = 1, Average (H(F (x), F (y))) = n/2.
(1)
In our test, we follow the procedure for 8192 values, which is experimentally proved to be enough numbers
for testing [48]. A total of 8192 true random numbers, each 96-bits long, are used from randomnumber.org.
Next, 1 bit of the input is randomly flipped and the effect on the output is analyzed. For each flip, the input bits
are compared with the output bits and the number of flips (which is the difference) is divided by 96. Dividing
the avalanche effect in Eq. (1) by 96, we make this test independent of the number of bits n. The expected
average is 0.5.
4.2. The statistical test results for eMT
ENT batteries of statistical tests were run for the eMT, Mixbits outputs, and XORed values of 2 consecutive
outputs. The results of the 7 tests are given in Table 2. The first 2 rows are the results of the serial correlation
coefficient for the byte and bit levels. As the results must be close to zero for randomness, the eMT and
Mixbits results satisfies the randomness criteria. The next test is the chi-square test. In order not to suspect
randomness, the values must be between 10% and 90%; except for the Mixbits (99.75%), the results satisfy the
criteria. According to this test, Mixbits may not be a good random number generator. The following test is
the arithmetic mean test and closeness to 127.5 is required. The eMT and XORed consecutive eMT results are
closer to the required value. The result of the Monte Carlo value for the Pi test approaches the correct Pi value
for both functions; hence, both functions pass this test with error rates of less than 0.1%. The final 2 tests are
the entropy and compression rate. In Table 2, both the eMT and Mixbits have fair scores for entropy (very
243
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
close to 8) and 0 compression values. The ENT test results comparison is in favor of the eMT function as it
has no values outside of those required, while Mixbits fails a critical test.
Table 2. Comparison of ENT test results of eMT and Mixbits.
Test
Byte
Bit
Chi-square statistics
Arithmetic mean
(127.5 = random)
Monte Carlo π estimation
Entropy (bits/byte)
Compression rate
eMT
0.000946
–0.000437
269.73 (25.16%)
eMT (Zi ⊕Zi +1)
0.000223
0.000067
271.84 (22.39%)
Mixbits
–0.000152
–0.000043
196.23 (99.75%)
127.4784
127.5183
127.3920
3.143188477
(0.05% error)
7.999876
0%
3.141167764
(0.01% error)
7.999875
0%
3.14262390
(0.03% error)
7.99991
0%
Mixbits (Zi ⊕Zi +1)
–0.000331
0.000522
250.50 (56.68%)
127.6035
3.138634786
(0.09% error)
7.999885
0%
The David Sexton’s battery test results also show that our scheme has better results. In Table 3, the
eMT has only the bit prediction B statistic result close to the unacceptable 0 value. However, Mixbits has 2
values close to the unacceptable value 1; one in the bit prediction C and one in the D statistics tests. The eMT
also performs better than Mixbits in the David Sexton battery tests.
Another result in favor of the eMT is in the critical avalanche effect (Table 4). Gossamer mentions the
test but fails to provide results; therefore, we run the tests for Mixbits. Our proposed function complies with the
avalanche effect with a result of 0.50633035325733, but Mixbits fails the test with a score of 0.32932535797499.
This result proves that for a 1-bit flip in the input of Mixbits, half of the output bits are not flipped. In other
words, Mixbits produces biased nonces for Gossamer.
Table 3. Comparison of eMT and Mixbits David Sexton test results.
Test
Bit prediction A statistic
Bit prediction B statistic
Bit prediction C statistic
Bit prediction D statistic
Bit prediction E statistic
Byte prediction A statistic
Byte prediction B statistic
Byte prediction C statistic
Byte prediction D statistic
eMT (P value)
0.6225
0.0220*
0.1815
0.4112
0.1705
0.2871
0.7071
0.5730
0.7661
Mixbits [9] (P value)
0.7398
0.5521
0.9093∧
0.9422∧
0.5012
0.5837
0.6498
0.6054
0.8756
Table 4. Avalanche effect results.
A
B
C
D
IDS
eMT
Mixbits
k2
k3
244
Avalanche results
0.019550
0.495568
0.494485
0.493333
0.494567
0.506331
0.329325
0.492003
0.496311
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
As an overall evaluation of the results, it can be concluded that the eMT produces unbiased and nonlinear
results. Based on this success, we use the eMT in the design of messages and IDS. The next step is to see the
effects of the eMT on the test results of IDS.
4.3. The statistical tests for IDS
Producing biased IDS values results in predicting its next value or tracing a tag. Therefore, the IDS is one
of the most important variables in the RFID tag. To prevent traceability, the IDS is changed at the end of
every run. An adversary aims to estimate the next IDS value by analyzing the previous values. If a relation
between the IDS values is found, the tag can be singled out, wherever it goes. Therefore, it is fundamental to
test the statistical properties of the produced IDS values. The proof that our scheme does not produce biased
IDS values is given in Tables 4, 5, and 6.
The avalanche test result of the IDS (0.494567) in Table 4 is in line with the requirement that it should be
around 0.5. This result shows that an adversary cannot gain much information by flipping a bit and analyzing
the result on the output.
The test results of the ENT for an input of 2 17 bytes of IDS data are shown in Table 5. The second
column of Table 5 is acquired after testing the results of the IDS. The last column is the result for the 2
consecutive IDS values XORed with each other, which examines the relation between consecutive IDS values.
The serial correlation coefficient results in both columns are very close to 0, meaning that the next bits of bytes
of IDS values cannot be guessed. The chi-square statistics results are far from the 2 undesirable extremes of 0%
and 100%, which shows that both the IDS and XORed IDS values cannot be suspected of being nonrandom.
Since the arithmetic mean results are close to 127.50, it is proof that the IDS and XORed IDS data are random.
The deviation from the correct Pi value is 0.07% and 0.19%, respectively. This result in the Monte Carlo Pi
estimation also supports the randomness of our IDS values. With entropy results very close to 8 and compression
results of 0, our IDS values are random.
Table 5. ENT test results of IDS.
Test
Byte
Bit
Chi-square statistics
Arithmetic mean (127.5 = random)
Monte Carlo π estimation
Entropy (bits/byte)
Compression rate
IDS
0.001224
–0.000160
250.71 (56.42%)
127.4951
3.139434814 (error, 0.07%)
7.999885
0%
IDS (Zi ⊕Zi +1)
0.000408
–0.000523
253.01 (52.35%)
127.4550
3.147591763 (error, 0.19%)
7.999884
0%
The IDS performs well in David Sexton’s battery tests, too (Table 6). It has 2 in the undesired high score
range but they are below the risky 0.95 value. The rest of the tests are satisfactory and to an adversary listening
in the air, the IDS seems random. Therefore, using the eMT function, the randomness of IDS is provided.
4.4. Statistical test results of messages A, B, C, D, k 2 , and k 3
The ENT, avalanche, and David Sexton’s battery tests are carried out for messages A, B, C, and D, and regularly
updated shared secrets k 2 and k 3 . During the tests, 2 17 bytes of data are used for the ENT and David Sexton’s
battery tests, and 8192 are used for the avalanche test. Detailed evaluation of each message and secret is not
practical, but a brief summary is provided next. According to the ENT test results in Table 7, only message D’s
245
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
chi-square test result is in the almost suspect range, all of the other messages and secrets are in the acceptable
range. Therefore, they all pass the ENT test suite.
Table 6. David Sexton test results of messages and secrets.
Statistic (P value)
Bit prediction A
Bit prediction B
Bit prediction C
Bit prediction D
Bit prediction E
Byte prediction A
Byte prediction B
Byte prediction C
Byte prediction D
A
0.2832
0.5212
0.2645
0.5526
0.9422∧
0.1543
0.4714
0.1212
0.2531
B
0.8678
0.0655*
0.5043
0.7067
0.6108
0.5108
0.3806
0.1175
0.4246
C
0.0375*
0.8505
0.9884∧
0.9389∧
0.2091
0.6611
0.8143
0.2531
0.8879
D
0.7036
0.4442
0.6259
0.8803
0.1879
0.1938
0.3089
0.9127∧
0.0795*
k2
0.4100
0.9076∧
0.7466
0.1764
0.6441
0.1543
0.6498
0.3639
0.5519
k3
0.0118*
0.9983∧∧
0.8246
0.9076∧
0.7628
0.2048
0.4909
0.9501∧
0.3892
IDS
0.8010
0.6382
0.4336
0.1731
0.9433∧
0.7071
0.9252∧
0.5945
0.2731
Table 7. ENT test results of A, B, C, D, k 2 , and k 3 .
Test
Byte
Bit
Chi-square
statistics
Arithmetic
mean (127.5)
Monte Carlo π
estimation
Entropy
(bits/byte)
Compression
rate
A
0.001624
0.000083
244.10
(67.73%)
B
–0.000237
–0.000279
264.93
(32.14%)
C
–0.000006
–0.000216
269.71
(25.19%)
D
0.001039
0.000021
219.72
(94.64%)
k2
–0.000024
0.000261
263.92
(33.72%)
k3
0.000306
0.000190
236.32
(79.35%)
127.4395
127.4449
127.4078
127.5115
127.5978
127.4093
3.149490356
(0.25% error)
3.141967773
(0.01% error)
3.144104004
(0.08% error)
3.146194458
(0.15% error)
3.139389038
(0.07% error)
3.133438110
(0.26% error)
7.999888
7.999879
7.999876
7.999899
7.999879
7.999892
0%
0%
0%
0%
0%
0%
In the David Sexton’s battery tests (Table 6), only k 3 performs poorly in the prediction tests. Hence, k 3
is deliberately not used in the eMT or IDS next . The performance of k 3 can be improved by calling the eMT
once more. However, to avoid additional computation costs, no more calls are made. Messages A, C, and D
are freed from k 3 ’s poor performance by the ARX operations. This is depicted in the satisfactory results in
Tables 6 and 7. The avalanche test result for message A is poor, which contains the nonce n 1 generated by the
reader. However, this is not a disadvantage as long as an adversary cannot isolate n 1 . Messages B, C, D, and
IDS depend on message A. In spite of message A’s poor performance, the eMT introduces randomness into all
of the messages and IDS.
5. Security and performance analysis
A mutual authentication algorithm is considered secure if the parties involved in the communication prove
themselves to each other without exposing the IDS, shared secrets, or locations. It is also important that no
outsider succeeds to prove herself as a legitimate party in the protocol. The algorithms studied in Section 2
clearly fail these goals. The security of an algorithm can be increased if it can be demonstrated that it does not
suffer from the known attacks effective on previous protocols. Below, we show that our proposal does not suffer
from vulnerabilities and has the extra benefit of consuming considerably less die area and fewer clock cycles.
A rotational cryptanalysis and resistance against known attacks is presented in the security analysis. In the
246
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
performance analysis, the ULERAP, Gossamer, and some popular hashing/encryption schemes are compared.
Possible attacks against the ULERAP are also considered.
5.1. Rotational cryptanalysis and use of AES s-boxes
Rotational cryptanalysis concentrates on addition-rotation-XOR (ARX) systems [30], such as the ULERAP
and Gossamer. A test of vulnerability against rotational analysis is provided. For a given number of additions
(q), the logarithmic probability (pr) of any ARX scheme for q < –t / [log 2 (pr)] is claimed to be vulnerable
to rotational cryptanalysis [30]. Word length t is L = 96 in our scheme. The value of log 2 (pr) tends to be 2,
resulting in q = 48. That is to say, any scheme with less than 48 rotations, i.e. ROT(x, y), where ham(y) < 48,
is considered insecure. In our scheme, around 10 rotation operations are executed, each for a random number of
times. In the eMT, a rotation ROT R (X, 0x001FFFFFFFFFFFFF) is included. Ham(0x001FFFFFFFFFFFFF)
is 53, putting our scheme in the secure category. A larger number of rotations increases log 2 (pr) and decreases
the vulnerability risk.
In addition, parts of the reliable AES S-box are substituted into the terms guaranteeing a nonzero, large,
random number of rotations that avoids the regular DES S-box weaknesses hinted at in [49]. Finally, message
C is obtained by 2 consecutive rotation operations, one for k 0 times and one for a random number of n 2 times.
Randomness obtained by a random number of rotations is an important security improvement [50].
5.2. Applying known attacks to our proposed ULERAP scheme
The known passive attacks [19–24] launched against the previous triangular protocols [16–18] cannot be launched
on our scheme because they are incapable of rotational analysis. The only attacks that can be tried on our
proposal are those in [28,38] and our attack, in Section 2.3.
The authors in [28] flipped the bits of the first message of the reader, one by one, and examined the
outcome reflected in the responses of the tag. Using the changed bit values, the attack was escalated by
exploiting the algebraic weaknesses of XOR/OR equations. The attack was finalized by a probabilistic approach
on the binary status of the XORed secrets. The attacks elaborated in [28] do not work on the ULERAP because
the XOR and additions are encapsulated in rotations of unpredictable amounts making the analysis of the status
of a specific bit position impossible.
The attack of all zeros [38] does not work on the ULERAP because k 0 and k 1 are taken from the AES
S-boxes and are never zeros. If only k 2 and k 3 are zeros, the attack cannot succeed because messages B, C, D,
IDS next , and k 2next do not reduce to simple equations, because the eMT does not produce zero-valued n 2 , n 3 .
The only reductions are A = ROT L ((IDS + k 0 )⊕ n 1 , k 1 ) and k 3next = ROT L ((ID ⊕ n 3 , n 3 ), which cannot
be used in other equations. Even if the k 2 , k 3 , and n 1 values are all zeros, the attack does not escalate. Only
A reduces to an unsolvable equation, A = ROT L (IDS + k 0 , k 1 ). The increased security is due to nonzero n 2 ,
n 3 and a different combination of terms in B, C, D, and IDS next .
Next, the attack of all ones is tried on each message. The reduced equations are A = (k 2 + k 3 ) – 1,
B = (k 1 + n 2 ) – 1, C = ROT L (k 1 – 1, n 2 ) + (k 2 + k 0 ), and D = (k 3 + k 0 ) – 1. C does not reduce any
further because k 1 – 1 or k 0 is never zero, or all ones. Each equation is an unsolvable 2-unknown equation.
With a probability of 1 / 2 96 for each reduction, the total probability is 1 / 2 4∗96 ; 2 × 2 192 times less than
the attack in [9]. The probability of IDS next being all ones is also 1 / 2 96 . In conclusion, none of the known
attacks succeed in exposing the hidden secrets in our scheme.
247
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
5.3. Tag data confidentiality, integrity, and forgery resistance
The confidentiality of the tag ID and hence the user privacy, is of outmost importance. In our scheme, the
ID appears only in message C. It is concealed inside 2 consecutive rotations obscured by nonces and preshared
secrets, of which none are passed in clear text.
The integrity of the data shared has 2 aspects. One is the integrity of the messages passed, and hence
the data inside of them. The other is the data stored on the tag. If the contents of a message are changed and
go undetected, the parties can be tricked into agreeing to update to malintended values. Any changes on the
messages are detected through nonce n 1 and variable n 2 . Nonce n 1 is passed in encrypted form, inside A to
the tag. Any tampering with A will cause the tag to end up with a different n 1 , resulting in a different n 2 .
This will cause a mismatch between the calculated B’ and passed B. Similarly, any tampering with C or D will
also be detected. Hence, data integrity during communication is guaranteed.
The Gen-2 tags are not improvised to resist tampering with their memory; therefore, the tags are
susceptible to physical attacks. An attacker may obtain the memory contents and hence the IDS, k 0 , k 1 ,
k 2 , and k 3 . Because this attack requires technical equipment, the tag has to be removed from the premises
and brought back. Supply chains must remove sold items immediately from their databases to avoid this type
of attack.
5.4. Tag untraceability and forward security
If the tag outputs recognizably similar messages, it can be traced and the location privacy is revealed. The
entropy and avalanche test results show that our IDS values have better behavior than those of Gossamer’s.
By sending seemingly random values, the tag cannot be singled out and its anonymity is provided. As the tag
always responds with the same IDS until a successful authentication, it can be traced. This is not a breach of
security, as the displacement of unauthenticated tags is not common.
Forward security requires that a compromised session key or secret should only affect its session, and not
endanger earlier sessions [3]. The ULERAP supports this property because capturing the values n 1 , n 2 , k 2 ,
and k 3 in a session is not sufficient to decrypt the past sessions, as these terms are updated every session and
need to be used all together.
5.5. Passive attacks
We test our design against all of the referenced attacks. None of the successful attacks on triangular functions
succeed, as the ULERAP is an ARX-c system. None of the secrets can be deduced by bit insertion or bit
flipping. Our technique used to attack Gossamer is successful because the protocol uses only double rotations
for obtaining the messages. We use partial AES S-boxes to add constants to the rotations, turning the scheme
into an ARX-c system, which are well defended in [30].
The rotational analysis of all ones in Section 2.2.3 used to obtain equations does not work, because the
analysis in Section 5.2 shows that the ULERAP’s messages cannot be reduced to one unknown equation. For
an all zeros attack, the probability of the 3 terms k 2 , k 3 , and n 1 being zeros is 1 / 2 288 ; still cryptanalysis is
not possible. An active attacker may try to impose all zeros, but k 0 , k 1 from the AES S-box and eMT do not
allow further zeros.
5.6. Active attacks
The passive ULERAP tags are not equipped to resist sophisticated active attacks. The gain obtained by actively
attacking a single tag is highly unfavorable compared to the danger of being detected. Meanwhile, the silent
248
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
recording of all communication for later analysis at a secure hideout is more dangerous. A single decoded
exchange may lead to the exposure of the information on all tags. Therefore, passive attacks are more beneficial
to an attacker. Despite the reported risks and threats of using RFID technology, it is very unlikely that an
attacker would actively interfere in the presence of a legitimate reader without being noticed. If all of the RFID
abuse reports were true, the tags would not have been so popular in supply chains. Nevertheless, traditional
perimeter-measures are always good to counter such attacks [3], as explained in Section 5.6.2.
5.6.1. Denial of service, replay, exhaustion, and disclosure attacks
In the first phase of the authentication, neither the reader nor the tag knows the opposite. Therefore, just a
‘hello’ and a simple ‘IDS’ opens the avenue to the denial of service, replay, and exhaustion attacks of [6,37,38].
However, these attacks are easily detectable and cannot escalate into the mutual authentication phase, as the
tag checks B’ = B. Any mismatch here stops the exchange. A fresh nonce n 1 is used in every session and the
IDS, n 2 , k 2 , and k 3 are recalculated, preventing a replay attack. Disclosure attacks try to reach the ID value.
The ULERAP prevents the disclosure of the ID by encrypting it in step 4 (Figure 3). The increased security of
the encryption of messages A, B, and the avoidance of repeating the same terms in C are explained in Section
5.2.
5.6.2. Desynchronization attack and IDS collision
Desynchronization is possible mainly because previous protocols allow the tag update first and then ignore any
acknowledgement. The authors in [6] and [13] exploited this weakness in their attack on Gossamer. Adding
only a synchronization bit s as in [13] is not enough either. In our protocol, the reader updates first and
signals the tag to update its secrets by message D. This helps to resist tag desynchronization, but allows
reader desynchronization. For example, selectively blocking the reader’s message D (Figure 3) in 2 consecutive
exchanges tricks the reader into updating its IDS value twice, but leaves the tag with the old, irrelevant IDS
value. This permanently blocks any future authentication. Although possible, this type of desynchronization
can be detected and prevented. An increased number of desynchronized tags in an area is easily detected. The
perimeter security equipment mentioned in Section 3.1 would reveal the presence of an active attack. The attack
can be prevented if the database server keeps 2 counters as a sequence number of the old and new secret values;
for example, one for IDS next and one for IDS old (Figure 3). Never letting the difference between the sequence
numbers of IDS next and IDS old be greater than one, i.e. never allowing 2 consecutive IDS old authentications,
is the trick.
The occurrence of IDS collision (same IDS for 2 tags) is a possibility to be considered [6]. To avoid IDS
collision, if IDS next happens to be a presently used IDS, instead of sending message D, the reader is instructed
to start a new round. Since the server knows the collision, the old IDS is expected in the retry.
5.7. Performance analysis
The clock cycles of the computations needed for the decryption of a challenge, generation of a nonce, and the
encryption of a reply deteriorate the number of tags read per second. Moreover, a complex PRNG function
increases the die area, and hence the UHF tag’s cost. Because of these facts, a faster and a smaller deterministic
random number generator is more acceptable. Below we try to prove that the ULERAP is a valid candidate.
Word length L is 96 bits, which is compatible with all encoding schemes accepted by the EPC [8], but the
messages can be processed in m-bit blocks. Gossamer analyzes 4 different word lengths (m = 8, 16, 32, 96) and
249
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
proposes a possible architecture and the logical memory map conforming to Gen-2 RFID specifications. The
guidelines of the implementation in Gossamer for m = 16 set a fair comparison ground. As will become clear, m
= 16 is also necessary for conforming to clock-cycle constraints. Since the eMT uses the same simple operations
in a sequential manner, the same arithmetic logic unit (ALU) of Gossamer can be used, which facilitates fair
comparison. Two registers and the same signaling are enough to select inputs from the stored values for the
eMT function. The control signal selects the operation that will be used in the ALU. It should be noted that
the Mixbits of the Gossamer protocol requires 3 registers.
Table 8 shows the estimation of chip areas, which uses the gate equivalents (GEs) of [51] and the amount
required for each logic gate [52]. A total GE for each operator is obtained after multiplying by m , i.e. 16.
Although the ULERAP has additional OR, AND, and NOT operations, it uses 2 registers. Gossamer requires
3 registers because Mixbits is passed by 2 parameters and an additional register is required to hold temporary
values. The ULERAP’s total GE of 680 gates is smaller than Gossamer and well below the critical value of a
few thousand gates. As every 1000 GE adds US$0.01 to the cost [50] and the power consumption is proportional
to the number of gates, the ULERAP is well in the low-cost, ultra-lightweight category.
Table 8. Gate equivalents of ULERAP and Gossamer (16-bit architecture).
Operator
Register
Adder
Shifter
AND
OR
XOR
NOT
Total
Control
Grand Total
No. used
2
1
1
1
1
1
1
Logic
Flip flop
6 gates
Flip flop
Gate
Gate
Gate
Gate
GE [53]
5.33
1.78
5.33
1.33
1.33
2.67
0.67
-
Gates
30%
ULERAP
170.56
170.88
85.28
21.28
21.28
42.72
10.72
522.72
156.82
679.54
Gossamer
255.84
170.88
85.28
42.72
554.72
166.42
721.14
Other performance features are given in Table 9. The operation types of both schemes are in the simple
bitwise category, except that the ULERAP is sequential and Gossamer is not. One important feature is the
memory requirement on the tag. Memory contains the IDS, ID, constants, and the keys k 0 , k 1 , k 2 , and k 3 .
The constants of the eMT and k 0 , k 1 can be programmed into the reserved area of the ROM, as in [3]. The
remaining IDS, k 2 , and k 3 values (3L) are kept in the user memory. Nowadays, 512 bits ( >5 L) of user RAM
are common in commercial UHF Gen-2 tags, leaving an additional 2 L of space for storing temporary values.
While both protocols pass the same amount of messages, the ULERAP uses more space on the server at the
expense of more security. For a server with gigabytes of disk space, this is no longer a handicap.
Table 9. Other performance features of ULERAP and Gossamer (16-bit architecture).
Performance feature
Operation types
Memory size on the tag
Memory size on the database
Total messages passed
Gossamer
⊕, +, Rot, Mixbits
7L
6L
6L
ULERAP
⊕, +, ∧, ∨, Rot, eMT
9.5 L
13 L
6L
Next, the number of clock cycles has to be checked against the limit of 1800 in [53] or 2000 in [54] for
the ultra-lightweight category. The tag’s work at 100 kHz and a reader communicates with the tags using
250
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
an interleaved protocol [53,55]. The ULERAP and Gossamer both satisfy the 1800 clock cycles with 16-bit
architecture design (m = 16). In Table 10, our design’s tag finishes computations in 1458 clocks, which is less
than the 1800 clocks and hence conforms to the ultra-lightweight category of [5,54]. Meanwhile, Mixbits is
called twice in Gossamer, which costs 4 × 32 × 96 / m computations per call. For m = 8, Gossamer fails and
barely satisfies the 1800 limit for m = 16. The ULERAP consumes less time than Gossamer and the eMT costs
only 255 clocks.
Table 10. Comparison of gate count-clock cycle products based on [53].
Performance parameter
Comp. cost (clock cycles)
Chip area (GE)
Area × delay (complexity)
Gossamer
1752
721
1,263,192
SHA-1
1274
8120
10,344,880
AES [55]
1032
3400
3,508,800
SHA-256
1128
10,868
12,259,104
ULERAP
1458
680
991,440
The chip area × delay value (area-delay product) is a measure of complexity [54]. Table 10 shows that our
scheme has lower complexity than Gossamer’s hashing and encryption implementations. A special AES design
consumes around 3400 GE and uses 1032 clock cycles to finish a 128-bit encryption [54]. A protocol where a
tag performs one encryption for authenticating the reader, one encryption for preparing its authenticator, and
a random number generation (for the eMT equivalence), typically consumes 1032 × 2 × 3400 + 255 (eMT) =
7,017,855 gate-clocks. Hence, the complexity of any AES-based proposal is more than 7.07 times that of our
proposal.
The area-delay product for hashing functions is very high, even for 32-bit architectures. The complexity
values clearly indicate that encryption and hashing schemes are not in the ultra-lightweight category. However,
tag manufacturers can wait until they are viable, during which ultra-lightweight cryptography is available.
5.8. Possible attacks on our protocol
Gen-2 tags are not robust against physical tampering or side channel attacks like electromagnetic or power
analysis methods that may reveal stored secrets on the tag. Advanced electronic security techniques are needed
to resist these attacks.
For special cases where the x and y values of operation Rot(x, y) are all ones or zeros (Section 2.2.3), an
active rotational cryptanalysis attack may be launched to obtain the terms of A, B, C, or D. Although not very
likely, messages A, B, or C can be reduced to equations with 2 unknowns.
6. Conclusion
This paper outlines a security analysis of previous ultra-lightweight authentication protocols. Passive and
active attacks are considered. The failure of the previous protocols is demonstrated to be the result of repeated
weaknesses in protecting the secret ID number. A protocol, the ULERAP, is proposed, which attains the
indispensable property of confusion and nonlinearity by including parts of AES S-boxes into rotation operations
and by a random number of rotations. Security is further increased by reconstructing a proven random number
generator as a deterministic function eMT. The eMT’s success in providing nonzero, unbiased, random variables
is clearly depicted in the messages generated. The ARX-c system rules are introduced and obeyed in the
proposal. A ‘first reader-updates’ algorithm and tag update-signaling are used. To resist desynchronization and
disclosure attacks, keeping sequence numbers on the server side for updated values is recommended.
251
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
Stronger test results prove that the proposed protocol offers better resistance against known attacks
than the previous vulnerable protocols. In addition, the proposed scheme has 7 times lower complexity than
AES-based protocols, which is today’s widely accepted symmetric cryptography algorithm. Unfortunately,
incorporating AES in low-cost tags is not yet possible. Therefore, a cheaper, implementable algorithm in the
ultra-lightweight category is needed. With its simple bitwise operations and small complexity, the ULERAP is
a viable option until the AES becomes available in low-cost tags.
Future work involves the physical implementation of a tag circuit and the design of a stateful server
database that keeps track of authentication steps. While efforts towards compact encryption designs suitable
for passive tags are intensified, our protocol is a viable option to implement for better security.
References
[1] C.M. Robert, “Radio frequency identification”, Computers and Security, Vol. 25, pp. 18–26, 2006.
[2] R. Das, P. Havrop, “RFID forecasts, players and opportunities 2011–2021”, 2010. Available at
http://www.idtechex.com/research/reports/rfid forecasts players and opportunities 2011 2021 000250.asp (Last
accessed: 10 October 2012).
[3] P.P. Lopez, J.C.H. Castro, J.M.E. Tapiador, A. Ribagorda, “An ultra light authentication protocol resistant to
passive attacks under the Gen-2 specification”, Journal of Information Science and Engineering, Vol. 25, pp. 33–57,
2009.
[4] S.E. Sarma, S.A. Weis, D.W. Engels, “RFID systems and security and privacy implications”, Proceedings of the
4th International Workshop on Cryptographic Hardware and Embedded Systems, pp. 454–470, 2002.
[5] H.Y. Chien, “SASI: A new ultra lightweight RFID authentication protocol providing strong authentication and
strong integrity”, IEEE Transactions on Dependable and Secure Computing, Vol. 4, pp. 337–340, 2007.
[6] Z. Bilal, A. Masood, F. Kausar, “Security analysis of ultra-lightweight cryptographic protocol for low-cost RFID
tags: Gossamer protocol”, International Conference on Network-Based Information Systems, pp. 260–267, 2009.
[7] ISO/IEC 18000-6:2010. Available at http://www.iso.org/iso/iso catalogue/ catalogue tc/catalogue detail.htm?
csnumber=46149 (Last accessed: 21 October 2012).
[8] Gen-2, 2008. Class-1 Generation 2 UHF Air Interface Protocol Standard,
http://www.gs1.org/gsmp/kc/epcglobal/uhfc1g2 (Last accessed: 31 October 2012).
Ver. 1.2.0. Available at
[9] P.P. Lopez, J.C.H. Castro, J.M.E. Tapiador, A. Ribagorda, “Advances in ultralightweight cryptography for low-cost
RFID tags: Gossamer protocol”, Information Security Applications, pp. 56–68, 2008.
[10] T. Van Deursen, S. Radomirovic, “Attacks on RFID protocols”, Cryptology ePrint Archive, Report 2008/310, 2008.
[11] U. R¨
uhrmair, F. Sehnke, J. S¨
olter, G. Dror, S. Devadas, J. Schmidhuber, “Modeling attacks on physical unclonable
functions”, Proceedings of the 17th ACM Conference on Computer and Communications Security, pp. 237–249,
2010.
[12] U. R¨
uhrmair, J. S¨
olter, F. Sehnke, “On the foundations of physical unclonable functions”, IACR Cryptology ePrint
Archive, pp. 277, 2009.
[13] K.H. Yeh, N.W. Lo, “Improvement of two lightweight RFID authentication protocols”, Information Assurance and
Security Letters, Vol. 1, pp. 6–11, 2010.
[14] I. Vajda, L. Butty´
an, “Lightweight authentication protocols for low-cost RFID tags”, Proceedings of the 7th IFIP
WG 11.2 Workshop on Security in Ubiquitous Computing, 2003.
[15] A. Juels, “Minimalist cryptography for low-cost RFID tags”, Proceedings of the 4th International Conference on
Security in Communication Networks, pp. 149–164, 2005.
252
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
[16] P.P. Lopez, J.C.H. Castro, J.M.E. Tapiador, A. Ribagorda, “M2AP: a minimalist mutual-authentication protocol for
low-cost RFID tags”, Proceedings of the 3rd International Conference on Ubiquitous Intelligence and Computing,
pp. 912–923, 2006.
[17] P.P. Lopez, J.C.H. Castro, J.M.E. Tapiador, A. Ribagorda, “LMAP: a real lightweight mutual authentication
protocol for low-cost RFID tags”, Workshop on RFID Security, 2006.
[18] P.P. Lopez, J.C.H. Castro, J.M.E. Tapiador, A. Ribagorda, “EMAP: an efficient mutual authentication protocol for
low-cost RFID tags”, OTM Federated Conference and Workshop: IS Workshop, pp. 352–361, 2006.
[19] T. Li, R. Deng, “Vulnerability analysis of EMAP - an efficient RFID mutual authentication protocol”, Proceedings
of the 2nd International Conference on Availability, Reliability and Security, pp. 238–245, 2007.
[20] T. Li, G. Wang, “Security analysis of two ultra-lightweight RFID authentication protocols”, Proceedings of the
IFIP TC-11 22nd International Information Security Conference, Vol. 232, pp. 109–120, 2007.
[21] C. Hung-Yu, H. Chen-Wei, “Security of ultra-lightweight RFID authentication protocols and its improvements”,
ACM SIGOPS Operating Systems Review, Vol. 41, pp. 83–86, 2007.
[22] M. Barasz, B. Boros, P. Ligeti, K. Loja, D. Nagy, “Breaking LMAP”, Conference on RFID Security, pp. 69–78,
2007.
[23] M. Barasz, B. Boros, P. Ligeti, K. Loja, D. Nagy, “Passive attack against the M2AP mutual authentication protocol
for RFID tags”, Proceedings of the 1st International EURASIP Workshop on RFID Technology, 2007.
[24] B. Alomair, L. Lazos, R. Poovendran, “Passive attacks on a class of authentication protocols for RFID”, Proceedings
of the 10th International Conference on Information Security and Cryptology, pp. 102–115, 2007.
[25] R.C.W. Phan, “Cryptanalysis of a new ultralightweight RFID authentication protocol – SASI”, IEEE Transactions
on Dependable and Secure Computing, Vol. 6, pp. 316–320, 2009.
[26] J.C.H. Castro, J.M.E. Tapiador, P.P. Lopez, J.J. Quisquater, “Cryptanalysis of the SASI ultralightweight RFID
authentication protocol”, IEEE Transactions on Dependable and Secure Computing, Submitted 2008.
[27] H. Sun, W. Ting, K. Wang, “On the security of Chien’s ultralightweight RFID authentication protocol”, IACR
Cryptology ePrint Archive, pp. 83, 2008.
[28] P. D’Arco, A. De Santis, “On ultralightweight RFID authentication protocols”, Transactions on Dependable and
Secure Computing, Vol. 8, pp. 548–563, 2011.
[29] T. Cao, E. Bertino, H. Lei, “Security analysis of the SASI protocol”, Transactions on Dependable and Secure
Computing, Vol. 6, pp. 73–77, 2009.
[30] D. Khovratovich, I. Nikolic, “Rotational cryptanalysis of ARX”, 17th International Conference on Fast Software
Encryption, pp. 333–346, 2010.
[31] J.C.H. Castro, P.P. Lopez, R.C.W., Phan, J.M.E. Tapiador, “Cryptanalysis of the David-Prasad RFID ultralightweight authentication protocol”, Proceedings of the 6th International Conference on Radio Frequency Identification: Security and Privacy Issues, pp. 22–34, 2010.
[32] S.H. Wang, G.L. Wang, “Analysis of passive attack on RFID authentication protocol ULAP”, Networks and
Communications, Vol. 36, pp. 17–19, 2010.
[33] RFID Security & Privacy Lounge, 2012. Available at http://www.avoine.net/rfid (Last accessed: 21 October 2012).
[34] R. Bassil, W. El-Beaino, W. Itani, A. Kayssi, A. Chehab, “PUMAP: a PUF-based ultra-lightweight mutualauthentication RFID protocol,” International Journal of RFID Security and Cryptography, Vol. 1, pp. 58–66,
2012.
[35] M. Safkhani, N. Bagheri, M Naderi, “Security analysis of a PUF based RFID authentication protocol”, IACR
Cryptology ePrint Archive, pp. 704, 2011.
[36] G. Avoine, X. Carpent, “Yet another ultralightweight authentication protocol that is broken”, IACR Cryptology
ePrint Archive, pp. 691, 2011.
253
¨
OZCANHAN
and DALKILIC
¸ /Turk J Elec Eng & Comp Sci
[37] N. Rama, R. Suganya, “SSL-MAP: a more secure Gossamer-based mutual authentication protocol for passive RFID
tags”, International Journal of Computer Science and Engineering, Vol. 2, pp. 363–367, 2010.
[38] E.G. Ahmed, E. Shaaban, M. Hashem, “Lightweight mutual authentication protocol for low cost RFID tags”,
International Journal of Network Security & Its Applications, Vol. 2, pp. 27–35, 2010.
[39] “EPC Global Class1 Gen2 RFID Specifications”, 2005. Available at http://www.alientechnology.com/docs/AT wp
EPCGlobal WEB.pdf (Last accessed: 27 February 2012).
[40] Y.C. Lee, “Two ultralightweight authentication protocols for low-cost RFID tags”, Applied Mathematics and
Information Sciences, Special Issue, pp. 425–431, 2012.
[41] Y.C. Lee, Y.C. Hsieh, P.S. You, T.C. Chen, “A new ultralightweight protocol with mutual authentication”, WASE
International Conference on Information Engineering, Vol. 2, pp. 58–61, 2009.
[42] P.P. Lopez, J.C.H. Castro, J.M.E. Tapiador, J.C.A. Van der Lubbe, “Security flaws in a recent ultralightweight
RFID protocol”, Workshop on RFID Security, Cryptology and Information Security Series, pp. 83–93, 2010.
[43] M. Matsumoto, T. Nishimura, “Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random
number generator”, ACM Transactions on Modeling and Computer Simulation, Vol. 8, pp. 3–30, 1998.
[44] F. Panneton, P. L’Ecuyer, M. Matsumoto, “Improved long-period generators based on linear recurrences modulo
2”, ACM Transactions on Mathematical Software, Vol. 32/1, pp. 1–16, 2006.
[45] J. Daemen, V. Rijmen, “AES proposal: Rijndael”, 1999. Available at http://csrc.nist.gov/archive/aes/index.html
(Last accessed: 31 October 2012).
[46] W. Stallings, “Cryptography and Network Security”, Pearson Education, 5th Ed., pp. 96–97, 2011.
[47] David Sexton’s battery, 2005. Available at http://www.oocities.org/da5id65536/ (Last accessed: 31 October 2012).
[48] J.C.H. Castro, J.E. Tapiador, A. Ribagorda, B. Ramos, “Wheedham: an automatically designed block cipher by
means of genetic programming”, IEEE Congress on Evolutionary Computation, pp. 192–199, 2006.
[49] E. Aras, M.D. Y¨
ucel, “Performance evaluation of safer K-64 and S-boxes of the safer family”, Turkish Journal of
Electrical Engineering & Computer Sciences, Vol. 9, pp. 161–175, 2001.
[50] P.P. Lopez, P.T. Lim, T. Li, “Providing stronger authentication at a low-cost to RFID tags operating under the
EPCglobal framework”, IEEE/IFIP International Conference on Embedded and Ubiquitous Computing Conference,
Vol. 2, pp. 159–167, 2008.
[51] A. Moradi, A. Poschmann, “Lightweight cryptography and DPA countermeasures: a survey”, Proceedings of the
14th International Conference on Financial Cryptography and Data Security, pp. 68–79, 2010.
[52] C. Paar, A. Poschmann, M.J.B. Robshaw, “New designs in lightweight symmetric encryption”, In: RFID Security:
Techniques, Protocols and System-on-Chip Design, Springer, pp. 349–371, 2009.
[53] M. Feldhofer, S. Dominikus, J. Wolkerstorfer, “Strong authentication for RFID systems using the AES algorithm”,
Cryptographic Hardware and Embedded Systems, Vol. 3156, pp. 357–370, 2004.
[54] M. Feldhofer, J. Wolkerstorfer, “Hardware implementation of symmetric algorithms for RFID security”, In: RFID
Security: Techniques, Protocols and System-on-Chip Design, Springer, pp. 373–415, 2009.
[55] P.P. Lopez, J.C.H. Castro, J.E. Tapiador, A. Ribagorda, “An efficient authentication protocol for RFID systems
resistant to active attacks”, Conference on Emerging Direction in Embedded and Ubiquitous Computing, pp.781–
794, 2007.
254