3 Proposed Protocol

The goals of this project is to design a protocol that the reader authenticate the incoming user while preserving the privacy of the user. The use of this protocol may, for instance, be used in application, such as secure entry systems. We will not, however, focus on protection against availability or physical tampering attack. This simple protocol involves two flows with a challenge-response approach. In addition, it uses nonces (random numbers) to provide anonymity for each user response, so that reader would have no knowledge of user’s identity during the process of authentication. Thus, the privacy is preserved.

3.1 Preliminary Assumption

The protocol uses a hash function, and a pseudo-random number generator.

3.1.1 Hash

A hash function h is an one-way function that maps an arbitrary length input to a k-bit output, i.e. h : {0,1}*→{0,1}k. The typical requirement for this cryptographic checksum functions are

3.1.2 Pseudo-random Number Generator

A pseudo-random number generator (PRNG) is a deterministic algorithm, which given an input seed and outputs a binary sequence of length k, which appears to be random.

3.2 Assumption

Our protocol works under the following assumption

3.3 Set Up Phase

Each user t is preloaded with two polynomial functions:

A(x,y) = a11xy + a10x + a01y + a00
B(x,y) = b11xy + b10x + b01y + b00
, where different users have different coefficients ({a11,a10,a01,a00},{b11,b10,b01,b00}) .

On the other hand, reader r is preloaded with three different polynomial functions

C(x) = c1x + c0
D(x) = d1x + d0
E(x) = k=02e kxk
= e2x2 + e 1x + e0
, where the coefficients ({c1,c0},{d1,d0},{e2,e1,e0}) varies among different readers.

Those coefficients needs to be carefully selected, so that A(x,y) C(x) + B(x,y) D(x) + E(x) 0 is guaranteed. The coefficients can be found via algorithms that solves linear equations.

3.4 Authentication Process

The protocol is summarized in Figure.1


PIC

Figure 1: Protocol


  1. Reader: A reader generates a random bit-string γ0 ∈{0,1}l, and sends this nonce M0 =< γ0 > to user t.
  2. User: The user i generates a random bit-string γ1 ∈ {0,1}l as temporary session secret, and computes γ2 = h(γ0|γ1), where h(x) is our hash function. Next, user computes its polynomial functions A(γ2,t) and B(γ2,i), and sends back to the reader with message M1 =< γ1,A(γ2,t),B(γ2,t) >.
  3. Reader: The reader is not able to compute γ2 = h(γ0|γ1), and computes its secret functions with γ2. The reader will authenticate user t, if A(γ2,t) C(γ2) + B(γ2,t) D(γ2) + E(γ2) 0; reject this user, otherwise.

3.5 Security Analysis

The protocol has satisfied following privacy and security properties

3.6 Potential Attack

If a reader is compromised, then C(x),D(x),E(x) are compromised. If the attack can somehow figure out Â,Bˆ, such that Â(x,y) C(x) + ˆB(x,y) D(x) + E(x) = 0. That means some other user device î with secret functions Â, is compromised.

3.6.1 Improved Scheme

To prevent this attack, for any reader that could be potentially compromised. We preloaded the reader functions with elliptic curve point α to convert the numeric output into points on the elliptic curve in finite field, i.e. α × C(x)× D(x)× E(x). In this scenario, the authentication equation becomes

Ĉ(γ2) × A(γ2,u) + ˆ
D(γ2) × B(γ2,u) + α ×Ê(γ2) = α × C(γ2) A(γ2,u) + α × D(γ2) B(γ2,u) + α × E(γ2)
= α ×(C(γ2) A(γ2,u) + D(γ2) B(γ2,u) + E(γ2))
= 0
Thus, now the original output is obfuscated in the form of elliptic curve point. If the adversary needs to reversely compute the polynomials by brute force, this is equivalent of computing the discrete log problem of modular base 2160, and thus this is a hopeless attack. Nevertheless, the tradeoff is that the reader will suffer from more expensive EC point computation, and thus increase the authentication time.

3.6.2 Tag Compromise Attack

The proposed improvement seems to be promising against eavesdropping attack. However, its vulnerability is shown when multiple tags are compromised. All tags are preloaded with the same coefficient < a11,a10,a01,a00,b11,b10,b01,b00 >. If an attacker has compromised k tags, then the attacker could obtain the following linear equations:

(a11u1 + a10) x
(a01u1 + a00)
(b11u1 + b10) x
(b01u1 + b00)
(a11uk + a10) x
(a01uk + a00)
(b11uk + b10) x
(b01uk + b00)
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.

3.6.3 Misuse of Anonymous Authentication

While the anonymous authentication provides user privacy, but this property may be misused to crash the system. The most obvious approach is that when an attack compromise one or several valid user devices, and launch multiple DoS attack simultaneously. The entry system would follow with a shut-down of authenticating service. Since this simple model does not support any mechanism to further identify who the user was, hence, the attacker could go away without leaving any trace after his successful attack.