CN117040767B - Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment - Google Patents

Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment Download PDF

Info

Publication number
CN117040767B
CN117040767B CN202311303994.XA CN202311303994A CN117040767B CN 117040767 B CN117040767 B CN 117040767B CN 202311303994 A CN202311303994 A CN 202311303994A CN 117040767 B CN117040767 B CN 117040767B
Authority
CN
China
Prior art keywords
user
gateway node
node
identity
request information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311303994.XA
Other languages
Chinese (zh)
Other versions
CN117040767A (en
Inventor
徐国爱
廖清
徐国胜
王晨宇
高翠芸
刘凯俊
曹强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Beijing University of Posts and Telecommunications
Shenzhen Graduate School Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications, Shenzhen Graduate School Harbin Institute of Technology filed Critical Beijing University of Posts and Telecommunications
Priority to CN202311303994.XA priority Critical patent/CN117040767B/en
Publication of CN117040767A publication Critical patent/CN117040767A/en
Application granted granted Critical
Publication of CN117040767B publication Critical patent/CN117040767B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

The application provides a fine-grained multi-terminal identity authentication method based on a PUF and related equipment. In the application, the gateway node no longer issues the smart card to the user, so that the problem of smart card loss attack based on the off-line password guessing attack of the smart card or the mobile device is avoided. Meanwhile, the periodicity of modulo operation directly leads an attacker to be unable to effectively guess the password of the user, and the password security is protected. The gateway node encrypts relevant parameters of user fine-grained authentication by using an SM4 encryption algorithm, ensures that a user can only authenticate with a specific communication entity within the authority range of the user, and protects password security of the user by using a physical unclonable function (Physically Unclonable function, PUF for short). Further, the user terminal verifies the gateway node, an access time threshold and control conditions are designed to limit the timeliness of the user terminal verification process, multi-terminal identity authentication is guaranteed within effective authorization time, and efficiency and safety of a verification stage are effectively guaranteed.

Description

Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment
Technical Field
The application relates to the technical field of network security, in particular to a fine-grained multi-terminal identity authentication method based on a PUF and related equipment.
Background
In a wireless body area network environment, most of three-factor user identity authentication protocols based on passwords commonly have performance problems, security problems and storage problems.
In the multi-factor identity authentication method and related equipment (CN 114401514A) for the wireless body area network in the prior art, the performance of the multi-granularity authentication method and the related equipment does not have the multi-granularity authentication function, and the scene requirement of authentication with the matched body area node according to the attribute of different users such as professional roles, levels and the like cannot be met, so that the safety sharing of data is not facilitated. In addition, the user needs to carry a smart card device based on the authentication protocol of the password, which additionally causes storage overhead, and is also easy to suffer from smart card loss attack and smart card parameter tampering attack. In the PUF-based three-factor anonymous user authentication protocol method (CN 111817039 a) in the internet of things in the prior art, only the common authentication scene of the user and the body area node is supported in performance, and the fine-grained authentication service provided according to the specific identity type (occupation type, occupation level, whether to leave) of the user in the specific scene is also lacking.
Disclosure of Invention
In view of this, it is an object of the present application to propose a PUF-based fine-grained multi-terminal identity authentication method and related devices to solve or partially solve the above-mentioned problems.
Based on the above objects, the present application provides a PUF-based fine-grained multi-terminal identity authentication method, which is characterized in that the method is applied to a PUF-based fine-grained multi-terminal identity authentication system, and the system includes a user terminal, a gateway node and a body area node:
the method comprises the following steps:
the user login stage of the user comprises the following steps: the user of the user terminal inputs a user identity and a user password, the personal digital assistant verifies the identity of the user according to the user identity, the user password and a physical unclonable function, a second hash verification value is calculated, and the identity verification of the user is determined to pass in response to the second hash verification value being equal to a predetermined second hash value; selecting a body area node to be authenticated, extracting a first time stamp, generating first request information according to the first time stamp, and sending the first request information to the gateway node;
the gateway node authenticates the user end stage: the gateway node receives the first request information sent by the user terminal, checks the first timestamp, verifies whether the user terminal is authorized to authenticate the body area node within a preset time threshold through a national encryption algorithm, and determines that the user terminal authentication is successful in response to the authentication authority of the user terminal authorized to authenticate the body area node within the preset time threshold; calculating a first request verification value, responding to the first request verification value being equal to the first request information, extracting a second time stamp, generating second request information according to the second time stamp, and sending the second request information to the body area node;
The body area node authenticates the user end stage: the body area node receives the second request information sent by the gateway node, checks the second timestamp, calculates a second request verification value, and determines that the user authentication is successful in response to the second request verification value being equal to the second request information; extracting a third timestamp, generating third request information according to the third timestamp, and sending the third request information to the gateway node;
the gateway node update phase: the gateway node receives the third request information sent by the body area node, checks the third timestamp, calculates a third request verification value, responds to the third request verification value being equal to the third request information, updates the authorized condition of the user terminal, generates fourth request information, and sends the fourth request information to the user terminal;
the updating stage of the user side: and the user terminal receives the fourth request information sent by the gateway node, the personal digital assistant calculates a fourth request verification value, and confirms to negotiate a session key with the body area node, establishes a session with the body area node and completes identity verification in response to the fourth request verification value being equal to the fourth request information.
Optionally, the method further comprises:
system initialization phase: the gateway node determines a long-term key pair and a unique gateway identity, stores the long-term key pair and discloses the gateway identity.
Optionally, the method further comprises:
the body area node registration stage: the body domain node transmits a body domain identity to the gateway node through a secure channel, and the gateway node receives the body domain identity transmitted by the body domain node and stores the body domain identity into a body domain identity set; the gateway node calculates a secret value for the body area node and transmits the secret value back to the body area node through a secure channel; and the body area node receives the secret value sent by the gateway node and stores the secret value in a safe storage unit.
Optionally, the method further comprises:
the user end registration stage: the user side calculates an initial hash value and sends the initial hash value to the gateway node; the gateway node receives the initial hash value sent by the user terminal, records a time stamp registered by the user terminal, calculates a first hash value according to the time stamp and the initial hash value, generates a registration packet, and sends the registration packet to the user terminal; the registration packet stores a pseudo-random identity, a physical unclonable function, a first hash value, an identity identification set and a ciphertext generated by a cryptographic algorithm, wherein the pseudo-random identity, the physical unclonable function, the first hash value and the identity identification set are selected by the gateway node for the user terminal; and the user terminal receives the registration packet, updates the first hash value and calculates a second hash value.
Optionally, the user login stage specifically includes:
the user login stage specifically comprises the following steps:
step L1: user' sInput user identity +.>And user password->Personal digital assistant PDA uses physical unclonable function +.>User identity for input ∈>And user password->Performing verification, personal digital assistant PDA calculation:
wherein,、/>、/>for the value string in the calculation process, +.>For the second hash verification value,for fuzzy extraction of the recovery function mod is the hash operator, < ->For hash function, ++>For bit join operator, < >>1 to ∈256 bits>A large prime number in between;
the personal digital assistant PDA compares the second hash verification valueAnd a second predetermined hash value +.>Whether or not equal, if->Determining that the identity verification of the user is passed;
step L2: PDA runs 1024 bit RSA encryption algorithm system to generate userPublic key of->And private key->Selecting a random number->And the body area node which wants to be accessed +.>Identity of (2)Extracting the first timestamp->And (3) calculating:
wherein,、/>are all intermediate parameters in the calculation process, +.>For user->For said body area node +.>Use->Encryption session key related information, < > >Represents->An identity set of the authorized authentication body area node;
step L3: the PDA will request the information first、/>、/>、/>、/>、/>Send to the gateway node->
Optionally, the method further comprises:
if it isBy using the physical unclonable function->Make embedded trigger +.>Automatically add 1 to the value of (2) authorized user +.>Try again to enter another group +.>To perform authentication;
if the userThe number of attempts exceeds a preset +.>If the maximum value is the maximum value, terminating the session, freezing the user account until the user is +.>Re-registration.
Optionally, the gateway node authentication client stage specifically includes:
step V1: gateway nodeReceiving the user->Extracting a current timestampAnd check the current timestamp +>With the first timestamp->Whether the time difference between them is smaller than a time threshold +.>
If the current time stampWith the first timestamp->The time difference between them is not less than the time threshold +.>Discarding the request information;
if the current time stampWith the first timestamp->The time difference between them is smaller than the time threshold +.>Gateway nodeUse of self-stored secret values->Decryption ∈4 using the cryptographic algorithm SM>To check the user +.>Whether or not the permission and the identity are authorized to be +. >Is->Authentication is performed, and the following calculation is performed:
wherein,representing gateway node in the computation process>For user->The set authorization check polynomial is used for the authentication,representing user ∈during the calculation>Time threshold for authorized authentication ∈>,/>Representing a subtraction algorithm;
gateway nodeCalculate->And->Verifying whether the two are equal, if so, the gateway node +.>Discriminating->Whether it is any of case a), case b) and case c), wherein;
if it is the case a), then the user is determinedDoes not have a body area node->Is a certification authority of (1);
if it is the case b), then the user is determinedIs greater than the authentication authority of the user->Time threshold for authorized authentication
If it is the case c), then the user is determinedBody area node to be accessed ∈>Can be authorized to authenticate with the device in a valid time;
for case c), gateway nodeAnd (3) calculating:
wherein the gateway nodeFirst request information sent by user side +.>、/>Recovery ofCalculate the first request authentication value +.>
Wherein,is a numerical string calculated by the gateway;
comparing the first request authentication valueAnd first request information->If the sizes are equal, determining that the request information passes the authentication; if not, terminating the gateway node +. >A session with the user terminal;
responsive toAnd->When equal, determine +.>,/>,/>
Step V2: gateway nodeSelect random number +.>Extracting the second time stamp->Calculating second request information:
step V3: gateway node-second request information->Is sent to the body area node
Based on the same purpose, the application also provides a fine-grained multi-terminal identity authentication system based on PUF, which comprises the following steps: the system comprises a user terminal, a gateway node and a body area node;
the client is configured to:
the user of the user terminal inputs a user identity and a user password, the personal digital assistant verifies the identity of the user according to the user identity, the user password and a physical unclonable function, a second hash verification value is calculated, and the identity verification of the user is determined to pass in response to the second hash verification value being equal to a predetermined second hash value; selecting a body area node to be authenticated, extracting a first time stamp, generating first request information according to the first time stamp, and sending the first request information to the gateway node;
the gateway node is configured to:
the gateway node receives the first request information sent by the user terminal, checks the first timestamp, verifies whether the user terminal is authorized to authenticate the body area node within a preset time threshold through a national encryption algorithm, and determines that the user terminal authentication is successful in response to the authentication authority of the user terminal authorized to authenticate the body area node within the preset time threshold; calculating a first request verification value, responding to the first request verification value being equal to the first request information, extracting a second time stamp, generating second request information according to the second time stamp, and sending the second request information to the body area node;
The body area node is configured to:
the body area node receives the second request information sent by the gateway node, checks the second timestamp, calculates a second request verification value, and determines that the user authentication is successful in response to the second request verification value being equal to the second request information; extracting a third timestamp, generating third request information according to the third timestamp, and sending the third request information to the gateway node;
the gateway node is further configured to:
the gateway node receives the third request information sent by the body area node, checks the third timestamp, calculates a third request verification value, responds to the third request verification value being equal to the third request information, updates the authorized condition of the user terminal, generates fourth request information, and sends the fourth request information to the user terminal;
the client is further configured to:
the updating stage of the user side: and the user terminal receives the fourth request information sent by the gateway node, the personal digital assistant calculates a fourth request verification value, and confirms to negotiate a session key with the body area node, establishes a session with the body area node and completes identity verification in response to the fourth request verification value being equal to the fourth request information.
In view of the above object, the present application further provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements the method according to any one of the above when executing the program.
Based on the above object, the present application also provides a non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of the above.
As can be seen from the foregoing, the PUF-based fine-grained multi-terminal identity authentication and related devices provided in the present application are first registered with a gateway node by a user terminal and a body domain node, respectively, further, the user terminal selects a body domain node to be accessed and initiates a request to the gateway node, after receiving the request from the user terminal, the gateway node verifies whether the user terminal is authorized to authenticate with the body domain node within a preset time threshold by using a cryptographic algorithm, generates a verification value for the request information of the user terminal, verifies whether the user terminal has the authority to authenticate with a target body domain node according to the verification value, if so, the network node transmits information related to the authentication of the user terminal to the body domain node by using an encrypted manner, and then decrypts and verifies that the decrypted authentication does not belong to authority verification, but only verifies the gateway identity. If the verification is passed, the gateway is trusted, and then parameters related to user authentication and parameters of a session key are generated. And returning the related information to the gateway node, updating the authorized condition of the user terminal by the gateway node according to the request information returned by the body area node, generating the request information returned to the user terminal, receiving the request information returned by the gateway node by the user terminal, calculating a request verification value by a personal digital assistant of the user terminal, and if the request information passes the verification, confirming that the personal digital assistant negotiates a session key with the body area node, establishing a session with the body area node, and completing the identity verification. In the application, the gateway node no longer issues the smart card to the user, so that the problem of smart card loss attack based on the off-line password guessing attack of the smart card or the mobile device is avoided. Meanwhile, the periodicity of modulo operation directly leads an attacker to be unable to effectively guess the password of the user, and the password security is protected. The gateway node encrypts relevant parameters of user fine-grained authentication by using an SM4 encryption algorithm, and protects password security of the user by using a physical unclonable function (Physically Unclonable function, abbreviated as PUF). Furthermore, an access time threshold and conditions are designed at the time of verifying the gateway node by the user terminal, so that the timeliness of the user terminal verification process is limited, multi-terminal identity authentication is ensured to be carried out within effective authorization time, and the efficiency and the safety of the verification stage are effectively ensured.
Drawings
In order to more clearly illustrate the technical solutions of the present application or the prior art, the following description will briefly introduce the drawings that are needed in the embodiments or the prior art descriptions, it being obvious that the drawings in the following description are only the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of an application scenario of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the present application.
Fig. 2 is a schematic diagram of symbol definition related to a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the application.
Fig. 3 is a schematic diagram of a body domain node registration stage of the PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the application.
Fig. 4 is a schematic diagram of a user enrollment phase of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the present application.
Fig. 5 is an interaction schematic diagram of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the present application.
Fig. 6 is a flowchart of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the present application.
Fig. 7 is a schematic diagram of a PUF-based fine-grained multi-terminal identity authentication system according to an embodiment of the application.
Fig. 8 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the present application.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail below with reference to the accompanying drawings.
It is to be noted that unless otherwise defined, technical or scientific terms used herein should be taken in a general sense as understood by one of ordinary skill in the art to which this application belongs. The terms "first," "second," and the like, as used herein, do not denote any order, quantity, or importance, but rather are used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that elements or items preceding the word are included in the element or item listed after the word and equivalents thereof, but does not exclude other elements or items. The terms "connected" or "connected," and the like, are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", etc. are used merely to indicate relative positional relationships, which may also be changed when the absolute position of the object to be described is changed.
As described in the background section, security is critical in an increasingly interconnected world that relies heavily on electronics. Modern electronic products almost consistently rely on cryptography as the primary method of protecting electronic data. However, the emerging field of hardware security research has demonstrated that cryptography as we know is not so secure. For this reason, the physical unclonable function (Physically Unclonable function, abbreviated PUF) has become a hardware security technology that can provide all functions from improved cryptography to IC counterfeiting. The physical unclonable function is a hardware security technique that exploits inherent device changes to produce an unclonable unique device response to a given input.
Furthermore, in the prior art such as CN114401514A, CN111817039a, there is a lack of fine-grained authentication services provided according to a specific identity type (such as occupation type, occupation level, whether to leave) of a user in a specific scenario. And carrying the smart card causes additional storage overhead, and is also vulnerable to smart card loss attacks, and smart card parameter tampering attacks.
Therefore, in order to solve or partially solve the above-mentioned problems, the present application proposes a PUF-based fine-grained multi-terminal identity authentication method.
The technical scheme of the application is further described in detail through specific examples.
Referring to fig. 1, a schematic application scenario of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the present application is shown.
Wireless body area networks (Wireless body area networks, WBANs) are networks that consist of wearable or embeddable devices. Since these devices communicate via wireless technology, the body area network is also called a wireless body area network. The body area network is a basic technology capable of monitoring and recording human health signals for a long time, and early application is mainly used for continuously monitoring and recording health parameters of patients with chronic diseases (such as diabetes, asthma, heart diseases and the like). The body area network can be widely applied to the fields of consumer electronics, entertainment, sports, environmental intelligence, livestock, ubiquitous computing, military and the like in the future.
As shown in fig. 1, the PUF-based fine-grained multi-terminal identity authentication method provided by the application is applied to a PUF-based fine-grained multi-terminal identity authentication system, and the system comprises a user terminal, a gateway node and a body domain node.
The fine-grained multi-terminal identity authentication process based on the PUF in the wireless body area network environment comprises the following steps:
in the registration stage, the user terminal and the body area node register in the gateway node, and meanwhile, the gateway node sets the fine-grained authentication parameters of the user according to the occupation level and the occupation type of the user terminal, so as to prepare for fine-grained authentication of the subsequent user terminal and the body area node.
In the login and authentication stage, a user side wants to access data of a certain body area node in real time, firstly, an access request is initiated to a gateway node, then the gateway node authenticates a registered user, if the authentication is passed, the gateway node transmits the user request to the body area node, and the body area node authenticates the gateway node; if the authentication is passed, the body area node generates and transmits real-time data of the body area node end user to the gateway node, and the gateway node authenticates the body area node again; if the authentication is passed, the gateway node updates relevant fine-grained authentication parameters according to the professional condition of the user again, calculates and sends relevant authentication data to the user terminal, and finally the user terminal negotiates a consistent session key with the body area node by virtue of the authentication data.
After the authentication phase is finished, the user side and the body area node use the same session key for encrypting and decrypting subsequent communication content.
Referring to fig. 2, a schematic diagram of symbol definition involved in a PUF-based fine-grained multi-terminal identity authentication method is provided in an embodiment of the application.
Wherein,representing a gateway node; />Representation->Is the identity of the mobile terminal; />Representing gateway nodesLong-term key pairs of (2); />Representing the ith user; / >Representing gateway as user->A selected pseudo-random identity; user' sSelf-selected identity ∈>And password->;/>Representing a fuzzy extraction recovery function;representing a fuzzy extraction generating function; />Indicate->Individual domain nodes; />Representing body area node +.>Is the identity of the mobile terminal; />Representation->For body area node->A calculated secret value; />Representing a secure hash function; />Representation ofGWNThe stored body area node identity identification set; />Representation->A body area node identity identification set authorized to be authenticated; />Representing a current timestamp; />Representing a time threshold; />Representing an exclusive or operator; />Representing a bit join operator; a- & gt B: m represents that the message M is transmitted from A to B through a common channel; b- & gt A: m denotes that message M is transmitted from B to a over a secure channel; />Representation ofGWNFor user->A set authorization check polynomial; />Representation->A time threshold for authorized authentication; />Representing user +.>Is a registered timestamp of (a); />Representing a physically unclonable function embedded in the sum value.
As an alternative embodiment, the gateway node is in the system initialization phaseGWNGiven a security parameterGateway nodeGWNSelecting a long-term key pair +.>Selecting unique identification GID, and finally storing long-term key pair by gateway>And discloses the identity GID.
Referring to fig. 3, a schematic diagram of a body domain node registration stage of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the application is provided.
As an optional embodiment, in the registration stage of the body domain node to the gateway node, the body domain node transmits the body domain identity to the gateway node through a secure channel, and the gateway node receives the body domain identity sent by the body domain node and stores the body domain identity in a body domain identity set; the gateway node calculates a secret value for the body area node and transmits the secret value back to the body area node through a secure channel; the body area node receives the secret value sent by the gateway node and stores the secret value in the secure storage unit.
Specifically, body domain nodesIdentify mark->Transmitting to gateway node through secure channelGWN. Gateway node thereafterGWNCollect->And store identification set +.>. Gateway nodeGWNFor body area node->Calculate secret value +.>And by safetyThe channel will secret value->Return to body area node->. Body area nodeStore->To a secure storage unit.
Referring to fig. 4, a schematic diagram of a user end enrollment phase of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the application is provided.
As an optional embodiment, in the stage of registering the user side with the gateway node, the user side calculates an initial hash value and sends the initial hash value to the gateway node; the gateway node receives an initial hash value sent by a user terminal, records a time stamp of user terminal registration, calculates a first hash value according to the initial hash value, generates a registration packet, and sends the registration packet to the user terminal; the registration packet stores a pseudo-random identity, a physical unclonable function, a first hash value, an identity identification set and a ciphertext generated by a cryptographic algorithm, wherein the pseudo-random identity, the physical unclonable function, the first hash value and the identity identification set are selected by a gateway node for a user side; the user receives the registration packet, updates the first hash value and calculates a second hash value.
Specifically, the userInputting self-selected->To a personal digital assistant device (Personal Digital Assistant, PDA for short), the PDA selects the random number +.>,/>The PDA then takes the system security parameters as a function ofThe following calculations were performed:
the PDA first calculates an initial hash valueWherein->1 to ∈256 bits>A large prime number in between. Initial hash value +.>A string of 256 bits 0 and 1.
Further, gateway nodeReceive user->Initial hash value sent +.>Record the registration timestamp at this time +. >For the user +.>Selecting a pseudo-random identity->Calculate->For the user +.>Determining the identity mark set of the authorized authentication body area node +.>Wherein->Is->Further, for the user +.>Binding authorization check polynomial>Further, for the user->Binding time threshold for authorized authentication +.>Such as 2023/8 to 2024/8. Then, for the user->Binding authorization authentication check value->Will->Ciphertext generation using the cryptographic algorithm SM4>I.e. +.>. Finally, the embedded trigger is configured for the user terminal>Physical unclonable function of->,/>Finger allowing a user to attempt to useIn the embodiment of the present application, the maximum value is set to 3 and the initial value is set to 0.
Gateway nodeParameter->Stored in Registration Bag (RB) and sends the RB to user +.>
After receiving the registration packet, the user updates the registration packetCalculate->The method specifically comprises the following steps:
user' sPhysical unclonable function according to gateway configuration->User input +.>To the PDA device, the PDA calculates +.>. Root according to->PDA uses fuzzy encryption to generate function->And (3) calculating: />,/>Wherein->A function is generated for the fuzzy extraction.
PDA updating secret value
Finally PDA storage
According to the above-mentioned knowledge, in the registration process, the gateway node no longer issues the smart card to the user terminal, so as to avoid the off-line password guessing attack based on the smart card, and the smart card is lost. Meanwhile, the periodicity of modulo operation directly leads an attacker to be unable to effectively guess the password of the user, and the password security is protected.
Referring to fig. 5, an interaction schematic diagram of a PUF-based fine-grained multi-terminal identity authentication method is provided in an embodiment of the application.
Step S501, user login phase: the user inputs a user identity and a user password, the personal digital assistant verifies the user identity according to the physical unclonable function, a second hash verification value is calculated, and the user identity verification is passed in response to the second hash verification value being equal to the second hash value; and selecting a body area node needing authentication, extracting a first time stamp, generating first request information according to the first time stamp, and sending the first request information to the gateway node.
As an alternative embodiment, the user login phase specifically includes:
step L1: user' sInput user identity +.>And user password->Personal digital assistant PDA uses physical unclonable function +.>User identity for input ∈>And user password->Performing verification, personal digital assistant PDA calculation:
wherein,、/>、/>for the value string in the calculation process, +.>For the second hash verification value,for fuzzy extraction of the recovery function mod is the hash operator, < ->For hash function, ++>For bit join operator, < >>1 to ∈256 bits>A large prime number in between;
The personal digital assistant PDA compares the second hash verification valueAnd a second predetermined hash value +.>Whether or not equal, if->Determining that the identity verification of the user is passed;
step L2: PDA runs 1024 bit RSA encryption algorithm system to generate userPublic key of->And private key->Selecting a random number->And the body area node which wants to be accessed +.>Identity of (2)Extracting the first timestamp->And (3) calculating:
wherein,、/>are all intermediate parameters in the calculation process, +.>For user->For said body area node +.>Use->Encryption session key related information, < >>Represents->An identity set of the authorized authentication body area node;
step L3: the PDA will request the information first、/>、/>、/>、/>、/>Send to the gateway node->
As an alternative embodiment, ifBy using the physical unclonable function->Make embedded trigger +.>Automatically add 1 to the value of (2) authorized user +.>Try again to enter another group +.>To perform authentication;
if the userThe number of attempts exceeds a preset +.>If the maximum value is the maximum value, terminating the session, freezing the user account until the user is +.>Re-registration.
Step S502, the gateway node authenticates the user end stage: the gateway node receives first request information sent by the user terminal, checks a first time stamp, verifies whether the user terminal is authorized to authenticate the body area node within a preset time threshold through a national encryption algorithm, and determines that the user terminal authentication is successful in response to the authentication authorization of the body area node and the user terminal authorized within the preset time threshold; and calculating a first request verification value, responding to the first request verification value being equal to the first request information, extracting a second time stamp, generating second request information according to the second time stamp, and transmitting the second request information to the body area node.
As an optional embodiment, the gateway node authentication client stage specifically includes:
referring to fig. 6, a flowchart of a PUF-based fine-grained multi-terminal identity authentication method according to an embodiment of the present application is provided.
Step V1: gateway nodeReceiving the user->Extracting a current time stamp ++>And check the current timestamp +>With the first timestamp->Whether the time difference between them is smaller than a time threshold +.>
If the current time stampWith the first timestamp->The time difference between them is not less than the time threshold +.>Discarding the request information;
if the current time stampWith the first timestamp->The time difference between them is smaller than the time threshold +.>Gateway nodeUse of self-stored secret values->Decryption ∈4 using the cryptographic algorithm SM>To check the user +.>Whether or not the permission and the identity are authorized to be +.>Is->Authentication is performed, and the following calculation is performed:
wherein,representing gateway node in the computation process>For user->The set authorization check polynomial is used for the authentication,representing user ∈during the calculation>Time threshold for authorized authentication ∈>,/>Representing a subtraction algorithm;
gateway nodeCalculate->And->Verifying whether the two are equal, if so, the gateway node +.>Discriminating->Whether it is any of case a), case b) and case c), wherein;
If it belongs to the situationa) Then the user is determinedDoes not have a body area node->Is a certification authority of (1);
if it is the case b), then the user is determinedIs greater than the authentication authority of the user->Time threshold for authorized authentication
If it is the case c), then the user is determinedBody area node to be accessed ∈>Can be authorized to authenticate with the device in a valid time;
for case c), gateway nodeAnd (3) calculating:
wherein the gateway nodeFirst request information sent by user side +.>、/>Recovery ofCalculate the first request authentication value +.>
Wherein,is a numerical string calculated by the gateway;
comparing the first request authentication valueAnd first request information->If the sizes are equal, determining that the request information passes the authentication; if not, terminating the gateway node +.>A session with the user terminal;
responsive toAnd->When equal, determine +.>,/>,/>;/>
Step V2: gateway nodeSelect random number +.>Extracting the second time stamp->Calculating second request information:
step V3: gateway node-second request information->Is sent to the body area node
Step S503, a body area node authenticates a user end stage: the body area node receives second request information sent by the gateway node, checks a second timestamp, calculates a second request verification value, and determines that the user authentication is successful in response to the second request verification value being equal to the second request information; and extracting the third timestamp, generating third request information according to the third timestamp, and sending the third request information to the gateway node.
As an optional embodiment, the body area node authentication client stage specifically includes:
v4: body area nodeFirst extract the current timestamp +.>And check the current timestamp +>And a second timestamp->Whether the time difference between them is smaller than a time threshold +.>
If yes, then use the previously registered storageRecovery->、/>、/>
/>
And calculates a second request authentication valueFurther compare the second request authentication value +.>And second request information->Is larger than (1)If the information is small, the received information passes the authentication, the information recovered by the equipment is correct, and the step V5 is continued;
otherwise, the session is terminated.
When (when)And->Equal, at this point in time the body area node +.>Restorative->
V5:Select random number +.>Extracting third timestamp->Then, calculating:
and->Is->And (b)
/>
Wherein,are all intermediate parameters, namely third request information.
V6:Body area node->Transmitting the third request informationTo the gateway node.
Step S504, gateway node updating phase: the gateway node receives third request information sent by the body area node, checks a third timestamp, calculates a third request verification value, updates an authorized condition of the user terminal in response to the third request verification value being equal to the third request information, generates fourth request information, and sends the fourth request information to the user terminal.
As an alternative embodiment, the gateway node update phase specifically comprises:
v7: gateway nodeFirst extract the current timestamp +.>And check the current timestamp +>And a third timestamp->Whether the time difference between them is smaller than a time threshold +.>If yes, use the secret value stored by itself +.>Calculate->A third request verification value;
then compare the third request authentication valueAnd third request information->If the sizes are equal, continuing to step V8; otherwise, the session is terminated.
When (when)And->Equal, the authentication of the information received by the representative gateway node is passed, the gateway calculates that the recovered information is correct,
v8: gateway nodeCalculate->And performs updating of the following parameters:
gateway nodeUpdate user->The new pseudo-random identity is +.>
Gateway nodeUpdate->
Gateway nodeUpdating authorization authentication check value->Time threshold for authorized authenticationAnd body area node identity set authorized to be authenticated +.>If the user is->Authentication rights of (a) need to be revoked, let ∈ ->At the same time set upThe method comprises the steps of carrying out a first treatment on the surface of the If the user is->Authentication rights of (2) do not need to be revoked, let ∈ ->At the same time set +.>For other non-zero values, further case-wise update +.>
As an alternative embodiment:
Case d) if the userIs taughtIf the identity set of the body area node of the authority authentication has no change, the identity set of the body area node of the authority authentication has no change
Case e) if the userThe authorized body area node identity mark set has new body area node set +.>Add->
Case f) if the userBody area node identification set authorized to be authenticated has body area node set needing to be removedThen->
Case g) if the userCase e) and case f) occur simultaneously with the authentication authorized entity domain node identity set), then
Gateway nodeUpdating authorization check polynomial->
Gateway nodeUpdate->
Gateway nodeAnd (3) calculating:
further calculation of
V9:The gateway node requests the fourth request informationSend to the user +.>
Step S505, the user side update stage: the user receives the fourth request information sent by the gateway node, the personal digital assistant calculates a fourth request verification value, and confirms the negotiation of a session key with the body area node and establishes a session with the body area node to complete identity verification in response to the fact that the fourth request verification value is equal to the fourth request information.
As an optional embodiment, the client update stage specifically includes:
V10:using the previously registered stores ++>Recovery-> And calculating:
further comparing the fourth request authentication valueAnd fourth request information- >If equal, the acceptor domain node +.>Negotiated Session Key->User side and body area node->And establishing a session to complete user identity verification.
Otherwise, not accept the receptor domain nodeThe session key generated.
After session key acceptance, the PDA calculates:
finally the PDA will add the original parameters->Updated to->
It should be noted that, in order to adapt to the flexible feature that the wireless body area network has the body area node added at any time as required, the function of dynamically adding the body area node is supported in the application, the newly added body area node only needs to simply register with the gateway node, and after broadcasting the identity of the new body area node, the new body area node can negotiate the key with the user at the user end. Meanwhile, in order to embody user friendliness, the method and the device support user password updating.
U1: user' sInput of user name and password->PDA uses physical unclonable functionVerifying the input user identity, and calculating by the PDA:
then, compareAnd->Whether or not equal, if->If the user identity verification is passed, continuing the step U2; otherwise, the session is terminated.
U2: PDA accepts request based on input new passwordNew parameters are calculated:
the PDA will store previously Updated to->
As an alternative embodiment, the number of body area nodes may be dynamically added at any time, in particular:
the addition of body area nodes is clearly necessary to accommodate or meet the continuing demands of wireless body area networks, when a new body area nodeWhen it is desired to join the wireless body area network, +.>Only registration requests need to be initiated to the gateway node. />After successful registration, the gateway node broadcasts +>Identity mark of->To let the user of other user end know +.>Identity mark of->
As can be seen from the foregoing, the PUF-based fine-grained multi-terminal identity authentication and related devices provided in the present application are first authenticated by a user terminal and a body domain node respectively to a gateway node, further, the gateway node selects the body domain node to be accessed and initiates a request to the gateway node, after receiving the request from the user terminal, the gateway node verifies whether the user terminal is authorized to authenticate with the body domain node within a preset time threshold by using a cryptographic algorithm, generates a verification value for the request information of the user terminal, verifies whether the user terminal has the authority to authenticate with a target body domain node according to the verification value, if so, the network node transmits the information related to the authentication of the user terminal to the body domain node by using an encrypted manner, and then decrypts and verifies that the decrypted authentication does not belong to authority verification, but only verifies the gateway identity. If the verification is passed, the gateway is trusted, and then parameters related to user authentication and parameters of a session key are generated. And returning the related information to the gateway node, updating the authorized condition of the user terminal by the gateway node according to the request information returned by the body area node, generating the request information returned to the user terminal, receiving the request information returned by the gateway node by the user terminal, calculating a request verification value by a personal digital assistant of the user terminal, and if the request information passes the verification, confirming that the personal digital assistant negotiates a session key with the body area node, establishing a session with the body area node, and completing the identity verification. In the application, the gateway node no longer issues the smart card to the user, so that the problem of smart card loss attack based on the off-line password guessing attack of the smart card or the mobile device is avoided. Meanwhile, the periodicity of modulo operation directly leads an attacker to be unable to effectively guess the password of the user, and the password security is protected. The gateway node encrypts relevant parameters of user fine-grained authentication by using an SM4 encryption algorithm, and protects password security of the user by using a physical unclonable function (Physically Unclonable function, abbreviated as PUF). Further, in the process that the user side verifies the gateway node, an access time threshold and conditions are designed to limit the timeliness of the user side verification process, multi-terminal identity authentication is ensured to be carried out in effective authorization time, and the efficiency and the safety of the verification stage are effectively ensured.
It should be noted that, the method of the embodiments of the present application may be performed by a single device, for example, a computer or a server. The method of the embodiment can also be applied to a distributed scene, and is completed by mutually matching a plurality of devices. In the case of such a distributed scenario, one of the devices may perform only one or more steps of the methods of embodiments of the present application, and the devices may interact with each other to complete the methods.
It should be noted that some embodiments of the present application are described above. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments described above and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
Based on the same inventive concept, the application also provides a fine-grained multi-terminal identity authentication system based on the PUF, which corresponds to the fine-grained multi-terminal identity authentication method based on the PUF provided by any embodiment.
Referring to fig. 7, a schematic diagram of a PUF-based fine-grained multi-terminal identity authentication system is provided in an embodiment of the application.
The system comprises: a user terminal 701, a gateway node 702 and a body domain node 703;
the client 701 is configured to:
the user of the user terminal inputs a user identity and a user password, the personal digital assistant verifies the user identity according to a physical unclonable function, a second hash verification value is calculated, and the user identity verification is passed in response to the second hash verification value being equal to the second hash value; selecting a body area node to be authenticated, extracting a first time stamp, generating first request information according to the first time stamp, and sending the first request information to the gateway node;
the gateway node 702 is configured to:
the gateway node receives the first request information sent by the user terminal, checks the first timestamp, verifies whether the user terminal is authorized to authenticate the body area node within a preset time threshold through a national encryption algorithm, and determines that the user terminal authentication is successful in response to the authentication authority of the user terminal authorized to authenticate the body area node within the preset time threshold; calculating a first request verification value, responding to the first request verification value being equal to the first request information, extracting a second time stamp, generating second request information according to the second time stamp, and sending the second request information to the body area node;
The body domain node 703 is configured to:
the body area node receives the second request information sent by the gateway node, checks the second timestamp, calculates a second request verification value, and determines that the user authentication is successful in response to the second request verification value being equal to the second request information; extracting a third timestamp, generating third request information according to the third timestamp, and sending the third request information to the gateway node;
the gateway node 702 is further configured to:
the gateway node receives the third request information sent by the body area node, checks the third timestamp, calculates a third request verification value, responds to the third request verification value being equal to the third request information, updates the authorized condition of the user terminal, generates fourth request information, and sends the fourth request information to the user terminal;
the client 701 is further configured to:
the updating stage of the user side: and the user terminal receives the fourth request information sent by the gateway node, the personal digital assistant calculates a fourth request verification value, and confirms to negotiate a session key with the body area node, establishes a session with the body area node and completes identity verification in response to the fourth request verification value being equal to the fourth request information.
Optionally, the gateway node 702 is further configured to:
system initialization phase: the gateway node determines a long-term key pair and a unique gateway identity, stores the long-term key pair and discloses the gateway identity.
Optionally, the body domain node 703 is further configured to:
the body area node registration stage: the body domain node transmits a body domain identity to the gateway node through a secure channel, and the gateway node receives the body domain identity transmitted by the body domain node and stores the body domain identity into a body domain identity set; the gateway node calculates a secret value for the body area node and transmits the secret value back to the body area node through a secure channel; and the body area node receives the secret value sent by the gateway node and stores the secret value in a safe storage unit.
Optionally, the client 701 is further configured to:
the user end registration stage: the user side calculates an initial hash value and sends the initial hash value to the gateway node; the gateway node receives the initial hash value sent by the user terminal, records a time stamp of the user terminal registration, calculates a first hash value according to the initial hash value, generates a registration packet, and sends the registration packet to the user terminal; the registration packet stores a pseudo-random identity, a physical unclonable function, a first hash value, an identity identification set and a ciphertext generated by a cryptographic algorithm, wherein the pseudo-random identity, the physical unclonable function, the first hash value and the identity identification set are selected by the gateway node for the user terminal; and the user terminal receives the registration packet, updates the first hash value and calculates a second hash value.
Optionally, the client 701 is further configured to:
the user login stage specifically comprises the following steps:
step L1: user' sInput user identity +.>And user password->Personal digital assistant PDA uses physical unclonable function +.>User identity for input ∈>And user password->Performing verification, personal digital assistant PDA calculation:
/>
wherein,、/>、/>for the value string in the calculation process, +.>For the second hash verification value,for fuzzy extraction of the recovery function, mod is the hash operator,/>for hash function, ++>For bit join operator, < >>1 to ∈256 bits>A large prime number in between;
the personal digital assistant PDA compares the second hash verification valueAnd a second predetermined hash value +.>Whether or not equal, if->Determining that the identity verification of the user is passed;
step L2: PDA runs 1024 bit RSA encryption algorithm system to generate userPublic key of->And private key->Selecting a random number->And the body area node which wants to be accessed +.>Identity of (2)Extracting the first timestamp->And (3) calculating:
wherein,、/>are all intermediate parameters in the calculation process, +.>For user->For said body area node +.>Use->Encryption session key related information, < > >Represents->An identity set of the authorized authentication body area node;
step L3: the PDA will request the information first、/>、/>、/>、/>、/>Send to the gateway node->
Optionally, the client 701 is further configured to:
if it isBy using the physical unclonable function->Make embedded trigger +.>Automatically add 1 to the value of (2) authorized user +.>Try again to enter another group +.>To perform authentication;
if the userThe number of attempts exceeds a preset +.>If the maximum value is the maximum value, terminating the session, freezing the user account until the user is +.>Re-registration.
Optionally, the gateway node 702 is further configured to:
step V1: gateway nodeReceiving the user->Extracting a current timestampAnd check the current timestamp +>With the first timestamp->Whether the time difference between them is smaller than a time threshold +.>
If the current time stampWith the first timestamp->The time difference between them is not less than the time threshold +.>Discarding the request information;
if the current time stampWith the first timestamp->The time difference between them is smaller than the time threshold +.>Gateway nodeUse of self-stored secret values->Decryption ∈4 using the cryptographic algorithm SM>To check the user +.>Whether or not the permission and the identity are authorized to be +. >Is->Authentication is performed, and the following calculation is performed:
wherein,representing gateway node in the computation process>For user->The set authorization check polynomial is used for the authentication,representing user ∈during the calculation>Time threshold for authorized authentication ∈>,/>Representing a subtraction algorithm; />
Gateway nodeCalculate->And->Verifying whether the two are equal, if so, the gateway node +.>Discriminating->Whether it is any of case a), case b) and case c), wherein;
if it is the case a), then the user is determinedDoes not have a body area node->Is a certification authority of (1);
if it is the case b), then the user is determinedIs greater than the authentication authority of the user->Time threshold for authorized authentication
If it is the case c), then the user is determinedBody area node to be accessed ∈>Can be authorized to authenticate with the device in a valid time;
for case c), gateway nodeAnd (3) calculating:
wherein the gateway nodeFirst request information sent by user side +.>、/>Recovery ofCalculate the first request authentication value +.>
Wherein,is a numerical string calculated by the gateway;
comparing the first request authentication valueAnd first request information->If the sizes are equal, determining that the request information passes the authentication; if not, terminating the gateway node +. >A session with the user terminal;
responsive toAnd->When equal, determine +.>,/>,/>
Step V2: gateway nodeSelect random number +.>Extracting the second time stamp->Calculating second request information:
step V3: gateway node-second request information->Is sent to the body area node
For convenience of description, the above system is described as being functionally divided into various modules, respectively. Of course, the functions of each module may be implemented in the same piece or pieces of software and/or hardware when implementing the present application.
The system of the above embodiment is used for implementing the PUF-based fine-grained multi-terminal identity authentication method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which are not described herein.
Based on the same inventive concept, the application also provides an electronic device corresponding to the method of any embodiment, which comprises a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor implements the PUF-based fine-grained multi-terminal identity authentication method according to any embodiment when executing the program.
Fig. 8 shows a more specific hardware architecture of an electronic device according to this embodiment, where the device may include: processor 810, memory 820, input/output interface 830, communication interface 840 and bus 850. Wherein processor 810, memory 820, input/output interface 830, and communication interface 840 enable communication connections among each other within the device via bus 850.
The processor 810 may be implemented by a general-purpose CPU (Central Processing Unit ), microprocessor, application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, etc. for executing relevant programs to implement the technical solutions provided in the embodiments of the present disclosure.
The Memory 820 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory ), static storage device, dynamic storage device, or the like. Memory 820 may store an operating system and other application programs, and when the technical solutions provided by the embodiments of the present specification are implemented in software or firmware, relevant program codes are stored in memory 820 and invoked by processor 810 for execution.
The input/output interface 830 is used for connecting with an input/output module to realize information input and output. The input/output module may be configured as a component in a device (not shown in the figure) or may be external to the device to provide corresponding functionality. Wherein the input devices may include a keyboard, mouse, touch screen, microphone, various types of sensors, etc., and the output devices may include a display, speaker, vibrator, indicator lights, etc.
The communication interface 840 is used to connect a communication module (not shown in the figure) to enable communication interaction between the device and other devices. The communication module may implement communication through a wired manner (such as USB, network cable, etc.), or may implement communication through a wireless manner (such as mobile network, WIFI, bluetooth, etc.).
Bus 850 includes a path to transfer information between components of the device (e.g., processor 810, memory 820, input/output interface 830, and communication interface 840).
It should be noted that although the above-described device only shows processor 810, memory 820, input/output interface 830, communication interface 840, and bus 850, in an implementation, the device may include other components necessary to achieve proper operation. Furthermore, it will be understood by those skilled in the art that the above-described apparatus may include only the components necessary to implement the embodiments of the present description, and not all the components shown in the drawings.
The electronic device of the foregoing embodiments is configured to implement the PUF-based fine-grained multi-terminal identity authentication method according to any one of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which are not described herein.
Based on the same inventive concept, corresponding to any of the above embodiments of the method, the present application further provides a non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the PUF-based fine-grained multi-terminal identity authentication method according to any of the above embodiments.
The non-transitory computer readable storage media described above can be any available media or data storage device that can be accessed by a computer, including, but not limited to, magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MOs), etc.), optical storage (e.g., CD, DVD, BD, HVD, etc.), and semiconductor storage (e.g., ROM, EPROM, EEPROM, nonvolatile storage (NAND FLASH), solid State Disk (SSD)), etc.
The storage medium of the above embodiments stores computer instructions for causing the computer to perform the PUF-based fine-grained multi-terminal identity authentication method according to any of the above exemplary method portions, and has the advantages of the corresponding method embodiments, which are not described in detail herein.
Furthermore, although the operations of the methods of the present application are depicted in the drawings in a particular order, this is not required to or suggested that these operations must be performed in this particular order or that all of the illustrated operations must be performed in order to achieve desirable results. Rather, the steps depicted in the flowcharts may change the order of execution. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform.
It should be noted that unless otherwise defined, technical or scientific terms used in the embodiments of the present application should be given the ordinary meaning as understood by one of ordinary skill in the art to which the present application belongs. The terms "first," "second," and the like, as used in embodiments of the present application, do not denote any order, quantity, or importance, but rather are used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that elements or items preceding the word are included in the element or item listed after the word and equivalents thereof, but does not exclude other elements or items. The terms "connected" or "connected," and the like, are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", etc. are used merely to indicate relative positional relationships, which may also be changed when the absolute position of the object to be described is changed.
While the spirit and principles of this application have been described with reference to several particular embodiments, it is to be understood that this application is not limited to the disclosed particular embodiments nor does it imply that features in the various aspects are not useful in combination, nor are they intended to be in any way useful for the convenience of the description. The application is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.

Claims (8)

1. The fine-grained multi-terminal identity authentication method based on the PUF is characterized by being applied to a fine-grained multi-terminal identity authentication system based on the PUF, wherein the system comprises a user terminal, a gateway node and a body area node;
the method comprises the following steps:
the user login stage of the user comprises the following steps: the user of the user terminal inputs a user identity and a user password, the personal digital assistant verifies the identity of the user according to the user identity, the user password and a physical unclonable function, a second hash verification value is calculated, and the identity verification of the user is determined to pass in response to the second hash verification value being equal to a predetermined second hash value; selecting a body area node to be authenticated, extracting a first time stamp, generating first request information according to the first time stamp, and sending the first request information to the gateway node;
the gateway node authenticates the user end stage: the gateway node receives the first request information sent by the user terminal, checks the first timestamp, verifies whether the user terminal is authorized to authenticate the body area node within a preset time threshold through a national encryption algorithm, and determines that the user terminal authentication is successful in response to the authentication authority of the user terminal authorized to authenticate the body area node within the preset time threshold; calculating a first request verification value, responding to the first request verification value being equal to the first request information, extracting a second time stamp, generating second request information according to the second time stamp, and sending the second request information to the body area node;
The body area node authenticates the user end stage: the body area node receives the second request information sent by the gateway node, checks the second timestamp, calculates a second request verification value, and determines that the user authentication is successful in response to the second request verification value being equal to the second request information; extracting a third timestamp, generating third request information according to the third timestamp, and sending the third request information to the gateway node;
the gateway node update phase: the gateway node receives the third request information sent by the body area node, checks the third timestamp, calculates a third request verification value, responds to the third request verification value being equal to the third request information, updates the authorized condition of the user terminal, generates fourth request information, and sends the fourth request information to the user terminal;
the updating stage of the user side: the user receives the fourth request information sent by the gateway node, the personal digital assistant calculates a fourth request verification value, and confirms to negotiate a session key with the body area node, establishes a session with the body area node and completes identity verification in response to the fourth request verification value being equal to the fourth request information;
The user login stage specifically comprises the following steps:
step L1: user' sInput user identity +.>And user password->Personal digital assistant PDA uses physical unclonable function +.>User identity for input ∈>And user password->Performing verification, personal digital assistant PDA calculation:
wherein,、/>、/>for the value string in the calculation process, +.>For the second hash verification value,for fuzzy extraction recovery function mod is modulo operator, < +.>For hash function, ++>For bit join operator, < >>1 to ∈256 bits>A large prime number in between;
the personal digital assistant PDA compares the second hash verification valueAnd a second predetermined hash value +.>Whether or not equal, if->Determining that the identity verification of the user is passed;
step L2: PDA runs 1024 bit RSA encryption algorithm system to generate userPublic key of->And private key->Selecting a random number->And the body area node which wants to be accessed +.>Identity mark of->Extracting the first timestamp->And (3) calculating:
wherein,、/>are all intermediate parameters in the calculation process, +.>For user->For said body area node +.>Use->Encryption session key related information, < >>Represents->An identity set of the authorized authentication body area node;
Step L3: personal digital assistant PDA will cipher text、/>、/>、/>、/>、/>Is sent to the gateway node
The gateway node authentication user end stage specifically comprises:
step V1: gateway nodeReceiving the user->Extracting a current time stamp ++>And check the current timestamp +>With the first timestamp->Whether the time difference between them is smaller than a time threshold +.>
If the current time stampWith the first timestamp->The time difference between them is not less than the time threshold +.>Discarding the request information;
if the current time stampWith the first timestamp->The time difference between them is smaller than the time threshold +.>Gateway node->Use of self-stored secret values->Decryption ∈4 using the cryptographic algorithm SM>To check the user +.>Whether or not the permission and the identity are authorized to be +.>Is->Authentication is performed, and the following calculation is performed:
wherein,representing gateway node in the computation process>For user->A set authorization check polynomial, +.>Representing user ∈during the calculation>Time threshold for authorized authentication ∈>,/>Represents a decryption algorithm;
gateway nodeCalculate->And->Verifying whether the two are equal, if so, the gateway node +.>Discriminating->Whether it is any of case a), case b) and case c), wherein;
If it is the case a), then the user is determinedDoes not have a body area node->Is a certification authority of (1);
if it is the case b), then the user is determinedIs greater than the authentication authority of the user->Time threshold for authorized authentication ∈>
If it is the case c), then the user is determinedBody area node to be accessed ∈>Can be authorized to authenticate with the device in a valid time;
for case c), gateway nodeAnd (3) calculating:
wherein the gateway nodeBy means of the user side>、/>Restoring->Calculate the first request authentication value +.>
Wherein,is a numerical string calculated by the gateway;
comparing the first request authentication valueAnd first request information->If the sizes are equal, determining that the request information passes the authentication; if not, terminating the gateway node +.>A session with the user terminal;
responsive toAnd->When equal, determine +.>,/>,/>
Step V2: gateway nodeSelect random number +.>Extracting the second time stamp->Calculating second request information:
step V3: gateway node-second request information->Send to the body area node +.>
Wherein,representing the ith user, i representing the total number of users; />Representation allows a user to attempt to useIs a number of times (1); />Representing the updated secret value; />And->The representation will- >Input to a fuzzy encryption generating functionA first intermediate string and a second intermediate string obtained in (1), wherein +.>Representing the user password +.>Input to the physical unclonable function->The result obtained in the step (a); />Representing update secret value +.>And the initial hash value->An intermediate result is obtained after exclusive OR operation; />Representing gateway node->For user->Selecting a pseudo-random identity; />Representing body area node +.>Is (are) identity of->Is->Is->Represent the firstIndividual domain nodes; />Representation ofGWNFor user->A set authorization check polynomial; />Representing random number +.>Representing the total number of random numbers, ">Representing the user binding authorization authentication check value, top right corner +.>Representing to be verifiedParameters or intermediate parameters calculated according to the parameters to be verified.
2. The method according to claim 1, wherein the method further comprises:
system initialization phase: the gateway node determines a long-term key pair and a unique gateway identity, stores the long-term key pair and discloses the gateway identity.
3. The method according to claim 1, wherein the method further comprises:
the body area node registration stage: the body domain node transmits a body domain identity to the gateway node through a secure channel, and the gateway node receives the body domain identity transmitted by the body domain node and stores the body domain identity into a body domain identity set; the gateway node calculates a secret value for the body area node and transmits the secret value back to the body area node through a secure channel; and the body area node receives the secret value sent by the gateway node and stores the secret value in a safe storage unit.
4. The method according to claim 1, wherein the method further comprises:
the user end registration stage: the user side calculates an initial hash value and sends the initial hash value to the gateway node; the gateway node receives the initial hash value sent by the user terminal, records a time stamp registered by the user terminal, calculates a first hash value according to the time stamp and the initial hash value, generates a registration packet, and sends the registration packet to the user terminal; the registration packet stores a pseudo-random identity, a physical unclonable function, a first hash value, an identity identification set and a ciphertext generated by a cryptographic algorithm, wherein the pseudo-random identity, the physical unclonable function, the first hash value and the identity identification set are selected by the gateway node for the user terminal; and the user terminal receives the registration packet, updates the first hash value and calculates a second hash value.
5. The method according to claim 1, wherein the method further comprises:
if it isBy using the physical unclonable function->Make embedded trigger +.>Automatically add 1 to the value of (2) authorized user +.>Try again to enter another group +.>To perform authentication;
if the userThe number of attempts exceeds a preset +. >If the maximum value is the maximum value, terminating the session, freezing the user account until the user is +.>Re-registration.
6. A PUF-based fine-grained multi-terminal identity authentication system, comprising: the system comprises a user terminal, a gateway node and a body area node;
the client is configured to:
the user of the user terminal inputs a user identity and a user password, the personal digital assistant verifies the identity of the user according to the user identity, the user password and a physical unclonable function, a second hash verification value is calculated, and the identity verification of the user is determined to pass in response to the second hash verification value being equal to a predetermined second hash value; selecting a body area node to be authenticated, extracting a first time stamp, generating first request information according to the first time stamp, and sending the first request information to the gateway node;
the gateway node is configured to:
the gateway node receives the first request information sent by the user terminal, checks the first timestamp, verifies whether the user terminal is authorized to authenticate the body area node within a preset time threshold through a national encryption algorithm, and determines that the user terminal authentication is successful in response to the authentication authority of the user terminal authorized to authenticate the body area node within the preset time threshold; calculating a first request verification value, responding to the first request verification value being equal to the first request information, extracting a second time stamp, generating second request information according to the second time stamp, and sending the second request information to the body area node;
The body area node is configured to:
the body area node receives the second request information sent by the gateway node, checks the second timestamp, calculates a second request verification value, and determines that the user authentication is successful in response to the second request verification value being equal to the second request information; extracting a third timestamp, generating third request information according to the third timestamp, and sending the third request information to the gateway node;
the gateway node is further configured to:
the gateway node receives the third request information sent by the body area node, checks the third timestamp, calculates a third request verification value, responds to the third request verification value being equal to the third request information, updates the authorized condition of the user terminal, generates fourth request information, and sends the fourth request information to the user terminal;
the client is further configured to:
the updating stage of the user side: the user receives the fourth request information sent by the gateway node, the personal digital assistant calculates a fourth request verification value, and confirms to negotiate a session key with the body area node, establishes a session with the body area node and completes identity verification in response to the fourth request verification value being equal to the fourth request information;
The user login stage specifically comprises the following steps:
step L1: user' sInput user identity +.>And user password->Personal digital assistant PDA uses physical unclonable function +.>User identity for input ∈>And user password->Performing verification, personal digital assistant PDA calculation:
wherein,、/>、/>for the value string in the calculation process, +.>For the second hash verification value,for fuzzy extraction recovery function mod is modulo operator, < +.>For hash function, ++>For bit join operator, < >>1 to ∈256 bits>A large prime number in between;
the personal digital assistant PDA compares the second hash verification valueAnd a second predetermined hash value +.>Whether or not equal, if->Determining that the identity verification of the user is passed;
step L2: PDA runs 1024 bit RSA encryption algorithm system to generate userPublic key of->And private key->Selecting a random number->And the body area node which wants to be accessed +.>Identity mark of->Extracting the first timestamp->And (3) calculating:
wherein,、/>are all intermediate parameters in the calculation process,/>for user->For said body area node +.>Use->Encryption session key related information, < >>Represents->An identity set of the authorized authentication body area node;
Step L3: personal digital assistant PDA will cipher text、/>、/>、/>、/>、/>Send to the gateway node->
The gateway node authentication user end stage specifically comprises:
step V1: gateway nodeReceiving the user->Extracting a current time stamp ++>And check the current timestamp +>With the first timestamp->Whether the time difference between them is smaller than a time threshold +.>
If the current time stampWith the first timestamp->The time difference between them is not less than the time threshold +.>Discarding the request information;
if the current time stampWith the first timestamp->The time difference between them is smaller than the time threshold +.>Gateway node->Use of self-stored secret values->Decryption ∈4 using the cryptographic algorithm SM>To check the user +.>Whether or not the permission and the identity are authorized to be +.>Is->Authentication is performed, and the following calculation is performed:
wherein,representing gateway node in the computation process>For user->A set authorization check polynomial, +.>Representing user ∈during the calculation>Time threshold for authorized authentication ∈>,/>Represents a decryption algorithm;
gateway nodeCalculate->And->Verifying whether the two are equal, if so, the gateway node +.>Discriminating->Whether it is any of case a), case b) and case c), wherein;
If it is the case a), then the user is determinedDoes not have a body area node->Is a certification authority of (1);
if it is the case b), then the user is determinedIs greater than the authentication authority of the user->Time threshold for authorized authentication ∈>
If it is the case c), then the user is determinedBody area node to be accessed ∈>Can be authorized to authenticate with the device in a valid time;
for case c), gateway nodeAnd (3) calculating:
wherein the gateway nodeBy means of the user side>、/>Restoring->Calculate the first request authentication value +.>
Wherein,is a numerical string calculated by the gateway;
comparing the first request authentication valueAnd first request information->If the sizes are equal, determining that the request information passes the authentication; if not, terminating the gateway node +.>A session with the user terminal;
responsive toAnd->When equal, determine +.>,/>,/>
Step V2: gateway nodeSelect random number +.>Extracting the second time stamp->Calculating second request information:
step V3: gateway node-second request information->Send to the body area node +.>
Wherein,representing the ith user, i representing the total number of users; />Representation allows a user to attempt to useIs a number of times (1); />Representing the updated secret value; />And->The representation will- >Input to a fuzzy encryption generating functionA first intermediate string and a second intermediate string obtained in (1), wherein +.>Representing the user password +.>Input to the physical unclonable function->The result obtained in the step (a); />Representing update secret value +.>And the initial hash value->An intermediate result is obtained after exclusive OR operation; />Representing gateway node->For user->Selecting a pseudo-random identity; />Representing body area node +.>Is (are) identity of->Is->Is->Represent the firstIndividual domain nodes; />Representation ofGWNFor user->A set authorization check polynomial; />Representing random number +.>Representing the total number of random numbers, ">Representing the user binding authorization authentication check value, top right corner +.>Representing the parameter to be verified or an intermediate parameter calculated from the parameter to be verified.
7. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method of any one of claims 1 to 5 when the program is executed by the processor.
8. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 1 to 5.
CN202311303994.XA 2023-10-10 2023-10-10 Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment Active CN117040767B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311303994.XA CN117040767B (en) 2023-10-10 2023-10-10 Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311303994.XA CN117040767B (en) 2023-10-10 2023-10-10 Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment

Publications (2)

Publication Number Publication Date
CN117040767A CN117040767A (en) 2023-11-10
CN117040767B true CN117040767B (en) 2024-01-23

Family

ID=88635900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311303994.XA Active CN117040767B (en) 2023-10-10 2023-10-10 Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment

Country Status (1)

Country Link
CN (1) CN117040767B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092776A (en) * 2017-12-04 2018-05-29 南京南瑞信息通信科技有限公司 A kind of authentication server and authentication token
CN108616358A (en) * 2018-05-10 2018-10-02 广西大学 The authentication method of sensor and main control unit in wireless body area network based on PUF
CN111818039A (en) * 2020-07-03 2020-10-23 西安电子科技大学 Three-factor anonymous user authentication protocol method based on PUF in Internet of things
CN113518083A (en) * 2021-06-24 2021-10-19 国网江苏省电力有限公司信息通信分公司 Lightweight security authentication method and device based on device fingerprint and PUF
CN114401514A (en) * 2022-03-25 2022-04-26 北京邮电大学 Multi-factor identity authentication method facing wireless body area network and related equipment
CN114499854A (en) * 2022-02-17 2022-05-13 北京邮电大学 Identity authentication method and system based on wireless sensor network and electronic equipment
US11405189B1 (en) * 2021-11-18 2022-08-02 James E. Bennison Systems and methods for trustworthy electronic authentication using a computing device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3661148B1 (en) * 2018-11-28 2023-05-24 Nxp B.V. Location- and identity-referenced authentication method and communication system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092776A (en) * 2017-12-04 2018-05-29 南京南瑞信息通信科技有限公司 A kind of authentication server and authentication token
CN108616358A (en) * 2018-05-10 2018-10-02 广西大学 The authentication method of sensor and main control unit in wireless body area network based on PUF
CN111818039A (en) * 2020-07-03 2020-10-23 西安电子科技大学 Three-factor anonymous user authentication protocol method based on PUF in Internet of things
CN113518083A (en) * 2021-06-24 2021-10-19 国网江苏省电力有限公司信息通信分公司 Lightweight security authentication method and device based on device fingerprint and PUF
US11405189B1 (en) * 2021-11-18 2022-08-02 James E. Bennison Systems and methods for trustworthy electronic authentication using a computing device
CN114499854A (en) * 2022-02-17 2022-05-13 北京邮电大学 Identity authentication method and system based on wireless sensor network and electronic equipment
CN114401514A (en) * 2022-03-25 2022-04-26 北京邮电大学 Multi-factor identity authentication method facing wireless body area network and related equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Robust and Effective Two-Factor Authentication (2FA) Protocol Based on ECC for Mobile Computing;Kaijun Liu etal.;《Applied Science》;全文 *
Anonymous Authentication Protocol Based on Physical Unclonable Function and Elliptic Curve Cryptography for Smart Grid;Huanhuan Ma;《IEEE SYSTEMS JOURNAL》;全文 *

Also Published As

Publication number Publication date
CN117040767A (en) 2023-11-10

Similar Documents

Publication Publication Date Title
US10609014B2 (en) Un-password: risk aware end-to-end multi-factor authentication via dynamic pairing
Das et al. A secure and efficient uniqueness-and-anonymity-preserving remote user authentication scheme for connected health care
JP4885853B2 (en) Renewable and private biometrics
Li et al. A secure chaotic maps and smart cards based password authentication and key agreement scheme with user anonymity for telecare medicine information systems
US10797879B2 (en) Methods and systems to facilitate authentication of a user
Sureshkumar et al. An enhanced mutual authentication and key establishment protocol for TMIS using chaotic map
EP3175380A1 (en) System and method for implementing a one-time-password using asymmetric cryptography
Alzahrani Secure and efficient cloud-based IoT authenticated key agreement scheme for e-health wireless sensor networks
JP6927981B2 (en) Methods, systems, and devices that use forward secure cryptography for passcode verification.
US9712499B2 (en) Method and apparatus for cryptographic processing
Zhao et al. A secure biometrics and PUFs-based authentication scheme with key agreement for multi-server environments
CN113971274B (en) Identity recognition method and device
CN113691502A (en) Communication method, communication device, gateway server, client and storage medium
Giri et al. A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer USB mass storage devices
Lee et al. A biometric-based authentication and anonymity scheme for digital rights management system
Patel et al. An enhanced approach for three factor remote user authentication in multi-server environment
Yang et al. Cryptanalysis and improvement of a biometrics-based authentication and key agreement scheme for multi-server environments
Amintoosi et al. TAMA: three-factor authentication for multi-server architecture
Yao et al. An inter-domain authentication scheme for pervasive computing environment
Malina et al. Secure and efficient two-factor zero-knowledge authentication solution for access control systems
JP7250960B2 (en) User authentication and signature device using user biometrics, and method thereof
Dharminder et al. Construction of lightweight authentication scheme for network applicants using smart cards
Mao et al. An enhanced three-factor authentication scheme with dynamic verification for medical multimedia information systems
CN114401514B (en) Multi-factor identity authentication method facing wireless body area network and related equipment
CN117040767B (en) Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant