Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

You are asked to implement an authentication system and encrypted wireless communications between two Micro:bits using the nRF radio ( uBit.radio ). This includes the

You are asked to implement an authentication system and encrypted wireless communications between two Micro:bits using the nRF radio (uBit.radio). This includes the following steps:

1. Define 3 commands and a single secret code that should be shared by the two devices. Notice you may simply define the shared secret inside your program, you do not have to require typing it in the runtime, and you are free to choose its format and size. A command here is defined as any action that can be performed using a Micro:bit device, or simply launched by it and executed by another device (e.g., electronics from the ketonic inventor kit, a computer). Using the first Micro:bit (sender), the user can select the command using the Micro:bit buttons and your system should encrypt the command with AES (aes_enc) and transmit it to the other Micro:bit.

2. The second Micro:bit (receiver) should be able to receive the encrypted message, decrypt it (aes_dec), then authentically identify the command and execute it.

More precisely, you should implement the following simple protocol:

Sender

  • Generate a random salt.
  • Generate a data protection key using the SHA hash function algorithm applied to the shared secret and salt as follows: dpk=sha256(secret +salt). secret+salt here refers to any combination function of your choice of the secret and salt such as arithmetic addition, string appending (concatenation), etc.
  • Use AES to encrypted the command with dpk: cipher=aes_enc(command, dpk). The command here is the message that identify the command. It is up to you to define its format if needed, and any parameter may also be included if needed.
  • Send (cipher, salt) to the receiver Micro:bit via the radio.

Receiver

  • Receive cipher and salt.
  • Generate a data protection key using SHA hash of the shared secret and salt, dpk=sha256 (secret+salt).
  • Decrypt the cipher, command=aes_dec(cipher, dpk).
  • Run the command.

The commands to be implemented are open to your choice. You may use the Micro:bit LED display, or display on a computer screen using the device serial port. However, you are strongly encouraged to design more elaborate commands, e.g., using the inventor kit. It is important that any commands you implement can be demonstrated in the demo. Be creative.

NB: A single AES block should be sufficient to fit your commands. In all cases, you are not asked to use any AES inter block dependency mode (AES-ECB is enough).

For this part, prepare a 5-min demo that you will present during week 12 sessions. You should demonstrate that upon launching the command from the sender, it will be received on the other side and the appropriate command will be executed. Demonstrate this and be prepared for short questions. You should expect questions about the system you developed an the demonstration.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David M. Kroenke

1st Edition

0130086509, 978-0130086501

More Books

Students also viewed these Databases questions