to a subtle attack, sometimes years later. Cryptographic primitives are used as building
blocks to achieve security goals such as confidentiality and integrity authentication.
Formal methods play a very critical role in examining whether a security protocol is am-
biguous, incorrect, inconsistent or incomplete. Hence, the importance of applying for-
mal methods, particularly for safety critical systems, cannot be overemphasized. There
are two main approaches in formal methods, logic based methodology [3], and tool
based methodology [5][6][7]. In this paper, we specify the hash[1] based RFID authen-
tication protocols as the previous works which employs hash functions to secure the
RFID communication using Casper[6], CSP[5]. Then we verify whether or not it satis-
fies security properties such as secrecy and authentication using FDR model checking
tool[7]. After running FDR tool, we reconfirm the existence of known security flaws in
this protocol and propose the scheme of PPP(Privacy Protection Protocol) based on ver-
nam and standard encryption for secure RFID communication. The contribution of this
paper is designing and verifying the secure authentication protocol, which is widely re-
searched in RFID systems using formal methods. This paper is organized as follows. In
brief, Section 2 describes related work on RFID security and authentication schemes. In
Section 3, the use of model checking is outlined for analyzing security protocols. Our
analyzed result of the protocol will be described in Section 4. The proposed security
scheme associated with encryption are presented in Section 5. Finally, the conclusion
and our future work are addressed in the last section.
2 Related Work
Several researchers have attempted to resolve the security concerns related to the use
of RFID tags and have proposed protocols that claim either to achieve secure authen-
tication or to prevent unauthorized traceability. Most of these solutions only apply for
weak adversary model (see e.g., [1][4]). In particular, those protocols for which a back-
end server is a trusted third party and the channel between the reader and the server is
insecure, are susceptible to man-in-the-middle attacks. Weis-Sarma-Rivest-Engels [1]
propose an RFID system as follows; A reader defines a “Lock” value by computing lock
= hash(key)[1] where the key is a random value. This lock value is sent to a tag and the
tag will store this value into its reserved memory location (i.e. a metaID value), and
automatically the tag enters into the locked state. To unlock the tag, the reader needs to
send the original key value to the tag, and the tag will perform a hash function on that
key to obtain the metaID value. The tag then has to compare the metaID with its current
metaID value. If both of them are matched, the tag unlocks itself. Once the tag is in
unlocked state, it can respond its identification number such as the Electronic Product
Code (EPC)[2] to readers’ queries in the forthcoming cycles.
3 Formal Methods for Security Protocol
3.1 Casper and FDR
Over the last few years, a method for analyzing security protocol that first models com-
munication security protocol using CSP[5], then verifies its secrecy, authentication and
118