| Literature DB >> 29890704 |
Ilsun You1, Soonhyun Kwon2, Gaurav Choudhary3, Vishal Sharma4, Jung Taek Seo5.
Abstract
The Internet of Things (IoT) utilizes algorithms to facilitate intelligent applications across cities in the form of smart-urban projects. As the majority of devices in IoT are battery operated, their applications should be facilitated with a low-power communication setup. Such facility is possible through the Low-Power Wide-Area Network (LPWAN), but at a constrained bit rate. For long-range communication over LPWAN, several approaches and protocols are adopted. One such protocol is the Long-Range Wide Area Network (LoRaWAN), which is a media access layer protocol for long-range communication between the devices and the application servers via LPWAN gateways. However, LoRaWAN comes with fewer security features as a much-secured protocol consumes more battery because of the exorbitant computational overheads. The standard protocol fails to support end-to-end security and perfect forward secrecy while being vulnerable to the replay attack that makes LoRaWAN limited in supporting applications where security (especially end-to-end security) is important. Motivated by this, an enhanced LoRaWAN security protocol is proposed, which not only provides the basic functions of connectivity between the application server and the end device, but additionally averts these listed security issues. The proposed protocol is developed with two options, the Default Option (DO) and the Security-Enhanced Option (SEO). The protocol is validated through Burrows⁻Abadi⁻Needham (BAN) logic and the Automated Validation of Internet Security Protocols and Applications (AVISPA) tool. The proposed protocol is also analyzed for overheads through system-based and low-power device-based evaluations. Further, a case study on a smart factory-enabled parking system is considered for its practical application. The results, in terms of network latency with reliability fitting and signaling overheads, show paramount improvements and better performance for the proposed protocol compared with the two handshake options, Pre-Shared Key (PSK) and Elliptic Curve Cryptography (ECC), of Datagram Transport Layer Security (DTLS).Entities:
Keywords: IoT; LoRaWAN; privacy; protocol; security; smart parking
Year: 2018 PMID: 29890704 PMCID: PMC6021832 DOI: 10.3390/s18061888
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1An exemplary illustration of the LoRaWAN-enabled network architecture.
Notations table.
| Symbol | Description |
|---|---|
| Join_request | Join request to attach the end device to the LoRa network |
|
| Application identifier |
|
| Device identifier |
|
| Nonce value randomly generated by the device |
|
| The |
|
| AES 128 cipher-based MAC function with the secret key |
|
| Message integrity code |
|
| The |
|
| Network session key |
|
| Application session key |
|
| The long-term key shard between a device and a network server |
|
| Nonce value randomly generated by the network server |
|
| The |
|
| Network identifier |
|
| End device address |
|
| Delay between RX and TX |
|
| Optional list for channel frequencies |
|
| SHA 1 hash function, which takes an input |
|
| Application authentication request message |
|
| Application authentication response message |
|
| The |
|
| The session key between a device and its application server |
|
| Concatenation operation |
|
| Application authentication acknowledgment message |
|
| Private key of the application server |
|
| Public key of the application server |
| Device’s elliptic curve Diffie–Hellman private and public keys | |
| Application server’s elliptic curve Diffie–Hellman private and public keys | |
|
| Elliptic curve Diffie–Hellman base point |
|
| Function adding zero octets to make the length of the data a multiple of 16 |
|
| hval refers to hash value and [.] to the index. |
Figure 2LoRaWAN Join procedure.
Comparisons of different LoRaWAN schemes.
| Standard LoRaWAN [ | Na et al. [ | Kim and Song [ | Garcia et al. [ | Garcia et al. [ | Proposed | |
|---|---|---|---|---|---|---|
| Scheme | Standard | XoR | Dual | Diameter | Radius | DO-SEO |
| Mutual Authentication | YES | YES | YES | YES | YES | YES |
| Secure Key Exchange | YES | YES | YES | YES | YES | YES |
| Perfect Forward Secrecy | NO | NO | NO | NO | NO | YES |
| End-to-End Security | NO | NO | NO | NO | NO | YES |
| Defense against a Replay Attack | NO | YES | NO | NO | NO | YES |
Figure 3Proposed protocol’s default option.
Figure 4generation.
Figure 5Proposed protocol’s security-enhanced option.
Burrows–Abadi–Needham (BAN)-logic notations.
| Statement | Meaning |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| It means that |
|
| |
|
| |
|
|
Figure 6BAN logic rules.
Figure 7Architecture of Automated Validation of Internet Security Protocols and Applications (AVISPA).
Figure 8r_Device role.
Figure 9r_Network_Server role and r_Application_Server role.
Figure 10r_Session role and r_Environment role.
Figure 11DO simulation and analysis result.
Figure 12Major changes in the Security-Enhanced Option (SEO).
Figure 13DTLS-ECC.
Figure 14DTLS-PSK.
Tiny DTLS-PSK 0.8.2 and Tiny DTLS-ECC 0.8.2 environments for evaluation.
| Environment | Specific |
|---|---|
| CPU | Intel® Core™i5-6300HQ 2.30 GHz (0.88 GHz) |
| RAM | 8GB |
| Compiler | gcc (GCC) 6.4.0 |
| OS | Windows 10 64bit (Cygwin32) |
| DTLS Library | TinyDTLS 0.8.2 |
| Cipher Suite | TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 |
| Cipher Suite | TLS_PSK_WITH_AES_128_CCM_8 |
DTLS-PSK packet size and overheads.
| Message | Size (Bytes) | Overhead (ms) |
|---|---|---|
| Client_Hello(1) | 42 | 1 |
| Hello_Verify_Request | 19 | - |
| Client Hello(2) | 58 | 1 |
| Server_Hello | 38 | - |
| Server_Hello_Done | 0 | - |
| Client_Key_Exchange | 17 | 1 |
| Finished(Client) | 12 | 1 |
| Finished(Server)_Verify | 12 | 1 |
| Total Overhead | 5 |
DTLS–PSK handshake message packet.
| Message | Size (Bytes) |
|---|---|
| Client_Hello(1) | 42 |
| Hello_Verify_Request | 19 |
| Client_Hello(2) | 58 |
| Server_Hello, Server Hello Done | 38 |
| Client_Key_Exchange, Finished | 29 |
| Finished | 12 |
| Total Message Size | 198 |
DTLS-ECC packet size and overheads.
| Message | Size (Bytes) | Overhead (ms) |
|---|---|---|
| Client_Hello(1) | 72 | 1 |
| Hello_Verify_Request | 19 | - |
| Client Hello(2) | 88 | 1 |
| Server_Hello | 56 | - |
| Certificate | 97 | 1 |
| Server_Key_Exchange | 143 | - |
| Certificate_Request | 8 | - |
| Server_Hello_Done | 0 | - |
| Client_Key_Exchange | 66 | 31 |
| Certificate_Verify | 76 | 31 |
| Finished(Client) | 12 | 31 |
| Finished(Server) | 12 | 1 (for verification) |
| Total Overhead | 97 |
DTLS-ECC handshake message packet.
| Message | Size (Bytes) |
|---|---|
| Client_Hello(1) | 72 |
| Hello_Verify_Request | 19 |
| Client_Hello(2) | 88 |
| Server_Hello, Certificate, Server_Key_Exchange, Certificate_Request, Server_Hello_Done | 304 |
| Certificate, Client_Key_Exchange, Certificate_Verify, Finished | 251 |
| Finished | 12 |
| Total Message Size | 746 |
Proposed protocol environment for evaluation.
| Environment | Specific |
|---|---|
| CPU | Intel® Core™i5-6300HQ 2.30 GHz (0.88 GHz) |
| RAM | 8 GB |
| Compiler | Visual Studio 2017 32 bit |
| OS | Windows 10 64 bit |
Message size and overhead for the proposed protocol’s Default Option (DO).
| Message | Size (Bytes) | Overhead (ms) |
|---|---|---|
| App_Auth_Req | 37 | 1 |
| APP_Auth_Res | 53 | 9 |
| App_Auth_ACK | 4 | 1 |
| Total Overhead | 11 | |
| Total Message Size | 94 |
Message size and overhead for the proposed protocol’s SEO.
| Message | Size (Bytes) | Overhead (ms) |
|---|---|---|
| App_Auth_Req | 69 | 3 |
| APP_Auth_Res | 53 | 12 |
| App_Auth_ACK | 4 | 1 |
| Total Overhead | 16 | |
| Total Message Size | 126 |
System-based comparison for DTLS-PSK, DTLS-ECC and extended LoRaWAN protocol with DO and SEO features.
| Protocol | Overhead (ms) | Overhead Impact w.r.t. DO | Overhead Impact w.r.t. SEO | Message Size (Bytes) | Message Size Impact w.r.t. DO | Message Size Impact w.r.t. SEO |
|---|---|---|---|---|---|---|
| DO | 11 | - | −31.25% | 94 | - | −25.39% |
| SEO | 16 | +31.25% | - | 126 | +25.39% | - |
| DTLS-PSK | 5 | −54.54% | −68.75% | 198 | +52.52% | +36.36% |
| DTLS-ECC | 97 | +88.65% | +83.50% | 746 | +87.39% | +83.10% |
Proposed protocol environment for evaluation over a mobile device.
| Environment | Specific |
|---|---|
| Device Type | Mobile |
| Make | Lenovo |
| Chipset | Mediatek MT6753 |
| CPU | Octa-core 1.3 GHz Cortex-A53 |
| GPU | Mali-T720MP3 |
| Compiler | Visual Studio 2017 (Android Kit) |
| OS | Android 5.1.1 |
Overhead for the proposed protocol (DO and SEO) over a low-power device.
| Message | DO (min) (ms) | DO (max) (ms) | SEO (min) (ms) | SEO (max) (ms) |
|---|---|---|---|---|
|
| 12 | 12 | 20 | 20 |
|
| 5 | 9 | 5 | 12 |
|
| 1 | 1 | 1 | 1 |
| Total Overhead | 18 | 22 | 26 | 33 |
Figure 15An illustration of the case study of protocols for a smart factory-enabled parking system.
Parameter configurations.
| Parameter | Value |
|---|---|
|
| 10 |
|
| 11 Mbps |
|
| 20 ms |
|
| 64 Bytes |
|
| 45.35 ms |
|
| 10–50 ms |
|
| 1–10 |
|
| 100 ms |
|
| 20 ms |
Figure 16Network latency (ms) vs. the number of intermediate hops.
Figure 17Density (network latency) vs. network latency with reliability fitting.
Figure 18Network latency (ms) vs. transport delay.
Figure 19Signaling overheads vs. number of intermediate hops.
Figure 20A general overview of the LoRaWAN specification v1.1 architecture.