The Basic Hash protocol as described in [A] is an RFID protocol involving:
The protocol is as follows:
T --> R : <nT, h(nT,key)>
R --> T : ok
This file shows an incorrect attempt at proving unlinkability for Basic Hash. Unlinkability fails for the proposed system, for an irrelevant reason.
[A] Mayla Brusò, Kostas Chatzikokolakis, and Jerry den Hartog. Formal Verification of Privacy for RFID Systems. pages 75–88, July 2010.
Use diff
operator to specify multiple session (left) and single session (right) roles simultaneously.
Session j
of reader. For single-session version we need to find k
in addition to i
.
Show the set of actions obtained from above process.
goal [BasicHash] wa_R :Prove wa_R
as in basic-hash-wa.sp
slightly modified to also hold for single-session system. The statement (or rather, its projections) is proved for both the left and right projections of the BasicHash
system.
The high-level idea of the proof is to use the EUF cryptographic axiom: only the tag T(i,k)
can forge h(nT(i,k),key(i))
because the secret key is not known by the attacker. Therefore, any message accepted by the reader must come from a tag that has played before. The converse implication is trivial because any honest tag output is accepted by the reader.
For the second implication (<=), the conclusion of the goal can directly be obtained from the hypotheses.