4.2 The Naive Authentication Protocol

Set-up Phase
When each tag is manufactured, each smart tag is associated with a secret identifier, u, and two polynomial functions:

A(x,u) = Au,1 x + Au,0
Au,1 = a11 u + a01
Au,0 = a10 u + a00
B(x,u) = Bu,1 x + Bu,0
Bu,1 = b11 u + b01
Bu,0 = b10 u + b00
, where different users have different coefficients ({a11,a10,a01,a00},{b11,b10,b01,b00}).

When a RFID reader is initialized, the reader is preloaded with an elliptic point α, and three different polynomial functions

C(x) = c1 x + c0
D(x) = d1 x + d0
E(x) = e2 x2 + e 1 x + e0
, where the coefficients remains the same among different readers.

Communication Phase
Each transmission starts, when the reader first sends a random session nonce, γ0 to the tag. After receiving data from reader, the tag generate a random session nonce of its own, called γ1, and hash the concatenations of these two random session. Afterwards, the user computes its secret functions A and B given γ2. That is, γ2 = H(γ1|γ0). Last, the tag sends back a packet of data < γ1,A(γ2,u),B(γ2,u) > to reader side.

Authentication Phase
With the carefully selected coefficients, the authentication process could be achieved by checking the following equality, as shown in the figure 1 below5:

Ĉ(γ2) × A(γ2,u) + Dˆ(γ2) × B(γ2,u)
= α × C(γ2) A(γ2,u) + α × D(γ2) B(γ2,u)
= α ×(C(γ2) A(γ2,u) + D(γ2) B(γ2,u))
= α × E(γ2) (Equation 6)

pict

Figure 1: Naive Protocol


4.2.1 Security Analysis

Vulnerability to Tag Compromise Attack
All tags are preloaded with the same coefficient < a11,a10,a01,a00,b11,b10,b01,b00 >. Assume an attacker has compromised k tags, and each secret function in the tag could leak out 2 pieces of meaningful information about the tag secret u. In other words, the attacker could obtain the following equations:

Tag 1: (
||  (a11u1  +a10)⋅x
||{  (a01u1  +a00)
   (b11u1   +b10)⋅x
|||  (b u    +b  )
|(    01 1    00
Tag k: (
||{  (a11uk  +a10)⋅x
   (a01uk  +a00)
||  (b11uk   +b10)⋅x
(  (b01uk   +b00)

If the attacker could fix the dynamic input x, such as having a rogue reader interrogating the compromised tags, then x would no longer be an effect. In that case, there would be in total 4k equations for k different tags, and the unknowns include {u1,...,uk,a00,a01,a10,a11,b00,b01,b10,b11}
◟------------------◝◜------------------◞(k+8) unknowns. Since the number of variables is less than the number of equation in the linear system, thus, the attacker is able to reveal the secret parameters by solving this linear system.