CN113312607A - Method and system for realizing fingerprint sharing - Google Patents

Method and system for realizing fingerprint sharing Download PDF

Info

Publication number
CN113312607A
CN113312607A CN202110878228.0A CN202110878228A CN113312607A CN 113312607 A CN113312607 A CN 113312607A CN 202110878228 A CN202110878228 A CN 202110878228A CN 113312607 A CN113312607 A CN 113312607A
Authority
CN
China
Prior art keywords
fingerprint
information
terminal
module
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110878228.0A
Other languages
Chinese (zh)
Other versions
CN113312607B (en
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN202110878228.0A priority Critical patent/CN113312607B/en
Publication of CN113312607A publication Critical patent/CN113312607A/en
Application granted granted Critical
Publication of CN113312607B publication Critical patent/CN113312607B/en
Priority to PCT/CN2022/106566 priority patent/WO2023011168A1/en
Priority to US18/283,459 priority patent/US20240160711A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Collating Specific Patterns (AREA)

Abstract

The invention discloses a method and a system for realizing fingerprint sharing, and relates to the field of information security. When the equipment receives a fingerprint verification instruction, starting to collect fingerprint information and judging whether the collected fingerprint information is matched with a stored fingerprint template, if so, calculating the fingerprint template and returning a fingerprint identifier obtained by calculation to the terminal; the terminal inquires whether the database has user information corresponding to the fingerprint identification, if so, the current fingerprint is prompted to be registered, otherwise, the user information and the fingerprint identification are correspondingly stored in the database; when the device receives a fingerprint registration instruction, fingerprint information starts to be collected and stored, whether the fingerprint information collection is completed or not is judged, if yes, a fingerprint template is generated and stored according to the fingerprint information, the fingerprint template is calculated, a fingerprint identifier obtained through calculation is returned to the terminal, and after the terminal receives the fingerprint identifier, user information and the fingerprint identifier are stored in the database in a corresponding mode. The technical scheme of the invention improves the compatibility of the equipment.

Description

Method and system for realizing fingerprint sharing
Technical Field
The invention relates to the field of information security, in particular to a method and a system for realizing fingerprint sharing.
Background
Fast authentication devices (FIDO devices) are currently used in the context of password removal for mainstream websites, but do not support local system registration (i.e., microsoft account, no networking is required). The existing Windows hello is a biological characteristic authorization mode, can unlock equipment by using biological characteristics such as a face, an iris or a fingerprint, supports local system operation, is used as a parallel mode for supporting a local operating system with registration of a password, a PIN code and the like, is safer and more convenient to use, and is realized by relying on a WBF (Windows biological recognition framework) technical system. So far, fingerprint registration and usage of FIDO devices is relatively independent of application scenarios for windows hello fingerprint registration and usage. How to combine fingerprint registration and use of the FIDO device with that of the windows hello device and provide a method for realizing fingerprint sharing safely and conveniently is a problem to be solved in the prior art.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a method and a system for realizing fingerprint sharing.
The invention provides a method for realizing fingerprint sharing, which comprises the following steps:
step S0: when the equipment establishes connection with a terminal, the equipment reports that the equipment is provided with a WBF port and an FIDO port to the terminal;
step S1: when the terminal receives WBF registration information triggered by a user, the terminal reminds the user to input a fingerprint and sends a fingerprint verification instruction to the equipment through the WBF port;
step S2: the device receives the fingerprint verification instruction, starts to collect fingerprint information, judges whether the collected fingerprint information is matched with a stored fingerprint template or not, if so, executes the step S3, otherwise, returns verification failure information to the terminal through a WBF port, and executes the step S5; the saved fingerprint template is saved during fingerprint registration through the WBF port or through the FIDO port;
step S3: the equipment calculates the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
step S4: when the terminal receives a fingerprint identifier returned by equipment, inquiring whether user information corresponding to the received fingerprint identifier is stored in a database, if so, prompting that the current fingerprint is registered, otherwise, storing the user information provided by an operating system and the received fingerprint identifier in the database correspondingly;
step S5: the terminal reminds a user to input a fingerprint and sends a fingerprint registration instruction to the equipment through the WBF port;
step S6: the device receives a fingerprint registration instruction, starts to collect fingerprint information and stores the collected fingerprint information, judges whether the collected fingerprint information is finished, generates and stores a fingerprint template according to the stored fingerprint information if the collected fingerprint information is finished, calculates the generated fingerprint template to obtain a fingerprint identifier, returns the fingerprint identifier to the terminal through the WBF port, and executes the step S7, otherwise returns collection unfinished information to the terminal through the WBF port, and executes the step S7;
step S7: and the terminal judges the received information, stores the user information provided by the operating system and the fingerprint identification in a database if the received information is the fingerprint identification, and returns to the step S5 if the received information is the acquisition incompletion information.
The invention also provides a system for realizing fingerprint sharing, which comprises a terminal and equipment;
the terminal comprises a first reminding sending module, a first query and storage module, a second reminding sending module and a first judging module;
the device comprises a reporting module, a first acquisition judging module, a first calculation returning module, an acquisition storage judging module and a second calculation returning module;
the reporting module is configured to report to the terminal that the device has a WBF port and an FIDO port when the device establishes a connection with the terminal;
the first reminding sending module is used for reminding a user of inputting a fingerprint when the terminal receives WBF registration information triggered by the user, and sending a fingerprint verification instruction to the equipment through the WBF port;
the first acquisition judging module is used for receiving the fingerprint verification instruction, starting to acquire fingerprint information, judging whether the acquired fingerprint information is matched with a stored fingerprint template or not, if so, triggering the first calculation returning module, otherwise, returning verification failure information to the terminal through the WBF port, and triggering the second reminding sending module; the saved fingerprint template is saved during fingerprint registration through the WBF port or through the FIDO port;
the first calculation returning module is used for calculating the matched fingerprint template to obtain a fingerprint identifier and returning the fingerprint identifier to the terminal through the WBF port;
the first query storage module is used for querying whether user information corresponding to the received fingerprint identifier is stored in a database when the fingerprint identifier returned by the equipment is received, if so, prompting that the current fingerprint is registered, otherwise, correspondingly storing the user information provided by an operating system and the received fingerprint identifier in the database;
the second reminding sending module is used for reminding a user of inputting a fingerprint and sending a fingerprint registration instruction to the equipment through the WBF port;
the acquisition and storage judging module is used for receiving a fingerprint registration instruction, starting to acquire fingerprint information, storing the acquired fingerprint information, judging whether the acquired fingerprint information is finished or not, if so, triggering the second calculation returning module, otherwise, returning acquisition unfinished information to the terminal through the WBF port, and triggering the first judging module;
the second calculation returning module is used for generating and storing a fingerprint template according to the stored fingerprint information, calculating the generated fingerprint template to obtain a fingerprint identifier, returning the fingerprint identifier to the terminal through the WBF port, and triggering the first judging module;
the first judging module is used for judging the received information, storing the user information provided by the operating system and the fingerprint identification in a database if the received information is the fingerprint identification, and triggering the second reminding sending module if the received information is the acquisition uncompleted information.
Compared with the prior art, the invention has the following advantages:
the equipment provided in the embodiment is composite equipment which supports both FIDO operation and windows hello fingerprint operation, and has the advantages of wider application range, more convenience and high cost performance; the fingerprint registered by the device through the FIDO application can be used in the windows hello application, so that the problem that the fingerprints are repeatedly registered by the windows hello application and the FIDO application is solved, and the compatibility of the device is improved.
Drawings
Fig. 1 is a flowchart of a method for implementing fingerprint sharing according to an embodiment of the present invention;
fig. 2 and fig. 3 are flowcharts of a method for implementing fingerprint sharing according to a second embodiment of the present invention;
fig. 4 is a block diagram illustrating a system for implementing fingerprint sharing according to a third embodiment of the present invention.
Detailed Description
The present application provides a method and a system for implementing fingerprint sharing, and the following detailed description is provided with reference to the accompanying drawings. Examples of which are illustrated in the accompanying drawings. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
It will be understood by those within the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention are described in further detail below with reference to the accompanying drawings.
The device provided by this embodiment is a composite device that supports both the FIDO operation and the windows hello fingerprint operation, and the fingerprint registered by the FIDO application can be used in the windows hello application, so as to avoid the problem that the fingerprints are repeatedly registered by the windows hello application and the FIDO application, where the windows hello fingerprint operation is described by taking a WBF device application as an example.
Example one
An embodiment of the present invention provides a method for implementing fingerprint sharing, as shown in fig. 1, including:
step S0: when the equipment establishes connection with the terminal, the equipment reports that the equipment is provided with a WBF port and an FIDO port to the terminal;
step S1: when the terminal receives WBF registration information triggered by a user, the terminal reminds the user to input a fingerprint and sends a fingerprint verification instruction to the equipment through a WBF port;
the present embodiment further includes, before step S1: when the terminal detects that the user triggers the application, if the application is a WBF application, step S1 is executed;
step S2: the device receives a fingerprint verification instruction, starts to collect fingerprint information, judges whether the collected fingerprint information is matched with a stored fingerprint template or not, if so, executes the step S3, otherwise, returns verification failure information to the terminal through a WBF port, and executes the step S5;
in this embodiment, the stored fingerprint template is stored during fingerprint registration through WBF port or through FIDO port;
step S3: the device calculates the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
optionally, step S3 includes: the device performs hash calculation on the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
step S4: when the terminal receives a fingerprint identifier returned by the equipment, inquiring whether user information corresponding to the received fingerprint identifier is stored in the database, if so, prompting that the current fingerprint is registered, otherwise, storing the user information provided by the operating system and the received fingerprint identifier in the database correspondingly;
specifically, in this embodiment, step S4 includes:
step S4-1: when the terminal receives the fingerprint identifier returned by the equipment, searching the database through the fourth interface, and opening the database through the fifth interface;
step S4-2: the terminal takes the first record in the found database as the current record through a sixth interface;
step S4-3: the terminal acquires the currently recorded content through the seventh interface, judges whether the acquired currently recorded content is matched with the received fingerprint identifier, prompts that the current fingerprint is registered if the acquired currently recorded content is matched with the received fingerprint identifier, and otherwise, executes the step S4-4;
step S4-4: the terminal judges whether the database has unprocessed records, if so, the step S4-5 is executed, otherwise, the user information provided by the operating system and the received fingerprint identification are correspondingly stored in the database;
step S4-5: the terminal takes the next record in the found database as the current record through the eighth interface, and returns to the step S4-3;
step S5: the terminal reminds the user to input a fingerprint and sends a fingerprint registration instruction to the equipment through the WBF port;
step S6: the device receives a fingerprint registration instruction, starts to collect fingerprint information and stores the collected fingerprint information, judges whether the collected fingerprint information is finished, generates a fingerprint template according to the stored fingerprint information and stores the fingerprint template, calculates the generated fingerprint template to obtain a fingerprint identifier, returns the fingerprint identifier to the terminal through a WBF port, and executes the step S7, otherwise returns collection unfinished information to the terminal through the WBF port, and executes the step S7;
optionally, the step S6 of calculating the generated fingerprint template to obtain the fingerprint identifier includes: performing Hash calculation on the generated fingerprint template to obtain a fingerprint identifier;
specifically, step S6 includes:
step D1: the equipment receives a fingerprint registration instruction, starts to collect fingerprint information and stores the collected fingerprint information;
in this embodiment, step D1 includes:
step D1-1: the device receives a fingerprint registration instruction and starts to collect fingerprint information;
step D1-2: the device judges whether the acquisition state is successful, if so, the acquired fingerprint information is stored, step D2 is executed, otherwise, acquisition failure information is returned to the terminal through the WBF port, and step S7 is executed;
step D2: the device updates the remaining acquisition times, judges whether the current remaining acquisition times is an acquisition threshold value, if so, executes step D3, otherwise, returns acquisition unfinished information to the terminal through the WBF port, and executes step S7;
step D3: the device generates and stores a fingerprint template according to the stored fingerprint information, calculates the generated fingerprint template to obtain a fingerprint identifier, returns the fingerprint identifier to the terminal through the WBF port, and executes the step S7;
optionally, step D3 in this embodiment further includes: the equipment returns the current residual collection times to the terminal through the WBF port;
step S7: the terminal judges the received information, if the received information is a fingerprint identifier, the user information provided by the operating system and the fingerprint identifier are correspondingly stored in a database, and if the received information is an acquisition unfinished information, the step S5 is returned;
in the present embodiment, step S7 includes:
step P1: the terminal judges whether the fingerprint identification and the residual acquisition times are received, if so, the step P2 is executed, otherwise, the step S5 is returned;
step P2: and judging whether the residual acquisition times are the acquisition threshold values, if so, storing the user information provided by the operating system and the fingerprint identifications in the database correspondingly, and if not, returning to the step S5.
Optionally, the method of this embodiment further includes, after step S0:
if the application type is WBF application and the user triggers the application trigger information type is WBF login information, then step a1 is executed;
step A1: the terminal reminds a user to input a fingerprint and sends a fingerprint verification instruction to the equipment through the WBF port;
step A2: the equipment receives a fingerprint verification instruction, starts to collect fingerprint information, judges whether the collected fingerprint information is matched with a stored fingerprint template, if so, executes the step A3, otherwise, reports an error, and ends;
step A3: the device calculates the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
step A4: when the terminal receives the fingerprint identifier returned by the equipment, inquiring whether user information corresponding to the fingerprint identifier is stored in the database, if so, executing the step A5, otherwise, reporting an error, and ending;
step A5: and the terminal acquires the user information corresponding to the received fingerprint identification and allows the user corresponding to the user information to perform login operation.
The method in this embodiment further includes, after step S0:
step B1: when the terminal detects that the user triggers the application, if the type of the application is the FIDO application and the type of the trigger information of the user triggered application is FIDO registration information, executing step B2;
step B2: the terminal acquires equipment information response from connected equipment through the FIDO port;
step B3: the terminal judges whether the connected equipment supports the FIDO operation according to the received equipment information response, if so, the step B4 is executed, otherwise, the error is reported, and the operation is finished;
step B4: the terminal acquires the equipment attribute response from the connected equipment through the FIDO port;
step B5: the terminal judges whether the connected equipment supports fingerprint operation according to the received equipment attribute response, if so, the step B6 is executed, otherwise, the non-fingerprint FIDO registration process is carried out;
step B6: the terminal prompts a user to input a PIN code, generates a PIN code verification instruction according to the PIN code when receiving the PIN code input by the user and sends the PIN code verification instruction to connected equipment through an FIDO port;
step B7: the equipment verifies the PIN in the PIN verification instruction, if the verification is successful, PIN verification success information is returned to the terminal through the FIDO port, the step B8 is executed, and if the verification is failed, PIN verification failure information is returned to the terminal through the FIDO port;
step B8: the terminal sends a fingerprint registration instruction to connected equipment through an FIDO port;
step B9: the device starts to collect fingerprint information after receiving a fingerprint registration instruction, stores the collected fingerprint information, judges whether the collected fingerprint information is finished, generates and stores a fingerprint template according to the stored fingerprint information if the collected fingerprint information is finished, returns collection finishing information to the terminal through an FIDO port, and executes the step B10, otherwise returns collection unfinished information to the terminal through the FIDO port, and executes the step B10;
step B10: and the terminal judges whether the registration process is finished according to the information returned by the equipment, if so, the fingerprint registration is prompted to be successful, and if not, the step B8 is returned.
Alternatively to this, the first and second parts may,
step B9 includes:
step T0: the device starts to collect fingerprint information after receiving a fingerprint registration instruction;
step T1: the device judges whether the acquisition state is successful, if so, the acquired fingerprint information is stored, the step T2 is executed, otherwise, acquisition failure information is returned to the terminal through the FIDO port, and the step B10 is executed;
step T2: the equipment updates the residual acquisition times, judges whether the current residual acquisition times is an acquisition threshold value or not, generates and stores a fingerprint template according to the stored fingerprint information if the current residual acquisition times is the acquisition threshold value, returns acquisition completion information and the current residual acquisition times to the terminal through an FIDO port, and executes the step B10, otherwise returns acquisition completion information to the terminal through the FIDO port and executes the step B10;
step B10 includes:
step B10-1: the terminal judges whether the information returned by the equipment contains the acquisition completion information and the residual acquisition times, if so, the step B10-2 is executed, otherwise, the error is reported, and the operation is finished;
step B10-2: and the terminal judges whether the residual acquisition times are the acquisition threshold values, if so, the fingerprint registration is prompted to be successful, and if not, the step B8 is returned.
The equipment provided in the embodiment is composite equipment which supports both FIDO operation and windows hello fingerprint operation, and has the advantages of wider application range, more convenience and high cost performance; in this embodiment, the fingerprint registered by the device through the FIDO application may be used in the windows hello application, so as to avoid the problem that the fingerprints are repeatedly registered by the windows hello application and the FIDO application.
Example two
An embodiment of the present invention provides a method for implementing fingerprint sharing, as shown in fig. 2 and 3, including:
step 100: when the equipment establishes connection with the terminal, the equipment reports that the equipment is provided with a WBF port and an FIDO port to the terminal;
step 101: when the terminal detects that the user triggers the application, judging the type of the application, if the type of the application is a first type, executing the step 102, and if the type of the application is a second type, executing the step 118;
specifically, in this embodiment, the first type of application is an application that performs fingerprint registration and authentication using a WBF port, for example, boot login; the second type of application is an application that uses the FIDO port for fingerprint enrollment and verification, such as a security key;
step 102: the terminal judges the type of the trigger information of the user trigger application, if the trigger information is login information, the step 113 is executed, and if the trigger information is registration information, the step 103 is executed;
the trigger information in this embodiment includes user information;
step 103: the terminal reminds a user to input a fingerprint and sends a fingerprint verification instruction to the equipment through the WBF port;
step 104: the equipment receives a fingerprint verification instruction, starts to collect fingerprint information, judges whether the collected fingerprint information is matched with a stored fingerprint template or not, if so, executes the step 105, otherwise, executes the step 108;
optionally, before the method of this embodiment, a user enters a fingerprint on a device and stores a fingerprint template matching the fingerprint, that is, the terminal sends a fingerprint registration fingerprint to the device through a WBF port or an FIDO port, the device starts to collect and store fingerprint information after receiving a fingerprint registration instruction, and generates and stores a fingerprint template according to the stored fingerprint information after collecting the fingerprint information;
if the fingerprint template is not stored in the device before step 104, step 108 is executed if the fingerprint template is determined not to match in step 104;
in this embodiment, the terminal calls the first interface to start the fingerprint acquisition process, and calls the second interface to end the fingerprint acquisition process after the acquisition is finished; specifically, the first interface in this embodiment is an interface for starting fingerprint collection, and the second interface is an interface for ending fingerprint collection;
for example, the first interface is:
SensorAdapterStartCapture(
_Inout_ PWINBIO_PIPELINE Pipeline,
_In_ WINBIO_BIR_PURPOSE Purpose,
_Out_ LPOVERLAPPED *Overlapped
);
the second interface is:
SensorAdapterFinishCapture(
_Inout_ PWINBIO_PIPELINE Pipeline,
_Out_ PWINBIO_REJECT_DETAIL RejectDetail
);
step 105: the device calculates the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
preferably, in this embodiment, step 105 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;
in this embodiment, the device calls a third interface to calculate the matched fingerprint template, specifically, the third interface is a fingerprint calculation interface, for example, the third interface is:
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
)
step 106: when the terminal receives a fingerprint identifier returned by the equipment, inquiring whether user information corresponding to the received fingerprint identifier is stored in a database, if so, prompting that the current fingerprint is registered by the terminal, returning to the step 101, otherwise, executing the step 107;
specifically, in this embodiment, step 106 includes:
step 106-1: when the terminal receives the fingerprint identifier returned by the equipment, searching the database through the fourth interface, and opening the database through the fifth interface;
specifically, the fourth interface in this embodiment searches for a database interface, and the fifth interface is an open database interface;
for example, the fourth interface is:
StorageAdapterQueryBySubject(
_Inout_ PWINBIO_PIPELINE Pipeline,
_In_ PWINBIO_IDENTITY Identity,
_In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor
);
the fifth interface is:
StorageAdapterOpenDatabase(
_Inout_ PWINBIO_PIPELINE Pipeline,
_In_ PWINBIO_UUID DatabaseId,
_In_ LPCWSTR FilePath,
_In_ LPCWSTR ConnectString
);
step 106-2: the terminal takes the first record in the found database as the current record through a sixth interface;
specifically, the sixth interface in this embodiment searches for the first record interface, for example, the sixth interface is:
StorageAdapterFirstRecord(
_Inout_ PWINBIO_PIPELINE Pipeline
);
step 106-3: the terminal acquires the currently recorded content through the seventh interface, judges whether the acquired currently recorded content is matched with the received fingerprint identification, if so, the terminal prompts that the current fingerprint is registered, otherwise, the step 106-4 is executed;
specifically, the seventh interface in this embodiment is an interface for acquiring the recorded content, for example, the seventh interface is:
StorageAdapterGetCurrentRecord(
_Inout_ PWINBIO_PIPELINE Pipeline,
_Out_ PWINBIO_STORAGE_RECORD RecordContents
);
step 106-4: the terminal judges whether the database has unprocessed records, if so, the step 106-5 is executed, otherwise, the step 107 is executed;
step 106-5: the terminal takes the next record in the found database as the current record through the eighth interface and returns to the step 106-3;
specifically, the eighth interface in this embodiment is to search for the next recording interface, for example, the eighth interface is:
StorageAdapterNextRecord(
_Inout_ PWINBIO_PIPELINE Pipeline
);
step 107: the terminal correspondingly stores the user information provided by the operating system and the received fingerprint identification in a database, and returns to the step 101;
step 108: the device returns verification failure information to the terminal through the WBF port, and performs step 109;
step 109: the terminal reminds the user to input a fingerprint and sends a fingerprint registration instruction to the equipment through the WBF port;
step 110: the device receives a fingerprint registration instruction, starts to collect fingerprint information and stores the collected fingerprint information, judges whether the collected fingerprint information is finished, generates and stores a fingerprint template according to the stored fingerprint information if the collected fingerprint information is finished, calculates the generated fingerprint template to obtain a fingerprint identifier, returns the fingerprint identifier to the terminal through a WBF port, executes step 111, otherwise returns collection unfinished information to the terminal through the WBF port, and executes step 111;
in this embodiment, the starting of collecting fingerprint information and storing the collected fingerprint information, and the determining whether collecting fingerprint information is completed specifically includes:
step A0: starting to collect fingerprint information;
step A1: judging whether the acquisition state is successful, if so, storing the acquired fingerprint information, executing the step A2, otherwise, returning acquisition failure information to the terminal through a WBF port, and executing the step 111;
step A2: updating the residual acquisition times, judging whether the current residual acquisition times are preset values, if so, finishing fingerprint information acquisition, and otherwise, finishing fingerprint information acquisition;
step 111: the terminal judges the received information, if the received information is a fingerprint identifier, the step 112 is executed, and if the received information is an acquisition unfinished information, the step 109 is returned;
step 112: the terminal correspondingly stores the user information provided by the operating system and the received fingerprint identification in a database, and returns to the step 101;
for example, in this embodiment, the information stored in the database includes: user information, fingerprint identification;
step 113: the terminal reminds a user to input a fingerprint and sends a fingerprint verification instruction to the equipment through the WBF port;
in this embodiment, the terminal calls the first interface to start the fingerprint acquisition process, and calls the second interface to end the fingerprint acquisition process after the acquisition is finished;
step 114: the device receives the fingerprint verification instruction, starts to collect fingerprint information, judges whether the collected fingerprint information is matched with the stored fingerprint template, if so, executes the step 115, otherwise, reports an error, and ends;
step 115: the device calculates the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
in this embodiment, the device calls a third interface to calculate the matched fingerprint template;
step 116: when the terminal receives the fingerprint identifier returned by the equipment, inquiring whether user information corresponding to the fingerprint identifier is stored in the database, if so, executing step 117, otherwise, reporting an error, and ending;
step 117: the terminal acquires user information corresponding to the received fingerprint identification, allows a user corresponding to the user information to perform login operation, and returns to the step 101;
step 118: the terminal judges the type of the trigger information of the user trigger application, and if the type is FIDO registration information, an equipment information acquisition instruction is sent to the equipment through an FIDO port;
step 119: the equipment returns an equipment information response to the terminal through the FIDO port;
step 120: the terminal judges whether the connected equipment supports the FIDO operation according to the received equipment information response, if so, the step 121 is executed, otherwise, the error is reported, and the operation is finished;
specifically, in this embodiment, step 120 includes: the terminal judges whether the received equipment information response contains the FIDO operation information supported by the equipment, if so, the step 121 is executed, otherwise, an error is reported, and the operation is finished;
step 121: the terminal sends an instruction for acquiring the equipment attribute to the connected equipment through the FIDO port;
step 122: after receiving the command of obtaining the equipment attribute, the equipment returns an equipment attribute response to the terminal through the FIDO port;
specifically, the device attribute response in this embodiment may include supporting/not supporting the fingerprint operation;
step 123: the terminal judges whether the connected equipment supports fingerprint operation according to the received equipment attribute response, if so, step 124 is executed, otherwise, a non-fingerprint FIDO registration process is carried out;
specifically, in this embodiment, step 123 includes: the terminal judges whether the received device attribute response contains the device supporting fingerprint operation information, if yes, step 124 is executed, otherwise, the non-fingerprint FIDO registration process is carried out;
optionally, in this embodiment, the non-fingerprint FIDO registration process is the prior art, and is not described herein again;
step 124: the terminal sends a fingerprint attribute acquisition instruction to connected equipment through an FIDO port;
step 125: after receiving the instruction of acquiring the fingerprint attribute, the equipment returns a fingerprint attribute response to the terminal through the FIDO port;
specifically, the fingerprint attribute response in this embodiment includes the type of captured fingerprint (press or scan) supported by the device, the remaining number of times of capture;
step 126: the terminal prompts a user to input a PIN code, and when the PIN code input by the user is received, a PIN code verification instruction is generated according to the PIN code and is sent to connected equipment through an FIDO port;
step 127: the equipment verifies the PIN in the PIN verification instruction, if the verification is successful, PIN verification success information is returned to the terminal through the FIDO port, and the step 128 is executed, and if the verification is failed, PIN verification failure information is returned to the terminal through the FIDO port;
specifically, in this embodiment, step 127 includes: the equipment judges whether the PIN in the PIN verification instruction is matched with the stored PIN, if so, returns user identity verification success information to the terminal through the FIDO port, and executes the step 128, otherwise, returns PIN verification failure information to the terminal through the FIDO port;
optionally, between step 127 and step 128, further comprising: when the terminal receives the failure information of checking the PIN code, updating the number of retests of the PIN code, judging whether the number of retests of the PIN code is a preset number, if so, reporting an error, and if not, returning to the step 126;
correspondingly, before the step 126, the method further includes: the method comprises the steps that a terminal sends a PIN code retry number acquisition instruction to connected equipment, and the equipment returns the PIN code retry number to the terminal when receiving the PIN code retry number acquisition instruction;
step 128: the terminal sends a fingerprint registration instruction to connected equipment through an FIDO port;
step 129: the device starts to collect fingerprint information after receiving the fingerprint registration instruction and stores the collected fingerprint information;
in this embodiment, step 129 includes:
step 129-1: the device receives a fingerprint registration instruction and starts to collect fingerprint information;
step 129-2: the device judges whether the collection state is successful, if so, the collected fingerprint information is stored, step 130 is executed, otherwise, the collection failure information is returned to the terminal through the WBF port, and step 131 is executed;
step 130: the device judges whether the fingerprint information acquisition is finished, if so, a fingerprint template is generated and stored according to the stored fingerprint information, acquisition finishing information is returned to the terminal through the FIDO port, and the step 131 is executed, otherwise, acquisition finishing information is returned to the terminal through the FIDO port, and the step 131 is executed;
in this embodiment, step 130 includes: the device updates the residual acquisition times, judges whether the current residual acquisition times is an acquisition threshold value, if so, generates and stores a fingerprint template according to the stored fingerprint information, returns acquisition completion information to the terminal through the FIDO port, and executes the step 131, otherwise, returns acquisition completion information to the terminal through the FIDO port, and executes the step 131;
optionally, step 130 of this embodiment may further include: the equipment returns the current residual acquisition times to the terminal through the FIDO port;
optionally, if the initial value of the remaining acquisition times is N (an integer greater than 0), the acquisition threshold is 0, and the remaining acquisition times is updated to be the self-decreasing 1 of the remaining acquisition times;
optionally, the remaining acquisition times may also be acquired times, and if the initial value of the acquired times is 0, the acquisition threshold is N (an integer greater than 0), and the updated acquisition times are the acquired times added by 1;
step 131: the terminal judges whether the registration process is finished according to the information returned by the equipment, if so, the fingerprint registration is prompted to be successful, otherwise, the step 128 is returned.
In this embodiment, step 131 includes:
step 131-1: the terminal judges whether the information returned by the equipment contains the acquisition completion information and the residual acquisition times, if so, the step 131-2 is executed, otherwise, an error is reported, and the operation is finished;
step 131-2: and the terminal judges whether the residual acquisition times are the acquisition threshold value, if so, the terminal ends, and if not, the terminal returns to the step 128.
The equipment provided in the embodiment is composite equipment which supports both FIDO operation and windows hello fingerprint operation, and has the advantages of wider application range, more convenience and high cost performance; the fingerprint registered by the device through the FIDO application can be used in the windows hello application, so that the problem that the fingerprints are repeatedly registered by the windows hello application and the FIDO application is solved, and the compatibility of the device is improved.
In the method of this embodiment, in a fingerprint registration process, a terminal first sends a fingerprint verification instruction to an apparatus, the apparatus reminds a user to start collecting fingerprint information after receiving the fingerprint verification instruction, and determines whether the collected fingerprint information matches a stored fingerprint template (the fingerprint template may be stored after a fingerprint is registered in an FIDO application, or stored after the fingerprint is successfully registered in a WBF application), if so, the fingerprint information is collected by the apparatus, the apparatus calculates the matched fingerprint template to obtain a fingerprint identifier and sends the fingerprint identifier to the terminal, and the terminal determines whether corresponding user information exists in a database, if so, the fingerprint is registered in a windows hello application, otherwise, the fingerprint is registered in the FIDO application; if the device judges that the acquired fingerprint information is not matched with the stored fingerprint template, the terminal sends a fingerprint registration instruction to the device, the device starts to acquire and store the fingerprint information after receiving the fingerprint registration instruction, generates and stores the fingerprint template according to the stored fingerprint information after acquiring the fingerprint information, calculates a fingerprint identifier of the fingerprint template, leads the fingerprint identifier out of the device and correspondingly stores the fingerprint identifier and user information provided by an operating system into the terminal, and only takes the fingerprint identifier as unique associated information as a medium because original data of the fingerprint information is not led out, so that the safety of the device is improved; in the fingerprint verification process, fingerprint information is collected through a fingerprint verification instruction and matched with a stored fingerprint template (the fingerprint template can be stored after the fingerprint in FIDO application is registered, and can also be stored after the fingerprint in WBF application is successfully registered), if the comparison is successful, a fingerprint identifier obtained through calculation according to the matched fingerprint template is returned to the terminal, the terminal circularly compares the fingerprint identifier with the fingerprint identifier stored in a database, and if the fingerprint identifier which is successfully compared exists, the fingerprint identifier can be used as a legal login certificate, and the user information corresponding to the fingerprint identifier is allowed to perform system login.
EXAMPLE III
A third embodiment of the present invention provides a system for implementing fingerprint sharing, as shown in fig. 4, 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 determining module 414;
the device 42 includes a reporting module 421, a first collecting and judging module 422, a first calculating and returning module 423, a collecting and storing and judging module 424, and a second calculating and returning module 425;
a reporting module 421, configured to report to the terminal 41 that the device 42 has a WBF port and an FIDO port when establishing a connection with the terminal 41;
a first prompt sending module 411, configured to prompt the user to input a fingerprint when the terminal 41 receives WBF registration information triggered by the user, and send a fingerprint verification instruction to the device 42 through a WBF port;
the first collecting and judging module 422 is configured to receive a fingerprint verification instruction, start collecting fingerprint information, judge whether the collected fingerprint information matches a stored fingerprint template, trigger the first calculation returning module 423 if the collected fingerprint information matches the stored fingerprint template, otherwise return verification failure information to the terminal 41 through the WBF port, and trigger the second prompt sending module 413;
specifically, the fingerprint template stored in this embodiment is stored in the fingerprint registration process through the WBF port or through the FIDO port;
a first calculation returning module 423, configured to calculate a fingerprint identifier from the matched fingerprint template, and return the fingerprint identifier to the terminal 41 through the WBF port;
a first query saving module 412, configured to, when receiving a fingerprint identifier returned by the device 42, query whether user information corresponding to the received fingerprint identifier is saved in a database, if so, prompt that the current fingerprint is registered, otherwise, save the user information provided by the operating system and the received fingerprint identifier in the database;
a second prompt sending module 413, configured to prompt the user to input a fingerprint, and send a fingerprint registration instruction to the device 42 through the WBF port;
a collecting and storing judgment module 424, configured to receive a fingerprint registration instruction, start collecting fingerprint information, store the collected fingerprint information, and judge whether collecting the fingerprint information is completed, if so, trigger the second calculation return module 425, otherwise, return collection incomplete information to the terminal 41 through the WBF port, and trigger the first judgment module 414;
a second calculation returning module 425, configured to generate and store a fingerprint template according to the stored fingerprint information, calculate the generated fingerprint template to obtain a fingerprint identifier, return the fingerprint identifier to the terminal 41 through the WBF port, and trigger the first determining module 414;
the first determining module 414 is configured to determine the received information, store the user information provided by the operating system in the database corresponding to the fingerprint identifier if the received information is the fingerprint identifier, and trigger the second reminding sending module 413 if the received information is the acquisition incomplete information.
In this embodiment, the terminal 41 further includes:
the first detection module is configured to trigger the first reminder sending module 411 when detecting that the user triggers the application, for example, the application is a WBF application.
In this embodiment, the terminal 41 further includes: the third reminding sending module, the receiving and inquiring module and the obtaining and allowing module; the device 42 further comprises a second acquisition judgment module and a third calculation return module;
a third reminding sending module, configured to remind the user to input a fingerprint if the application type is a WBF application and the trigger information type of the user trigger application is WBF login information, and send a fingerprint verification instruction to the device 42 through a WBF port;
the second acquisition judging module is used for receiving the fingerprint verification instruction, starting to acquire fingerprint information, judging whether the acquired fingerprint information is matched with the stored fingerprint template, if so, triggering the first calculation returning module 423, otherwise, reporting an error, and ending;
a third computation returning module, configured to compute a matched fingerprint template to obtain a fingerprint identifier, and return the fingerprint identifier to the terminal 41 through the WBF port;
a receiving and querying module, configured to query whether user information corresponding to the fingerprint identifier is stored in the database when the fingerprint identifier returned by the device 42 is received, if so, trigger the obtaining allowing module, otherwise, report an error, and end;
and the acquisition permission module is used for acquiring the user information corresponding to the received fingerprint identification and allowing the user corresponding to the user information to perform login operation.
In this embodiment, the first calculation returning module 423 is specifically configured to perform hash calculation on the matched fingerprint template to obtain a fingerprint identifier, and return the fingerprint identifier to the terminal 41 through the WBF port;
the second calculation returning module 425 is specifically configured to generate and store a fingerprint template according to the stored fingerprint information, perform hash calculation on the generated fingerprint template to obtain a fingerprint identifier, return the fingerprint identifier to the terminal 41 through the WBF port, and trigger the first determining module 414.
In this embodiment, the first query holding module 412 includes:
a searching and opening unit, configured to search the database through the fourth interface and open the database through the fifth interface when receiving the fingerprint identifier returned by the device 42;
the first searching unit is used for taking the first record in the found database as the current record through the sixth interface;
the acquisition judging unit is used for acquiring the currently recorded content through the seventh interface, judging whether the acquired currently recorded content is matched with the received fingerprint identifier, if so, prompting that the current fingerprint is registered, and otherwise, triggering the first judgment and storage unit;
the first judging and storing unit is used for judging whether unprocessed records exist in the database or not, if so, the second searching unit is triggered, and otherwise, the user information provided by the operating system and the received fingerprint identification are correspondingly stored in the database;
and the second searching unit is used for triggering the acquisition judging unit by taking the next record in the found database as the current record through the eighth interface.
In the present embodiment, it is preferred that,
the collection/storage determining module 424 includes:
the fingerprint registration unit is used for registering fingerprint information in a fingerprint database, and acquiring and storing the fingerprint information;
in this embodiment, the collecting and storing unit is specifically configured to receive a fingerprint registration instruction, start collecting fingerprint information, and determine whether a collection status is successful, if so, store the collected fingerprint information, and trigger the second determining unit, otherwise, return collection failure information to the terminal 41 through the WBF port;
a second judging unit, configured to update the remaining acquisition times, and judge whether the current remaining acquisition times is an acquisition threshold, if so, trigger the second calculation returning module 425, otherwise, return acquisition incomplete information to the terminal through the WBF port, and trigger the first judging module 414;
optionally, the second calculation returning module 425 is further configured to return the current remaining collection times to the terminal 41 through the WBF port;
correspondingly, the first determining module 414 in this embodiment includes:
a third judging unit, configured to judge whether the fingerprint identifier and the remaining acquisition times are received, if yes, trigger the second judgment storage unit, and otherwise trigger the second prompt sending module 413;
and the second judgment and storage unit is used for judging whether the residual acquisition times are the acquisition threshold, if so, storing the user information provided by the operating system and the fingerprint identifier in the database correspondingly, and otherwise, triggering the second prompt sending module 413.
In this embodiment, the terminal 41 further includes: the device comprises a first detection module, a first acquisition module, a second judgment module, a second acquisition module, a third judgment module, a generation and transmission module, a first transmission module and a fifth judgment module; the device 42 further comprises a first verification module, a receiving, collecting and storing module and a fourth judgment module;
the first detection module is used for triggering the first acquisition module when detecting that the user triggers the application, if the type of the application is an FIDO application and the type of the triggering information of the user triggering application is FIDO registration information;
a first obtaining module, configured to obtain a device 42 information response from a connected device 42 through the FIDO port;
the second judging module is used for judging whether the connected equipment 42 supports the FIDO operation according to the received equipment 42 information response, if so, the second acquiring module is triggered, otherwise, an error is reported, and the operation is finished;
a second obtaining module, configured to obtain a device 42 attribute response from the connected device 42 through the FIDO port;
a third judging module, configured to judge whether the connected device 42 supports fingerprint operation according to the received device 42 attribute response, if so, trigger a generation and sending module, otherwise, perform a non-fingerprint FIDO registration procedure;
a generation and transmission module, configured to prompt a user to input a PIN code, generate a PIN code verification instruction according to the PIN code when the PIN code input by the user is received, and transmit the PIN code verification instruction to the connected device 42 through the FIDO port;
the first verification module is used for verifying the PIN code in the received PIN code verification instruction, if the verification is successful, returning PIN code verification success information to the terminal 41 through the FIDO port, and triggering the first sending module, and if the verification is failed, returning PIN code verification failure information to the terminal 41 through the FIDO port;
a first sending module, configured to send a fingerprint registration instruction to the connected device 42 through the FIDO port;
the receiving, collecting and storing module is used for starting to collect the fingerprint information after receiving the fingerprint registration instruction and storing the collected fingerprint information;
the fourth judging module is used for judging whether the fingerprint information acquisition is finished or not, if so, a fingerprint template is generated and stored according to the stored fingerprint information, acquisition finishing information is returned to the terminal 41 through the FIDO port, and the fifth judging module is triggered, otherwise, acquisition finishing information is returned to the terminal 41 through the FIDO port, and the fifth judging module is triggered;
and a fifth judging module, configured to judge whether the registration process is completed according to information returned by the device 42, if so, prompt that the fingerprint registration is successful, and otherwise, trigger the first sending module.
In this embodiment, the terminal 41 further includes a fourth obtaining module, configured to obtain a fingerprint attribute response containing the capture threshold from the connected device 42 through the FIDO port;
the receiving, collecting and storing module is specifically configured to start collecting fingerprint information after receiving the fingerprint registration instruction, judge whether a collection state is a successful collection state, store the collected fingerprint information if the collection state is a successful collection state, trigger the fourth judging module, and otherwise, return collection failure information to the terminal 41 through the FIDO port, and trigger the fifth judging module;
the fourth judging module is further configured to send the current remaining acquisition times to the terminal 41 through the FIDO port;
correspondingly, the fifth judging module comprises:
a fourth judging unit, configured to judge whether the information returned by the device 42 includes acquisition completion information and remaining acquisition times, if yes, trigger the fifth judging unit, and otherwise trigger the first sending module;
and the fifth judging unit is used for judging whether the residual acquisition times are the acquisition threshold, if so, prompting that the fingerprint registration is successful, and otherwise, triggering the first sending module.
Optionally, an embodiment of the present application further provides a device and a terminal for implementing fingerprint sharing, where 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, and the at least one processor executes the instructions to implement the method for implementing fingerprint sharing in the foregoing embodiments. Of course, the memory may not be in the device or the terminal. When the device and the terminal are a chip system, the device and the terminal may be composed of a chip, or may include a chip and other discrete devices, which is not specifically limited in this embodiment of the present application; the chip is coupled to the memory and is configured to execute the computer program stored in the memory to perform the method for implementing fingerprint sharing disclosed in the above embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented using a software program, 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 procedures or functions according to the embodiments of the present application are generated in whole or in part when the computer program is loaded and executed on the device and the terminal. 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 be transmitted from one base station, device, server, or data center to another base station, device, server, or data center by wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by the device or can comprise one or more data storage devices, such as a server, a data center, etc., that can be integrated with the medium. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
While the present application has been described in connection with various embodiments, other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from a review of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the word "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Although the present application has been described in conjunction with specific features and embodiments thereof, it will be evident that various modifications and combinations can be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and figures are merely exemplary of the present application as defined in the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of the present application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (18)

1. A method for enabling fingerprint sharing, comprising:
step S0: when the equipment establishes connection with a terminal, the equipment reports that the equipment is provided with a WBF port and an FIDO port to the terminal;
step S1: when the terminal receives WBF registration information triggered by a user, the terminal reminds the user to input a fingerprint and sends a fingerprint verification instruction to the equipment through the WBF port;
step S2: the device receives the fingerprint verification instruction, starts to collect fingerprint information, judges whether the collected fingerprint information is matched with a stored fingerprint template or not, if so, executes the step S3, otherwise, returns verification failure information to the terminal through a WBF port, and executes the step S5; the saved fingerprint template is saved during fingerprint registration through the WBF port or through the FIDO port;
step S3: the equipment calculates the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
step S4: when the terminal receives a fingerprint identifier returned by equipment, inquiring whether user information corresponding to the received fingerprint identifier is stored in a database, if so, prompting that the current fingerprint is registered, otherwise, storing the user information provided by an operating system and the received fingerprint identifier in the database correspondingly;
step S5: the terminal reminds a user to input a fingerprint and sends a fingerprint registration instruction to the equipment through the WBF port;
step S6: the device receives a fingerprint registration instruction, starts to collect fingerprint information and stores the collected fingerprint information, judges whether the collected fingerprint information is finished, generates and stores a fingerprint template according to the stored fingerprint information if the collected fingerprint information is finished, calculates the generated fingerprint template to obtain a fingerprint identifier, returns the fingerprint identifier to the terminal through the WBF port, and executes the step S7, otherwise returns collection unfinished information to the terminal through the WBF port, and executes the step S7;
step S7: and the terminal judges the received information, stores the user information provided by the operating system and the fingerprint identification in a database if the received information is the fingerprint identification, and returns to the step S5 if the received information is the acquisition incompletion information.
2. The method of claim 1,
before the step S1, the method further includes: when the terminal detects that the user triggers the application, if the application is a WBF application, step S1 is executed.
3. The method of claim 2, wherein the step S0 is further followed by:
if the application type is WBF application and the user triggers the application trigger information type is WBF login information, then step a1 is executed;
step A1: the terminal reminds a user to input a fingerprint and sends a fingerprint verification instruction to the equipment through the WBF port;
step A2: the equipment receives the fingerprint verification instruction, starts to collect fingerprint information, judges whether the collected fingerprint information is matched with a stored fingerprint template, if so, executes the step A3, otherwise, reports an error, and ends;
step A3: the equipment calculates the matched fingerprint template to obtain a fingerprint identifier, and returns the fingerprint identifier to the terminal through the WBF port;
step A4: when the terminal receives the fingerprint identifier returned by the equipment, inquiring whether user information corresponding to the fingerprint identifier is stored in a database, if so, executing the step A5, otherwise, reporting an error, and ending;
step A5: and the terminal acquires the user information corresponding to the received fingerprint identification and allows the user corresponding to the user information to log in.
4. The method according to claim 1, wherein the calculating of the matched fingerprint template to obtain the fingerprint identifier comprises: performing Hash calculation on the matched fingerprint template to obtain a fingerprint identifier;
the step of calculating the generated fingerprint template to obtain the fingerprint identifier specifically comprises the following steps: and carrying out Hash calculation on the generated fingerprint template to obtain a fingerprint identifier.
5. The method of claim 1, wherein the step S4 includes:
step S4-1: when the terminal receives a fingerprint identifier returned by the equipment, searching the database through a fourth interface, and opening the database through a fifth interface;
step S4-2: the terminal takes the found first record in the database as a current record through a sixth interface;
step S4-3: the terminal acquires the currently recorded content through a seventh interface, judges whether the acquired currently recorded content is matched with the received fingerprint identifier, prompts that the current fingerprint is registered if the acquired currently recorded content is matched with the received fingerprint identifier, and otherwise, executes the step S4-4;
step S4-4: the terminal judges whether the database has unprocessed records, if so, the step S4-5 is executed, otherwise, the user information provided by the operating system and the received fingerprint identification are correspondingly stored in the database;
step S4-5: and the terminal takes the next record in the database found through the eighth interface as the current record and returns to the step S4-3.
6. The method of claim 1, wherein the step S6 includes:
step D1: the equipment receives a fingerprint registration instruction, starts to collect fingerprint information and stores the collected fingerprint information;
step D2: the device updates the remaining acquisition times and judges whether the current remaining acquisition times is an acquisition threshold, if so, step D3 is executed, otherwise, acquisition unfinished information is returned to the terminal through the WBF port, and step S7 is executed;
step D3: the device generates and stores a fingerprint template according to the stored fingerprint information, calculates the generated fingerprint template to obtain a fingerprint identifier, returns the fingerprint identifier to the terminal through the WBF port, and executes step S7.
7. The method according to claim 6, wherein the step D1 specifically comprises:
step D1-1: the equipment receives a fingerprint registration instruction and starts to collect fingerprint information;
step D1-2: the device judges whether the acquisition state is successful, if so, the acquired fingerprint information is stored, step D2 is executed, otherwise, acquisition failure information is returned to the terminal through the WBF port, and step S7 is executed;
the step D3 further includes: returning the current residual collection times to the terminal through the WBF port;
the step S7 includes:
step P1: the terminal judges whether the fingerprint identification and the residual acquisition times are received, if so, the step P2 is executed, otherwise, the step S5 is returned;
step P2: and judging whether the residual acquisition times are the acquisition threshold values, if so, storing the user information provided by the operating system and the fingerprint identification in a database correspondingly, and if not, returning to the step S5.
8. The method of claim 1, wherein the step S0 is further followed by:
step B1: when the terminal detects that the user triggers the application, if the type of the application is the FIDO application and the type of the trigger information of the user triggered application is FIDO registration information, executing step B2;
step B2: the terminal acquires equipment information response from connected equipment through the FIDO port;
step B3: the terminal judges whether the connected equipment supports the FIDO operation according to the received equipment information response, if so, the step B4 is executed, otherwise, an error is reported, and the operation is finished;
step B4: the terminal acquires a device attribute response from the connected device through the FIDO port;
step B5: the terminal judges whether the connected equipment supports fingerprint operation according to the received equipment attribute response, if so, step B6 is executed, otherwise, a non-fingerprint FIDO registration process is carried out;
step B6: the terminal prompts a user to input a PIN code, generates a PIN code verification instruction according to the PIN code when the PIN code input by the user is received, and sends the PIN code verification instruction to the connected equipment through the FIDO port;
step B7: the equipment verifies the PIN in the PIN verification instruction, if the verification is successful, PIN verification success information is returned to the terminal through the FIDO port, the step B8 is executed, and if the verification is failed, PIN verification failure information is returned to the terminal through the FIDO port;
step B8: the terminal sends a fingerprint registration instruction to the connected equipment through the FIDO port;
step B9: the device starts to collect fingerprint information after receiving the fingerprint registration instruction, stores the collected fingerprint information, judges whether the collected fingerprint information is finished, generates and stores a fingerprint template according to the stored fingerprint information if the collected fingerprint information is finished, returns collection finishing information to the terminal through the FIDO port, and executes the step B10, otherwise returns collection finishing information to the terminal through the FIDO port, and executes the step B10;
step B10: and the terminal judges whether the registration process is finished according to the information returned by the equipment, if so, the fingerprint registration is prompted to be successful, and if not, the terminal returns to the step B8.
9. The method of claim 8, wherein between the step B5 and the step B6 further comprises: the terminal acquires a fingerprint attribute response containing an acquisition threshold value from the connected equipment through the FIDO port;
the step B9 includes:
step T0: the equipment starts to collect fingerprint information after receiving the fingerprint registration instruction;
step T1: the device judges whether the acquisition state is successful, if so, the acquired fingerprint information is stored, and the step T2 is executed, otherwise, acquisition failure information is returned to the terminal through the FIDO port, and the step B10 is executed;
step T2: the device updates the residual acquisition times, judges whether the current residual acquisition times is an acquisition threshold value, generates and stores a fingerprint template according to the stored fingerprint information if the current residual acquisition times is the acquisition threshold value, returns acquisition completion information and the current residual acquisition times to the terminal through the FIDO port, and executes the step B10, otherwise returns acquisition completion information to the terminal through the FIDO port, and executes the step B10;
the step B10 includes:
step B10-1: the terminal judges whether the information returned by the equipment contains acquisition completion information and the residual acquisition times, if so, the step B10-2 is executed, otherwise, the step B8 is returned;
step B10-2: and the terminal judges whether the residual acquisition times are the acquisition threshold value, if so, the terminal prompts the fingerprint registration to be successful, and if not, the terminal returns to the step B8.
10. A system for realizing fingerprint sharing is characterized by comprising a terminal and equipment;
the terminal comprises a first reminding sending module, a first query and storage module, a second reminding sending module and a first judging module;
the device comprises a reporting module, a first acquisition judging module, a first calculation returning module, an acquisition storage judging module and a second calculation returning module;
the reporting module is configured to report to the terminal that the device has a WBF port and an FIDO port when the device establishes a connection with the terminal;
the first reminding sending module is used for reminding a user of inputting a fingerprint when the terminal receives WBF registration information triggered by the user, and sending a fingerprint verification instruction to the equipment through the WBF port;
the first acquisition judging module is used for receiving the fingerprint verification instruction, starting to acquire fingerprint information, judging whether the acquired fingerprint information is matched with a stored fingerprint template or not, if so, triggering the first calculation returning module, otherwise, returning verification failure information to the terminal through the WBF port, and triggering the second reminding sending module; the saved fingerprint template is saved during fingerprint registration through the WBF port or through the FIDO port;
the first calculation returning module is used for calculating the matched fingerprint template to obtain a fingerprint identifier and returning the fingerprint identifier to the terminal through the WBF port;
the first query storage module is used for querying whether user information corresponding to the received fingerprint identifier is stored in a database when the fingerprint identifier returned by the equipment is received, if so, prompting that the current fingerprint is registered, otherwise, correspondingly storing the user information provided by an operating system and the received fingerprint identifier in the database;
the second reminding sending module is used for reminding a user of inputting a fingerprint and sending a fingerprint registration instruction to the equipment through the WBF port;
the acquisition and storage judging module is used for receiving a fingerprint registration instruction, starting to acquire fingerprint information, storing the acquired fingerprint information, judging whether the acquired fingerprint information is finished or not, if so, triggering the second calculation returning module, otherwise, returning acquisition unfinished information to the terminal through the WBF port, and triggering the first judging module;
the second calculation returning module is used for generating and storing a fingerprint template according to the stored fingerprint information, calculating the generated fingerprint template to obtain a fingerprint identifier, returning the fingerprint identifier to the terminal through the WBF port, and triggering the first judging module;
the first judging module is used for judging the received information, storing the user information provided by the operating system and the fingerprint identification in a database if the received information is the fingerprint identification, and triggering the second reminding sending module if the received information is the acquisition uncompleted information.
11. The system of claim 10, wherein the terminal further comprises:
the first detection module is used for triggering the first reminding sending module when detecting that the user triggers the application, for example, the application is a WBF application.
12. The system of claim 11, wherein the terminal further comprises: the third reminding sending module, the receiving and inquiring module and the obtaining and allowing module; the equipment also comprises a second acquisition judging module and a third calculation returning module;
the third reminding sending module is used for reminding the user to input a fingerprint if the application type is WBF application and the triggering information type of the user triggering application is WBF login information, and sending a fingerprint verification instruction to the equipment through the WBF port;
the second acquisition judging module is used for receiving the fingerprint verification instruction, starting to acquire fingerprint information, judging whether the acquired fingerprint information is matched with the stored fingerprint template, if so, triggering the first calculation returning module, otherwise, reporting an error, and ending;
the third computation return module is configured to compute a matched fingerprint template to obtain a fingerprint identifier, and return the fingerprint identifier to the terminal through the WBF port;
the receiving and inquiring module is used for inquiring whether user information corresponding to the fingerprint identification is stored in a database or not when the fingerprint identification returned by the equipment is received, if so, the obtaining and allowing module is triggered, otherwise, an error is reported, and the operation is finished;
and the acquisition permission module is used for acquiring the user information corresponding to the received fingerprint identification and allowing the user corresponding to the user information to perform login operation.
13. The system according to claim 10, wherein the first computation returning module is specifically configured to perform a hash computation on the matched fingerprint template to obtain a fingerprint identifier, and return the fingerprint identifier to the terminal through the WBF port;
the second calculation returning module is specifically configured to generate and store a fingerprint template according to the stored fingerprint information, perform hash calculation on the generated fingerprint template to obtain a fingerprint identifier, return the fingerprint identifier to the terminal through the WBF port, and trigger the first determining module.
14. The system of claim 10, wherein the first query conservation module comprises:
the searching and opening unit is used for searching the database through a fourth interface and opening the database through a fifth interface when receiving the fingerprint identifier returned by the equipment;
the first searching unit is used for taking the found first record in the database as a current record through a sixth interface;
the acquisition judging unit is used for acquiring the currently recorded content through the seventh interface, judging whether the acquired currently recorded content is matched with the received fingerprint identifier, if so, prompting that the current fingerprint is registered, and otherwise, triggering the first judgment and storage unit;
the first judging and storing unit is used for judging whether unprocessed records exist in the database or not, if so, a second searching unit is triggered, otherwise, the user information provided by the operating system and the received fingerprint identification are correspondingly stored in the database;
and the second searching unit is used for triggering the acquisition judging unit by taking the next record in the database as the current record through an eighth interface.
15. The system of claim 10, wherein the acquisition save determination module comprises:
the fingerprint registration unit is used for registering fingerprint information in a fingerprint database, and acquiring and storing the fingerprint information;
and the second judgment unit is used for updating the residual acquisition times and judging whether the current residual acquisition times are the acquisition threshold value, if so, the second calculation return module is triggered, otherwise, acquisition incompletion information is returned to the terminal through the WBF port, and the first judgment module is triggered.
16. The system according to claim 15, wherein the collecting and storing unit is specifically configured to receive a fingerprint registration instruction, start collecting fingerprint information, determine whether a collecting status is successful, store the collected fingerprint information if the collecting status is successful, and trigger the second determining unit, otherwise, return a collecting failure information to the terminal through the WBF port;
the second calculation returning module is further configured to return the current remaining acquisition times to the terminal through the WBF port;
the first judging module comprises:
the third judging unit is used for judging whether the fingerprint identification and the residual acquisition times are received, if so, the second judgment storage unit is triggered, and otherwise, the second reminding sending module is triggered;
and the second judgment and storage unit is used for judging whether the residual acquisition times are the acquisition threshold value, if so, storing the user information provided by the operating system and the fingerprint identifier in a database correspondingly, and otherwise, triggering the second prompt sending module.
17. The system of claim 10, wherein the terminal further comprises: the device comprises a first detection module, a first acquisition module, a second judgment module, a second acquisition module, a third judgment module, a generation and transmission module, a first transmission module and a fifth judgment module; the device also comprises a first verification module, a receiving, collecting and storing module and a fourth judgment module;
the first detection module is used for triggering the first acquisition module when detecting that the user triggers the application, if the type of the application is an FIDO application and the type of the triggering information of the user triggering application is FIDO registration information;
the first obtaining module is configured to obtain a device information response from a connected device through the FIDO port;
the second judging module is configured to judge whether the connected device supports FIDO operation according to the received device information response, if yes, trigger the second acquiring module, and otherwise, report an error and end;
the second obtaining module is configured to obtain a device attribute response from the connected device through the FIDO port;
the third judging module is used for judging whether the connected equipment supports fingerprint operation according to the received equipment attribute response, if so, the third judging module triggers a generation and sending module, and if not, the third judging module carries out a non-fingerprint FIDO registration process;
the generation and sending module is used for prompting a user to input a PIN code, generating a PIN code verification instruction according to the PIN code when the PIN code input by the user is received, and sending the PIN code verification instruction to the connected equipment through the FIDO port;
the first verification module is used for verifying the PIN code in the received PIN code verification instruction, if the verification is successful, returning PIN code verification success information to the terminal through the FIDO port, and triggering the first sending module, and if the verification is failed, returning PIN code verification failure information to the terminal through the FIDO port;
the first sending module is configured to send a fingerprint registration instruction to the connected device through the FIDO port;
the receiving, collecting and storing module is used for collecting the fingerprint information after receiving the fingerprint registration instruction and storing the collected fingerprint information;
the fourth judging module is used for judging whether the fingerprint information acquisition is finished or not, if so, a fingerprint template is generated and stored according to the stored fingerprint information, acquisition finishing information is returned to the terminal through the FIDO port, and the fifth judging module is triggered, otherwise, acquisition finishing information is returned to the terminal through the FIDO port, and the fifth judging module is triggered;
and the fifth judging module is used for judging whether the registration process is finished according to the information returned by the equipment, if so, prompting that the fingerprint registration is successful, otherwise, triggering the first sending module.
18. The system of claim 17, wherein the terminal further comprises a fourth acquisition module for acquiring a fingerprint attribute response containing an acquisition threshold from the connected device through the FIDO port;
the receiving, collecting and storing module is specifically configured to start collecting fingerprint information after receiving the fingerprint registration instruction, judge whether a collection state is a successful collection state, store the collected fingerprint information if the collection state is the successful collection state, and trigger the fourth judging module, otherwise, return collection failure information to the terminal through the FIDO port, and trigger the fifth judging module;
the fourth judging module is further configured to send the current remaining acquisition times to the terminal through the FIDO port;
the fifth judging module includes:
the fourth judging unit is used for judging whether the information returned by the equipment contains acquisition completion information and the residual acquisition times, if so, the fifth judging unit is triggered, and otherwise, the first sending module is triggered;
and the fifth judging unit is used for judging whether the residual acquisition times are the acquisition threshold, if so, prompting that the fingerprint registration is successful, and otherwise, triggering the first sending module.
CN202110878228.0A 2021-08-02 2021-08-02 Method and system for realizing fingerprint sharing Active CN113312607B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110878228.0A CN113312607B (en) 2021-08-02 2021-08-02 Method and system for realizing fingerprint sharing
PCT/CN2022/106566 WO2023011168A1 (en) 2021-08-02 2022-07-19 Method and system for implementing fingerprint sharing
US18/283,459 US20240160711A1 (en) 2021-08-02 2022-07-19 Method and system for implementing fingerprint sharing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110878228.0A CN113312607B (en) 2021-08-02 2021-08-02 Method and system for realizing fingerprint sharing

Publications (2)

Publication Number Publication Date
CN113312607A true CN113312607A (en) 2021-08-27
CN113312607B CN113312607B (en) 2021-11-02

Family

ID=77382394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110878228.0A Active CN113312607B (en) 2021-08-02 2021-08-02 Method and system for realizing fingerprint sharing

Country Status (1)

Country Link
CN (1) CN113312607B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011168A1 (en) * 2021-08-02 2023-02-09 飞天诚信科技股份有限公司 Method and system for implementing fingerprint sharing
CN116483014A (en) * 2023-06-20 2023-07-25 飞天诚信科技股份有限公司 Fingerprint input realization method, device and system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195815A1 (en) * 2013-01-04 2014-07-10 Synaptics Incorporated Methods and systems for fingerprint template enrollment and distribution process
CN104778393A (en) * 2015-04-16 2015-07-15 电子科技大学 Security fingerprint identification method for intelligent terminal
CN108022349A (en) * 2017-12-22 2018-05-11 北京小米移动软件有限公司 Information input method, equipment, smart lock and storage medium
CN108064376A (en) * 2017-11-20 2018-05-22 深圳市汇顶科技股份有限公司 System starts method of calibration and system, electronic equipment and computer storage media
CN108134791A (en) * 2017-12-22 2018-06-08 郑州云海信息技术有限公司 A kind of data center's total management system login validation method
CN110287675A (en) * 2019-06-28 2019-09-27 浪潮云信息技术有限公司 Application system fingerprint login method and system based on domestic CPU and operating system
CN112669033A (en) * 2019-10-15 2021-04-16 深圳市文鼎创数据科技有限公司 Transaction authentication method based on FIDO equipment and FIDO equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195815A1 (en) * 2013-01-04 2014-07-10 Synaptics Incorporated Methods and systems for fingerprint template enrollment and distribution process
CN104778393A (en) * 2015-04-16 2015-07-15 电子科技大学 Security fingerprint identification method for intelligent terminal
CN108064376A (en) * 2017-11-20 2018-05-22 深圳市汇顶科技股份有限公司 System starts method of calibration and system, electronic equipment and computer storage media
CN108022349A (en) * 2017-12-22 2018-05-11 北京小米移动软件有限公司 Information input method, equipment, smart lock and storage medium
CN108134791A (en) * 2017-12-22 2018-06-08 郑州云海信息技术有限公司 A kind of data center's total management system login validation method
CN110287675A (en) * 2019-06-28 2019-09-27 浪潮云信息技术有限公司 Application system fingerprint login method and system based on domestic CPU and operating system
CN112669033A (en) * 2019-10-15 2021-04-16 深圳市文鼎创数据科技有限公司 Transaction authentication method based on FIDO equipment and FIDO equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011168A1 (en) * 2021-08-02 2023-02-09 飞天诚信科技股份有限公司 Method and system for implementing fingerprint sharing
CN116483014A (en) * 2023-06-20 2023-07-25 飞天诚信科技股份有限公司 Fingerprint input realization method, device and system
CN116483014B (en) * 2023-06-20 2023-09-19 飞天诚信科技股份有限公司 Fingerprint input realization method, device and system

Also Published As

Publication number Publication date
CN113312607B (en) 2021-11-02

Similar Documents

Publication Publication Date Title
CN106651363B (en) Hardware wallet and holder identity verification method thereof
CN113312607B (en) Method and system for realizing fingerprint sharing
CN102916968B (en) Identity identifying method, authentication server and identification authentication system
US8856868B2 (en) Identification information integrated management system, identification information integrated management server, and computer readable recording medium recording identification information integrated management program thereon
KR20160086830A (en) Identity authentication by using human biological characteristics
US20110138187A1 (en) System and method of biometric authentication using multiple kinds of templates
EP3806384A1 (en) Vehicle unlocking authentication method and apparatus based on terminal device
JP2008526173A (en) Information security authentication method and system
CN108877098B (en) Cardless withdrawal method, device, system, storage medium and electronic equipment
CN105006077A (en) ATM safe operation method and system based on fingerprint identification, and ATM
CN108809982B (en) Secret-free authentication method and system based on trusted execution environment
CN111177225A (en) Account state existence proving method and device and state inquiring method and device
CN113312602B (en) Method and system for realizing fingerprint sharing
US20240160711A1 (en) Method and system for implementing fingerprint sharing
US11433853B2 (en) Vehicle unlocking authentication method and apparatus based on terminal device
CN108052811A (en) Terminal control method and system based on face texture identification
CN113556743B (en) User authorization management method and system, unified data management device and user terminal
CN111259349A (en) Identity authentication method, server and computer readable storage medium
CN111726365A (en) Online identity authentication method and device
CN110335379A (en) Intelligent door lock control method based on recognition of face
WO2012155588A1 (en) Method and apparatus for automatically identifying pin code
KR20030052194A (en) A system for user verification using biometric information, a method for registering certificates in the system and a user verification method
TWI802002B (en) Verification method, verification system and user terminal based on biometric ID chain
WO2022166627A1 (en) Blockchain network-based device management method, related device, and storage medium
WO2021077627A1 (en) Intelligent key device and verification method therefor

Legal Events

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