013 - Lightweight Mutual Authentication
013 - Lightweight Mutual Authentication
013 - Lightweight Mutual Authentication
1 Introduction
In spite of the recent beginning of the mass deployment of RFID systems their
penetration is nowadays mainly limited by privacy concerns: products labeled
with tags reveal sensitive information when queried by readers, and they do it
indiscriminately. An issue closely linked to privacy is tracking, or the violation of
location privacy. This happens because the answers coming from tags are usually
predictable: in fact, the average low-cost tag always provides the same identifier,
allowing a third party to easily establish a link between a given tag and its holder
or owner. There are some other problems worth to mention: physical attacks,
denial of service (DoS), counterfeiting, spoofing, eavesdropping, traffic analysis,
etc.
The low cost demanded for RFID tags (0.05-0.1¤) forces the lack of resources
for performing true cryptographic operations. Typically, these systems can only
store hundreds of bits and have 5K-10K logic gates, but only 250-3K can be
devoted to security tasks. Despite these restrictions, since the work of Sarma et.
all [16] in 2002, most of the proposed solutions [2, 3, 8, 15, 12, 23] are based on the
use of hash functions. Although this apparently constitutes a good and secure
solution, engineers face the non-trivial problem of implementing cryptographic
hash functions with only 250-3K gates. In most of the proposals, no explicit
algorithms are suggested and finding one is not an easy issue since traditional
hash functions (MD5, SHA-1, SHA-2) cannot be used [18]. In [24] we find a recent
work on the implementation of a new hash function with a reduced number of
gates, but although this proposal seems to be light enough to fit in a low-cost
RFID tag, the security of this hash scheme remains as an open question.
Interestingly, there are solutions which exclusively use non-cryptographic
primitives. The authors of [19] propose a set of extremely lightweight challenge-
response authentication algorithms. These can be used for authenticating the
tags, but they may be easily broken by a powerful adversary. In [9], Juels pro-
poses a solution based on the use of pseudonyms, without using any hash func-
tion. The RFID tag stores a short list of pseudonyms: it rotates them, releasing
a different one on each reader query. After a set of authentication sessions, the
list of pseudonyms will need to be reused or updated through an out-of-band
channel, which limits the practicality of this scheme.
Furthermore, there are solutions based on the concept of human-computer
authentication [7, 10, 21]. The security of the most promising protocols of this
kind (HB, HB+ ) is related to the learning parity with noise problem (LNP),
whose hardness over random instances, still remains as an open question.
2 Efficient-Lightweight Protocol
Like other authors, we think that the security of low-cost RFID tags can be im-
proved with minimalist cryptography [9, 19]. A real lightweight mutual authen-
tication protocol between RFID readers and tags, named LMAP, is proposed in
this paper.
Tag Identification Before starting the protocol for mutual authentication, the
reader has to identify the tag. The reader will send a hello message to the tag,
which will answer by sending its current index-pseudonym (IDS). By means of
this IDS, only an authorized reader will be able to access the tag secret key
(K=K1kK2kK3kK4), which is necessary to carry out the next authentication
stage.
We have analyzed the statistical properties of these four messages with three
well-known suites of randomness tests, namely ENT [20], DIEHARD [14] and
NIST [17]: we have generated a 300MB-file for every message and obtained the
results shown in Table 1. Due to the huge amount of p-values generated by the
NIST statistical battery, the report is not shown in this paper1 . As we can see, it
1
The whole report is available in http://163.117.149.208/lmap/
Table 1. Results obtained with ENT, DIEHARD and NIST over the messages sequence
A B C D
Entropy (bits/byte) 7.999999 7.999999 7.999999 7.999999
Compression Rate 0% 0% 0% 0%
χ2 Statistic 250.98 (50%) 255.71 (50%) 244.46 (50%) 255.18 (50%)
Arithmetic Mean 127.5062 127.4977 127.4946 127.5030
Monte Carlo π Estimation 3.1413 (0.01%) 3.1417 (0.0%) 3.1417 (0.0%) 3.1413 (0.01%)
Serial Correlation Coefficient -0.000040 0.000010 -0.000077 -0.000036
Diehard Battery (Overall p-value) 0.227765
√ 0.775516
√ 0.641906
√ 0.410066
√
Nist Battery
points to ensure messages are not easily distinguishable from a random source,
not even for the eavesdropper/cryptanalyst. We have put particular emphasis on
the properties of the message D due to the fact that in it the tag sends its more
valuable information: the static identification number - ID. As we can verify in
Equation 4, the message D uses an xor of the two new random numbers (n1,
n2) sent by the reader.
Index-Pseudonym and Key Updating After the reader and the tag have
been authenticated mutually, the index-pseudonym and the key updating stage
must be carried out. As tags are very computationally constrained devices, this
task should only use efficient operations: bitwise XOR (⊕), bitwise OR (∨),
bitwise AND (∧), and addiction mod 2m (+). These operations have already
been implemented in the tag for the normal running of the protocol, so its use
will not imply an increase in the gate counting. Nevertheless, we should keep
in mind the temporary requirements which limit the number of operations that
can be performed. Taking all these considerations into account, the proposed
equations for the index-pseudonym and the key updating are the following ones:
The statistical properties of the four subkey updating sequences are good
because in all of them an xor with a random number (n1 or n2) is done. Ow-
ing to the fact that in the index-pseudonym updating we have used a sum in-
stead of a xor, we have analyzed this sequence in the same way we did with
the message sequence (A, B, C, and D): we have generated a 300MB-file and
obtained the results shown in Table 2. The whole report is also available in
http://163.117.149.208/lmap/. From these results, there is no evidence to
ensure that the IDS is different from a random variable.
Table 2. IDS Analysis
IDS
Entropy (bits/byte) 7.999999
Compression Rate 0%
χ2 Statistic 251.75 (50%)
Arithmetic Mean 127.4930
Monte Carlo π Estimation 3.1417 (0.0%)
Serial Correlation Coefficient 0.000078
Diehard Battery (Overall p-value) 0.619483
√
Nist Battery
3 Evaluation
Once the proposed mutual authentication protocol has been presented, we will
evaluate its security, studying the same properties that Yang analyzes in [23].
Protocol HLS [22] EHLS [22] HBVI [8] MAP [23] LMAP
User Data Confidentiality × 4 4
Tag Anonymity × 4 4
Data Integrity 4 4 4
Mutual Authentication 4 4 4
Forward Security 4 4
Man-in-the-middle Attack Prevention 4 4 ×
Replay Attack Prevention 4 4
Forgery Resistance × × ×
Data Recovery × × ×
1. Computation Overhead
Low-cost RFID tags are very limited devices, with only a small amount of
memory and very constrained computationally (only 250-3K logic gates can
be devoted to security-related tasks). Additionally, one of the main draw-
backs that hash-based solutions have is that the load on the server side
(R+B) is proportional to the number of tags. As we can see in Table 4,
this problem is also presented in Yang’s solution [23]. On the other hand,
in our proposal we have completely solved this problem by using an index-
pseudonym that allows a tag to be univocally identified.
2. Storage Overhead
As Yang does, we assume that all components are L-bit sized, that the RNG
1
and the hash function are h, hk : {0, 1}∗ → {0, 1} 2 L and r U {0, 1}L . Our
protocol is based on L-bit index-pseudonyms (IDSs) and a tag has to store
it. For the implementation of our protocol, each tag should have an associated
key of length 4L, which is used for mutual authentication between the reader
and the tag. Moreover, the tag has to store an unique identification number
of length L. The reader has to store the same information, so it requires a
memory of 6L bits.
3. Communication Overhead
The proposed protocol accomplishes mutual authentication between the tag
(T) and the reader (R+B), requiring only four rounds. As we can see in Table
4, other protocols require at least one or two additional messages. Taking
into account that low-cost tags are passive and that the communication can
only be initiated by a reader, four rounds may be considered a reasonable
number of rounds for mutual authentication in RFID environments.
Table 4. Computational loads and required memory
Protocol Entity HLS [22] EHLS [22] HBVI [8] MAP [23] LMAP
No. of T 1 2 3 2 ¬
Hash Operation B ¬ n 3 2Nt ¬
No. of Keyed R ¬ ¬ ¬ 1 ¬
Hash Operation B ¬ ¬ ¬ 1 ¬
No. of T ¬ 1 ¬ ¬ ¬
RNG Operation R ¬ ¬ ¬ 1 ¬
B ¬ ¬ 1 ¬ ¬
No. of T ¬ ¬ ¬ 4 19
Basic Operation1 R+B ¬ ¬ ¬ 2(Nt+1) 21
No. of Encryption B ¬ ¬ ¬ 1 ¬
No. of Decryption R ¬ ¬ ¬ 1 ¬
Number of Authentication Steps 6 5 5 5 4
Required T 1 12 L 1L 3L 2 12 L 6L
Memory Size2
R+B 2 12 L 1 12 L 9L 9 92 L 6L
4 Implementation
In this section, we will explain in detail the proposed architecture for implement-
ing our protocol: the reader sends the message A k B k C, which is received by
the tag. The tag will check this message for authenticating the reader. Once it
is done, the tag will send the message D to authenticate itself.
One of the first and most relevant subjects to consider is whether to choose
a serial or a parallel implementation. Serial means processing the bitstream bit
by bit and parallel means processing the whole message at once. It is a common
assumption that a minimum of 100 tags should be authenticated per second.
As in [4], due to the low-power restrictions of RFID tags, the clock frequency
must be set to 100 KHz. So, a tag may use up to 1000 clock cycles to answer
a reader. Due to these characteristics, it is not necessary to resort to a parallel
implementation. As we can see in Figure 2 we have decided not to process all
the message at the same time, but to do it in blocks of m bits.
The proposed architecture is independent of the word length used. We have
analyzed the features of five different word length (m = 8, 16, 32, 64, 96). In
Figure 2 we can see a scheme of the proposed architecture. On the left of the
figure we have the memory, which is filled with the index-pseudonym (IDS),
the key K (K1 k K2 k K3 k K4), and the ID. The access to the memory is
controlled by a sequencer. Due to the fact that messages consists of three or
more components, we will need a m-bit register to store intermediate results. In
the middle of the figure we have the Arithmetic Logic Unit (ALU). This unit
will make the following m-bit word length operations: bitwise XOR (⊕), bitwise
OR (∨), bitwise AND (∧), and addiction mod 2m (+). The ALU has two inputs,
one of these values is stored in the memory and another is selected (c 1) between
bit-stream m bits m bits
C_1
m bits
m bits
IDS XOR-m
K1
AND-m output
K2 Register
m bits m bits m bits
K3
OR-m
Sequencier K4
ID SUM-m
C_2
the bitstream and the value stored in the register 1. The control signal c 2 will
select the operation that will be used in the ALU.
In the worse case of our protocol (m = 8 bits), we need 864 clock cycles
for running the protocol (mutual authentication, pseudonym updating, and key
updating). So, if we consider that the clock frequency is set to 100KHz, this
means that the tag answers in 8,64 milliseconds. A tag can authenticate 115
times per second, so the temporary requirements are fulfilled in all the cases.
Another important aspect to study is the number of logical gates necessary for
implementing our protocol. The functions ⊕, ∧, and ∨ will be implemented with
the same number of logic gates that the word length (m). For the implementation
of the adder circuit with carry a parallel architecture is proposed. Six logic gates
are needed for each bit added in parallel1 . Additionally, a 20% of logic gates are
considered for control functions.
As we can see in Table 5, in the best case (m=8) the protocol only needs
around 100 gates. In Table 6, we show also the number of logical gates needed
for implementing various hash functions and AES encryption. A traditional hash
function such as MD5 or SHA needs more than 16K gates, which is, by far, higher
than the capabilities of low-cost RFID tags [18]. An efficient implementation of
AES encryption has been recently published [11], which needs around 3400 logic-
gates [5, 6]. Additionally, there is also a proposal of an implementation of a new
universal hash function for ultra low-power cryptographic hardware applications.
1
Add one bit with carry: S = A ⊕ [B ⊕ CEN T ] CSAL = BCEN T + ACEN T + AB
Table 6. Core Comparison
Although this solution only needs around 1.7K gates, a deeper security analysis
of the hash function is needed and has not yet been accomplished.
Finally, although we have not implemented the circuit physically yet, due to
the known fact that power consumption and circuit area are proportional to the
number of logical gates, it seems that our implementation will be suitable even
for very low-cost RFID tags.
5 A Naif Extension: LM AP +
6 Conclusions
Low-cost RFID tags are very limited devices, with only a small amount of mem-
ory, and very constrained computationally: there are incapable of performing
true cryptographic operations. Surprisingly, most of the security solutions pro-
posed are based on RFID tags using classical cryptographic primitives such as
PRNGs, hash functions, block ciphers, etc. For this reason, we propose a real
Initialization
S: syncronized U: uncertainty
→ ×: message intercepted
References
1. Amphion: CS5265/75 AES Simplex encryption/decryption.
http://www.amphion.com, 2005.
2. E.Y. Choi, S.M. Lee, and D.H. Lee. Efficient RFID authentication protocol for
ubiquitous computing environment. In Proc. of SECUBIQ’05, LNCS, 2005.
3. T. Dimitriou. A lightweight RFID protocol to protect against traceability and
cloning attacks. In Proc. of SECURECOMM’05, 2005.
4. M. Feldhofer, S. Dominikus, and J. Wolkerstorfer. Strong authentication for RFID
systems using the AES algorithm. In Proc. of CHES’04, volume 3156 of LNCS,
pages 357–370, 2004.
5. M. Feldhofer, K. Lemke, E. Oswald, F. Standaert, T. Wollinger, and J. Wolker-
storfer. State of the art in hardware architectures. In Technical report, ECRYPT
Network of Excellence in Cryptology, 2005.
6. M. Feldhofer, J. Wolkerstorfer, and V. Rijmen. AES implementation on a grain of
sand. In IEEE Proc. on Information Security, volume 152, pages 13–20, 2005.
7. H. Gilbert, M. Robshaw, and H. Sibert. An active attack against HB+ - A provably
secure lightweight authentication protocol. Manuscript, 2005.
8. D. Henrici and P. Müller. Hash-based enhancement of location privacy for radio-
frequency identification devices using varying identifiers. In Proc. of PERSEC’04,
pages 149–153. IEEE Computer Society, 2004.
9. A. Juels. Minimalist cryptography for low-cost RFID tags. In Proc. of SCN’04,
volume 3352 of LNCS, pages 149–164. Springer-Verlag, 2004.
10. A. Juels and S. Weis. Authenticating pervasive devices with human protocols.
In Proc. of CRYPTO’05, volume 3126 of LNCS, pages 293–308. IACR, Springer-
Verlag, 2005.
11. M. Jung, H. Fiedler, and R. Lerch. 8-bit microcontroller system with area efficient
AES coprocessor for transponder applications. Ecrypt Workshop on RFID and
Lightweight Crypto, 2005.
12. S.M. Lee, Y.J. Hwang, D.H. Lee, and J.I.L. Lim. Efficient authentication for low-
cost RFID systems. In Proc. of ICCSA’05, volume 3480 of LNCS, pages 619–627.
Springer-Verlag, 2005.
13. T. Lohmmann, M. Schneider, and C. Ruland. Analysis of power constraints for
cryptographic algorithms in mid-cost RFID tags. In Proc. of CARDIS’06, volume
3928 of LNCS, pages 278–288, 2006.
14. G. Marsaglia and W.W. Tsang. Some difficult-to-pass tests of randomness. Journal
of Statistical Software, Volume 7, Issue 3:37–51, 2002.
15. M. Ohkubo, K. Suzuki, and S. Kinoshita. Cryptographic approach to “privacy-
friendly” tags. In RFID Privacy Workshop, 2003.
16. Sanjay E. Sarma, Stephen A. Weis, and Daniel W. Engels. RFID Systems and
Security and Privacy Implications. In Proc. of CHES’02, volume 2523, pages 454–
470. LNCS, 2002.
17. C. Suresh, Charanjit J., J.R. Rao, and P. Rohatgi. A caution-
ary note regarding evaluation of AES candidates on smart-cards. In
Second Advanced Encryption Standard (AES) Candidate Conference.
http://csrc.nist.gov/encryption/aes/round1/conf2/aes2conf.htm, 1999.
18. Datasheet Helion Technology. MD5, SHA-1, SHA-256 hash core for Asic.
http://www.heliontech.com, 2005.
19. I. Vajda and L. Buttyán. Lightweight authentication protocols for low-cost RFID
tags. In Proc. of UBICOMP’03, 2003.
20. J. Walker. ENT Randomness Test. http://www.fourmilab.ch/ random/, 1998.
21. S. Weis. Security parallels between people and pervasive devices. In Proc. of
PERSEC’05, pages 105–109. IEEE Computer Society Press, 2005.
22. S.A. Weis, S.E. Sarma, R.L. Rivest, and D.W. Engels. Security and Privacy As-
pects of Low-Cost Radio Frequency Identification Systems. In Proc. of Security in
Pervasive Comp., volume 2802 of LNCS, pages 201–212, 2004.
23. J. Yang, J. Park, H. Lee, K. Ren, and K. Kim. Mutual authentication protocol for
low-cost RFID. Ecrypt Workshop on RFID and Lightweight Crypto, 2005.
24. K. Yksel, J.P. Kaps, and B. Sunar. Universal hash functions for emerging ultra-
low-power networks. In Proc. of CNDS’04, 2004.