Disclosure of Invention
The present invention is directed to solving the above problems of the prior art. The RFID entrusted authentication method for the smart home is capable of improving safety. The technical scheme of the invention is as follows:
an RFID entrusting and authenticating method facing smart home comprises a common authenticating stage and an entrusting and authenticating stage; in the common authentication stage, the first user generates a random number and performs hash calculation to obtain hTg, hTgFor trusted third parties to verify their identity, TTgThe chaos mapping value generated by random generation is used to contain hTg、TTgThe first reader receives the label and then checks the current time stamp inequality of the reader, if yes, the first reader generates a random number and then carries out Hash calculation to obtain hRd,hRdFor trusted third parties to verify their identity, TRdThe chaos mapping value generated by random generation is used to contain hRd、TRdThe first reader label and the user label are sent to a trusted third party, the trusted third party carries out identity verification of the first user label and identity verification of the first reader, and after the verification is successful, the first reader and the first user are returned to generate a session key between the first reader and the first user;
in the entrusting and authenticating phase, the entrusting and authenticating phase comprises: the trustee generates information containing the identity of the trustee to a trusted third party, and the trusted third party performs authentication and stores the information of the trustee; in the authentication stage, the entrusted person sends an information tag containing a hash value and an identity of the entrusted person to a first reader for inspection, the first reader generates a first reader tag after the inspection is successful and sends the first reader tag to a trusted third party, the trusted third party carries out identity authentication of the first reader and the entrusted person, if the identities of the first reader and the entrusted person are authenticated, whether the tag is the same as an identity ID stored in the previous entrusting stage is judged, the identity of the entrusted person is judged, authentication passing information is returned to the first reader and the entrusted person, a session key between the first reader and the entrusted person is generated, and entrusted authentication is completed.
Further, in the ordinary authentication stage, the first user generates a random number x by generating the random number and the Tag-a
TgThen calculate
hT
g=h(ID
Tg_A||PW
Tg_A||t
Tg||T
Tg) Wherein (r, T)
S=(T
s(r) modp), p) is the public key of the trusted third party, s is the private key of the trusted third party, ID
Tg_AIs the true identity of the Tag-A, PW
TgIs the shared password of the Tag-A and the trusted third party, t
TgIs a time stamp, p represents a large prime number, K
TSKey, ID ', representing the first Tag-A and the trusted third party'
Tg_ARepresents the anonymous identity of the Tag-A, h
TgFor trusted third party to verify identity, and then tag sending M
Tg={h
Tg,t
Tg,T
Tg,ID'
Tg_AGiving the reader.
Further, in the ordinary authentication stage, after the first reader receives the tag, the examination of the current time stamp inequality of the reader specifically includes: the first Reader-A first checks the inequality (t)
Rd-t
Tg) Whether or not △ t is satisfied,
tRdfor the current timestamp of the reader, if true, the first reader will generate a random number x
RdThen calculate
h
Rd=h(ID
Rd_A||PW
Rd_A||t
Rd||T
Rd) Wherein ID
Rd_AIs the identity of Reader-A, PW
Rd_AShared passwords for Reader-A and trusted third parties, T
RdIs a chaotic mapping value generated based on a random number, and then the reader transmits M
Rd={h
Rd,t
Rd,T
Rd,ID′
RD_A},M
TgTo a trusted third party.
Further, the normal authentication phase is performed when M is received
Rd,M
TgThereafter, the trusted third party first checks the inequality (t)
S-t
Tg) △ t ≦ if the inequality holds, then the trusted third party calculates K ≦ if the inequality holds'
TS=T
s(T
Tg)modp,K'
RS=T
s(T
Rd)modp,
ID″
Tg_ARepresents the anonymous identity, ID ', of the Tag-A'
Rd_ARepresenting anonymous identity, K ', of Reader-A'
TSKey, K ', representing trusted third party and Tag-A'
RSRepresenting a key representing a trusted third party and Reader-A, and then according to ID ″
Tg_AFind the corresponding PW in its memory cell
Tg_AAnd calculating h'
Tg=h(ID″
Tg_A||PW
Tg_A||t
Tg||T
Tg) Then h 'are compared'
Tg,h
TgIf they are the same, the identity of the label is authenticated by the trusted third party, the identity of the reader is verified in the same way, if the identities of the label and the reader are both verified, the trusted third party verifies according to the ID ″
Tg_AIn the stored tuple (ID)
Tg,ID
Rd,PW
Tg) Finds the corresponding ID therein
RdIt is then compared with ID
Rd_AIn comparison, if equal, the trusted third party assumes that the reader is the owner of the tag, where equal is apparent, and then the trusted third party knows that the tag is the tag corresponding to the reader, and then the trusted third party calculates
Own indicates that the reader is the owner of the tag,
used for Reader-a to verify the identity of a trusted third party,
for Tag-A to verify trusted third party identity, M
Ts1Is a message combination to Reader-A, M
Ts2Is a message combination for a Tag-A, and a trusted third party sends M
Ts1,M
Ts2To the first reader.
Further, the first Reader-A receives M
Ts1,M
Ts2Then, calculate
It is mixed with
In comparison, if equal, the reader knows that the tag was successfully authenticated by the trusted third party, and then it will authenticate M
Ts2Sending to the tag, the reader computing
As a session key with the first user tag; tag receipt M
Ts2Then, first calculate
It is mixed with
Comparing, if the two are equal, the tag knows that the authentication by the trusted third party is successful, and then the tag calculates
After this operation is completed, the mutual authentication of the tag and the reader is completed as a session key with the reader.
Further, the delegation phase: the client is requested by generating a packageThe label of the information of the person is given to a trusted third party, and the trusted third party carries out authentication and stores information of the person to be entrusted, and the method specifically comprises the following steps: user A selects random number a and calculates K ═ T
a(T
S) modp, K denotes the secret key of user A and the trusted third party, which is then calculated
h
1=h(ID
Tg_A||PW
Tg_A||ID
Tg_B||t
A),A=T
a(r) modp, where ID
Tg_A,PW
Tg_ARespectively the identity and password of Tag A, t
AIs a time stamp, ID
Tg_BIs the identity of Tag-B and then sends h
1,t
AN, M, A to a trusted third party;
after receiving the information, the trusted third party calculates K' ═ T
s(A) modp, K' represents the key of user a and the trusted third party,
ID'
Tg_Arepresenting the anonymous identity of the Tag-a,
then according to ID'
Tg_AFind out corresponding PW in database
Tg_AThen calculate h
1'=h(ID'
Tg_A||PW
Tg_A||ID'
Tg_B||t
A) If h is
1' and h
1Equal, then the trusted third party will be (ID'
Tg_B||ID'
Tg_A) Stored in a database.
Further, the authentication phase: Tag-B generates a random number x
TgThen calculate
h
Tg=h(ID
Tg_B||PW
Tg_B||t
Tg||T
Tg) Wherein ID
Tg_B,PW
Tg_BIs the identity and password of the Tag-B, t
TgIs the current timestamp of the tag, and the tag then sends M
Tg={h
Tg,t
Tg,T
Tg,ID'
Tg_BReader A; receive M
TgThereafter, Reader-A first checks the inequality (t)
Rd-t
Tg) Whether t is equal to or less than △ t, t
RdFor the current timestamp of the reader, if true, the reader will generate a random number x
RdThen calculate
Then calculate h
Rd=h(ID
Rd_A||PW
Rd_A||t
Rd||T
Rd) Wherein ID
Rd_A,PW
Rd_AIs the identity and password of Reader-A, and then the Reader sends M
Rd={h
Rd,t
Rd,T
Rd,ID'
Rd_A},M
TgTo a trusted third party.
Further, when receiving M
Rd,M
TgThereafter, the trusted third party first checks the inequality (t)
S-t
Tg) △ t ≦ if the inequality holds, then the trusted third party calculates K ≦ if the inequality holds'
TS=T
s(T
Tg)modp,K'
RS=T
s(T
Rd)mod p,
Then according to ID ″)
Tg_BFind the corresponding PW in its memory cell
Tg_BAnd calculating h'
Tg=h(ID″
Tg_B||PW
Tg_B||t
Tg||T
Tg). Then h 'is compared'
Tg,h
TgIf they are the same, the identity of the label is authenticated by the trusted third party, the identity of the reader is verified in the same way, if the identities of the label and the reader are both verified, the trusted third party verifies according to the ID ″
Tg_BIn the stored tuple (ID)
Tg,ID
Rd,PW
Tg) Finds the corresponding ID therein
RdIt is then compared with ID
Rd_AComparing, if equal, the trusted third party knows that the reader is the owner of the tag, where obviously unequal, and then the trusted third party knows the ID "by finding the identity pair stored in the delegation phase
Tg_BIs ID
Tg_ACommitted, then according to ID ″)
Tg_ATo the corresponding triplet (ID)
Tg,ID
Rd,PW
Tg) Find its corresponding ID
RdIs ID
Rd_AThe trusted third party then believes that the tag can be authenticated by the reader, which then calculates
Auth indicates that the tag is trusted, and a trusted third party sends M
Ts1,M
Ts2To Reader a.
Further, receiving M
Ts1,M
Ts2Then, Reader-A calculates
It is mixed with
In comparison, if equal, the reader knows that the tag was successfully authenticated by the trusted third party, and then it will authenticate M
Ts2Sending to the tag, the reader computing
As a session key with the tag; tag receipt M
Ts2Then, first calculate
It is mixed with
Comparing, if the two are equal, the tag knows that the authentication by the trusted third party is successful, and then the tag calculates
As a session key with the reader, after this operation is completed, the tag and the reader readMutual authentication of the readers is completed.
The invention has the following advantages and beneficial effects:
firstly, designing a non-entrusted RFID authentication protocol which is used for a general authentication scene without entrustment in the smart home, and is called as common authentication; on the basis, a delegation authentication protocol is provided for a transaction delegation scene. The scheme of the invention is based on Chebyshev chaotic mapping design, has the advantages that a user can remotely finish transaction entrustment, and the system does not need to bear the key management task of traditional public key password authentication due to the half-group characteristic of the chaotic mapping, thereby reducing the system overhead.
Detailed Description
The technical solutions in the embodiments of the present invention will be described in detail and clearly with reference to the accompanying drawings. The described embodiments are only some of the embodiments of the present invention.
The technical scheme for solving the technical problems is as follows: as described with reference to figures 1-3,
(1) the method comprises the following steps of general authentication, wherein the authentication process corresponds to an authentication process which is carried out by a user according to a Tag of the user and a Reader of the user, and the specific steps are as follows:
A) the Tag-A generates a random number x
TgThen calculate
h
Tg=h(ID
Tg_A||PW
Tg_A||t
Tg||T
Tg) Where r, TS ═ t (TS (r) modp), p is the public key of the trusted third party, s is the private key of the trusted third party, ID
TgIs label TaName of g-A, PW
TgIs the shared password of the Tag-A and the trusted third party, t
TgIs a time stamp. The tag then sends M
Tg={h
Tg,t
Tg,T
Tg,ID'
Tg_AGiving the reader.
B) Receive M
TgThereafter, Reader-A first checks the inequality (t)
Rd-t
Tg) Whether or not t is equal to △ t (t)
RdIs the current timestamp of the reader), if true, the reader will generate a random number x
RdThen calculate
h
Rd=h(ID
Rd_A||PW
Rd_A||t
Rd||T
Rd). Wherein the ID
Rd_AIs the identity of Reader-A, PW
Rd_AThe Reader-a and the trusted third party share the password. Next, the reader transmits M
Rd={h
Rd,t
Rd,T
Rd,ID'
RD_A},M
TgTo a trusted third party.
C) When receiving M
Rd,M
TgThereafter, the trusted third party first checks the inequality (t)
S-t
Tg)≤△t,(t
S-t
Rd) If the inequality holds, then the trusted third party calculates K'
TS=T
s(T
Tg)mod p,K'
RS=T
s(T
Rd)mod p,
Then according to ID ″)
Tg_AFind the corresponding PW in its memory cell
Tg_AAnd calculating h'
Tg=h(ID″
Tg_A||PW
Tg_A||t
Tg||T
Tg). Then h 'is compared'
Tg,h
TgIf they are the same, the identity of the tag is authenticated by the trusted third party. And the identity of the reader is verified in the same way. If the identities of the two are verified, the trusted third party verifies the ID ″, according to the ID
Tg_AIn the stored tuple (ID)
Tg,ID
Rd,PW
Tg) Finds the corresponding ID therein
RdIt is then compared with ID
Rd_AAnd (6) comparing. If so, the trusted third party knows that the reader is the owner of the tag. Here, it is apparent that the same is true, and the trusted third party knows that the tag is a tag corresponding to the reader. Then trusted third party computing
(Own indicates that the reader is the owner of the tag). Trusted third party sending M
Ts1,M
Ts2To the reader.
D) Receive M
Ts1,M
Ts2Then, Reader-A calculates
It is mixed with
And (6) comparing. If the two are equal, the reader knows that the tag is successfully authenticated by the trusted third party. Then it sends M
Ts2And sending to the tag. Reader computing
As a session key with the ticket.
E) Tag receipt M
Ts2Then, first calculate
It is mixed with
And (6) comparing. If the two are equal, the tag knows that the authentication by the trusted third party is successful, and then the tag calculates
As a session key with the reader. After this operation is completed, the tagAnd the mutual authentication of the reader is completed.
(2) The delegation phase of delegation authentication (which begins with the default that user a has obtained user B's tag information). This stage is shown in fig. 2, and the specific steps are as follows:
A) user A selects random number a and calculates K ═ T
a(T
S) mod p, then calculate
h
1=h(ID
Tg_A||PW
Tg_A||ID
Tg_B||t
A),A=T
a(r) modp, where ID
Tg_A,PW
Tg_AIs the identity and password of Tag A, t
AIs a time stamp. ID
Tg_BIs the identity of Tag-B. Then sends h
1,t
AN, M, A to a trusted third party.
B) After receiving the information, the trusted third party calculates K' ═ T
s(A)modp,
Then according to ID'
Tg_AFind out corresponding PW in database
Tg_AThen calculate h
1'=h(ID'
Tg_A||PW
Tg_A||ID'
Tg_B||t
A) If h is
1' and h
1Equal, then the trusted third party will be (ID'
Tg_B||ID'
Tg_A) Stored in a database.
(3) The authentication phase of the delegation authentication, as shown in fig. 3, includes the following steps:
A) Tag-B generates a random number x
TgThen calculate
h
Tg=h(ID
Tg_B||PW
Tg_B||t
Tg||T
Tg) Wherein ID
Tg_B,PW
Tg_BIs the identity and password of the Tag-B, t
TgIs the current timestamp of the tag. The tag then transmits
To Reader a.
B) Receive M
TgThereafter, Reader-A first checks the inequality (t)
Rd-t
Tg) Whether or not t is equal to △ t (t)
RdIs the current timestamp of the reader), if true, the reader will generate a random number x
RdThen calculate
He then calculates h
Rd=h(ID
Rd_A||PW
Rd_A||t
Rd||T
Rd). Wherein the ID
Rd_A,PW
Rd_AIs the identity and password of Reader-a. Next, the reader transmits M
Rd={h
Rd,t
Rd,T
Rd,ID'
Rd_A},M
TgTo a trusted third party.
C) When receiving M
Rd,M
TgThereafter, the trusted third party first checks the inequality (t)
S-t
Tg)≤△t,(t
S-t
Rd) If the inequality holds, then the trusted third party calculates K'
TS=T
s(T
Tg)modp,K'
RS=T
s(T
Rd)mod p,
Then according to ID ″)
Tg_BFind the corresponding PW in its memory cell
Tg_BAnd calculating h'
Tg=h(ID″
Tg_B||PW
Tg_B||t
Tg||T
Tg). Then h 'is compared'
Tg,h
TgIf they are the same, the identity of the tag is authenticated by the trusted third party. And the identity of the reader is verified in the same way. If the identities of the two are verified, the trusted third party verifies the ID ″, according to the ID
Tg_BIn the stored tuple (ID)
Tg,ID
Rd,PW
Tg) Finds the corresponding ID therein
RdIt is then compared with ID
Rd_AAnd (6) comparing. If so, the trusted third party knows that the reader is the owner of the tag. Here, it is obviously not equal. The trusted third party then finds the identity pair stored in the delegation phase and knows the ID ″
Tg_BIs ID
Tg_ACommitted, then according to ID ″)
Tg_ATo the corresponding triplet (ID)
Tg,ID
Rd,PW
Tg) Find its corresponding ID
RdIs ID
Rd_AThe trusted third party then believes that the tag can be authenticated by the reader. Then trusted third party computing
(Auth indicates that the tag is delegated). Trusted third party sending M
Ts1,M
Ts2To Reader a.
D) Receive M
Ts1,M
Ts2Then, Reader-A calculates
It is mixed with
And (6) comparing. If the two are equal, the reader knows that the tag is successfully authenticated by the trusted third party. Then it sends M
Ts2And sending to the tag. Reader computing
As a session key with the ticket.
E) Tag receipt M
Ts2Then, first calculate
It is mixed with
And (6) comparing. If the two are equal, the tag knows that the authentication by the trusted third party is successful, and then the tag calculates
As a session key with the reader. After this operation is completed, the mutual authentication of the tag and the reader is completed.
The above examples are to be construed as merely illustrative and not limitative of the remainder of the disclosure. After reading the description of the invention, the skilled person can make various changes or modifications to the invention, and these equivalent changes and modifications also fall into the scope of the invention defined by the claims.