IoT Device Ram Traces

Citation Author(s):
Asif
Iqbal
NUS, Singapore
Submitted by:
Asif Iqbal
Last updated:
Mon, 07/01/2024 - 20:44
DOI:
10.21227/sq8b-qm96
License:
74 Views
Categories:
Keywords:
0
0 ratings - Please login to submit your rating.

Abstract 

To cover a large number of IoT use cases, we test our proposed framework against eight different application types with diverse task objectives, ranging from sensing to cryptography. For notational ease, the developed firmware are represented as Fi, with i = 1, 2, . . . , 8. The specific operations coded in these firmware are discussed below:

F1: A given input data block is first encrypted and then decrypted to retrieve the original data. The AES128 algorithm is used in this process and both encryption and decryption is performed in different functions, executed iteratively.

F2: Push-button interrupts are linked to the built-in button’s IO PIN-2. An Interrupt Service Routine (ISR) function is designated to toggle the state of the built-in LED on PIN-13 according to the button pin’s state. The button’s state is stored in a variable and then transmitted to the LED pin. Interrupts are sampled every 3 seconds before capturing the trace data.

F3: Based on the analog value read from the sensor at PIN-3, it changes the brightness of the built-in LED connected to PIN-13. The LED control method is defined separately and invoked in the Arduino loop method followed by capturing the trace data.

F4: Based on the serial seed received from the gateway, a pseudo random number is generated. 

F5: The distance between an ultrasound sensor and an obstacle is measured while the device is moved laterally.

F6: The voltage is read at the temperature sensor’s input PIN and converted to the respective Celsius value. The loop method of the Arduino is used to call a method to read the temperature and store the read value.

F7: The vibration sensor application activates the built-in LED (PIN-13) upon detecting vibrations. A function is defined to read digital values from the vibration sensor (PIN-7) and feed them as input to the LED. This func- tion is invoked within the Arduino loop method before initiating trace collection.

F8: The XTS-AES block cipher with a variable block cipher encryption is used here. The plain text, key, and tweak modules are used for encryption. For simplicity, the read input, key, and tweaks are sent from the gateway node

Instructions: 

Load using pickle.load(file)