WO2018227471A1 - 生物特征数据的安全处理方法、装置、传感器及终端设备 - Google Patents

生物特征数据的安全处理方法、装置、传感器及终端设备 Download PDF

Info

Publication number
WO2018227471A1
WO2018227471A1 PCT/CN2017/088435 CN2017088435W WO2018227471A1 WO 2018227471 A1 WO2018227471 A1 WO 2018227471A1 CN 2017088435 W CN2017088435 W CN 2017088435W WO 2018227471 A1 WO2018227471 A1 WO 2018227471A1
Authority
WO
WIPO (PCT)
Prior art keywords
biometric data
data
verification
dynamic key
current biometric
Prior art date
Application number
PCT/CN2017/088435
Other languages
English (en)
French (fr)
Inventor
廖志川
青小刚
Original Assignee
深圳市汇顶科技股份有限公司
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 深圳市汇顶科技股份有限公司 filed Critical 深圳市汇顶科技股份有限公司
Priority to CN201780000468.2A priority Critical patent/CN107466454A/zh
Priority to PCT/CN2017/088435 priority patent/WO2018227471A1/zh
Publication of WO2018227471A1 publication Critical patent/WO2018227471A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Definitions

  • the embodiments of the present invention relate to the field of information processing technologies, and in particular, to a method, an apparatus, a sensor, and a terminal device for securely processing biometric data.
  • Fingerprints are widely used in security authentication and other fields because of their uniqueness and uniqueness. Fingerprint modules, as an indispensable collection device for fingerprint feature data, often appear in the relevant security authentication process.
  • a fingerprint when a fingerprint is used to perform an unlocking or payment operation on a host (such as a PC, a mobile phone, or a tablet) with a fingerprint module, it is usually required to send the fingerprint feature data collected by the fingerprint module to the host, and then The host side compares the received fingerprint feature data with the existing fingerprint template to complete the corresponding unlocking or payment operation.
  • a host such as a PC, a mobile phone, or a tablet
  • the method, device, sensor and terminal device for safely processing biometric data provided by the embodiments of the present application are used to solve at least the above problems in the prior art.
  • a first aspect of the embodiments of the present application provides a method for securely processing biometric data, the method comprising:
  • the verification data is encrypted according to the dynamic key to obtain encrypted data corresponding to the current biometric data, and the dynamic key is a variable key generated according to the preset key.
  • generating the verification data according to current biometric data and an identifier corresponding thereto include:
  • the current biometric data and the check value are combined to obtain the verification data.
  • performing verification processing on the current biometric data and the identification code according to the dynamic key includes: performing verification processing on the current biometric data and the identification code according to the following formula:
  • HMAC(K,M) H(K ⁇ opad
  • H is the HASH algorithm
  • K is the dynamic key
  • opad and ipad are fixed length preset constants
  • M is a combination of current biometric data and the identification code
  • HMAC(K, M) is the school Test value.
  • the identifier is generated by the client and the server.
  • the generating the dynamic key comprises: generating the dynamic key according to a preset key and a random number.
  • the random number includes: a first random number generated by a client and/or a second random number generated by a server.
  • the verification data is encrypted according to the dynamic key, and after the obtaining the encrypted data, the method further includes: determining the new current biometric data and the new identification code corresponding thereto, and then performing the re-execution A method of secure processing of the biometric data.
  • a second aspect of the embodiments of the present application provides a security processing apparatus for biometric data, the apparatus comprising:
  • the verification data generating module is configured to obtain verification data corresponding thereto according to the current biometric data and an identifier corresponding thereto, where the verification data includes current biometric data;
  • the encrypted data generating module is configured to encrypt the verification data according to the dynamic key to obtain encrypted data corresponding to the current biometric data, where the dynamic key is generated according to the preset key Variable key.
  • the verification data generating module includes: a verification processing unit and a combination processing unit;
  • the verification processing unit is configured to perform verification processing on the current biometric data and the identification code according to the dynamic key to obtain a check value corresponding to the current biometric data;
  • the combination processing unit is configured to combine the current biometric data and the check value to obtain the verification data.
  • the verification processing unit is specifically configured to perform verification processing on the current biometric data and the identification code according to the following formula to obtain the verification value:
  • HMAC(K,M) H(K ⁇ opad
  • H is the HASH algorithm
  • K is the dynamic key
  • opad and ipad are fixed length preset constants
  • M is a combination of current biometric data and the identification code
  • HMAC(K, M) is the school Test value.
  • the apparatus further includes: a dynamic key generation module;
  • the dynamic key generation module is configured to generate the dynamic key according to a preset key and a random number.
  • the dynamic key generation module is specifically configured to generate the dynamic according to a preset key, a first random number generated by the client, and/or a second random number generated by the server. Key.
  • the apparatus further includes: a true random number generator; and the first random number is generated by the client by the true random number generator.
  • a third aspect of the embodiments of the present application provides a biometric sensor comprising a safety processing device for biometric data as described above.
  • a fourth aspect of the embodiments of the present application provides a terminal device including the biometric sensor as described above.
  • the embodiment of the present application combines the current biometric data and the identification code to perform verification processing on the current biometric data, so that the server can conveniently determine the integrity of the received biometric data, so as to prevent The current biometric data is tampered with, and the replaying attack is difficult to be successful through the identification code; and the verification data is further input according to the dynamic key.
  • Line encryption thereby further increasing the difficulty of the current biometric data being cracked; therefore, the embodiment of the present application increases the security of the biometric data as a whole.
  • FIG. 1 is a flowchart of a method for securely processing biometric data according to Embodiment 1 of the present application.
  • FIG. 2 is a flowchart of a method for securely processing biometric data provided in Embodiment 2 of the present application.
  • FIG. 3A is a structural diagram of a security processing apparatus for biometric data provided in Embodiment 3 of the present application.
  • FIG. 3B is still another structural diagram of a biometric data security processing apparatus according to Embodiment 3 of the present application.
  • FIG. 4 is a schematic diagram showing the hardware structure of some electronic devices for performing the security processing method for biometric data provided by the first or second embodiment of the present application.
  • the specific implementation manner of the security processing method of the biometric data is described in detail below by using a client connected to the server as an execution entity of the security processing method of the biometric data.
  • the server is also called the server, the host, and the host, and includes but is not limited to a PC, a mobile phone, a tablet, etc.;
  • the client is also called a client, a device, and a component, and includes but is not limited to being connected to the server.
  • Fingerprint device, iris device, etc. can be used to obtain user biometric data Biometric recognition module (such as fingerprint feature data, iris feature data, etc.).
  • An example of a typical server and client is a mobile phone with a fingerprint module, where the mobile phone acts as a server and the fingerprint module acts as a client.
  • the current biometric data may be biometric data currently acquired by the client, such as user fingerprint feature data currently acquired. After the client obtains the current biometric data, it can transmit it to the server after integrity verification and/or encryption processing, so that the server can identify it and the like.
  • the identifier corresponding to the current biometric data is usually an identifier determined by the client in consultation with the server when transmitting the current biometric data to the server, that is, a shared identifier.
  • the identification code corresponding to the current biometric data is more common in that the representation is a serial number serial number, such as "12345678". It can also be seen that each time the client sends the biometric data to the server, it needs to negotiate with the server to determine an identifier corresponding to the biometric data. In an actual application, the identifier may be used as an implicit serial number to determine whether the process of receiving the current biometric data by the server and the process of transmitting the biometric data by the client are corresponding.
  • the client in a process of transmitting (transmitting and receiving) the current biometric data, the client first negotiates with the server to determine a common identification code Sn, and then the client performs verification processing on the combination of the current biometric data and the identification code Sn.
  • Corresponding verification data the verification data is equivalent to the feature of the identification code Sn implicitly
  • the server parses out the verification data.
  • the biometric verification data is to be verified, and the verification data and the identification code Sn (which has been obtained before negotiation with the client) are subjected to the same verification process, thereby verifying the verification data, if verification By passing, it is determined that the current transmission process corresponds to each other (that is, the sending process and the receiving process are one-to-one correspondence), otherwise it is determined that the current transmission process is not corresponding.
  • FIG. 1 is a flowchart of a method for securely processing biometric data according to Embodiment 1 of the present application.
  • the security processing method of the biometric data includes:
  • the client may perform verification processing on the current biometric data and the identification code, for example, perform a hash check process, and obtain a current biometric data corresponding to the current biometric data. Verify the data. From this, it can be seen that the check data corresponds to a feature that implicitly includes the identification code.
  • the verification process may include: performing hash check processing on the identification code and current biometric data (for example, a combination of the identification code and current biometric data), generating and The check data corresponding to the current biometric data is combined with the current biometric data and the check value to obtain the check data.
  • the combination of the current biometric data and the check value may be “current biometric data”+ “the check value”, or may be “the check value”+ “current biometric data”. It can also be a combination of other forms (such as cross-combination), which will not be exemplified here.
  • the hash check processing may be, for example, a check processing by a hash check algorithm SHA-224, SHA-256, SHA-384, SHA-512, or MD5.
  • the dynamic key is usually a new key negotiated by the client each time the session is established with the server.
  • the fingerprint module corresponding client
  • the The mobile phone corresponding to the server end
  • the dynamic key may also be a client and a server after a certain period of time or when the dynamic key is abnormal.
  • the new key determined by the negotiation; the dynamic key may also be a new key (ie, a dynamic key) negotiated by the client each time the data is transmitted by the server.
  • a new key that is, a dynamic key determined by the client each time the session is established with the server is used as an example.
  • the dynamic key is usually generated by a client and a server, and a variable key generated according to a preset key, for example, an irreversible algorithm for processing the preset key in combination with a random number.
  • the dynamic key Since the dynamic key is variable (ie, not fixed), it is not easy to be cracked, and thus the security of the current biometric data encrypted by the dynamic key can be effectively guaranteed.
  • the advantages of the client performing verification processing on the current biometric data and the identification code include, but are not limited to:
  • the client negotiates with the server to determine an identification code S;
  • the client performs a hash check process on the combination of the current biometric data D and the identification code S, and generates a first check value J1 corresponding to the current biometric data D;
  • the client sends the combination of the current biometric data D and the first check value J1 to the server;
  • the server After receiving the data transmitted by the client, the server parses (or extracts) the biometric data D# to be verified and the verification value J2 to be verified (which can be regarded as the first check value J1);
  • the server side performs the same hash check processing on the combination of the verification biometric data D# and the identification code S (which was previously obtained when negotiating with the client) to obtain a second check value J#;
  • the illegal attacker usually After a period of time (not the current transmission process), the combination of the intercepted current biometric data D and the first check value J1 (corresponding to the combination of the historical biometric data D and the historical check value J1) is sent to the server.
  • the server and the client In order to deceive the server side, but at this time (ie another transmission process), the server and the client have negotiated to determine a new identification code S#. Since the new identification code S# is different from the identification code S, the server is opposite to the server.
  • the received verification value J# obtained by performing the same verification processing on the received historical feature data D and the new identification code S# is also different from the historical verification value J1, thereby determining the data received this time. It is illegal, so it can be processed or error-handled, making it difficult to replay the server-side replay attack through historical biometric data, thus effectively ensuring the security of biometric data. Especially biometric security data transmission process.
  • the first embodiment of the present application combines the current biometric data and its identification code to perform verification processing on the current biometric data, so that the current biometrics received can be conveniently determined.
  • the integrity of the data in case the current biometric data is tampered with, and the replaying attack is difficult to succeed by the identification code; and the verification data is encrypted according to the dynamic key, thereby further increasing the current biometric data.
  • FIG. 2 is a flowchart of a method for securely processing biometric data provided in Embodiment 2 of the present application. As shown in FIG. 2, on the basis of the first embodiment, the method for securely processing the biometric data includes:
  • S201 Perform verification processing on the current biometric data and the identifier corresponding to the current biometric data according to the dynamic key, to obtain a check value corresponding to the current biometric data, where the dynamic key is based on the preset key.
  • the generated variable key Perform verification processing on the current biometric data and the identifier corresponding to the current biometric data according to the dynamic key, to obtain a check value corresponding to the current biometric data, where the dynamic key is based on the preset key. The generated variable key.
  • the client generally performs verification processing on the current biometric data and the identification code according to the dynamic key, for example, performing HMAC (Hash Message Authentication Code) verification processing.
  • the current check value is obtained.
  • HMAC check processing includes:
  • HMAC(K,M) H(K ⁇ opad
  • H is the HASH algorithm
  • K is the dynamic key
  • opad and ipad are fixed length preset constants
  • M is a combination of current biometric data and the identification code
  • HMAC(K, M) is the school Test value.
  • the above formula can ensure that different input messages (for example, different M and K) can correspondingly obtain different hash message authentication codes (ie, the check value HMAC(K, M)), that is, input. If there is a bit change in the message, it will cause a significant change of the hash message authentication code. Therefore, when there is any change in the current biometric data (for example, when it is tampered with), it can be verified by the hash message authentication code.
  • hash message authentication codes ie, the check value HMAC(K, M)
  • the current biometric data and the check value are combined and processed in a certain order to obtain the verification data.
  • the combination processing is similar to that of the first embodiment, and details are not described herein again.
  • the client performs verification processing on the current biometric data and the identification code according to the dynamic key, and has the same function of distinguishing the integrity of the current biometric data after transmission and effectively responding to the replay attack. Advantages (similar to the first embodiment), which are not described herein again.
  • the step S203 is the same as the first embodiment, and the implementation method, the principle, and the like are similar to the first embodiment, and details are not described herein again.
  • the generating of the dynamic key includes: encrypting a preset key and a random number, and generating the dynamic key.
  • the preset key is the same key pre-stored in the client and the server, and the preset key is usually a fixed key.
  • the random number (denoted as a random number R) is usually one or two. When the random number R is one, it is generally the first random number generated by the client, or the second random number generated by the server. When the random number R is two, it is the first random generated by the client. The number and the second random number generated by the server.
  • Random numbers are divided into pseudo-random numbers and true random numbers.
  • the pseudo-random number is usually generated by a certain function (such as a linear congruence function) through a random number seed (such as the system clock). This means that if the random number seed or the pseudo-random number that has been generated is known, it is possible to obtain the sequence information of the next pseudo-random number, that is, the pseudo-random number is not a true random number, which has certain predictability.
  • a true random number is a true random number. Its random number seed is full of no Deterministic and irregularity, such as the time interval of specific hardware interruption, keyboard stroke speed, mouse movement speed, surrounding electromagnetic wave data, and even wifi signal strength change data, etc. can be used as random number seeds to generate true random numbers.
  • the true random number generated by this is the real random number, which is unpredictable.
  • the first random number is a true random number, which is directly generated by a real random number generator of the client, to further improve security.
  • the second random number is also a true random number, and is directly generated by a server-side true random number generator to further improve security.
  • step S203 the method further includes:
  • step S201 After the new current biometric data and the new identification code corresponding thereto are determined, the process goes to step S201 to continue the execution.
  • the client After the client records the current biometric data (recorded as C, the corresponding identification code is S1) through the above verification processing and encryption processing and transmits to the server end, if new biometric data needs to be transmitted (for example, newly collected user fingerprints) Feature data), it is necessary to determine the new biometric data as new current biometric data (denoted as C#), and negotiate with the server to determine a new identification code corresponding to C# (denoted as S1#), and then transfer The process proceeds to step S201.
  • S1# can be generated by incrementally processing S1, for example, S1 "1234567 8 " is incremented by 1 to generate S1# "12345567 9 ". Therefore, it can be ensured that the client has the advantages in the above steps each time the server and the server end transmit the current biometric data, thereby effectively overcoming the above problems existing in the prior art.
  • Server side mobile phone M with fingerprint module F
  • client fingerprint module F.
  • Both the storage module of the mobile phone M and the storage module of the fingerprint module F store the same preset key pKey, and both have a true random number generator.
  • the fingerprint module F When the mobile phone M is powered on, the fingerprint module F establishes a conversation with the mobile phone M, the fingerprint module M generates a first random number R1 according to its true random number generator, and the mobile phone M generates a second random number R2 according to its true random number generator.
  • the fingerprint module F and the mobile phone M generate a dynamic key dKey according to the preset key pKey, the first random number R1, and the second random number R2.
  • the fingerprint module F and the mobile phone M can process the preset key pKey, the first random number R1 and the second random number R2 by using the same irreversible algorithm EnCr1 to generate the same dynamic key dKey.
  • the fingerprint module F collects the fingerprint feature data of the user (ie, the current fingerprint feature data curFD), and negotiates with the mobile phone M to determine an identification code curSN corresponding to the current fingerprint feature data curFD.
  • the fingerprint module F performs the following verification processing on the current fingerprint feature data curFD and the identification code curSN (see formula fm), and generates a check value curJ corresponding to the current fingerprint feature data curFD:
  • HMAC(K, M) H(K ⁇ opad
  • H is the HASH algorithm
  • K is the dynamic key dKey
  • opad and ipad are fixed length preset constants
  • M is the combination of the current fingerprint feature data curFD and the identification code curSN
  • HMAC(K, M) is the check value curJ .
  • the fingerprint module F combines the current fingerprint feature data curFD and the check value curJ to generate the check data curFDJ.
  • the fingerprint module F encrypts the verification data curFDJ by the encryption algorithm EnCr2 using the dynamic key dKey, and generates the encrypted data curFDE corresponding to the current fingerprint feature data curFD.
  • the fingerprint module F sends the encrypted data curFDE to the mobile phone M.
  • the mobile phone M After receiving the encrypted data curFDE# sent by the fingerprint module F, the mobile phone M decrypts the encrypted data curFDE# to be decrypted according to the dynamic key dKey and the decryption algorithm corresponding to the encryption algorithm EnCr2, and obtains the verification to be verified. Data curFDJ#.
  • the mobile phone M extracts the fingerprint feature data to be verified from the verification data curFDJ# to be verified. curFD# and the verification value to be verified curJ#.
  • the mobile phone M performs verification processing by the above-described verification processing (check processing in accordance with the formula fm) and the identification code curSN to verify the verification data curFD# to obtain a verification value J.
  • the fingerprint module F collects new current fingerprint feature data, and negotiates with the mobile phone M to determine a new identification code (for example, generated by the identification code curSN in a certain step), and re-executes the security processing method of the biometric data.
  • a new identification code for example, generated by the identification code curSN in a certain step
  • FIG. 3A is a structural diagram of a security processing apparatus for biometric data provided in Embodiment 3 of the present application.
  • the security processing device of the biometric data includes a verification data generation module 31 and an encryption data generation module 32.
  • the verification data generating module 31 is configured to obtain verification data corresponding thereto according to the current biometric data and an identification code corresponding thereto, where the verification data includes current biometric data;
  • the encrypted data generating module 32 is configured to encrypt the verification data according to the dynamic key to obtain encrypted data corresponding to the current biometric data, and the dynamic key is a variable key generated according to the preset key.
  • the verification data generating module 31 includes: a verification processing unit and a combination processing unit;
  • the verification processing unit is configured to perform verification processing on the current biometric data and the identification code according to the dynamic key to obtain a check value corresponding to the current biometric data;
  • the combination processing unit is configured to combine the current biometric data and the check value to obtain the current biometric verification data.
  • the verification processing unit is specifically configured to perform verification processing on the current biometric data and the identification code according to the following formula to obtain the verification value:
  • HMAC(K,M) H(K ⁇ opad
  • H is the HASH algorithm
  • K is the dynamic key
  • opad and ipad are fixed length preset constants
  • M is a combination of current biometric data and the identification code
  • HMAC(K, M) is the school Test value.
  • the security processing device of the biometric data further includes: a dynamic key generation module 33.
  • the dynamic key generation module 33 is configured to generate the dynamic key according to a preset key and a random number.
  • the dynamic key generation module 33 is specifically configured to generate the dynamic key according to the preset key, and the first random number generated by the client and/or the second random number generated by the server.
  • the security processing device of the biometric data further includes: a true random number generator; and the first random number is generated by the client by the true random number generator.
  • the security processing device for the biometric data provided in the third embodiment is specifically used to perform the security processing method for the biometric data according to the first or second embodiment.
  • the implementation principle, function, and effect are similar to the first or second embodiment. This will not be repeated here.
  • the third embodiment further provides a biometric sensor comprising the safety processing device of the biometric data as described above.
  • the biometric sensor may specifically be a fingerprint sensor, and the biometric data may specifically be fingerprint feature data.
  • the third embodiment further provides a terminal device, which includes the biometric sensor as described above.
  • FIG. 4 is a schematic diagram showing the hardware structure of some electronic devices for performing the security processing method for biometric data provided by the first or second embodiment of the present application.
  • the electronic device includes: one or more processors 410 and a memory 420, and one processor 410 is taken as an example in FIG.
  • the apparatus for performing the secure processing method of the biometric data may further include: an input device 430 and an output device 440.
  • the processor 410, the memory 420, the input device 430, and the output device 440 can pass through the bus. Or other ways of connecting, in Figure 4 by way of a bus connection.
  • the memory 420 is a non-volatile computer readable storage medium and can be used for storing non-volatile software programs, non-volatile computer-executable programs, and modules, such as the security of the biometric data in the embodiments of the present application.
  • the program instruction/module corresponding to the processing method.
  • the processor 410 executes various functional applications of the server and data processing by executing non-volatile software programs, instructions, and modules stored in the memory 420, that is, implementing a secure processing method of the biometric data.
  • the memory 420 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function; and the storage data area may store data created by use of the security processing device of the biometric data. Wait.
  • memory 420 can include high speed random access memory 420, and can also include non-volatile memory 420, such as at least one disk storage 420 device, flash memory device, or other non-volatile solid state memory 420 device.
  • memory 420 can optionally include memory 420 remotely disposed relative to processor 410, which can be connected to the secure processing device of the biometric data over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • Input device 430 can receive input numeric or character information and generate key signal inputs related to user settings and function control of the encoded information processing device.
  • Input device 430 can include a device such as a press module.
  • the one or more modules are stored in the memory 420 and, when executed by the one or more processors 410, perform a secure processing method of the biometric data.
  • the electronic device of the embodiment of the present application exists in various forms, including but not limited to:
  • Mobile communication devices These devices are characterized by mobile communication functions and are mainly aimed at providing voice and data communication.
  • Such terminals include: smart phones (such as iPhone), multimedia phones, functional phones, and low-end phones.
  • Ultra-mobile personal computer equipment This type of equipment belongs to the category of personal computers, has computing and processing functions, and generally has mobile Internet access.
  • Such terminals include: PDAs, MIDs, and UMPC devices, such as the iPad.
  • Portable entertainment devices These devices can display and play multimedia content. Such devices include: audio, video players (such as iPod), handheld game consoles, e-books, and smart toys and portable car navigation devices.
  • the server consists of a processor, a hard disk, a memory, a system bus, etc.
  • the server is similar to a general-purpose computer architecture, but because of the need to provide highly reliable services, processing power and stability High reliability in terms of reliability, security, scalability, and manageability.
  • the device embodiments described above are merely illustrative, wherein the modules described as separate components may or may not be physically separate, and the components displayed as modules may or may not be physical modules, ie may be located A place, or it can be distributed to multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. Those of ordinary skill in the art can understand and implement without deliberate labor.
  • a machine-readable medium includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash storage media, electrical, optical, acoustic, or other forms of propagation signals (eg, carrier waves) , an infrared signal, a digital signal, etc., etc., the computer software product comprising instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the various embodiments or portions of the embodiments described Methods.
  • ROM read only memory
  • RAM random access memory
  • magnetic disk storage media e.g., magnetic disks, magnetic disk storage media, optical storage media, flash storage media, electrical, optical, acoustic, or other forms of propagation signals (eg, carrier waves) , an infrared signal, a digital signal, etc., etc.
  • the computer software product comprising instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the various embodiments or portions of the embodiment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)

Abstract

一种生物特征数据的安全处理方法、装置、传感器及终端设备。所述方法包括:根据当前生物特征数据以及与其对应的识别码,得到与其对应的校验数据,所述校验数据中含有当前生物特征数据(S101);根据动态密钥对所述校验数据进行加密,得到与当前生物特征数据对应的加密数据,所述动态密钥为根据预置密钥所生成的可变密钥(S102)。本方法、装置、传感器及终端设备结合当前生物特征数据及其识别码对当前生物特征数据进行校验处理,使得既能方便地判断所接收的当前生物特征数据的完整性,又能通过所述识别码使得重放攻击难以成功;再根据动态密钥对所述校验数据进行加密,进一步增加了当前生物特征数据被破解的难度;因此在整体上增加了生物特征数据的安全性。

Description

生物特征数据的安全处理方法、装置、传感器及终端设备 技术领域
本申请实施例涉及信息处理技术领域,尤其涉及一种生物特征数据的安全处理方法、装置、传感器及终端设备。
背景技术
指纹因其独特性和唯一性被广泛应用于安全认证等领域,而指纹模组作为指纹特征数据不可或缺的采集装置,也常常出现在相关的安全认证过程中。
例如,在设置有指纹模组的Host端(如PC、手机或平板)上通过指纹进行解锁或支付操作时,通常需要先由指纹模组将其采集的指纹特征数据发送给Host端,再由Host端将收到的指纹特征数据与已有的指纹模板进行比对确定,从而完成相应的解锁或支付操作。
指纹特征数据对于安全认证的重要性由此可见一斑,因此,如何增强指纹特征数据的安全性成为一个亟待解决的课题。
发明内容
有鉴于此,本申请实施例提供的生物特征数据的安全处理方法、装置、传感器及终端设备,用以至少解决现有技术中存在的上述问题。
本申请实施例第一个方面提供一种生物特征数据的安全处理方法,该方法包括:
根据当前生物特征数据以及与其对应的识别码,得到与其对应的校验数据,所述校验数据中含有当前生物特征数据;
根据动态密钥对所述校验数据进行加密,得到与当前生物特征数据对应的加密数据,所述动态密钥为根据预置密钥所生成的可变密钥。
在本申请一具体实施例中,根据当前生物特征数据以及与其对应的识别码,生成所述校验数据包括:
根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理,得到与当前生物特征数据对应的校验值;
将当前生物特征数据和所述校验值进行组合处理,得到所述校验数据。
在本申请一具体实施例中,根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理包括:按照以下公式对当前生物特征数据和所述识别码进行校验处理:
HMAC(K,M)=H(K⊕opad|H(K⊕ipad|M));
其中,H表示HASH算法,K为所述动态密钥,opad和ipad为固定长度的预置常量,M为当前生物特征数据和所述识别码的组合,HMAC(K,M)为所述校验值。
在本申请一具体实施例中,其特征在于,所述识别码由客户端与服务器端协商生成。
在本申请一具体实施例中,所述动态密钥的生成包括:根据预置密钥和随机数,生成所述动态密钥。
在本申请一具体实施例中,所述随机数包括:由客户端生成的第一随机数和/或由服务器端生成的第二随机数。
在本申请一具体实施例中,根据动态密钥对所述校验数据进行加密,得到所述加密数据之后还包括:确定新的当前生物特征数据以及与其对应的新的识别码后,重新执行所述生物特征数据的安全处理方法。
本申请实施例第二个方面提供一种生物特征数据的安全处理装置,该装置包括:
校验数据生成模块和加密数据生成模块;
校验数据生成模块用于根据当前生物特征数据以及与其对应的识别码,得到与其对应的校验数据,所述校验数据中含有当前生物特征数据;
加密数据生成模块用于根据动态密钥对所述校验数据进行加密,得到与当前生物特征数据对应的加密数据,所述动态密钥为根据预置密钥所生 成的可变密钥。
在本申请一具体实施例中,校验数据生成模块包括:校验处理单元和组合处理单元;
校验处理单元用于根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理,得到与当前生物特征数据对应的校验值;
组合处理单元用于对当前生物特征数据和所述校验值进行组合处理,得到所述校验数据。
在本申请一具体实施例中,校验处理单元具体用于按照以下公式对当前生物特征数据和所述识别码进行校验处理,得到所述校验值:
HMAC(K,M)=H(K⊕opad|H(K⊕ipad|M));
其中,H表示HASH算法,K为所述动态密钥,opad和ipad为固定长度的预置常量,M为当前生物特征数据和所述识别码的组合,HMAC(K,M)为所述校验值。
在本申请一具体实施例中,该装置还包括:动态密钥生成模块;
动态密钥生成模块用于根据预置密钥和随机数,生成所述动态密钥。
在本申请一具体实施例中,动态密钥生成模块具体用于根据预置密钥,以及由客户端生成的第一随机数和/或由服务器端生成的第二随机数,生成所述动态密钥。
在本申请一具体实施例中,该装置还包括:真随机数发生器;第一随机数由客户端通过所述真随机数发生器生成。
本申请实施例第三个方面提供一种生物特征传感器,该传感器包括如上所述的生物特征数据的安全处理装置。
本申请实施例第四个方面提供一种终端设备,该终端设备包括如上所述的生物特征传感器。
由以上技术方案可见,本申请实施例结合当前生物特征数据及其识别码对当前生物特征数据进行校验处理,使得服务器端既能方便地判断所接收的当前生物特征数据的完整性,以防当前生物特征数据被篡改,又能通过所述识别码使得重放攻击难以成功;再根据动态密钥对所述校验数据进 行加密,从而进一步增加当前生物特征数据被破解的难度;因此本申请实施例在整体上增加了生物特征数据的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的生物特征数据的安全处理方法流程图。
图2为本申请实施例二提供的生物特征数据的安全处理方法流程图。
图3A为本申请实施例三提供的生物特征数据的安全处理装置结构图。
图3B为本申请实施例三提供的生物特征数据的安全处理装置的又一结构图
图4为本申请执行本申请实施例一或二提供的生物特征数据的安全处理方法的一些电子设备的硬件结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
Figure PCTCN2017088435-appb-000001
下面以与服务器端连接的客户端作为所述生物特征数据的安全处理方法的执行主体来详细说明所述生物特征数据的安全处理方法的具体实现方式。其中,服务器端也称Server端、Host端、主机端,其包括但不限于PC、手机、平板电脑等;客户端也称客户端、设备端、组件端,其包括但不限于与服务器端连接的指纹装置、虹膜装置等可用来获取用户生物特征数据 (如指纹特征数据、虹膜特征数据等)的生物特征识别模组。一个典型的服务器端与客户端的例子是:具有指纹模组的手机,其中该手机作为服务器端,该指纹模组作为客户端。
当前生物特征数据可以是客户端当前采集得到的生物特征数据,例如当前采集得到的用户指纹特征数据。客户端得到当前生物特征数据后,可以在对其进行完整性校验和/或加密处理后传输给服务器端,以便服务器端对其进行识别等处理。
与当前生物特征数据对应的识别码,通常是客户端在向服务器端发送当前生物特征数据时与服务器端协商确定的识别码,即一个共用的识别码。所述与当前生物特征数据对应的识别码较为常见一种表示形式是一串数字序列号,例如“12345678”。由此也可得知,客户端每向服务器端发送一次生物特征数据,就需要与服务器端协商确定一个与该生物特征数据对应的识别码。实际应用中,所述识别码可作为隐式序列号被用来判别服务器端接收当前生物特征数据的过程与客户端发送生物特征数据的过程是否是对应的。例如在一次传输(发送、接收)当前生物特征数据过程中,客户端先与服务器端协商确定一个共用的识别码Sn,然后客户端将当前生物特征数据和识别码Sn的组合进行校验处理得到相应的校验数据(该校验数据中相当于隐含有识别码Sn的特征)并将该校验数据发送给服务器端;服务器端接收到客户端发来的校验数据后,从中解析出待验证生物特征校验数据,并将待验证数据和识别码Sn(之前与客户端协商时已得到)的组合进行同样的校验处理,以此来对所述校验数据进行验证,若验证通过则判定本次传输过程是相互对应的(即发送过程和接收过程是一一对应的),否则判定本次传输过程是不对应的。
图1为本申请实施例一提供的生物特征数据的安全处理方法流程图。如图1所示,所述生物特征数据的安全处理方法包括:
S101、根据当前生物特征数据以及与其对应的识别码,得到与其对应的校验数据,所述校验数据中含有当前生物特征数据。
S102、根据动态密钥对所述校验数据进行加密,得到与当前生物特征 数据对应的加密数据,所述动态密钥为根据预置密钥所生成的可变密钥。
本实施例中,对于步骤S101,客户端可以对当前生物特征数据和所述识别码进行校验处理,例如进行哈希校验处理,得到与当前生物特征数据对应的包含有当前生物特征数据的校验数据。由此可知,所述校验数据中相当于同时隐含有所述识别码的特征。
在本申请一具体应用中,所述校验处理可以包括:对所述识别码和当前生物特征数据(例如对所述识别码和当前生物特征数据的组合)进行哈希校验处理,生成与当前生物特征数据对应的校验值,再将当前生物特征数据与所述校验值进行组合,便可得到所述校验数据。其中,当前生物特征数据与所述校验值的组合,可以是“当前生物特征数据”+“所述校验值”,也可以是“所述校验值”+“当前生物特征数据”,还可以是其他形式的组合(如交叉组合),在此不再一一举例说明。哈希校验处理例如可以是通过哈希校验算法SHA-224、SHA-256、SHA-384、SHA-512或MD5所进行的校验处理。
对于步骤S102,动态密钥通常是客户端每次与服务器端建立会话时协商确定的新的密钥,例如具有指纹模组的手机在开机时,所述指纹模组(对应客户端)与所述手机(对应服务器端)建立会话,此时所述指纹模组会与所述手机协商确定新的密钥;动态密钥也可以是在一定周期后或者动态密钥异常时由客户端与服务器端协商确定的新的密钥;动态密钥还可以是客户端每次与服务器端传输数据时协商确定的新的密钥(即动态密钥)。本实施例中以客户端每次与服务器端建立会话时确定的新的密钥即动态密钥为例进行介绍。应用中,所述动态密钥通常是由客户端与服务器端通过协商,根据预置密钥而生成的可变密钥,例如结合随机数对所述预置密钥进行不可逆的算法处理所生成所述动态密钥。所述动态密钥由于是可变的(即并非固定的),因此不易于被破解,因而可以有效保证经所述动态密钥加密过的当前生物特征数据的安全性。
本实施例中,客户端对当前生物特征数据和所述识别码进行校验处理的优点包括但不限于:
一是便于对传输后的当前生物特征数据进行完整性判别。下面通过一个例子来说明这一点:
在一次传输过程开始前,客户端与服务器端协商确定一个识别码S;
客户端对当前生物特征数据D和所述识别码S的组合进行哈希校验处理,生成与当前生物特征数据D对应的第一校验值J1;
客户端将当前生物特征数据D与第一校验值J1的组合发送给服务器端;
服务器端接收到客户端传输的数据后,从中解析(或提取)出待验证生物特征数据D#和待验证校验值J2(可视为第一校验值J1);
服务器端对待验证生物特征数据D#和识别码S(之前与客户端协商时已得到)的组合进行同样的哈希校验处理,得到第二校验值J#;
服务器端判断若J#与J2相同,则判定D#与D完全相同,即得到的D#是完整无误的(即与D相比是完全一致的),否则判定D#较D有变化(例如被篡改过),存在安全隐患。
二是可有效避免重放攻击。仍以上述举例为例进行说明:如果当前生物特征数据D与第一校验值J1的组合在本次发送给服务器端的过程中被非法攻击者截取,为了提高攻击成功率,非法攻击者通常会在一段时间后(并非本次发送过程)将所截取的当前生物特征数据D与第一校验值J1的组合(相当于历史生物特征数据D和历史校验值J1的组合)发送给服务器端以诱骗服务器端上当,但此时(即另一次发送过程)服务器端与客户端已协商确定了新的识别码S#,由于新的识别码S#不同于识别码S,因此服务器端对所接收到的历史特征数据D和新的识别码S#进行同样的校验处理后所得到的校验值J#必然也不同于所述历史校验值J1,由此可判定本次所接收的数据不合法,因而可不予处理或做报错处理,从而使得通过历史生物特征数据对服务器端进行重放攻击的难以成功,因此有效保证生物特征数据的安全性,尤其是生物特征数据传输过程的安全性。
由上可见,本申请实施例一结合当前生物特征数据及其识别码对当前生物特征数据进行校验处理,使得既能方便地判断所接收的当前生物特征 数据的完整性,以防当前生物特征数据被篡改,又能通过所述识别码使得重放攻击难以成功;再根据动态密钥对所述校验数据进行加密,从而可进一步增加当前生物特征数据被破解的难度。因此本申请实施例相对于现有技术而言在整体上较大幅度地增强了生物特征数据的安全性。
Figure PCTCN2017088435-appb-000002
图2为本申请实施例二提供的生物特征数据的安全处理方法流程图。如图2所示,在实施例一的基础上,所述生物特征数据的安全处理方法包括:
S201、根据动态密钥对当前生物特征数据和与当前生物特征数据对应的识别码进行校验处理,得到与当前生物特征数据对应的校验值,所述动态密钥为根据预置密钥所生成的可变密钥。
S202、对当前生物特征数据和所述校验值进行组合处理,得到与当前生物特征数据对应的所述校验数据。
S203、根据所述动态密钥对所述校验数据进行加密,得到与当前生物特征数据对应的加密数据。
本实施例中,所述识别码和所述动态密钥的含义与实施例一类似,在此不再赘述。对于步骤S201和S202,客户端通常根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理,例如进行HMAC(Hash Message Authentication Code,哈希运算消息认证码)校验处理,得到所述当前校验值。具体应用中,所述HMAC校验处理包括:
按照以下公式对当前生物特征数据和所述识别码进行HMAC校验处理,得到所述校验值:
HMAC(K,M)=H(K⊕opad|H(K⊕ipad|M));
其中,H表示HASH算法,K为所述动态密钥,opad和ipad为固定长度的预置常量,M为当前生物特征数据和所述识别码的组合,HMAC(K,M)为所述校验值。
上述公式可以保证不同的输入消息(例如不同的M和K)能够相应得到不同的哈希消息认证码(即所述校验值HMAC(K,M)),也就是说输入 的消息中有一个bit位发生变化,都会导致哈希消息认证码的明显变化,因此当前生物特征数据有任何变化时(例如被篡改时)都可以通过致哈希消息认证码校验出来。并且,得益于所述公式中引入的2个常量opad和ipad,以及所述动态密钥,即便是对当前生物特征数据进行了非法篡改,也几乎不可能仅根据当前生物特征数据和所述识别码来生成正确的校验值,因此可有效保证当前生物特征数据在传输过程中的完整性,从而进一步确保生物特征数据的安全性。
其后,将当前生物特征数据和所述校验值按照一定的先后顺序进行组合处理,便可得到所述校验数据。所述组合处理与实施例一类似,在此不再赘述。
由此可见,客户端根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理同样具有便于对传输后的当前生物特征数据的完整性进行判别和可有效应对重放攻击之优点(与实施例一类似),在此不再赘述。
步骤S203与实施例一中的步骤S102一致,其实现方法、原理等与实施例一类似,在此不再赘述。
本申请另一具体应用中,所述动态密钥的生成包括:对预置密钥和随机数进行加密,生成所述动态密钥。
其中,预置密钥为客户端和服务器端中预先存储的相同密钥,所述预置密钥通常为固定密钥。所述随机数(记为随机数R)通常为1个或2个。随机数R为1个时,一般为由客户端生成的第一随机数,或者为由服务器端生成的第二随机数;随机数R为2个时,即为由客户端生成的第一随机数和由服务器端生成的第二随机数。
随机数分为伪随机数和真随机数。其中,伪随机数通常是由确定的函数(比如线性同余函数)通过一个随机数种子(比如系统时钟)产生。这意味着,如果获知了随机数种子或者已经产生的伪随机数,就有可能得到接下来的伪随机数的序列信息,即伪随机数并非真正的随机数,其具有一定的可预测性。
而真随机数,顾名思义是一种真正的随机数。其随机数种子充满了不 确定性和无规律性,例如特定硬件中断的时间间隔、键盘敲击速度、鼠标移动速度、周围的电磁波数据,甚至wifi信号强度变化数据等都可以作为产生真随机数的随机数种子,可见由此而生成的真随机数才是真正的随机数,其具有不可预测性。
可选地,本实施例中,所述第一随机数为真随机数,直接由客户端的真随机数发生器生成,以进一步提高安全性。所述第二随机数亦为真随机数,直接由服务器端的真随机数发生器生成,以进一步提高安全性。
由上可见,对预置密钥和随机数R进行算法处理(一般为不可逆的算法处理)而生成的所述动态密钥,其破解难度远远大于现有技术中对预置密钥的破解难度,因此对于根据所述动态密钥对所述校验数据进行加密而生成的所述加密数据的破解难度也远远大于现有技术中的破解难度,这意味着本申请实施例二中的生物特征数据的安全处理方法可以有效保证当前生物特征数据在传输中的安全性。
在本申请另一具体应用中,步骤S203之后还包括:
确定新的当前生物特征数据以及与其对应的新的识别码后,转至步骤S201继续执行。
客户端将当前生物特征数据(记为C,对应的识别码记为S1)经上述校验处理和加密处理并传输给服务器端后,如果需要传输新的生物特征数据(例如新采集的用户指纹特征数据),则需要将新的生物特征数据确定为新的当前生物特征数据(记为C#),并与服务器端协商确定一个与C#对应的新的识别码(记为S1#),然后转至步骤S201继续执行。其中,为便于计算和操作,可通过对S1进行递增处理从而生成S1#,例如对S1“12345678”进行增1处理,从而生成S1#“123455679”。由此,可保证客户端每次与服务器端在传输当前生物特征数据时均具有上述步骤中的优点,从而有效克服现有技术中存在的上述问题。
下面,通过一个具体的应用场景,来详细介绍一下本申请上述实施例中的生物特征数据的安全处理方法:
服务器端:具有指纹模组F的手机M,客户端:指纹模组F。
手机M的存储模块和指纹模组F的存储模块均存储有相同的预置密钥pKey,且均具有真随机数发生器。
手机M开机时,指纹模组F与手机M建立会话,指纹模组M根据其真随机数发生器生成第一随机数R1,手机M根据其真随机数发生器生成第二随机数R2。
指纹模组F与手机M根据预置密钥pKey、第一随机数R1和第二随机数R2生成动态密钥dKey。具体实现时,指纹模组F和手机M可以通过同样的不可逆的算法EnCr1对预置密钥pKey、第一随机数R1和第二随机数R2进行处理,生成相同的动态密钥dKey。
指纹模组F采集到用户的指纹特征数据(即当前指纹特征数据curFD),并与手机M协商确定一个与当前指纹特征数据curFD对应的识别码curSN。
指纹模组F对当前指纹特征数据curFD和识别码curSN进行如下校验处理(见公式fm),生成与当前指纹特征数据curFD对应的校验值curJ:
公式fm:HMAC(K,M)=H(K⊕opad|H(K⊕ipad|M));
其中,H表示HASH算法,K为动态密钥dKey,opad和ipad为固定长度的预置常量,M为当前指纹特征数据curFD和识别码curSN的组合,HMAC(K,M)为校验值curJ。
指纹模组F将当前指纹特征数据curFD和校验值curJ组合在一起,生成校验数据curFDJ。
指纹模组F通过采用动态密钥dKey的加密算法EnCr2对校验数据curFDJ进行加密处理,生成与当前指纹特征数据curFD对应的加密数据curFDE。
指纹模组F将加密数据curFDE发送给手机M。
手机M收到指纹模组F发来的待解密的加密数据curFDE#后,根据动态密钥dKey和与加密算法EnCr2对应的解密算法,对待解密的加密数据curFDE#进行解密,得到待验证校验数据curFDJ#。
手机M从待验证校验数据curFDJ#中提取出待验证指纹特征数据 curFD#和待验证校验值curJ#。
手机M通过上述校验处理(与公式fm一致的校验处理)以及识别码curSN对待验证校验数据curFD#进行校验处理,得到校验值J。
手机M判断若J=curJ#,则判定待验证指纹特征数据curFD#与指纹模组F发来的当前指纹特征数据curFD完全一致,即待验证指纹特征数据curFD#为合法可用数据,否则判定待验证指纹特征数据curFD#为不合法数据,可不予处理或者做报错处理。
指纹模组F采集新的当前指纹特征数据,并与手机M协商确定新的识别码(例如由识别码curSN按一定步长自增生成),重新执行所述生物特征数据的安全处理方法。
Figure PCTCN2017088435-appb-000003
图3A为本申请实施例三提供的生物特征数据的安全处理装置结构图。如图3所示,所述生物特征数据的安全处理装置包括:校验数据生成模块31和加密数据生成模块32。
校验数据生成模块31用于根据当前生物特征数据以及与其对应的识别码,得到与其对应的校验数据,所述校验数据中含有当前生物特征数据;
加密数据生成模块32用于根据动态密钥对所述校验数据进行加密,得到与当前生物特征数据对应的加密数据,所述动态密钥为根据预置密钥所生成的可变密钥。
本申请实施例一具体应用中,如图3B所示,校验数据生成模块31包括:校验处理单元和组合处理单元;
校验处理单元用于根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理,得到与当前生物特征数据对应的校验值;
组合处理单元用于对当前生物特征数据和所述校验值进行组合处理,得到所述当前生物特征校验数据。
进一步地,校验处理单元具体用于按照以下公式对当前生物特征数据和所述识别码进行校验处理,得到所述校验值:
HMAC(K,M)=H(K⊕opad|H(K⊕ipad|M));
其中,H表示HASH算法,K为所述动态密钥,opad和ipad为固定长度的预置常量,M为当前生物特征数据和所述识别码的组合,HMAC(K,M)为所述校验值。
在本申请另一具体应用中,如图3A和图3B所示,所述生物特征数据的安全处理装置还包括:动态密钥生成模块33。
动态密钥生成模块33用于根据预置密钥和随机数,生成所述动态密钥。
进一步地,动态密钥生成模块33具体用于根据预置密钥,以及由客户端生成的第一随机数和/或由服务器端生成的第二随机数,生成所述动态密钥。
在本申请另一具体应用中,所述生物特征数据的安全处理装置还包括:真随机数发生器;第一随机数由客户端通过所述真随机数发生器生成。
本实施例三提供的生物特征数据的安全处理装置具体用于执行实施例一或二所述的生物特征数据的安全处理方法,其实现原理、功能、效果等与实施例一或二类似,在此不再赘述。
本实施例三还提供一种生物特征传感器,该生物特征传感器包括如上所述的生物特征数据的安全处理装置。应用中,生物特征传感器具体可以是指纹传感器,所述生物特征数据具体可以是指纹特征数据。
本实施例三还提供一种终端设备,该终端设备包括如上所述的生物特征传感器。
Figure PCTCN2017088435-appb-000004
图4为本申请执行本申请实施例一或二提供的生物特征数据的安全处理方法的一些电子设备的硬件结构示意图。根据图4所示,该电子设备包括:一个或多个处理器410以及存储器420,图4中以一个处理器410为例。
执行所述的生物特征数据的安全处理方法的设备还可以包括:输入装置430和输出装置440。
处理器410、存储器420、输入装置430和输出装置440可以通过总线 或者其他方式连接,图4中以通过总线连接为例。
存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述生物特征数据的安全处理方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现所述生物特征数据的安全处理方法。
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据生物特征数据的安全处理装置的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器420,还可以包括非易失性存储器420,例如至少一个磁盘存储器420件、闪存器件、或其他非易失性固态存储器420件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器420,这些远程存储器420可以通过网络连接至所述生物特征数据的安全处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可接收输入的数字或字符信息,以及产生与所述编码信息处理装置的用户设置以及功能控制有关的键信号输入。输入装置430可包括按压模组等设备。
所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行所述的生物特征数据的安全处理方法。
上述产品可执行本申请相应实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请相应实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
当然,实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (15)

  1. 一种生物特征数据的安全处理方法,其特征在于,包括:
    根据当前生物特征数据以及与其对应的识别码,得到与其对应的校验数据,所述校验数据中含有当前生物特征数据;
    根据动态密钥对所述校验数据进行加密,得到与当前生物特征数据对应的加密数据,所述动态密钥为根据预置密钥所生成的可变密钥。
  2. 根据权利要求1所述的生物特征数据的安全处理方法,其特征在于,根据当前生物特征数据以及与其对应的识别码,生成所述校验数据包括:
    根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理,得到与当前生物特征数据对应的校验值;
    对当前生物特征数据和所述校验值进行组合处理,得到所述校验数据。
  3. 根据权利要求2所述的生物特征数据的安全处理方法,其特征在于,根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理包括:按照以下公式对当前生物特征数据和所述识别码进行校验处理:
    Figure PCTCN2017088435-appb-100001
    其中,H表示HASH算法,K为所述动态密钥,opad和ipad为固定长度的预置常量,M为当前生物特征数据和所述识别码的组合,HMAC(K,M)为所述校验值。
  4. 根据权利要求1所述的生物特征数据的安全处理方法,其特征在于,所述识别码由客户端与服务器端协商生成。
  5. 根据权利要求1所述的生物特征数据的安全处理方法,其特征在于,所述动态密钥的生成包括:根据预置密钥和随机数,生成所述动态密钥。
  6. 根据权利要求5所述的生物特征数据的安全处理方法,其特征在于,所述随机数包括:由客户端生成的第一随机数和/或由服务器端生成的第二随机数。
  7. 根据权利要求1所述的生物特征数据的安全处理方法,其特征在于,根据动态密钥对所述校验数据进行加密,得到所述加密数据之后还包括:确定新的当前生物特征数据以及与其对应的新的识别码后,重新执行所述 生物特征数据的安全处理方法。
  8. 一种生物特征数据的安全处理装置,其特征在于,包括:校验数据生成模块和加密数据生成模块;
    校验数据生成模块用于根据当前生物特征数据以及与其对应的识别码,得到与其对应的校验数据,所述校验数据中含有当前生物特征数据;
    加密数据生成模块用于根据动态密钥对所述校验数据进行加密,得到与当前生物特征数据对应的加密数据,所述动态密钥为根据预置密钥所生成的可变密钥。
  9. 根据权利要求8所述的生物特征数据的安全处理装置,其特征在于,校验数据生成模块包括:校验处理单元和组合处理单元;
    校验处理单元用于根据所述动态密钥对当前生物特征数据和所述识别码进行校验处理,得到与当前生物特征数据对应的校验值;
    组合处理单元用于对当前生物特征数据和所述校验值进行组合处理,得到所述校验数据。
  10. 根据权利要求9所述的生物特征数据的安全处理装置,其特征在于,校验处理单元具体用于按照以下公式对当前生物特征数据和所述识别码进行校验处理,得到所述校验值:
    Figure PCTCN2017088435-appb-100002
    其中,H表示HASH算法,K为所述动态密钥,opad和ipad为固定长度的预置常量,M为当前生物特征数据和所述识别码的组合,HMAC(K,M)为所述校验值。
  11. 根据权利要求8所述的生物特征数据的安全处理装置,其特征在于,还包括:动态密钥生成模块;
    动态密钥生成模块用于根据预置密钥和随机数,生成所述动态密钥。
  12. 根据权利要求11所述的生物特征数据的安全处理装置,其特征在于,动态密钥生成模块具体用于根据预置密钥,以及由客户端生成的第一随机数和/或由服务器端生成的第二随机数,生成所述动态密钥。
  13. 根据权利要求11所述的生物特征数据的安全处理装置,其特征在 于,还包括:真随机数发生器;第一随机数由客户端通过所述真随机数发生器生成。
  14. 一种生物特征传感器,其特征在于,包括权利要求8~13任一项所述的生物特征数据的安全处理装置。
  15. 一种终端设备,其特征在于,包括权利要求14所述的生物特征传感器。
PCT/CN2017/088435 2017-06-15 2017-06-15 生物特征数据的安全处理方法、装置、传感器及终端设备 WO2018227471A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780000468.2A CN107466454A (zh) 2017-06-15 2017-06-15 生物特征数据的安全处理方法、装置、传感器及终端设备
PCT/CN2017/088435 WO2018227471A1 (zh) 2017-06-15 2017-06-15 生物特征数据的安全处理方法、装置、传感器及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/088435 WO2018227471A1 (zh) 2017-06-15 2017-06-15 生物特征数据的安全处理方法、装置、传感器及终端设备

Publications (1)

Publication Number Publication Date
WO2018227471A1 true WO2018227471A1 (zh) 2018-12-20

Family

ID=60554185

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/088435 WO2018227471A1 (zh) 2017-06-15 2017-06-15 生物特征数据的安全处理方法、装置、传感器及终端设备

Country Status (2)

Country Link
CN (1) CN107466454A (zh)
WO (1) WO2018227471A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109802974B (zh) * 2018-12-21 2021-01-01 北京理工大学 一种基于公钥密码的数据单向安全传输方法
CN109977879A (zh) * 2019-03-28 2019-07-05 山东省计算中心(国家超级计算济南中心) 一种现场指纹采集与远程匹配对比方法及系统
CN113572720B (zh) * 2020-04-29 2023-09-29 北京新能源汽车股份有限公司 一种数据加密方法、解密方法、装置及电动汽车
CN112398824B (zh) * 2020-11-03 2021-12-14 珠海格力电器股份有限公司 一种权限校验方法、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340279A (zh) * 2008-07-09 2009-01-07 深圳市金蝶移动互联技术有限公司 数据加密及解密方法、系统及设备
CN104408356A (zh) * 2014-11-28 2015-03-11 北京大唐智能卡技术有限公司 一种指纹认证方法及系统、指纹模板加密装置
CN105354500A (zh) * 2015-10-13 2016-02-24 深圳市九鼎安华科技有限公司 文件加密方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103124269B (zh) * 2013-03-05 2016-01-20 桂林电子科技大学 云环境下基于动态口令与生物特征的双向身份认证方法
CN106330850B (zh) * 2015-07-02 2020-01-14 创新先进技术有限公司 一种基于生物特征的安全校验方法及客户端、服务器
CN105391713A (zh) * 2015-11-09 2016-03-09 浙江工业大学 一种基于生物证书的身份认证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340279A (zh) * 2008-07-09 2009-01-07 深圳市金蝶移动互联技术有限公司 数据加密及解密方法、系统及设备
CN104408356A (zh) * 2014-11-28 2015-03-11 北京大唐智能卡技术有限公司 一种指纹认证方法及系统、指纹模板加密装置
CN105354500A (zh) * 2015-10-13 2016-02-24 深圳市九鼎安华科技有限公司 文件加密方法及装置

Also Published As

Publication number Publication date
CN107466454A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
EP3324572B1 (en) Information transmission method and mobile device
WO2019020051A1 (zh) 一种安全认证的方法及装置
CN109714176B (zh) 口令认证方法、装置及存储介质
WO2018227471A1 (zh) 生物特征数据的安全处理方法、装置、传感器及终端设备
CN103167491A (zh) 一种基于软件数字证书的移动终端唯一性认证方法
CN106817346B (zh) 一种数据传输方法、装置及电子设备
KR101739203B1 (ko) 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
CN101977190A (zh) 数字内容加密传送方法以及服务器端
TWI724684B (zh) 用於執行經過身分驗證的加密操作的方法、系統及裝置
CN104283686A (zh) 一种数字版权保护方法及其系统
CN112055019B (zh) 一种建立通信信道的方法及用户终端
CN110336832B (zh) 一种信息加密、解密方法、装置及终端
KR102234825B1 (ko) 암호 동작들의 안전한 수행
CN106411520B (zh) 一种虚拟资源数据的处理方法、装置及系统
CN109740319B (zh) 数字身份验证方法及服务器
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN111291398B (zh) 基于区块链的认证方法、装置、计算机设备及存储介质
KR101856530B1 (ko) 사용자 인지 기반 암호화 프로토콜을 제공하는 암호화 시스템 및 이를 이용하는 온라인 결제 처리 방법, 보안 장치 및 거래 승인 서버
US10057054B2 (en) Method and system for remotely keyed encrypting/decrypting data with prior checking a token
KR20180029932A (ko) 암호화 보안 메시지 제공 방법 및 장치
CN112565156B (zh) 信息注册方法、装置和系统
CN108985079B (zh) 数据验证方法和验证系统
KR101591323B1 (ko) 데이터 전송이 가능한 단말 장치 및 상기 데이터 전송이 가능한 단말 장치의 부인 방지를 위한 데이터 전송 방법
CN116032486B (zh) 非对称密钥的认证方法、系统及可读存储介质
CN114826729B (zh) 一种数据处理方法、页面更新方法及相关硬件

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17914050

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17914050

Country of ref document: EP

Kind code of ref document: A1