WO2023011168A1 - 实现指纹共用的方法及系统 - Google Patents
实现指纹共用的方法及系统 Download PDFInfo
- Publication number
- WO2023011168A1 WO2023011168A1 PCT/CN2022/106566 CN2022106566W WO2023011168A1 WO 2023011168 A1 WO2023011168 A1 WO 2023011168A1 CN 2022106566 W CN2022106566 W CN 2022106566W WO 2023011168 A1 WO2023011168 A1 WO 2023011168A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- fingerprint
- information
- terminal
- port
- wbf
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000012795 verification Methods 0.000 claims abstract description 106
- 238000004364 calculation method Methods 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 43
- 230000001960 triggered effect Effects 0.000 claims description 22
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000004321 preservation Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 6
- 239000002131 composite material Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
Definitions
- the present disclosure relates to the field of information security, in particular to a method and system for realizing fingerprint sharing.
- FIDO device Fast authentication device
- the existing windows hello is a biometric authorization method, which can use biometrics such as face, iris or fingerprint to unlock the device, and supports local system operation. It is safer and more convenient to use.
- Windows hello relies on WBF (Windows Biometric Framework) technology system to realize. So far, the fingerprint registration and use of FIDO devices is relatively independent from the application scenarios of windows hello fingerprint registration and use. How to combine windows hello fingerprint registration and use with fingerprint registration and use of FIDO devices to provide a safe and convenient method for realizing fingerprint sharing is a problem to be solved urgently in the prior art.
- the purpose of the present disclosure is to provide a method and system for realizing fingerprint sharing in order to overcome the deficiencies of the prior art.
- the present disclosure provides a method for realizing fingerprint sharing, including:
- Step S0 When the device establishes a connection with the terminal, the device reports to the terminal that it has a WBF port and a FIDO port;
- Step S1 When the terminal receives the WBF registration information triggered by the user, remind the user to input the fingerprint and send a fingerprint verification instruction to the device through the WBF port;
- Step S2 The device receives the fingerprint verification instruction, starts to collect fingerprint information and judges whether the collected fingerprint information matches the saved fingerprint template, if yes, executes step S3, otherwise returns verification failure information to the terminal through the WBF port , execute step S6;
- Step S3 The device calculates the matched fingerprint template to obtain a fingerprint ID, and returns the calculated fingerprint ID to the terminal through the WBF port;
- Step S4 When the terminal receives the fingerprint identifier, query whether the user information corresponding to the fingerprint identifier is saved in the database, if yes, execute step S5, otherwise execute step S6;
- Step S5 The terminal reminds the user to replace the fingerprint, and sends a fingerprint registration instruction to the device through the WBF port, and executes step S7;
- Step S6 The terminal reminds the user to input the fingerprint and sends a fingerprint registration instruction to the device through the WBF port, and executes step S7;
- Step S7 The device receives the fingerprint registration instruction, starts to collect fingerprint information and saves the collected fingerprint information, judges whether the collection of fingerprint information is completed, if so, generates a fingerprint template according to the saved fingerprint information and saves it, and calculates the generated fingerprint template Obtain the fingerprint ID, return the fingerprint ID to the terminal through the WBF port, set the registered fingerprint ID in the FIDO configuration, and perform step S8, otherwise return the collection unfinished information to the terminal through the WBF port, Execute step S8;
- Step S8 The terminal judges the received information, if it is a fingerprint identification, execute step S9, and if it is information that has not been collected yet, return to step S6;
- Step S9 The terminal stores the user information provided by the operating system in correspondence with the fingerprint identifier in the database.
- the present disclosure further provides a method for realizing fingerprint sharing, including:
- Step s0 When the device establishes a connection with the terminal, the device reports to the terminal that it has a WBF port and a FIDO port;
- Step s1 When the terminal receives the WBF registration information triggered by the user, remind the user to enter the fingerprint, and send a fingerprint verification command to the device through the WBF port;
- Step s2 The device receives the fingerprint verification instruction, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template, and if so, executes step s3, otherwise returns verification failure information to the terminal through the WBF port, and executes step s5;
- the saved fingerprint template is saved during the fingerprint registration process through the WBF port or through the FIDO port;
- Step s3 The device calculates the matched fingerprint template to obtain the fingerprint ID, and returns the fingerprint ID to the terminal through the WBF port;
- Step s4 When the terminal receives the fingerprint ID returned by the device, it queries whether the user information corresponding to the received fingerprint ID is stored in the database. If yes, it prompts that the current fingerprint has been registered; The corresponding fingerprint identification is stored in the database;
- Step s5 The terminal reminds the user to input the fingerprint, and sends a fingerprint registration instruction to the device through the WBF port;
- Step s6 The device receives the fingerprint registration command, starts to collect fingerprint information and saves the collected fingerprint information, judges whether the collection of fingerprint information is completed, if so, generates a fingerprint template according to the saved fingerprint information and saves it, and calculates the generated fingerprint template to obtain a fingerprint identification, return the fingerprint identification to the terminal through the WBF port, and execute step s7; otherwise, return the collection unfinished information to the terminal through the WBF port, and execute step s7;
- Step s7 The terminal judges the received information, if it is a fingerprint ID, then saves the user information provided by the operating system and the fingerprint ID correspondingly in the database, and if it is information that has not been collected yet, returns to step s5.
- the disclosure further provides a system for realizing fingerprint sharing, including a terminal and a device.
- the device includes: a reporting module, a first collection and judgment module, a first calculation and return module, a collection and storage module, and a judgment, calculation and return module.
- the terminal includes : the first reminder sending module, the first query module, the second reminder sending module, the third reminder sending module, the first judging module and the first saving module;
- the reporting module is configured to report to the terminal that it has a WBF port and a FIDO port when the device establishes a connection with the terminal;
- the first reminder sending module is used to remind the user to input the fingerprint and send the fingerprint verification instruction to the device through the WBF port when the terminal receives the WBF registration information triggered by the user;
- the first collection and judgment module is used to receive the fingerprint verification instruction, start to collect fingerprint information and judge whether the collected fingerprint information matches the saved fingerprint template, if yes, trigger the first calculation and return module, otherwise, pass the The WBF port returns verification failure information to the terminal, triggering the third reminder sending module;
- the first calculation return module is used to calculate the matched fingerprint template to obtain a fingerprint ID, and return the calculated fingerprint ID to the terminal through the WBF port;
- the first query module is configured to query whether the user information corresponding to the fingerprint ID is stored in the database when receiving the fingerprint ID, and if yes, trigger the second reminder sending module; otherwise, trigger the second reminder sending module.
- the second reminder sending module is used to remind the user to replace the fingerprint, and send a fingerprint registration instruction to the device through the WBF port, triggering the collection and preservation module;
- the third reminder sending module is used to remind the user to input a fingerprint and send a fingerprint registration instruction to the device through the WBF port, triggering the collection and storage module;
- the collection and storage module is used to receive fingerprint registration instructions, start to collect fingerprint information and save the collected fingerprint information;
- the judgment calculation return module is used to judge whether the collection of fingerprint information is completed, if so, generate and save a fingerprint template according to the saved fingerprint information, calculate the generated fingerprint template to obtain a fingerprint identification, and pass the fingerprint identification through the WBF port Returning to the terminal, setting the fingerprint registered flag in the FIDO configuration, triggering the first judging module, otherwise returning collection unfinished information to the terminal through the WBF port, triggering the first judging module;
- the first judging module is used to judge the received information, trigger the first saving module if it is a fingerprint identification, and trigger the third reminder sending module if it is unfinished collection information;
- the first saving module is configured to store the user information provided by the operating system in correspondence with the fingerprint identifier in a database.
- the present disclosure further provides a system for realizing fingerprint sharing, including a terminal and a device;
- the terminal includes a first reminder sending module, a first query storage module, a second reminder sending module and a first judgment module;
- the device includes a reporting module, a first collection and judgment module, a first calculation and return module, a collection and storage judgment module, and a second calculation and return module;
- the reporting module is configured to report to the terminal that it has a WBF port and a FIDO port when the device establishes a connection with the terminal;
- the first reminder sending module is used to remind the user to input the fingerprint when the terminal receives the WBF registration information triggered by the user, and send a fingerprint verification instruction to the device through the WBF port;
- the first collection and judgment module is used to receive the fingerprint verification instruction, start to collect fingerprint information, and judge whether the collected fingerprint information matches the saved fingerprint template, if yes, trigger the first calculation and return module, otherwise pass
- the WBF port returns verification failure information to the terminal, triggering the second reminder sending module;
- the saved fingerprint template is saved during the fingerprint registration process through the WBF port or through the FIDO port;
- the first calculation and return module is used to calculate the matched fingerprint template to obtain a fingerprint ID, and return the fingerprint ID to the terminal through the WBF port;
- the first query saving module is used to inquire whether the user information corresponding to the received fingerprint ID is stored in the database when receiving the fingerprint ID returned by the device, and if so, it will prompt that the current fingerprint has been registered, otherwise the operating system will provide The corresponding user information and the received fingerprint identification are stored in the database;
- the second reminder sending module is used to remind the user to input a fingerprint, and send a fingerprint registration instruction to the device through the WBF port;
- the collection and storage judging module is used to receive a fingerprint registration instruction, start to collect fingerprint information and save the collected fingerprint information, and judge whether the collection of fingerprint information is completed. If yes, trigger the second calculation and return module, otherwise, through the WBF port Returning collection unfinished information to the terminal, triggering the first judging module;
- the second calculation return module is used to generate and save a fingerprint template according to the saved fingerprint information, calculate the generated fingerprint template to obtain a fingerprint ID, return the fingerprint ID to the terminal through the WBF port, and trigger the Describe the first judgment module;
- the first judging module is used to judge the received information, if it is a fingerprint ID, then store the user information provided by the operating system corresponding to the fingerprint ID in the database, and if it is information that has not been collected, trigger the first Two reminder sending module.
- the present disclosure has the following advantages:
- the device provided in this embodiment is a composite device that supports both FIDO operation and windows hello fingerprint operation, which is more applicable, more convenient, and cost-effective;
- the fingerprints registered by the application can be used in the windows hello application, avoiding the problem of repeated fingerprint registration in the windows hello and FIDO applications, improving the compatibility of the device, and enabling one user to register multiple fingerprint information, which is convenient for users to use.
- FIG. 1 is a flowchart of a method for realizing fingerprint sharing provided by Embodiment 1 of the present disclosure
- FIG. 2 is a flowchart of a fingerprint registration process in a method for realizing fingerprint sharing provided by Embodiment 2 of the present disclosure
- FIG. 3 is a flowchart of a fingerprint verification process in a method for realizing fingerprint sharing provided by Embodiment 2 of the present disclosure
- FIG. 4 is a flowchart of a method for implementing fingerprint sharing in FIDO applications provided by Embodiment 2 of the present disclosure
- FIG. 5 is a schematic block diagram of a system for implementing fingerprint sharing provided by Embodiment 3 of the present disclosure
- FIG. 6 is a flowchart of a method for realizing fingerprint sharing provided by Embodiment 4 of the present disclosure
- FIG. 7 and FIG. 8 are flowcharts of a method for realizing fingerprint sharing provided by Embodiment 5 of the present disclosure.
- FIG. 9 is a schematic block diagram of a system for implementing fingerprint sharing provided by Embodiment 6 of the present disclosure.
- the present disclosure proposes a method and system for realizing fingerprint sharing.
- the specific implementation manners of the present disclosure will be described in detail below with reference to the accompanying drawings. Examples of said embodiments are shown in the drawings.
- the embodiments described below by referring to the figures are exemplary only for explaining the present disclosure and cannot be construed as limiting the present disclosure.
- the device provided in this embodiment is a composite device that supports both FIDO operation and windows hello fingerprint operation. Fingerprints registered through windows hello can be used in FIDO applications, avoiding the problem of repeated registration of fingerprints in windows hello and FIDO applications, and improving the reliability of the device. Compatibility, and can realize one user to register multiple fingerprint information, which is convenient for users to use; the windows hello fingerprint operation is explained by taking WBF application as an example.
- Embodiment 1 of the present disclosure provides a method for realizing fingerprint sharing. As shown in FIG. 1 , the method of this embodiment includes:
- Step S0 When the device establishes a connection with the terminal, the device reports to the terminal that it has a WBF port and a FIDO port;
- Step S1 When the terminal receives the WBF registration information triggered by the user, it reminds the user to enter the fingerprint and sends a fingerprint verification command to the device through the WBF port;
- Step S2 The device receives the fingerprint verification instruction, starts to collect fingerprint information and judges whether the collected fingerprint information matches the saved fingerprint template, if yes, execute step S3, otherwise, return verification failure information to the terminal through the WBF port, and execute step S6;
- step S2 if the fingerprint template is not stored in the device, the result of judgment in step S2 is a mismatch, and the device returns verification failure information to the terminal through the WBF port, and step S6 is executed;
- Step S3 The device calculates the matched fingerprint template to obtain the fingerprint ID, and returns the calculated fingerprint ID to the terminal through the WBF port;
- the matching fingerprint template is calculated to obtain the fingerprint identification, specifically: the device performs hash calculation on the matching fingerprint template to obtain the fingerprint identification;
- Step S4 When the terminal receives the fingerprint identification, query whether the user information corresponding to the fingerprint identification is stored in the database, if yes, execute step S5, otherwise execute step S6;
- step S4 includes:
- Step S41 When the terminal receives the fingerprint identifier returned by the device, search the database through the fourth interface, and open the database through the fifth interface;
- Step S42 the terminal uses the sixth interface to find the first record in the database as the current record
- Step S43 The terminal acquires the content of the current record through the seventh interface, and judges whether the acquired content of the current record matches the received fingerprint identifier, if yes, execute step S5, otherwise execute step S44;
- Step S44 The terminal judges whether there are unprocessed records in the database, if yes, execute step S45, otherwise execute step S6;
- Step S45 The terminal uses the eighth interface to find the next record in the database as the current record, and returns to step S43;
- Step S5 The terminal reminds the user to replace the fingerprint, and sends a fingerprint registration command to the device through the WBF port, and executes step S7;
- step S5 of this embodiment before sending the fingerprint registration instruction to the device through the WBF port in step S5 of this embodiment, it also includes: sending the fingerprint registration instruction to the device through the WBF port when receiving the confirmation replacement information;
- Step S6 The terminal reminds the user to input the fingerprint and sends a fingerprint registration instruction to the device through the WBF port, and executes step S7;
- Step S7 The device receives the fingerprint registration instruction, starts to collect fingerprint information and saves the collected fingerprint information, judges whether the collection of fingerprint information is completed, if so, generates a fingerprint template according to the saved fingerprint information and saves it, and calculates the generated fingerprint template to obtain a fingerprint Identification, return the fingerprint identification to the terminal through the WBF port, set the registered fingerprint identification in the FIDO configuration, and perform step S8, otherwise return the collection unfinished information to the terminal through the WBF port, and perform step S8;
- step S7 includes:
- Step S71 The device receives the fingerprint registration instruction, starts to collect fingerprint information and saves the collected fingerprint information
- step S71 in this embodiment includes:
- Step S71-1 The device receives the fingerprint registration instruction and starts to collect fingerprint information
- Step S71-2 The device judges whether the current collection status is successful collection, if yes, saves the collected fingerprint information, and executes step S72, otherwise, returns collection failure information to the terminal through the WBF port, and executes step S8;
- Step S72 The device updates the remaining collection times, and judges whether the current remaining collection times is the collection threshold, and if so, executes Step S73; otherwise, returns collection unfinished information to the terminal through the WBF port, and executes Step S8;
- Step S73 The device generates and saves a fingerprint template according to the saved fingerprint information, calculates the fingerprint ID obtained by calculating the generated fingerprint template, returns the fingerprint ID and the current remaining collection times to the terminal through the WBF port, and sets the fingerprint in the FIDO configuration.
- step S73 of this embodiment also includes: returning the current remaining collection times to the terminal through the WBF port;
- the generated fingerprint template is calculated to obtain the fingerprint identification, specifically: the device performs hash calculation on the generated fingerprint template to obtain the fingerprint identification;
- Step S8 The terminal judges the received information, if it is a fingerprint identification, execute step S9, and if it is information that has not been collected yet, return to step S6;
- step S8 includes:
- Step B1 The terminal judges whether the fingerprint identification and the remaining collection times are received, if yes, execute step B1, otherwise return to step S6;
- Step B2 Determine whether the remaining number of acquisitions is the acquisition threshold, if yes, execute step S9, otherwise return to step S6;
- Step S9 The terminal stores the user information provided by the operating system in correspondence with the fingerprint identifier in the database.
- the fingerprint verification process in the WBF application may also be included in the method of this embodiment, that is, after step S0, it also includes:
- Step T1 When the terminal receives the login information, judge the login method selected by the user, if it is WBF fingerprint login, then execute step T2;
- Step T2 The terminal reminds the user to enter the fingerprint, and sends a fingerprint verification command to the connected device through the WBF port;
- Step T3 The device receives the fingerprint verification command, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template, and if so, executes step T4, otherwise reports an error and ends;
- Step T4 The device calculates the fingerprint ID obtained from the matched fingerprint template, and returns the fingerprint ID to the terminal;
- Step T5 When the terminal receives the fingerprint ID returned by the device, search the corresponding user information in the database according to the fingerprint ID, if found, execute step T6, if not found, report an error, and end;
- Step T6 The terminal allows the user corresponding to the user information to perform the current operation.
- the method of this embodiment may also include the fingerprint verification process of the FIDO device, that is, after step S0, it also includes:
- Step Y1 When the terminal receives the FIDO registration credential information triggered by the user, it sends an instruction to obtain device information to the connected device through the FIDO port;
- Step Y2 The device returns a device information response to the terminal through the FIDO port;
- Step Y3 The terminal judges whether the connected device supports fingerprint operation according to the received device information response, if yes, execute step Y4, otherwise proceed to the non-fingerprint FIDO registration credential process;
- Step Y4 The terminal judges whether there is a fingerprint template stored in the device according to the received device information response, if yes, execute step Y5, otherwise proceed to the non-fingerprint FIDO registration credential process;
- the device information response includes the registered fingerprint in the FIDO configuration
- step Y4 includes: the terminal judges whether the received device information response contains a fingerprint registered identifier, and if so, executes step Y5, otherwise proceeds to the non-fingerprint FIDO registration credential process;
- Step Y5 The terminal sends a FIDO registration command to the connected device through the FIDO port;
- Step Y6 The device receives the FIDO registration command, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template.
- the terminal returns a registration failure message, and executes step Y7;
- Step Y7 The terminal judges the type of the received information, if it is a successful registration information, continue the FIDO registration credential operation, if it is a registration failure information, report an error, and end.
- the device provided in this embodiment is a composite device that supports both FIDO operation and fingerprint operation, which is more applicable, more convenient, and cost-effective; the fingerprint registered by this device through windows hello can be used in FIDO applications, avoiding windows hello and The problem of repeated fingerprint registration in FIDO applications improves the compatibility of devices, and enables one user to register multiple fingerprint information, which is convenient for users.
- Embodiment 2 of the present disclosure provides a method for realizing fingerprint sharing, including a fingerprint registration process and a fingerprint verification process.
- the device Before performing the method in this embodiment, the device has been connected to the terminal, and the device reports to the terminal that it has a WBF port and a FIDO port. .
- the method of this embodiment includes:
- Step 100 When the terminal receives the WBF registration information triggered by the user, remind the user to input the fingerprint, and send a fingerprint verification instruction to the device through the WBF port;
- the user cannot trigger the WBF fingerprint registration button
- Step 101 The device receives the fingerprint verification command, starts to collect fingerprint information and judges whether the collected fingerprint information matches the saved fingerprint template, if so, executes step 102, otherwise returns verification failure information to the terminal through the WBF port, and executes step 105;
- the device collects the fingerprint information entered by the user, generates a matching fingerprint template according to the collected fingerprint information, and saves it;
- step 101 If the fingerprint template is not saved in the device, it is judged as mismatch in step 101, and the device returns verification failure information to the terminal through the WBF port, and step 105 is performed;
- the terminal calls the first interface to start the fingerprint collection process, and after the collection is completed, calls the second interface to end the fingerprint collection process; specifically, the first interface in this embodiment starts the fingerprint collection interface, and the second port is used to end the collection Fingerprint interface;
- the first interface is:
- the second interface is:
- Step 102 The device calculates the matched fingerprint template to obtain a fingerprint ID, and returns the calculated fingerprint ID to the terminal through the WBF port;
- the device performs hash calculation on the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal;
- the device calls the third interface to calculate the matched fingerprint template.
- the third interface is a fingerprint calculation interface.
- the third interface is:
- Step 103 When the terminal receives the fingerprint ID returned by the device, query whether the user information corresponding to the received fingerprint ID is stored in the database, if yes, execute step 104, otherwise execute step 105;
- step 103 includes:
- Step 103-1 When the terminal receives the fingerprint identifier returned by the device, search the database through the fourth interface, and open the database through the fifth interface;
- the fourth interface in this embodiment is to search the database interface, and the fifth interface is to open the database interface;
- the fifth interface is:
- Step 103-2 The terminal uses the sixth interface to find the first record in the database as the current record;
- the sixth interface in this embodiment searches for the first record interface, for example, the sixth interface is:
- Step 103-3 The terminal acquires the content of the current record through the seventh interface, and judges whether the acquired content of the current record matches the received fingerprint identification, if yes, execute step 104, otherwise execute step 103-4;
- the seventh interface in this embodiment is an interface for obtaining recorded content, for example, the seventh interface is:
- Step 103-4 The terminal judges whether there are unprocessed records in the database, if yes, execute step 103-5, otherwise execute step 105;
- Step 103-5 The terminal uses the eighth interface to find the next record in the database as the current record, and returns to step 103-3;
- the eighth interface in this embodiment is to find the next record interface, for example, the eighth interface is:
- Step 104 The terminal reminds the user to replace the fingerprint. If the replacement is confirmed, the user is reminded to replace the finger and enter the fingerprint, and sends a fingerprint registration command to the device through the WBF port, and executes step 106. If the replacement is canceled, it ends;
- step 104 includes: reminding the user to replace the finger and input the fingerprint, and if the replacement confirmation message is received, the fingerprint registration instruction is sent to the device through the WBF port, and step 106 is executed, and the end is completed if the cancel button information is received;
- Step 105 The terminal reminds the user to enter the fingerprint, and sends a fingerprint registration instruction to the device through the WBF port, and executes step 106;
- Step 106 The device receives the fingerprint registration instruction, starts to collect fingerprint information and saves the collected fingerprint information, judges whether the collection of fingerprint information is completed, if so, generates a fingerprint template according to the saved fingerprint information and saves it, calculates the generated fingerprint template, and The calculated fingerprint is returned to the terminal through the WBF port, and the registered fingerprint is set in the FIDO configuration, and step 107 is performed; otherwise, the collection unfinished information is returned to the terminal through the WBF port, and step 107 is performed;
- step 106 includes:
- Step A1 The device receives the fingerprint registration command, starts to collect fingerprint information and saves the collected fingerprint information
- step A1 includes:
- Step A11 The device receives the fingerprint registration command and starts to collect fingerprint information
- Step A12 The device judges whether the current collection status is successful collection, if so, save the collected fingerprint information, and execute step A2, otherwise, return the collection failure information to the terminal through the WBF port, and execute step 107;
- the device judges whether the acquisition status is acquisition success through the ninth interface.
- the ninth interface is specifically the acquisition status interface.
- the ninth interface is:
- Step A2 Update the remaining number of acquisitions, and judge whether the current remaining number of acquisitions is the acquisition threshold, if so, generate a fingerprint template based on the saved fingerprint information and save it, calculate the generated fingerprint template, and pass the calculated fingerprint identification through the WBF port Return to the terminal, set the fingerprint registered flag in the FIDO configuration, and execute step 107, otherwise return the collection unfinished information to the terminal through the WBF port, and execute step 107;
- step A2 when it is judged yes in step A2, it may also include: returning the current remaining collection times to the terminal through the WBF port;
- Step 107 The terminal judges the received information, if it is a fingerprint identification, execute step 108, and if it is information that has not been collected yet, return to step 105;
- step 107 includes:
- Step 107-1 The terminal judges whether the fingerprint identification and the remaining collection times are received, if yes, execute step 107-2, otherwise return to step 105;
- Step 107-2 The terminal judges whether the remaining collection times are the collection threshold, if yes, execute step 108, otherwise return to step 105;
- Step 108 The terminal stores the user information provided by the operating system and the fingerprint correspondingly in the database;
- the information stored in the database includes: user information, fingerprint identification;
- the terminal stores the user information and the fingerprint identification in the database through the tenth interface.
- the tenth interface is specifically a data storage interface.
- the tenth interface is:
- the present embodiment can also include the fingerprint verification process, as shown in Figure 3, including:
- Step 201 When the terminal receives the login information, judge the login method selected by the user, if it is WBF fingerprint login, then execute step 202;
- the user cannot trigger the WBF fingerprint verification button
- Step 202 The terminal reminds the user to input the fingerprint, and sends a fingerprint verification instruction to the connected device through the WBF port;
- Step 203 The device receives an instruction to verify the fingerprint, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template, if yes, execute step 204, otherwise, report an error and end;
- the device collects the fingerprint information entered by the user, generates a matching fingerprint template according to the collected fingerprint information, and saves it;
- step 101 If the fingerprint template is not saved in the device, it is judged as mismatch in step 101, and the device returns verification failure information to the terminal through the WBF port, and step 105 is performed;
- the terminal calls the first interface to start the fingerprint collection process, and after the collection is completed, calls the second interface to end the fingerprint collection process; specifically, the first interface in this embodiment starts the fingerprint collection interface, and the second port is used to end the collection Fingerprint interface;
- Step 204 The device calculates the fingerprint ID obtained from the matched fingerprint template, and returns the fingerprint ID to the terminal through the WBF port;
- the terminal calculates the matched fingerprint template through the third interface
- Step 205 When the terminal receives the fingerprint ID returned by the device, search the corresponding user information in the database according to the fingerprint ID, if found, execute step 206, if not found, report an error, and end;
- step 205 includes:
- Step 205-1 When the terminal receives the fingerprint identifier returned by the device, search the database through the fourth interface, and open the database through the fifth interface;
- Step 205-2 The terminal uses the sixth interface to find the first registration record in the database as the current registration record;
- the registration record in this embodiment includes fingerprint identification and corresponding user information
- Step 205-3 The terminal obtains the current registration record through the seventh interface, and judges whether the obtained current registration record matches the received fingerprint identifier, if yes, execute step 107, otherwise execute step 205-4;
- Step 205-4 The terminal judges whether there are unprocessed registration records in the database, if yes, execute step 205-5, otherwise execute step 108;
- Step 205-5 The terminal uses the eighth interface to find the next registration record in the database as the current registration record, and returns to step 205-3;
- Step 206 The terminal allows the user corresponding to the user information to perform the current operation.
- this embodiment also provides a method for realizing fingerprint sharing in FIDO applications, including:
- Step 301 When the terminal receives the FIDO registration credential information triggered by the user, send an instruction to obtain device information to the connected device through the FIDO port;
- Step 302 the device returns a device information response to the terminal through the FIDO port
- the device information response includes the device identification, and may also include the fingerprint stored in the device;
- Step 303 The terminal judges whether the connected device supports fingerprint operation according to the received device information response, if yes, execute step 304, otherwise proceed to the non-fingerprint FIDO registration credential process;
- the non-fingerprint FIDO registration credential process is an existing technology, and will not be repeated here;
- Step 304 The terminal judges whether there is a fingerprint template stored in the device according to the received device information response, if yes, execute step 305, otherwise proceed to the non-fingerprint FIDO registration credential process;
- step 304 includes: the terminal judges whether the received device information response contains a registered fingerprint identifier, if yes, execute step 304, otherwise report an error, and end;
- Step 305 the terminal sends a FIDO registration instruction to the connected device through the FIDO port;
- Step 306 The device receives the FIDO registration command, starts to collect fingerprints, and judges whether the collected fingerprint information matches the saved fingerprint template, if yes, returns the registration success information to the terminal through the FIDO port, and executes step 306; otherwise, sends the fingerprint information to the terminal through the FIDO port Return registration failure information, go to step 306;
- Step 306 The terminal judges the type of the received information, if it is a successful registration information, continue the FIDO registration credential operation, if it is a registration failure information, report an error, and end.
- the continuation of the FIDO registration credential operation is an existing technology, and will not be described in detail here;
- the device starts to collect and save fingerprint information after receiving the fingerprint verification instruction.
- fingerprint information After the fingerprint information is collected, a matching fingerprint template is generated and saved according to the saved fingerprint information, and the matching fingerprint template is processed.
- the fingerprint ID is calculated, and the fingerprint ID is exported from the device and stored in the terminal corresponding to the user information provided by the operating system. Since the original data of the fingerprint information is not exported, only the fingerprint ID is used as the only associated information as the medium to improve the security of the device. If it is judged that the current fingerprint has been registered during the fingerprint registration process, the user can also be prompted to change other fingers to enter new fingerprint information, so that one user can register multiple fingerprint information; after receiving the fingerprint registration instruction, the device starts to collect fingerprint information and save it.
- the fingerprint template is generated and saved according to the saved fingerprint information, and the fingerprint registered flag is set in the FIDO configuration (in the FIDO application, if the fingerprint registered flag is detected, the fingerprint template saved at this time can be used directly), and the The fingerprint identification is exported from the device and stored in the terminal corresponding to the user information provided by the operating system; during the fingerprint verification process, the fingerprint information is collected through the fingerprint verification command and matched with the saved fingerprint template. If the matching is successful, the matched fingerprint The template calculates the fingerprint ID and returns it to the terminal. The terminal compares the fingerprint ID with the fingerprint ID stored in the database. User information for system login.
- An embodiment of the present disclosure provides a system for realizing fingerprint sharing. As shown in FIG. 5 , it includes a terminal 51 and a device 52.
- the device 51 includes: a reporting module 511, a first collection and judgment module 512, a first calculation and return module 513, and a collection and storage module.
- Module 514 and judgment calculation return module 515, terminal 52 includes: first reminder sending module 521, first query module 522, second reminder sending module 523, third reminder sending module 524, first judgment module 525 and first saving module 526;
- the reporting module 511 is configured to report to the terminal 51 that it has a WBF port and a FIDO port when the device 52 establishes a connection with the terminal 51;
- the first reminder sending module 521 is used for reminding the user to input the fingerprint and sending the fingerprint verification instruction to the device 52 through the WBF port when the terminal 51 receives the WBF registration information triggered by the user;
- the first collection and judgment module 512 is used to receive the fingerprint verification instruction, start to collect the fingerprint information and judge whether the fingerprint information collected matches the fingerprint template saved, if yes, trigger the first calculation and return module 513, otherwise send it to the terminal 51 through the WBF port Return verification failure information, trigger the third reminder sending module 524;
- the first calculation return module 513 is used to calculate the fingerprint template matched to obtain the fingerprint identification, and return the calculated fingerprint identification to the terminal 51 through the WBF port;
- the first query module 522 is used to query whether the user information corresponding to the fingerprint ID is saved in the database when receiving the fingerprint ID, if so, trigger the second reminder sending module 523, otherwise trigger the third reminder sending module 524;
- the second reminder sending module 523 is used to remind the user to replace the fingerprint, and send a fingerprint registration instruction to the device 52 through the WBF port, triggering the collection and storage module 514;
- the third reminder sending module 524 is used to remind the user to input the fingerprint and send the fingerprint registration instruction to the device 52 through the WBF port, triggering the collection and storage module 514;
- Collection and storage module 514 used to receive fingerprint registration instructions, start to collect fingerprint information and save the collected fingerprint information
- Judgment calculation return module 515 used to judge whether the collection of fingerprint information is completed, if so, generate a fingerprint module according to the stored fingerprint information, calculate the fingerprint template generated to obtain the fingerprint identification, and return the fingerprint identification to the terminal 51 through the WBF port, The registered fingerprint is set in the FIDO configuration, triggering the first judging module 525, otherwise the terminal 51 returns collection unfinished information through the WBF port, triggering the first judging module 525;
- the first judging module 525 is used to judge the received information, if it is a fingerprint identification, it will trigger the first saving module 526, if it is the collection of unfinished information, it will trigger the third reminder sending module 524;
- the first saving module 526 is configured to store the user information provided by the operating system and the fingerprint identification in the database correspondingly.
- the judging, calculating and returning module 515 is specifically used to update the remaining number of acquisitions, and judge whether the current remaining number of acquisitions is the acquisition threshold, and if so, generate and save a fingerprint template according to the saved fingerprint information.
- the fingerprint template is calculated to obtain the fingerprint identification, and the fingerprint identification is returned to the terminal 51 through the WBF port, the registered fingerprint is set in the FIDO configuration, and the first judgment module 525 is triggered; otherwise, the collection unfinished information is returned to the terminal 51 through the WBF port, The first judging module 525 is triggered.
- the collection and storage module 514 includes:
- the receiving and collecting unit is used for receiving fingerprint registration instructions and starting to collect fingerprint information
- the first judging unit is used to judge whether the collection status is a successful collection, if so, save the collected fingerprint information, trigger the judgment calculation return module 515, otherwise return the collection failure information to the terminal through the WBF port, and trigger the first judging module;
- the judgment calculation return module 515 is also used to return the current remaining collection times to the terminal through the WBF port after the collection of fingerprint information is completed;
- the first judging module 525 includes:
- the third judging unit is used to judge whether the fingerprint identification and the remaining collection times are received, if so, trigger the fourth judging unit, otherwise trigger the third reminding sending module 524;
- the fourth judging unit is used to judge whether the remaining number of collection times is the collection threshold, if yes, trigger the first saving module 526 , otherwise trigger the third reminder sending module 524 .
- the second reminder module is specifically used to remind the user to replace the fingerprint, and when receiving the confirmation replacement information, send a fingerprint registration instruction to the device 52 through the WBF port, and trigger the collection and storage module 514 .
- the first calculation and return module 513 is used to calculate the matched fingerprint template to obtain the fingerprint identifier, specifically: the first calculation and return module 513 is used to perform hash calculation on the matched fingerprint template to obtain Fingerprint identification;
- the judgment calculation return module 515 calculates the generated fingerprint template to obtain the fingerprint identification, specifically: the judgment calculation return module 515 performs hash calculation on the generated fingerprint template to obtain the fingerprint identification.
- the first query module 522 includes:
- a search and open unit is used to search the database through the fourth interface when receiving the fingerprint identification returned by the device 52, and open the database through the fifth interface;
- the first search is used as a unit for using the first record found in the database as the current record through the sixth interface;
- the acquisition judging unit is used to obtain the content of the current record through the seventh interface, and judge whether the content of the current record obtained matches the received fingerprint identification, triggering the second reminder sending module 523, otherwise triggering the fifth judging unit;
- the fifth judging unit used to judge whether there are unprocessed records in the database, is to trigger the second search as a unit, otherwise trigger the third reminder sending module 524;
- the second search unit is used to use the eighth interface to find the next record in the database as the current record, and trigger the acquisition judgment unit.
- the terminal 51 in this embodiment also includes a second judging module, a fourth reminder sending module, a first receiving and searching module, and a permission module;
- the device 52 also includes: a second collection and judging module and a second calculation and return module;
- the second judging module is used to judge the login method selected by the user when the terminal 51 receives the login information, if it is a WBF mode fingerprint login, it will trigger the fourth prompt sending module;
- the fourth prompt sending module is used to remind the user to input the fingerprint, and send the fingerprint verification instruction to the connected device 52 through the WBF port;
- the second collection and judgment module is used to receive the fingerprint verification instruction, start to collect fingerprint information, and judge whether the collected fingerprint information matches the saved fingerprint template, if so, trigger the second calculation and return module, otherwise report an error and end;
- the second calculation return module is used to calculate the fingerprint identification obtained by matching the fingerprint template, and return the fingerprint identification to the terminal 51 through the WBF port;
- the first receiving search module is used to search the corresponding user information in the database according to the fingerprint identifier when receiving the fingerprint identifier returned by the device 52, if found, then trigger the permission module, if not found, then report an error, and end;
- the permission module is used to allow the user corresponding to the user information to perform the current operation.
- the terminal 51 further includes: a first sending module, a third judging module, a fourth judging module, a second sending module, and a fifth judging module;
- the device 52 also includes: a first returning module and The third collection and judgment module;
- the first sending module is used to send an instruction to obtain device 52 information to the connected device 52 through the FIDO port when the terminal 51 receives the FIDO registration credential information triggered by the user;
- the first return module is used to return the device 52 information response to the terminal 51 through the FIDO port;
- the third judging module is used to judge whether the connected device 52 supports fingerprint operation according to the received device 52 information response, if so, trigger the fourth judging module, otherwise perform the non-fingerprint FIDO registration credential flow;
- the fourth judging module is used to judge whether a fingerprint template is stored in the device 52 according to the received information response of the device 52, if so, trigger the second sending module, otherwise perform the non-fingerprint FIDO registration credential flow;
- the second sending module is used to send a FIDO registration instruction to the connected device 52 through the FIDO port;
- the third collection and judgment module is used to receive the FIDO registration instruction, start to collect fingerprint information, and judge whether the fingerprint information collected matches the fingerprint template saved, if so, return the registration success information to the terminal 51 through the FIDO port, and trigger the fifth judgment module, otherwise the registration failure information is returned to the terminal 51 through the FIDO port, triggering the fifth judging module;
- the fifth judging module is used to judge the type of the received information, if it is a successful registration information, continue the FIDO registration certificate operation, if it is a registration failure information, report an error and end.
- the device information response in this embodiment includes the registered fingerprint in the FIDO configuration
- the fourth judging module is specifically used to judge whether the received information response of the device 52 contains the registered fingerprint identification, if yes, trigger the second sending module, otherwise report an error, and end.
- Embodiment 1 of the present disclosure provides a method for realizing fingerprint sharing, as shown in FIG. 6 , including:
- Step s0 When the device establishes a connection with the terminal, the device reports to the terminal that it has a WBF port and a FIDO port;
- Step s1 When the terminal receives the WBF registration information triggered by the user, remind the user to enter the fingerprint, and send a fingerprint verification command to the device through the WBF port;
- This embodiment also includes before step s1: when the terminal detects that the user triggers the application, if the type of the application is a WBF application, then execute step s1;
- Step s2 The device receives the fingerprint verification instruction, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template, and if so, executes step s3, otherwise returns verification failure information to the terminal through the WBF port, and executes step s5;
- the saved fingerprint template is saved during the fingerprint registration process through the WBF port or through the FIDO port;
- Step s3 The device calculates the matched fingerprint template to obtain the fingerprint ID, and returns the fingerprint ID to the terminal through the WBF port;
- step s3 includes: the device performs hash calculation on the matched fingerprint template to obtain a fingerprint identification, and returns the fingerprint identification to the terminal through the WBF port;
- Step s4 When the terminal receives the fingerprint ID returned by the device, it queries whether the user information corresponding to the received fingerprint ID is stored in the database. If yes, it prompts that the current fingerprint has been registered; The corresponding fingerprint identification is stored in the database;
- step s4 includes:
- Step s4-1 When the terminal receives the fingerprint identification returned by the device, search the database through the fourth interface, and open the database through the fifth interface;
- Step s4-2 the terminal uses the sixth interface to find the first record in the database as the current record;
- Step s4-3 The terminal acquires the content of the current record through the seventh interface, and judges whether the acquired content of the current record matches the received fingerprint identifier, and if yes, prompts that the current fingerprint has been registered; otherwise, execute step s4-4;
- Step s4-4 The terminal judges whether there are unprocessed records in the database, and if so, executes step s4-5, otherwise, stores the user information provided by the operating system and the received fingerprint identifier in the database correspondingly;
- Step s4-5 The terminal uses the eighth interface to find the next record in the database as the current record, and returns to step s4-3;
- Step s5 The terminal reminds the user to input the fingerprint, and sends a fingerprint registration instruction to the device through the WBF port;
- Step s6 The device receives the fingerprint registration command, starts to collect fingerprint information and saves the collected fingerprint information, judges whether the collection of fingerprint information is completed, if so, generates a fingerprint template according to the saved fingerprint information and saves it, and calculates the generated fingerprint template to obtain a fingerprint identification, the fingerprint identification is returned to the terminal through the WBF port, and step s7 is executed; otherwise, the collection unfinished information is returned to the terminal through the WBF port, and step s7 is executed;
- the generated fingerprint template is calculated to obtain the fingerprint identification, including: hashing the generated fingerprint template to obtain the fingerprint identification;
- step s6 includes:
- Step d1 The device receives the fingerprint registration instruction, starts to collect fingerprint information and saves the collected fingerprint information;
- step d1 includes:
- Step d1-1 The device receives the fingerprint registration command and starts to collect fingerprint information
- Step d1-2 The device judges whether the collection status is successful, if so, saves the collected fingerprint information, and executes step d2; otherwise, returns the collection failure information to the terminal through the WBF port, and executes step s7;
- Step d2 The device updates the remaining collection times, and judges whether the current remaining collection times is the collection threshold, and if so, executes step d3; otherwise, returns collection unfinished information to the terminal through the WBF port, and executes step s7;
- Step d3 The device generates and saves a fingerprint template according to the saved fingerprint information, calculates the generated fingerprint template to obtain a fingerprint ID, returns the fingerprint ID to the terminal through the WBF port, and executes step s7;
- step d3 in this embodiment further includes: the device returns the current remaining collection times to the terminal through the WBF port;
- Step s7 The terminal judges the received information, if it is a fingerprint identification, then saves the user information provided by the operating system and the fingerprint identification correspondingly in the database, and if it is information that has not been collected yet, returns to step s5;
- step s7 includes:
- Step p1 The terminal judges whether the fingerprint identification and the remaining collection times are received, if yes, execute step p2, otherwise return to step s5;
- Step p2 Determine whether the remaining number of collection times is the collection threshold, if yes, store the user information provided by the operating system and the fingerprint identifier in the database correspondingly, otherwise return to step s5.
- the method further includes:
- step a1 is executed;
- Step a1 The terminal reminds the user to enter the fingerprint, and sends a fingerprint verification command to the device through the WBF port;
- Step a2 The device receives the fingerprint verification command, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template, if yes, execute step a3, otherwise, report an error and end;
- Step a3 The device calculates the matched fingerprint template to obtain the fingerprint ID, and returns the fingerprint ID to the terminal through the WBF port;
- Step a4 When the terminal receives the fingerprint ID returned by the device, query whether the user information corresponding to the fingerprint ID is stored in the database, if yes, execute step a5, otherwise report an error and end;
- Step a5 The terminal obtains the user information corresponding to the received fingerprint identification, and allows the user corresponding to the user information to perform a login operation.
- step s0 in the method in the present embodiment also include:
- Step b1 When the terminal detects that the user triggers the application, if the application type is a FIDO application and the trigger information type of the user trigger application is FIDO registration information, then perform step b2;
- Step b2 The terminal obtains a device information response from the connected device through the FIDO port;
- Step b3 The terminal judges whether the connected device supports FIDO operation according to the received device information response, and if so, executes step b4, otherwise reports an error and ends;
- Step b4 The terminal obtains a device attribute response from the connected device through the FIDO port;
- Step b5 The terminal judges whether the connected device supports fingerprint operation according to the received device attribute response, if yes, execute step b6, otherwise proceed to the non-fingerprint FIDO registration process;
- Step b6 The terminal prompts the user to enter a PIN code, and when receiving the PIN code input by the user, generates a PIN code verification command according to the PIN code and sends the PIN code verification command to the connected device through the FIDO port;
- Step b7 The device verifies the PIN code in the PIN code verification command. If the verification is successful, it returns the PIN code verification success message to the terminal through the FIDO port, and executes step b8. If the verification fails, it returns the PIN code verification failure to the terminal through the FIDO port. information;
- Step b8 The terminal sends a fingerprint registration command to the connected device through the FIDO port;
- Step b9 The device starts to collect fingerprint information after receiving the fingerprint registration instruction, and saves the collected fingerprint information, and judges whether the collection of fingerprint information is completed. If yes, generates a fingerprint template according to the saved fingerprint information and saves it, and returns the collection to the terminal through the FIDO port Complete the information, execute step b10, otherwise return the collection unfinished information to the terminal through the FIDO port, execute step b10;
- Step b10 The terminal judges whether the registration process is completed according to the information returned by the device, if yes, prompts that the fingerprint registration is successful, otherwise returns to step b8.
- Step b9 includes:
- Step t0 The device starts to collect fingerprint information after receiving the fingerprint registration instruction
- Step t1 The device judges whether the collection status is successful, if so, saves the collected fingerprint information, and executes step t2, otherwise returns the collection failure information to the terminal through the FIDO port, and executes step b10;
- Step t2 The device updates the remaining acquisition times, and judges whether the current remaining acquisition times are the acquisition threshold, and if so, generates a fingerprint template based on the saved fingerprint information and saves it, and returns the acquisition completion information and the current remaining acquisition times to the terminal through the FIDO port. Execute step b10, otherwise return the collection unfinished information to the terminal through the FIDO port, and execute step b10;
- Step b10 includes:
- Step b10-1 The terminal judges whether the information returned by the device includes the collection completion information and the remaining number of collections, if yes, execute step b10-2, otherwise report an error and end;
- Step b10-2 The terminal judges whether the remaining number of collection times is the collection threshold, if yes, prompts that the fingerprint registration is successful, otherwise returns to step b8.
- the device provided in this embodiment is a composite device that supports both FIDO operation and windows hello fingerprint operation, which is more applicable, more convenient, and cost-effective; It is used in the application to avoid the problem of repeated registration of fingerprints between the windows hello application and the FIDO application.
- Embodiment 2 of the present disclosure provides a method for realizing fingerprint sharing, as shown in FIG. 7 and FIG. 8 , including:
- Step m100 When the device establishes a connection with the terminal, the device reports to the terminal that it has a WBF port and a FIDO port;
- Step m101 When the terminal detects that the user triggers the application, determine the type of the application, if it is the first type, execute step m102, and if it is the second type, execute step m118;
- the first type of application is an application that uses a WBF port for fingerprint registration and verification, such as power-on login
- the second type of application is an application that uses a FIDO port for fingerprint registration and verification, such as a security key key
- Step m102 The terminal judges the trigger information type of the application triggered by the user. If it is login information, execute step m113; if it is registration information, execute step m103;
- the trigger information in this embodiment includes user information
- Step m103 The terminal reminds the user to input the fingerprint, and sends a fingerprint verification instruction to the device through the WBF port;
- Step m104 The device receives the fingerprint verification instruction, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template, if yes, execute step m105, otherwise execute step m108;
- the user enters the fingerprint on the device and saves the fingerprint template that the fingerprint matches, that is, the terminal sends the fingerprint registration fingerprint to the device through the WBF port or the FIDO port, and the device starts collecting fingerprints after receiving the fingerprint registration instruction.
- the fingerprint information is saved, and after the fingerprint information is collected, the fingerprint template is generated and saved according to the saved fingerprint information;
- the fingerprint template is not saved in the device before the step m104, it is judged in the step m104 that it does not match and the execution step m108 is performed;
- the terminal calls the first interface to start the fingerprint collection process, and calls the second interface to end the fingerprint collection process after the collection is completed; specifically, the first interface in this embodiment is to start the fingerprint collection interface, and the second interface is to end the fingerprint collection process.
- Collect fingerprint interface
- the first interface is:
- the second interface is:
- Step m105 The device calculates the matched fingerprint template to obtain a fingerprint ID, and returns the fingerprint ID to the terminal through the WBF port;
- step m105 includes: the device performs hash calculation on the matched fingerprint template to obtain a hash value as a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
- the device calls the third interface to calculate the matched fingerprint template.
- the third interface is a fingerprint calculation interface.
- the third interface is:
- Step m106 When the terminal receives the fingerprint ID returned by the device, query whether the user information corresponding to the received fingerprint ID is stored in the database, if yes, the terminal prompts that the current fingerprint has been registered, and returns to step m101; otherwise, execute step m107;
- step m106 includes:
- Step m106-1 When the terminal receives the fingerprint identifier returned by the device, search the database through the fourth interface, and open the database through the fifth interface;
- the fourth interface in this embodiment searches for the database interface, and the fifth interface is to open the database interface;
- the fourth interface is:
- the fifth interface is:
- Step m106-2 the terminal uses the sixth interface to find the first record in the database as the current record;
- the sixth interface in this embodiment searches for the first record interface, for example, the sixth interface is:
- Step m106-3 The terminal acquires the content of the current record through the seventh interface, and judges whether the acquired content of the current record matches the received fingerprint identifier. If yes, the terminal prompts that the current fingerprint has been registered, otherwise, execute step m106-4;
- the seventh interface in this embodiment is an interface for obtaining recorded content, for example, the seventh interface is:
- Step m106-4 The terminal judges whether there are unprocessed records in the database, if yes, execute step m106-5, otherwise execute step m107;
- Step m106-5 The terminal uses the eighth interface to find the next record in the database as the current record, and returns to step m106-3;
- the eighth interface in this embodiment is to find the next record interface, for example, the eighth interface is:
- Step m107 The terminal stores the user information provided by the operating system and the received fingerprint identifier in the database correspondingly, and returns to step m101;
- Step m108 The device returns verification failure information to the terminal through the WBF port, and executes step m109;
- Step m109 The terminal reminds the user to input the fingerprint, and sends a fingerprint registration instruction to the device through the WBF port;
- Step m110 The device receives the fingerprint registration command, starts to collect fingerprint information and saves the collected fingerprint information, judges whether the collection of fingerprint information is completed, if so, generates a fingerprint template according to the saved fingerprint information and saves it, and calculates the generated fingerprint template to obtain a fingerprint identification, return the fingerprint identification to the terminal through the WBF port, and execute step m111; otherwise, return the collection unfinished information to the terminal through the WBF port, and execute step m111;
- start to collect fingerprint information and save the collected fingerprint information, and determine whether the collection of fingerprint information is completed is as follows:
- Step a0 Start collecting fingerprint information
- Step a1 Determine whether the collection status is successful, if yes, save the collected fingerprint information, and execute step a2, otherwise, return the collection failure information to the terminal through the WBF port, and execute step m111;
- Step a2 update the remaining number of collection times, and judge whether the current remaining number of collection times is a preset value, if yes, the collection of fingerprint information is completed, otherwise, the collection of fingerprint information is not completed;
- Step m111 The terminal judges the received information, if it is a fingerprint identification, execute step m112, and if it is information that has not been collected yet, return to step m109;
- Step m112 The terminal stores the user information provided by the operating system and the received fingerprint identifier in the database correspondingly, and returns to step m101;
- the information stored in the database includes: user information, fingerprint identification;
- Step m113 The terminal reminds the user to input the fingerprint, and sends a fingerprint verification instruction to the device through the WBF port;
- the terminal calls the first interface to start the fingerprint collection process, and after the collection is completed, calls the second interface to end the fingerprint collection process;
- Step m114 The device receives the fingerprint verification command, starts to collect fingerprint information, and judges whether the collected fingerprint information matches the saved fingerprint template, if yes, execute step m115, otherwise, report an error and end;
- Step m115 The device calculates the matched fingerprint template to obtain the fingerprint ID, and returns the fingerprint ID to the terminal through the WBF port;
- the device calls the third interface to calculate the matched fingerprint template
- Step m116 When the terminal receives the fingerprint ID returned by the device, query whether the user information corresponding to the fingerprint ID is saved in the database, if yes, execute step m117, otherwise report an error and end;
- Step m117 The terminal obtains the user information corresponding to the received fingerprint identification, allows the user corresponding to the user information to perform a login operation, and returns to step m101;
- Step m118 The terminal judges the trigger information type of the application triggered by the user, and if it is FIDO registration information, sends an instruction to obtain device information to the device through the FIDO port;
- Step m119 the device returns a device information response to the terminal through the FIDO port
- Step m120 The terminal judges whether the connected device supports FIDO operation according to the received device information response, if yes, execute step m121, otherwise report an error and end;
- step m120 includes: the terminal judges whether the received device information response contains device support FIDO operation information, if yes, execute step m121, otherwise report an error, and end;
- Step m121 the terminal sends an instruction to obtain device attributes to the connected device through the FIDO port;
- Step m122 After receiving the device attribute acquisition instruction, the device returns a device attribute response to the terminal through the FIDO port;
- the device attribute response in this embodiment may include support/non-support for fingerprint operations
- Step m123 The terminal judges whether the connected device supports fingerprint operation according to the received device attribute response, if yes, execute step m124, otherwise proceed to the non-fingerprint FIDO registration process;
- step m123 includes: the terminal judges whether the received device attribute response contains device support fingerprint operation information, if yes, execute step m124, otherwise perform non-fingerprint FIDO registration process;
- the non-fingerprint FIDO registration process is an existing technology, and will not be repeated here;
- Step m124 The terminal sends an instruction to obtain fingerprint attributes to the connected device through the FIDO port;
- Step m125 The device returns a fingerprint attribute response to the terminal through the FIDO port after receiving the fingerprint attribute acquisition instruction;
- the fingerprint attribute response in this embodiment includes the type of fingerprint collection supported by the device (press or scan), and the remaining number of collections;
- Step m126 The terminal prompts the user to enter a PIN code, and when the PIN code input by the user is received, a PIN code verification command is generated according to the PIN code and sent to the connected device through the FIDO port;
- Step m127 The device verifies the PIN code in the PIN code verification command. If the verification is successful, it returns the PIN code verification success message to the terminal through the FIDO port, and executes step m128. If the verification fails, the PIN code verification failure is returned to the terminal through the FIDO port. information;
- step m127 includes: the device judges whether the PIN code in the PIN code verification instruction matches the saved PIN code, and if so, returns user identity verification success information to the terminal through the FIDO port, and executes step m128, otherwise Return PIN code verification failure information to the terminal through the FIDO port;
- step m127 and step m128 it also includes: when the terminal receives the failure message of PIN code verification, update the number of PIN code retries, determine whether the number of PIN code retries is the preset number of times, if so, report an error, and end , otherwise return to step m126;
- the method also includes: the terminal sends an instruction for obtaining the number of retries of the PIN code to the connected device, and when the device receives the instruction for the number of retries of obtaining the PIN code, the number of retries of the PIN code is returned to the terminal;
- Step m128 The terminal sends a fingerprint registration command to the connected device through the FIDO port;
- Step m129 The device starts to collect fingerprint information after receiving the fingerprint registration instruction, and saves the collected fingerprint information
- step m129 includes:
- Step m129-1 The device receives the fingerprint registration instruction and starts to collect fingerprint information
- Step m129-2 The device judges whether the collection status is successful, if so, saves the collected fingerprint information, and executes step m130, otherwise returns the collection failure information to the terminal through the WBF port, and executes step m131;
- Step m130 The device judges whether the collection of fingerprint information is completed, and if so, generates a fingerprint template according to the saved fingerprint information and saves it, and returns the collection completion information to the terminal through the FIDO port, and executes step m131, otherwise, returns the collection unfinished information to the terminal through the FIDO port, Execute step m131;
- step m130 includes: the device updates the remaining collection times, and judges whether the current remaining collection times is the collection threshold, and if so, generates a fingerprint template according to the saved fingerprint information and saves it, and returns the collection completion information to the terminal through the FIDO port , execute step m131, otherwise return the collection unfinished information to the terminal through the FIDO port, execute step m131;
- step m130 of this embodiment may also include: the device returns the current remaining collection times to the terminal through the FIDO port;
- the collection threshold is 0, and the remaining collection times are updated as the remaining collection times are decreased by 1;
- the remaining number of acquisitions can also be the number of times already collected. If the initial value of the number of times already collected is 0, then the collection threshold is N (an integer greater than 0), and the number of times collected is updated by adding 1 to the number of times already collected;
- Step m131 The terminal judges whether the registration process is completed according to the information returned by the device, if yes, prompts that the fingerprint registration is successful, otherwise returns to step m128.
- step m131 includes:
- Step m131-1 The terminal judges whether the information returned by the device includes the collection completion information and the remaining number of collections, if yes, execute step m131-2, otherwise report an error and end;
- Step m131-2 The terminal judges whether the remaining number of collection times is the collection threshold, if yes, end, otherwise return to step m128.
- the device provided in this embodiment is a composite device that supports both FIDO operation and windows hello fingerprint operation.
- the windows hello application and the FIDO application repeatedly register fingerprints, which improves the compatibility of the device.
- the terminal in the fingerprint registration process, the terminal first sends a fingerprint verification instruction to the device, and the device reminds the user to start collecting fingerprint information after receiving the fingerprint verification instruction, and judges the collected fingerprint information and the saved fingerprint template (the fingerprint The template can be saved after the fingerprint registration in the FIDO application, or it can be saved after the fingerprint registration is successful in the WBF application). If it matches, it means that the fingerprint information has been collected by the device. Calculate the fingerprint ID and send it to the terminal. The terminal judges whether there is corresponding user information in the database. If yes, it means that the fingerprint has been registered in the windows hello application; If the fingerprint information does not match the saved fingerprint template, the terminal will send a fingerprint registration instruction to the device.
- the device After receiving the fingerprint registration instruction, the device will start to collect and save the fingerprint information. After the fingerprint information is collected, the fingerprint template will be generated and saved according to the saved fingerprint information. The fingerprint template calculates the fingerprint ID and exports it from the device and saves it in the terminal corresponding to the user information provided by the operating system. Since the original data of the fingerprint information is not exported, only the fingerprint ID is used as the only associated information as the medium to improve the quality of the device.
- the fingerprint information is collected through the fingerprint verification command and stored with the fingerprint template (the fingerprint template can be saved after the fingerprint is registered in the FIDO application, or it can be saved after the fingerprint registration is successful in the WBF application If the comparison is successful, the fingerprint ID calculated according to the matched fingerprint template will be returned to the terminal, and the terminal will compare the fingerprint ID with the fingerprint ID stored in the database in a cyclic manner. If there is a fingerprint ID that is successfully compared ID, the fingerprint ID can be used as a legal login credential, allowing the user information corresponding to the fingerprint ID to log in to the system.
- Embodiment 3 of the present disclosure provides a system for realizing fingerprint sharing, as shown in FIG. 9 , including a terminal 41 and a device 42;
- the terminal 41 includes a first reminder sending module 411, a first query saving module 412, a second reminder sending module 413 and a first judgment module 414;
- the device 42 includes a reporting module 421, a first collection and judgment module 422, a first calculation and return module 423, a collection and storage judgment module 424, and a second calculation and return module 425;
- the reporting module 421 is configured to report to the terminal 41 that it has a WBF port and a FIDO port when the device 42 establishes a connection with the terminal 41;
- the first reminder sending module 411 is used to remind the user to input the fingerprint when the terminal 41 receives the WBF registration information triggered by the user, and send a fingerprint verification instruction to the device 42 through the WBF port;
- the first collection judgment module 422 is used to receive the fingerprint verification instruction, start to collect the fingerprint information, and judge whether the fingerprint information collected matches the fingerprint template stored, if yes, trigger the first calculation return module 423, otherwise send the fingerprint information through the WBF port
- the terminal 41 returns verification failure information, triggering the second reminder sending module 413;
- the fingerprint template saved in this embodiment is saved during the fingerprint registration process through the WBF port or through the FIDO port;
- the first calculation return module 423 is used to calculate the matched fingerprint template to obtain the fingerprint identification, and return the fingerprint identification to the terminal 41 through the WBF port;
- the first query storage module 412 is used to check whether the user information corresponding to the received fingerprint ID is stored in the query database when receiving the fingerprint ID returned by the device 42. If yes, it will prompt that the current fingerprint is registered, otherwise the operating system will provide The corresponding user information and the received fingerprint identification are stored in the database;
- the second reminder sending module 413 is used to remind the user to input the fingerprint, and send the fingerprint registration instruction to the device 42 through the WBF port;
- Collection and storage judging module 424 used for receiving fingerprint registration instructions, starting to collect fingerprint information and saving the collected fingerprint information, judging whether the collection of fingerprint information is completed, if so, triggering the second calculation and returning module 425, otherwise returning to the terminal 41 through the WBF port Collecting unfinished information, triggering the first judging module 414;
- the second calculation return module 425 is used to generate and save a fingerprint template according to the saved fingerprint information, calculate the generated fingerprint template to obtain a fingerprint identification, return the fingerprint identification to the terminal 41 through the WBF port, and trigger the first judgment module 414;
- the first judging module 414 is used to judge the received information, if it is a fingerprint identification, then the user information provided by the operating system and the fingerprint identification are stored in the database correspondingly, if it is the collection of unfinished information, then trigger the second reminder sending module 413 .
- the terminal 41 also includes:
- the first detection module is configured to trigger the first reminder sending module 411 when it is detected that the user triggers the application, for example, the type of the application is a WBF application.
- the terminal 41 also includes: a third reminder sending module, a receiving query module, and an acquisition permission module; the device 42 also includes a second collection and judgment module and a third calculation and return module;
- the third reminder sending module is used to remind the user to input the fingerprint when the type of the application is a WBF application and the trigger information type of the user triggers the application is WBF login information, and sends a fingerprint verification instruction to the device 42 through the WBF port;
- the second collection and judgment module is used to receive the fingerprint verification instruction, start to collect fingerprint information, and judge whether the fingerprint information collected matches the fingerprint template saved, if so, trigger the first calculation and return module 423, otherwise report an error and end;
- the third calculation return module is used to calculate the matched fingerprint template to obtain the fingerprint identification, and return the fingerprint identification to the terminal 41 through the WBF port;
- the receiving query module is used to check whether the user information corresponding to the fingerprint ID is saved in the database when receiving the fingerprint ID returned by the device 42, and if so, trigger the acquisition permission module, otherwise report an error and end;
- the obtaining permission module is used to obtain the user information corresponding to the received fingerprint identification, and allow the user corresponding to the user information to perform a login operation.
- the first calculation return module 423 is specifically used to perform hash calculation on the matched fingerprint template to obtain a fingerprint ID, and return the fingerprint ID to the terminal 41 through the WBF port;
- the second calculation return module 425 is specifically used to generate and save a fingerprint template according to the saved fingerprint information, perform hash calculation on the generated fingerprint template to obtain a fingerprint identification, return the fingerprint identification to the terminal 41 through the WBF port, and trigger the first judging module 414.
- the first query saving module 412 includes:
- Find and open the unit be used for when receiving the fingerprint identification that device 42 returns, search database through the 4th interface, open database through the 5th interface;
- the first search unit is configured to use the first record found in the database as the current record through the sixth interface;
- the acquisition and judgment unit is used to obtain the content of the current record through the seventh interface, and judge whether the acquired content of the current record matches the received fingerprint identification, if yes, it prompts that the current fingerprint has been registered, otherwise triggers the first judgment and storage unit;
- the first judgment saving unit is used to judge whether there are unprocessed records in the database, and if so, triggers the second search unit, otherwise the user information provided by the operating system and the received fingerprint identification are correspondingly stored in the database;
- the second search unit is configured to use the found next record in the database as the current record through the eighth interface, and trigger the acquisition judgment unit.
- the acquisition and preservation judgment module 424 includes:
- the collection and storage unit is used to receive the fingerprint registration instruction, start to collect fingerprint information and save the collected fingerprint information;
- the collection and storage unit is specifically used to receive a fingerprint registration instruction, start to collect fingerprint information and judge whether the collection status is a successful collection, if yes, save the collected fingerprint information, and trigger the second judging unit; Terminal 41 returns collection failure information;
- the second judging unit is used to update the remaining number of collections, and judge whether the current remaining number of collections is the collection threshold, if so, trigger the second calculation and return module 425, otherwise return the unfinished collection information to the terminal through the WBF port, and trigger the first judgment module 414;
- the second calculation return module 425 is also used to return the current remaining acquisition times to the terminal 41 through the WBF port;
- the first judging module 414 in this embodiment includes:
- the third judging unit is used to judge whether the fingerprint identification and the remaining collection times are received, if so, trigger the second judging and saving unit, otherwise trigger the second reminder sending module 413;
- the second judging and saving unit is used to judge whether the remaining number of acquisitions is the acquisition threshold, if yes, save the user information provided by the operating system and the fingerprint identifier in the database correspondingly, otherwise trigger the second reminder sending module 413 .
- the terminal 41 further includes: a first detection module, a first acquisition module, a second judgment module, a second acquisition module, a third judgment module, a generating and sending module, a first sending module and a fifth judging module;
- the device 42 also includes a first verification module, a receiving, collecting and saving module, and a fourth judging module;
- the first detection module is used to trigger the first acquisition module when it is detected that the user triggers the application, such as when the type of the application is a FIDO application and the trigger information type of the user triggers the application is FIDO registration information;
- the first obtaining module is used to obtain the device 42 information response from the connected device 42 through the FIDO port;
- the second judging module is used to judge whether the connected device 42 supports FIDO operation according to the received device 42 information response, if so, trigger the second acquiring module, otherwise report an error and end;
- the second obtaining module is used to obtain the device 42 attribute response from the connected device 42 through the FIDO port;
- the third judging module is used to judge whether the connected device 42 supports fingerprint operation according to the received device 42 attribute response, if so, trigger the generation of the sending module, otherwise perform the non-fingerprint FIDO registration process;
- Generate a sending module for prompting the user to input a PIN code generate a PIN code verification instruction according to the PIN code and send the PIN code verification instruction to the connected device 42 through the FIDO port when the PIN code input by the user is received;
- the first verification module is used to verify the PIN code in the received PIN code verification instruction. If the verification is successful, the terminal 41 will return the verification PIN code success information through the FIDO port to trigger the first sending module. If the verification fails, it will pass The FIDO port returns the failure information of the PIN code verification to the terminal 41;
- the first sending module is used to send a fingerprint registration instruction to the connected device 42 through the FIDO port;
- the receiving, collecting and saving module is used to start collecting fingerprint information after receiving the fingerprint registration instruction, and save the collected fingerprint information
- the fourth judging module is used to judge whether the collection of fingerprint information is completed. If yes, the fingerprint template is generated and saved according to the saved fingerprint information, and the collection completion information is returned to the terminal 41 through the FIDO port, triggering the fifth judging module, otherwise the terminal is sent to the terminal through the FIDO port. 41 Return the collection unfinished information, and trigger the fifth judging module;
- the fifth judging module is used to judge whether the registration process is completed according to the information returned by the device 42. If yes, it prompts that the fingerprint registration is successful, otherwise triggers the first sending module.
- the terminal 41 further includes a fourth obtaining module, which is used to obtain a fingerprint attribute response including the collection threshold from the connected device 42 through the FIDO port;
- the receiving, collecting and saving module is specifically used to start collecting fingerprint information after receiving the fingerprint registration instruction, and judge whether the collection status is a successful collection, if so, save the collected fingerprint information, trigger the fourth judging module, otherwise return to the terminal 41 through the FIDO port Collect failure information and trigger the fifth judging module;
- the fourth judging module is also used to send the current remaining collection times to the terminal 41 through the FIDO port;
- the fifth judging module includes:
- the fourth judging unit is used to judge whether the information returned by the device 42 includes collection completion information and the remaining number of collection times, if yes, trigger the fifth judging unit, otherwise trigger the first sending module;
- the fifth judging unit is used for judging whether the remaining number of collection times is the collection threshold, and if yes, prompts that the fingerprint registration is successful; otherwise, triggers the first sending module.
- embodiments of the present disclosure also provide a device and a terminal for realizing fingerprint sharing, the device and the terminal respectively include at least one processor, a memory, and instructions stored on the memory and executable by the at least one processor , at least one processor executes the instruction to implement the method for implementing fingerprint sharing in the foregoing embodiment.
- the memory may not be in the device and the terminal.
- the device and the terminal are a chip system, they may be composed of chips, or may include chips and other discrete devices, which is not specifically limited in this embodiment of the present disclosure; the chip is coupled with a memory for executing a computer program stored in the memory, to The method for realizing fingerprint sharing disclosed in the above-mentioned embodiments is executed.
- all or part of them may be implemented by software, hardware, firmware or any combination thereof.
- a software program When implemented using a software program, it may be implemented in whole or in part in the form of a computer program product.
- the computer program product includes one or more computer programs.
- the computer program may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may pass from a base station, registration device, server or data center Wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) transmission to another base station, registration device, server or data center.
- the computer-readable storage medium can be any available medium that can be accessed by the registration device, or it can be a data storage device including one or more servers, data centers, etc. that can be integrated with the medium.
- the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (solid state disk, SSD)), etc.
- the registration apparatus may include the aforementioned device.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Collating Specific Patterns (AREA)
Abstract
本公开公开一种实现指纹共用的方法及系统,涉及信息安全领域。当设备接收到指纹验证指令时开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则对指纹模板进行计算得到指纹标识并返回给终端,终端查询数据库中是否保存有与指纹标识对应的用户信息,是则提醒用户更换指纹,给设备发送指纹注册指令,否则提醒用户输入指纹,给设备发送指纹注册指令;设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,采集指纹完成后对根据保存的指纹信息生成的指纹模板进行计算得到指纹标识并返回给终端;终端将操作系统提供的用户信息与指纹标识对应保存在数据库中。本公开方案提高了设备的兼容性和用户使用的方便性。
Description
本公开涉及信息安全领域,尤其涉及一种实现指纹共用的方法及系统。
快速认证设备(FIDO设备)目前应用于主流网站的去密码化场景,但不支持本地系统注册(即不需要微软账号,不需联网)。现有的windows hello是一种生物特征授权方式,可以使用脸部、虹膜或指纹等生物特征来解锁设备,支持本地系统操作,作为与密码、PIN码等的注册支持本地操作系统的并列方式,使用更加安全便捷,windows hello依赖于WBF(Windows生物识别框架)技术体系实现。目前为止,FIDO设备的指纹注册和使用与windows hello指纹注册和使用的应用场景相对独立。如何将windows hello指纹注册和使用与FIDO设备的指纹注册和使用相结合,提供一种安全便捷的实现指纹共用的方法是现有技术亟待解决的问题。
发明内容
本公开的目的是为了克服现有技术的不足,提供一种实现指纹共用的方法及系统。
本公开提供了一种实现指纹共用的方法,包括:
步骤S0:当设备与终端建立连接时,所述设备向所述终端上报自身具有WBF端口和FIDO端口;
步骤S1:当终端接收到用户触发的WBF注册信息时,提醒用户输入指纹并通过所述WBF端口给所述设备发送指纹验证指令;
步骤S2:所述设备接收所述指纹验证指令,开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤S3,否则通过所述WBF端口给终端返回验证失败信息,执行步骤S6;
步骤S3:所述设备对匹配的指纹模板进行计算得到指纹标识,并将计算得到的所述指纹标识通过所述WBF端口返回给所述终端;
步骤S4:当所述终端接收到所述指纹标识时,查询数据库中是否保存有与所述指纹标识对应的用户信息,是则执行步骤S5,否则执行步骤S6;
步骤S5:所述终端提醒用户更换指纹,并通过所述WBF端口给所述设备发送指纹注册指令,执行步骤S7;
步骤S6:所述终端提醒用户输入指纹并通过所述WBF端口给所述设备发送指纹注册指令,执行步骤S7;
步骤S7:所述设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,在FIDO配置中设置指纹已注册标识,执行步骤S8,否则通过所述WBF端口给所述终端返回采集未完成信息,执行步骤S8;
步骤S8:所述终端判断接收到的信息,若为指纹标识则执行步骤S9,若为采集未完成信息则返回步骤S6;
步骤S9:所述终端将操作系统提供的用户信息与指纹标识对应保存在数据库中。
本公开又提供了一种实现指纹共用的方法,包括:
步骤s0:当设备与终端建立连接时,设备向终端上报自身具有WBF端口和FIDO端口;
步骤s1:当终端接收到用户触发的WBF注册信息时提醒用户输入指纹,并通过WBF端口给设备发送指纹验证指令;
步骤s2:设备接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息与保存的指纹模板是否匹配,是则执行步骤s3,否则通过WBF端口给终端返回验证失败信息,执行步骤s5;保存的指纹模板是通过WBF端口或通过FIDO端口的指纹注册过程中保存的;
步骤s3:设备对匹配的指纹模板进行计算得到指纹标识,并将指纹标识通过WBF端口返回给终端;
步骤s4:当终端接收到设备返回的指纹标识时,查询数据库中是否保存有与接收到的指纹标识对应的用户信息,是则提示当前指纹已注册,否则将操作系统提供的用户信息与接收到的指纹标识对应保存在数据库中;
步骤s5:终端提醒用户输入指纹,并通过WBF端口给设备发送指纹注册指令;
步骤s6:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将指纹标识通过WBF端口返回给终端,执行步骤s7,否则通过WBF端口给终端返回采集未完成信息,执行步骤s7;
步骤s7:终端判断接收到的信息,若为指纹标识则将操作系统提供的用户信息与指纹标识对应的保存在数据库中,若为采集未完成信息则返回步骤s5。
本公开又提供了一实现指纹共用的系统,包括终端和设备,所述设备包括:上报模块、第一采集判断模块、第一计算返回模块、采集保存模块和判断计算返回模块,所述终端包括:第一提醒发送模块、第一查询模块、第二提醒发送模块、第三提醒发送模块、第一判断模块和第一保存模块;
所述上报模块,用于当所述设备与所述终端建立连接时,向所述终端上报自身具有WBF端口和FIDO端口;
所述第一提醒发送模块,用于当终端接收到用户触发的WBF注册信息时,提醒用户输入指纹并通过所述WBF端口给设备发送指纹验证指令;
所述第一采集判断模块,用于接收所述指纹验证指令,开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则触发所述第一计算返回模块,否则通过所述WBF端口给终端返回验证失败信息,触发所述第三提醒发送模块;
所述第一计算返回模块,用于对匹配的指纹模板进行计算得到指纹标识,并将计算得到的所述指纹标识通过所述WBF端口返回给所述终端;
所述第一查询模块,用于当接收到所述指纹标识时,查询数据库中是否保存有与所述指纹标识对应的用户信息,是则触发所述第二提醒发送模块,否则触发所述第三提醒发送模块;
所述第二提醒发送模块,用于提醒用户更换指纹,并通过所述WBF端口给所述设备发送 指纹注册指令,触发所述采集保存模块;
所述第三提醒发送模块,用于提醒用户输入指纹并通过所述WBF端口给所述设备发送指纹注册指令,触发所述采集保存模块;
所述采集保存模块,用于接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;
所述判断计算返回模块,用于判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,在FIDO配置中设置指纹已注册标识,触发所述第一判断模块,否则通过所述WBF端口给所述终端返回采集未完成信息,触发所述第一判断模块;
所述第一判断模块,用于判断接收到的信息,若为指纹标识则触发所述第一保存模块,若为采集未完成信息则触发所述第三提醒发送模块;
所述第一保存模块,用于将操作系统提供的用户信息与所述指纹标识对应保存在数据库中。
本公开又提供了一种实现指纹共用的系统,包括终端和设备;
所述终端包括第一提醒发送模块、第一查询保存模块、第二提醒发送模块和第一判断模块;
所述设备包括上报模块、第一采集判断模块、第一计算返回模块、采集保存判断模块和第二计算返回模块;
所述上报模块,用于当所述设备与所述终端建立连接时,向所述终端上报自身具有WBF端口和FIDO端口;
所述第一提醒发送模块,用于当所述终端接收到用户触发的WBF注册信息时提醒用户输入指纹,并通过所述WBF端口给所述设备发送指纹验证指令;
所述第一采集判断模块,用于接收所述指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息与保存的指纹模板是否匹配,是则触发所述第一计算返回模块,否则通过所WBF端口给所述终端返回验证失败信息,触发所述第二提醒发送模块;所述保存的指纹模板是通过所述WBF端口或通过所述FIDO端口的指纹注册过程中保存的;
所述第一计算返回模块,用于对匹配的指纹模板进行计算得到指纹标识,并将所述指纹标识通过所述WBF端口返回给所述终端;
所述第一查询保存模块,用于当接收到设备返回的指纹标识时,查询数据库中是否保存有与接收到的指纹标识对应的用户信息,是则提示当前指纹已注册,否则将操作系统提供的用户信息与接收到的指纹标识对应保存在所述数据库中;
所述第二提醒发送模块,用于提醒用户输入指纹,并通过所述WBF端口给所述设备发送指纹注册指令;
所述采集保存判断模块,用于接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则触发所述第二计算返回模块,否则通过所述WBF端口给所述终端返回采集未完成信息,触发所述第一判断模块;
所述第二计算返回模块,用于根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,触发所述第一判断模块;
所述第一判断模块,用于判断接收到的信息,若为指纹标识则将操作系统提供的用户信息与所述指纹标识对应的保存在数据库中,若为采集未完成信息则触发所述第二提醒发送模块。
本公开与现有技术相比,具有以下优点:
本实施例中提供的设备为既支持FIDO操作又支持windows hello指纹操作的复合设备,适用面更广,更便捷,性价比高;该设备通过windows hello注册的指纹可以在FIDO应用中使用,通过FIDO应用注册的指纹可以在windows hello应用中使用,避免windows hello与FIDO应用重复注册指纹的问题,提高了设备的兼容性,且可实现一个用户注册多个指纹信息,方便用户使用。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例一提供的一种实现指纹共用的方法流程图;
图2为本公开实施例二提供的一种实现指纹共用的方法中的指纹注册过程流程图;
图3为本公开实施例二提供的一种实现指纹共用的方法中的指纹验证过程流程图;
图4为本公开实施例二提供的一种在FIDO应用中实现指纹共用的方法流程图;
图5为本公开实施例三提供的一种实现指纹共用的系统方框示意图;
图6为本公开实施例四提供的一种实现指纹共用的方法流程图;
图7和图8为本公开实施例五提供的一种实现指纹共用的方法流程图;
图9为本公开实施例六提供的一种实现指纹共用的系统方框示意图。
本公开提出了一种实现指纹共用的方法及系统,下面结合附图,对本公开具体实施方式进行详细说明。所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能解释为对本公开的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本公开所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义匹配的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
为使本公开的目的、技术方案和优点更加清楚,下面结合附图对本公开实施方式做进一步地详细描述。
本实施例提供的设备为既支持FIDO操作又支持windows hello指纹操作的复合设备,通过windows hello注册的指纹可以在FIDO应用中使用,避免windows hello与FIDO应用重复注册指纹的问题,提高了设备的兼容性,且可实现一个用户注册多个指纹信息,方便用户使用;其中windows hello指纹操作以WBF应用为例进行说明。
实施例一
本公开实施例一提供一种实现指纹共用的方法,如图1所示,本实施例的方法包括:
步骤S0:当设备与终端建立连接时,设备向终端上报自身具有WBF端口和FIDO端口;
步骤S1:当终端接收到用户触发的WBF注册信息时,提醒用户输入指纹并通过WBF端口给设备发送指纹验证指令;
步骤S2:设备接收指纹验证指令,开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤S3,否则通过WBF端口给终端返回验证失败信息,执行步骤S6;
可选的,在本实施例中,如设备内未保存指纹模板,则在步骤S2中判断结果为不匹配,设备通过WBF端口给终端返回验证失败信息,执行步骤S6;
步骤S3:设备对匹配的指纹模板进行计算得到指纹标识,并将计算得到的指纹标识通过WBF端口返回给终端;
在本实施例中,对匹配的指纹模板进行计算得到指纹标识,具体为:设备对匹配的指纹模板进行哈希计算得到指纹标识;
步骤S4:当终端接收到指纹标识时,查询数据库中是否保存有与指纹标识对应的用户信息,是则执行步骤S5,否则执行步骤S6;
具体的,在本实施例中,步骤S4包括:
步骤S41:当终端接收到设备返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开数据库;
步骤S42:终端通过第六接口将找到的数据库中的第一条记录作为当前记录;
步骤S43:终端通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的指纹标识匹配,是则执行步骤S5,否则执行步骤S44;
步骤S44:终端判断数据库中是否还有未处理的记录,是则执行步骤S45,否则执行步骤S6;
步骤S45:终端通过第八接口将找到的数据库中的下一条记录作为当前记录,返回步骤S43;
步骤S5:终端提醒用户更换指纹,并通过WBF端口给设备发送指纹注册指令,执行步骤S7;
可选的,本实施例的步骤S5中通过WBF端口给设备发送指纹注册指令之前还包括:当接收到确认更换信息时通过WBF端口给设备发送指纹注册指令;
步骤S6:终端提醒用户输入指纹并通过WBF端口给设备发送指纹注册指令,执行步骤S7;
步骤S7:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将指纹标识通过WBF端口返回给终端,在FIDO配置中设置指纹已注册标识,执行步骤S8,否则通过WBF端口给终端返回采集未完成信息,执行步骤S8;
具体的,在本实施例中,步骤S7包括:
步骤S71:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;
具体的,本实施例中步骤S71包括:
步骤S71-1:设备接收指纹注册指令,开始采集指纹信息;
步骤S71-2:设备判断当前采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤S72,否则通过WBF端口给终端返回采集失败信息,执行步骤S8;
步骤S72:设备更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则执行步骤S73,否则通过WBF端口给终端返回采集未完成信息,执行步骤S8;
步骤S73:设备根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到的指纹标识,将指纹标识和当前的剩余采集次数通过WBF端口返回给终端,在FIDO配置中设置指纹已注册标识,执行步骤S8;
可选的,本实施例的步骤S73中还包括:将当前的剩余采集次数通过WBF端口返回给终端;
在本实施例中,对生成的指纹模板进行计算得到指纹标识,具体为:设备对生成的指纹模板进行哈希计算得到指纹标识;
步骤S8:终端判断接收到的信息,若为指纹标识则执行步骤S9,若为采集未完成信息则返回步骤S6;
具体的,在本实施例中,步骤S8包括:
步骤B1:终端判断是否接收到指纹标识和剩余采集次数,是则执行步骤B1,否则返回步骤S6;
步骤B2:判断剩余采集次数是否为采集阈值,是则执行步骤S9,否则返回步骤S6;
步骤S9:终端将操作系统提供的用户信息与指纹标识对应保存在数据库中。
可选的,在本实施例方法中还可包括WBF应用中的指纹验证过程,即步骤S0之后还包括:
步骤T1:当终端接收到登录信息时,判断用户选择的登录方式,如为WBF方式指纹登录则执行步骤T2;
步骤T2:终端提醒用户输入指纹,并通过WBF端口给连接的设备发送指纹验证指令;
步骤T3:设备接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤T4,否则报错,结束;
步骤T4:设备对匹配的指纹模板进行计算得到的指纹标识,并将指纹标识返回给终端;
步骤T5:当终端接收到设备返回的指纹标识时,根据指纹标识在数据库中查找对应的用户信息,如找到则执行步骤T6,如未找到则报错,结束;
步骤T6:终端允许与用户信息对应的用户进行当前操作。
可选的,在本实施例方法中还可包括FIDO设备的指纹验证过程,即步骤S0之后还包括:
步骤Y1:当终端接收到用户触发的FIDO注册凭证信息时,通过FIDO端口给连接的设备发送获取设备信息指令;
步骤Y2:设备通过FIDO端口给终端返回设备信息响应;
步骤Y3:终端根据接收到的设备信息响应判断连接的设备是否支持指纹操作,是则执行步骤Y4,否则进行非指纹FIDO注册凭证流程;
步骤Y4:终端根据接收到的设备信息响应判断设备内是否保存有指纹模板,是则执行步骤Y5,否则进行非指纹FIDO注册凭证流程;
在本实施例中,设备信息响应包括FIDO配置中的指纹已注册标识;
具体的,步骤Y4包括:终端判断接收到的设备信息响应中是否包含指纹已注册标识,是则执行步骤Y5,否则进行非指纹FIDO注册凭证流程;
步骤Y5:终端通过FIDO端口给连接的设备发送FIDO注册指令;
步骤Y6:设备接收FIDO注册指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则通过FIDO端口给终端返回注册成功信息,执行步骤Y7,否则通过FIDO端口给终端返回注册失败信息,执行步骤Y7;
步骤Y7:终端判断接收到的信息的类型,如为注册成功信息则继续FIDO注册凭证操作,如为注册失败信息则报错,结束。
本实施例中提供的设备为既支持FIDO操作又支持指纹操作的复合设备,适用面更广,更便捷,性价比高;该设备通过windows hello注册的指纹可以在FIDO应用中使用,避免windows hello与FIDO应用重复注册指纹的问题,提高了设备的兼容性,且可实现一个用户可注册多个指纹信息,方便用户使用。
实施例二
本公开实施例二提供一种实现指纹共用的方法,包括指纹注册过程和指纹验证过程,在进行本实施例方法之前设备已与终端进行了连接,且设备向终端上报自身具有WBF端口和FIDO端口。
如图2所示,本实施例的方法包括:
步骤100:当终端接收到用户触发的WBF注册信息时,提醒用户输入指纹,并通过WBF端口给设备发送指纹验证指令;
可选的,如设备与终端未连接则用户无法触发WBF指纹注册按钮;
步骤101:设备接收指纹验证指令,开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤102,否则通过WBF端口给终端返回验证失败信息,执行步骤105;
可选的,在本实施例方法之前,用户在设备上录入指纹,设备采集用户录入的指纹信息,根据采集的指纹信息生成匹配的指纹模板并保存;
如设备内未保存指纹模板,则在步骤101中判断为不匹配,设备通过WBF端口给终端返回验证失败信息,执行步骤105;
在本实施例中,终端调用第一接口开启指纹采集流程,采集结束后调用第二接口结束指纹采集流程;具体的,本实施例中的第一接口开启指纹采集接口,第二端口为结束采集指纹接口;
例如,第一接口为:
SensorAdapterStartCapture(
_Inout_PWINBIO_PIPELINE Pipeline,
_In_WINBIO_BIR_PURPOSE Purpose,
_Out_LPOVERLAPPED*Overlapped
);
第二接口为:
步骤102:设备对匹配的指纹模板进行计算得到指纹标识,并将计算得到的指纹标识通过WBF端口返回给终端;
可选的,设备对匹配的指纹模板进行哈希计算得到指纹标识,并将该指纹标识返回给终端;
在本实施例中,设备调用第三接口对匹配的指纹模板进行计算,具体的,第三接口为指纹计算接口,例如,第三接口为:
EngineAdapterIdentifyFeatureSet(
_Inout_PWINBIO_PIPELINE Pipeline,
_Out_PWINBIO_IDENTITY Identity,
_Out_PWINBIO_BIOMETRIC_SUBTYPE SubFactor,
_Out_PUCHAR*PayloadBlob,
_Out_PSIZE_T PayloadBlobSize,
_Out_PUCHAR*HashValue,
_Out_PSIZE_T HashSize,
_Out_PWINBIO_REJECT_DETAIL RejectDetail
)
步骤103:当终端接收到设备返回的指纹标识时,查询数据库中是否保存有与接收到的指纹标识对应的用户信息,是则执行步骤104,否则执行步骤105;
具体的,在本实施例中,步骤103包括:
步骤103-1:当终端接收到设备返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开数据库;
具体的,本实施例中的第四接口为查找数据库接口,第五接口为打开数据库接口;
例如第四接口:
第五接口为:
StorageAdapterOpenDatabase(
_Inout_PWINBIO_PIPELINE Pipeline,
_In_PWINBIO_UUID DatabaseId,
_In_LPCWSTR FilePath,
_In_LPCWSTR ConnectString
);
步骤103-2:终端通过第六接口将找到的数据库中的第一条记录作为当前记录;
具体的,本实施例中的第六接口查找第一条记录接口,例如,第六接口为:
StorageAdapterFirstRecord(
_Inout_PWINBIO_PIPELINE Pipeline
);
步骤103-3:终端通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的指纹标识匹配,是则执行步骤104,否则执行步骤103-4;
具体的,本实施例中的第七接口为获取记录内容接口,例如,第七接口为:
StorageAdapterGetCurrentRecord(
_Inout_PWINBIO_PIPELINE Pipeline,
_Out_PWINBIO_STORAGE_RECORD RecordContents
);
步骤103-4:终端判断数据库中是否还有未处理的记录,是则执行步骤103-5,否则执行步骤105;
步骤103-5:终端通过第八接口将找到的数据库中的下一条记录作为当前记录,返回步骤103-3;
具体的,本实施例中的第八接口为查找下一条记录接口,例如第八接口为:
StorageAdapterNextRecord(
_Inout_PWINBIO_PIPELINE Pipeline
);
步骤104:终端提醒用户更换指纹,如确认更换则提醒用户更换手指输入指纹,并通过WBF端口给设备发送指纹注册指令,执行步骤106,如取消更换则结束;
具体的,在本实施例中,步骤104包括:提醒用户更换手指输入指纹,如收到确认更换信息则通过WBF端口给设备发送指纹注册指令,执行步骤106,如收到取消按键信息则结束;
步骤105:终端提醒用户输入指纹,并通过WBF端口给设备发送指纹注册指令,执行步骤106;
步骤106:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算,将计算得到的指纹标识通过WBF端口返回给终端,在FIDO配置中设置指纹已注册标识,执行步骤107,否则通过WBF端口给终端返回采集未完成信息,执行步骤107;
在本实施例中,步骤106包括:
步骤A1:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;
具体的,步骤A1包括:
步骤A11:设备接收指纹注册指令,开始采集指纹信息;
步骤A12:设备判断当前采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤A2,否则通过WBF端口给终端返回采集失败信息,执行步骤107;
在本实施例中,设备通过第九接口判断采集状态是否为采集成功,第九接口具体为采集状态接口,例如第九接口为:
步骤A2:更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算,将计算得到的指纹标识通过WBF端口返回给终端,在FIDO配置中设置指纹已注册标识,执行步骤107,否则通过WBF端口给终端返回采集未完成信息,执行步骤107;
可选的,在步骤A2中判断为是时还可包括:将当前的剩余采集次数通过WBF端口返回给终端;
步骤107:终端判断接收到的信息,若为指纹标识则执行步骤108,若为采集未完成信息则返回步骤105;
可选的,在本实施例中,步骤107包括:
步骤107-1:终端判断是否接收到指纹标识和剩余采集次数,是则执行步骤107-2,否则返回步骤105;
步骤107-2:终端判断剩余采集次数是否为采集阈值,是则执行步骤108,否则返回步骤105;
步骤108:终端将操作系统提供的用户信息与指纹标对应保存在数据库中;
例如,本实施例中,数据库中保存的信息包括:用户信息、指纹标识;
在本实施例中,终端通过第十接口将用户信息与指纹标识对应保存在数据库中,第十接口具体为数据保存接口,例如,第十接口为:
本实施例还可包括指纹验证过程,如图3所示,包括:
步骤201:当终端接收到登录信息时,判断用户选择的登录方式,如为WBF方式指纹登录则执行步骤202;
可选的,如设备与终端未连接则用户无法触发WBF指纹验证按钮;
步骤202:终端提醒用户输入指纹,并通过WBF端口给连接的设备发送指纹验证指令;
步骤203:设备接收指令验证指纹,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤204,否则报错,结束;
可选的,在本实施例方法之前,用户在设备上录入指纹,设备采集用户录入的指纹信息,根据采集的指纹信息生成匹配的指纹模板并保存;
如设备内未保存指纹模板,则在步骤101中判断为不匹配,设备通过WBF端口给终端返回验证失败信息,执行步骤105;
在本实施例中,终端调用第一接口开启指纹采集流程,采集结束后调用第二接口结束指纹采集流程;具体的,本实施例中的第一接口开启指纹采集接口,第二端口为结束采集指纹接口;
步骤204:设备对匹配的指纹模板进行计算得到的指纹标识,并将该指纹标识通过WBF端口返回给终端;
在本实施例中,终端通过第三接口对匹配的指纹模板进计算;
步骤205:当终端接收到设备返回的指纹标识时,根据指纹标识在数据库中查找对应的用户信息,如找到则执行步骤206,如未找到则报错,结束;
具体的,在本实施例中,步骤205包括:
步骤205-1:当终端接收到设备返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开数据库;
步骤205-2:终端通过第六接口将找到的数据库中的第一条注册记录作为当前注册记录;
具体的,本实施例中的注册记录包括指纹标识与对应的用户信息;
步骤205-3:终端通过第七接口获取当前注册记录,判断获取的当前注册记录是否与接收到的指纹标识匹配,是则执行步骤107,否则执行步骤205-4;
步骤205-4:终端判断数据库中是否还有未处理的注册记录,是则执行步骤205-5,否则执行步骤108;
步骤205-5:终端通第八接口将找到的数据库中的下一条注册记录作为当前注册记录,返回步骤205-3;
步骤206:终端允许与用户信息对应的用户进行当前操作。
如图4所示,本实施例还提供一种FIDO应用中的实现指纹共用的方法,包括:
步骤301:当终端接收到用户触发的FIDO注册凭证信息时,通过FIDO端口给连接的设备发送获取设备信息指令;
步骤302:设备通过FIDO端口给终端返回设备信息响应;
可选的,设备信息响应中包含设备标识,还可以包括设备内保存有指纹;
步骤303:终端根据接收到的设备信息响应判断连接的设备是否支持指纹操作,是则执行步骤304,否则进行非指纹FIDO注册凭证流程;
可选的,在本实施例中,进行非指纹FIDO注册凭证流程为现有技术,在此不再赘述;
步骤304:终端根据接收到的设备信息响应判断设备内是否保存有指纹模板,是则执行步骤305,否则进行非指纹FIDO注册凭证流程;
具体的,在本实施例中,步骤304包括:终端判断接收到的设备信息响应中是否包含指纹已注册标识,是则执行步骤304,否则报错,结束;
步骤305:终端通过FIDO端口给连接的设备发送FIDO注册指令;
步骤306:设备接收FIDO注册指令,开始采集指纹,并判断采集到的指纹信息是否 与保存的指纹模板匹配,是则通过FIDO端口给终端返回注册成功信息,执行步骤306,否则通过FIDO端口给终端返回注册失败信息,执行步骤306;
步骤306:终端判断接收到的信息的类型,如为注册成功信息则继续FIDO注册凭证操作,如为注册失败信息则报错,结束。
可选的,在本实施例中,继续FIDO注册凭证操作为现有技术,在此不再赘述;
本实施例的方法中,在指纹注册过程,设备接收到指纹验证指令后开始采集指纹信息并保存,采集指纹信息完成之后根据保存的指纹信息生成匹配的指纹模板并保存,对匹配的指纹模板进行计算得到指纹标识,将指纹标识从设备中导出与操作系统提供的用户信息对应保存到终端中,由于指纹信息的原始数据不导出,仅将指纹标识作为唯一关联信息作为媒介,提高设备安全性,如在指纹注册过程中判断当前指纹已注册还可以提示用户更换其他手指录入新的指纹信息,实现一个用户可注册多个指纹信息;设备接收到指纹注册指令后开始采集指纹信息并保存,在采集指纹信息完成后根据保存的指纹信息生成指纹模板并保存,同时在FIDO配置中设置指纹已注册标识(在FIDO应用中如检测到指纹已注册标识则可以直接使用此时保存的指纹模板),将指纹标识从设备中导出与操作系统提供的用户信息对应保存到终端中;在指纹验证过程,通过指纹验证指令开始采集指纹信息并与保存的指纹模板进行匹配,若匹配成功,则对匹配的指纹模板进行计算得到指纹标识并返回给终端,终端将此指纹标识与数据库中保存的指纹标识进行循环比对,若有比对成功的指纹标识,则该指纹标识可作为登录的用户信息,允许此用户信息进行系统登录。
实施例三
本公开实施例提供一种实现指纹共用的系统,如图5所示,包括终端51和设备52,设备51包括:上报模块511、第一采集判断模块512、第一计算返回模块513、采集保存模块514和判断计算返回模块515,终端52包括:第一提醒发送模块521、第一查询模块522、第二提醒发送模块523、第三提醒发送模块524、第一判断模块525和第一保存模块526;
上报模块511,用于当设备52与终端51建立连接时,向终端51上报自身具有WBF端口和FIDO端口;
第一提醒发送模块521,用于当终端51接收到用户触发的WBF注册信息时,提醒用户输入指纹并通过WBF端口给设备52发送指纹验证指令;
第一采集判断模块512,用于接收指纹验证指令,开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则触发第一计算返回模块513,否则通过WBF端口给终端51返回验证失败信息,触发第三提醒发送模块524;
第一计算返回模块513,用于对匹配的指纹模板进行计算得到指纹标识,并将计算得到的指纹标识通过WBF端口返回给终端51;
第一查询模块522,用于当接收到指纹标识时,查询数据库中是否保存有与指纹标识对应的用户信息,是则触发第二提醒发送模块523,否则触发第三提醒发送模块524;
第二提醒发送模块523,用于提醒用户更换指纹,并通过WBF端口给设备52发送指纹注册指令,触发采集保存模块514;
第三提醒发送模块524,用于提醒用户输入指纹并通过WBF端口给设备52发送指纹注册指令,触发采集保存模块514;
采集保存模块514,用于接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;
判断计算返回模块515,用于判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模块,对生成的指纹模板进行计算得到指纹标识,将该指纹标识通过WBF端口返回给终端51,在FIDO配置中设置指纹已注册标识,触发第一判断模块525,否则通过WBF端口给终端51返回采集未完成信息,触发第一判断模块525;
第一判断模块525,用于判断接收到的信息,若为指纹标识则触发第一保存模块526,若为采集未完成信息则触发第三提醒发送模块524;
第一保存模块526,用于将操作系统提供的用户信息与指纹标识对应保存在数据库中。
具体的,在本实施例中,判断计算返回模块515具体用于更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将该指纹标识通过WBF端口返回给终端51,在FIDO配置中设置指纹已注册标识,触发第一判断模块525,否则通过WBF端口给终端51返回采集未完成信息,触发第一判断模块525。
具体的,在本实施例中,采集保存模块514包括:
接收采集单元,用于接收指纹注册指令,开始采集指纹信息;
第一判断单元,用于判断采集状态是否为采集成功,是则保存采集到的指纹信息,触发判断计算返回模块515,否则通过WBF端口给终端返回采集失败信息,触发第一判断模块;
判断计算返回模块515还用于在采集指纹信息完成后将当前的剩余采集次数通过WBF端口返回给终端;
相应的,第一判断模块525包括:
第三判断单元,用于判断是否接收到指纹标识和剩余采集次数,是则触发第四判断单元,否则触发第三提醒发送模块524;
第四判断单元,用于判断剩余采集次数是否为采集阈值,是则触发第一保存模块526,否则触发第三提醒发送模块524。
在本实施例中,第二提醒模块具体用于提醒用户更换指纹,当接收到确认更换信息时通过WBF端口给设备52发送指纹注册指令,触发采集保存模块514。
可选的,在本实施例中,第一计算返回模块513用于对匹配的指纹模板进行计算得到指纹标识,具体为:第一计算返回模块513用于对匹配的指纹模板进行哈希计算得到指纹标识;
判断计算返回模块515对生成的指纹模板进行计算得到指纹标识,具体为:判断计算返回模块515对生成的指纹模板进行哈希计算得到指纹标识。
具体的,在本实施例中,第一查询模块522包括:
查找打开单元,用于当接收到设备52返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开数据库;
第一查找作为单元,用于通过第六接口将找到的数据库中的第一条记录作为当前记录;
获取判断单元,用于通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的指纹标识匹配,是触发第二提醒发送模块523,否则触发第五判断单元;
第五判断单元,用于判断数据库中是否还有未处理的记录,是触发第二查找作为单元,否则触发第三提醒发送模块524;
第二查找作为单元,用于通过第八接口将找到的数据库中的下一条记录作为当前记录,触发获取判断单元。
可选的,本实施例中的终端51还包括第二判断模块、第四提示发送模块、第一接收查找模块和允许模块;设备52还包括:第二采集判断模块和第二计算返回模块;
第二判断模块,用于当终端51接收到登录信息时,判断用户选择的登录方式,如为WBF方式指纹登录则触发第四提示发送模块;
第四提示发送模块,用于提醒用户输入指纹,并通过WBF端口给连接的设备52发送指纹验证指令;
第二采集判断模块,用于接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则触发第二计算返回模块,否则报错,结束;
第二计算返回模块,用于对匹配的指纹模板进行计算得到的指纹标识,并将该指纹标识通过WBF端口返回给终端51;
第一接收查找模块,用于当接收到设备52返回的指纹标识时,根据指纹标识在数据库中查找对应的用户信息,如找到则触发允许模块,如未找到则报错,结束;
允许模块,用于允许与用户信息对应的用户进行当前操作。
可选的,在本实施例中,终端51还包括:第一发送模块、第三判断模块、第四判断模块、第二发送模块和第五判断模块;设备52还包括:第一返回模块和第三采集判断模块;
第一发送模块,用于当终端51接收到用户触发的FIDO注册凭证信息时,通过FIDO端口给连接的设备52发送获取设备52信息指令;
第一返回模块,用于通过FIDO端口给终端51返回设备52信息响应;
第三判断模块,用于根据接收到的设备52信息响应判断连接的设备52是否支持指纹操作,是则触发第四判断模块,否则进行非指纹FIDO注册凭证流程;
第四判断模块,用于根据接收到的设备52信息响应判断设备52内是否保存有指纹模板,是则触发第二发送模块,否则进行非指纹FIDO注册凭证流程;
第二发送模块,用于通过FIDO端口给连接的设备52发送FIDO注册指令;
第三采集判断模块,用于接收FIDO注册指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则通过FIDO端口给终端51返回注册成功信息,触发第五判断模块,否则通过FIDO端口给终端51返回注册失败信息,触发第五判断模块;
第五判断模块,用于判断接收到的信息的类型,如为注册成功信息则继续FIDO注册凭证操作,如为注册失败信息则报错,结束。
本实施例中的设备信息响应包括FIDO配置中的指纹已注册标识;
第四判断模块,具体用于判断接收到的设备52信息响应中是否包含指纹已注册标识,是则触发第二发送模块,否则报错,结束。
实施例四
本公开实施例一提供一种实现指纹共用的方法,如图6所示,包括:
步骤s0:当设备与终端建立连接时,设备向终端上报自身具有WBF端口和FIDO端口;
步骤s1:当终端接收到用户触发的WBF注册信息时提醒用户输入指纹,并通过WBF端口给设备发送指纹验证指令;
本实施例在步骤s1之前还包括:当终端检测到用户触发应用时,如应用的类型为WBF应用时则执行步骤s1;
步骤s2:设备接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息与保存的指纹模板是否匹配,是则执行步骤s3,否则通过WBF端口给终端返回验证失败信息,执行步骤s5;
在本实施例中,保存的指纹模板是通过WBF端口或通过FIDO端口的指纹注册过程中保存的;
步骤s3:设备对匹配的指纹模板进行计算得到指纹标识,并将该指纹标识通过WBF端口返回给终端;
可选的,步骤s3包括:设备对匹配的指纹模板进行哈希计算得到指纹标识,并将该指纹标识通过WBF端口返回给终端;
步骤s4:当终端接收到设备返回的指纹标识时,查询数据库中是否保存有与接收到的指纹标识对应的用户信息,是则提示当前指纹已注册,否则将操作系统提供的用户信息与接收到的指纹标识对应保存在数据库中;
具体的,在本实施例中,步骤s4包括:
步骤s4-1:当终端接收到设备返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开数据库;
步骤s4-2:终端通过第六接口将找到的数据库中的第一条记录作为当前记录;
步骤s4-3:终端通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的指纹标识匹配,是则提示当前指纹已注册,否则执行步骤s4-4;
步骤s4-4:终端判断数据库中是否还有未处理的记录,是则执行步骤s4-5,否则将操作系统提供的用户信息与接收到的指纹标识对应保存在数据库中;
步骤s4-5:终端通过第八接口将找到的数据库中的下一条记录作为当前记录,返回步骤s4-3;
步骤s5:终端提醒用户输入指纹,并通过WBF端口给设备发送指纹注册指令;
步骤s6:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将该指纹标识通过WBF端口返回给终端,执行步骤s7,否则通过WBF端口给终端返回采集未完成信息,执行步骤s7;
可选的,步骤s6中对生成的指纹模板进行计算得到指纹标识,包括:对生成的指纹 模板进行哈希计算得到指纹标识;
具体的,步骤s6包括:
步骤d1:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;
在本实施例中,步骤d1包括:
步骤d1-1:设备接收指纹注册指令,开始采集指纹信息;
步骤d1-2:设备判断采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤d2,否则通过WBF端口给终端返回采集失败信息,执行步骤s7;
步骤d2:设备更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则执行步骤d3,否则通过WBF端口给终端返回采集未完成信息,执行步骤s7;
步骤d3:设备根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将指纹标识通过WBF端口返回给终端,执行步骤s7;
可选的,本实施例中的步骤d3还包括:设备将当前的剩余采集次数通过WBF端口返回给终端;
步骤s7:终端判断接收到的信息,若为指纹标识则将操作系统提供的用户信息与指纹标识对应的保存在数据库中,若为采集未完成信息则返回步骤s5;
在本实施例中,步骤s7包括:
步骤p1:终端判断是否接收到指纹标识和剩余采集次数,是则执行步骤p2,否则返回步骤s5;
步骤p2:判断剩余采集次数是否为采集阈值,是则将操作系统提供的用户信息与指纹标识对应的保存在数据库中,否则返回步骤s5。
可选的,本实施例的方法中步骤s0之后还包括:
如应用的类型为WBF应用且用户触发应用的触发信息类型为WBF登录信息时则执行步骤a1;
步骤a1:终端提醒用户输入指纹,并通过WBF端口给设备发送指纹验证指令;
步骤a2:设备接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤a3,否则报错,结束;
步骤a3:设备对匹配的指纹模板进行计算得到指纹标识,并将该指纹标识通过WBF端口返回给终端;
步骤a4:当终端接收到设备返回的指纹标识时,查询数据库中是否保存有与指纹标识对应的用户信息,是则执行步骤a5,否则报错,结束;
步骤a5:终端获取与接收到的指纹标识对应的用户信息,允许与用户信息对应的用户进行登录操作。
本实施例中的方法中步骤s0之后还包括:
步骤b1:当终端检测到用户触发应用时,如应用的类型为FIDO应用且用户触发应用的触发信息类型为FIDO注册信息时则执行步骤b2;
步骤b2:终端通过FIDO端口从连接的设备中获取设备信息响应;
步骤b3:终端根据接收到的设备信息响应判断连接的设备是否支持FIDO操作,是则执行步骤b4,否则报错,结束;
步骤b4:终端通过FIDO端口从连接的设备中获取设备属性响应;
步骤b5:终端根据接收到的设备属性响应判断连接的设备是否支持指纹操作,是则执行步骤b6,否则进行非指纹FIDO注册流程;
步骤b6:终端提示用户输入PIN码,当接收到用户输入的PIN码时根据PIN码生成PIN码验证指令并将PIN码验证指令通过FIDO端口发送给连接的设备;
步骤b7:设备对PIN码验证指令中的PIN码进行验证,如验证成功则通过FIDO端口给终端返回验PIN码成功信息,执行步骤b8,如验证失败则通过FIDO端口给终端返回验PIN码失败信息;
步骤b8:终端通过FIDO端口给连接的设备发送指纹注册指令;
步骤b9:设备接收到指纹注册指令后开始采集指纹信息,并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,通过FIDO端口给终端返回采集完成信息,执行步骤b10,否则通过FIDO端口给终端返回采集未完成信息,执行步骤b10;
步骤b10:终端根据设备返回的信息判断注册过程是否完成,是则提示指纹注册成功,否则返回步骤b8。
可选的,
步骤b9包括:
步骤t0:设备接收到指纹注册指令后开始采集指纹信息;
步骤t1:设备判断采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤t2,否则通过FIDO端口给终端返回采集失败信息,执行步骤b10;
步骤t2:设备更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则根据保存的指纹信息生成指纹模板并保存,通过FIDO端口给终端返回采集完成信息和当前的剩余采集次数,执行步骤b10,否则通过FIDO端口给终端返回采集未完成信息,执行步骤b10;
步骤b10包括:
步骤b10-1:终端判断设备返回的信息是否包含采集完成信息和剩余采集次数,是则执行步骤b10-2,否则报错,结束;
步骤b10-2:终端判断剩余采集次数是否为采集阈值,是则提示指纹注册成功,否则返回步骤b8。
本实施例中提供的设备为既支持FIDO操作又支持windows hello指纹操作的复合设备,适用面更广,更便捷,性价比高;在本实施例中该设备通过FIDO应用注册的指纹可以在windows hello应用中使用,避免windows hello应用与FIDO应用重复注册指纹的问题。
实施例五
本公开实施例二提供一种实现指纹共用的方法,如图7和图8所示,包括:
步骤m100:当设备与终端建立连接时,设备向终端上报自身具有WBF端口和FIDO端口;
步骤m101:当终端检测到用户触发应用时,判断应用的类型,如为第一类型则执行步骤m102,如为第二类型则执行步骤m118;
具体的,在本实施例中,第一类型的应用为使用WBF端口进行指纹注册和验证的应用,例如开机登录;第二类型的应用为使用FIDO端口进行指纹注册和验证的应用,例如安全密钥;
步骤m102:终端判断用户触发应用的触发信息类型,如为登录信息则执行步骤m113,如为注册信息则执行步骤m103;
本实施例中的触发信息中包含用户信息;
步骤m103:终端提醒用户输入指纹,并通过WBF端口给设备发送指纹验证指令;
步骤m104:设备接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息与保存的指纹模板是否匹配,是则执行步骤m105,否则执行步骤m108;
可选的,在本实施例方法之前,用户在设备上录入指纹并保存该指纹匹配的指纹模板,即终端通过WBF端口或者FIDO端口给设备发送指纹注册指纹,设备接收到指纹注册指令后开始采集指纹信息并保存,采集指纹信息完成后根据保存的指纹信息生成指纹模板并保存;
如在步骤m104之前设备中未保存指纹模板,则步骤m104中判断不匹配执行步骤m108;
在本实施例中,终端调用第一接口开启指纹采集流程,采集结束后调用第二接口结束指纹采集流程;具体的,本实施例中的第一接口为开启指纹采集接口,第二接口为结束采集指纹接口;
例如第一接口为:
SensorAdapterStartCapture(
_Inout_PWINBIO_PIPELINE Pipeline,
_In_WINBIO_BIR_PURPOSE Purpose,
_Out_LPOVERLAPPED*Overlapped
);
第二接口为:
步骤m105:设备对匹配的指纹模板进行计算得到指纹标识,并将该指纹标识通过WBF端口返回给终端;
优选的,本实施例中,步骤m105包括:设备对匹配的指纹模板进行哈希计算得到哈希值作为指纹标识,并将该指纹标识通过WBF端口返回给终端;
在本实施例中,设备调用第三接口对匹配的指纹模板进行计算,具体的,第三接口为指纹计算接口,例如第三接口为:
EngineAdapterIdentifyFeatureSet(
_Inout_PWINBIO_PIPELINE Pipeline,
_Out_PWINBIO_IDENTITY Identity,
_Out_PWINBIO_BIOMETRIC_SUBTYPE SubFactor,
_Out_PUCHAR*PayloadBlob,
_Out_PSIZE_T PayloadBlobSize,
_Out_PUCHAR*HashValue,
_Out_PSIZE_T HashSize,
_Out_PWINBIO_REJECT_DETAIL RejectDetail
)
步骤m106:当终端接收到设备返回的指纹标识时,查询数据库中是否保存有与接收到的指纹标识对应的用户信息,是则终端提示当前指纹已注册,返回步骤m101,否则执行步骤m107;
具体的,在本实施例中,步骤m106包括:
步骤m106-1:当终端接收到设备返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开数据库;
具体的,本实施例中的第四接口查找数据库接口,第五接口为打开数据库接口;
例如第四接口为:
第五接口为:
StorageAdapterOpenDatabase(
_Inout_PWINBIO_PIPELINE Pipeline,
_In_PWINBIO_UUID DatabaseId,
_In_LPCWSTR FilePath,
_In_LPCWSTR ConnectString
);
步骤m106-2:终端通过第六接口将找到的数据库中的第一条记录作为当前记录;
具体的,本实施例中的第六接口查找第一条记录接口,例如,第六接口为:
StorageAdapterFirstRecord(
_Inout_PWINBIO_PIPELINE Pipeline
);
步骤m106-3:终端通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的指纹标识匹配,是则终端提示当前指纹已注册,否则执行步骤m106-4;
具体的,本实施例中的第七接口为获取记录内容接口,例如,第七接口为:
StorageAdapterGetCurrentRecord(
_Inout_PWINBIO_PIPELINE Pipeline,
_Out_PWINBIO_STORAGE_RECORD RecordContents
);
步骤m106-4:终端判断数据库中是否还有未处理的记录,是则执行步骤m106-5,否 则执行步骤m107;
步骤m106-5:终端通过第八接口将找到的数据库中的下一条记录作为当前记录,返回步骤m106-3;
具体的,本实施例中的第八接口为查找下一条记录接口,例如第八接口为:
StorageAdapterNextRecord(
_Inout_PWINBIO_PIPELINE Pipeline
);
步骤m107:终端将操作系统提供的用户信息与接收到的指纹标识对应保存在数据库中,返回步骤m101;
步骤m108:设备通过WBF端口给终端返回验证失败信息,执行步骤m109;
步骤m109:终端提醒用户输入指纹,并通过WBF端口给设备发送指纹注册指令;
步骤m110:设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将该指纹标识通过WBF端口返回给终端,执行步骤m111,否则通过WBF端口给终端返回采集未完成信息,执行步骤m111;
在本实施例中,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成具体为:
步骤a0:开始采集指纹信息;
步骤a1:判断采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤a2,否则通过WBF端口给终端返回采集失败信息,执行步骤m111;
步骤a2:更新剩余采集次数,并判断当前的剩余采集次数是否为预设值,是则采集指纹信息完成,否则采集指纹信息未完成;
步骤m111:终端判断接收到的信息,若为指纹标识则执行步骤m112,若为采集未完成信息则返回步骤m109;
步骤m112:终端将操作系统提供的用户信息与接收到的指纹标识对应保存在数据库中,返回步骤m101;
例如,本实施例中,数据库中保存的信息包括:用户信息、指纹标识;
步骤m113:终端提醒用户输入指纹,并通过WBF端口给设备发送指纹验证指令;
在本实施例中,终端调用第一接口开启指纹采集流程,采集结束后调用第二接口结束指纹采集流程;
步骤m114:设备接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤m115,否则报错,结束;
步骤m115:设备对匹配的指纹模板进行计算得到指纹标识,并将该指纹标识通过WBF端口返回给终端;
在本实施例中,设备调用第三接口对匹配的指纹模板进行计算;
步骤m116:当终端接收到设备返回的指纹标识时,查询数据库中是否保存有与指纹标识对应的用户信息,是则执行步骤m117,否则报错,结束;
步骤m117:终端获取与接收到的指纹标识对应的用户信息,允许与用户信息对应的用户进行登录操作,返回步骤m101;
步骤m118:终端判断用户触发应用的触发信息类型,如为FIDO注册信息则通过FIDO端口给设备发送获取设备信息指令;
步骤m119:设备通过FIDO端口给终端返回设备信息响应;
步骤m120:终端根据接收到的设备信息响应判断连接的设备是否支持FIDO操作,是则执行步骤m121,否则报错,结束;
具体的,在本实施例中,步骤m120包括:终端判断接收到的设备信息响应中是否包含设备支持FIDO操作信息,是则执行步骤m121,否则报错,结束;
步骤m121:终端通过FIDO端口给连接的设备发送获取设备属性指令;
步骤m122:设备接收到获取设备属性指令后通过FIDO端口给终端返回设备属性响应;
具体的,本实施例中的设备属性响应可包括支持/不支持指纹操作;
步骤m123:终端根据接收到的设备属性响应判断连接的设备是否支持指纹操作,是则执行步骤m124,否则进行非指纹FIDO注册流程;
具体的,在本实施例中,步骤m123包括:终端判断接收到的设备属性响应中是否包含设备支持指纹操作信息,是则执行步骤m124,否则进行非指纹FIDO注册流程;
可选的,在本实施例中,非指纹FIDO注册流程为现有技术,在此不再赘述;
步骤m124:终端通过FIDO端口给连接的设备发送获取指纹属性指令;
步骤m125:设备接收到获取指纹属性指令后通过FIDO端口给终端返回指纹属性响应;
具体的,本实施例中的指纹属性响应包括设备支持的采集指纹的类型(按压或扫描)、剩余采集次数;
步骤m126:终端提示用户输入PIN码,当接收到用户输入的PIN码根据PIN码生成PIN码验证指令并通过FIDO端口发送给连接的设备;
步骤m127:设备对PIN码验证指令中的PIN码进行验证,如验证成功则通过FIDO端口给终端返回验PIN码成功信息,执行步骤m128,如验证失败则通过FIDO端口给终端返回验PIN码失败信息;
具体的,在本实施例中,步骤m127包括:设备判断PIN码验证指令中的PIN码是否与保存的PIN码匹配,是则通过FIDO端口给终端返回用户身份验证成功信息,执行步骤m128,否则通过FIDO端口给终端返回验PIN码失败信息;
可选的,在步骤m127与步骤m128之间还包括:当终端接收到验PIN码失败信息时,更新PIN码重试次数,判断PIN码重试次数是否为预设次数,是则报错,结束,否则返回步骤m126;
对应的,在步骤m126之前还包括:终端给连接的设备发送获取PIN码重试次数指令,设备接收到获取PIN码重试次数指令时将PIN码重试次数返回给终端;
步骤m128:终端通过FIDO端口给连接的设备发送指纹注册指令;
步骤m129:设备接收到指纹注册指令后开始采集指纹信息,并保存采集到的指纹信息;
在本实施例中,步骤m129包括:
步骤m129-1:设备接收指纹注册指令,开始采集指纹信息;
步骤m129-2:设备判断采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤m130,否则通过WBF端口给终端返回采集失败信息,执行步骤m131;
步骤m130:设备判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,通过FIDO端口给终端返回采集完成信息,执行步骤m131,否则通过FIDO端口给终端返回采集未完成信息,执行步骤m131;
在本实施例中,步骤m130包括:设备更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则根据保存的指纹信息生成指纹模板并保存,通过FIDO端口给终端返回采集完成信息,执行步骤m131,否则通过FIDO端口给终端返回采集未完成信息,执行步骤m131;
可选的,本实施例的步骤m130还可以包括:设备通过FIDO端口给终端返回当前的剩余采集次数;
可选的,如剩余采集次数的初始值为N(大于0的整数),则采集阈值为0,更新剩余采集次数为剩余采集次数自减1;
可选的,剩余采集次数也可以为已采集次数,如已采集次数的初始值为0,则采集阈值为N(大于0的整数),更新已采集次数为已采集次数自加1;
步骤m131:终端根据设备返回的信息判断注册过程是否完成,是则提示指纹注册成功,否则返回步骤m128。
在本实施例中,步骤m131包括:
步骤m131-1:终端判断设备返回的信息是否包含采集完成信息和剩余采集次数,是则执行步骤m131-2,否则报错,结束;
步骤m131-2:终端判断剩余采集次数是否为采集阈值,是则结束,否则返回步骤m128。
本实施例中提供的设备为既支持FIDO操作又支持windows hello指纹操作的复合设备,适用面更广,更便捷,性价比高;该设备通过FIDO应用注册的指纹可以在windows hello应用中使用,避免windows hello应用与FIDO应用重复注册指纹的问题,提高了设备的兼容性。
本实施例的方法中,在指纹注册过程,终端首先发送指纹验证指令给设备,设备接收到指纹验证指令后提醒用户开始采集指纹信息,并判断采集到的指纹信息与保存的指纹模板(该指纹模板可以是FIDO应用中指纹注册成后保存下来的,也可以是WBF应用中指纹注册成功后保存下来的)是否匹配,匹配的话说明该指纹信息通过设备已被采集过,设备对匹配的指纹模板进行计算得到指纹标识并发送给终端,终端判断数据库中是否有对应的用户信息,是则说明该指纹在windows hello应用中已注册,否则说明该指纹在FIDO应用中注册过;设备如判断采集到的指纹信息与保存的指纹模板不匹配则终端给设备发送指纹注册指令,设备接收到指纹注册指令后开始采集指纹信息并保存,采集指纹信息完成后根据保存的指纹信息生成指纹模板并保存,对该指纹模板进行计算的指纹标识并将其从设备中导出与操作系统提供的用户信息对应保存到终端中,由于指纹信息的原始数据不导出,仅将指纹标识作为唯一关联信息作为媒介,提高设备安全性;在指纹验证过程,通过指纹验证指令开始采集指纹信息并与保存的指纹模板(该指纹模板可以是FIDO应用中指纹注册成后保存下来的,也可以是WBF应用中指纹注册成功后保存 下来的)进行匹配,若比对成功,则给终端返回根据匹配的指纹模板计算得到的指纹标识,终端将此指纹标识与数据库中保存的指纹标识进行循环比对,若有比对成功的指纹标识,则该指纹标识可作为合法登录凭证,允许与该指纹标识对应的用户信息进行系统登录。
实施例六
本公开实施例三提供一种实现指纹共用的系统,如图9所示,包括终端41和设备42;
终端41包括第一提醒发送模块411、第一查询保存模块412、第二提醒发送模块413和第一判断模块414;
设备42包括上报模块421、第一采集判断模块422、第一计算返回模块423、采集保存判断模块424和第二计算返回模块425;
上报模块421,用于当设备42与终端41建立连接时,向终端41上报自身具有WBF端口和FIDO端口;
第一提醒发送模块411,用于当终端41接收到用户触发的WBF注册信息时提醒用户输入指纹,并通过WBF端口给设备42发送指纹验证指令;
第一采集判断模块422,用于接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息与保存的指纹模板是否匹配,是则触发第一计算返回模块423,否则通过所WBF端口给终端41返回验证失败信息,触发第二提醒发送模块413;
具体的,本实施例中保存的指纹模板是通过WBF端口或通过FIDO端口的指纹注册过程中保存的;
第一计算返回模块423,用于对匹配的指纹模板进行计算得到指纹标识,并将该指纹标识通过WBF端口返回给终端41;
第一查询保存模块412,用于当接收到设备42返回的指纹标识时,查询数据库中是否保存有与接收到的指纹标识对应的用户信息,是则提示当前指纹已注册,否则将操作系统提供的用户信息与接收到的指纹标识对应保存在数据库中;
第二提醒发送模块413,用于提醒用户输入指纹,并通过WBF端口给设备42发送指纹注册指令;
采集保存判断模块424,用于接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则触发第二计算返回模块425,否则通过WBF端口给终端41返回采集未完成信息,触发第一判断模块414;
第二计算返回模块425,用于根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将该指纹标识通过WBF端口返回给终端41,触发第一判断模块414;
第一判断模块414,用于判断接收到的信息,若为指纹标识则将操作系统提供的用户信息与指纹标识对应的保存在数据库中,若为采集未完成信息则触发第二提醒发送模块413。
在本实施例中,终端41还包括:
第一检测模块,用于当检测到用户触发应用时,如应用的类型为WBF应用触发第一提醒发送模块411。
在本实施例中,终端41还包括:第三提醒发送模块、接收查询模块和获取允许模块;设备42还包括第二采集判断模块和第三计算返回模块;
第三提醒发送模块,用于如应用的类型为WBF应用且用户触发应用的触发信息类型为WBF登录信息时提醒用户输入指纹,并通过WBF端口给设备42发送指纹验证指令;
第二采集判断模块,用于接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则触发第一计算返回模块423,否则报错,结束;
第三计算返回模块,用于对匹配的指纹模板进行计算得到指纹标识,并将该指纹标识通过WBF端口返回给终端41;
接收查询模块,用于当接收到设备42返回的指纹标识时,查询数据库中是否保存有与指纹标识对应的用户信息,是则触发获取允许模块,否则报错,结束;
获取允许模块,用于获取与接收到的指纹标识对应的用户信息,允许与用户信息对应的用户进行登录操作。
在本实施例中,第一计算返回模块423,具体用于对匹配的指纹模板进行哈希计算得到指纹标识,并将指纹标识通过WBF端口返回给终端41;
第二计算返回模块425,具体用于根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行哈希计算得到指纹标识,将指纹标识通过WBF端口返回给终端41,触发第一判断模块414。
在本实施例中,第一查询保存模块412包括:
查找打开单元,用于当接收到设备42返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开数据库;
第一查找单元,用于通过第六接口将找到的数据库中的第一条记录作为当前记录;
获取判断单元,用于通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的指纹标识匹配,是则提示当前指纹已注册,否则触发第一判断保存单元;
第一判断保存单元,用于判断数据库中是否还有未处理的记录,是则触发第二查找单元,否则将操作系统提供的用户信息与接收到的指纹标识对应保存在数据库中;
第二查找单元,用于通过第八接口将找到的数据库中的下一条记录作为当前记录,触发获取判断单元。
在本实施例中,
采集保存判断模块424包括:
采集保存单元,用于接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;
在本实施例中,采集保存单元具体用于接收指纹注册指令,开始采集指纹信息并判断采集状态是否为采集成功,是则保存采集到的指纹信息,触发第二判断单元,否则通过WBF端口给终端41返回采集失败信息;
第二判断单元,用于更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则触发第二计算返回模块425,否则通过WBF端口给终端返回采集未完成信息,触发第一判断模块414;
可选的,第二计算返回模块425还用于将当前的剩余采集次数通过WBF端口返回给 终端41;
对应的,本实施例中的第一判断模块414包括:
第三判断单元,用于判断是否接收到指纹标识和剩余采集次数,是则触发第二判断保存单元,否则触发第二提醒发送模块413;
第二判断保存单元,用于判断剩余采集次数是否为采集阈值,是则将操作系统提供的用户信息与指纹标识对应的保存在数据库中,否则触发第二提醒发送模块413。
在本实施例中,终端41还包括:第一检测模块、第一获取模块、第二判断模块、第二获取模块、第三判断模块、生成发送模块、第一发送模块和第五判断模块;设备42还包括第一验证模块、接收采集保存模块和第四判断模块;
第一检测模块,用于当检测到用户触发应用时,如应用的类型为FIDO应用且用户触发应用的触发信息类型为FIDO注册信息时则触发第一获取模块;
第一获取模块,用于通过FIDO端口从连接的设备42中获取设备42信息响应;
第二判断模块,用于根据接收到的设备42信息响应判断连接的设备42是否支持FIDO操作,是则触发第二获取模块,否则报错,结束;
第二获取模块,用于通过FIDO端口从连接的设备42中获取设备42属性响应;
第三判断模块,用于根据接收到的设备42属性响应判断连接的设备42是否支持指纹操作,是则触发生成发送模块,否则进行非指纹FIDO注册流程;
生成发送模块,用于提示用户输入PIN码,当接收到用户输入的PIN码时根据PIN码生成PIN码验证指令并将PIN码验证指令通过FIDO端口发送给连接的设备42;
第一验证模块,用于对接收到的PIN码验证指令中的PIN码进行验证,如验证成功则通过FIDO端口给终端41返回验PIN码成功信息,触发第一发送模块,如验证失败则通过FIDO端口给终端41返回验PIN码失败信息;
第一发送模块,用于通过FIDO端口给连接的设备42发送指纹注册指令;
接收采集保存模块,用于接收到指纹注册指令后开始采集指纹信息,并保存采集到的指纹信息;
第四判断模块,用于判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,通过FIDO端口给终端41返回采集完成信息,触发第五判断模块,否则通过FIDO端口给终端41返回采集未完成信息,触发第五判断模块;
第五判断模块,用于根据设备42返回的信息判断注册过程是否完成,是则提示指纹注册成功,否则触发第一发送模块。
在本实施例中,终端41还包括第四获取模块,用于通过FIDO端口从连接的设备42中获取包含采集阈值的指纹属性响应;
接收采集保存模块,具体用于接收到指纹注册指令后开始采集指纹信息,判断采集状态是否为采集成功,是则保存采集到的指纹信息,触发第四判断模块,否则通过FIDO端口给终端41返回采集失败信息,触发第五判断模块;
第四判断模块,还用于将当前的剩余采集次数通过FIDO端口发送给终端41;
相应的,第五判断模块包括:
第四判断单元,用于判断设备42返回的信息是否包含采集完成信息和剩余采集次数,是则触发第五判断单元,否则触发第一发送模块;
第五判断单元,用于判断剩余采集次数是否为采集阈值,是则提示指纹注册成功,否则触发第一发送模块。
可选的,本公开的实施例还提供了一种实现指纹共用的设备和终端,该设备和终端分别包括至少一个处理器、存储器及存储在该存储器上并可被至少一个处理器执行的指令,至少一个处理器执行该指令以实现上述实施例中的实现指纹共用的方法。当然,存储器也可以不在该设备和终端中。该设备和终端是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件,本公开实施例对此不作具体限定;该芯片与存储器耦合,用于执行存储器中存储的计算机程序,以执行上述实施例中公开的实现指纹共用的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机程序。在设备和终端上加载和执行计算机程序时,全部或部分地产生按照本公开实施例所述的流程或功能。该计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个基站、注册装置、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个基站、注册装置、服务器或数据中心进行传输。所述计算机可读存储介质可以是注册装置能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。本公开实施例中,注册装置可以包括前面所述的设备。
尽管在此结合各实施例对本公开进行了描述,然而,在实施所要求保护的本公开过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (19)
- 一种实现指纹共用的方法,其特征在于,包括:步骤S0:当设备与终端建立连接时,所述设备向所述终端上报自身具有WBF端口和FIDO端口;步骤S1:当终端接收到用户触发的WBF注册信息时,提醒用户输入指纹并通过所述WBF端口给所述设备发送指纹验证指令;步骤S2:所述设备接收所述指纹验证指令,开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤S3,否则通过所述WBF端口给终端返回验证失败信息,执行步骤S6;步骤S3:所述设备对匹配的指纹模板进行计算得到指纹标识,并将计算得到的所述指纹标识通过所述WBF端口返回给所述终端;步骤S4:当所述终端接收到所述指纹标识时,查询数据库中是否保存有与所述指纹标识对应的用户信息,是则执行步骤S5,否则执行步骤S6;步骤S5:所述终端提醒用户更换指纹,并通过所述WBF端口给所述设备发送指纹注册指令,执行步骤S7;步骤S6:所述终端提醒用户输入指纹并通过所述WBF端口给所述设备发送指纹注册指令,执行步骤S7;步骤S7:所述设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,在FIDO配置中设置指纹已注册标识,执行步骤S8,否则通过所述WBF端口给所述终端返回采集未完成信息,执行步骤S8;步骤S8:所述终端判断接收到的信息,若为指纹标识则执行步骤S9,若为采集未完成信息则返回步骤S6;步骤S9:所述终端将操作系统提供的用户信息与指纹标识对应保存在数据库中。
- 如权利要求1所述的方法,其特征在于,所述步骤S7包括:步骤S71:所述设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;步骤S72:所述设备更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则执行步骤S73,否则通过所述WBF端口给所述终端返回采集未完成信息,执行步骤S8;步骤S73:所述设备根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到的指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,在FIDO配置中设置指纹已注册标识,执行步骤S8。
- 如权利要求2所述的方法,其特征在于,所述步骤S71具体包括:步骤S71-1:所述设备接收指纹注册指令,开始采集指纹信息;步骤S71-2:所述设备判断当前的采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤S72,否则通过所述WBF端口给所述终端返回采集失败信息,执行步骤S8;所述步骤S73中还包括:将当前的剩余采集次数通过所述WBF端口返回给所述终端;所述步骤S8包括:步骤B1:所述终端判断是否接收到指纹标识和剩余采集次数,是则执行步骤B2,否则返回步骤S6;步骤B2:判断所述剩余采集次数是否为采集阈值,是则执行步骤S9,否则返回步骤S6。
- 如权利要求1所述的方法,其特征在于,步骤S5中通过所述WBF端口给所述设备发送指纹注册指令之前还包括:当接收到确认更换信息时通过所述WBF端口给所述设备发送指纹注册指令。
- 如权利要求1所述的方法,其特征在于,所述对匹配的指纹模板进行计算得到指纹标识,具体为:所述设备对匹配的指纹模板进行哈希计算得到指纹标识;所述对生成的指纹模板进行计算得到指纹标识,具体为:所述设备对生成的指纹模板进行哈希计算得到指纹标识。
- 如权利要求1所述的方法,其特征在于,所述步骤S4包括:步骤S41:当所述终端接收到所述设备返回的指纹标识时,通过第四接口查找数据库,通过第五接口打开所述数据库;步骤S42:所述终端通过第六接口将找到的所述数据库中的第一条记录作为当前记录;步骤S43:所述终端通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的指纹标识匹配,是则执行步骤S5,否则执行步骤S44;步骤S44:所述终端判断所述数据库中是否还有未处理的记录,是则执行步骤S45,否则执行步骤S6;步骤S45:所述终端通过第八接口将找到的所述数据库中的下一条记录作为当前记录,返回步骤S43。
- 如权利要求1所述的方法,其特征在于,所述步骤S0之后还包括:步骤T1:当终端接收到登录信息时,判断用户选择的登录方式,如为WBF方式指纹登录则执行步骤T2;步骤T2:所述终端提醒用户输入指纹,并通过所述WBF端口给连接的设备发送指纹验证指令;步骤T3:所述设备接收指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤T4,否则报错,结束;步骤T4:所述设备对匹配的指纹模板进行计算得到的指纹标识,并将所述指纹标识通过所述WBF端口返回给所述终端;步骤T5:当所述终端接收到所述设备返回的指纹标识时,根据指纹标识在数据库中查找对应的用户信息,如找到则执行步骤T6,如未找到则报错,结束;步骤T6:所述终端允许与所述用户信息对应的用户进行当前操作。
- 如权利要求1所述的方法,其特征在于,所述步骤S0之后还包括:步骤Y1:当所述终端接收到用户触发的FIDO注册凭证信息时,通过所述FIDO端口给连接的设备发送获取设备信息指令;步骤Y2:所述设备通过所述FIDO端口给所述终端返回设备信息响应;步骤Y3:所述终端根据接收到的所述设备信息响应判断连接的设备是否支持指纹操作,是则执行步骤Y4,否则进行非指纹FIDO注册凭证流程;步骤Y4:所述终端根据接收到的所述设备信息响应判断所述设备内是否保存有指纹模板,是则执行步骤Y5,否则进行非指纹FIDO注册凭证流程;步骤Y5:所述终端通过所述FIDO端口给连接的所述设备发送FIDO注册指令;步骤Y6:所述设备接收FIDO注册指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则通过所述FIDO端口给终端返回注册成功信息,执行步骤Y7,否则通过所述FIDO端口给终端返回注册失败信息,执行步骤Y7;步骤Y7:所述终端判断接收到的信息的类型,如为注册成功信息则继续FIDO注册凭证操作,如为注册失败信息则报错,结束。
- 如权利要求8所述的方法,其特征在于,所述设备信息响应包括所述FIDO配置中的指纹已注册标识;所述步骤Y4包括:所述终端判断接收到的所述设备信息响应中是否包含指纹已注册标识,是则执行步骤Y5,否则进行非指纹FIDO注册凭证流程。
- 一种实现指纹共用的方法,其特征在于,包括:步骤s0:当设备与终端建立连接时,所述设备向所述终端上报自身具有WBF端口和FIDO端口;步骤s1:当所述终端接收到用户触发的WBF注册信息时提醒用户输入指纹,并通过所述WBF端口给所述设备发送指纹验证指令;步骤s2:所述设备接收所述指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息与保存的指纹模板是否匹配,是则执行步骤s3,否则通过WBF端口给所述终端返回验证失败信息,执行步骤s5;所述保存的指纹模板是通过所述WBF端口或通过所述FIDO端口的指纹注册过程中保存的;步骤s3:所述设备对匹配的指纹模板进行计算得到指纹标识,并将所述指纹标识通过所述WBF端口返回给所述终端;步骤s4:当所述终端接收到设备返回的指纹标识时,查询数据库中是否保存有与接收到的指纹标识对应的用户信息,是则提示当前指纹已注册,否则将操作系统提供的用户信息与接收到的指纹标识对应保存在所述数据库中;步骤s5:所述终端提醒用户输入指纹,并通过所述WBF端口给所述设备发送指纹注册指令;步骤s6:所述设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,执行步骤s7,否则通过所述WBF端口给所述终端返回采集未完成信息,执行步骤s7;步骤s7:所述终端判断接收到的信息,若为指纹标识则将操作系统提供的用户信息与所述指纹标识对应的保存在数据库中,若为采集未完成信息则返回步骤s5。
- 如权利要求10所述的方法,其特征在于,在所述步骤s1之前还包括:当所述终端检测到用户触发应用时,如应用的类型为WBF应用时则执行步骤s1。
- 如权利要求11所述的方法,其特征在于,所述步骤s0之后还包括:如应用的类型为WBF应用且用户触发应用的触发信息类型为WBF登录信息时则执行步骤a1;步骤a1:所述终端提醒用户输入指纹,并通过所述WBF端口给所述设备发送指纹验证指令;步骤a2:所述设备接收所述指纹验证指令,开始采集指纹信息,并判断采集到的指纹信息是否与保存的指纹模板匹配,是则执行步骤a3,否则报错,结束;步骤a3:所述设备对匹配的指纹模板进行计算得到指纹标识,并将所述指纹标识通过所述WBF端口返回给所述终端;步骤a4:当所述终端接收到所述设备返回的指纹标识时,查询数据库中是否保存有与所述指纹标识对应的用户信息,是则执行步骤a5,否则报错,结束;步骤a5:所述终端获取与接收到的所述指纹标识对应的用户信息,允许与所述用户信息对应的用户进行登录操作。
- 如权利要求10所述的方法,其特征在于,所述对匹配的指纹模板进行计算得到指纹标识,具体为:对匹配的指纹模板进行哈希计算得到指纹标识;所述对生成的指纹模板进行计算得到指纹标识,具体为:对生成的指纹模板进行哈希计算得到指纹标识。
- 如权利要求10所述的方法,其特征在于,所述步骤s4包括:步骤s4-1:当所述终端接收到设备返回的指纹标识时,通过第四接口查找所述数据库,通过第五接口打开所述数据库;步骤s4-2:所述终端通过第六接口将找到的所述数据库中的第一条记录作为当前记录;步骤s4-3:所述终端通过第七接口获取当前记录的内容,判断获取的当前记录的内容是否与接收到的所述指纹标识匹配,是则提示当前指纹已注册,否则执行步骤s4-4;步骤s4-4:所述终端判断所述数据库中是否还有未处理的记录,是则执行步骤s4-5,否则将操作系统提供的用户信息与接收到的所述指纹标识对应保存在所述数据库中;步骤s4-5:所述终端通过第八接口将找到的所述数据库中的下一条记录作为当前记录,返回步骤s4-3。
- 如权利要求10所述的方法,其特征在于,所述步骤s6包括:步骤d1:所述设备接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;步骤d2:所述设备更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则执行步骤d3,否则通过所述WBF端口给所述终端返回采集未完成信息,执行步骤s7;步骤d3:所述设备根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,执行步骤s7。
- 如权利要求15所述的方法,其特征在于,所述步骤d1具体包括:步骤d1-1:所述设备接收指纹注册指令,开始采集指纹信息;步骤d1-2:所述设备判断采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤d2,否则通过所述WBF端口给所述终端返回采集失败信息,执行步骤s7;所述步骤d3中还包括:将当前的剩余采集次数通过所述WBF端口返回给所述终端;所述步骤s7包括:步骤P1:所述终端判断是否接收到指纹标识和剩余采集次数,是则执行步骤P2,否则返回步骤s5;步骤P2:判断所述剩余采集次数是否为采集阈值,是则将操作系统提供的用户信息与所述指纹标识对应的保存在数据库中,否则返回步骤s5。
- 如权利要求10所述的方法,其特征在于,所述步骤s0之后还包括:步骤b1:当终端检测到用户触发应用时,如应用的类型为FIDO应用且用户触发应用的触发信息类型为FIDO注册信息时则执行步骤b2;步骤b2:所述终端通过所述FIDO端口从连接的设备中获取设备信息响应;步骤b3:所述终端根据接收到的所述设备信息响应判断连接的所述设备是否支持FIDO操作,是则执行步骤b4,否则报错,结束;步骤b4:所述终端通过所述FIDO端口从连接的所述设备中获取设备属性响应;步骤b5:所述终端根据接收到的设备属性响应判断连接的所述设备是否支持指纹操作,是则执行步骤b6,否则进行非指纹FIDO注册流程;步骤b6:所述终端提示用户输入PIN码,当接收到用户输入的PIN码时根据所述PIN码生成PIN码验证指令并将所述PIN码验证指令通过所述FIDO端口发送给连接的所述设备;步骤b7:所述设备对所述PIN码验证指令中的PIN码进行验证,如验证成功则通过所述FIDO端口给所述终端返回验PIN码成功信息,执行步骤b8,如验证失败则通过所述FIDO端口给所述终端返回验PIN码失败信息;步骤b8:所述终端通过所述FIDO端口给连接的所述设备发送指纹注册指令;步骤b9:所述设备接收到所述指纹注册指令后开始采集指纹信息,并保存采集到的指纹信息,判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,通过所述FIDO端口给所述终端返回采集完成信息,执行步骤b10,否则通过所述FIDO端口给所述终端返回采集未完成信息,执行步骤b10;步骤b10:所述终端根据所述设备返回的信息判断注册过程是否完成,是则提示指纹注册成功,否则返回步骤b8。
- 如权利要求17所述的方法,其特征在于,所述步骤b5与所述步骤b6之间还包括:所述终端通过所述FIDO端口从连接的所述设备中获取包含采集阈值的指纹属性响应;所述步骤b9包括:步骤t0:所述设备接收到所述指纹注册指令后开始采集指纹信息;步骤t1:所述设备判断采集状态是否为采集成功,是则保存采集到的指纹信息,执行步骤t2,否则通过所述FIDO端口给所述终端返回采集失败信息,执行步骤b10;步骤t2:所述设备更新剩余采集次数,并判断当前的剩余采集次数是否为采集阈值,是则根据保存的指纹信息生成指纹模板并保存,通过所述FIDO端口给所述终端返回采集完成信息和当前的剩余采集次数,执行步骤b10,否则通过所述FIDO端口给所述终端返回采集未完成信息,执行步骤b10;所述步骤b10包括:步骤b10-1:所述终端判断所述设备返回的信息是否包含采集完成信息和剩余采集次数,是则执行步骤b10-2,否则返回步骤b8;步骤B10-2:所述终端判断所述剩余采集次数是否为采集阈值,是则提示指纹注册成功,否则返回步骤b8。
- 一种实现指纹共用的系统,其特征在于,包括终端和设备,所述设备包括:上报模块、第一采集判断模块、第一计算返回模块、采集保存模块和判断计算返回模块,所述终端包括:第一提醒发送模块、第一查询模块、第二提醒发送模块、第三提醒发送模块、第一判断模块和第一保存模块;所述上报模块,用于当所述设备与所述终端建立连接时,向所述终端上报自身具有WBF端口和FIDO端口;所述第一提醒发送模块,用于当终端接收到用户触发的WBF注册信息时,提醒用户输入指纹并通过所述WBF端口给设备发送指纹验证指令;所述第一采集判断模块,用于接收所述指纹验证指令,开始采集指纹信息并判断采集到的指纹信息是否与保存的指纹模板匹配,是则触发所述第一计算返回模块,否则通过所述WBF端口给终端返回验证失败信息,触发所述第三提醒发送模块;所述第一计算返回模块,用于对匹配的指纹模板进行计算得到指纹标识,并将计算得到的所述指纹标识通过所述WBF端口返回给所述终端;所述第一查询模块,用于当接收到所述指纹标识时,查询数据库中是否保存有与所述指纹标识对应的用户信息,是则触发所述第二提醒发送模块,否则触发所述第三提醒发送模块;所述第二提醒发送模块,用于提醒用户更换指纹,并通过所述WBF端口给所述设备发送指纹注册指令,触发所述采集保存模块;所述第三提醒发送模块,用于提醒用户输入指纹并通过所述WBF端口给所述设备发送指纹注册指令,触发所述采集保存模块;所述采集保存模块,用于接收指纹注册指令,开始采集指纹信息并保存采集到的指纹信息;所述判断计算返回模块,用于判断采集指纹信息是否完成,是则根据保存的指纹信息生成指纹模板并保存,对生成的指纹模板进行计算得到指纹标识,将所述指纹标识通过所述WBF端口返回给所述终端,在FIDO配置中设置指纹已注册标识,触发所述第一判断模块,否则通过所述WBF端口给所述终端返回采集未完成信息,触发所述第一判断模块;所述第一判断模块,用于判断接收到的信息,若为指纹标识则触发所述第一保存模块,若为采集未完成信息则触发所述第三提醒发送模块;所述第一保存模块,用于将操作系统提供的用户信息与所述指纹标识对应保存在数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/283,459 US20240160711A1 (en) | 2021-08-02 | 2022-07-19 | Method and system for implementing fingerprint sharing |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110878228.0 | 2021-08-02 | ||
CN202110878230.8A CN113312602B (zh) | 2021-08-02 | 2021-08-02 | 一种实现指纹共用的方法及系统 |
CN202110878228.0A CN113312607B (zh) | 2021-08-02 | 2021-08-02 | 一种实现指纹共用的方法及系统 |
CN202110878230.8 | 2021-08-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023011168A1 true WO2023011168A1 (zh) | 2023-02-09 |
Family
ID=85155148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/106566 WO2023011168A1 (zh) | 2021-08-02 | 2022-07-19 | 实现指纹共用的方法及系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240160711A1 (zh) |
WO (1) | WO2023011168A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483014A (zh) * | 2023-06-20 | 2023-07-25 | 飞天诚信科技股份有限公司 | 一种指纹录入的实现方法、装置及系统 |
CN118013488A (zh) * | 2024-04-10 | 2024-05-10 | 汉兴同衡科技集团有限公司 | 一种终端安全防护方法、装置、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147801A1 (en) * | 2015-11-25 | 2017-05-25 | Dell Products L.P. | Pre-boot authentication credential sharing system |
CN108064376A (zh) * | 2017-11-20 | 2018-05-22 | 深圳市汇顶科技股份有限公司 | 系统启动校验方法及系统、电子设备和计算机存储介质 |
CN111970116A (zh) * | 2019-05-20 | 2020-11-20 | 茨特里克斯系统公司 | 具有远程认证的虚拟递送设备和系统以及相关方法 |
CN113312607A (zh) * | 2021-08-02 | 2021-08-27 | 飞天诚信科技股份有限公司 | 一种实现指纹共用的方法及系统 |
CN113312602A (zh) * | 2021-08-02 | 2021-08-27 | 飞天诚信科技股份有限公司 | 一种实现指纹共用的方法及系统 |
-
2022
- 2022-07-19 WO PCT/CN2022/106566 patent/WO2023011168A1/zh active Application Filing
- 2022-07-19 US US18/283,459 patent/US20240160711A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147801A1 (en) * | 2015-11-25 | 2017-05-25 | Dell Products L.P. | Pre-boot authentication credential sharing system |
CN108064376A (zh) * | 2017-11-20 | 2018-05-22 | 深圳市汇顶科技股份有限公司 | 系统启动校验方法及系统、电子设备和计算机存储介质 |
CN111970116A (zh) * | 2019-05-20 | 2020-11-20 | 茨特里克斯系统公司 | 具有远程认证的虚拟递送设备和系统以及相关方法 |
CN113312607A (zh) * | 2021-08-02 | 2021-08-27 | 飞天诚信科技股份有限公司 | 一种实现指纹共用的方法及系统 |
CN113312602A (zh) * | 2021-08-02 | 2021-08-27 | 飞天诚信科技股份有限公司 | 一种实现指纹共用的方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483014A (zh) * | 2023-06-20 | 2023-07-25 | 飞天诚信科技股份有限公司 | 一种指纹录入的实现方法、装置及系统 |
CN116483014B (zh) * | 2023-06-20 | 2023-09-19 | 飞天诚信科技股份有限公司 | 一种指纹录入的实现方法、装置及系统 |
CN118013488A (zh) * | 2024-04-10 | 2024-05-10 | 汉兴同衡科技集团有限公司 | 一种终端安全防护方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20240160711A1 (en) | 2024-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023011168A1 (zh) | 实现指纹共用的方法及系统 | |
JP6992105B2 (ja) | 認証能力を決定するためのクエリシステム及び方法 | |
CN106254560B (zh) | 信息传输方法及装置 | |
US20180241779A1 (en) | Query system and method to determine authentication capabilities | |
WO2018121555A1 (zh) | 一种硬件钱包及其持有者身份验证方法 | |
US9083689B2 (en) | System and method for implementing privacy classes within an authentication framework | |
US9219732B2 (en) | System and method for processing random challenges within an authentication framework | |
US9015482B2 (en) | System and method for efficiently enrolling, registering, and authenticating with multiple authentication devices | |
US9781105B2 (en) | Fallback identity authentication techniques | |
CN107196901B (zh) | 一种身份注册及认证的方法及装置 | |
US20170126640A1 (en) | Resolving authenticating issues with a second device | |
US11811952B2 (en) | Authentication system and working method thereof | |
US20140189360A1 (en) | System and method for implementing transaction signing within an authentication framework | |
US11283793B2 (en) | Securing user sessions | |
EP3399452B1 (en) | Method, device and terminal for inputting login password of an application | |
CN111404695B (zh) | 令牌请求验证方法和装置 | |
CN113312607B (zh) | 一种实现指纹共用的方法及系统 | |
US10270771B1 (en) | Mid-session live user authentication | |
US11823194B2 (en) | Decentralized biometric authentication platform | |
CN113312602B (zh) | 一种实现指纹共用的方法及系统 | |
WO2016183910A1 (zh) | 一种无线连接方法、装置和终端 | |
US12132843B2 (en) | System and method for secure device authentication via sequential signed certificates | |
US20230283485A1 (en) | Method and device for dynamic public key infrastructure | |
US20230254167A1 (en) | Computing systems for keying and rekeying cryptographic credentials for accessing a data chain using strong authentication | |
JP2009223739A (ja) | ユーザ認証システム、ユーザ認証方法およびコンピュータが実行するためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22851882 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18283459 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22851882 Country of ref document: EP Kind code of ref document: A1 |