WO2021018306A1 - 一种认证凭据保护方法和系统 - Google Patents

一种认证凭据保护方法和系统 Download PDF

Info

Publication number
WO2021018306A1
WO2021018306A1 PCT/CN2020/106442 CN2020106442W WO2021018306A1 WO 2021018306 A1 WO2021018306 A1 WO 2021018306A1 CN 2020106442 W CN2020106442 W CN 2020106442W WO 2021018306 A1 WO2021018306 A1 WO 2021018306A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
secret information
authentication
authentication secret
new
Prior art date
Application number
PCT/CN2020/106442
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
Priority claimed from CN201910880529.XA external-priority patent/CN112307488A/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP20847175.5A priority Critical patent/EP3866039A4/en
Publication of WO2021018306A1 publication Critical patent/WO2021018306A1/zh
Priority to US17/371,712 priority patent/US20210334356A1/en

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/45Structures or tools for the administration of authentication
    • 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/31User authentication
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Definitions

  • This application relates to the field of information security technology, and in particular to a method and system for protecting authentication credentials.
  • secret information can be stored by trusted hardware devices, and trusted security chips are used to protect data.
  • trusted computing chip TEE security chip, SGX security operating environment, etc.
  • these technologies are not perfect. For example, high security can be achieved based on hardware devices, but if the device storing the secret information is hacked, there is a risk of information leakage.
  • This type of technology uses the universally unique identifier (UUID) of the device to encrypt the password, and then stores the ciphertext of the password in a scattered manner, and then collects the scattered password files when recovering, and decrypts the recovery password together.
  • UUID universally unique Identifier
  • UUID is stored in the hardware module. With the improvement of hardware attack technology, this method has become less secure. In recent years, cases where hardware side channels have been breached have continued to explode, proving that the security of trusted hardware is also at risk. At the same time, hardware security protection methods also have the disadvantages of high cost, slow upgrades and difficulty in patching.
  • White box encryption can increase the difficulty of attacks, but the security of white box encryption is not ideal.
  • secret information can be stored on multiple devices to achieve security protection, thereby reducing the risk of leakage of secret information when the device is compromised.
  • the use of secure multi-party secure computing technology can solve the problem of collaborative computing that protects privacy between a group of untrusted parties, while not divulging each input value to other members participating in the calculation.
  • Secret sharing technology can also be used, that is, the secret content is split in an appropriate way, and each share after the split is managed by a different participant. A single participant cannot recover all the secret information, and only a number of participants can work together to recover. Secret news.
  • This application provides a method and system for protecting authentication credentials to improve information security.
  • an authentication credential protection method includes the following steps: generating authentication secret information from the lock screen password and the hardware secret information of the first device; the first device randomly generates a symmetric key, and The symmetric key is used as an encryption key for the authentication secret information; the authentication secret information is encrypted by the encryption key and stored in the first device; the encryption key is split by a splitting algorithm Into at least two first key fragments; one of the at least two first key fragments is stored in the first device, and the first device stores other first key fragments The key fragments are sent to the trusted device.
  • the authentication secret information is generated by using the lock screen password and the hardware secret information to increase the complexity of the information. And by using different trusted devices to store the split key fragments, the security of the encryption key is improved.
  • the splitting algorithm is a secure multi-party data splitting algorithm.
  • the security of the encryption key is improved by adopting the method of splitting the encryption key and decentralized storage.
  • the first device sending other first key fragments to the trusted device specifically includes:
  • the trusted device includes a second device and a third device; the first key fragment is three; the first device fragments two of the three key fragments one by one Correspondingly sent to the second device and the third device for storage; or the trusted device includes the second device, and the first key is divided into two pieces; the first device divides the first The key fragments are sent to the second device.
  • the first device is a mobile terminal
  • the second device is a cloud service
  • the third device is a trusted mobile terminal.
  • the first device and the trusted device are connected through a secure channel. This facilitates the secure transfer of information between the first device and the trusted device.
  • the method further includes: performing user identity information verification on the trusted device, and after determining the user identity, receiving the first key fragment sent by the first device. Therefore, the security of the first key fragment stored on the trusted device is ensured.
  • the method further includes: using the first key segment stored on the trusted device and the first device as the key component input of the secure multi-party calculation, in the A secure multi-party calculation is performed between the trusted device and the first device, and the authentication secret information is decrypted on the first device.
  • the method further includes: before performing the multi-party calculation, performing user identity information verification on the trusted device, and after determining the user identity, using the trusted device and The first key fragments respectively stored on the first device are input as the key components of the secure multi-party calculation, and the secure multi-party calculation is performed between the trusted device and the first device.
  • verifying user identity information the security of information is improved.
  • the method further includes: resetting the password, and generating new authentication secret information from the reset lock screen password and the hardware secret information of the first device.
  • the method further includes: the first device randomly generates a new symmetric key, and uses the new symmetric key as the new encryption key of the new authentication secret information. Key; use the old authentication secret information and the new authentication secret information as parameters, and pass them to the TEE.
  • the TEE compares the old authentication secret information with the stored authentication secret information. If the two match, the new authentication secret information Replace the stored authentication secret information.
  • the first device randomly generates a new symmetric key, and uses the new symmetric key as a new encryption key for the new authentication secret information; the splitting algorithm Split the new encryption key into at least two second key fragments; one of the at least two second key fragments is stored in the first device, And the first device sends other second key fragments to the trusted device. After setting the new lock screen password, reset the new symmetric key and the second key fragment to protect the new authentication secret information of the first device.
  • the hardware secret information includes: hard disk serial number, CPU serial number, or factory serial number of the first device, and special information in the hardware SOC chip. Improve the security of authentication secret information.
  • an authentication credential protection system which includes:
  • the first device includes a first processing module: for generating authentication secret information from the lock screen password and the hardware secret information of the first device; randomly generating a symmetric key, and using the symmetric key as the authentication secret information
  • the encryption key split the encryption key into at least two first key fragments by a splitting algorithm;
  • the first storage module is used to store the encrypted authentication secret ciphertext information and the at least two One of the first key fragments;
  • the first communication module is configured to send other first key fragments to the trusted device;
  • a trusted device where the trusted device is used to receive and store the first key segment sent by the first device.
  • the authentication secret information is generated by using the lock screen password and the hardware secret information to increase the complexity of the information. And by using different trusted devices to store the split key fragments, the security of the encryption key is improved.
  • the splitting algorithm is a secure multi-party data splitting algorithm.
  • the security of the encryption key is improved by using a secure multi-party algorithm to split the encryption key and distribute it to different devices for storage.
  • the trusted device includes: a second device and a third device. Different trusted devices can be used to store the first key segment.
  • the trusted device includes a second communication module, and the first communication module and the second communication module are connected through a secure channel.
  • the trusted device includes: a verification module for verifying user identity information; and the second communication module is further used for receiving the first device sent by the first device after determining the user identity.
  • a key fragmentation improve the security of information transmission.
  • the first processing module is also used to reset the lock screen password, and generate new authentication secret information from the reset lock screen password and the hardware secret information of the first device. Generate new authentication secret information based on the new lock screen password.
  • the first processing module is also used to randomly generate a new symmetric key, and use the new symmetric key as a new encryption key for the new authentication secret information.
  • the old authentication secret information and the new authentication secret information are passed as parameters to the TEE.
  • the TEE compares the old authentication secret information with the stored authentication secret information. If the two match, the new authentication secret information will be replaced by the new authentication secret information.
  • the stored authentication secret information is the old authentication secret information and the new authentication secret information.
  • the first processing module is further configured to split the new encryption key into at least two second key fragments by a splitting algorithm; the at least two second key fragments; A copy of the second key fragment in the key fragments is stored in the first device, and the first device sends other second key fragments to the trusted device. After entering the new lock screen password, the new symmetric key and the second key fragment are regenerated to protect the new authentication secret information of the first device.
  • Figure 1 is a structural block diagram of an authentication credential protection system provided by an embodiment of the application
  • FIG. 2 is a schematic diagram of the flow of authentication credential protection provided by an embodiment of the application
  • FIG. 3 is a flow of setting a lock screen password of the first device provided by an embodiment of the application.
  • Figure 4 is an information interaction process of the authentication credential protection system provided by an embodiment of the application.
  • Fig. 5 is a process of decrypting the authentication secret information provided by an embodiment of the application.
  • Figure 6 is an encryption key splitting process of the authentication credential protection system provided by an embodiment of the application.
  • FIG. 7 is a process of decrypting authentication secret information of the authentication credential protection system provided by an embodiment of the application.
  • FIG. 8 is an encryption key splitting process of the authentication credential protection system provided by an embodiment of the application.
  • Fig. 9 is a process of decrypting the authentication secret information of the authentication credential protection system provided by an embodiment of the application.
  • At least one refers to one or more, and “multiple” refers to two or more.
  • And/or describes the association relationship of the associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the associated objects are in an “or” relationship.
  • the following at least one (item) or similar expressions refers to any combination of these items, including any combination of a single item (a) or a plurality of items (a).
  • At least one of a, b, or c can mean: a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, c It can be single or multiple.
  • Fig. 1 shows a system architecture diagram to which an embodiment of the present application is applicable.
  • the system architecture of the embodiment of the present application includes a first device, a second device, and a third device.
  • the first device is a reset device, that is, a device that needs to be restored after forgetting the lock screen password, and it can be a terminal.
  • the terminal in the embodiment of the present application may also be referred to as terminal equipment (terminal equipment) or user equipment (user equipment, UE).
  • the terminal may be a mobile phone, a tablet computer (pad), a notebook computer, a personal digital assistant (personal digital assistant, PDA), a point of sales (POS), a car computer, a smart speaker, a set-top box, and augmented reality (augmented).
  • Reality (AR) devices, virtual reality (VR), smart cars, etc. which are not limited in the embodiment of the present application.
  • the terminal of the embodiment of the present application may support one or more applications.
  • one or more of the following applications drawing application, presentation application, word processing application, game application, phone application, video player application, music player application, email application, instant messaging application, photo management application, camera Applications, browser applications, calendar applications, clock applications, payment applications, health management applications, etc. Users can install corresponding applications on the terminal based on their own needs.
  • the first device 100 includes a first processing module 102, a first storage module 103, and a first communication module 101.
  • the first storage module 103 stores the lock screen password of the first device 100 and the hardware secret information of the first device 100.
  • the first storage module 103 may be a hard disk in the first device 100, or other chips with storage functions.
  • the hardware secret information of the first device 100 includes but is not limited to: hard disk serial number, CPU serial number, or factory serial number of the first device 100, or special information in the hardware SOC chip, which is invisible and unreadable to applications Information.
  • the first processing module 102 of the first device 100 is used to process the lock screen password and hardware secret information.
  • the first processing module 102 may be a CPU in the first device 100 or another chip with computing functions in the first device 100.
  • the first processing module 102 When in use, the first processing module 102 generates authentication secret information from the lock screen password and the hardware secret information of the first device 100, and in specific composition, superimposes the lock screen password and the hardware secret information to generate authentication secret information.
  • the lock screen password is a combination of six numbers or letters A
  • the secret information stored in the hardware password module (a set of random numbers without the hardware password module, which is regenerated when the phone is restored to factory settings) and the lock screen password are used for HMAC calculation.
  • the output result is used as authentication secret information.
  • the first processing module 102 encrypts the generated authentication secret information. Specifically, the first processing module 102 randomly generates a symmetric key, which is used as an encryption key for the authentication secret information to encrypt the authentication secret information. When specifically generating the symmetric key, the first processing module 102 may randomly generate the symmetric key based on the hardware cryptographic module and perform encryption processing on the authentication secret information.
  • the first processing module 102 After the first processing module 102 encrypts the authentication encrypted information, it sends the encrypted authentication encrypted information to the first storage module 103 for storage.
  • the first processing module 102 is further configured to split the encryption key into at least two first key fragments through a splitting algorithm; the split first key fragments can be stored in different devices. The following first explains how to split the encryption key.
  • the splitting algorithm specifically adopted by the first processing module 102 is a secure multi-party data splitting algorithm, which is a calculation framework formed based on basic operations such as multi-party addition and multi-party multiplication. If you use the SPDZ2 multi-party computing framework, which was launched by Professor NP.Sart of the University of Bristol, UK, the multi-party computing open element framework SPDZ2 in 2017. For details, please refer to "https://github.com/bristolcrypto/SPDZ-2", or You can refer to the Implementing AES via MPC document written by Professor NP.Sart. This document explains the principle of multi-party computing to implement the AES algorithm.
  • the document can be accessed through "https://homes.esat.kuleuven.be/ ⁇ nsmart/FHE-MPC /Lecture9.pdf" query.
  • the SPDZ2 multi-party calculation framework encapsulates multi-party basic operator operations such as multi-party addition, multiplication, bit operation, and logical comparison. Based on this multi-party calculation framework, the number of participants can be calculated based on multiple parties, and functions such as automatic splitting of input data are realized.
  • multi-party computing participants can perform a specific function jointly by multiple parties by independently loading and executing the compiled bytecode, such as the multi-party computing MPC_AES decryption function provided by the embodiment of this application .
  • the first processing module 102 encrypts the encryption key based on the SPDZ2 multi-party computing framework.
  • AES_KEY is split into random fragmented data AES_KEY1, AES_KEY2, AES_KEY3, but the above equation needs to be satisfied. Among them, AES_KEY1, AES_KEY2, and AES_KEY3 are three first key fragments.
  • the first processing module 102 distributes AES_KEY1 to the multi-party computing party party_1, AES_KEY2 to the multi-party computing party_2, and so on, distributing AES_KEYn to the multi-party computing party_n.
  • the devices participating in multi-party computing include: a first device 100, a second device 200, and a third device 300, where the first device 100 is party_1, the second device 200 is party_2, and the third device 300 is party_3.
  • the second device 200 and the third device 300 are trusted devices.
  • the so-called trusted devices refer to devices that the second device 200 and the third device 300 are guaranteed to be operable by the user corresponding to the first device 100 when they are running.
  • AES_KEY1 is stored in the first device 100
  • AES_KEY1 is stored in the first storage module 103.
  • the first processing module 102 When sending AES_KEY2 and AES_KEY3 to the second device 200 and the third device 300, the first processing module 102 sends AES_KEY2 and AES_KEY3 to the second device 200 and the third device 300 in a one-to-one correspondence through the first communication module 101.
  • the first communication module 101 may be a communication function module on a terminal device.
  • the above-mentioned second device 200 is a cloud service and serves as a participant in multi-party computing. As shown in FIG. 1, FIG. 1 shows a schematic structural diagram of the second device 200.
  • the trusted device includes an identity verification module, a second communication module, a second processing module, and a second storage module.
  • the verification module set by the second device 200 is used to verify user identity information; the verification module may be a common verification module such as account password and SMS verification.
  • the authentication module is password authentication
  • the user logs in to the cloud service by entering the account and password to verify the authenticity of the user.
  • the second communication module A201 is connected to the first communication module 101 to establish a secure channel, so that the first device 100 and the second device 200 can communicate with each other.
  • the second communication module A201 receives AES_KEY2 sent by the first device 100.
  • the second communication module A201 is connected to the second storage module A203 and the second processing module A202, where the second processing module A202 is a common data processing module.
  • the second processing module A202 stores the AES_KEY2 received by the second communication module A201 in the second storage module A203.
  • the second processing module A202 can also be used to participate in multi-party calculations to restore the reset device.
  • the aforementioned third device 300 is a trusted terminal, and the trusted terminal may be a terminal device of the same type as the first device 100, such as a mobile phone, a tablet computer, and other devices.
  • the third device 300 also serves as a participant in multi-party computing. As shown in FIG. 1, FIG. 1 shows a schematic structural diagram of the third device 300.
  • the trusted device includes a verification module, a second communication module, a second processing module, and a second storage module.
  • the verification module set by the third device 300 is used to verify user identity information; the verification module may be a common verification module such as fingerprint or face verification, password verification, etc.
  • the third device 300 collects the user's face or fingerprint image and compares it with the stored face or fingerprint features, and if the result matches, the authenticity of the user is verified.
  • the second communication module B301 is connected with the first communication module 101 to establish a secure channel, so that the first device 100 and the third device 300 can communicate with each other.
  • the second communication module B301 receives the first key fragment sent by the first device 100.
  • the second communication module B301 is connected to the second storage module B303 and the second processing module B302, where the second processing module B302 is a common data processing module.
  • the second processing module B302 stores the AES_KEY3 received by the second communication module B301 into the second storage module B303.
  • the second processing module B302 can also be used to participate in multi-party calculation to restore the reset device.
  • the first processing module 102 takes AES_KEY1 as input
  • the second processing module A202 takes AES_KEY2 as input
  • the second processing module B302 takes AES_KEY3 as input for multi-party calculations.
  • the ciphertext of the authentication secret information is also added To multi-party calculations.
  • the multi-party calculations performed are also based on the SPDZ2 multi-party calculation framework described above, and secure multi-party calculations are performed between the trusted device and the first device 100 to decrypt the authentication secret information.
  • the first processing module 102 of the first device 100 is also used to reset the lock screen password by the user of the first device 100 after forgetting the lock screen password.
  • the first processing module 102 is also used to reset the lock screen password when resetting the lock screen password.
  • the reset lock screen password and the hardware secret information of the first device 100 generate new authentication secret information, which is encrypted and stored in the first device 100.
  • the first device 100 will perform the above encryption again to form an encryption key and other processes.
  • the first processing module 102 is also used to randomly generate a new symmetric key and transfer the new The symmetric key is used as the new encryption key for the new authentication secret information; the new authentication secret information can be encrypted by the encryption key.
  • the first processing module 102 of the first device 100 is also used to pass the old authentication secret information and the new authentication secret information as parameters to the TEE after the authentication secret information is decrypted, and the TEE will combine the old authentication secret information with the stored authentication The secret information is compared, and if the two match, the new authentication secret information is replaced with the stored authentication secret information.
  • the first processing module 101 also uses a splitting algorithm to split the new encryption key into at least two second key fragments; at least two second key fragments; A copy of the second key fragment in the key fragments is stored in the first device 100, and the first device 100 sends the other second key fragments to the trusted device.
  • a splitting algorithm to split the new encryption key into at least two second key fragments; at least two second key fragments; A copy of the second key fragment in the key fragments is stored in the first device 100, and the first device 100 sends the other second key fragments to the trusted device.
  • the embodiment of the application also provides a method for protecting authentication information, and the specific steps include:
  • Step 001 Generate authentication secret information from the lock screen password and the hardware secret information of the first device 100;
  • Step 002 The first device 100 randomly generates a symmetric key, and uses the symmetric key as an encryption key for authenticating secret information;
  • Step 003 encrypt the authentication secret information with the encryption key and store it in the first device 100;
  • Step 004 Split the encryption key into at least two first key fragments by a splitting algorithm; one of the at least two first key fragments is stored in the first device 100, And the first device 100 sends other first key fragments to the trusted device.
  • the first device 100 sends the key fragments in the at least two first key fragments to the second device 200 and the third device 300 for storage in a one-to-one correspondence;
  • the first device 100 and the trusted device are connected through a secure channel, thereby ensuring the secure transmission of data between the first device 100 and the trusted device.
  • the user identity information is verified on the trusted device, and after the user identity information is determined, the first key segment sent by the first device 100 is received. Therefore, the security of the first key fragment stored on the trusted device is ensured.
  • Step 005 Use the first key fragments respectively stored on the trusted device and the first device 100 as the key component input of the secure multi-party calculation, perform secure multi-party calculation between the trusted device and the first device 100, and Decrypting the authentication secret information by the first device;
  • the user identity information verification is performed on the trusted device, and after the user identity information is determined, the first key fragments respectively stored on the trusted device and the first device 100 are input as the key components for the multi-party secure calculation
  • the ciphertext of the authentication secret information also participates in multi-party secure computing, and secure multi-party computing is performed between the trusted device and the first device 100.
  • Step 006 Reset the lock screen password.
  • Step 007 When resetting the lock screen password, generate new authentication secret information from the reset lock screen password and the hardware secret information of the first device 100;
  • Step 008 The first device 100 randomly generates a new symmetric key, and uses the new symmetric key as a new encryption key for the new authentication secret information; and uses the new symmetric key as the new authentication key. Encrypt the secret information with a new encryption key;
  • Step 009 Pass the decrypted authentication secret information (old authentication secret information) and new authentication secret information into the TEE security function module.
  • the authentication secret information stored in the TEE is compared with the incoming old authentication secret information, and when the two match, the incoming new authentication secret information is replaced with the authentication secret information stored in the TEE.
  • Step 010 Split the new encryption key into at least two second key fragments through a splitting algorithm
  • One of the at least two second key fragments is stored in the first device, and the first device sends the other second key fragments to the trusted device.
  • this method mainly includes two main processes:
  • the auxiliary computing party may include a third device and a cloud service, and verify the user's identity through the local and cloud accounts of the third device, respectively;
  • the process of using secret information (key): the designated auxiliary computing party uses key fragments to recover the authentication secret information through multi-party calculation.
  • the result of the secret information calculation is invisible to other parties; the identification information of the auxiliary computing party Sharing between auxiliary computing parties, after the secret information is scattered and stored, more auxiliary computing parties can still be added.
  • the lock screen password and the hardware secret information of the smart terminal generate authentication secret information.
  • the intelligent terminal randomly generates a symmetric key as an encryption key for the authentication secret information, which is used to encrypt the authentication secret information, and save the cipher text on the intelligent terminal.
  • the encryption key is split into three first key fragments: share_key_a (key fragment A)/share_key_b (key fragment B)/share_key_c (key fragment Piece C).
  • the first key fragment share_key a is synchronized to the terminal device
  • the first key fragment share_key_b is synchronized to the cloud service
  • the first key fragment share_key_c is stored on the reset device.
  • the terminal device and the reset device respectively load their saved key fragments, start the three-party secure computing function, and restore the authentication secret on the reset device (mobile phone) Information (called old). And the new lock screen password and hardware secret information generate new authentication secret information.
  • Reset equipment, terminal equipment, cloud service, and the three parties participate in the preservation of key fragment information.
  • the terminal device PC or mobile phone
  • the reset device establish a connection channel (Bluetooth, WLan).
  • the user enters the cloud account and password when resetting the device, and https is transmitted to the cloud service for identity authentication (authenticated user).
  • the user enters the lock screen password on the reset device, the lock screen password and the hardware secret information generate authentication secret information; randomly generates a symmetric key as the encryption key for the authentication secret information, and encrypts the authentication secret information with the above encryption key to obtain the authentication
  • the secret information ciphertext is saved to the reset device.
  • Split the encryption key into three key segments share_key_a/share_key_b/share_key_c.
  • share_key_a/share_key_b/share_key_c are saved to the mobile phone (reset device), third device (trusted phone or trusted PC) or cloud service respectively.
  • a pop-up box prompts the user to reject or accept it. Or after the terminal device (PC) receives share_key_a, it will prompt (input protection password).
  • the terminal device After the terminal device is authorized by the user, after verifying the signature of the first key segment share_key_a, it is encrypted and stored on the terminal device (hardware key or protection password encryption).
  • the cloud service receives sharee_key_b, verifies the signature of sharee_key_b, and then encrypts and saves the cloud database.
  • the sharee_key_c is stored in the dedicated storage area RPMB of the reset device or encrypted and stored on the REE side.
  • Reset equipment, terminal equipment, cloud service, and the three parties participate in the preservation of key fragment information.
  • the terminal device PC or mobile phone
  • the reset device establish a connection channel (Bluetooth, WLan).
  • Resetting the device needs to verify the user’s fingerprint information, and then the next step of the lock screen password reset process can be enabled after passing.
  • the cloud service verifies that the account and password are correct.
  • the process of multi-party secure computing is initiated, and the authentication secret information is recovered (decrypted) on the reset device.
  • the user enters the cloud account and password when resetting the device, and https is transmitted to the cloud service for identity authentication (authenticated user).
  • the cloud service verifies that the user account and password are passed, activates the MPC calculation switch, and waits for the other two parties to participate in the multi-party calculation.
  • terminal device password trusted mobile phone lock screen password or trusted PC protection password
  • the MPC calculation switch is activated, and the three parties officially start the MPC_AES decryption calculation (calculation based on the SPDZ2 multi-party calculation framework), and the reset device is on the REE side to restore (decrypt) the authentication secret information. Use the restored authentication secret information as the old authentication secret information.
  • the user enters the new lock screen password on the interface. After the new lock screen password is calculated with the hardware secret information, the new authentication secret information is obtained. The old authentication secret information and the new authentication secret information are passed as parameters to the Trusted Execution Environment (TEE TrustedExcutionEnvironment), Complete the update of the new authentication credentials (indirectly complete the update of the lock screen password).
  • TEE TrustedExcutionEnvironment TEE TrustedExcutionEnvironment
  • the multi-party MPC_AES decryption algorithm is introduced in the process of protecting and restoring the authentication secret information to ensure that the authentication secret information is not leaked during the calculation process, and can only be restored in the reset device, and the other parties cannot be calculated.
  • FIG. 6 shows another system architecture provided by an embodiment of the present application.
  • the system architecture of the embodiment of the present application includes a first device 100 and a second device 200.
  • the first device 100 is the reset device in FIG. 1, and the second device 200 is a cloud service.
  • the structure of the first device 100 and the second device 200 is the same as the above structure, the only difference is that when the first device 100 splits the encryption key, it is split into two, but when storing, the two first secrets
  • the key fragments are stored in the first device 100 and the second device 200 respectively.
  • the first device 100 stores a copy of the first key fragment
  • the second device 200 stores a copy of the first key fragment.
  • the user enters the cloud account and password when resetting the device, and https is transmitted to the cloud service for identity authentication (authenticated user).
  • the user inputs the lock screen password on the reset device, the lock screen password and the hardware secret information generate authentication secret information; a symmetric key is randomly generated as the encryption key for the authentication secret information, and the above encryption key is used to encrypt the authentication secret information. Save the text to the reset device.
  • the cloud service receives the first key segment share_key_b, verifies the signature of the first key segment share_key_b, and then encrypts and saves the cloud database.
  • the first key segment share_key_a is stored in the dedicated storage area RPMB of the reset device or encrypted and stored on the REE side.
  • the authentication secret information recovery stage is shown in Figure 7:
  • Cloud service and reset device establish Https secure connection channel.
  • the user enters the cloud account and password when resetting the device, and https is transmitted to the cloud service for identity authentication (authenticated user).
  • the cloud service authenticates the user account and password, activates the MPC calculation switch, and waits for the two parties to participate in the multi-party calculation.
  • the user enters the new lock screen password on the interface, as discussed above.
  • Trusted devices mobile phones, PAD, PC
  • auxiliary accessories such as smart watches, bracelets, etc.
  • Another system architecture of the embodiment of the present application includes a first device 100 and a third device 300.
  • the first device 100 is the reset device in FIG. 1, and the third device 300 is a mobile phone or a tablet computer. And the structure of the first device 100 and the third device 300 is the same as the above structure, the only difference is that when the first device 100 splits the encryption key, it splits into two, but when storing, the two first secrets
  • the key fragments are stored in the first device 100 and the third device 300 respectively.
  • the first device 100 stores a copy of the first key fragment
  • the third device 300 stores a copy of the first key fragment.
  • the specific process is as follows:
  • the reset device and the third device 300 establish a connection channel.
  • the user enters the lock screen password on the reset device, the lock screen password and hardware secret information generate authentication secret information; a symmetric key is randomly generated as the encryption key of the lock screen password, and the above encryption key is used to encrypt the authentication secret information. Save the text to the reset device.
  • the encryption key is split into two first key fragments share_key_a/share_key_b, and the first key fragments are respectively saved to the reset device (first device 100) and tablet computer (third device 300).
  • the tablet computer receives the first key segment share_key_b, verifies the signature of the first key segment share_key_b, and then encrypts it and saves it locally.
  • the first key segment share_key_a is stored in the dedicated storage area RPMB or encrypted storage REE side of the reset device.
  • a pop-up box prompts the user to reject or accept.
  • the third device 300 After the third device 300 is authorized by the user, after verifying the share_key_b signature, it is encrypted and stored on the third device 300 (hardware key or protection password encryption).
  • the share_key_a is stored in the dedicated storage area RPMB of the first device 100 or encrypted and stored on the REE side.
  • the authentication secret information recovery (decryption) stage is shown in Figure 9:
  • the reset device and the third device 300 establish a connection channel.
  • the third device 300 After the third device 300 performs (a trusted mobile phone lock screen password or a trusted PC protection password) verification, it starts the MPC calculation switch, and waits for the MPC_AES decryption calculation of the two parties involved.
  • the user enters the new password on the interface, takes the new and old lock screen passwords as parameters, calls the functional process of the lock screen password modification, and completes the lock screen password reset function.
  • the first processing module 102 of the first device 100 is also used to pass the old authentication secret information and the new authentication secret information as parameters to the TEE after the authentication secret information is decrypted, and the TEE will combine the old authentication secret information with the stored authentication The secret information is compared, and if the two match, the new authentication secret information is replaced with the stored authentication secret information.
  • the third device 300 (mobile phone, PAD, PC) can be replaced with auxiliary accessories (such as smart watches, bracelets, etc.).
  • the secret information or its calculation results are jointly calculated by the auxiliary calculation parties, and the intrusion of some auxiliary calculation parties does not cause the leakage of the secret information or the calculation results.
  • Secret information or calculation results only appear in the designated computing party, ensuring the security of secret information.

Abstract

本申请提供了一种认证凭据保护方法和系统,该保护方法包括以下步骤:将锁屏口令与第一设备的硬件秘密信息生成认证秘密信息;所述第一设备随机生成对称密钥,并将所述对称密钥作为所述认证秘密信息的加密密钥;通过多方计算的数据拆分算法将所述加密密钥拆分成至少两份第一密钥分片;所述至少两份第一密钥分片中的一份第一密钥分片存储在所述第一设备,且所述第一设备将其他第一密钥分片发送到可信设备。在上述技术方案中,通过采用锁屏口令以及硬件秘密信息生成认证秘密信息提高了信息的复杂度。并且通过采用不同的可信设备存储拆分的密钥分片,提高了加密密钥的安全性。

Description

一种认证凭据保护方法和系统
相关申请的交叉引用
本申请要求在2019年07月31日提交中国专利局、申请号为201910703950.3、申请名称为“一种认证凭据保护方法和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中;本申请要求在2019年09月18日提交中国专利局、申请号为201910880529.X、申请名称为“一种认证凭据保护方法和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及到信息安全技术领域,尤其涉及到一种认证凭据保护方法和系统。
背景技术
网络环境中的信息隐私和安全非常重要,信息使用中的鉴权是常见的技术手段,包括身份认证用的口令(认证凭据),数据加密用的密钥,数字签名用的私钥等。作为信息安全技术和系统的核心,其安全存储和安全使用是信息安全系统安全性的基础。
安全存储方面,秘密信息可以通过可信的硬件设备保存,使用可信的安全芯片保护数据的安全。如可信计算芯片,TEE安全芯片,SGX安全运行环境等。但这些技术也不是完美的,比如:基于硬件设备的可实现很高的安全性,但是如果存储该秘密信息的设备被入侵,则存在信息泄露的风险。这类技术采用设备的通用唯一标识符(UUID)对密码进行加密后,将密码密文分散保存,恢复时再收集分散的密码文件,一块解密恢复密码。通用唯一标识符(UUID)保存在硬件模块中,随着对硬件攻击技术的改进,这种方法也变得不太安全。近年硬件侧信道被击破的案例不断爆出,证明了可信硬件的安全性也有风险。同时硬件安全保护手段也存在成本高,升级慢和难以打补丁的缺点。
秘密信息也可以通过白盒加密的技术在备份设备上实现安全存储,白盒加密可以提高攻击的难度,但是白盒加密的安全性也不够理想。
另一方面,秘密信息可以通过分散在多个设备上保存实现安全保护,从而降低设备被入侵时秘密信息泄露的风险。
安全使用方面,采用安全多方安全计算技术可解决一组互不信任的参与方之间保护隐私的协同计算问题,同时不泄露各输入值给参与计算的其他成员。也可以采用秘密共享技术,即将秘密内容以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复全部的秘密信息,只有若干个参与者一同协作才能恢复秘密消息。
因此随着信息技术的发展,更安全可靠和低成本的保护隐私的技术不断出现。
发明内容
本申请提供了一种认证凭据保护方法和系统,用以提高信息安全。
第一方面,提供了一种认证凭据保护方法,该保护方法包括以下步骤:将锁屏口令与第一设备的硬件秘密信息生成认证秘密信息;所述第一设备随机生成对称密钥,并将所述对称密钥作为所述认证秘密信息的加密密钥;通过所述加密秘钥对所述认证秘密信息加密 并存储在所述第一设备;通过拆分算法将所述加密密钥拆分成至少两份第一密钥分片;所述至少两份第一密钥分片中的一份第一密钥分片存储在所述第一设备,且所述第一设备将其他第一密钥分片发送到可信设备。在上述技术方案中,通过采用锁屏口令以及硬件秘密信息生成认证秘密信息提高了信息的复杂度。并且通过采用不同的可信设备存储拆分的密钥分片,提高了加密密钥的安全性。
在一个具体的可实施方案中,所述拆分算法为安全多方数据拆分算法。通过采用拆分加密密钥且分散保存的方式提高了加密密钥的安全性。
在一个具体的可实施方案中,所述第一设备将其他第一密钥分片发送到可信设备具体为:
所述可信设备包括第二设备及第三设备;所述第一密钥分片为三份;所述第一设备将所述三份密钥分片中的两份密钥分片一一对应发送到所述第二设备及所述第三设备进行存储;或所述可信设备包括第二设备,所述第一密钥分片为两份;所述第一设备将一份第一密钥分片发送到所述第二设备。
在一个具体的可实施方案中,所述第一设备为移动终端,所述第二设备为云服务;所述第三设备为可信的移动终端。
在一个具体的可实施方案中,所述第一设备与所述可信设备之间通过安全通道连接。从而方便第一设备与可信设备之间的信息安全传递。
在一个具体的可实施方案中,所述方法还包括:在所述可信设备上进行用户身份信息验证,并在确定用户身份后,接收所述第一设备发送的第一密钥分片。从而确保了存储在可信设备上的第一密钥分片的安全性。
在一个具体的可实施方案中,所述方法还包括:通过所述可信设备及所述第一设备上分别存储的第一密钥分片作为安全多方计算的密钥分量输入,在所述可信设备及所述第一设备之间进行安全多方计算,并在所述第一设备解密所述认证秘密信息。
在一个具体的可实施方案中,所述方法还包括:在进行所述多方计算之前,在所述可信设备上进行用户身份信息验证,并在确定用户身份后,以所述可信设备及所述第一设备上分别存储的第一密钥分片作为安全多方计算的密钥分量输入,在所述可信设备及所述第一设备之间进行所述安全多方计算。通过验证用户身份信息,提高了信息的安全性。
在一个具体的可实施方案中,所述方法还包括:重置口令,将重置的锁屏口令与第一设备的硬件秘密信息生成新的认证秘密信息。
在一个具体的可实施方案中,所述方法还包括:所述第一设备随机生成新的对称密钥,并将所述新的对称密钥作为所述新的认证秘密信息的新的加密密钥;将旧的认证秘密信息和新的认证秘密信息作参数,传递给TEE,TEE将旧的认证秘密信息与存储的认证秘密信息作比对,若两者匹配,则将新的认证秘密信息替换所述存储的认证秘密信息。
在一个具体的可实施方案中,所述第一设备随机生成新的对称密钥,并将所述新的对称密钥作为所述新的认证秘密信息的新的加密密钥;通过拆分算法将所述新的加密密钥拆分成至少两份第二密钥分片;所述至少两份第二密钥分片中的一份第二密钥分片存储在所述第一设备,且所述第一设备将其他第二密钥分片发送到可信设备。在设置新的锁屏口令后,重新设置新的对称密钥以及第二密钥分片对第一设备的新认证秘密信息进行保护。
在一个具体的可实施方案中,所述硬件秘密信息包括:硬盘序列号、CPU序列号、或第一设备的出厂序列号,硬件SOC芯片中的特殊信息。提高了认证秘密信息的安全性。
第二方面,提供了一种认证凭据保护系统,该系统包括:
第一设备,包括第一处理模块:用于将锁屏口令与所述第一设备的硬件秘密信息生成认证秘密信息;随机生成对称密钥,并将所述对称密钥作为所述认证秘密信息的加密密钥;通过拆分算法将所述加密密钥拆分成至少两份第一密钥分片;第一存储模块,用于存储加密后的认证秘密密文信息以及所述至少两份第一密钥分片中的一份密钥分片;第一通信模块,用于将其他第一密钥分片发送到可信设备;
可信设备,所述可信设备用于接收并存储所述第一设备发送的第一密钥分片。在上述技术方案中,通过采用锁屏口令以及硬件秘密信息生成认证秘密信息提高了信息的复杂度。并且通过采用不同的可信设备存储拆分的密钥分片,提高了加密密钥的安全性。
在一个具体的可实施方案中,所述拆分算法为安全多方数据拆分算法。通过采用安全多方算法拆分加密密钥并分散到不同设备保存提高了加密密钥的安全性。
在一个具体的可实施方案中,所述可信设备包括:第二设备和第三设备。可以采用不同的可信设备存储第一密钥分片。
在一个具体的可实施方案中,所述可信设备包括第二通信模块,所述第一通信模块与所述第二通信模块之间通过安全通道连接。
在一个具体的可实施方案中,所述可信设备包括:验证模块,用于验证用户身份信息;所述第二通信模块还用于在确定用户身份后,接收所述第一设备发送的第一密钥分片。提高了信息传输时的安全性。
在一个具体的可实施方案中,所述可信设备包括第二处理模块;所述第一处理模块及所述第二处理模块分别通过所述可信设备及所述第一设备上存储的第一密钥分片作为安全多方计算的密钥分量输入,且在所述可信设备及所述第一设备之间进行安全多方计算MPC_AES,并在所述第一设备解密所述认证秘密信息。通过安全多方计算,对忘记锁屏口令的第一设备进行解密并重新输入新的锁屏口令,第一设备不用进行恢复出厂设备即可进行锁屏口令重置,避免第一设备数据的丢失情况。
在一个具体的可实施方案中,所述第一处理模块还用于重置锁屏口令,将重置的锁屏口令与第一设备的硬件秘密信息生成新的认证秘密信息。基于新的锁屏口令生成新的认证秘密信息。
在一个具体的可实施方案中,所述第一处理模块还用于随机生成新的对称密钥,并将所述新的对称密钥作为所述新的认证秘密信息的新的加密密钥进行加密;
将旧的认证秘密信息和新的认证秘密信息作参数,传递给TEE,TEE将旧的认证秘密信息与存储的认证秘密信息作比对,若两者匹配,则将新的认证秘密信息替换所述存储的认证秘密信息。
在一个具体的可实施方案中,所述第一处理模块还用于通过拆分算法将所述新的加密密钥拆分成至少两份第二密钥分片;所述至少两份第二密钥分片中的一份第二密钥分片存储在所述第一设备,且所述第一设备将其他第二密钥分片发送到可信设备。在录入新的锁屏口令后,重新生成新的对称密钥以及第二密钥分片对第一设备的新的认证秘密信息进行保护。
附图说明
图1为本申请实施例提供的认证凭据保护系统的结构框图;
图2为本申请实施例提供的认证凭据保护的流程示意图;
图3为本申请实施例提供的第一设备的锁屏口令设置流程;
图4为本申请实施例提供的认证凭据保护系统的信息交互流程;
图5为本申请实施例提供的解密认证秘密信息的流程;
图6为本申请实施例提供的认证凭据保护系统的加密密钥拆分流程;
图7为本申请实施例提供的认证凭据保护系统的解密认证秘密信息流程;
图8为本申请实施例提供的认证凭据保护系统的加密密钥拆分流程;
图9为本申请实施例提供的认证凭据保护系统的解密认证秘密信息流程。
具体实施方式
本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。
图1示出了本申请实施例适用的一种系统架构图。如图1所示,本申请实施例的系统架构包括第一设备、第二设备及第三设备。
继续参考图1,第一设备为重置设备,即忘记锁屏口令后需要恢复的设备,具体可以为终端。本申请实施例中的终端又可称之为终端设备(terminal equipment)或者用户设备(user equipment,UE)等。示例的,终端可以为手机、平板电脑(pad)、笔记本电脑、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)、车载电脑、智能音箱、机顶盒、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)或者智能汽车等,本申请实施例对此不作限定。另外,本申请实施例的终端可以支持一种或多种应用。比如以下应用中的一个或多个:绘图应用、演示应用、字处理应用、游戏应用、电话应用、视频播放器应用、音乐播放器应用、电子邮件应用、即时消息收发应用、照片管理应用、相机应用、浏览器应用、日历应用、时钟应用、支付应用和健康管理应用等。用户可以基于自身的需求在终端上安装相应的应用。
一并参考图1,图1示例出了本申请实施例提供的重置设备的结构示意图。第一设备100包括第一处理模块102、第一存储模块103及第一通信模块101。
第一存储模块103中存储有第一设备100的锁屏口令以及第一设备100的硬件秘密信息。该第一存储模块103可以第一设备100中的硬盘,或者其他具备存储功能的芯片。第一设备100的硬件秘密信息包括但不限定:硬盘序列号、CPU序列号、或者第一设备100的出厂序列号、或者硬件SOC芯片中的特殊信息,对应用程序是不可见且不可读取的信息。
继续参考图1,第一设备100的第一处理模块102用于对锁屏口令以及硬件秘密信息进行处理。第一处理模块102可以为第一设备100中的CPU,或者第一设备100中其他具有计算功能的芯片。第一处理模块102在使用时,将锁屏口令与第一设备100的硬件秘密信息生成认证秘密信息,在具体组成时,将锁屏口令与硬件秘密信息叠加形成生成认证秘密信息。如锁屏口令为六位数字或者字母的组合A,硬件密码模块中保存的秘密信息(一组 随机数且不出硬件密码模块,手机恢复出厂设置时重新生成)和锁屏口令作HMAC运算,输出的结果作为认证秘密信息。
第一处理模块102对生成的认证秘密信息进行加密,具体的,第一处理模块102随机生成对称密钥,该对称密钥作为认证秘密信息的加密密钥对认证秘密信息进行加密。在具体生成对称密钥时,第一处理模块102可以基于硬件密码模块随机生成对称密钥并对认证秘密信息进行加密处理。
第一处理模块102在对认证加密信息进行加密后,将加密的认证加密信息发送到第一存储模块103中进行存储。
第一处理模块102还用于通过拆分算法将加密密钥拆分成至少两份第一密钥分片;拆分的第一密钥分片可以存储在不同的设备中。下面首先说明一下如何对加密密钥进行拆分。
第一处理模块102具体采用的拆分算法为安全多方数据拆分算法,该安全多方拆分算法为基于多方加法、多方乘法等基本运算形成的计算框架。如采用SPDZ2多方计算框架,该框架为英国布里斯托大学的NP.Sart教授于2017年推出多方计算开元框架SPDZ2,具体可以参考“https://github.com/bristolcrypto/SPDZ-2”,或者可以参考NP.Sart教授撰写的Implementing AES via MPC文档,该文档中说明了多方计算实现AES算法的原理,该文档可通过“https://homes.esat.kuleuven.be/~nsmart/FHE-MPC/Lecture9.pdf”查询。SPDZ2多方计算框架中封装了多方加法、乘法和位运算、逻辑比较等多方基本算子运算。基于该多方计算框架,可以根据多方计算参与方的数量,实现了输入数据的自动拆分等功能。程序员根据其提供的编程语言规范(类python),借助sint/sfloat多方安全类型编写特殊功能的多方计算的脚本文件(简称MPC文件),使用SPDZ2框架的编译器将MPC文件编译为多方可执行文件(字节码文件),多方计算参与方通过独自加载执行编译的字节码,就能完成由多个参与方共同执行某个特定的功能,如本申请实施例提供的多方计算MPC_AES解密功能。
为方便理解对加密密钥的拆分,以第一处理模块102生成16字节的随机数据作为AES对称密码算法的密钥AES_KEY为例,第一处理模块102通过基于上述SPDZ2多方计算框架对加密密钥进行拆分:将AES_KEY拆分成随机的密钥片数据AES_KEY1、AES_KEY2、....、AES_KEYn;且满足:AES_KEY=AES_KEY1+AES_KEY2+....+AES_KEYn;其中n为正整数,且n为多方计算的参与方个数。在图1所示的系统中为3个多方计算参与方,因此n=3。AES_KEY拆分成随机的分片数据AES_KEY1、AES_KEY2、AES_KEY3,但需要满足上述的等式。其中,AES_KEY1、AES_KEY2、AES_KEY3为三份第一密钥分片。
第一处理模块102将AES_KEY1分发给多方计算参与方party_1,将AES_KEY2分发给多方计算参与方party_2,依此类推,将AES_KEYn分发给多方计算参与方party_n。在图1所示的系统框架中,参与多方计算的设备包括:第一设备100、第二设备200及第三设备300,其中第一设备100为party_1,第二设备200为party_2,第三设备300为party_3。且第二设备200及第三设备300为可信设备,所谓的可信设备指的是第二设备200及第三设备300在运行时保证时第一设备100对应的用户能操作的设备。
在将AES_KEY1保存在第一设备100中时,AES_KEY1存储在第一存储模块103中。
在将AES_KEY2、AES_KEY3发送到第二设备200及第三设备300中时,第一处理模块102将AES_KEY2及AES_KEY3通过第一通信模块101一一对应发送到第二设备200 及第三设备300。其中第一通信模块101可以为终端设备上的通讯功能模块。
上述的第二设备200为云服务,作为多方计算的一个参与方。如图1中所示,图1示出了第二设备200的结构示意图。可信设备包括身份验证模块、第二通信模块、第二处理模块及第二存储模块。
首先对于验证模块,第二设备200设置的验证模块用于验证用户身份信息;该验证模块可以为账号密码及短信验证等常见的验证模块。如验证模块为密码验证时,用户通过输入账号以及密码登陆云服务,验证用户的真实性。同时在验证云服务的真实性后,第二通信模块A201与第一通信模块101连接,建立起安全通道,以使得第一设备100与第二设备200之间可以通信连接。
在第一处理模块102通过第一通信模块101发送AES_KEY2时,第二通信模块A201接收第一设备100发送的AES_KEY2。
第二通信模块A201与第二存储模块A203及第二处理模块A202连接,其中第二处理模块A202为常见的数据处理模块。在使用时,第二处理模块A202将第二通信模块A201接收到AES_KEY2存储到第二存储模块A203中。并且第二处理模块A202还可以用来参与多方计算以恢复重置设备。
上述的第三设备300为可信终端,该可信终端可以为与第一设备100相同类型的终端设备,如手机、平板电脑等设备。第三设备300也作为多方计算的一个参与方。如图1中所示,图1示出了第三设备300的结构示意图。可信设备包括验证模块、第二通信模块、第二处理模块及第二存储模块。
首先对于验证模块,第三设备300设置的验证模块用于验证用户身份信息;该验证模块可以为指纹或人脸验证、密码验证等常见的验证模块。如验证模块为设置为指纹或人脸验证时,第三设备300采集用户人脸或指纹图像并与储存的人脸或指纹特征进行比对,结果匹配则验证用户的真实性。第二通信模块B301与第一通信模块101连接,建立起安全通道,以使得第一设备100与第三设备300之间可以通信连接。
在第一处理模块102通过第一通信模块101发送AES_KEY3时,第二通信模块B301接收第一设备100发送的第一密钥分片。
第二通信模块B301与第二存储模块B303及第二处理模块B302连接,其中第二处理模块B302为常见的数据处理模块。在使用时,第二处理模块B302将第二通信模块B301接收到AES_KEY3存储到第二存储模块B303中。并且第二处理模块B302还可以用来参与多方计算以恢复重置设备。
在具体进行三方计算MPC_AES时,第一处理模块102以AES_KEY1作为输入,第二处理模块A202以AES_KEY2作为输入,第二处理模块B302以AES_KEY3作为输入进行多方计算,同时认证秘密信息的密文也加入到多方计算中。所进行的多方计算也是基于上述的SPDZ2多方计算框架,在可信设备及第一设备100之间进行安全多方计算解密认证秘密信息。
第一设备100的第一处理模块102还用于在忘记锁屏口令后,第一设备100的用户可以重新设置锁屏口令,第一处理模块102还用于在重置锁屏口令时,将重置的锁屏口令与第一设备100的硬件秘密信息生成新的认证秘密信息并加密后存储在第一设备100。第一处理模块102的上述处理过程可以参考上文中的具体描述,在此不再赘述。
此外,在重置锁屏口令后,第一设备100会重新进行上述加密,形成加密密钥等过程, 具体的,第一处理模块102还用于随机生成新的对称密钥,并将新的对称密钥作为新的认证秘密信息的新的加密密钥;通过加密密钥可以将新的认证秘密信息进行加密。
第一设备100的第一处理模块102还用于在认证秘密信息解密后,将旧的认证秘密信息和新的认证秘密信息作参数,传递给TEE,TEE将旧的认证秘密信息与存储的认证秘密信息作比对,若两者匹配,则将新的认证秘密信息替换所述存储的认证秘密信息。
此外,在新的认证秘密信息替换旧的认证秘密信息后,第一处理模块101还通过拆分算法将新的加密密钥拆分成至少两份第二密钥分片;至少两份第二密钥分片中的一份第二密钥分片存储在第一设备100,且第一设备100将其它第二密钥分片发送到可信设备。上述过程具体可以参考上文中关于第一处理模块102的描述,在此不再详细赘述。
在第一处理模块102启动锁屏口令重置后,
本申请实施例还提供了一种认证信息保护方法,具体步骤包括:
步骤001:将锁屏口令与第一设备100的硬件秘密信息生成认证秘密信息;
步骤002:第一设备100随机生成对称密钥,并将对称密钥作为认证秘密信息的加密密钥;
步骤003:通过所述加密密钥对所述认证秘密信息加密并存储在所述第一设备100;
步骤004:通过拆分算法将加密密钥拆分成至少两份第一密钥分片;至少两份第一密钥分片中的一份第一密钥分片存储在第一设备100,且第一设备100将其他第一密钥分片发送到可信设备。
具体的,第一设备100将至少两份第一密钥分片中的密钥分片一一对应发送到第二设备200及第三设备300进行存储;
在具体传输时,第一设备100与可信设备之间通过安全通道连接,从而确保第一设备100与可信设备之间的数据安全传递。
此外,在可信设备上进行用户身份信息验证,并在确定用户身份信息后,接收第一设备100发送的第一密钥分片。从而确保了存储在可信设备上的第一密钥分片的安全性。
步骤005:通过可信设备及第一设备100上分别存储的第一密钥分片作为安全多方计算的密钥分量输入,在可信设备及第一设备100之间进行安全多方计算,并在所述第一设备解密所述认证秘密信息;
具体的,在可信设备上进行用户身份信息验证,并在确定用户身份信息后,以可信设备及第一设备100上分别存储的第一密钥分片作为多方安全计算的密钥分量输入,同时认证秘密信息的密文也参与多方安全计算,在可信设备及第一设备100之间进行安全多方计算。
步骤006:重置锁屏口令。
步骤007:在重置锁屏口令时,将重置的锁屏口令与第一设备100的硬件秘密信息生成新的认证秘密信息;
步骤008:第一设备100随机生成新的对称密钥,并将新的对称密钥作为新的认证秘密信息的新的加密密钥;并将所述新的对称密钥作为所述新的认证秘密信息的新的加密密钥进行加密;
步骤009:将所述解密得到的所述认证秘密信息(旧的认证秘密信息)及新的认证秘密信息,传入TEE安全功能模块。TEE中存储的认证秘密信息和传入的旧的认证秘密信息进行对比,并在两者匹配时,将传入的新的认证秘密信息替换所述TEE存储的认证秘密信息。
步骤010:通过拆分算法将所述新的加密密钥拆分成至少两份第二密钥分片;
所述至少两份第二密钥分片中的一份第二密钥分片存储在所述第一设备,且所述第一设备将其他第二密钥分片发送到可信设备。
为了方便理解上述方法,下面结合一些场景进行说明。如在典型场景定义为:如果用户忘记智能手机上锁屏密码,只能将手机恢复成出厂设置的状态,需要用户重新设置新锁屏密码。但手机以前保存的用户原数据被清除,不可再被访问。用户可以将锁屏密码备份到云端保存,但同样存在在云端泄露的风险,使得用户设备存在可能被解锁的风险。以智能终端口令或者密码设置和重置的过程来进一步详细说明。如图2中所示,本方法主要包括两个主要流程:
秘密信息(密钥)生成过程:密钥分片A、密钥分片B及密钥分片C为加密密钥拆分的三个密钥分片,将三个密钥分片分散保存到辅助计算方,通过辅助计算方共同实现安全的恢复或者使用该秘密信息。辅助计算方可包括第三设备和云服务,分别通过第三设备的本地和云账号验证用户的身份;
秘密信息(密钥)使用过程:在指定的辅助计算方通过多方计算使用密钥分片恢复出认证秘密信息,秘密信息计算后的结果,该结果对其他方不可见;辅助计算方的标识信息在辅助计算方之间共享,在秘密信息分散保存后,仍然可以加入更多辅助计算方。
首先说明锁屏口令设置流程:
如图3中所示的流程,用户在智能终端的界面上输入锁屏口令usrPWD后,锁屏口令和智能终端的硬件秘密信息生成认证秘密信息。
智能终端随机生成对称密钥作为认证秘密信息的加密密钥,用于加密认证秘密信息,并将密文保存到智能终端上。
通过多方计算密钥拆分算法,将该加密密钥拆分成出三份第一密钥分片:share_key_a(密钥分片A)/share_key_b(密钥分片B)/share_key_c(密钥分片C)。
将第一密钥分片share_key a同步到终端设备上,将第一密钥分片share_key_b同步到云服务上,第一密钥分片share_key_c保存在重置设备上。
当用户忘记锁屏密码需要重新设置新密码时,终端设备和重置设备(手机)分别加载各自保存的密钥分片,启动三方安全计算功能,在重置设备(手机)上恢复出认证秘密信息(称旧的)。且新锁屏口令和硬件秘密信息生成新的认证秘密信息。
参考图3及图4,其中本机指代的重置设备,其具体流程如下:
首先说明加密密钥拆分阶段:
重置设备、终端设备、云服务,三方参与密钥分片信息的保存。
终端设备(PC或手机)和重置设备建立联接通道(蓝牙、WLan)。
近端操作场景,建立联接通道;重置设备与云服务建立单向https安全通道(认证云服务)。
用户在重置设备输入云账号和密码,https传输到云服务进行身份认证(认证用户)。
用户在重置设备上输入锁屏口令,锁屏口令和硬件秘密信息生成认证秘密信息;随机生成对称密钥作为认证秘密信息的加密密钥,用上述加密密钥加密认证秘密信息,得到的认证秘密信息密文保存到重置设备上。将该加密密钥拆分成出三份密钥分片share_key_a/share_key_b/share_key_c。share_key_a/share_key_b/share_key_c分别保存到手机(重置设备)、第三设备(可信手机或可信PC)或云服务。
终端设备(手机)收到share_key_a后,弹框提示用户拒绝或接收。或终端设备(PC)收到share_key_a后,弹框提示(输入保护口令)。
终端设备得用户授权后,验证第一密钥分片share_key_a签名后,加密保存到终端设备上(硬件密钥或保护口令加密)。
云服务收到sharee_key_b,验证sharee_key_b签名后,后加密保存云数据库。sharee_key_c保存在重置设备的专用存储区RPMB或加密保存REE侧。
再对认证秘密信息恢复阶段进行说明。
重置设备、终端设备、云服务,三方参与密钥分片信息的保存。
终端设备(PC或手机)和重置设备建立联接通道(蓝牙、WLan)。
一并参考图5,锁屏口令重置流程如下,其中图5中的本机指代的重置设备。
重置设备需要验证用户的指纹信息,通过后才能启用锁屏口令重置的下步流程。
终端设备验证锁屏口令或指纹或人脸正确后,云服务验证帐号和密码正确后。
启动多方安全计算的过程,在重置设备上恢复(解密)出认证秘密信息。
具体流程如下:
近端操作场景,建立安全联接通道;重置设备与云服务建立单向https安全通道(认证服务)。
用户在重置设备输入云账号和密码,https传输到云服务进行身份认证(认证用户)。
云服务验证用户账号和密码通过,启动MPC计算开关,等待其它两方参与多方计算。
终端设备口令(可信手机锁屏口令或可信PC保护口令)验证后,启动MPC计算开关,等待其它两方参与多方计算。
重置设备指纹验证通过后,启动MPC计算开关,三方正式启动MPC_AES解密计算(基于SPDZ2多方计算框架的计算),重置设备在REE侧,恢复(解密)出认证秘密信息。将恢复的认证秘密信息作为旧认证秘密信息。
用户在界面输入新锁屏口令,新锁屏口令与硬件秘密信息运算后,得到新的认证秘密信息,旧认证秘密信息及新认证秘密信息作为参数传入到可信执行环境(TEE TrustedExcutionEnvironment),完成新认证凭据的更新(间接完成锁屏口令的更新)。
通过上述描述可以看出,在本申请实施例提供的系统中,用户忘记锁屏密码需重新设置时,无需将手机恢复成出厂设置,且用户原数据可继续访问。启动三方安全计算功能,只能在恢复设备(手机)上恢复出旧认证秘密信息,云服务、终端设备无法恢复出旧认证秘密信息。达到用户设置新锁屏密码、手机无需恢复出厂设置、用户原数据可继续访问效果。此外,在保护和恢复认证秘密信息过程中引入多方MPC_AES解密算法,保证认证秘密信息在计算过程中不被泄漏,且只能在重置设备中恢复,其余几方并不能计算得到。
如图6所示,图6示出了本申请实施例提供的另一系统架构。本申请实施例的系统架构包括第一设备100及第二设备200。
其中第一设备100为图1中的重置设备,第二设备200为云服务。且第一设备100及第二设备200的结构与上述结构相同,唯一不同的是第一设备100在将加密密钥拆分时,拆分成两份,但是在存储时,两份第一密钥分片分别存储在第一设备100及第二设备200中,其中第一设备100存储有一份第一密钥分片,第二设备200中存储有一份第一密钥分片。其具体流程如下:
重置设备与云服务建立单向https安全通道(认证云服务)。
用户在重置设备输入云账号和密码,https传输到云服务进行身份认证(认证用户)。
用户在重置设备上输入锁屏口令,锁屏口令和硬件秘密信息生成认证秘密信息;随机生成对称密钥作为认证秘密信息的加密密钥,用上述加密密钥加密认证秘密信息,得到的密文保存到重置设备上。
将该加密密钥拆分成出两份第一密钥分片share_key_a/share_key_b,第一密钥分片分别保存到手机(重置设备)、云服务。
云服务收到第一密钥分片share_key_b,验证第一密钥分片share_key_b签名后,后加密保存云数据库。第一密钥分片share_key_a保存重置设备的专用存储区RPMB或加密保存REE侧。
认证秘密信息恢复阶段,如图7所示:
云服务和重置设备建立Https安全连接通道。
重置设备与云服务建立单向https安全通道(认证云服务)。
用户在重置设备输入云账号和密码,https传输到云服务进行身份认证(认证用户)。
云服务认证用户账号和密码通过,启动MPC计算开关,等待参与两方的多方计算。
重置设备指纹验证通过后,启动MPC计算开关,两方正式启动MPC_AES解密计算,重置设备在REE侧,恢复出认证秘密信息。
用户在界面输入新的锁屏口令,如前面的论述。
可信设备(手机、PAD、PC)可替换为辅助配件(如智能手表、手环等)。
本申请实施例的另一系统架构包括第一设备100及第三设备300。
其中第一设备100为图1中的重置设备,第三设备300为手机或者平板电脑等。且第一设备100及第三设备300的结构与上述结构相同,唯一不同的是第一设备100在将加密密钥拆分时,拆分成两份,但是在存储时,两份第一密钥分片分别存储在第一设备100及第三设备300中,其中第一设备100存储有一份第一密钥分片,第三设备300中存储有一份第一密钥分片。如图8所示,其具体流程如下:
重置设备和第三设备300建立连接通道。
用户在重置设备上输入锁屏口令,锁屏口令和硬件秘密信息生成认证秘密信息;随机生成对称密钥作为锁屏口令的加密密钥,用上述加密密钥加密认证秘密信息,得到的密文保存到重置设备上。
将该加密密钥拆分成出两份第一密钥分片share_key_a/share_key_b,第一密钥分片分别保存到重置设备(第一设备100)、平板电脑(第三设备300)。
平板电脑收到第一密钥分片share_key_b,验证第一密钥分片share_key_b签名后,后加密保存本地。第一密钥分片share_key_a保存在重置设备的专用存储区RPMB或加密保存REE侧。
第三设备300收到share_key_b后,弹框提示用户拒绝或接收。
第三设备300得用户授权后,验证share_key_b签名后,加密保存到第三设备300上(硬件密钥或保护口令加密)。
share_key_a保存在第一设备100的专用存储区RPMB或加密保存REE侧。
认证秘密信息恢复(解密)阶段,如图9所示:
近端操作场景,重置设备和第三设备300建立联接通道。
第三设备300进行(可信手机锁屏口令或可信PC保护口令)验证后,启动MPC计算 开关,等待参与两方的MPC_AES解密计算。
重置设备指纹验证通过后,启动MPC计算开关,两方正式启动MPC_AES解密计算,重置设备在REE侧,恢复(解密)出认证秘密信息。
用户在界面输入新口令,将新旧锁屏口令作为参数,调用锁屏口令修改的功能流程,完成锁屏口令重置的功能。
第一设备100的第一处理模块102还用于在认证秘密信息解密后,将旧的认证秘密信息和新的认证秘密信息作参数,传递给TEE,TEE将旧的认证秘密信息与存储的认证秘密信息作比对,若两者匹配,则将新的认证秘密信息替换所述存储的认证秘密信息。
第三设备300(手机、PAD、PC)可替换为辅助配件(如智能手表、手环等)。
由上述描述可以看出,通过辅助计算方共同计算出秘密信息或其计算结果,其中部分辅助计算方被入侵不造成秘密信息或其计算结果的泄露。秘密信息或计算结果只在指定的计算方出现,保证秘密信息的安全性。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (19)

  1. 一种认证凭据保护方法,其特征在于,包括以下步骤:
    将锁屏口令与第一设备的硬件秘密信息生成认证秘密信息;
    所述第一设备随机生成对称密钥,并将所述对称密钥作为所述认证秘密信息的加密密钥;
    通过所述加密秘钥对所述认证秘密信息加密并存储在所述第一设备;
    通过拆分算法将所述加密密钥拆分成至少两份第一密钥分片;
    所述至少两份第一密钥分片中的一份第一密钥分片存储在所述第一设备,且所述第一设备将其他第一密钥分片发送到可信设备。
  2. 根据权利要求1所述的认证凭据保护方法,其特征在于,所述拆分算法为安全多方数据拆分算法。
  3. 根据权利要求2所述的认证凭据保护方法,其特征在于,所述第一设备将其他第一密钥分片发送到可信设备具体为:
    所述可信设备包括第二设备及第三设备,所述第一密钥分片为三份;所述第一设备将所述三份密钥分片中的两份密钥分片一一对应发送到所述第二设备及所述第三设备进行存储;或,
    所述可信设备包括第二设备,所述第一密钥分片为两份;所述第一设备将一份第一密钥分片发送到所述第二设备。
  4. 根据权利要求1所述的认证凭据保护方法,其特征在于,所述第一设备与所述可信设备之间通过安全通道连接。
  5. 根据权利要求4所述的认证凭据保护方法,其特征在于,所述方法还包括:
    在所述可信设备上进行用户身份信息验证,并在确定用户身份信息后,接收所述第一设备发送的第一密钥分片。
  6. 根据权利要求1~5任一项所述的认证凭据保护方法,其特征在于,所述方法还包括:
    通过所述可信设备及所述第一设备上分别存储的第一密钥分片作为安全多方计算的密钥分量输入,在所述可信设备及所述第一设备之间进行安全多方计算,并在所述第一设备解密所述认证秘密信息。
  7. 根据权利要求6所述的认证凭据保护方法,其特征在于,所述方法还包括:在进行所述多方计算之前,在所述可信设备上进行用户身份信息验证,并在确定用户身份信息后,以所述可信设备及所述第一设备上分别存储的第一密钥分片作为安全多方计算的密钥分量输入,在所述可信设备及所述第一设备之间进行所述安全多方计算。
  8. 根据权利要求6或7所述的认证凭据保护方法,其特征在于,所述方法还包括:
    重置口令,将重置的锁屏口令与第一设备的硬件秘密信息生成新的认证秘密信息。
  9. 根据权利要求8所述的认证凭据保护方法,其特征在于,所述方法还包括:
    所述第一设备随机生成新的对称密钥,并将所述新的对称密钥作为所述新的认证秘密信息的新的加密密钥进行加密;
    将所述解密得到的所述认证秘密信息与TEE中存储的认证秘密信息进行对比,并在两者匹配时,在TEE中将新的认证秘密信息替换所述存储旧的认证秘密信息。
  10. 根据权利要求9所述的认证凭据保护方法,其特征在于,所述方法还包括:
    通过拆分算法将所述新的加密密钥拆分成至少两份第二密钥分片;
    所述至少两份第二密钥分片中的一份第二密钥分片存储在所述第一设备,且所述第一设备将其他第二密钥分片发送到可信设备。
  11. 一种认证凭据保护系统,其特征在于,包括:
    第一设备,包括第一处理模块:用于将锁屏口令与所述第一设备的硬件秘密信息生成认证秘密信息;随机生成对称密钥,并将所述对称密钥作为所述认证秘密信息的加密密钥;通过拆分算法将所述加密密钥拆分成至少两份第一密钥分片;第一存储模块,用于存储加密后的认证秘密信息以及所述至少两份第一密钥分片中的一份密钥分片;第一通信模块,用于将其他第一密钥分片发送到可信设备;
    可信设备,所述可信设备用于接收并存储所述第一设备发送的第一密钥分片。
  12. 根据权利要求11所述的认证凭据保护系统,其特征在于,所述拆分算法为安全多方数据拆分算法。
  13. 根据权利要求12所述的认证凭据保护系统,其特征在于,所述可信设备包括:第二设备和第三设备。
  14. 根据权利要求11所述的认证凭据保护系统,其特征在于,所述可信设备包括第二通信模块,所述第一通信模块与所述第二通信模块之间通过安全通道连接。
  15. 根据权利要求14所述的认证凭据保护系统,其特征在于,所述可信设备包括:
    验证模块,用于验证用户身份信息;
    所述第二通信模块还用于在确定用户身份信息后,接收所述第一设备发送的第一密钥分片。
  16. 根据权利要求11~15任一项所述的认证凭据保护系统,其特征在于,
    所述可信设备包括第二处理模块;
    所述第一处理模块及所述第二处理模块分别通过所述可信设备及所述第一设备上存储的第一密钥分片作为安全多方计算的密钥分量输入,且在所述可信设备及所述第一设备之间进行安全多方计算MPC_AES,并在所述第一设备解密所述认证秘密信息(称为旧的认证秘密信息)。
  17. 根据权利要求16所述的认证凭据保护系统,其特征在于,所述第一处理模块还用于重置锁屏口令,将重置的锁屏口令与第一设备的硬件秘密信息生成新的认证秘密信息;将旧的认证秘密信息和新的认证秘密信息作参数,传递给TEE,TEE将旧的认证秘密信息与存储的认证秘密信息作比对,若两者匹配,则将新的认证秘密信息替换所述存储的认证秘密信息。
  18. 根据权利要求17所述的认证凭据保护系统,其特征在于,所述第一处理模块还用于随机生成新的对称密钥,并将所述新的对称密钥作为所述新的认证秘密信息的新的加密密钥。
  19. 根据权利要求18所述的认证凭据保护系统,其特征在于,所述第一处理模块还用于通过拆分算法将所述新的加密密钥拆分成至少两份第二密钥分片;所述至少两份第二密钥分片中的一份第二密钥分片存储在所述第一设备,且所述第一设备将其他第二密钥分片发送到可信设备。
PCT/CN2020/106442 2019-07-31 2020-07-31 一种认证凭据保护方法和系统 WO2021018306A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20847175.5A EP3866039A4 (en) 2019-07-31 2020-07-31 METHOD AND SYSTEM FOR PROTECTION OF AUTHENTICATION CERTIFICATES
US17/371,712 US20210334356A1 (en) 2019-07-31 2021-07-09 Authentication credential protection method and system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201910703950.3 2019-07-31
CN201910703950 2019-07-31
CN201910880529.X 2019-09-18
CN201910880529.XA CN112307488A (zh) 2019-07-31 2019-09-18 一种认证凭据保护方法和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/371,712 Continuation US20210334356A1 (en) 2019-07-31 2021-07-09 Authentication credential protection method and system

Publications (1)

Publication Number Publication Date
WO2021018306A1 true WO2021018306A1 (zh) 2021-02-04

Family

ID=74228971

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/106442 WO2021018306A1 (zh) 2019-07-31 2020-07-31 一种认证凭据保护方法和系统

Country Status (2)

Country Link
EP (1) EP3866039A4 (zh)
WO (1) WO2021018306A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006695A (zh) * 2021-10-28 2022-02-01 杭州海康威视数字技术股份有限公司 硬盘数据保护方法、装置、可信平台芯片及电子设备
WO2023207735A1 (zh) * 2022-04-25 2023-11-02 上海紫先科技有限公司 一种用硬件芯片实现安全多方计算的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984904A (zh) * 2014-05-27 2014-08-13 深圳市欧珀通信软件有限公司 一种防止移动终端锁屏密码被破解的方法及装置
CN104216799A (zh) * 2014-08-18 2014-12-17 山东超越数控电子有限公司 一种密码机敏感信息备份和恢复方法
CN106464973A (zh) * 2014-04-25 2017-02-22 三星电子株式会社 共享内容的移动设备及方法
US20180013557A1 (en) * 2016-07-11 2018-01-11 Aetna Inc. Secret sharing scheme with required shared key(s)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151223A1 (en) * 2010-09-20 2012-06-14 Conde Marques Ricardo Nuno De Pinho Coelho Method for securing a computing device with a trusted platform module-tpm
US9455968B1 (en) * 2014-12-19 2016-09-27 Emc Corporation Protection of a secret on a mobile device using a secret-splitting technique with a fixed user share
US10454900B2 (en) * 2015-09-25 2019-10-22 Mcafee, Llc Remote authentication and passwordless password reset
EP3721578B1 (en) * 2017-12-08 2022-09-07 Ping Identity Corporation Methods and systems for recovering data using dynamic passwords

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464973A (zh) * 2014-04-25 2017-02-22 三星电子株式会社 共享内容的移动设备及方法
CN103984904A (zh) * 2014-05-27 2014-08-13 深圳市欧珀通信软件有限公司 一种防止移动终端锁屏密码被破解的方法及装置
CN104216799A (zh) * 2014-08-18 2014-12-17 山东超越数控电子有限公司 一种密码机敏感信息备份和恢复方法
US20180013557A1 (en) * 2016-07-11 2018-01-11 Aetna Inc. Secret sharing scheme with required shared key(s)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006695A (zh) * 2021-10-28 2022-02-01 杭州海康威视数字技术股份有限公司 硬盘数据保护方法、装置、可信平台芯片及电子设备
CN114006695B (zh) * 2021-10-28 2024-02-02 杭州海康威视数字技术股份有限公司 硬盘数据保护方法、装置、可信平台芯片及电子设备
WO2023207735A1 (zh) * 2022-04-25 2023-11-02 上海紫先科技有限公司 一种用硬件芯片实现安全多方计算的方法及系统

Also Published As

Publication number Publication date
EP3866039A4 (en) 2022-01-19
EP3866039A1 (en) 2021-08-18

Similar Documents

Publication Publication Date Title
US10484344B2 (en) System and method for authenticating users
CN107743133B (zh) 移动终端及其基于可信安全环境的访问控制方法和系统
US10320765B2 (en) Method and system for securing communication
US10142107B2 (en) Token binding using trust module protected keys
US20210083872A1 (en) Systems, methods, and devices for secure blockchain transaction and subnetworks
US8462955B2 (en) Key protectors based on online keys
US7639819B2 (en) Method and apparatus for using an external security device to secure data in a database
WO2021073170A1 (zh) 数据提供和融合的方法及装置
US20170063827A1 (en) Data obfuscation method and service using unique seeds
US11233653B2 (en) Dongle for ciphering data
US20210334356A1 (en) Authentication credential protection method and system
US20120297205A1 (en) Secure User/Host Authentication
WO2021190197A1 (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
WO2021018306A1 (zh) 一种认证凭据保护方法和系统
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
KR102010776B1 (ko) 블록체인 기반의 패스워드 처리 방법, 사용자 로그인 인증 지원 방법 및 이를 이용한 서버
US20240004986A1 (en) Cla certificateless authentication of executable programs
CN117313144A (zh) 敏感数据的管理方法、装置、存储介质和电子设备
CN117411681A (zh) 一种基于tee的密码软键盘输入方法
CN113841147A (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: 20847175

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020847175

Country of ref document: EP

Effective date: 20210512

NENP Non-entry into the national phase

Ref country code: DE