2

Assume that I have a smart card and I want to do a differential power side channel attack on its mutual authentication mechanism.

This is the mutual authentication mechanism that my card using(Let assume that the authentication key is AuthKey and it is shared between the card and the user already):

  1. User send a command to the card to request for a random number + a random number named challenge 1
  2. Card return its random number named Challenge 2 + Card_enc1 = encrypt(AuthKey , Challenge 1) to user.
  3. User receive Card_enc1 and compare it with output of User_enc1 = encrypt(AuthKey , Challenge 1). If they was equal, it returns User_enc2 = encrypt (AuthKey, Challenge 2) to the card.
  4. Card receive User_enc2 and compare it with Card_enc2 = encrypt (AuthKey, Challenge 2). If they was equal then the card and reader are successfully authenticated.

As you see above, the user didn't send the AutheKey while in the documents that I read on side channel attacks the attacker must set different values for encryption key and encrypt different data with that key.

Now, the question is, how can I do side channel attack on this authentication procedure?

A step by step answer is more useful.

closed as too broad by Stephane, Mark, GdD, Xander, schroeder Jul 6 '15 at 15:01

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.