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,1,βu,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.
(x) | = Au′(x) - μ | ||
= su ⋅ A(x,u) - - μ | |||
(x) | = Bu′(x) - μ | ||
= su ⋅ B(x,u) - - μ | |||
| αu | = α × su | ||
| βu,1 | = α ⋅λ⋅ (( ⋅ c1 + ⋅ d1) + (d1 + c1) ⋅ μ) | ||
| βu,0 | = α ⋅λ⋅ (( ⋅ c0 + ⋅ 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 < γ1,λ ⋅
(γ2),λ ⋅
(γ2),αu ⋅ λ,βu,1,βu,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:
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,
,
,μ.
The following shows that this scheme can defend against k-tag compromise
attack.
| Tag 1: | ![]() | ||
| … | |||
| Tag k: | ![]() |
(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.
| Session 1: | ![]() | ||
| … | |||
| Session k: | ![]() |
(2k+4) unknowns.
Thus, the system is secure.
(γ2),
(γ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.
(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.