User verification method, device and equipment

By using a fully homomorphic encryption algorithm to encrypt the similarity between the verified face and the target face during the user verification process, the problem of data leakage in the prior art is solved, and an efficient and secure user verification process is achieved.

CN119728268AActive Publication Date: 2025-03-28DATANG MOBILE COMM EQUIP CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202411928780.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-03-28
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

The existing user verification methods have the problem that data is easily leaked, especially when transmitting encrypted face data, it requires a private key, which poses a risk of leakage.

Method used

By transmitting encrypted face feature information between the terminal device and the server, the similarity between the verified face and the target face is encrypted by using a fully homomorphic encryption algorithm to avoid transmitting the private key during the transmission process, thereby improving the security of the data.

Benefits of technology

This realizes the leakage of face images to be verified during user verification, improves the security of the verification process, simplifies the server's calculation process, and improves verification efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728268A_ABST
    Figure CN119728268A_ABST
Patent Text Reader

Abstract

The invention provides a user verification method, device and equipment, and relates to the technical field of computers, the method comprises the steps that a to-be-verified face image of a user and an equipment identifier of target equipment are acquired, and the face image comprises a to-be-verified face; encrypting the face to be verified to obtain first encrypted information; sending a device identifier and the first encryption information to a server, the device identifier being used for indicating the server to obtain second encryption information of a target face corresponding to the device identifier, and determining third encryption information according to the first encryption information and the second encryption information; receiving third encrypted information sent by the server, and decrypting the third encrypted information to obtain similarity; and under the condition that the similarity is smaller than or equal to a similarity threshold value, determining that the user passes verification. According to the method and the device, the secret key is not transmitted in the transmission process of the first encrypted information or the third encrypted information, so that the leakage of the to-be-verified face image is avoided in the user verification process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a user verification method, device and equipment. Background Art

[0002] When a user uses a target device, the user needs to be authenticated before the user can use the target device. For example, in an online car-hailing scenario, when a driver is driving a vehicle to accept an order, the driver needs to be authenticated to ensure that the person and the vehicle are the same.

[0003] At present, user verification mainly involves encrypting relevant data and sending it together with a secret key to a server for verification. The server uses the secret key to decrypt the encrypted relevant data and then conducts verification. After the verification is passed, the user can use the target device. It can be seen that the current verification method has the problem of easy leakage of relevant data. Summary of the invention

[0004] The present application provides a user verification method, device and equipment for solving the technical problem that data is easily leaked in the current user verification method.

[0005] In a first aspect, the present application provides a user verification method, which is applied to a terminal device. The user verification method includes:

[0006] Obtaining a user's face image to be verified and a device identifier of a target device, wherein the face image includes: a face to be verified;

[0007] Encrypting the face to be verified to obtain first encrypted information;

[0008] Sending a device identification and first encrypted information to a server, where the device identification is used to instruct the server to obtain second encrypted information of a target face corresponding to the device identification, and determining third encrypted information based on the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0009] receiving the third encrypted information sent by the server, and decrypting the third encrypted information to obtain the similarity;

[0010] When the similarity is less than or equal to the similarity threshold, it is determined that the user verification is passed.

[0011] In some optional implementations, encrypting the face to be verified to obtain first encrypted information includes:

[0012] Performing feature extraction on the face image to be verified to obtain a plurality of first face feature vectors of the face to be verified;

[0013] According to a preset fully homomorphic encryption algorithm, multiple first facial feature vectors are encrypted to obtain first encrypted information.

[0014] In some optional implementations, the first encrypted information includes: first sub-encrypted information and second sub-encrypted information, and the plurality of first facial feature vectors are encrypted according to a preset fully homomorphic encryption algorithm to obtain the first encrypted information, including:

[0015] Encrypting each first facial feature vector according to a fully homomorphic encryption algorithm to obtain first sub-encrypted information of each first facial feature vector;

[0016] Determining a first dot product between a plurality of first facial feature vectors;

[0017] The first dot product is encrypted according to the fully homomorphic encryption algorithm to obtain the second sub-encrypted information.

[0018] In some optional implementations, encrypting the face to be verified to obtain first encrypted information includes:

[0019] Get the public key of the preset key pair;

[0020] Encrypting the face to be verified according to the public key to obtain first encrypted information;

[0021] The third encrypted information is decrypted to obtain the similarity, including:

[0022] Get the private key of the preset key pair;

[0023] The third encrypted information is decrypted according to the private key to obtain the similarity.

[0024] In some optional implementations, the terminal device includes a vehicle-mounted terminal, the target device includes a vehicle, and after determining that the user verification is passed, the following steps are further included:

[0025] Send the verification result to the server, which indicates that the user has passed the verification;

[0026] Receive the vehicle dispatch information from the server.

[0027] In a second aspect, the present application provides a user verification method, which is applied to a server. The user verification method includes:

[0028] Receiving a device identification and first encrypted information of a face to be verified sent by a terminal device;

[0029] Obtain second encrypted information of the target face corresponding to the device identification;

[0030] Determine third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0031] The third encrypted information is sent to the terminal device, where the third encrypted information is used to instruct the terminal device to determine a verification result according to the third encrypted information.

[0032] In some optional embodiments, the method further comprises:

[0033] Receiving a registration request from a terminal device, the registration request including: a device identification and a target face image;

[0034] Extracting features of the target face image to obtain multiple second face feature vectors of the target face;

[0035] Encrypting the plurality of second facial feature vectors according to a preset fully homomorphic encryption algorithm to obtain second encrypted information;

[0036] The second encrypted information is stored.

[0037] In some optional implementations, the second encrypted information includes: third sub-encrypted information and fourth sub-encrypted information, and the plurality of second facial feature vectors are encrypted according to a preset fully homomorphic encryption algorithm to obtain the second encrypted information, including:

[0038] Encrypt each second facial feature vector according to a fully homomorphic encryption algorithm to obtain third sub-encrypted information of each second facial feature vector;

[0039] determining a second dot product between a plurality of second facial feature vectors;

[0040] The second dot product is encrypted according to the fully homomorphic encryption algorithm to obtain the fourth sub-encrypted information.

[0041] In some optional implementations, the first encrypted information includes: first sub-encrypted information and second sub-encrypted information, and determining the third encrypted information according to the first encrypted information and the second encrypted information includes:

[0042] The third encrypted information is determined according to the following expression:

[0043]

[0044] Where d represents similarity, E represents the fully homomorphic encryption algorithm, and E(d 2 ) represents the third encrypted information, E(Dot x ) represents the second sub-encryption information, E(Dot y ) represents the fourth encrypted information, E(x i ) represents the first sub-encrypted information of the first face feature vector of the i-th person, E(y i ) represents the third sub-encrypted information of the i-th second facial feature.

[0045] In some optional embodiments, the method further comprises:

[0046] Receive the verification result sent by the terminal device, which indicates that the user has passed the verification;

[0047] Send dispatch information to the terminal device.

[0048] In a third aspect, the present application provides a user verification device, which is applied to a terminal device, and the user verification device includes:

[0049] An acquisition module is used to acquire a user's face image to be verified and a device identifier of a target device, wherein the face image includes: a face to be verified;

[0050] An encryption module, used for encrypting the face to be verified to obtain first encrypted information;

[0051] A sending module, used to send a device identification and first encrypted information to a server, wherein the device identification is used to instruct the server to obtain second encrypted information of a target face corresponding to the device identification, and to determine third encrypted information based on the first encrypted information and the second encrypted information, wherein the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0052] A decryption module, used for receiving the third encrypted information sent by the server, and decrypting the third encrypted information to obtain the similarity;

[0053] The determination module is used to determine that the user verification is passed when the similarity is less than or equal to the similarity threshold.

[0054] In a fourth aspect, the present application provides a user verification device, which is applied to a server, and the user verification device includes:

[0055] A receiving module, used for receiving a device identification and first encrypted information of a face to be verified sent by a terminal device;

[0056] An acquisition module, used to acquire second encrypted information of a target face corresponding to the device identification;

[0057] A determination module, configured to determine third encrypted information based on the first encrypted information and the second encrypted information, wherein the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0058] The sending module is used to send third encrypted information to the terminal device, and the third encrypted information is used to instruct the terminal device to determine the verification result according to the third encrypted information.

[0059] In a fifth aspect, the present application provides a user verification system, including: a terminal device and a server; wherein:

[0060] The terminal device is used to: obtain a user's face image to be verified and a device identification of a target device, wherein the face image includes: a face to be verified; encrypt the face to be verified to obtain first encrypted information; and send the device identification and the first encrypted information to a server;

[0061] The server is used to: obtain the second encrypted information of the target face corresponding to the device identification; determine the third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is the encrypted information of the similarity between the face to be verified and the target face; and send the third encrypted information to the terminal device;

[0062] The terminal device is also used to: decrypt the third encrypted information to obtain the similarity; and determine that the user verification is passed when the similarity is less than or equal to the similarity threshold.

[0063] In a sixth aspect, the present application provides a terminal device, comprising: a memory for storing a computer program;

[0064] a transceiver for transmitting and receiving data under the control of the processor;

[0065] A processor that reads a computer program from memory and performs the following operations:

[0066] Obtaining a user's face image to be verified and a device identifier of a target device, wherein the face image includes: a face to be verified;

[0067] Encrypting the face to be verified to obtain first encrypted information;

[0068] Sending a device identification and first encrypted information to a server, where the device identification is used to instruct the server to obtain second encrypted information of a target face corresponding to the device identification, and determining third encrypted information based on the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0069] receiving the third encrypted information sent by the server, and decrypting the third encrypted information to obtain the similarity;

[0070] When the similarity is less than or equal to the similarity threshold, it is determined that the user verification is passed.

[0071] In a seventh aspect, the present application provides a server, comprising: a memory for storing a computer program;

[0072] a transceiver for transmitting and receiving data under the control of the processor;

[0073] A processor that reads a computer program from memory and performs the following operations:

[0074] Receiving a device identification and first encrypted information of a face to be verified sent by a terminal device;

[0075] Obtain second encrypted information of the target face corresponding to the device identification;

[0076] Determine third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0077] The third encrypted information is sent to the terminal device, where the third encrypted information is used to instruct the terminal device to determine a verification result according to the third encrypted information.

[0078] In an eighth aspect, the present application provides a processor-readable storage medium, which stores a computer program, and the computer program is used to enable a processor to execute the user verification method provided in the first aspect and / or the second aspect.

[0079] In a ninth aspect, the present application provides a computer program product, comprising: a computer program, which, when executed by a processor, implements the user verification method provided in the first aspect and / or the second aspect.

[0080] The user verification method provided by the present application includes: obtaining a user's face image to be verified and a device identification of a target device, wherein the face image includes: a face to be verified; encrypting the face to be verified to obtain a first encrypted message; sending the device identification and the first encrypted message to a server, wherein the device identification is used to instruct the server to obtain the second encrypted message of the target face corresponding to the device identification, and determining the third encrypted message based on the first encrypted message and the second encrypted message, wherein the third encrypted message is the encrypted message of the similarity between the face to be verified and the target face; receiving the third encrypted message sent by the server, and decrypting the third encrypted message to obtain the similarity; and determining that the user verification is passed when the similarity is less than or equal to the similarity threshold. The present application avoids the leakage of the face image to be verified during the user verification process by not transmitting the secret key during the transmission of the first encrypted message or the third encrypted message.

[0081] It should be understood that the contents described in the above summary of the invention are not intended to limit the key or important features of the embodiments of the present application, nor are they intended to limit the scope of the present application. Other features of the present application will become easy to understand through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0082] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0083] Figure 1 An application scenario diagram of a user verification method provided in one embodiment of the present application;

[0084] Figure 2 A flowchart of a user verification method provided in one embodiment of the present application;

[0085] Figure 3 A flowchart of another user verification method provided in one embodiment of the present application;

[0086] Figure 4 A schematic diagram of the structure of a user verification device provided in one embodiment of the present application;

[0087] Figure 5 A schematic diagram of the structure of another user verification device provided in one embodiment of the present application;

[0088] Figure 6 A schematic diagram of the structure of a user verification system provided in one embodiment of the present application;

[0089] Figure 7 A schematic diagram of the structure of a terminal device provided in one embodiment of the present application;

[0090] Figure 8 A schematic diagram of the structure of a server provided in one embodiment of the present application. DETAILED DESCRIPTION

[0091] The term "and / or" in this application describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects before and after the association are in an "or" relationship. In the embodiments of this application, the term "plurality" refers to two or more, and other quantifiers are similar.

[0092] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0093] In order to standardize the operation of online car-hailing, the platform's server needs to remotely collect the driver's facial data before assigning an order to the driver, and then transmit it to the server. The server compares the facial image with the authenticated facial data of the vehicle stored in the platform database to confirm the driver's identity. Currently, data is generally collected through the driver's mobile phone camera, and the platform starts to dispatch orders after verifying that the person and the vehicle are consistent. To improve system security, a cryptographic system is currently used to encrypt facial data transmitted over the network and stored in the database. However, general encryption schemes also require the facial data to be decrypted in order to complete the basic arithmetic operations required for facial matching, and the private key needs to be sent to the server during the transmission of the encrypted facial data, which poses a problem of easy leakage of facial data.

[0094] In view of this, an embodiment of the present application provides a user verification method, where the server can implement user verification without decrypting the first encrypted information, thereby avoiding the leakage of the face to be verified and improving the security of the verification process.

[0095] Reference Figure 1 , showing an application scenario diagram of a user verification method, Figure 1 The system includes: a target device 11, a terminal device 12, a user 13 and a server 14. The target device 11 is a vehicle, the terminal device 12 is a vehicle-mounted terminal, and the server 14 is a server of an online car-hailing platform. If the user 13 needs to drive the target device 11 and use the terminal device 12 to receive the dispatch from the server 14, the user 13 needs to be verified to ensure that the person and the vehicle are consistent. After the user 13 is verified, the terminal device 12 dispatches the user 13. This application is used to ensure the security of the user's face during the verification process of the user 13.

[0096] The user verification method provided in this application can be applied not only to online car-hailing scenarios, but also to various cloud-edge collaborative privacy protection scenarios such as taxi driver face verification and smart car safety officer face verification, with strong generalization capabilities. In addition, the application does not limit the specific application scenarios.

[0097] It should be noted that in different systems, the names of terminal devices may also be different. For example, in this application, the terminal device may also be called User Equipment (UE), or the terminal device may also be a wireless terminal, wherein the wireless terminal may communicate with one or more core networks (CN) via a Radio Access Network (RAN). The wireless terminal may be a mobile terminal, such as a mobile phone (or a "cellular" phone) and a computer with a mobile terminal, for example, a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device, which exchanges language and / or data with a radio access network. For example, Personal Communication Service (PCS) phones, cordless phones, Session Initiated Protocol (SIP) phones, Wireless Local Loop (WLL) stations, Personal Digital Assistants (PDA) and other devices. A wireless terminal may also be referred to as a system, a subscriber unit (Subscriber Unit), a subscriber station (Subscriber Station), a mobile station (Mobile Station), a mobile station (Mobile), a remote station (Remote Station), an access point (Access Point), a remote terminal (Remote Terminal), an access terminal (Access Terminal), a user terminal (User Terminal), a user agent (User Agent), and a user device (User Device), which is not limited in the embodiments of the present application.

[0098] It should be noted that the method and device provided in the embodiments of the present application are based on the same application concept. Since the principles of solving problems by the method and device are similar, the implementation of the device and method can refer to each other, and the repeated parts will not be repeated.

[0099] The following specific embodiments are used to describe in detail the technical solutions of the embodiments of the present application and how the technical solutions of the present application solve the above technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.

[0100] Please refer to Figure 2 , Figure 2 A flowchart of a user verification method provided in one embodiment of the present application. Figure 2 As shown, the user verification method is applied to a terminal device and specifically includes the following steps:

[0101] S201, obtaining a user's face image to be verified and a device identification of a target device.

[0102] The face image includes: the face to be verified. Figure 1 The user may be the driver of a vehicle, the target device may be a vehicle, and the face image to be verified may be one or more frames of images captured by a camera on the terminal device.

[0103] The device identification of the target device may be preset. When the target device is a vehicle, the device identification of the vehicle may be a license plate number.

[0104] S202: Encrypt the face to be verified to obtain first encrypted information.

[0105] In the embodiment of the present application, the face to be verified is encrypted, and the device identification does not need to be encrypted, which can improve the encryption efficiency.

[0106] In an optional embodiment, encrypting the face to be verified to obtain the first encrypted information includes: obtaining a public key of a preset key pair; and encrypting the face to be verified according to the public key to obtain the first encrypted information.

[0107] It can be understood that the terminal device side initializes system parameters, which include: device identification, similarity threshold, and preset key pair. The preset key pair includes a public key and a private key, and then includes the public key and the private key on the terminal device side, and the server side saves the public key. In the embodiment of the present application, the private key is only stored in the terminal device, which can ensure that the full link of the face to be verified is encrypted, and only the terminal device can decrypt it, thereby achieving privacy protection.

[0108] Specifically, in the embodiment of the present application, the key generation algorithm KeyGen(1 λ ) generates a preset key pair. The KeyGen() is a random algorithm with a security parameter of 1 λ The preset key pair output includes: public key pk and private key sk.

[0109] It can be understood that encrypting the face to be verified to obtain the first encrypted information includes: extracting features from the face image to be verified to obtain multiple first face feature vectors of the face to be verified; and encrypting the multiple first face feature vectors according to a preset fully homomorphic encryption algorithm to obtain the first encrypted information.

[0110] In the embodiment of the present application, a preset neural network model is used to extract features from the face image to be verified to obtain multiple first face feature vectors, wherein the multiple first face feature vectors can be expressed as x={x1,…,x m}, m represents the number of the first facial feature vectors, xi Represents the i-th first face feature vector.

[0111] Among them, the neural network model is such as FaceNet (a face recognition model). In addition, other neural network models can also be used, which are not limited here.

[0112] Furthermore, the public key of the fully homomorphic encryption algorithm is the public key of a preset key pair, and the fully homomorphic encryption algorithm is such as CKKS (a fully homomorphic encryption algorithm) or TFHE (a fully homomorphic encryption algorithm). This application does not limit the specific fully homomorphic encryption algorithm.

[0113] In the embodiment of the present application, a fully homomorphic encryption algorithm is used to encrypt and transmit the face to be verified to the server for calculation. The verification of the face to be verified can be completed without decryption, and it has the feature of protecting the security of the face to be verified.

[0114] Furthermore, the first encrypted information includes: first sub-encrypted information and second sub-encrypted information. According to a preset fully homomorphic encryption algorithm, multiple first facial feature vectors are encrypted to obtain first encrypted information, including: according to the fully homomorphic encryption algorithm, each first facial feature vector is encrypted to obtain first sub-encrypted information of each first facial feature vector; determining a first dot product between multiple first facial feature vectors; encrypting the first dot product according to the fully homomorphic encryption algorithm to obtain second sub-encrypted information.

[0115] Among them, each first face feature vector x i Corresponding to a first sub-encrypted information. If the fully homomorphic encryption algorithm is represented by E, then the first face feature vector x i The corresponding first sub-encrypted information is expressed as E(x i ).

[0116] Furthermore, the first dot product Dot x Determine using the following expression (1):

[0117]

[0118] Among them, Dot x represents the first dot product, the first dot product is x={x1,…,x m} and x={x1,…,x m}.

[0119] In the embodiment of the present application, the second sub-encrypted information adopts E(Dot x )express.

[0120] It can be understood that in the embodiment of the present application, the first facial feature vector is encrypted and transmitted, including the encryption of each first facial feature vector and the encryption of the first dot product, which further improves the security of the face to be verified.

[0121] S203: Send the device identification and the first encrypted information to the server.

[0122] In an embodiment of the present application, the terminal device sends the device identification and the first encrypted information to the server.

[0123] Among them, the device identifier is used to instruct the server to obtain the second encrypted information of the target face corresponding to the device identifier, and determine the third encrypted information based on the first encrypted information and the second encrypted information. The third encrypted information is the encrypted information of the similarity between the face to be verified and the target face.

[0124] It can be understood that the second encrypted information corresponding to the device identification is stored on the server side, and the second encrypted information is obtained by encrypting the target face, and the encryption method of the target face is the same as the encryption method of the face to be verified.

[0125] S204, receiving the third encrypted information sent by the server, and decrypting the third encrypted information to obtain the similarity.

[0126] In the embodiment of the present application, after determining the third encrypted information, the server sends the third encrypted information to the terminal device, and the third encrypted information is also obtained using a fully homomorphic encryption algorithm.

[0127] In an optional embodiment, decrypting the third encrypted information to obtain the similarity includes: obtaining a private key of a preset key pair; and decrypting the third encrypted information according to the private key to obtain the similarity.

[0128] It can be understood that the decryption key of the third encrypted information is the private key sk of the preset key pair determined above. The similarity d between the face to be verified and the target face can be obtained by decrypting the third encrypted information with the private key sk.

[0129] S205: When the similarity is less than or equal to the similarity threshold, it is determined that the user verification is passed.

[0130] In the embodiment of the present application, a similarity threshold D may be preset. If d≤D, it may be determined that the user authentication has passed. If d>D, it may be determined that the user authentication has failed.

[0131] Among them, the terminal device of the present application has a certain computing power and can deploy neural network models and fully homomorphic encryption algorithms.

[0132] In an optional embodiment, the terminal device includes a vehicle-mounted terminal, the target device includes a vehicle, and after determining that the user verification is passed, it also includes: sending a verification result to a server, the verification result indicating that the user verification is passed; and receiving the server's dispatch information for the vehicle.

[0133] Among them, the facial image to be verified can be collected by the camera on the vehicle terminal, which can avoid the user using face-changing technology to send the target face data to the server, thereby improving the user's verification accuracy and avoiding violations and safety hazards.

[0134] Furthermore, the vehicle-mounted terminal can be upgraded, and the vehicle-mounted terminal includes: a vehicle-mounted camera or a driving recorder.

[0135] It can be understood that if the user verification is passed, the terminal device sends the verification result to the server, and the server can send the dispatch information to the vehicle, and the dispatch information is the order information of the online car-hailing service.

[0136] Furthermore, if the user authentication fails, the terminal device may also send authentication failure information to the server.

[0137] In the embodiment of the present application, after the terminal device collects the face image to be verified and extracts the features, it performs fully homomorphic encryption to obtain the first encrypted information, sends the first encrypted information to the server, and the server performs a secret calculation on the first encrypted information and the second encrypted information pre-stored on the server to obtain the third encrypted information, and returns the third encrypted information to the terminal device. After the terminal device decrypts the third encrypted information, it obtains the similarity, compares the similarity with the similarity threshold to obtain the verification result, and returns the verification result to the server, and the server triggers the subsequent dispatch process based on the verification result.

[0138] In summary, first of all, this application only performs fully homomorphic encryption on the key sensitive face to be verified, the device identification is stored and transmitted in plain text, and x is calculated in advance in plain text i ,y i 、Dot x and Dot y , then for x i ,y i 、Dot x and Dot y Perform full homomorphic encryption to obtain E(x i )、E(y i )、E(Dot x ) and E(Dot y ), and then calculate E(d 2 ) directly participates in the calculation, which speeds up the ciphertext processing and thus improves the efficiency of face verification.

[0139] Secondly, this application only saves the private key on the terminal device, and the whole link data transmission, storage, and calculation are all performed in a confidential state, which can effectively protect the sensitive data of the face to be verified. Even if there is a leak in any link, the original data cannot be restored from the confidential data, effectively protecting user privacy.

[0140] Furthermore, the present application is applied in vehicle-mounted terminals, and ordinary users cannot deploy illegal applications such as smart face-changing on them, thereby solving the problem of face forgery.

[0141] Please refer to Figure 3 , Figure 3 A flowchart of the steps of another user verification method provided in one embodiment of the present application.

[0142] like Figure 3 As shown, the user verification method is applied to the server and specifically includes the following steps:

[0143] S301, receiving a device identification and first encrypted information of a face to be verified sent by a terminal device.

[0144] The specific implementation process of this step refers to S201 and S202, which will not be repeated here.

[0145] S302, obtaining second encrypted information of the target face corresponding to the device identification.

[0146] In the embodiment of the present application, the second encryption information may be pre-stored on the server side.

[0147] In one embodiment, before S302, it also includes: receiving a registration request from a terminal device, the registration request including: a device identification and a target face image; performing feature extraction on the target face image to obtain multiple second face feature vectors of the target face; encrypting the multiple second face feature vectors according to a preset fully homomorphic encryption algorithm to obtain second encrypted information; and storing the second encrypted information.

[0148] In the embodiment of the present application, when the user registers the target device with the server, the user sends the device identification and the target face image to the server. The server extracts the features of the target face image to obtain multiple second face feature vectors y={y1,…,y m}. Among them, y i Represents the i-th second face feature vector.

[0149] Furthermore, the second encrypted information includes: third sub-encrypted information and fourth sub-encrypted information. According to a preset fully homomorphic encryption algorithm, multiple second facial feature vectors are encrypted to obtain second encrypted information, including: according to the fully homomorphic encryption algorithm, each second facial feature vector is encrypted to obtain the third sub-encrypted information of each second facial feature vector; the second dot product between the multiple second facial feature vectors is determined; and the second dot product is encrypted according to the fully homomorphic encryption algorithm to obtain the fourth sub-encrypted information.

[0150] In the embodiment of the present application, the server will i With Dot y Perform full homomorphic encryption and obtain E(y i ) and E(Dot y ), and E(y i ) and E(Dot y ) and the device ID are saved in the server database, where the device ID is used as the primary key in the database for subsequent retrieval and comparison of the data reported by the terminal device to speed up the query E(y i ) and E(Dot y ) speed. It can be seen that the data stored on the server side are all confidential data, that is, the encrypted target face, and the server does not need to decrypt it, which can protect the user's privacy.

[0151] Specifically, each second face feature vector y i Corresponding to a third sub-encrypted information. If the fully homomorphic encryption algorithm is represented by E, then the first face feature vector y i The corresponding third sub-encrypted information is expressed as E(y i ).

[0152] Furthermore, the second dot product Dot y It is determined by the following expression (2):

[0153]

[0154] Among them, Dot y represents the second dot product, the second dot product is y={y1,…,y m} and y={y1,…,y m}.

[0155] In the embodiment of the present application, the fourth sub-encryption information adopts E(Dot y )express.

[0156] In another embodiment, the target face may be encrypted on the terminal device side to obtain E(y i ) and E(Dot y ), then E(y i )、E(Doty ) and the device ID are sent to the server for registration, and the server saves E(y i )、E(Dot y ) and device identification. In this way, the server cannot i )、E(Dot y ) is used to decrypt the target face, that is, the server cannot obtain the target face, thus further improving the user's privacy.

[0157] S303: Determine third encrypted information according to the first encrypted information and the second encrypted information.

[0158] Among them, the third encrypted information is the encrypted information of the similarity between the face to be verified and the target face.

[0159] The first encrypted information includes: first sub-encrypted information and second sub-encrypted information. According to the first encrypted information and the second encrypted information, the third encrypted information is determined, including:

[0160] The third encrypted information is determined according to the following expression:

[0161]

[0162] Where d represents similarity, E represents the fully homomorphic encryption algorithm, and E(d 2 ) represents the third encrypted information, E(Dot x ) represents the second sub-encryption information, E(Dot y ) represents the fourth encrypted information, E(x i ) represents the first sub-encrypted information of the first face feature vector of the i-th person, E(y i ) represents the third sub-encrypted information of the i-th second facial feature.

[0163] It can be understood that the server receives the E (Dot x ) and E(x i ), and then obtain E(Dot y ) and E(y i ), we can directly determine E(d 2 ). It can be seen that the calculation process of the server is simple, which can improve the efficiency of user verification.

[0164] Furthermore, expression (3) can be obtained based on the following derivation process, and expression (4) is as follows:

[0165]

[0166] Furthermore, the similarity d in the present application is the Euclidean distance between the first facial feature vector and the second facial feature vector.

[0167] From the above derivation process, it can be concluded that E(d 2 ) can be obtained by Dot x The ciphertext, Dot y The ciphertext of Conclude.

[0168] S304: Send third encrypted information to the terminal device.

[0169] The third encrypted information is used to instruct the terminal device to determine the verification result according to the third encrypted information.

[0170] Furthermore, a verification result sent by the terminal device is received, the verification result indicating that the user verification has passed; and dispatch information is sent to the terminal device.

[0171] In the embodiment of the present application, the terminal device receives the third encrypted information and performs verification. The specific verification method refers to the above S205 and will not be repeated here.

[0172] This application can be used on the terminal device to i When performing fully homomorphic encryption, and generating E(Dot x ), then E(x i ) and E(Dot x ) are sent to the server together. Similarly, the server sends i When performing fully homomorphic encryption, and generating E(Dot y ) and save them together in the local database for subsequent secret state calculations. This application can save the server real-time calculation of E(Dot x )、E(Dot y ) processing overhead, speeding up user verification, and in this application, the server cannot obtain the private key, thus improving the security of the face to be verified.

[0173] An embodiment of the present application provides a user verification device, which is applied to a terminal device. Figure 4 A schematic diagram of the structure of a user verification device provided in an embodiment of the present application Figure 1 .like Figure 4 As shown, the user verification device 40 includes:

[0174] The acquisition module 401 is used to acquire the user's face image to be verified and the device identification of the target device, where the face image includes: the face to be verified;

[0175] An encryption module 402 is used to encrypt the face to be verified to obtain first encrypted information;

[0176] The sending module 403 is used to send the device identification and the first encrypted information to the server, where the device identification is used to instruct the server to obtain the second encrypted information of the target face corresponding to the device identification, and determine the third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is the encrypted information of the similarity between the face to be verified and the target face;

[0177] A decryption module 404 is used to receive the third encrypted information sent by the server and decrypt the third encrypted information to obtain the similarity;

[0178] The determination module 405 is used to determine that the user verification is passed when the similarity is less than or equal to the similarity threshold.

[0179] In some optional implementations, the encryption module 402 is specifically configured to extract features from the face image to be verified to obtain a plurality of first face feature vectors of the face to be verified;

[0180] According to a preset fully homomorphic encryption algorithm, multiple first facial feature vectors are encrypted to obtain first encrypted information.

[0181] In some optional implementations, the first encrypted information includes: first sub-encrypted information and second sub-encrypted information. When the encryption module 402 encrypts the plurality of first facial feature vectors according to a preset fully homomorphic encryption algorithm to obtain the first encrypted information, it is specifically used to:

[0182] Encrypting each first facial feature vector according to a fully homomorphic encryption algorithm to obtain first sub-encrypted information of each first facial feature vector;

[0183] Determining a first dot product between a plurality of first facial feature vectors;

[0184] The first dot product is encrypted according to the fully homomorphic encryption algorithm to obtain the second sub-encrypted information.

[0185] In some optional implementations, the encryption module 402 is specifically used to:

[0186] Get the public key of the preset key pair;

[0187] Encrypting the face to be verified according to the public key to obtain first encrypted information;

[0188] The decryption module 404 is specifically used for:

[0189] Get the private key of the preset key pair;

[0190] The third encrypted information is decrypted according to the private key to obtain the similarity.

[0191] In some optional implementations, the terminal device includes a vehicle-mounted terminal, the target device includes a vehicle, and the sending module 401 is further configured to send a verification result to the server after determining that the user verification has passed, the verification result indicating that the user verification has passed;

[0192] The receiving module is used to receive the dispatching information of the vehicle from the server.

[0193] It should be noted here that the above-mentioned user verification device provided by the present application can implement the steps of all user verification methods implemented on the network device side in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as the method embodiment will not be described in detail here.

[0194] The present application also provides a user verification device, which is applied to a server, such as Figure 5 As shown, the user verification device 50 includes:

[0195] The receiving module 501 is used to receive the device identification and the first encrypted information of the face to be verified sent by the terminal device;

[0196] An acquisition module 502 is used to acquire second encrypted information of a target face corresponding to a device identifier;

[0197] A determination module 503 is used to determine third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0198] The sending module 504 is used to send third encrypted information to the terminal device, where the third encrypted information is used to instruct the terminal device to determine a verification result according to the third encrypted information.

[0199] In some optional implementations, the receiving module 501 is further used to receive a registration request from a terminal device, the registration request including: a device identification and a target face image;

[0200] It also includes: an encryption module (not shown), which is used to extract features from the target face image to obtain multiple second face feature vectors of the target face; encrypt the multiple second face feature vectors according to a preset fully homomorphic encryption algorithm to obtain second encrypted information; and store the second encrypted information.

[0201] In some optional implementations, the second encrypted information includes: third sub-encrypted information and fourth sub-encrypted information, and the encryption module encrypts the plurality of second facial feature vectors according to a preset fully homomorphic encryption algorithm to obtain the second encrypted information, specifically for:

[0202] Encrypt each second facial feature vector according to a fully homomorphic encryption algorithm to obtain third sub-encrypted information of each second facial feature vector;

[0203] determining a second dot product between a plurality of second facial feature vectors;

[0204] The second dot product is encrypted according to the fully homomorphic encryption algorithm to obtain the fourth sub-encrypted information.

[0205] In some optional implementations, the first encrypted information includes: first sub-encrypted information and second sub-encrypted information, and the determination module 503 is specifically configured to:

[0206] The third encrypted information is determined according to the following expression:

[0207]

[0208] Where d represents similarity, E represents the fully homomorphic encryption algorithm, and E(d 2 ) represents the third encrypted information, E(Dot x ) represents the second sub-encryption information, E(Dot y ) represents the fourth encrypted information, E(x i ) represents the first sub-encrypted information of the first face feature vector of the i-th person, E(y i ) represents the third sub-encrypted information of the i-th second facial feature.

[0209] In some optional implementations, the receiving module 501 is further used to receive a verification result sent by a terminal device, where the verification result indicates that the user verification has passed; the sending module 502 is further used to send dispatch information to the terminal device.

[0210] It should be noted here that the above-mentioned user verification device provided by the present application can implement the steps of all user verification methods implemented on the network device side in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as the method embodiment will not be described in detail here.

[0211] In addition, the present application provides a user verification system 60, such as Figure 6 As shown, it includes: terminal equipment and server; wherein:

[0212] The terminal device is used to: obtain a user's face image to be verified and a device identification of a target device, wherein the face image includes: a face to be verified; encrypt the face to be verified to obtain first encrypted information; and send the device identification and the first encrypted information to a server;

[0213] The server is used to: obtain the second encrypted information of the target face corresponding to the device identification; determine the third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is the encrypted information of the similarity between the face to be verified and the target face; and send the third encrypted information to the terminal device;

[0214] The terminal device is also used to: decrypt the third encrypted information to obtain the similarity; and determine that the user verification is passed when the similarity is less than or equal to the similarity threshold.

[0215] The present application also provides a terminal device, Figure 7 This is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application. Figure 7 As shown, the terminal device includes:

[0216] The transceiver 701 is used to send and receive data under the control of the processor 702;

[0217] Memory 703, used for storing computer programs;

[0218] The processor 702 is configured to read the computer program in the memory and perform the following operations:

[0219] Obtaining a user's face image to be verified and a device identifier of a target device, wherein the face image includes: a face to be verified;

[0220] Encrypting the face to be verified to obtain first encrypted information;

[0221] Sending a device identification and first encrypted information to a server, where the device identification is used to instruct the server to obtain second encrypted information of a target face corresponding to the device identification, and determining third encrypted information based on the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0222] receiving the third encrypted information sent by the server, and decrypting the third encrypted information to obtain the similarity;

[0223] When the similarity is less than or equal to the similarity threshold, it is determined that the user verification is passed.

[0224] Among them, Figure 7In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically linking together various circuits of one or more processors represented by processor 702 and memory represented by memory 703. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 701 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, which transmission medium may include a wireless channel, a wired channel, an optical cable, and the like. The processor 702 is responsible for managing the bus architecture and general processing, and the memory 703 may store data used by the processor 702 when performing operations.

[0225] The processor 702 is responsible for managing the bus architecture and general processing, and the memory 603 can store data used by the processor 602 when performing operations.

[0226] Optionally, the processor 702 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or a complex programmable logic device (CPLD), and the processor may also adopt a multi-core architecture.

[0227] The processor 702 is used to execute any method provided in an embodiment of the present application according to the obtained executable instructions by calling the computer program stored in the memory 703. The processor and the memory can also be arranged physically separately.

[0228] It should be noted here that the above-mentioned terminal device provided in the present application can implement all the method steps implemented on the terminal device side in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as the method embodiment will not be described in detail here.

[0229] The application embodiment also provides a server, Figure 8 This is a schematic diagram of the structure of a server provided in an embodiment of the present application. Figure 8 As shown, the server includes:

[0230] The transceiver 801 is used to send and receive data under the control of the processor 802;

[0231] Memory 803, used for storing computer programs;

[0232] The processor 802 is configured to read the computer program in the memory and perform the following operations:

[0233] Receiving a device identification and first encrypted information of a face to be verified sent by a terminal device;

[0234] Obtain second encrypted information of the target face corresponding to the device identification;

[0235] Determine third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face;

[0236] The third encrypted information is sent to the terminal device, where the third encrypted information is used to instruct the terminal device to determine a verification result according to the third encrypted information.

[0237] Among them, Figure 8 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically linking together various circuits of one or more processors represented by processor 802 and memory represented by memory 803. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 801 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, which transmission medium may include a wireless channel, a wired channel, an optical cable, and the like. The processor 802 is responsible for managing the bus architecture and general processing, and the memory 803 may store data used by the processor 802 when performing operations.

[0238] The processor 802 is responsible for managing the bus architecture and general processing, and the memory 803 can store data used by the processor 802 when performing operations.

[0239] Optionally, the processor 802 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or a complex programmable logic device (CPLD), and the processor may also adopt a multi-core architecture.

[0240] The processor 802 is used to execute any method provided in an embodiment of the present application according to the obtained executable instructions by calling the computer program stored in the memory 803. The processor and the memory can also be arranged physically separately.

[0241] It should be noted here that the above-mentioned terminal device provided in the present application can implement all the method steps implemented on the terminal device side in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as the method embodiment will not be described in detail here.

[0242] It should be noted that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional unit in each embodiment of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0243] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each embodiment method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program codes.

[0244] An embodiment of the present application provides a processor-readable storage medium, which stores a computer program. The computer program is used to enable a processor to execute the user verification method provided by any embodiment of the present application, so that the processor can implement all the method steps in the above method embodiments and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those of the method embodiment will not be described in detail here.

[0245] Among them, the processor-readable storage medium can be any available medium or data storage device that can be accessed by the processor, including but not limited to magnetic storage (such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical storage (such as CD, DVD, BD, HVD, etc.), semiconductor storage (such as ROM, EPROM, EEPROM, non-volatile memory (NANDFLASH), solid-state drive (SSD)), etc.

[0246] An embodiment of the present application further provides a computer program product comprising instructions, wherein the computer program is stored in a storage medium, and at least one processor can read the computer program from the storage medium. When the at least one processor executes the computer program, all the method steps of the resource allocation method in any of the above method embodiments can be implemented, and the same technical effects can be achieved. The parts and beneficial effects of this embodiment that are the same as those of the method embodiment will not be described in detail herein.

[0247] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.

[0248] The present application is described with reference to the signaling interaction schematic diagrams and / or block diagrams of the methods, apparatuses, and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the signaling interaction schematic diagram and / or block diagram, and the combination of the processes and / or blocks in the signaling interaction schematic diagram and / or block diagram can be implemented by computer executable instructions. These computer executable instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the signaling interaction schematic diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0249] These processor executable instructions may also be stored in a processor readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the processor readable memory produce a manufactured product including an instruction device, which implements the signaling interaction schematic. Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0250] These processor executable instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide for implementing the signaling interaction schematic. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0251] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A user verification method, characterized in that: Applied to a terminal device, the user verification method includes: Acquire a user's face image to be verified and a device identifier of a target device, wherein the face image includes: a face to be verified; Encrypting the face to be verified to obtain first encrypted information; Sending the device identification and the first encrypted information to a server, where the device identification is used to instruct the server to obtain second encrypted information of a target face corresponding to the device identification, and determining third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face; receiving the third encrypted information sent by the server, and decrypting the third encrypted information to obtain the similarity; When the similarity is less than or equal to the similarity threshold, it is determined that the user verification is passed.

2. The user verification method according to claim 1, characterized in that: The step of encrypting the face to be verified to obtain first encrypted information includes: Extracting features of the face image to be verified to obtain a plurality of first face feature vectors of the face to be verified; According to a preset fully homomorphic encryption algorithm, the multiple first facial feature vectors are encrypted to obtain first encrypted information.

3. The user verification method according to claim 2, characterized in that: The first encrypted information includes: first sub-encrypted information and second sub-encrypted information, and the first encrypted information is obtained by encrypting the plurality of first facial feature vectors according to a preset fully homomorphic encryption algorithm, including: Encrypting each first facial feature vector according to the fully homomorphic encryption algorithm to obtain first sub-encrypted information of each first facial feature vector; Determining a first dot product between the plurality of first facial feature vectors; The first dot product is encrypted according to the fully homomorphic encryption algorithm to obtain the second sub-encrypted information.

4. The user verification method according to any one of claims 1 to 3, characterized in that: The step of encrypting the face to be verified to obtain first encrypted information includes: Get the public key of the preset key pair; Encrypting the face to be verified according to the public key to obtain first encrypted information; The decrypting the third encrypted information to obtain the similarity includes: Get the private key of the preset key pair; The third encrypted information is decrypted according to the private key to obtain the similarity.

5. The user verification method according to any one of claims 1 to 3, characterized in that: The terminal device includes a vehicle-mounted terminal, the target device includes a vehicle, and after determining that the user verification is passed, the method further includes: Sending a verification result to the server, wherein the verification result indicates that the user has passed the verification; Receive dispatch information for the vehicle from the server.

6. A user verification method, characterized in that: Applied to the server, the user verification method includes: Receiving a device identification and first encrypted information of a face to be verified sent by a terminal device; Obtain second encrypted information of the target face corresponding to the device identifier; Determine third encrypted information according to the first encrypted information and the second encrypted information, wherein the third encrypted information is encrypted information of the similarity between the face to be verified and the target face; The third encrypted information is sent to the terminal device, where the third encrypted information is used to instruct the terminal device to determine a verification result according to the third encrypted information.

7. The user verification method according to claim 6, characterized in that: Also includes: Receiving a registration request from a terminal device, the registration request including: the device identification and a target face image; Performing feature extraction on the target face image to obtain a plurality of second face feature vectors of the target face; Encrypting the plurality of second facial feature vectors according to a preset fully homomorphic encryption algorithm to obtain the second encrypted information; The second encrypted information is stored.

8. The user verification method according to claim 7, characterized in that: The second encrypted information includes: third sub-encrypted information and fourth sub-encrypted information, and the second encrypted information is obtained by encrypting the plurality of second facial feature vectors according to a preset fully homomorphic encryption algorithm, including: Encrypting each second facial feature vector according to the fully homomorphic encryption algorithm to obtain third sub-encrypted information of each second facial feature vector; Determining a second dot product between the plurality of second facial feature vectors; The second dot product is encrypted according to the fully homomorphic encryption algorithm to obtain the fourth sub-encrypted information.

9. The user verification method according to claim 8, characterized in that: The first encrypted information includes: first sub-encrypted information and second sub-encrypted information, and determining the third encrypted information according to the first encrypted information and the second encrypted information includes: The third encryption information is determined according to the following expression: Wherein, d represents the similarity, E represents the fully homomorphic encryption algorithm, and E(d 2 ) represents the third encrypted information, the E(Dot x ) represents the second sub-encryption information, the E(Dot y ) represents the fourth encrypted information, and the E(x i ) represents the first sub-encrypted information of the i-th first face feature vector, and the E(y i ) represents the third sub-encrypted information of the i-th second facial feature.

10. The user verification method according to any one of claims 6 to 9, characterized in that: Also includes: Receiving a verification result sent by a terminal device, the verification result indicating that the user has passed the verification; Sending order information to the terminal device.

11. A user verification device, characterized in that: Applied to a terminal device, the user verification device comprises: An acquisition module is used to acquire a user's face image to be verified and a device identification of a target device, wherein the face image includes: a face to be verified; An encryption module, used for encrypting the face to be verified to obtain first encrypted information; a sending module, configured to send the device identification and the first encrypted information to a server, wherein the device identification is used to instruct the server to obtain second encrypted information of a target face corresponding to the device identification, and determine third encrypted information according to the first encrypted information and the second encrypted information, wherein the third encrypted information is encrypted information of a similarity between the face to be verified and the target face; a decryption module, configured to receive the third encrypted information sent by the server, and decrypt the third encrypted information to obtain the similarity; The determination module is used to determine that the user verification is passed when the similarity is less than or equal to a similarity threshold.

12. A user verification device, characterized in that: Applied to a server, the user verification device comprises: A receiving module, used for receiving a device identification and first encrypted information of a face to be verified sent by a terminal device; An acquisition module, used to acquire second encrypted information of a target face corresponding to the device identifier; A determination module, configured to determine third encrypted information according to the first encrypted information and the second encrypted information, wherein the third encrypted information is encrypted information of the similarity between the face to be verified and the target face; A sending module is used to send the third encrypted information to the terminal device, and the third encrypted information is used to instruct the terminal device to determine a verification result according to the third encrypted information.

13. A terminal device, characterized in that: include: Memory for storing computer programs; a transceiver for transmitting and receiving data under the control of the processor; A processor is configured to read the computer program in the memory and perform the following operations: Acquire a user's face image to be verified and a device identifier of a target device, wherein the face image includes: a face to be verified; Encrypting the face to be verified to obtain first encrypted information; Sending the device identification and the first encrypted information to a server, where the device identification is used to instruct the server to obtain second encrypted information of a target face corresponding to the device identification, and determining third encrypted information according to the first encrypted information and the second encrypted information, where the third encrypted information is encrypted information of the similarity between the face to be verified and the target face; receiving the third encrypted information sent by the server, and decrypting the third encrypted information to obtain the similarity; When the similarity is less than or equal to the similarity threshold, it is determined that the user verification is passed.

14. A server, characterized in that: include: Memory for storing computer programs; a transceiver for transmitting and receiving data under the control of the processor; A processor is configured to read the computer program in the memory and perform the following operations: Receiving a device identification and first encrypted information of a face to be verified sent by a terminal device; Obtain second encrypted information of the target face corresponding to the device identifier; Determine third encrypted information according to the first encrypted information and the second encrypted information, wherein the third encrypted information is encrypted information of the similarity between the face to be verified and the target face; The third encrypted information is sent to the terminal device, where the third encrypted information is used to instruct the terminal device to determine a verification result according to the third encrypted information.

15. A user verification system, characterized in that: include: Terminal equipment and servers; among which: The terminal device is used to: obtain a user's face image to be verified and a device identifier of a target device, wherein the face image includes a face to be verified; encrypt the face to be verified to obtain first encrypted information; and send the device identifier and the first encrypted information to a server; The server is used to: obtain second encrypted information of the target face corresponding to the device identification; determine third encrypted information according to the first encrypted information and the second encrypted information, wherein the third encrypted information is encrypted information of the similarity between the face to be verified and the target face; and send the third encrypted information to the terminal device; The terminal device is further used to: decrypt the third encrypted information to obtain the similarity; and determine that the user verification is successful when the similarity is less than or equal to a similarity threshold.

16. A processor-readable storage medium, characterized in that: The processor-readable storage medium stores a computer program, and the computer program is used to enable the processor to execute the user authentication method according to any one of claims 1 to 10.

17. A computer program product, characterized in that include: A computer program, wherein when the computer program is executed by a processor, the user authentication method according to any one of claims 1 to 10 is implemented.

Citation Information

Patent Citations

  • Safe face verification method based on face verification system

    CN111241514A

  • Face recognition method for protecting privacy security

    CN114093001A

  • Face recognition method, equipment and system

    CN115810208A

  • Face registration and recognition method and face data protection system

    CN116049792A

  • Full-ciphertext face comparison method and device, equipment and storage medium

    CN116340918A