Score:1

Mifare Classic, authentification protocol question

gb flag

Thanks to reverse engineering papers on Mifare Classic, one can study the authentication protocol. However, I have a problem understanding how it works.

In the above document, after the reader responds with $\{n_R\}$ $\{a_R\}$, the tag can now calculate $b_{32}$ (keystream) to $b_{63}$ (thanks to $n_T$, $\text{uid}$ and the tag's key) so XOR it with $\{n_R\}$ to retrieve $n_R$. But how can we be sure that the $n_R$ is the same as the reader's?

The keys in the reader and the tag are not necessarily the same.

Score:1
ng flag

How can we be sure that the $n_R$ is the same as the reader's?

What the tag can do is decipher $\{a_R\}$ and compare to the true $a_R$, which is a function of $n_T$ that the tag knows. If that check passes, which is highly improbable if the reader and tag keys do not match, the tag presumably assumes $\{n_R\}$ deciphers to the reader's $n_R$; I see no way that it can further check, given that $n_R$ is random.

Hasttte avatar
gb flag
Oh i understand that's clever ! Thanks a lot ! Now let's go understand nested attacks
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.