Summer 2006 Stevens Institute of Technology & DIMACS REU


Jennifer Tam, Tufts University

Mentors:
Rebecca Wright, Stevens Institute of Technology Associate Professor of Computer Science
Suanne Wetzel, Stevens Institute of Technology Assistant Professor of Computer Science
 
Research Partner:
Kelsey Livingston, Smith College

Click here for the power point presentation that Kelsey and I gave at Rutgers on June 20, 2006. (*Note that there is animation in the slides)

What are RFID Tags?:

Radio Frequency IDentification (RFID) tags are small devices that can be easily placed in all sorts of products.
Their popularity is growing as they can be used as:
 
The tags require little or no power and perform simple functions. The tag's reader often supplies enough power to the tag to carry out the functions necessary. Concerns have developed over privacy issues due to the tags' abilities to track information about its user. Purchasing habits, prescriptions, and other personal information would be available to anyone able to decipher the tag. Encryption methods have been created in an attempt to maintain privacy. Because the tags have little computational power, the protocols developed are not always perfectly secure.
Whatever encryption method is implemented in the RFID tag must use little computational power to keep the cost of manufacturing such a tag low.
 

Introduction:

We will be simulating and analyzing two possible encryption techniques for RFID tags.
The first protocol, HB, [1] was created to withstand passive attacks where an adversary can eavesdrop on the communications between the tag and reader.
  1. The Reader sends a query to the Tag.
  2. The Tag computes the inner product of its secret and the query.
  3. The Tag changes the value calculated in step 2 with a probabiliy epsilon.
  4. The Tag sends the result of step 3 to the Reader.
  5. The Reader checks the result.
These five steps constitute one iteration of the HB protocol. However, many queries are needed, and so the protocol can be run in parallel to get the results in step 5 quickly. The Reader will then accept the tag as valid if the tag sent the correct inner product with epsilon probability. Because the tag will alter its result with probability epsilon in step three of the protocol, a eavesdropper will not be able to recreate the secret.
The hardness of this problem is based on the assumed NP-hardness of the Learning Parity with Noise Problem (LPN).
 
The second protocol, HB+, [2] was created to withstand reasonable active attacks. HB+ runs similarly to HB, but with the addition of a second secret and a randomly generated blinding factor.
  1. The Tag generates a random blinding factor and sends it to the Reader.
  2. The Reader sends a query to the Tag.
  3. The Tag computes the inner product of its first secret and the blinding factor. It then xors the result with the inner product of its second secret and the query.
  4. The Tag changes the value calculated in step 3 with a probabiliy epsilon.
  5. The Tag sends the result of step 4 to the Reader.
  6. The Reader checks the result.
Because the Tag generates the blinding the factor, a passive attacker cannot gain enough data to recreate the secret. However, an active attacker using a man-in-the-middle approach may be able to recreate the secret [3].

Tentative Project Goals:

We will implement the HB and HB+ protocols using java and C++ to analyze properties of the protocols, see whether an actual RFID tag is capable of handling such protocols, and to pursue the implications of a man-in-the-middle attack. The programs will have the ability to input or generate random secrets, queries, and blinding factors. The user will also be able to input epsilon, upper and lower acceptance bounds, the number of queries, and the number of iterations to be performed.
 
We will also determine the best way for the Reader to accept a tag. We will be attempting to answer such questions as:
From the Katz & Shin proof, [4] we will attemp to answer such questions as:

To see our results click here.

Sources:

[1]Hopper, Nicholas J., and Michael Blum. "Secure Human Identification Protocols." Advances in Cryptology. Asiacrypt. 2001. Secure Human Identification Protocols
[2]Juels, Ari and Stephen A. Weis. "Authenticating Pervasive Devices with Human Protocols." Crypto 2005. Authenticating Pervasive Devices with Human Protocols
[3]Gilbert, Henri, Matthew Robshaw, and Herve Sibert. "An Active Attack Against HB+ - A Provably Secure Lightweight Authentication Protocol." 2005. An Active Attack Against HB+ - A Provably Secure Lightweight Authentication
[4]Katz, Jonathan and Ji Sun Shin. "Parallel and Concurrent Security of the HB and HB+ Protocols." Eurocrypt 2006. Parallel and Concurrent Security of the HB and HB+ Protocols