Radio frequency identification data security authentication method and system based on random rearrangement block matrix encryption

By adopting the authentication method based on random rearranged block matrix encryption in the RFID system, the problem of insufficient security of RFID authentication in the prior art is solved, and RFID authentication with high security and low overhead is realized, effectively resisting various attacks and protecting private data.

CN115278620BActive Publication Date: 2025-03-18XIDIAN UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210727765.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-24
Publication Date
2025-03-18
Estimated Expiration
2042-06-24

AI Technical Summary

Technical Problem

The existing ultra-lightweight RFID authentication protocol is poor in privacy protection of IoT devices in edge environments, and cannot effectively resist wireless attacks, such as desynchronization attacks and denial of service attacks, and there is a risk of privacy data leakage.

Method used

The RFID data security authentication method based on random reordering block matrix encryption is adopted, and the combination of random numbers and shared keys is used to realize two-way authentication of tags and readers, and the shared key information of this and the previous round is stored in the edge server to resist various attacks.

Benefits of technology

It realizes high security and low overhead RFID authentication, which can effectively resist counterfeit attacks, tag tracking attacks, replay attacks, denial of service attacks and desynchronization attacks, while protecting the privacy data of tags and readers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115278620B_ABST
    Figure CN115278620B_ABST
Patent Text Reader

Abstract

The invention relates to a radio frequency identification data security authentication method and system based on random rearrangement block matrix encryption. The reader generates a random number, calculates a message A and sends it to a tag together with the random number. After receiving the message, the tag decrypts the reader identifier, generates a random number, calculates messages B, C and D and sends them to the reader. After receiving the message, the reader decrypts the tag identifier, calculates messages E, F and G and sends them to an edge server together with the random number and the message D of the tag. The edge server verifies the tag and the reader. If the verification is successful, the edge server generates a random number, updates the tag key and the reader key, generates messages H, M and N and sends them to the reader. The reader verifies the edge server. If the verification is successful, the reader updates the key, calculates messages P and Q and sends them to the tag together with the message N. The tag verifies the reader and the edge server. If the verification is successful, the tag updates the stored key information. The invention resists desynchronization attacks and denial of service attacks and reduces the storage space cost of the tag.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of wireless communication network security, and in particular relates to a radio frequency identification data security authentication method and system based on random rearrangement block matrix encryption. Background Art

[0002] Radio Frequency Identification (RFID) is a key technology in the Internet of Things that realizes data exchange between terminal readers and electronic tags through wireless communication. RFID is a contactless data communication technology. Compared with barcode technology, it has the advantages of high storage capacity, long-distance reading, modifiable stored information, high temperature resistance, long service life, and strong penetration. RFID technology is widely used in transportation, medicine, access control systems, inventory management, logistics management, anti-counterfeiting protection and other fields. In the cloud computing environment, since the data of electronic tags needs to pass through multiple layers of networks to transmit to the cloud server, the transmission time is extended, the authentication efficiency is low, and various Internet of Things devices cannot be monitored in real time. Edge computing can provide real-time services for devices on the edge side close to the electronic tags to improve data collection and processing efficiency. The RFID system plays an important role in the Internet of Things in the edge computing environment with its fast information reading and writing, convenient and flexible operation, etc. The Internet of Things devices obtain environmental data in real time, communicate with the reader through the attached electronic tags for data transmission, and the reader collects data and transmits it to the edge server. RFID can make the data collection process of IoT devices highly automated, saving collection time, and monitoring the life cycle of IoT devices in real time; through the electronic tags attached to IoT devices, the server can identify the accurate information of the device, so as to better monitor and record the device status, which has a positive role in promoting the development of IoT. However, since RFID tags and readers, as well as readers and edge servers, transmit messages through open wireless channels, it is easy for attackers to obtain the transmitted data through illegal means, thereby launching active or passive attacks on the session. Therefore, RFID technology inevitably poses security and privacy threats.

[0003] The reader and the tag communicate through a wireless channel. The communication channel between the reader and the edge server can also be controlled by the attacker, so the communication data can be completely obtained by the attacker. The attacker can actively attack the messages transmitted through the wireless channel by tampering, replaying, counterfeiting, etc., thereby destroying the RFID system. The existing ultra-lightweight RFID authentication method uses simple bit operations to encrypt and protect the communication data, reducing the system overhead, but it has been proven to have poor security and is not suitable for privacy protection of IoT devices in edge environments. An ultra-lightweight protocol that can achieve both low cost and high security is crucial for IoT systems in edge environments.

[0004] In summary, the problems and defects of the existing technology are as follows: the bit operation encryption algorithm used in the existing ultra-lightweight RFID authentication protocol is easy to be cracked, and the security is not high. In addition, the authentication protocol cannot resist various wireless attacks, such as desynchronization attack and denial of service attack. In addition, the existing authentication protocol stores private data in plain text, which poses a risk of privacy leakage. The difficulty of solving the above problems and defects is as follows: (1) The computing power and storage capacity of low-cost tags are limited, so it is necessary to design an ultra-lightweight RFID authentication method. (2) The tag and the reader communicate through an open wireless channel, and the reader and the edge server also use a wireless broadcast channel to transmit messages. Attackers can carry out active attacks on the open wireless broadcast channel, such as tampering, counterfeiting and replay, and can also carry out passive attacks, such as eavesdropping on confidential information. Therefore, there are potential security threats to the RFID system, such as replay attack, counterfeiting attack, desynchronization attack, tag tracking attack, denial of service attack, etc. Therefore, the designed protocol needs to be able to resist the above attack methods and have high security. (3) The privacy data stored in plain text on the edge server, such as tag identification and reader identification, may be leaked, so the designed protocol needs to encrypt and store the tag privacy data and reader privacy data.

[0005] In the edge computing environment, it is very important to use RFID systems to collect and process data from IoT devices and provide support for edge server decision-making. In order to protect the data privacy of electronic tags and manage IoT devices more safely, efficiently and accurately, it is of great significance to propose a highly secure, low-overhead, ultra-lightweight RFID authentication method. Summary of the invention

[0006] In view of the problems existing in the prior art, the object of the present invention is to provide a radio frequency identification data security authentication method and system based on random rearrangement block matrix encryption, which has the advantages of high security and low overhead.

[0007] In order to achieve the above object, the technical solution adopted by the present invention is:

[0008] The radio frequency identification data security authentication method based on random rearrangement block matrix encryption includes the following steps:

[0009] S101: The reader generates a random number, calculates message A and sends it together with the random number to the tag to start authentication;

[0010] S102: After receiving the message, the tag decrypts the reader's ID R , generate random numbers, and calculate messages B, C, and D to send to the reader;

[0011] S103: The reader receives and decrypts the tag's ID T, calculate messages E, F, G, and send them to the edge server together with the message D with the random number and tag;

[0012] S104: The edge server verifies the tag and the reader respectively according to the received tag message and reader message. If the verification is successful, the edge server generates a random number, updates the tag key and the reader key, and generates messages H, M, and N and sends them to the reader.

[0013] S105: The reader verifies the edge server according to the received message. If the verification is successful, the reader updates the key and calculates the messages P and Q, and sends them to the tag together with the message N.

[0014] S106: The tag verifies the reader and the edge server respectively according to the received message. If the verification is successful, the tag updates the stored key information.

[0015] The radio frequency identification data security authentication method based on random rearrangement block matrix encryption includes an initialization phase and an authentication phase;

[0016] The initialization phase includes:

[0017] (1) Tag storage ID T and shared keys K, K TS ;

[0018] (2) Reader stores ID R 、ID S and shared keys K, K RS ;

[0019] (3) Edge server storage ID S , reader identification associated information Mhash (ID R ) and tag identification association information Mhash(ID T ), and the shared key K used in the current session TS , K RS , and the shared key K used in the previous round of sessions TSold , K RSold ; Set K in the first round TSold and K RSold is zero.

[0020] The certification phase includes:

[0021] (1) The reader generates a random number n R , and using the random number n R , reader identification ID R , the reader and the tag share the key K to calculate the message A and send n R and A is given a label, and the calculation formula is as follows:

[0022]

[0023] (2) After receiving the message, the tag passes the random number n R and key K to decrypt the reader ID from message A R ; Label generates random number n T , and calculate the authentication messages B, C, and D and send them to the reader. The calculation formula is as follows:

[0024]

[0025]

[0026] D=Rot(Mhash(ID T )|K TS ,Mhash(ID R )|n R &n T )

[0027] (3) After receiving the tag message, the reader first uses the shared key K to decrypt the tag’s random number n from message B. T , and by n T 、n R and reader identification ID R Decrypt the tag ID from message C T ; The reader is then authenticated by the key K shared with the edge server RS Calculate the message E, from the random number n T and the edge server ID S Calculate the message F and pass it through the identifier ID R With tag ID T Calculate message G, the reader sends messages E, F, G together with the random number n R The message D calculated with the label is sent to the edge server. The calculation formula is as follows:

[0028]

[0029]

[0030]

[0031] (4) After receiving the message, the edge server first decrypts the message E to obtain the shared key K with the reader. RS , and then the shared key is used to query the reader identification association information Mhash (ID R); if matching information is retrieved, the edge server authenticates the reader successfully, and the edge server continues with the subsequent authentication steps; otherwise, if there is no matching information in the database, it means that the reader is fake, and the edge server ends the authentication; the edge server uses its ID S The random number n generated by the message F is calculated by the tag T , and according to the random number n R 、n T , the reader's shared key K RS And the reader identification associated information Mhash (ID R ) Calculate the tag identification association information Mhash (ID T ), and by Mhash(ID T ) searches the database for a matching tag key; if there is no matching tag key in the database, it means that the tag is fake and the edge server terminates the authentication; otherwise, the edge server takes out the key K TS and K TSold , and respectively by K TS and K TSold Verify the validity of message D; if K TS If the verification is successful, it means that the tag successfully updated the key in the previous round of authentication; if K TSold If the verification is successful, it means that the tag did not complete the key update in the previous round of authentication; if one of these two situations occurs, the edge server successfully authenticates the tag, otherwise the authentication fails; after successfully authenticating the tag and the reader, the edge server generates a random number n S , respectively update the shared key with the tag and reader; if the tag successfully updates the key in the previous round of authentication, the edge server uses K TS Calculate and update the new and old shared keys. The calculation and update formulas are as follows:

[0032]

[0033] K TSold =K TS ;

[0034] K TS =K TS '

[0035] If the tag has not completed the key update in the previous authentication round, then K TSold Keep unchanged, the edge server uses K TSold Update the shared key. The calculation and update formula is as follows:

[0036]

[0037] K TS =KTS '

[0038] If the reader key K RS K stored on the edge server RS If the reader successfully completes the key update in the previous round of authentication, the edge server uses K RS Calculate and update the new and old keys. The calculation and update formulas are as follows:

[0039]

[0040] K RSDld =K RS ;

[0041] K RS =K RS '

[0042] If the reader key K RS K stored on the edge server RSold If the reader fails to update the key in the previous authentication round, then K RSold Keep unchanged, the edge server uses K RSold Calculate and update the shared key. The calculation and update formula is as follows:

[0043]

[0044] K RS =K RS '

[0045] After the edge server completes the key update, it calculates the messages H, M, and N and sends them to the reader. The calculation formula is as follows:

[0046]

[0047]

[0048]

[0049] (5) After the reader receives the message, it will be T Decrypt the random number n generated by the edge server S , and by the random number n S 、n R and the shared key K RS Calculate the new key value K RS ′, the calculation formula is as follows:

[0050]

[0051] Reader by K RS ', random number nS 、n R And the ID R Verify the validity of message M; if the verification fails, terminate the authentication process; otherwise, the reader successfully authenticates the edge server and updates the shared key. The update formula is as follows:

[0052] K RS =K RS ′;

[0053] The reader calculates messages P and Q and sends them to the tag together with the message N from the edge server. The calculation formula is as follows:

[0054]

[0055]

[0056] (6) After the tag receives the message, it is identified by ID T , shared key K and random number n T Verify the validity of message Q; if the verification fails, the authentication is terminated; if the verification passes, the tag successfully authenticates the reader; the tag consists of message P and random number n T 、n R Decrypt the random number n generated by the edge server S , and the shared key K TS and a random number n S 、n T Calculate the new key value using the following formula:

[0057]

[0058] Label by K TS ', random number n S 、n T And the ID T Verify the validity of message N. If the verification fails, the authentication process is terminated; otherwise, the tag successfully authenticates the edge server. The tag updates the shared key and the authentication is completed; the update formula is as follows:

[0059] K TS =K TS ′;

[0060] Wherein, Tag: RFID tag; Reader: RFID reader; Edge Server: RFID edge server; n T 、n R 、n S : Random number; ID T : Tag identification; ID R :Reader ID; Mhash(ID T): Tag identification associated information; Mhash(ID R ): reader identification associated information; ID S : edge server identifier; K: shared key between reader and tag; K TS : The shared key between the current session tag and the edge server; K RS : The shared key between the current session reader and the edge server; K TSold : The shared key between the previous round of session tag and the edge server; K RSold : The shared key between the reader and the edge server in the previous round of session; Bitwise XOR operation; &: bitwise AND operation; |: bitwise OR operation; Rot(X, Y): X is cyclically shifted left by (Y mod L) bits; Mhash(X): random rearrangement of block matrix encryption operation; L: number of bits of tag information, key information, random number and communication message; ||: represents a cascade operation, which concatenates the bit strings on the left and right sides of the symbol into a long bit string.

[0061] In the authentication phase, in steps (1) and (3), the reader sends the random number n used in this round of authentication in plain text. R .

[0062] In the authentication phase steps (1)-(6), the tag, reader and edge server do not transmit the ID in plain text. T 、ID R 、ID S , the key K is not transmitted in plain text TS , K RS , the random number n is not transmitted in plain text T 、n S .

[0063] The authentication and update calculations in steps (1)-(6) of the authentication phase use a combination of a cyclic shift operation Rot and a random rearrangement block matrix encryption operation Mhash.

[0064] In the authentication phase step (4), the edge server first uses the locally stored K TS Calculate and determine whether it matches the K stored in the label TS The calculation result matches. If the match fails, use K TSold Continue to calculate. Only when the calculation results fail to match twice does the authentication fail.

[0065] In the authentication phase step (4), the edge server will use the key K shared with the reader for the current session. RS , the key K shared with the tag TS , and the key K shared with the reader used in the previous round of conversation RSold , the key K shared with the tagTSold All are updated.

[0066] In step (5) of the authentication phase, the reader updates the key information stored and shared with the edge server.

[0067] In step (6) of the authentication phase, the tag updates the key information stored in it and shared with the edge server.

[0068] The radio frequency identification data security authentication method based on random rearrangement block matrix encryption is stored in a storage medium that receives user input program, and is executed by an electronic device through a computer program.

[0069] The radio frequency identification data security authentication method based on random rearrangement block matrix encryption adopts a radio frequency identification data security authentication system, and the radio frequency identification data security authentication system includes:

[0070] Tags, used to store subject information;

[0071] A reader, used to obtain subject information and communicate with the edge server through a computer terminal;

[0072] Edge server, used for processing and storing tag collected data.

[0073] The radio frequency identification data security authentication system is mounted on a terminal, which is an Internet of Things terminal.

[0074] In combination with all the above technical solutions, the beneficial effects of the present invention are as follows: the present invention uses the newly proposed random rearrangement block matrix encryption operation Mhash and cyclic shift operation Rot to perform combined encryption on the communication message, and the edge server stores the key information shared with the tag and the reader used in this round and the previous round, which can achieve tag anonymity, mutual authentication and forward security, and effectively resist counterfeit attacks, tag tracking attacks, replay attacks, denial of service attacks and desynchronization attacks; the tag only stores the latest shared key, which reduces the storage space cost of the tag; the edge server stores the tag identification association information Mhash (ID T ) and reader identification association information Mhash(ID R ), the tag identification and reader identification plain text are not stored, thus achieving privacy protection; therefore, the method of the present invention achieves higher security at a lower cost.

[0075] The present invention uses a combination of low-overhead cyclic shift operations and random rearrangement block matrix encryption operations to encrypt communication messages, which is used for readers to complete security authentication of tags attached to these entities when collecting information from IoT devices. In the present invention, tags only store the latest synchronized shared keys, which reduces the burden on tag storage space; the edge server not only stores the shared tag key and shared reader key used in this round of authentication, but also retains the tag shared key and reader shared key used in the previous round of authentication, which can effectively resist denial of service attacks and desynchronization attacks; during authentication, the edge server does not store the tag identifier and reader identifier in plain text, but stores the tag identifier association information Mhash (ID T ) and reader identification association information Mhash(ID R ), and uses random numbers and shared keys for encryption in communication, which ensures the anonymity of the tag and can resist malicious tag tracking by attackers. The present invention not only realizes tag anonymity, two-way authentication and forward security, but also resists tag tracking attacks, replay attacks, counterfeit attacks, desynchronization attacks and denial of service attacks, achieving a balance between low-cost tags and high-security authentication requirements.

[0076] The present invention is compared and analyzed with the classic ultra-lightweight RFID authentication method. The security comparison results are shown in Table 1, where "√" means that the security requirement is met, "×" means that the security requirement is not met, and "*" means that the security requirement is partially met.

[0077] Table 1 Safety comparison

[0078] Mujahid Agreement Sarah Protocol Zhu Protocol Benssalah Agreement RUAP Label anonymity √ √ √ √ √ Mutual Authentication * * * * √ Anti-label tracking attack √ √ √ × √ Anti-replay attack × √ × √ √ Anti-denial of service attack √ × × × √ Anti-desynchronization attack × √ × × √ Anti-counterfeiting attack √ √ √ √ √ Forward security √ √ √ √ √

[0079] In Table 1, the method of the present invention can resist tag tracking attacks, replay attacks, denial of service attacks and desynchronization attacks that other classic ultra-lightweight RFID authentication protocols cannot resist; while having forward security and counterfeit attacks and tag anonymity like other protocols, it can also ensure mutual authentication of RFID systems. The RUAP security authentication protocol achieves higher security.

[0080] The present invention compares and analyzes this method with several classic ultra-lightweight RFID authentication methods from four aspects: encryption function, storage overhead, communication overhead and tag hardware overhead. L represents the number of bits of identification information, shared key information, random number information and communication information.

[0081] Table 2 Comparison of encryption functions

[0082]

[0083] Table 3 Storage cost comparison

[0084] protocol Label Overhead Reader Overhead Server overhead Total expenses SASI 7L 4L -- 11L RCIA 7L 7L -- 14L Sarah Protocol 3L L 7L 11L Zhu Protocol 2L 3L 10L 15L Benssalah Agreement 4L L 6L 11L KMAP 7L 7L -- 14L Srinivas Jangirala Protocol 5L 6L 6L 17L RUAP 3L 4L 7L 14L

[0085] Table 4. Communication overhead comparison

[0086]

[0087]

[0088] Table 5. Comparison of label hardware overhead

[0089] protocol LUT register SASI 1814 1811 KMAP 1126 897 RCIA 1556 889 RUAP 750 941

[0090] The method of the present invention has higher security than the classic ultra-lightweight RFID authentication protocol, and adopts a more lightweight encryption function to meet the requirements of low-cost electronic tags. At the same time, the storage overhead and communication overhead are at a lower level than other ultra-lightweight RFID authentication protocols, the communication frequency is the lowest, and the overall resource overhead is low. The hardware overhead comparison results of RUAP and other classic ultra-lightweight RFID authentication methods show that when the identification information, key information, random number information and communication information used in the authentication process are all 64 bits, the authentication process of SASI requires 1814 LUTs and 1811 registers for one slice; the authentication process of KMAP requires 1126 LUTs and 897 registers for one slice; and the authentication process of RCIA requires 1556 LUTs and 889 registers for one slice. In summary, when this method is used for authentication, the LUT used is obviously less than SASI, KMAP and RCIA, and the registers are slightly more than KMAP and RCIA, and far less than SASI, that is, this method improves the security of the system with less resource overhead. BRIEF DESCRIPTION OF THE DRAWINGS

[0091] Figure 1 It is a flow chart of a radio frequency identification data security authentication method according to an embodiment of the present invention.

[0092] Figure 2 It is a structural diagram of a radio frequency identification data security authentication system according to an embodiment of the present invention.

[0093] Figure 3 It is a flow chart of the implementation of the radio frequency identification data security authentication method according to an embodiment of the present invention.

[0094] Figure 4 It is a calculation diagram of step 1 of the random rearrangement block matrix encryption calculation in an embodiment of the present invention.

[0095] Figure 5 This is a diagram of the operation result of step 2 of the random rearrangement block matrix encryption operation in an embodiment of the present invention.

[0096] Figure 6This is a flowchart of the algorithm 1 used in step 2 of the random rearrangement block matrix encryption operation in an embodiment of the present invention.

[0097] Figure 7 It is a random matrix diagram used in step three of the random rearrangement block matrix encryption operation in an embodiment of the present invention.

[0098] Figure 8 It is a matrix multiplication operation diagram used in step three of the random rearrangement block matrix encryption operation in an embodiment of the present invention.

[0099] Fig. 9 This is an operation diagram of step 4 of the random rearrangement block matrix encryption operation in an embodiment of the present invention.

[0100] Fig.10 It is a comparison chart of the overhead simulation results of the random rearrangement block matrix encryption function of the embodiment of the present invention and other classic lightweight encryption functions.

[0101] Fig.11 This is the simulation result of the tag overhead of the radio frequency identification data security authentication method according to the embodiment of the present invention.

[0102] Fig.12 This is a comparison chart of the authentication time of the radio frequency identification data security authentication method according to an embodiment of the present invention and other classic ultra-lightweight RFID authentication protocols. DETAILED DESCRIPTION

[0103] The present invention is further described in detail below in conjunction with the embodiments and drawings. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0104] like Figure 1 As shown, a radio frequency identification data security authentication method based on random rearrangement block matrix encryption includes the following steps:

[0105] S101: The reader generates a random number, calculates message A and sends it together with the random number to the tag to start authentication;

[0106] S102: After receiving the message, the tag decrypts the reader's ID R , generate random numbers, and calculate messages B, C, and D to send to the reader;

[0107] S103: The reader receives and decrypts the tag's ID T , calculate messages E, F, G, and send them to the edge server together with the message D with the random number and tag;

[0108] S104: The edge server verifies the tag and the reader respectively according to the received tag message and reader message. If the verification is successful, the edge server generates a random number, updates the tag key and the reader key, and generates messages H, M, and N and sends them to the reader.

[0109] S105: The reader verifies the edge server according to the received message. If the verification is successful, the reader updates the key and calculates the messages P and Q, and sends them to the tag together with the message N.

[0110] S106: The tag verifies the reader and the edge server respectively according to the received message. If the verification is successful, the tag updates the stored key information.

[0111] like Figure 2 As shown, the radio frequency identification data security authentication system adopted by the radio frequency identification data security authentication method based on random rearrangement block matrix encryption includes:

[0112] Tag 1: Attached to certain objects, such as electronic tags on IoT devices, which can store the subject information;

[0113] Reader 2: A fixed or portable reader can identify these tags 1 to obtain useful information about these objects and then communicate with the edge server 3 through some computer terminals;

[0114] Edge server 3: It is used to process and store the data collected by the tag. On the one hand, it stores all the tag information to facilitate the reader 2 to query the authentication tag 1; on the other hand, it can process various IoT and sensor data uploaded by the reader 2 and provide timely feedback.

[0115] The radio frequency identification data security authentication method based on random rearrangement block matrix encryption includes an initialization phase and an authentication phase;

[0116] The initialization phase includes:

[0117] (1) Tag storage ID T and shared keys K, K TS ;

[0118] (2) Reader stores ID R 、ID S and shared keys K, K RS ;

[0119] (3) Edge server storage ID S , reader identification associated information Mhash (ID R ) and tag identification association information Mhash(ID T ), and the shared key K used in the current sessionTS , K RS , and the shared key K used in the previous round of sessions TSold , K RSold ; Set K in the first round TSold and K RSold is zero.

[0120] like Figure 3 As shown, the authentication phase includes the following steps:

[0121] (1) The reader generates a random number n R , and using the random number n R , reader identification ID R , the reader and the tag share the key K to calculate the message A and send n R and A is given a label, and the calculation formula is as follows:

[0122]

[0123] (2) After receiving the message, the tag passes the random number n R and key K to decrypt the reader ID from message A R ; Label generates random number n T , and calculate the authentication messages B, C, and D and send them to the reader. The calculation formula is as follows:

[0124]

[0125]

[0126] D=Rot(Mhash(ID T )|K TS ,Mhash(ID R )|n R &n T )

[0127] (3) After receiving the tag message, the reader first uses the shared key K to decrypt the tag’s random number n from message B. T , and by n T 、n R and reader identification ID R Decrypt the tag ID from message C T ; The reader is then authenticated by the key K shared with the edge server RS Calculate the message E, from the random number n T and the edge server ID S Calculate the message F and pass it through the identifier ID R With tag ID T Calculate message G, the reader sends messages E, F, G together with the random number n RThe message D calculated with the label is sent to the edge server. The calculation formula is as follows:

[0128]

[0129]

[0130]

[0131] (4) After receiving the message, the edge server first decrypts the message E to obtain the shared key K with the reader. RS , and then the shared key is used to query the reader identification association information Mhash (ID R ); if matching information is retrieved, the edge server authenticates the reader successfully, and the edge server continues with the subsequent authentication steps; otherwise, if there is no matching information in the database, it means that the reader is fake, and the edge server ends the authentication; the edge server uses its ID S The random number n generated by the message F is calculated by the tag T , and according to the random number n R 、n T , the reader's shared key K RS And the reader identification associated information Mhash (ID R ) Calculate the tag identification association information Mhash (ID T ), and by Mhash(ID T ) searches the database for a matching tag key; if there is no matching tag key in the database, it means that the tag is fake and the edge server terminates the authentication; otherwise, the edge server takes out the key K TS and K TSold , and respectively by K TS and K TSold Verify the validity of message D; if K TS If the verification is successful, it means that the tag successfully updated the key in the previous round of authentication; if K TSold If the verification is successful, it means that the tag did not complete the key update in the previous round of authentication; if one of these two situations occurs, the edge server successfully authenticates the tag, otherwise the authentication fails; after successfully authenticating the tag and the reader, the edge server generates a random number n S , respectively update the shared key with the tag and reader; if the tag successfully updates the key in the previous round of authentication, the edge server uses K TS Calculate and update the new and old shared keys. The calculation and update formulas are as follows:

[0132]

[0133] K TSold =KTS ;

[0134] K TS =K TS '

[0135] If the tag has not completed the key update in the previous authentication round, then K TSold Keep unchanged, the edge server uses K TSold Update the shared key. The calculation and update formula is as follows:

[0136]

[0137] K TS =K TS '

[0138] If the reader key K RS K stored on the edge server RS If the reader successfully completes the key update in the previous round of authentication, the edge server uses K RS Calculate and update the new and old keys. The calculation and update formulas are as follows:

[0139]

[0140] K RSold =K RS ;

[0141] K RS =K RS '

[0142] If the reader key K RS K stored on the edge server RSold If the reader fails to update the key in the previous authentication round, then K RSold Keep unchanged, the edge server uses K RSold Calculate and update the shared key. The calculation and update formula is as follows:

[0143]

[0144] K RS =K RS '

[0145] After the edge server completes the key update, it calculates the messages H, M, and N and sends them to the reader. The calculation formula is as follows:

[0146]

[0147]

[0148]

[0149] (5) After the reader receives the message, it will be T Decrypt the random number n generated by the edge server S , and by the random number n S 、n R and the shared key K RS Calculate the new key value K RS ′, the calculation formula is as follows:

[0150]

[0151] Reader by K RS ', random number n S 、n R And the ID R Verify the validity of message M; if the verification fails, terminate the authentication process; otherwise, the reader successfully authenticates the edge server and updates the shared key. The update formula is as follows:

[0152] K RS =K RS ′;

[0153] The reader calculates messages P and Q and sends them to the tag together with the message N from the edge server. The calculation formula is as follows:

[0154]

[0155]

[0156] (6) After the tag receives the message, it is identified by ID T , shared key K and random number n T Verify the validity of message Q; if the verification fails, the authentication is terminated; if the verification passes, the tag successfully authenticates the reader; the tag consists of message P and random number n T 、n R Decrypt the random number n generated by the edge server S , and the shared key K TS and a random number n S 、n T Calculate the new key value using the following formula:

[0157]

[0158] Label by K TS ', random number n S 、n T And the ID T Verify the validity of message N; if the verification fails, terminate the authentication process; otherwise, the tag successfully authenticates the edge server; the tag updates the shared key, and the authentication is completed. The update formula is as follows:

[0159] K TS =K TS ′;

[0160] Wherein, Tag: RFID tag; Reader: RFID reader; Edge Server: RFID edge server; n T 、n R 、n S : Random number; ID T : Tag identification; ID R :Reader ID; Mhash(ID T ): Tag identification associated information; Mhash(ID R ): reader identification associated information; ID S : edge server identifier; K: shared key between reader and tag; K TS : The shared key between the current session tag and the edge server; K RS : The shared key between the current session reader and the edge server; K TSold : The shared key between the previous round of session tag and the edge server; K RSold : The shared key between the reader and the edge server in the previous round of session; Bitwise XOR operation; &: bitwise AND operation; |: bitwise OR operation; Rot(X, Y): X is cyclically shifted left by (Y mod L) bits; Mhash(X): random rearrangement of block matrix encryption operation; L: number of bits of tag information, key information, random number and communication message; ||: represents a cascade operation, which can cascade the bit strings on the left and right sides of the symbol into a long bit string.

[0161] Use the random rearrangement block matrix encryption operation Mhash, the operation definition is as follows: Assume that the input A is a binary array with a bit width of n.

[0162] A=a1a2a3L a L ; a i ∈{0, 1}, a=1, 2, L, L;

[0163] Step 1, such as Figure 4 As shown in FIG. 1 , the bits of the input bit string A are rearranged by a permutation operation to obtain a new bit string with the same number of bits “0” and “1” as the input bit string A but with different bit positions. Figure 4 In the example, A=1000001101001001, n=16, and after substitution, we get the string 1000011010110000;

[0164] Step 2: Given a block length len, use Algorithm 1 to randomly divide the intermediate string generated in Step 1 into n / len+1 blocks of varying lengths. The core idea of ​​Algorithm 1 is to divide the input A into n / len blocks evenly, randomly select a split point in each block, and use n / len split points to divide the input into n / len+1 blocks of varying lengths; Figure 5 As shown, the sample len=4, n=16, divided into n / len+1=5 blocks, the first block is 1, the second block is 00001, the third block is 10101, the fourth block is 10, and the fifth block is 000; Algorithm 1 is as follows Figure 6 As shown;

[0165] Step three, such as Figure 7 As shown, given a random matrix of n*len, the random matrix consists of only the numbers 0 and 1; perform matrix multiplication on each group divided in the previous step with the block matrix corresponding to the random matrix; the first group obtained in step 2 is 1*len1 long and multiplied with the first len1 rows of the random matrix (size is len1*len) to obtain a group of 1*len; the second group is 1*len2 long and multiplied with the subsequent len2 rows of the random matrix (size is len2*len) to obtain a group of 1*len; and so on, the remaining groups are multiplied with the block matrices at the corresponding positions of the random matrix, and finally n / len+1 groups of 1*len are obtained; the matrix multiplication operation is as follows Figure 8 As shown, a bit OR operation is performed on the corresponding positions of each row and each column, and a bit XOR operation is performed on the result of the OR operation to obtain the final algorithm 1 bit result;

[0166] Step 4: Fig. 9 As shown, for the n / len+1 blocks of the same length (1*len) obtained in step three, the first block is used as the key and an XOR operation is performed with the remaining blocks, and the XOR operation result is used as the final ciphertext; in the embodiment, the ciphertext of length n obtained is 0100110101001111.

[0167] The technical effects of the present invention are described in detail below in conjunction with verification.

[0168] In order to verify the feasibility of the present invention, the test results and hardware overhead of the ultra-lightweight RFID security authentication method RUAP based on random rearrangement block matrix encryption function under simulation are shown and described below. The simulation software used is Vivado released by FPGA supplier Xilinx.

[0169] Fig.10This is the result of the instantiation and comprehensive analysis of the random rearrangement block matrix encryption function based on FGPA. Assuming that the input information used in the authentication process is 64 bits, it can be seen that the calculation process of the encryption function requires the use of 65 look-up tables (LUT) and 64 registers, which is very small compared to other lightweight encryption functions.

[0170] Fig.11 This is the result of the instantiation and comprehensive analysis based on FGPA of the ultra-lightweight RFID security authentication method RUAP based on random rearrangement block matrix encryption function. Assuming that the tag information, key information, random number information and communication information used in the authentication process are all 64 bits, it can be seen that the authentication process of this method requires the use of 750 look-up tables (LUTs) and 941 registers for one slice.

[0171] Fig.12 The ultra-lightweight RFID security authentication method RUAP based on random rearrangement block matrix encryption function is compared with the authentication time of readers and edge servers of other classic lightweight RFID authentication protocols. The results show that the authentication time of readers and edge servers and the total authentication time of the method of the present invention are at the lowest level, which has advantages in practice compared with other ultra-lightweight RFID authentication protocols.

[0172] It should be noted that the embodiments of the present invention can be implemented by hardware, software or a combination of software and hardware. The hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. A person of ordinary skill in the art will understand that the above-mentioned devices and methods can be implemented using computer executable instructions and / or contained in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The device and its modules of the present invention can be implemented by hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., can also be implemented by software executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software, such as firmware.

[0173] The above description is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any modifications, equivalent substitutions and improvements made by any technician familiar with the technical field within the technical scope disclosed by the present invention and within the spirit and principle of the present invention should be covered by the protection scope of the present invention.

Claims

1. A radio frequency identification data security authentication method based on random rearrangement block matrix encryption, characterized in that: The following steps are involved: S101: The reader generates a random number, calculates message A and sends it together with the random number to the tag to start authentication; S102: After receiving the message, the tag decrypts the reader's ID R , generate random numbers, and calculate messages B, C, and D to send to the reader; S103: The reader receives and decrypts the tag's ID T , calculate messages E, F, G, and send them to the edge server together with the message D with the random number and tag; S104: The edge server verifies the tag and the reader respectively according to the received tag message and reader message. If the verification is successful, the edge server generates a random number, updates the tag key and the reader key, and generates messages H, M, and N and sends them to the reader. S105: The reader verifies the edge server according to the received message. If the verification is successful, the reader updates the key and calculates the messages P and Q, and sends them to the tag together with the message N. S106: The tag verifies the reader and the edge server respectively according to the received message. If the verification is successful, the tag updates the stored key information; The method comprises an initialization phase and an authentication phase; The initialization phase includes: (1) Tag storage ID T and shared keys K, K TS ; (2) Reader stores ID R 、ID S and the shared keys K, K RS ; (3) Edge server storage ID S , reader identification associated information Mhash (ID R ) and tag identification association information Mhash(ID T ), and the shared key K used in the current session TS , K RS , and the shared key K used in the previous round of sessions TSold , K RSold ; Set K in the first round TSold and K RSold is zero; The certification phase includes: (1) The reader generates a random number n R , and using the random number n R , reader identification ID R , the reader and the tag share the key K to calculate the message A and send n R and A is given a label, and the calculation formula is as follows: (2) After receiving the message, the tag passes the random number n R and key K to decrypt the reader ID from message A R ; Label generates random number n T , and calculate the authentication messages B, C, and D and send them to the reader. The calculation formula is as follows: D=Rot(Mhash(ID T )|K TS ,Mhash(ID R )|n R &of T ) (3) After receiving the tag message, the reader first uses the shared key K to decrypt the tag’s random number n from message B. T , and by n T 、n R and reader identification ID R Decrypt the tag ID from message C T ; The reader is then authenticated by the key K shared with the edge server RS Calculate the message E, from the random number n T and the edge server ID S Calculate the message F and pass it through the identifier ID R With tag ID T Calculate message G, the reader sends messages E, F, G together with the random number n R The message D calculated with the label is sent to the edge server. The calculation formula is as follows: (4) After receiving the message, the edge server first decrypts the message E to obtain the shared key K with the reader. RS , and then the shared key is used to query the reader identification association information Mhash (ID R ); if matching information is retrieved, the edge server authenticates the reader successfully, and the edge server continues with the subsequent authentication steps; otherwise, if there is no matching information in the database, it means that the reader is fake, and the edge server ends the authentication; the edge server uses its ID S The random number n generated by the message F is calculated by the tag T , and according to the random number n R 、n T , the reader's shared key K RS And the reader identification associated information Mhash (ID R ) Calculate the tag identification information Mhash (ID T ), and by Mhash(ID T ) searches the database for a matching tag key; if there is no matching tag key in the database, it means that the tag is fake and the edge server terminates the authentication; otherwise, the edge server takes out the key K TS and K TSold , and respectively by K TS and K TSold Verify the validity of message D; if K TS If the verification is successful, it means that the tag successfully updated the key in the previous round of authentication; if K TSold If the verification is successful, it means that the tag did not complete the key update in the previous round of authentication; if one of these two situations occurs, the edge server successfully authenticates the tag, otherwise the authentication fails; after successfully authenticating the tag and the reader, the edge server generates a random number n S , respectively update the shared key with the tag and reader; if the tag successfully updates the key in the previous round of authentication, the edge server uses K TS Calculate and update the new and old shared keys. The calculation and update formulas are as follows: K TSold =K TS ; K TS =K TS ′ If the tag has not completed the key update in the previous authentication round, then K TSold Keep unchanged, the edge server uses K TSold Update the shared key. The calculation and update formula is as follows: K TS =K TS ′ If the reader key K RS K stored on the edge server RS If the reader successfully completes the key update in the previous round of authentication, the edge server uses K RS Calculate and update the new and old keys. The calculation and update formulas are as follows: K RSold =K RS ; K RS =K RS ′ If the reader key K RS K stored on the edge server RSold If the reader fails to update the key in the previous authentication round, then K RSold Keep unchanged, the edge server uses K RSold Calculate and update the shared key. The calculation and update formula is as follows: K RS =K RS ′ After the edge server completes the key update, it calculates the messages H, M, and N and sends them to the reader. The calculation formula is as follows: (5) After the reader receives the message, it will be T Decrypt the random number n generated by the edge server S , and by the random number n S 、n R and the shared key K RS Calculate the new key value K RS ′, the calculation formula is as follows: Reader by K RS ', random number n S 、n R And the ID R Verify the validity of message M; if the verification fails, terminate the authentication process; otherwise, the reader successfully authenticates the edge server and updates the shared key. The update formula is as follows: K RS =K RS ′; The reader calculates messages P and Q and sends them to the tag together with the message N from the edge server. The calculation formula is as follows: (6) After the tag receives the message, it is identified by ID T , shared key K and random number n T Verify the validity of message Q; if the verification fails, the authentication is terminated; if the verification passes, the tag successfully authenticates the reader; the tag consists of message P and random number n T 、n R Decrypt the random number n generated by the edge server S , and the shared key K TS and a random number n S 、n T Calculate the new key value using the following formula: Label by K TS ', random number n S 、n T And the ID T Verify the validity of message N; if the verification fails, terminate the authentication process; otherwise, the tag successfully authenticates the edge server; the tag updates the shared key and the authentication is completed; the update formula is as follows: K TS =K TS ′; Wherein, Tag: RFID tag; Reader: RFID reader; Edge Server: RFID edge server; n T 、n R 、n S : Random number; ID T : Tag identification; ID R :Reader ID; Mhash(ID T ): Tag identification associated information; Mhash(ID R ): reader identification related information; ID S : edge server identifier; K: shared key between reader and tag; K TS : The shared key between the current session tag and the edge server; K RS : The shared key between the current session reader and the edge server; K TSold : The shared key between the previous round of session tag and the edge server; K RSold : The shared key between the reader and the edge server in the previous round of session; Bitwise XOR operation; &: bitwise AND operation; |: bitwise OR operation; Rot(X, Y): X left circular shift (Y mod L) bits; Mhash(X): random rearrangement block matrix encryption operation; L: number of bits of tag information, key information, random number and communication message; ||: represents cascade operation, which concatenates the bit strings on the left and right sides of the symbol into a long bit string.

2. The method according to claim 1, characterized in that In the authentication phase, in steps (1) and (3), the reader sends the random number n used in this round of authentication in plain text. R ; In the authentication phase steps (1)-(6), the tag, reader and edge server do not transmit the ID in plain text. T 、ID R 、ID S , the key K is not transmitted in plain text TS , K RS , the random number n is not transmitted in plain text T 、n S .

3. The method according to claim 1, characterized in that: The authentication and update calculations in steps (1)-(6) of the authentication phase use a combination of a cyclic shift operation Rot and a random rearrangement block matrix encryption operation Mhash.

4. The method according to claim 1, characterized in that In the authentication phase step (4), the edge server first uses the locally stored K TS Calculate and determine whether it matches the K stored in the label TS The calculation result matches. If the match fails, use K TSold Continue to calculate. Only when the calculation results fail to match twice does the authentication fail.

5. The method according to claim 1, characterized in that In the authentication phase step (4), the edge server will use the key K shared with the reader for the current session. RS , the key K shared with the tag TS , and the key K shared with the reader used in the previous round of conversation RSold , the key K shared with the tag TSold All are updated; In the authentication phase step (5), the reader updates the key information stored and shared with the edge server; In step (6) of the authentication phase, the tag updates the key information stored in it and shared with the edge server.

6. The storage medium used in the method according to any one of claims 1 to 5, characterized in that: The program is stored in a program storage medium that receives user input and is executed by the electronic device through a computer program.

7. The radio frequency identification data security authentication system used in the method according to any one of claims 1 to 5, characterized in that: The RFID data security authentication system includes: Tags, used to store subject information; A reader, used to obtain subject information and communicate with the edge server through a computer terminal; Edge server, used for processing and storing tag collected data.

8. The system according to claim 7, characterized in that The radio frequency identification data security authentication system is mounted on a terminal, which is an Internet of Things terminal.

Citation Information

Patent Citations

  • Radio frequency identification data security authentication method and system, storage medium and terminal

    CN111615108A