A method and system for protecting authentication credentials

In the authentication credential protection method, the lock screen password and hardware secret information are generated by generating authentication secret information, and multiple decentralized storage is performed using a symmetric key to encrypt it, which solves the risk of information leakage when the hardware device is invaded, and achieves high security of the encryption key and the effect of reducing hardware costs.

CN112307488BActive Publication Date: 2025-04-08HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201910880529.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-07-31
Filing Date
2019-09-18
Publication Date
2025-04-08
Estimated Expiration
2039-09-18

AI Technical Summary

Technical Problem

The prior art has the risk of information leakage when storing and using authentication credentials, especially when hardware devices are invaded, and hardware security protection methods are costly, slow upgrades and difficult to patch.

Method used

By generating authentication secret information with lock screen password and hardware secret information, and encrypting and storing it with symmetric keys, the encryption key is split into multiple copies and stored in different devices using a split algorithm to improve the security of the encryption key.

Benefits of technology

It improves the complexity of information and the security of encryption keys, reduces the risk of information leakage, and avoids the problems of high costs and slow upgrades of hardware devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112307488B_ABST
    Figure CN112307488B_ABST
Patent Text Reader

Abstract

The present application provides a method and system for protecting authentication credentials, which includes the following steps: generating authentication secret information by combining a lock screen password and hardware secret information of a first device; the first device randomly generates a symmetric key, and uses the symmetric key as an encryption key for the authentication secret information; the encryption key is split into at least two first key fragments by a multi-party computing data splitting algorithm; one of the at least two first key fragments is stored in the first device, and the first device sends the other first key fragments to a trusted device. In the above technical solution, the complexity of the information is increased by using a lock screen password and hardware secret information to generate authentication secret information. And by using different trusted devices to store the split key fragments, the security of the encryption key is improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of the Chinese patent application filed with the China Patent Office on July 31, 2019, with application number 201910703950.3 and application name “A Method and System for Protecting Authentication Credentials”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of information security technology, and in particular to an authentication credential protection method and system. Background Art

[0003] Information privacy and security in a network environment are very important. Authentication in information use is a common technical means, including passwords (authentication credentials) for identity authentication, keys for data encryption, private keys for digital signatures, etc. As the core of information security technology and systems, its secure storage and secure use are the foundation of information security system security.

[0004] In terms of secure storage, secret information can be stored through trusted hardware devices, and trusted security chips can be used to protect data security. Such as trusted computing chips, TEE security chips, SGX secure operating environment, etc. However, these technologies are not perfect. For example, hardware-based devices can achieve high security, but if the device storing the secret information is hacked, there is a risk of information leakage. This type of technology uses the device's universal unique identifier (UUID) to encrypt the password, and then stores the password ciphertext in a dispersed manner. When recovering, the dispersed password files are collected and the password is decrypted and restored together. The universal 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 of hardware side channels being broken have continued to emerge, proving that the security of trusted hardware is also risky. At the same time, hardware security protection methods also have the disadvantages of high cost, slow upgrade and difficulty in patching.

[0005] Secret information can also be securely stored on backup devices through white-box encryption technology. White-box encryption can increase the difficulty of attack, but the security of white-box encryption is not ideal.

[0006] On the other hand, secret information can be stored on multiple devices to achieve security protection, thereby reducing the risk of secret information leakage when the device is hacked.

[0007] In terms of security, the use of secure multi-party secure computing technology can solve the problem of privacy-protecting collaborative computing between a group of mutually distrusting parties, while not leaking the input values ​​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 several participants can work together to recover the secret message.

[0008] Therefore, with the development of information technology, safer, more reliable and low-cost privacy protection technologies continue to emerge. Summary of the invention

[0009] The present application provides an authentication credential protection method and system to improve information security.

[0010] In the first aspect, a method for protecting authentication credentials is provided, which includes the following steps: generating authentication secret information by using a lock screen password and hardware secret information of a first device; the first device randomly generates a symmetric key, and uses the symmetric key as an encryption key for the authentication secret information; encrypting the authentication secret information by the encryption key and storing it in the first device; splitting 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, and the first device sends the other first key fragments to a trusted device. In the above technical solution, the complexity of the information is increased by using a lock screen password and hardware secret information to generate authentication secret information. And by using different trusted devices to store the split key fragments, the security of the encryption key is increased.

[0011] In a specific possible implementation method, the splitting algorithm is a secure multi-party data splitting algorithm. The security of the encryption key is improved by adopting a method of splitting the encryption key and storing it in a dispersed manner.

[0012] In a specific implementation scheme, the first device sends other first key fragments to the trusted device specifically as follows:

[0013] The trusted device includes a second device and a third device; the first key shard is divided into three parts; the first device sends two of the three key shards to the second device and the third device for storage in a one-to-one correspondence; or the trusted device includes a second device, and the first key shard is divided into two parts; the first device sends one first key shard to the second device.

[0014] In a specific implementation scheme, the first device is a mobile terminal, the second device is a cloud service, and the third device is a trusted mobile terminal.

[0015] In a specific implementation scheme, the first device and the trusted device are connected via a secure channel, thereby facilitating secure information transmission between the first device and the trusted device.

[0016] In a specific implementation scheme, the method further includes: verifying the user identity information on the trusted device, and after determining the user identity, receiving the first key fragment sent by the first device, thereby ensuring the security of the first key fragment stored on the trusted device.

[0017] In a specific possible implementation scheme, the method also includes: using the first key fragments respectively stored on the trusted device and the first device as key component input for secure multi-party computing, performing secure multi-party computing between the trusted device and the first device, and decrypting the authentication secret information on the first device.

[0018] In a specific possible implementation, the method further includes: before performing the multi-party computation, verifying the user identity information on the trusted device, and after determining the user identity, using the first key shards respectively stored on the trusted device and the first device as key component inputs for secure multi-party computation, and performing the secure multi-party computation between the trusted device and the first device. By verifying the user identity information, the security of the information is improved.

[0019] In a specific implementation scheme, the method further includes: resetting a password, and generating new authentication secret information by combining the reset lock screen password and hardware secret information of the first device.

[0020] In a specific implementation scheme, the method also includes: 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 old authentication secret information and the new authentication secret information are passed as parameters to TEE, and TEE compares the old authentication secret information with the stored authentication secret information. If the two match, the new authentication secret information replaces the stored authentication secret information.

[0021] In a specific implementation scheme, 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 new encryption key is split into at least two second key fragments by 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 a trusted device. After setting a new lock screen password, a new symmetric key and the second key fragment are reset to protect the new authentication secret information of the first device.

[0022] In a specific implementation scheme, the hardware secret information includes: a hard disk serial number, a CPU serial number, or a factory serial number of the first device, and special information in a hardware SOC chip, thereby improving the security of the authentication secret information.

[0023] In a second aspect, an authentication credential protection system is provided, the system comprising:

[0024] The first device includes a first processing module: used to generate authentication secret information by using a lock screen password and hardware secret information of the first device; randomly generate a symmetric key, and use the symmetric key as an encryption key for the authentication secret information; split the encryption key into at least two first key fragments by a splitting algorithm; a first storage module, used to store the encrypted authentication secret ciphertext information and one of the at least two first key fragments; and a first communication module, used to send other first key fragments to a trusted device;

[0025] A trusted device, the trusted device is used to receive and store the first key fragment sent by the first device. In the above technical solution, the complexity of the information is increased by using the lock screen password and the hardware secret information to generate the authentication secret information. And by using different trusted devices to store the split key fragments, the security of the encryption key is improved.

[0026] In a specific implementation scheme, 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.

[0027] In a specific implementation scheme, the trusted device includes: a second device and a third device. Different trusted devices may be used to store the first key fragment.

[0028] In a specific implementation scheme, the trusted device includes a second communication module, and the first communication module and the second communication module are connected via a secure channel.

[0029] In a specific implementation scheme, the trusted device includes: a verification module for verifying user identity information; the second communication module is also used to receive the first key fragment sent by the first device after determining the user identity, thereby improving the security of information transmission.

[0030] In a specific possible implementation scheme, the trusted device includes a second processing module; the first processing module and the second processing module use the first key shard stored on the trusted device and the first device as key components for secure multi-party computing, respectively, and perform secure multi-party computing MPC_AES between the trusted device and the first device, and decrypt the authentication secret information on the first device. Through secure multi-party computing, the first device that forgets the lock screen password is decrypted and a new lock screen password is re-entered, and the first device can reset the lock screen password without restoring the factory device, thereby avoiding the loss of data on the first device.

[0031] In a specific implementation scheme, the first processing module is further used to reset the lock screen password, and generate new authentication secret information by combining the reset lock screen password with the hardware secret information of the first device. New authentication secret information is generated based on the new lock screen password.

[0032] In a specific implementation scheme, the first processing module is further used to randomly generate a new symmetric key, and encrypt the new symmetric key as a new encryption key for the new authentication secret information;

[0033] The old authentication secret information and the new authentication secret information are passed as parameters to TEE, and TEE compares the old authentication secret information with the stored authentication secret information. If the two match, the new authentication secret information replaces the stored authentication secret information.

[0034] In a specific implementation scheme, the first processing module is further used to 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. After entering a new lock screen password, a new symmetric key and the second key fragment are regenerated to protect the new authentication secret information of the first device. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A structural block diagram of the authentication credential protection system provided in an embodiment of the present application;

[0036] Figure 2 A schematic diagram of the process of authentication credential protection provided in an embodiment of the present application;

[0037] Figure 3 A lock screen password setting process for a first device provided in an embodiment of the present application;

[0038] Figure 4 The information interaction process of the authentication credential protection system provided in the embodiment of the present application;

[0039] Figure 5 The process of decrypting authentication secret information provided in the embodiment of the present application;

[0040] Figure 6 The encryption key splitting process of the authentication credential protection system provided in the embodiment of the present application;

[0041] Figure 7 The decryption authentication secret information process of the authentication credential protection system provided in the embodiment of the present application;

[0042] Figure 8 The encryption key splitting process of the authentication credential protection system provided in the embodiment of the present application;

[0043] Fig. 9 This is the process of decrypting authentication secret information of the authentication credential protection system provided in the embodiment of the present application. DETAILED DESCRIPTION

[0044] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can represent: a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, c can be single or multiple.

[0045] Figure 1 A system architecture diagram applicable to the embodiment of the present application is shown. Figure 1 As shown, the system architecture of the embodiment of the present application includes a first device, a second device and a third device.

[0046] Continue to refer Figure 1, the first device is a reset device, that is, a device that needs to be restored after forgetting the lock screen password, which can be a terminal. The terminal in the embodiment of the present application can also be referred to as terminal equipment (terminal equipment) or user equipment (user equipment, UE), etc. For example, the terminal can be a mobile phone, a tablet computer (pad), a laptop computer, a personal digital assistant (personal digital assistant, PDA), a point of sales (point of sales, POS), a car computer, a smart speaker, a set-top box, an augmented reality (augmented reality, AR) device, a virtual reality (virtual reality, VR) or a smart car, etc., and the embodiment of the present application does not limit this. In addition, the terminal of the embodiment of the present application can support one or more applications. For example, one or more of the following applications: drawing application, presentation application, word processing application, game application, telephone application, video player application, music player application, email application, instant messaging application, photo management application, camera application, browser application, calendar application, clock application, payment application and health management application, etc. Users can install corresponding applications on the terminal based on their own needs.

[0047] For reference Figure 1 , Figure 1 The first device 100 includes a first processing module 102 , a first storage module 103 and a first communication module 101 .

[0048] 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 can 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 the application.

[0049] Continue to refer Figure 1, 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 can be a CPU in the first device 100, or other chips with computing functions in the first device 100. When in use, the first processing module 102 generates authentication secret information by combining the lock screen password with the hardware secret information of the first device 100. In the specific composition, the lock screen password and the hardware secret information are superimposed to generate authentication secret information. If the lock screen password is a combination A of six digits or letters, the secret information stored in the hardware password module (a set of random numbers that does not come out of the hardware password module and is regenerated when the mobile phone is restored to factory settings) and the lock screen password are HMAC operated, and the output result is used as the authentication secret information.

[0050] The first processing module 102 encrypts the generated authentication secret information. Specifically, the first processing module 102 randomly generates a symmetric key, and the symmetric key is used as an encryption key of the authentication secret information to encrypt the authentication secret information. When generating the symmetric key, the first processing module 102 can randomly generate a symmetric key based on a hardware cryptographic module and encrypt the authentication secret information.

[0051] After encrypting the authentication encryption information, the first processing module 102 sends the encrypted authentication encryption information to the first storage module 103 for storage.

[0052] The first processing module 102 is further used to split the encryption key into at least two first key fragments by a splitting algorithm; the split first key fragments can be stored in different devices. The following first describes how to split the encryption key.

[0053] The splitting algorithm specifically adopted by the first processing module 102 is a secure multi-party data splitting algorithm, which is a computing framework formed based on basic operations such as multi-party addition and multi-party multiplication. For example, the SPDZ2 multi-party computing framework is adopted. The framework is the multi-party computing open source framework SPDZ2 launched by Professor NP.Sart of the University of Bristol in the United Kingdom in 2017. For details, please refer to "https: / / github.com / bristolcrypto / SPDZ-2", or refer to the Implementing AES via MPC document written by Professor NP.Sart, which explains the principle of implementing the AES algorithm by multi-party computing. The document can be queried through "https: / / homes.esat.kuleuven.be / ~nsmart / FHE-MPC / Lecture9.pdf". The SPDZ2 multi-party computing framework encapsulates multi-party basic operator operations such as multi-party addition, multiplication, bit operations, and logical comparison. Based on this multi-party computing framework, functions such as automatic splitting of input data can be realized according to the number of participants in multi-party computing. The programmer writes a multi-party computing script file (MPC file for short) with special functions based on the programming language specification (python-like) provided by it, using the sint / sfloat multi-party security type, and uses the compiler of the SPDZ2 framework to compile the MPC file into a multi-party executable file (bytecode file). The multi-party computing participants can complete a specific function jointly executed by multiple participants by loading and executing the compiled bytecode alone, such as the multi-party computing MPC_AES decryption function provided in the embodiment of the present application.

[0054] To facilitate understanding of the splitting of encryption keys, take the example of the first processing module 102 generating 16 bytes of random data as the key AES_KEY of the AES symmetric encryption algorithm. The first processing module 102 splits the encryption key based on the above-mentioned SPDZ2 multi-party computing framework: split AES_KEY into random key pieces AES_KEY1, AES_KEY2, ...., AES_KEYn; and satisfy: AES_KEY = AES_KEY1 + AES_KEY2 + .... + AES_KEYn; where n is a positive integer, and n is the number of participants in the multi-party computing. Figure 1 The system shown has 3 multi-party computing participants, so n = 3. AES_KEY is split into random shard data AES_KEY1, AES_KEY2, AES_KEY3, but the above equation must be satisfied. Among them, AES_KEY1, AES_KEY2, AES_KEY3 are three first key shards.

[0055] The first processing module 102 distributes AES_KEY1 to multi-party computing participant party_1, distributes AES_KEY2 to multi-party computing participant party_2, and so on, and distributes AES_KEYn to multi-party computing participant party_n. Figure 1 In the system framework shown, the devices participating in the multi-party computing include: a first device 100, a second device 200, and a third device 300, wherein 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, which means that the second device 200 and the third device 300 can guarantee that the user corresponding to the first device 100 can operate the device when the second device 200 and the third device 300 are running.

[0056] When AES_KEY1 is saved in the first device 100 , AES_KEY1 is stored in the first storage module 103 .

[0057] 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 the terminal device.

[0058] The second device 200 is a cloud service, which is a participant in multi-party computing. Figure 1 As shown in Figure 1 It shows a schematic diagram of the structure of the second device 200. The trusted device includes an identity authentication module, a second communication module, a second processing module and a second storage module.

[0059] First, for the verification module, the verification module set in the second device 200 is used to verify the user's identity information; the verification module can be a common verification module such as account password and SMS verification. If the verification module is password verification, the user logs in to the cloud service by entering the account and password to verify the authenticity of the user. At the same time, after verifying the authenticity of the cloud service, 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 and connect.

[0060] When the first processing module 102 sends AES_KEY2 through the first communication module 101 , the second communication module A201 receives AES_KEY2 sent by the first device 100 .

[0061] The second communication module A201 is connected to the second storage module A203 and the second processing module A202, wherein the second processing module A202 is a common data processing module. When in use, the second processing module A202 stores the AES_KEY2 received by the second communication module A201 into the second storage module A203. And the second processing module A202 can also be used to participate in multi-party computing to restore the reset device.

[0062] The third device 300 is a trusted terminal, which can be a terminal device of the same type as the first device 100, such as a mobile phone, a tablet computer, etc. The third device 300 also serves as a participant in the multi-party computing. Figure 1 As shown in Figure 1 It shows a schematic diagram of the structure 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.

[0063] First, for the verification module, the verification module set by the third device 300 is used to verify the user's identity information; the verification module can be a common verification module such as fingerprint or face verification, password verification, etc. If the verification module is set to fingerprint or face verification, the third device 300 collects the user's face or fingerprint image and compares it with the stored face or fingerprint features. If the result matches, the authenticity of the user is verified. The second communication module B301 is connected to 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.

[0064] When the first processing module 102 sends AES_KEY3 through the first communication module 101 , the second communication module B301 receives the first key fragment sent by the first device 100 .

[0065] The second communication module B301 is connected to the second storage module B303 and the second processing module B302, wherein the second processing module B302 is a common data processing module. When in use, the second processing module B302 stores the AES_KEY3 received by the second communication module B301 into the second storage module B303. And the second processing module B302 can also be used to participate in multi-party computing to restore the reset device.

[0066] When performing the three-party computation MPC_AES, the first processing module 102 uses AES_KEY1 as input, the second processing module A202 uses AES_KEY2 as input, and the second processing module B302 uses AES_KEY3 as input to perform multi-party computation, and the ciphertext of the authentication secret information is also added to the multi-party computation. The multi-party computation performed is also based on the above-mentioned SPDZ2 multi-party computation framework, and secure multi-party computation is performed between the trusted device and the first device 100 to decrypt the authentication secret information.

[0067] The first processing module 102 of the first device 100 is also used to allow the user of the first device 100 to reset the lock screen password after forgetting the lock screen password. The first processing module 102 is also used to generate new authentication secret information by combining the reset lock screen password with the hardware secret information of the first device 100 and encrypt and store it in the first device 100 when resetting the lock screen password. The above processing process of the first processing module 102 can refer to the specific description above, which will not be repeated here.

[0068] In addition, after resetting the lock screen password, the first device 100 will re-perform the above-mentioned encryption to form an encryption key and other processes. Specifically, the first processing module 102 is also used to randomly generate a new symmetric key and use the new symmetric key as a new encryption key for new authentication secret information; the new authentication secret information can be encrypted using the encryption key.

[0069] 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. The TEE compares the old authentication secret information with the stored authentication secret information. If the two match, the new authentication secret information replaces the stored authentication secret information.

[0070] In addition, after the new authentication secret information replaces the old authentication secret information, the first processing module 102 further splits 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 100, and the first device 100 sends the other second key fragment to the trusted device. The above process can be specifically referred to the description of the first processing module 102 above, and will not be described in detail here.

[0071] After the first processing module 102 starts resetting the lock screen password,

[0072] The present application also provides an authentication information protection method, the specific steps of which include:

[0073] Step 001: Generate authentication secret information by combining the lock screen password and the hardware secret information of the first device 100;

[0074] Step 002: The first device 100 randomly generates a symmetric key, and uses the symmetric key as an encryption key for authenticating secret information;

[0075] Step 003: Encrypt the authentication secret information using the encryption key and store it in the first device 100;

[0076] Step 004: Split the encryption key into at least two first key fragments through a splitting algorithm; store one of the at least two first key fragments in the first device 100, and the first device 100 sends the other first key fragments to the trusted device.

[0077] Specifically, the first device 100 sends the key fragments of at least two first key fragments to the second device 200 and the third device 300 for storage in a one-to-one correspondence;

[0078] During specific transmission, the first device 100 and the trusted device are connected via a secure channel, thereby ensuring secure data transmission between the first device 100 and the trusted device.

[0079] In addition, the user identity information is verified on the trusted device, and after the user identity information is determined, the first key fragment sent by the first device 100 is received, thereby ensuring the security of the first key fragment stored on the trusted device.

[0080] Step 005: Using the first key fragments stored on the trusted device and the first device 100 as key components for secure multi-party computing, secure multi-party computing is performed between the trusted device and the first device 100, and the authentication secret information is decrypted on the first device;

[0081] Specifically, user identity information is verified on the trusted device, and after the user identity information is determined, the first key fragments stored on the trusted device and the first device 100 are used as key component inputs for multi-party secure computing. At the same time, the ciphertext of the authentication secret information also participates in the multi-party secure computing, and secure multi-party computing is performed between the trusted device and the first device 100.

[0082] Step 006: Reset the lock screen password.

[0083] Step 007: when resetting the lock screen password, generate new authentication secret information by combining the reset lock screen password and the hardware secret information of the first device 100;

[0084] Step 008: The first device 100 randomly generates a new symmetric key, and uses the new symmetric key as a new encryption key for new authentication secret information; and encrypts the new symmetric key as a new encryption key for the new authentication secret information;

[0085] Step 009: The decrypted authentication secret information (old authentication secret information) and the new authentication secret information are transmitted to the TEE security function module. The authentication secret information stored in the TEE is compared with the old authentication secret information transmitted, and when the two match, the authentication secret information stored in the TEE is replaced by the new authentication secret information transmitted.

[0086] Step 010: Splitting the new encryption key into at least two second key fragments by a splitting algorithm;

[0087] One of the at least two second key slices is stored in the first device, and the first device sends the other second key slice to the trusted device.

[0088] In order to facilitate the understanding of the above method, some scenarios are explained below. For example, a typical scenario is defined as: if the user forgets the lock screen password on the smartphone, the phone can only be restored to the factory settings, and the user needs to reset a new lock screen password. However, the original user data previously saved on the phone is cleared and can no longer be accessed. Users can back up the lock screen password to the cloud, but there is also a risk of leakage in the cloud, which makes the user's device at risk of being unlocked. The process of setting and resetting the password or password of the smart terminal is further explained in detail. Figure 2 As shown in , this method mainly includes two main processes:

[0089] Secret information (key) generation process: Key shard A, key shard B and key shard C are three key shards of the encryption key. The three key shards are stored in the auxiliary computing party in a dispersed manner, and the auxiliary computing party is used to jointly realize the secure recovery or use of the secret information. The auxiliary computing party may include a third device and a cloud service, and the user's identity is verified through the local and cloud accounts of the third device respectively;

[0090] The process of using secret information (key): The designated auxiliary computing party uses key sharding through multi-party computing to recover the authentication secret information. The result after the secret information is calculated is not visible to other parties. The identification information of the auxiliary computing party is shared among the auxiliary computing parties. After the secret information is stored in a decentralized manner, more auxiliary computing parties can still be added.

[0091] First, explain the lock screen password setting process:

[0092] like Figure 3 In the process shown in , after the user enters the lock screen password usrPWD on the interface of the smart terminal, the lock screen password and the hardware secret information of the smart terminal generate authentication secret information.

[0093] The smart 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 ciphertext on the smart terminal.

[0094] Through the multi-party computing key splitting algorithm, 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 C).

[0095] 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, and the first key fragment share_key_c is saved on the reset device.

[0096] When the user forgets the lock screen password and needs to reset a new password, the terminal device and the reset device (mobile phone) load their own saved key shards respectively, start the three-party secure computing function, and restore the authentication secret information (called the old one) on the reset device (mobile phone). The new lock screen password and hardware secret information generate new authentication secret information.

[0097] refer to Figure 3 and Figure 4 , where this machine refers to the reset device, and the specific process is as follows:

[0098] First, the encryption key splitting phase is described:

[0099] Reset device, terminal device, and cloud service, three parties participate in the preservation of key sharding information.

[0100] The terminal device (PC or mobile phone) and the reset device establish a connection channel (Bluetooth, WLAN).

[0101] In the near-end operation scenario, establish a connection channel; reset the device to establish a one-way https secure channel with the cloud service (authenticate the cloud service).

[0102] When the user resets the device, he / she enters the cloud account and password, which are then transmitted to the cloud service via https for identity authentication (authenticating the user).

[0103] The user enters the lock screen password on the reset device, and the lock screen password and hardware secret information generate the authentication secret information; a symmetric key is randomly generated as the encryption key for the authentication secret information, and the authentication secret information is encrypted with the above encryption key, and the obtained authentication secret information ciphertext is saved on the reset device. The encryption key is split into three key fragments 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), the third device (trusted mobile phone or trusted PC) or the cloud service respectively.

[0104] After the terminal device (mobile phone) receives share_key_a, a pop-up window prompts the user to reject or accept. Or after the terminal device (PC) receives share_key_a, a pop-up window prompts (enter the protection password).

[0105] After the terminal device obtains user authorization, it verifies the signature of the first key fragment share_key_a and encrypts and saves it on the terminal device (encrypted by hardware key or protection password).

[0106] The cloud service receives sharee_key_b, verifies the signature of sharee_key_b, and then encrypts and saves it in the cloud database. sharee_key_c is saved in the dedicated storage area RPMB of the reset device or encrypted on the REE side.

[0107] Next, the authentication secret information recovery phase is described.

[0108] Reset device, terminal device, and cloud service, three parties participate in the preservation of key sharding information.

[0109] The terminal device (PC or mobile phone) and the reset device establish a connection channel (Bluetooth, WLAN).

[0110] For reference Figure 5 , the lock screen password reset process is as follows, Figure 5 The local device in the command is the reset device.

[0111] Resetting the device requires verification of the user's fingerprint information, and only after passing the verification can the next step of resetting the lock screen password be enabled.

[0112] After the terminal device verifies that the lock screen password, fingerprint or face is correct, the cloud service verifies that the account and password are correct.

[0113] The multi-party secure computation process is initiated to recover (decrypt) the authentication secret information on the reset device.

[0114] The specific process is as follows:

[0115] In the near-end operation scenario, a secure connection channel is established; the device is reset to establish a one-way https secure channel (authentication service) with the cloud service.

[0116] When the user resets the device, he / she enters the cloud account and password, which are then transmitted to the cloud service via https for identity authentication (authenticating the user).

[0117] The cloud service verifies the user account and password, starts the MPC computing switch, and waits for the other two parties to participate in the multi-party computing.

[0118] After the terminal device password (trusted mobile phone lock screen password or trusted PC protection password) is verified, the MPC calculation switch is started and the other two parties are waiting to participate in the multi-party calculation.

[0119] After the reset device fingerprint verification is passed, the MPC calculation switch is started, and the three parties officially start the MPC_AES decryption calculation (calculation based on the SPDZ2 multi-party computing framework), the reset device is on the REE side, and the authentication secret information is restored (decrypted). The restored authentication secret information is used as the old authentication secret information.

[0120] The user enters a 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 into the trusted execution environment (TEETrustedExcutionEnvironment) as parameters to complete the update of the new authentication credentials (indirectly complete the update of the lock screen password).

[0121] It can be seen from the above description that in the system provided in the embodiment of the present application, when the user forgets the lock screen password and needs to reset it, there is no need to restore the mobile phone to the factory settings, and the user's original data can continue to be accessed. When the three-party secure computing function is activated, the old authentication secret information can only be restored on the recovery device (mobile phone), and the cloud service and terminal device cannot restore the old authentication secret information. The effect is achieved that the user sets a new lock screen password, the mobile phone does not need to be restored to factory settings, and the user's original data can continue to be accessed. In addition, the multi-party MPC_AES decryption algorithm is introduced in the process of protecting and recovering 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 calculate it.

[0122] like Figure 6 As shown, Figure 6 Another system architecture provided by an embodiment of the present application is shown. The system architecture of the embodiment of the present application includes a first device 100 and a second device 200.

[0123] The first device 100 is Figure 1 The reset device in the second device 200 is a cloud service. The structures of the first device 100 and the second device 200 are the same as the above structure, the only difference is that when the first device 100 splits the encryption key, it splits it into two pieces, but when storing, the two first key fragments are stored in the first device 100 and the second device 200 respectively, wherein the first device 100 stores one first key fragment, and the second device 200 stores one first key fragment. The specific process is as follows:

[0124] Reset the device to establish a one-way https secure channel with the cloud service (authenticate the cloud service).

[0125] When the user resets the device, he / she enters the cloud account and password, which are then transmitted to the cloud service via https for identity authentication (authenticating the user).

[0126] The user enters the lock screen password on the reset device, and the lock screen password and hardware secret information generate authentication secret information; a symmetric key is randomly generated as the encryption key for the authentication secret information, and the authentication secret information is encrypted with the above encryption key, and the obtained ciphertext is saved on the reset device.

[0127] The encryption key is split into two first key fragments share_key_a / share_key_b, and the first key fragments are saved to the mobile phone (reset device) and the cloud service respectively.

[0128] The cloud service receives the first key fragment share_key_b, verifies the signature of the first key fragment share_key_b, and then encrypts and saves it in the cloud database. The first key fragment share_key_a is saved in the dedicated storage area RPMB of the reset device or encrypted and saved on the REE side.

[0129] Authentication secret information recovery phase, such as Figure 7 As shown:

[0130] The cloud service and the reset device establish an HTTPS secure connection channel.

[0131] Reset the device to establish a one-way https secure channel with the cloud service (authenticate the cloud service).

[0132] When the user resets the device, he / she enters the cloud account and password, which are then transmitted to the cloud service via https for identity authentication (authenticating the user).

[0133] The cloud service authenticates the user account and password, starts the MPC computing switch, and waits for the two parties to participate in the multi-party computing.

[0134] After the reset device fingerprint verification is passed, the MPC calculation switch is started, and the two parties officially start the MPC_AES decryption calculation, reset the device on the REE side, and restore the authentication secret information.

[0135] The user enters a new lock screen password in the interface, as discussed above.

[0136] Trusted devices (mobile phones, PADs, PCs) can be replaced with auxiliary accessories (such as smart watches, bracelets, etc.).

[0137] Another system architecture of an embodiment of the present application includes a first device 100 and a third device 300 .

[0138] The first device 100 is Figure 1The reset device in the third device 300 is a mobile phone or a tablet computer. The structures of the first device 100 and the third device 300 are the same as the above structure, the only difference is that when the first device 100 splits the encryption key, it splits it into two parts, but when storing, the two first key fragments are stored in the first device 100 and the third device 300 respectively, wherein the first device 100 stores one first key fragment and the third device 300 stores one first key fragment. Figure 8 As shown, the specific process is as follows:

[0139] The reset device and the third device 300 establish a connection channel.

[0140] The user enters the lock screen password on the reset device, and 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 authentication secret information is encrypted with the above encryption key, and the obtained ciphertext is saved on the reset device.

[0141] 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 the tablet computer (third device 300).

[0142] The tablet receives the first key fragment share_key_b, verifies the signature of the first key fragment share_key_b, and then encrypts and saves it locally. The first key fragment share_key_a is saved in the dedicated storage area RPMB of the reset device or encrypted and saved on the REE side.

[0143] After the third device 300 receives share_key_b, a pop-up window prompts the user to reject or accept.

[0144] After the third device 300 obtains user authorization, it verifies the signature of share_key_b and encrypts and saves it on the third device 300 (encrypted by hardware key or protection password).

[0145] share_key_a is stored in the dedicated storage area RPMB of the first device 100 or encrypted and stored on the REE side.

[0146] Authentication secret information recovery (decryption) phase, such as Fig. 9 As shown:

[0147] In the proximal operation scenario, the reset device and the third device 300 establish a connection channel.

[0148] After the third device 300 performs the verification (trusted mobile phone lock screen password or trusted PC protection password), it starts the MPC calculation switch and waits for the MPC_AES decryption calculation of the two parties involved.

[0149] After the reset device fingerprint verification is passed, the MPC calculation switch is started, and the two parties officially start the MPC_AES decryption calculation. The reset device is on the REE side and the authentication secret information is restored (decrypted).

[0150] The user enters a new password on the interface, uses the old and new lock screen passwords as parameters, calls the lock screen password modification function flow, and completes the lock screen password reset function.

[0151] 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. The TEE compares the old authentication secret information with the stored authentication secret information. If the two match, the new authentication secret information replaces the stored authentication secret information.

[0152] The third device 300 (mobile phone, PAD, PC) can be replaced by an auxiliary accessory (such as a smart watch, bracelet, etc.).

[0153] From the above description, it can be seen that the secret information or its calculation results are calculated by the auxiliary computing parties together, and the hacking of some of the auxiliary computing parties will not cause the leakage of the secret information or its calculation results. The secret information or calculation results only appear in the designated computing party, ensuring the security of the secret information.

[0154] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for protecting authentication credentials, characterized in that: The following steps are involved: Generate authentication secret information by using the lock screen password and the hardware secret information of the first device; The first device randomly generates a symmetric key, and uses the symmetric key as an encryption key for the authentication secret information; Encrypting the authentication secret information by using the encryption key and storing the encrypted information in the first device; Splitting the encryption key into at least two first key fragments by a splitting algorithm; One of the at least two first key shards is stored in the first device, and the first device sends the other first key shard to the trusted device; The method further comprises: Using the first key fragments respectively stored on the trusted device and the first device as key components for secure multi-party computing, performing secure multi-party computing between the trusted device and the first device, and decrypting the authentication secret information on the first device; The method further comprises: Generate new authentication secret information using the reset lock screen password and the hardware secret information of the first device; The first device randomly generates a new symmetric key, and uses the new symmetric key as a new encryption key for encrypting the new authentication secret information; The decrypted authentication secret information is compared with the authentication secret information stored in the TEE, and when the two match, the stored authentication secret information is replaced by the new authentication secret information in the TEE.

2. The authentication credential protection method according to claim 1, characterized in that: The splitting algorithm is a secure multi-party data splitting algorithm.

3. The authentication credential protection method according to claim 2, characterized in that: The first device sends other first key fragments to the trusted device specifically: The trusted device includes a second device and a third device, the first key shard is divided into three parts; the first device sends two of the three key shards to the second device and the third device in a one-to-one correspondence for storage; or, The trusted device includes a second device, the first key shard is divided into two parts; the first device sends one first key shard to the second device.

4. The authentication credential protection method according to claim 1, characterized in that: The first device is connected to the trusted device via a secure channel.

5. The authentication credential protection method according to claim 4, characterized in that: The method further comprises: The user identity information is verified on the trusted device, and after the user identity information is determined, a first key fragment sent by the first device is received.

6. The authentication credential protection method according to claim 1, characterized in that: The method also includes: before performing the multi-party computation, verifying the user identity information on the trusted device, and after determining the user identity information, using the first key fragments respectively stored on the trusted device and the first device as key component inputs for secure multi-party computation, and performing the secure multi-party computation between the trusted device and the first device.

7. The authentication credential protection method according to claim 1, characterized in that: The method further comprises: Splitting the new encryption key into at least two second key fragments by a splitting algorithm; One of the at least two second key slices is stored in the first device, and the first device sends the other second key slice to the trusted device.

8. An authentication credential protection system, characterized in that: include: The first device comprises a first processing module: used to generate authentication secret information by combining a lock screen password and hardware secret information of the first device; Randomly generate a symmetric key, and use the symmetric key as the encryption key of the authentication secret information; split the encryption key into at least two first key fragments by a splitting algorithm; A first storage module, used to store the encrypted authentication secret information and one of the at least two first key fragments; A first communication module, used to send other first key fragments to a trusted device; A trusted device, the trusted device is used to receive and store the first key fragment sent by the first device; The trusted device includes a second processing module; The first processing module and the second processing module respectively use the first key fragment stored on the trusted device and the first device as key components for secure multi-party computing, perform secure multi-party computing MPC_AES between the trusted device and the first device, and decrypt the authentication secret information on the first device, which is referred to as old authentication secret information; The first processing module is also used to reset the lock screen password, generate new authentication secret information by using the reset lock screen password and the hardware secret information of the first device; pass the old authentication secret information and the new authentication secret information as parameters to TEE, and TEE compares the old authentication secret information with the stored authentication secret information. If the two match, the new authentication secret information replaces the stored authentication secret information.

9. The authentication credential protection system according to claim 8, characterized in that: The splitting algorithm is a secure multi-party data splitting algorithm.

10. The authentication credential protection system according to claim 9, characterized in that: The trusted device includes: a second device and a third device.

11. The authentication credential protection system according to claim 8, characterized in that: The trusted device includes a second communication module, and the first communication module and the second communication module are connected via a secure channel.

12. The authentication credential protection system according to claim 11, characterized in that: The trusted devices include: Verification module, used to verify user identity information; The second communication module is further configured to receive the first key fragment sent by the first device after determining the user identity information.

13. The authentication credential protection system according to claim 8, characterized in that: 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.

14. The authentication credential protection system according to claim 13, characterized in that: The first processing module is also used to split the new encryption key into at least two second key fragments through a splitting algorithm; one second key fragment 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 a trusted device.

Citation Information

Patent Citations

  • Sensitive information backup and recovery method of cipher machine

    CN104216799A