Arduino UNO Authentication

Hello,

I am currently doing a project where an Arduino UNO, acting as server, communicates with an Android device via NFC. I do not have any problems with the Android device, but the Arduino UNO has the following limitations:

  • Low computing capacity
  • Very low memory (As of right now I have about 1KB I can use in total)
  • No internet access.

Since this is a project for university, I am not able to change most of the hardware. The goal is to provide authentication (the server authenticates users to know if they have or not access, and I have to make sure the user is whom they say they are). The best solution I have found is saving various symmetric keys per user and rotate between them, but I dont think this is secure at all.

Before considering symmetric keys, I thought about using RSA-256 but as far as I have seen Arduino Uno is not suitable for this algorithm.

What is your question concerning the program you have written for the hardware you have assembled?

I LOVE it. The professors have figured out the students are cheating by using things like forums, so now they are assigning tasks that are easy to identify who is using illegal resources. A simple Google search of their answer will quickly turn up the source, or maybe even AI will analyze the answer and tell the professor AI did it.

2 Likes

I found this paper as a possible solution to my problem (A Symmetric Key Based RFID Authentication Protocol Using Encrypted Tag ID | IEEE Conference Publication | IEEE Xplore)

Thanks to sonofcy for the help!!