4.4 Privacy-Preserving Authentication Protocol (Current Design)

Set-up Phase
In order to protect data against eavesdropping attack, each smart tag is preloaded with another secret identifier, μ, generated distinctly at each session. In order to reduce the computational cost on the tag side, points parameter, including < α × u λ,βu,1u,0 >, were pre-computed and hard-coded in the source code on tag side. Therefore, it is necessary to have a data structure to maintain such list of points and provide efficient look-up.

AŻu(x) = Au(x) - μ
= su A(x,u) -Żau - μ
 Ż
Bu(x) = Bu(x) - μ
= su B(x,u) -Żbu - μ
αu = α × su
βu,1 = α λ((aŻu c1 +  Ż
bu d1) + (d1 + c1) μ)
βu,0 = α λ((aŻu c0 + bŻu d0) + (d0 + c0) μ)

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. That is, γ2 = H(γ1|γ0). Last, the tag sends back a packet of data < γ1AŻu(γ2)BŻu(γ2)u λ,βu,1u,0 > 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 3 below7:

α × C(γ2) λŻAu(γ2) + α ××D(γ2) λBŻu(γ2) + βu,1 γ2 + βu,0
= α × C(γ2) λ(su A(γ2,u) -aŻ
 u -μ)
+ α × D(γ2) λ(su B(γ2,u) -bŻu -μ)
+ α ×λ(aŻ
 u c1 + bŻ
 u d1 + (c1 + d1) μ)γ2
+ α ×λ(aŻ
 u c0 + bŻ
 u d0 + (c0 + d0) μ)
= α × su λ(C(γ2) A(γ2,u) + D(γ2) B(γ2,u))
= α × su λE(γ2) (Equation 6)


pict

Figure 3: Privacy-Preserving Authentication Protocol


4.4.1 Security Analysis

Resistance against Tag Compromise Attack
This scheme inherit the resistance against tag compromise attack from the previous scheme. In order to disturb the coefficients in the secret functions A(x,u) and B(x,u), we have introduced four tag-based parameters, su,aŻu,bŻu. The following shows that this scheme can defend against k-tag compromise attack.

Tag 1: (
||  su1 ⋅(a11u1 +a10) ⋅x
||{  su1 ⋅(a01u1 +a00) - aŻu1 - μu1
   su ⋅(b11u1  +b10)⋅ x
|||  s 1⋅(b  u   +b  )-  Żb  - μ
|(   u1   01 1    00    u1    u1
Tag k: (
|||  suk ⋅(a11uk +a10 )⋅x
|{  suk ⋅(a01uk +a00 )- aŻuk - μuk
   suk ⋅(b11uk +b10) ⋅x
||||  suk ⋅(b01uk +b00) - bŻuk - μuk
(
There are also 4k equations, however, the unknown variable has turned into
{u ,...,u  ,s  ,...,s  ,a  ,...,a  ,b  ,...,b ,μ   ...μ  ,a ,a  ,a  ,a  ,b ,b  ,b ,b  }
◟-1------k-u1------uk--u1-----uk--u1-----u◝k◜---u1----uk--00-01--10--11-00--01--10--11◞(5k+8) unknowns. Since there is no other way to solve a linear system where the number of unknown variables is grater than the number of equation. Therefore, the system is secure.

Resistance against Eavesdropping Attack
Introduce a session based random, μ. If an eavesdropper had been monitoring for k successful sessions,
Session 1: ({  AŻ (x) =  s ⋅(a  ⋅u + a  )⋅x + (a  ⋅u + a  )- aŻ - μ
    Ż1        u   11      10        01      00   Żu    1
(  B1 (x) =  su ⋅(b11 ⋅u + b10) ⋅x+ (b01 ⋅u + b00)- bu - μ1
Session k: (
{  AŻk (x)  = su ⋅(a11 ⋅u + a10)⋅xk + (a01 ⋅u + a00)- aŻu - μk
   BŻk (x)  = su ⋅(b11 ⋅u + b10)⋅xk + (b01 ⋅u + b00)- bŻu - μk
(
In this imported scheme, there are still 2k equations, but the number of unknowns has increased to{◟x1,...,xk,μ1,..◝.◜,μk,u,su, Żau, Żbu}◞(2k+4) unknowns. Thus, the system is secure.

Resistance against Brute Force Attack
If an adversary attempts to exhaustively break the data, < ŻA (γ2),BŻ(γ2) >, transmitted from a user smart tag, he may find it to be a desperate approach. First, γ2 is a 160-bit hashed value. Second, the bit length of both function output depends on the size of the finite field, which is around 2160 in our implementation.
Resistance against Replay Attack
Another common approach for an attacker is to overhear the communication, and replay the authentication data in the past session. Nevertheless, this attack will not be effective, because γ2 is defined to be session-distinctly different from time to time.
Resistance against Reader Compromise Attack
If an attacker has compromised the reader, then Ĉ(x),Dˆ(x),E(x) are compromised. Due to the NP-hard ECDLP problem, it is computationally infeasible to find out the secret coefficients, such as c1,c0,d1,d0. In addition, without those coefficients, knowing E(x) would not help to compute any user’s secret functions, A(x,u)andB(x,u) that satisfy the equality for authentication. Therefore, it is impossible to impersonate an innocent smart tags in finite time.