| Literature DB >> 24919012 |
Younsung Choi1, Donghoon Lee2, Jiye Kim3, Jaewook Jung4, Junghyun Nam5, Dongho Won6.
Abstract
Wireless sensor networks (WSNs) consist of sensors, gateways and users. Sensors are widely distributed to monitor various conditions, such as temperature, sound, speed and pressure but they have limited computational ability and energy. To reduce the resource use of sensors and enhance the security of WSNs, various user authentication protocols have been proposed. In 2011, Yeh et al. first proposed a user authentication protocol based on elliptic curve cryptography (ECC) for WSNs. However, it turned out that Yeh et al.'s protocol does not provide mutual authentication, perfect forward secrecy, and key agreement between the user and sensor. Later in 2013, Shi et al. proposed a new user authentication protocol that improves both security and efficiency of Yeh et al.'s protocol. However, Shi et al.'s improvement introduces other security weaknesses. In this paper, we show that Shi et al.'s improved protocol is vulnerable to session key attack, stolen smart card attack, and sensor energy exhausting attack. In addition, we propose a new, security-enhanced user authentication protocol using ECC for WSNs.Entities:
Year: 2014 PMID: 24919012 PMCID: PMC4118368 DOI: 10.3390/s140610081
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
ECC key sizes compared with other PKC schemes.
| 80 | 160 | 1,024 | 1012 | until 2010 |
| 112 | 224 | 2,048 | 1024 | until 2030 |
| 128 | 256 | 3,072 | 1028 | beyond 2031 |
| 192 | 384 | 7,680 | 1047 | beyond 2031 |
| 256 | 512 | 15,360 | 1066 | beyond 2031 |
Notations.
| Two large prime numbers | |
| A finite field | |
| An elliptic curve defined on finite field | |
| The group of elliptic curve points on | |
| The identity of user | |
| The identity of sensor | |
| The user | |
| The gateway of WSN | |
| The master keys of | |
| A secure one-way hash function | |
| ‖ | A string concatenation operation |
| ⊕ | A bitwise XOR operation |
Figure 1.The registration phase of Shi et al.'s protocol.
Figure 2.The login and authentication phases of Shi et al.'s protocol.
Figure 3.The password update phase of Shi et al.'s protocol.
Figure 4.A session key attack on Shi et al.'s protocol.
Figure 5.A stolen smart card attack on Shi et al.'s protocol.
Figure 6.A sensor energy exhausting attack on Shi et al.'s protocol.
Figure 7.The registration phase.
Figure 8.The login and authentication phase.
Figure 9.The password update phase.
Efficiency comparison.
|
| |||
|---|---|---|---|
| Yeh | 2 | 2 | 3 |
| Shi | 3 | 2 | 1 |
| Our protocol | 3 | 2 | 1 |
Estimated efficiency comparison.
|
| |||
|---|---|---|---|
| Yeh | 2.5 | 3 | 3 |
| Shi | 3 | 2 | 1 |
| Our protocol | 3 | 2 | 1 |
Security comparison.
| Stolen-verifier attack | Secure | Secure | Secure |
| Insider attack | Secure | Secure | Secure |
| Replay attack | Secure | Secure | Secure |
| Man-in-the-middle attack | Secure | Secure | Secure |
| Gateway impersonation attack | Secure | Secure | Secure |
| User impersonation attack | Secure | Secure | Secure |
| Sensor impersonation attack | Insecure | Secure | Secure |
| Mutual authentication | No | Yes | Yes |
| Perfect forward secrecy | No | Yes | Yes |
| Key agreement between user and sensor | No | Yes | Yes |
| Session key attack | Insecure | Insecure | Secure |
| Stolen smart card attack | Insecure | Insecure | Secure |
| Sensor energy exhausting attack | Insecure | Insecure | Secure |
Local sets specification for principal U.
| POSS(U) = { | (U16) Update( |
| BEL( | (U17) Receive( |
| BL(U) | (U18) Check-freshness( |
| Phase 1 | (U19) Check ( |
| (U1)
| |
| (U2) Send ( | (U20) |
| (U3) Update( | (U21) Check( |
| (U4) Receive( | (U22) |
| Phase 2 | Phase 3 |
| (U5)
| (U23)
|
| (U6) | (U24) |
| (U7) | (U25) Check( |
| (U8) | (U26) |
| (U9) | (U27) |
| (U10) Generate-nonce( | (U28)
|
| (U11) | (U29) |
| (U12) | (U30) |
| (U13) | (U31) |
| (U32) | |
| (U14) | (U33) |
| (U15) Send( | (U34) |
Local sets specification for principal S.
| POSS( | (SN7) |
| BEL( | Send( |
| BL( | (SN8) Update( |
| Phase 2 | (SN9) Receive( |
| (SN1) Receive( | (SN10) Check-freshness( |
| (SN2) Check-freshness( | (SN11) Check |
| (SN3) Check | ( |
| ( | (SN12) |
| (SN4) Generate-nonce( | (SN13) |
| (SN5) | (SN14) |
| (SN6) | (SN15) Send( |
| ( | (SN16) Update( |
Local sets specification for principal GW.
| POSS(GW) = { | Phase 2 |
| BEL( | (GW9) Receive( |
| BL( | (GW10) Check-freshness( |
| Phase 1 | (GW11) Check ( |
| (GW1) Received( | |
| (GW2) | (GW12) |
| (GW3) | (GW13) |
| (GW4) | Check( |
| (GW5) | (GW14) |
| Hash( | |
| (GW6) Send( | (GW15) |
| (GW7) Update( | (GW16) Send( |
| (GW8) Forget( | (GW17) Update( |