IP Library › Granted Patent US 10,952,069
Granted Patent B1
US 10,952,069 · App. 16/142,775 · Granted Mar 16, 2021

IoT cryptosystem device, system, method and computer program product

Inventors: Hala Ehab Hamdy Mohamed (Dammam, SA); Randa Mujahed Abualrob (Dammam, SA); Rawan Abdullah Alsleebi (Dammam, SA); Reem Fuad Shareef (Dammam, SA); Reem Ali Rawdhan (Dammam, SA); Khalid Adnan Alissa (Dammam, SA); Abdullah Mohammed Almuhaideb (Dammam, SA)
Assignee: Imam Abdulrahman Bin Faisal University
H04W12/001H04L9/3242H04W12/04071H04W12/1006H04W12/1201H04L2209/805H04W84/18
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,952,069
App. No.
16/142,775
Granted
Mar 16, 2021
Kind
B1
Abstract

Systems and methods to secure data transmission between IoT sensors and their base station that may include use of a sensor system to obtain sensor data and generate per-packet keys to obtain corresponding values from a multi-dimensional cubic array. The sensor data may be encrypted based on the multi-dimensional cubic array to generate an encrypted data value which is transmitted to a wireless access point then decrypted using the plurality of per-packet keys.

Claims (93)

1. A method comprising:

obtaining, at a sensor system, sensor data;

generating, at the sensor system, a plurality of per-packet keys, wherein the plurality of per-packet keys is used to obtain a corresponding plurality of values from a multi-dimensional cubic array;

encrypting, at the sensor system, the sensor data using the corresponding plurality of values from the multi-dimensional cubic array to generate an encrypted data value;

transmitting, from the sensor system, a message including the encrypted data value and the plurality of per-packet keys to a wireless access point;

receiving, at the wireless access point, the message;

decrypting, at the wireless access point, the encrypted data value using the plurality of per-packet keys to generate unencrypted sensor data, wherein the decrypting includes:

obtaining, at the wireless access point, a third value from a wireless access point multi-dimensional cubic array corresponding to a third per-packet key;

generating, at the sensor system, a first unencrypted text based on the encrypted data value and the third value;

obtaining, at the wireless access point, a second value from the wireless access point multi-dimensional cubic array corresponding to a second per-packet key;

generating, at the sensor system, a second unencrypted text based on the second value and the first unencrypted text;

obtaining, at the wireless access point, a first value from the multi-dimensional cubic array corresponding to a first per-packet key; and

generating, at the wireless access point, unencrypted sensor data based on the second unencrypted text and the first value; and

processing, at the wireless access point, the unencrypted sensor data.

2. The method of claim 1 , wherein the sensor system includes an Internet of Things device.

3. The method of claim 1 , wherein the sensor system forms a portion of a wireless sensor network.

4. The method of claim 1 , wherein the plurality of per-packet keys includes three per-packet keys.

5. The method of claim 1 , wherein the multi-dimensional cubic array includes a three by three by three cubic array.

6. The method of claim 1 , wherein the encryption includes:

obtaining, at the sensor system, a first value from the multi-dimensional cubic array corresponding to a first per-packet key;

generating, at the sensor system, a first ciphertext based on the first value and the sensor data;

obtaining, at the sensor system, a second value from the multi-dimensional cubic array corresponding to a second per-packet key;

generating, at the sensor system, a second ciphertext based on the first ciphertext and the second value;

obtaining, at the sensor system, a third value from the multi-dimensional cubic array corresponding to a third per-packet key; and

generating, at the sensor system, a third ciphertext based on the second ciphertext and the third value, wherein the encrypted data value includes the third ciphertext.

7. The method of claim 6 , further comprising:

saving, at the sensor system, a current state of the multi-dimensional cubic array;

altering, at the sensor system, an arrangement of the multi-dimensional cubic array after generating the first ciphertext and before generating the second ciphertext; and

altering, at the sensor system, an arrangement of the multi-dimensional cubic array after generating the second ciphertext and before generating the third ciphertext.

8. The method of claim 1 , wherein the message includes a first hash value.

9. The method of claim 8 , further comprising:

generating, at the sensor system, the first hash value based on the encrypted data value and a next plurality of per-packet keys;

generating, at the wireless access point, a second hash value based on the encrypted data value and a next plurality of per-packet keys;

comparing the first hash value with the second hash value; and

if the first hash value does not match the second hash value, transmitting, from the wireless access point, an indication of a potential security breach.

10. A system comprising:

a sensor system having one or more sensor system processors coupled to a non-transitory computer readable medium within the sensor system having stored thereon software instructions that, when executed by the one or more sensor system processors, cause the one or more sensor system processors to perform operations including:

obtaining, at the sensor system, sensor data;

generating, at the sensor system, a plurality of per-packet keys, wherein the plurality of per-packet keys is used to obtain a corresponding plurality of values from a multi-dimensional cubic array;

encrypting, at the sensor system, the sensor data using the corresponding plurality of values from the multi-dimensional cubic array to generate an encrypted data value;

transmitting, from the sensor system, a message including the encrypted data value and the plurality of per-packet keys to a wireless access point;

the wireless access point having one or more wireless access point processors coupled to a non-transitory computer readable medium within the wireless access point having stored thereon software instructions that, when executed by the one or more wireless access point processors, cause the one or more wireless access point processors to perform operations including:

receiving, at the wireless access point, the message;

decrypting, at the wireless access point, the encrypted data value using the plurality of per-packet keys to generate unencrypted sensor data, wherein the decrypting includes:

obtaining, at the wireless access point, a third value from a wireless access point multi-dimensional cubic array corresponding to a third per-packet key;

generating, at the sensor system, a first unencrypted text based on the encrypted data value and the third value;

obtaining, at the wireless access point, a second value from the wireless access point multi-dimensional cubic array corresponding to a second per-packet key;

generating, at the sensor system, a second unencrypted text based on the second value and the first unencrypted text;

obtaining, at the wireless access point, a first value from the multi-dimensional cubic array corresponding to a first per-packet key; and

generating, at the wireless access point, unencrypted sensor data based on the second unencrypted text and the first value; and

processing, at the wireless access point, the unencrypted sensor data.

11. The system of claim 10 , wherein the encryption includes:

obtaining, at the sensor system, a first value from the multi-dimensional cubic array corresponding to a first per-packet key;

generating, at the sensor system, a first ciphertext based on the first value and the sensor data;

obtaining, at the sensor system, a second value from the multi-dimensional cubic array corresponding to a second per-packet key;

generating, at the sensor system, a second ciphertext based on the first ciphertext and the second value;

obtaining, at the sensor system, a third value from the multi-dimensional cubic array corresponding to a third per-packet key; and

generating, at the sensor system, a third ciphertext based on the second ciphertext and the third value, wherein the encrypted data value includes the third ciphertext.

12. The system of claim 11 , wherein the operations further include:

saving, at the sensor system, a current state of the multi-dimensional cubic array;

altering, at the sensor system, an arrangement of the multi-dimensional cubic array after generating the first ciphertext and before generating the second ciphertext; and

altering, at the sensor system, an arrangement of the multi-dimensional cubic array after generating the second ciphertext and before generating the third ciphertext.

13. The system of claim 10 , wherein the message includes a first hash value.

14. The system of claim 13 , wherein the operations further include:

generating, at the sensor system, the first hash value based on the encrypted data value and a next plurality of per-packet keys;

generating, at the wireless access point, a second hash value based on the encrypted data value and a next plurality of per-packet keys;

comparing the first hash value with the second hash value; and

if the first hash value does not match the second hash value, transmitting, from the wireless access point, an indication of a potential security breach.

15. A non-transitory computer readable medium having instructions stored therein that, when executed by one or more processors, cause the one or more processors to perform a method comprising:

obtaining, at a sensor system, sensor data;

generating, at the sensor system, a plurality of per-packet keys, wherein the plurality of per-packet keys is used to obtain a corresponding plurality of values from a multi-dimensional cubic array;

encrypting, at the sensor system, the sensor data using the corresponding plurality of values from the multi-dimensional cubic array to generate an encrypted data value;

transmitting, from the sensor system, a message including the encrypted data value and the plurality of per-packet keys to a wireless access point;

receiving, at the wireless access point, the message;

decrypting, at the wireless access point, the encrypted data value using the plurality of per-packet keys to generate unencrypted sensor data, wherein the decryption includes:

obtaining, at the wireless access point, a third value from a wireless access point multi-dimensional cubic array corresponding to a third per-packet key;

generating, at the sensor system, a first unencrypted text based on the encrypted data value and the third value;

obtaining, at the wireless access point, a second value from the wireless access point multi-dimensional cubic array corresponding to a second per-packet key;

generating, at the sensor system, a second unencrypted text based on the second value and the first unencrypted text;

obtaining, at the wireless access point, a first value from the multi-dimensional cubic array corresponding to a first per-packet key; and

generating, at the wireless access point, unencrypted sensor data based on the second unencrypted text and the first value; and

processing, at the wireless access point, the unencrypted sensor data.

16. The non-transitory computer readable medium of claim 15 , wherein the encryption includes:

obtaining, at the sensor system, a first value from the multi-dimensional cubic array corresponding to a first per-packet key;

generating, at the sensor system, a first ciphertext based on the first value and the sensor data;

obtaining, at the sensor system, a second value from the multi-dimensional cubic array corresponding to a second per-packet key;

generating, at the sensor system, a second ciphertext based on the first ciphertext and the second value;

obtaining, at the sensor system, a third value from the multi-dimensional cubic array corresponding to a third per-packet key; and

generating, at the sensor system, a third ciphertext based on the second ciphertext and the third value, wherein the encrypted data value includes the third ciphertext.

17. The non-transitory computer readable medium of claim 16 , wherein the method further includes:

saving, at the sensor system, a current state of the multi-dimensional cubic array;

altering, at the sensor system, an arrangement of the multi-dimensional cubic array after generating the first ciphertext and before generating the second ciphertext; and

altering, at the sensor system, an arrangement of the multi-dimensional cubic array after generating the second ciphertext and before generating the third ciphertext.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2018
From: MOHAMED, HALA EHAB HAMDY; ABUALROB, RANDA MUJAHED; ALSLEEBI, RAWAN ABDULLAH; SHAREEF, REEM FUAD; RAWDHAN, REEM ALI; ALISSA, KHALID ADNAN; ALMUHAIDEB, ABDULLAH MOHAMMED
To: IMAM ABDULRAHMAN BIN FAISAL UNIVERSITY
Reel/Frame 046982/0066 →
Continuity (1)
Provisional Application 62582747 · Nov 7, 2017
Cited By (1)
US 12,361,418