Block Data Record-Based Dynamic Encryption Key Generation Method for Security between Devices in Low Power Wireless Communication Environment of IoT
Abstract
:Featured Application
Abstract
1. Introduction
1.1. Study Background and Motivation
1.2. Definition of Problems
1.2.1. Availability
1.2.2. Security Aspect
1.3. Purpose of Study
2. Related Work
2.1. Dynamic Encryption Key of OTP (S/KEY) Method
2.2. Session Key of Diffie–Hellman Method
2.3. Key Generation Algorithm Based on Shared Message History for In-Vehicle Security Network (Blockey)
2.4. Comparison of Related Work
3. Approach
3.1. Notation
3.2. System Model
- ▪
- Communication between devices that generate dynamic encryption keys occurs between a sensor device and a gateway device.
- ▪
- The sensor device and gateway device use Bluetooth low-energy, which can encounter communication delay and message loss due to signal interference between devices.
- ▪
- The sensor device and gateway device use an asynchronous network control flow.
- ▪
- A sensor device measures environment data that cannot be reproduced.
- ▪
- In ModResult (SensorData, N), N is set to 16.
- ▪
- A sensor device transmits a measured environment sensor data value to a gateway device with DataPeriodic = 1 (1 s interval).
- ▪
- The BlockConditionK is 64. When 64 data entries are filled in a transaction pool, block generation is attempted. The reason behind setting the number to 64 is because a malicious attacker must randomly substitute 2256 number of cases to guess the transaction pool, which is the seed value of an encryption key. If DataPeriodic is 1, a new encryption key is generated every 64 s, but it is impossible to guess the key through random substitution of 2256 cases within 64 s.
- ▪
- The initial connection and registration between devices are registered by a trusted administrator.
- ▪
- The block structure stores only the hash values of previous block and current block by considering low-performance devices.
- ▪
- As for the blocks, only the current block and previous block are stored in consideration of low-performance devices. Unlike cryptocurrency transaction, sensor data do not have a structure of verifying current data from previous data, thus it is not necessary to have all the history.
- ▪
- Section 3.3, Section 3.4, Section 3.5 and Section 3.6 explain the descriptions on the process of generating DeviceKeyn (Nth key).
3.3. Storing Transaction Pool
Algorithm 1. TransactionPool |
1: procedure TransactionPool |
2: DeviceSensor executes: |
3: while BlockCondition64 do |
4: Send Encrypt (DeviceKeyn-1,sensorDatai) to Devicegateway |
5: ModResult (DataCounti, 16)-> ModResulti |
6: TransactionPool (Count, ModResulti) |
7: Devicegateway executes: |
8: while BlockCondition64 do |
9: Receive Encrypt (DeviceKeyn-1,sensorDatai) from Devicegateway |
10: Decrypt (DeviceKeyn-1,sensorDatai) |
11: ModResult (sensorDatai, 16)-> ModResulti |
12: TransactionPool (DataCounti, ModResulti) |
13:end procedure |
3.4. FrequencyTable Generation
Algorithm 2. FrequencyTable |
1: procedure FrequencyTable 2: DeviceSensor executes: 3: list = transactionPool 4: while i < F do: 5: FrequencyCount(i,list) -> result 6: FrequencyTable(i, result) 7: increment i 8: TransformFrequencyTable(Devicekeyn-1(Hash),FrequencyTable) -> FrequencyTablesensor 9: Devicegateway executes: 10: list = transactionPool 11: while i < F do: 12: FrequencyCount(i,list) -> result 13: FrequencyTable(i,result) 14: increment i 15: TransformFrequencyTable(Devicekeyn-1(Hash),FrequencyTable) -> FrequencyTablegateway 16: end procedure |
3.5. Transmission of Target Value and FrequencyTable, Synchronization of Transaction Pool
Algorithm 3. TransactionPool Synchronization |
1: procedure TransactionPool Synchronization 2: DeviceSensor executes: 3: TargetValuesensor = SHA256(list) 4: Send Encrypt(DeviceKeyn-1,TargetValuesensor + FrequencyTablesensor) to Devicegateway 5: Call Module DeviceKeyGeneration() 6: Devicegateway executes: 7: TargetValuegateway = SHA256(list) 8: Receive Encrypt (DeviceKeyn-1,TargetValuesensor+ FrequencyTablesensor) from 9: Devicesensor 10: Decrypt(DeviceKeyn-1, TargetValuesensor+ FrequencyTablesensor) 12: if loss data then: 13: lossFrequencyList = FrequencyTablesensor- FrequencyTablegateway 14: PermutationList = Permutation(lossFrequencyList) 17: while PermutationList is not empty: 18: candidateNonce = PermutationList.pop() 19: if(TargetValuesensor == FindNonce(transactionPool, candidateNonce): 20: Syncronization(transactionPool, candidateNonce) 21: Call Module DeviceKeyGeneration() 22: else: 23: if(TargetValuesensor == TargetValuegateway): 24: Call Module DeviceKeyGeneration() 25: end procedure |
3.6. Generation Dynamic Encryption Key
Algorithm 4. DeviceKeyGeneration |
1: procedure DeviceKeyGeneration 2: DeviceSensor executes: 3: (Blockn-1 (Hash)+Encrypt(DeviceKeyn-1,TransactionPool(Hash)) -> Blockinfon 4: Seedn = SHA256(Blockinfon) 5: Call module AESKeyGenerator(Seedn) -> DeviceKeyn 6: Devicegateway executes: 7. (Blockn-1 (Hash)+Encrypt(DeviceKeyn-1,TransactionPool(Hash)) -> Blockinfon 8: Seedn = SHA256(Blockinfon) 9: Call module AESKeyGenerator(Seedn) -> DeviceKeyn 10: end procedure |
4. Experiment Verification
- ▪
- Communication method/step for encryption key generation (theoretical verification).
- ▪
- Communication method/step for encryption key recovery (theoretical verification).
- ▪
- Key generation time per packet loss (experimental verification).
- ▪
- Key generation time, Memory used, CPU used for key generation operation (experimental verification).
- ▪
- Randomness and unpredictability of encryption key (theoretical verification).
- ▪
- Prevention of key generation information exposure (experimental verification).
- ▪
- Security against Encryption Key Hijacking Attack (theoretical verification).
4.1. Configuration of Experimental Environment
4.2. Availability Aspect
4.2.1. Communication Method/Step for Encryption Key Generation
Theory
Proof
- (1)
- In the event of packet loss, DeviceSensor and DeviceGateway are asynchronous or synchronous if there is a request/response for generate DeviceKeyn
- (2)
- Communication Steps for DeviceSensor and DeviceGateway to generate DeviceKeyn
- (3)
- Devicesensor and the Devicegateway generates the same encryption key as (1) (2)
4.2.2. Communication Method/Step for Encryption Key Recovery
Theory
Proof
- (1)
- In the event of packet loss, DeviceSensor and DeviceGateway are asynchronous or synchronous if there is a request/response for recovery.
- (2)
- Communication Steps for DeviceSensor and DeviceGateway to recovery in the event of packet loss.
- (3)
- Devicesensor and the Devicegateway generates the same encryption key as (1) (2).
4.2.3. Key Generation Time per Packet Loss
4.2.4. Key Generation Time, Memory Used, CPU Used
4.3. Security Aspect
4.3.1. Randomness and Unpredictability of Encryption Key
4.3.2. Prevention of key Generation Information Exposure
4.3.3. Security against Encryption Key Hijacking Attack
5. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Alghamdi, T.; Aiash, M.; Lasebae, A. Security Analysis of the Constrained Application Protocol in the Internet of Things. In Proceedings of the Second International Conference on Future Generation Communication Technology, London, UK, 12–14 November 2013. [Google Scholar]
- Ghamari, M.; Arora, H.; Sherratt, R.; Harwin, W. Comparison of Low-Power Wireless Communication Technologies for Wearable Health-Monitoring Application. In Proceedings of the International Conference on Computer, Communications, and Control Technology (I4CT), Kuching, Malaysia, 21–23 April 2015. [Google Scholar]
- Nikoukar, A.; Raza, S.; Poole, A.; Günes, M. Low-Power Wireless for the Internet of Things: Standards and Applications. IEEE Access 2018, 6, 67893–67926. [Google Scholar] [CrossRef]
- Lin, J.; Li, F.; Luo, B. Cyber-Physical Systems Security—A Survey. IEEE Internet Things J. 2017, 4, 1802–1831. [Google Scholar]
- M.Sadeeq, M.; M.Zeebaree, S.; Qashi, R.; Ahmed, S.; Jacksi, K. Internet of Things security A survey. In Proceedings of the International Conference on Advanced Science and Engineering (ICOASE), Duhok, Iraq, 9–11 October 2018. [Google Scholar]
- Yangm, G.; Geng, G.; Du, J.; Liu, Z.; Han, H. Security threats and measures for the Internet of Things. Qinghua Daxue Xuebao/J. Tsinghua Univ. 2011, 10, 1335–1340. [Google Scholar]
- El-hajj, M.; Fadlallah, A.; Maroun, A.; Serhrouchni, A. A Survey of Internet of Things (IoT) Authentication Schemes. Sensors 2019, 19, 1141. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Ali, I.; Sabi, S.; Gullah, Z. Internet of Things Security, Device Authentication and Access Control: A Review. Int. J. Comput. Sci. Inf. Secur. (IJCSIS) 2016, 14, 456–466. [Google Scholar]
- Oracevic, A.; Dilek, S.; Ozdemir, S. Security in Internet of Things: A Survey, International Symposium on Networks. In Proceedings of the Computers and Communications (ISNCC), Marrakech, Morocco, 16–18 May 2017. [Google Scholar]
- Butun, I.; Österberg, P.; Song, H. Security of the Internet of Things: Vulnerabilities, Attacks, and Countermeasure. IEEE Commun. Surv. Tutor. 2020, 22, 616–644. [Google Scholar] [CrossRef] [Green Version]
- Eltoweissy, M.; Moharrum, M.; Mukkamala, R. Dynamic Key Management in Sensor Networks. IEEE Commun. Mag. 2006, 44, 122–130. [Google Scholar] [CrossRef]
- Sicari, S.; Rizzardi, A.; Miorandi, D.; Coen-Porisini, A. Internet of Things: Security in the Keys. In The 12th ACM Symposium; ACM: New York, NY, USA, 2016. [Google Scholar]
- Zhang, Q.; Liang, Z.; Cai, Z. Developing a New Security Framework for Bluetooth Low Energy Devices. Comput. Mater. Contin. 2019, 59, 457–471. [Google Scholar] [CrossRef]
- Dang, T.; Vo, H. Advanced AES Algorithm Using Dynamic Key in the Internet of Things System. In Proceedings of the International Conference on Computer and Communication Systems, Singapore, 23–25 February 2019. [Google Scholar]
- Noura, H.; Chehab, A.; Couturier, R. Lightweight Dynamic Key-Dependent and Flexible Cipher Scheme for IoT Devices. In Proceedings of the Wireless Communications and Networking Conference (IEEE), Marrakesh, Morocco, 15–18 April 2019. [Google Scholar]
- Adafruit Learning System. Introduction to Bluetooth Low Energy. Available online: https://cdn-learn.adafruit.com/downloads/pdf/introduction-to-bluetooth-low-energy.pdf (accessed on 20 December 2019).
- Ngo, H.; Wu, X.; Dung Le, P.; Campbell, W. Dynamic Key Cryptography and Applications. Int. J. Netw. Secur. 2010, 10, 161–174. [Google Scholar]
- Ahmed, M.; Sanjabi, B.; Aldiaz, D.; Rezaei, A.; Omotunde, H. Amirhossein Diffie hellman and its Use in Secure Internet Protocols. Int. J. Eng. Sci. Innov. Technol. 2012, 1, 69–73. [Google Scholar]
- Begusic, D.; Rozic, N.; Stella, M. Speech recognition over Bluetooth ACL and SCO links: A comparison. In Proceedings of the Consumer Communications and Networking Conference (IEEE), Las Vegas, NV, USA, 6 January 2005. [Google Scholar]
- Rondon, R.; Mahmood, A.; Grimaldi, S.; Gidlund, M. Understanding the Performance of Bluetooth Mesh: Reliability, Delay and Scalability Analysis. IEEE Internet Things J. 2020, 7, 2089–2101. [Google Scholar] [CrossRef] [Green Version]
- Mazzenga, F.; Cassioli, D.; Loreti, P.; Vatalaro, F. Evaluation of packet loss probability in Bluetooth networks. In Proceedings of the IEEE International Conference on Communication Conference Proceedings, New York, NY, USA, 28 April–2 May 2002. [Google Scholar]
- Yuan, C.; Chieh, H. A survey of key distribution in wireless sensor networks. Secur. Commun. Netw. 2011, 7, 2495–2508. [Google Scholar]
- Soohwan, C.; SooYong, P.; Lee, R. Blockchain Consensus Rule Based Dynamic Blind Voting for Non-Dependency Transaction. Int. J. Grid Distrib. Comput. 2017, 10, 93–106. [Google Scholar]
- WooSeung, L. Key Generation Algorithm based on Shared Message History for in-Vehicle Security Network. Available online: http://dcollection.sogang.ac.kr:8089/dcollection/public_resource/pdf/000000062077_20200929192442.pdf (accessed on 15 November 2019).
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Available online: https://bitcoin.org/bitcoin.pdf321 (accessed on 15 May 2020).
- Buterin, V. Emoreum: A Next-Generation Smart Contract and Decentralized Application Platform. Available online: https://emoreum.org/en/whitepaper/ (accessed on 20 May 2020).
- Hyper Ledger Foundation, An Introduction to Hyperledger. Available online: https://www.hyperledger.org/wp-content/uploads/2018/08/HL_Whitepaper_IntroductiontoHyperledger.pdf (accessed on 15 January 2020).
- Ahmed Samy, B.M.; Youssef, S.; El Gamal, A.; El Hadi, N. One-Time Password Authentication Techniques Survey. Comput. Sci. Data Min. Knowl. Eng. 2017, 9, 69–78. [Google Scholar]
- Kungpisdan, S.; Le, P.; Srinivasan, B. Limited-Used Key Generation Scheme. In International Workshop on Information Security Applications; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
- Diffie, W.; Hellman, M. New directions in cryptography, Information theory. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef] [Green Version]
- Mishra, M.; Kar, J. A study on diffie-hellman key exchange protocols. Int. J. Pure Appl. Math. 2017, 114, 179–189. [Google Scholar] [CrossRef] [Green Version]
- Misra, S.; Maheswaran, M.; Hashmi, S. System Model for the Internet of Things. In Security Challenges and Approaches in Internet of Things; Elsevier: Amsterdam, The Netherlands, 2016; pp. 5–17. [Google Scholar]
- De, S.; Barnaghi, P.; Bauer, M.; Meissner, S. Service modeling for the Internet of Things. In Proceedings of the Federated Conference on Computer Science and Information, Szczecin, Poland, 18–21 September 2011. [Google Scholar]
- Buccafurri, F.; Celeste, R. A Blockchain-Based OTP-Authentication Scheme for Constrainded IoT Devices Using MQTT. In Proceedings of the International Symposium on Computer Science and Intelligent Control (ICPS), Amsterdam, The Netherlands, 25–27 September 2019. [Google Scholar]
- Maissa, D.; Sidi-Mohammed, S.; Mohamed Ayoub, M.; Mohamed Houcine, E. Decentralized Lightweight Group Key Management for Dynamic Access Control in IoT Environments. IEEE Trans. Netw. Serv. Manag. 2020, 17, 1742–1757. [Google Scholar]
- Choudhary, K.; Gaba, G.S.; Butun, I.; Kumar, P. MAKE-IT—A Lightweight Mutual Authentication and Key Exchange Protocol for Industrial Internet of Things. Sensors 2020, 20, 5166. [Google Scholar] [CrossRef] [PubMed]
- NIST. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. Available online: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-22r1a.pdf (accessed on 20 June 2020).
OTP (S/Key) Kungpisdan et al. [29] | Diffie–Hellman Diffie and Hellman [30] | Blockey WooSeung [24] | |
---|---|---|---|
Availability | Encryption Key Generation Communication Method/Steps | ||
Asynchronous/1 step | Synchronous/2 steps | Asynchronous/0 step | |
Encryption Key Recovery Communication Method/Steps | |||
Synchronous/2 steps | Synchronous/2 steps | Synchronous/2 steps | |
Required Computational Cost/Time for Encryption Key Generation | |||
Low | High | Low | |
Security | Security Against Encryption Key Hijacking Attack | ||
Vulnerable | Average | High | |
Prevention of Key Generation Information Exposure | |||
Prevention | Prevention | Prevention | |
Randomness/Unpredictability of Encryption Key | |||
Randomness /Unpredictability | Randomness /Unpredictability | Randomness /Unpredictability |
Notation | Description |
---|---|
SensorDatai | i-th sensor data. |
KeyGenerationInfo | Encryption key generation information. |
DeviceSensor | Sensor device |
Devicegateway | Gateway device that receives and collects sensor data |
DataPeriodic | Data transmission cycle from sensor device to gateway device |
ModResult(SensorDatai, N) | Modular result of SensorDatai by N |
DataCounti | The counter value of the i-th data send by the sensorDevice |
TransactionPool | Pool that stores the modular results of sensor |
TransactionPool(DataCounti, Modresult) | Store {Key:DataCounti Value:modular results} value in TransactionPool |
TargetValue | TransactionPoolsensor hashed through SHA256 |
Blockn | Nth block stored by sensor device and gateway device. Only previous hash value and current hash value exist in the block. The hash value of the block is the seed value of a new dynamic encryption key. |
BlockConditionK | Block generation condition. A block is generated when the number of modular results stored in the transaction pool satisfies k. |
FrequencyTable | Frequency table indicating the frequency of modular result of the data |
FrequencyCount(i,list) | Count value corresponding to i in the list items |
FrequencyTable(i,result) | Generate FrequencyTable for {Key: i, value: result} |
TransformFrequencyTable (Hash,FrequencyTable) | FrequencyTable transformation Based on hash value |
Devicekeyn | Nth dynamic encryption key |
lossFrequencyList | Loss Modular result list. The Difference between FrequencyTablesensor and FrequencyTablegateway |
PermutationList(lossFrequencyList) | List of possible permutations from lossFrequencyList |
CandidateNonce | Candidate nonce for recovering loss packets on FrequencyTablegateway |
FindNonce | Trial and error for recovering loss packets on FrequencyTablegateway |
Synchronization | Recover loss packets on the FrequencyTablegateway from CandidateNonce |
Seedn | Seed value of DeviceKeyn |
Encrypt(Key,data) | Data encryption using Key |
Decrypt(Key,data) | Data decryption using Key |
initialize() | Initialization to generate N + 1 block after Nth block is generated. TransactionPool Initialization. DataCounti Initialization |
Category | Description |
---|---|
CPU | Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64bit SoC 1.4GHz |
RAM | 1GB LPDDR2 SDRAM |
OS | RaspbianStrech |
Language | Python 3.6 |
Communication | Bluetooth low energy 4.2 |
External Library | -itertools: permutation -hashlin: sha256 -cryptography, cryptodome: encryption module |
Package | Description |
---|---|
communication | sender: Bluetooth connection and data send receiver: Bluetooth connection and data receive |
encryption module | encryption module libraries |
algorithm module | frequencytable: frequencytable manage transactionPool: transactionPool manage findnonce: trial and error manage permuatioan: permutation manage |
launcher | sensor: execute Devicesensor device: execute DeviceGateway |
test | KeyGeneration_Time: key generation time experiment KeyGneration_Time_packetDataloss: key generation time experiment with packet loss Memory _Check: memory used experiment Permutation_Check: permutation experiment |
logging | log data KeyGeneration_Time.log KeyGneration_Time_packetDataloss.log Memory _Check.log |
Category | Description |
---|---|
CPU | Intel Core i9 8Core 2.3Ghz |
RAM | 16GB 2400 MHZ DDR4 |
OS | Mac OS |
Language | Python 3.6 |
External lib | -itertools: permutation |
OTP (S/Key) Kungpisdan et al. [29] | Diffie–Hellman Diffie and Hellman [30] | Blockey WooSeung [23] | Proposed Method | |
---|---|---|---|---|
Availability | Encryption Key Generation Communication Method/Steps | |||
Asynchronous /1 step | Synchronous /2 steps | Asynchronous /0 step | Asynchronous /1 step | |
Encryption Key Recovery Communication Method/Steps | ||||
Synchronous /2 steps | Synchronous /2 steps | Synchronous /2 steps | Asynchronous /1 step | |
Required Computational Cost/Time for Encryption Key Generation | ||||
Low | High | Low | Low | |
Security | Security Against Encryption Key Hijacking Attack | |||
Vulnerable | Average | High | High | |
Prevention of Key Generation Information Exposure | ||||
Prevention | Prevention | Prevention | Prevention | |
Randomness/Unpredictability of Encryption Key | ||||
Randomness /Unpredictability | Randomness /Unpredictability | Randomness /Unpredictability | Randomness /Unpredictability |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Comthens Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Cho, S.; Ko, D.; Park, S. Block Data Record-Based Dynamic Encryption Key Generation Method for Security between Devices in Low Power Wireless Communication Environment of IoT. Appl. Sci. 2020, 10, 7940. https://doi.org/10.3390/app10217940
Cho S, Ko D, Park S. Block Data Record-Based Dynamic Encryption Key Generation Method for Security between Devices in Low Power Wireless Communication Environment of IoT. Applied Sciences. 2020; 10(21):7940. https://doi.org/10.3390/app10217940
Chicago/Turabian StyleCho, Soohwan, Deokyoon Ko, and Sooyoung Park. 2020. "Block Data Record-Based Dynamic Encryption Key Generation Method for Security between Devices in Low Power Wireless Communication Environment of IoT" Applied Sciences 10, no. 21: 7940. https://doi.org/10.3390/app10217940
APA StyleCho, S., Ko, D., & Park, S. (2020). Block Data Record-Based Dynamic Encryption Key Generation Method for Security between Devices in Low Power Wireless Communication Environment of IoT. Applied Sciences, 10(21), 7940. https://doi.org/10.3390/app10217940