Anonymity authentication method for wireless sensor networks
AssigneeNational Chin-Yi University of Technology
InventorChi-Tung CHEN
Life of this patent
Estimating the term…
Abstract
An anonymity authentication method for wireless sensor networks is provided. A smart card carried by a user is used to provide two-factor verification protection. Moreover, a random factor and a hash function operation are introduced for participating an operation of the transmitted messages in all phases. Moreover, the operation of the transmitted messages uses only hash function and XOR operator.
Claims4
An anonymity authentication method for wireless sensor networks, the anonymity authentication method comprising a registration procedure, a login procedure and an authentication and key agreement procedure, the registration procedure comprising a user registration procedure and a sensor node registration procedure, the user registration procedure comprising:
- freely choosing a user identification IDi and a user password PWi by a user;
- generating a random number ri and computing h(rj⊕PWi) by the user, where h(.) is a single hash function operation;
- transmitting the user identification IDi and h(ri⊕PWi) to a gateway node by the user through a security channel;
- selecting an expiration time TEi of a temporal credential TCi of the user Ui and computing:
- Pi=h(IDi∥IDGWN∥TEi), TCi=h(Pi∥KGWN-U∥TEi), PTCi=TCi⊕h(ri⊕PWi), Qi=h(IDi∥KGWN-U), Bi=Qi⊕h(IDi∥h(ri⊕PWi)) and Ri=h(Qi) by the gateway node, and issuing the temporal credential TCi for the user Ui after receiving the messages transmitted by the user Ui, where ∥ is a string concatenation operation and ⊕ is an XOR operation;
- issuing a secret parameter set {IDGWN, PTCi, TEi, Bi, Ri, h(.)} to a smart card of the user by the gateway node through a security channel;
- and
- inputting the random number ri to the smart card of the user, and the smart card comprising the secret parameter set {IDGWN, PTCi, TEi, Bi, Ri, ri, h(.)};
- the sensor node registration procedure comprising:
- pre-configuring a sensor node with a sensor node identification SIDj;
- generating a random number rj and computing h(rj⊕SIDj) by the sensor node;
- transmitting the sensor node identification SIDj and h(rj⊕SIDj) to the gateway node by the sensor node through a security channel;
- computing a temporal credential TCj=h(KGWN-S∥SIDj) and issuing the temporal credential TCj for the sensor node by the gateway node after receiving the messages transmitted from the sensor node;
- computing RTCj=TCj⊕h(h(rj⊕SIDj)∥SIDj) and transmitting RTCj to the sensor node by the gateway node through a security channel;
- and
- computing the temporal credential TCj=RTCj⊕h(h(rj⊕SIDj)∥SIDj) then storing TCj by the sensor node after receiving the messages transmitted from the gateway node;
- the login procedure comprising:
- inserting the smart card into a card reader by the user and providing the user identification IDi and the user password PWi corresponding to the smart card;
- computing Qi=Bi⊕h(IDi∥h(ri⊕PWi)) and Ri*=h(Qi) by the smart card, and verifying whether Ri* and stored Ri in the smart card are equal;
- if the values are unequal, the smart card rejecting the login procedure;
- if the values are equal, the legitimacy of the user is ensured, and the messages stored in the smart card can be read by the user;
- and
- computing the temporal credential TCi=PTCi⊕h(ri⊕PWi) by the user to find its temporal credential TCi;
- the authentication and key agreement procedure comprising:
- generating a random number Ni and computing:
- Pi=h(IDi∥IDGWN∥TEi),DIDi=IDi⊕h(TCi∥IDGWN∥Ni) and q1=h(IDi∥TCi∥Ni) by the user;
- randomly choosing a secret sharing key Ki, and computing PKSi=Ki⊕h(TCi∥Ni) by the user;
- after computation, transmitting a login request message m1={DIDi, q1, PKSi, TEi, Pi, Ni} to the gateway node by the user;
- computing TCi=h(Pi∥KGWN-U∥TEi), IDi=DIDi⊕h(TCi∥IDGWN∥Ni) and q1*=h(IDi∥TCi∥Ni) by the gateway node after receiving the login request message;
- verifying whether q1* and q1 are equal by the gateway node;
- if q1*≠q1, terminating the login request of the user and transmitting a rejection message to the user by the gateway node;
- if q1*=q1, the legitimacy of the user is ensured, and the login request of the user is accepted by the gateway node and a login status of the user is recorded by the gateway node;
- computing Ki=PKSi⊕h(TC1∥Ni) by the gateway node;
- at the time, choosing a nearby suitable sensor node as the accessed sensor node with the sensor node identification SID and computing the temporal credential TCj=h(KGWN-S∥SIDj) by the gateway node;
- generating a random number NGWN and computing DIDGWN=IDi⊕h(TCj∥DIDi∥NGWN), q2=h(IDi∥TCj∥NGWN) and PKSGWN=Ki⊕h(TCj∥NGWN) by the gateway node;
- after computation, transmitting a message set m2={DIDi, DIDGWN, q2, PKSGWN, IDGWN, Ni, NGWN} to the sensor node by the gateway node;
- after receiving the message set, assessing the gateway node identification IDGWN to determine whether the gateway node is an ally, if yes, then computing IDi=DIDGWN⊕h(TCj∥DIDi∥NGWN) and q2*=h(IDi∥TCj∥NGWN) by the sensor node;
- verifying whether q2* and q2 are equal by the sensor node, if q2*≠q2, terminating the request and returning a rejection message by the sensor node;
- if q2*=q2, the legitimacy of the gateway node is ensured, and the request is accepted by the sensor node;
- at the time, computing Ki=PKSGWN⊕h(TCj∥NGWN) by the sensor node;
- freely choosing a secret sharing key Kj and computing q3=h(IDi∥SIDj∥Ki∥Ni∥NGWN) and PKSj=Kj⊕h(Ki∥Ni∥NGWN) by the sensor node;
- transmitting a message set m3={SIDj, q3, PKSj, Ni, NGWN} to the user and the gateway node by the sensor node;
- after receiving the message set m3, the user and the gateway node computing q3*=h(IDi∥SIDj∥Ki∥Ni∥NGWN) separately;
- after computation, verifying whether q3* and q3 are equal by the gateway node;
- if q3*=q3, the legitimacy of the sensor node is ensured by the gateway node;
- similarly, verifying whether q3* and q3 are equal by the user, if q3*=q3, the legitimacy of the sensor node and the gateway node is ensured by the user;
- the user and the gateway node computing the secret sharing key Kj=PKSjh⊕(Ki∥Ni∥NGWN) separately;
- after the authentication procedure, the user, the gateway node and the sensor node computing a shared secret session key KEYij=h(Ki∥Kj∥Ni∥NGWN∥SIDj) separately;
- wherein Pi, PTCi, Qi, Bi, Ri, RTCj, PKSi, PKSGWN, PKSj, q1*, q1, q2*, q2, q3*, q3, Ri, Ri* are computation values.
Dependencies are inferred from the claim text.