Data recovery for computing devices

CN117795515BActive Publication Date: 2026-10-30GOOGLE LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280055316.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-08-11
Filing Date
2022-08-05
Publication Date
2026-10-30
Estimated Expiration
2042-08-05

AI Technical Summary

Technical Problem

然而,这种组织可能需要在用户可能不可用或不合作时访问一些加密数据

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117795515B_ABST
    Figure CN117795515B_ABST
Patent Text Reader

Abstract

According to an aspect, a method for accessing a computing device includes receiving, by the computing device, an authentication credential for restoring access to the computing device, the authentication credential being different from an authentication credential used to access encrypted data on the computing device; in response to receiving the authentication credential for restoring access, obtaining a first key portion stored on the computing device; transmitting, over a network, a request for a second key portion; receiving, over the network, a response including the second key portion; restoring a decryption key using the first key portion and the second key portion; and decrypting encrypted data on the computing device using the decryption key.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application is a continuation-to-priority application to U.S. non-provisional patent application No. 17 / 444,884, entitled “Data Recovery from a Computing Device,” filed August 11, 2021, the disclosure of which is incorporated herein by reference in its entirety. Background Technology

[0003] Data associated with computing devices can be encrypted and then decrypted when a user logs into their device. For example, a user can provide their password, and in response to user authentication, the data can be decrypted. Organizations that provide computing devices to users (e.g., schools, businesses) sometimes have policies for managing these devices, including setting them up with encrypted data. However, such organizations may need access to some encrypted data when users may be unavailable or uncooperative. Furthermore, users may have forgotten their passwords. In some examples, the decryption key used to decrypt encrypted data may be unrecoverable without the user's password. Summary of the Invention

[0004] This disclosure relates to a recovery system that securely provides access to encrypted data when an organization (or person) managing a computing device needs access to encrypted data and when the organization (or person) possesses the computing device. In some examples, the recovery system can securely provide access to encrypted data when a user does not have access to their password and the user possesses the computing device. Technical problems may include providing secure and transparent access to encrypted data on a computing device when authentication credentials for the encrypted data are unavailable. The recovery system discussed herein provides a technical solution for maintaining the security of data associated with a computing device while providing access to the data in a manner resistant to cyber and physical attacks when the user's authentication credentials are unavailable.

[0005] Under certain conditions, a recovery system can maintain two distinct key portions (e.g., a first key portion and a second key portion) in separate positions upon release to the decryption unit on the computing device, where the decryption unit requires both the first and second key portions to recover the decryption key used to decrypt encrypted data. Conversely, some traditional recovery mechanisms delegate the management of the decryption key to a central entity, which can introduce technical problems such as the risk of abuse, vulnerabilities to cyberattacks, and potential vulnerabilities to massive surveillance that puts user privacy, security, and / or safety at risk.

[0006] The recovery system includes one or more server computers with a recovery service module. The recovery system includes a computing device configured to communicate with the recovery service module via a secure network. The computing device includes a crypto-processor configured to store and manage a key portion (e.g., a first key portion) associated with a user of the computing device. The first key portion may be a secret key (e.g., a cryptographic secret) stored internally within the computing device (e.g., within the crypto-processor). The computing device (e.g., the crypto-processor) may generate and store the first key portion (and a second key portion). In some examples, the computing device generates and stores the first key portion when a user account is created and / or a user is registered with the recovery system. The crypto-processor may be a dedicated on-chip computer or microprocessor for performing cryptographic operations. In some examples, the crypto-processor is a security chip or trusted platform module.

[0007] As further described below, if the authentication credentials of the user used to access the encrypted data are unavailable, the cryptographic processor can communicate with the recovery service module via a network to obtain a second key portion, wherein the first and second key portions are used to recover the decryption key used to decrypt the encrypted data. Before the second key portion is returned to the cryptographic processor, the recovery service module may cause a log entry to be recorded in a database (e.g., a public ledger), wherein the log entry may identify information about the access, such as device identifier, information identifying the person authorized to access, and / or the time / date of access.

[0008] The recovery service module includes one or more hardware security modules that store and manage key portions associated with the user of the computing device. For example, the hardware security module may store and manage key portions (e.g., a second key portion) used (in combination with a first key portion) to recover decryption keys to decrypt encrypted data on the computing device. The hardware security module may be a computing device (e.g., a physical computing device) that manages encryption keys and performs encryption and decryption functions, as well as other cryptographic functions.

[0009] A user can provide their authentication credentials to a computing device, which, upon authentication, enables a cryptographic processor to release a first key portion to a decryption unit on the computing device. The user's authentication credentials can be a password associated with the computing device or a user account associated with the computing device. However, authentication credentials may include other forms of identification information, such as digital certificates or biometric data (e.g., facial scans, iris scans, fingerprint scans, audio data, etc.). In some examples, the decryption unit uses the first key portion (released by the cryptographic processor) and the authentication credentials to recover the decryption key to decrypt encrypted data on the computing device. For example, an encryption key (e.g., a sealing key) can be used to encrypt the decryption key. The decryption unit can use the first key portion and the authentication credentials to obtain the encryption key used to decrypt the decryption key.

[0010] In some examples, a third party may need access to encrypted data on a computing device. For instance, the third party may be associated with an organization that owns or manages the user's computing device. For example, the computing device could be a business-owned device, such as a work computer owned or managed by the user's company or a school computer owned or managed by the user's school. For one or more reasons (e.g., governance, risk management, legal, and / or compliance reasons), the organization may need access to encrypted data on the computing device. However, without the user's authentication credentials, the decryption unit will not be able to obtain or derive the decryption key using some conventional techniques.

[0011] To address this scenario, organizations can register computing devices in a recovery system, enabling one or more individuals associated with the organization (e.g., authorized third parties) to access the user's computing device even when the user is unavailable, uncooperative, or unable to provide authentication credentials (e.g., a forgotten password) and the third party has physical possession of the device. For example, the recovery system can store registration data associated with the user's computing device. This registration data can identify one or more individuals (or roles / types of individuals) within the organization who can access the user's encrypted data when the user is unavailable, uncooperative, or whose authentication credentials are otherwise unavailable. For example, the registration data can designate an authorized third party by identifying a user account authorized to enter the user's encrypted data. User accounts can be assigned to specific individuals or roles within the organization (e.g., managers, supervisors, HR managers, etc.). A third party can use the user's computing device or another computing device to register with the recovery service. For example, a third party can use its computing device to communicate with the recovery service module (e.g., perform this action by a server computer) to register and submit registration data, which is then passed to the user's computing device by the recovery service module. In some examples, a third party can use the user's computing device to register and submit registration data. In some examples, the computing device may render one or more user interfaces that allow third parties to register to the recovery service and enter one or more authorized third-party user accounts.

[0012] A cryptographic processor on the computing device can store registration data. In some examples, a recovery service module (e.g., a hardware security module) on the server computer can store the registration data. In some examples, in response to the computing device being registered in the recovery system, the hardware security module can generate and store a second key portion. In some examples, the second key portion is encrypted and stored at the hardware security module.

[0013] To access encrypted data on a registered computing device, a third party can provide its authentication credentials to the computing device. Upon authentication, these credentials enable the cryptographic processor to determine whether the credentials correspond to (or match) one of the authorized third-party user accounts stored in the registered data on the cryptographic processor. If the third party's authentication credentials are one of the authorized third-party user accounts, the cryptographic processor can release a first key portion (stored on the computing device) to the decryption unit. Furthermore, if the third party's authentication credentials are one of the authorized third-party user accounts, the cryptographic processor is configured to communicate with a hardware security module to obtain a second key portion stored at the hardware security module. This communication is part of a recovery service module associated with a server computer connected to the authorized third party. For example, the cryptographic processor can transmit a key request to the hardware security module over a network, where the key request includes identification information about the third party, identification information about the user, and / or a device identifier associated with the computing device.

[0014] Before retrieving the second key portion and returning it to the cryptographic processor, log entries are created in a database to record access to the computing device. The database can be publicly available. It can be a database accessible to some part of the public. In some examples, the database is a public ledger. For example, the recovery service module includes a database logger configured to record log entries in the database. In some examples, the database can support tamper-proof logging, such as using a Merkle tree, hash list, or hash chain. Before the second key portion is transmitted to the computing device, the database logger can communicate with the database over a network to record log entries in the database. Log entries can include information about access to the computing device. For example, log entries can include the time, date, identifier of the computing device and / or identifier of the person, the person's role, and / or the organization that has gained access to the computing device. After creating the log entries in the database, the hardware security module transmits the second key portion to the cryptographic processor. The cryptographic processor provides the second key portion to the decryption unit. The decryption unit uses the first and second key portions to recover the decryption key used to decrypt the encrypted data. In some examples, the first key portion and the second key portion are combined (e.g., to form a symmetric encapsulation key) to decrypt the decryption key, and the decryption key is used to decrypt encrypted data. In some examples, when the device is registered during the recovery process, the decryption key may have already been encrypted using the combination of the first key portion and the second key portion.

[0015] In some examples, the recovery system can securely provide access to encrypted user data when a user has changed their password on another device (or using a browser) and the user has no access to their password and the user possesses the computing device. In one example, the user can provide their authentication credentials to the computing device, and the cryptographic processor receives the credentials upon authentication. The user can be authenticated in other ways (e.g., using an old password, recovery methods such as email or telephone verification). Since the authentication credentials are not the current authentication credentials for the recovery decryption key (combined with the first key portion), the cryptographic processor can communicate with the hardware security module to obtain a second key portion (in the same manner as described above), whereby the second key portion is released to the cryptographic processor after a log entry is created in the database.

[0016] According to one aspect, a method for accessing a computing device includes: receiving, by the computing device, an authentication credential for restoring access to the computing device, the authentication credential being different from an authentication credential for accessing encrypted data on the computing device; in response to receiving the authentication credential for restoring access, obtaining a first key portion stored on the computing device; transmitting via a network a request to receive a second key portion; receiving via a network a response including the second key portion; restoring a decryption key using the first key portion and the second key portion; and decrypting the encrypted data on the computing device using the decryption key.

[0017] According to some aspects, the method may include one or more (or any combination thereof) of the following features: Initiating a request to receive a second key portion by logging an entry to a database, wherein the second key portion is received at the computing device after the log entry is logged to the database. The method may include combining a first key portion and a second key portion to form an encapsulation key and using the encapsulation key to decrypt a decryption key. The method may include: obtaining registration data identifying at least one authorized user account; determining whether authentication credentials for restored access correspond to at least one authorized user account; and transmitting a request to receive the second key portion in response to authentication credentials for restored access corresponding to at least one authorized user account. The first key portion is stored at a cryptographic processor of the computing device, wherein the request to receive the second key portion is transmitted to a security module configured to store the second key portion. The method may include storing registration data on at least one of the cryptographic processor or the security module, the registration data identifying at least one authorized user account. The method may include receiving a successful authentication response in response to authentication credentials for restored access being authenticated by an authentication system, wherein the first key portion is obtained in response to the successful authentication response. The authentication credentials for restored access may relate to a third party owning or managing the computing device. The authentication credentials for restored access may relate to a user of the computing device.

[0018] According to one aspect, a recovery system includes: a security module configured to receive a first request via a network from a computing device, the first request being directed to a second key portion configured to be combined with the first key portion stored on the computing device to recover a decryption key used to decrypt encrypted data; and a database logger configured to transmit a second request to a database to record a log entry in the database regarding the first request. The security module is configured to transmit the second key portion to the computing device after the log entry has been recorded in the database.

[0019] According to some aspects, the recovery system may include one or more (or any combination thereof) of the following features: A security module is configured to store at least a portion of registration data, the registration data identifying at least one authorized user account associated with a third party. The security module is configured to generate a second key portion in response to receiving the registration data. The security module is configured to generate a first key portion in response to receiving the registration data, and the security module is configured to transmit the first key portion to a computing device.

[0020] According to one aspect, a non-transitory computer-readable medium stores executable instructions that, when executed by at least one processor, cause at least one processor to: receive authentication credentials for restoring access to a computing device, the authentication credentials being different from authentication credentials for accessing encrypted data on the computing device; in response to receiving the authentication credentials for restoring access, obtain a first key portion stored on the computing device; transmit a request via a network to receive a second key portion, and initiate logging an entry to a database in response to the request to receive the second key portion; after logging the log entry to the database, receive a response including the second key portion; use the first key portion and the second key portion to recover a decryption key; and use the decryption key to decrypt the encrypted data.

[0021] According to some aspects, a non-transitory computer-readable medium may include one or more (or any combination thereof) of the following features: Executable instructions include instructions that, when executed by at least one processor, cause at least one processor to encrypt data in response to receiving a logout of a computing session. Executable instructions include instructions that, when executed by at least one processor, cause at least one processor to: obtain registration data identifying at least one authorized user account; determine whether authentication credentials for restoring access correspond to at least one authorized user account; and, in response to the authentication credentials for restoring access corresponding to at least one authorized user account, transmit a request to receive a second key portion. Executable instructions include instructions that, when executed by at least one processor, cause at least one processor to: store registration data on at least one of a cryptographic processor on a computing device or a security module executable by a server computer, and generate at least one of a first key portion or a second key portion in response to receiving the registration data. Executable instructions include instructions that, when executed by at least one processor, cause at least one processor to: store the first key portion on the cryptographic processor and store the second key portion on the security module. The executable instructions include instructions that, when executed by at least one processor, cause at least one processor to perform the following operations: receive a successful authentication response in response to authentication of authentication credentials for resuming access by an authentication system, wherein the first key portion is obtained from a computing device in response to the successful authentication response. The executable instructions also include instructions that, when executed by at least one processor, cause at least one processor to perform the following operations: combine the first key portion and the second key portion to form a symmetric encapsulation key, and decrypt the decryption key using the symmetric encapsulation key.

[0022] Details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features will be apparent from the specification, drawings, and claims. Attached Figure Description

[0023] Figure 1A The illustration shows a recovery system for recovering encrypted data on a computing device.

[0024] Figure 1B The diagram illustrates the login workflow based on one aspect of a computing device.

[0025] Figure 1C The diagram illustrates the recovery workflow based on one aspect of the computing device.

[0026] Figure 2 The illustration shows a recovery system for recovering encrypted data on a computing device, according to another method.

[0027] Figure 3The diagram illustrates a flowchart depicting an example operation of a recovery system based on one aspect.

[0028] Figure 4 The diagram illustrates a flowchart depicting an example operation of a recovery system based on another aspect.

[0029] Figure 5 The diagram illustrates a flowchart depicting an example operation of a recovery system based on another aspect.

[0030] Figure 6 This shows what can be used to implement Figures 1A to 5 A block diagram of an example or representative computing device and associated components for a system or method. Detailed Implementation

[0031] Figure 1A The illustration shows a recovery system 100 for recovering encrypted data 136a on a computing device 120, according to one aspect. Figure 1B The diagram illustrates the login workflow based on one side of the computing device 120. Figure 1C The diagram illustrates the recovery workflow based on computing device 120. (Reference) Figure 1A The computing device 120 includes an encryption unit 133 configured to encrypt data 136. When data 136 is encrypted, it may be referred to as encrypted data 136a. When data 136 is decrypted, it may be referred to as decrypted data 136b. The encryption unit 133 may encrypt data 136 when user 101 logs out (or exits) from the computing session of the computing device 120. In some examples, user 101 has logged out (or exited) the computing session when the computing device 120 requests user authentication credentials 138 to gain access to at least some of the functionalities of the computing device 120.

[0032] When a user intentionally logs out (or exits) the computing session, encryption unit 133 can encrypt data 136. Encryption unit 133 can encrypt data 136 in response to the expiration of an inactive period (e.g., no user command received for a period of time). The encrypted data 136 can be user data and / or data generated by user 101 during use of computing device 120. In some examples, data 136 includes any data stored on or accessible via computing device 120. In some examples, data 136 can represent a portion of data stored on computing device 120.

[0033] In some examples, computing device 120 is associated with a user account, and authentication credential 138 is the authentication credential for the user account. User 101 may provide their authentication credential 138 to computing device 120 to decrypt encrypted data 136a and / or gain at least some functional access to computing device 120. In some examples, user 101 provides their authentication credential 138 via authentication interface 142 rendered on display 140 of computing device 120. Authentication interface 142 may be any type of interface that receives authentication credential 138. In some examples, authentication interface 142 includes an input screen for user identification and authentication (e.g., a login screen). In some examples, authentication interface 142 is referred to as a recovery screen if the user's authentication credential 138 is unavailable. In some examples, user 101 may provide their authentication credential 138 without using authentication interface 142.

[0034] Authentication credentials 138 may be information used to authenticate a person attempting to access data 136 and / or access some functionality of computing device 120. Authentication credentials 138 may be any type of data structure, object, or document that identifies a user. In some examples, authentication credentials 138 include a password (or passphrase). The password may be a string of letters, numbers, and / or special characters. In some examples, authentication credentials 138 include a digital certificate. The digital certificate may include a user's digital identifier (e.g., a public key) and a digital signature of the certificate authority. In some examples, authentication credentials 138 include biometric data. In some examples, biometric data may include facial scans, iris scans, fingerprint scans, and / or voice data.

[0035] Authentication credential 138 can be authenticated by authentication system 144. Authentication system 144 can be any type of system capable of authenticating users based on authentication credential 138, such as a password-based authentication system, a certificate-based authentication system, a biometric authentication system, and / or a multi-factor authentication system. A password-based authentication system can use a password to authenticate a user. A certificate-based authentication system can verify the trustworthiness of digital signatures and certificate authority, and can use cryptography to confirm that the user has the correct private key associated with the certificate.

[0036] Biometric authentication systems can use biometrics to authenticate users. In some examples, a biometric authentication system may use facial recognition that matches different facial features of an individual attempting to gain access to an approved face stored in a database. In some examples, a biometric authentication system may examine a speaker's voice patterns to form specific shapes and voice qualities and may rely on standardized words to identify the user. In some examples, a biometric authentication system may match unique patterns on an individual's fingerprint. In some examples, a biometric authentication system may include iris recognition and / or a retinal scanner, where patterns are compared to approval information stored in a database. Multi-factor authentication systems may use two or more independent methods to identify a user (e.g., a code generated from the user's device, a Captcha test, fingerprints, and / or facial recognition, etc.).

[0037] In some examples, computing device 120 communicates with authentication system 144 via network 150 to authenticate user 101. For example, computing device 120 may transmit encrypted transmissions to authentication system 144 via network 150. In some examples, the encrypted transmission includes authentication credential 138. In some examples, the encrypted transmission includes an encrypted version of authentication credential 138, wherein authentication system 144 decrypts authentication credential 138. Authentication system 144 is configured to authenticate authentication credential 138, and if authentication credential 138 is authenticated, authentication system 144 is configured to transmit an authentication response 146 indicating that user 101 has been authenticated. In some examples, authentication credential 138 is locally authenticated on computing device 120. In some examples (not shown), authentication system 144 is included on computing device 120.

[0038] refer to Figure 1A and 1B The computing device 120 includes a cryptographic processor 126 configured to receive (authenticated) authentication credentials 138. In response to receiving authentication credentials 138, and if authentication credentials 138 correspond to user 101, the cryptographic processor 126 is configured to release a first key portion 130 to a decryption unit 132. As indicated above, the user's authentication credentials 138 may be a password associated with the computing device 120 or a user account associated with the computing device 120. However, authentication credentials 138 may include other forms of identification information, such as digital certificates or biometric data (e.g., facial scans, iris scans, fingerprint scans, audio data, etc.).

[0039] The first key portion 130 may be a secret key stored within the cryptographic processor 126. The secret key is a cryptographic secret. Other cryptographic secrets may exist as various secret keys, or it may represent the result of a secure computation performed within the hardware security module 110. The cryptographic processor 126 may be a dedicated on-chip computer or microprocessor for performing cryptographic operations. In some examples, the cryptographic processor 126 is a security chip. In some examples, the cryptographic processor 126 is a trusted platform module. In some examples, the cryptographic processor 126 is embedded in a package with one or more physical security measures. The decryption unit 132 may receive the authentication credential 138 and the first key portion 130, and the decryption unit 132 may use the authentication credential 138 and the first key portion 130 to recover the decryption key 134. In some examples, the decryption unit 132 is configured to execute on an application processor of the computing device 120, which may be a separate module / package from the cryptographic processor 126. The application processor may be a system-on-chip (SoC) that controls the application functions of the computing device 120. In some examples, the decryption unit 132 is configured to execute within the cryptographic processor 126. In some examples, instead of using the cryptographic processor 126, the functions described for the cryptographic processor 126 may be executed by the application processor of the computing device 120.

[0040] In some examples, decryption unit 132 can request both authentication credential 138 and first key portion 130 to recover decryption key 134. In some examples, such as Figure 1A and Figure 1B As shown, authentication credential 138 and first key portion 130 are combined to form an encryption key (e.g., a sealing key, such as a symmetric sealing key), which is used to decrypt decryption key 134. If authentication credential 138 is a password, the password and first key portion 130 are combined to form an encryption key (e.g., a sealing key), and the encryption key is used to decrypt decryption key 134. If a user changes their password on computing device 120, computing device 120 can generate a new encryption key from the new password and first key portion 130, and use the new encryption key to encrypt decryption key 134, thereby deleting the previously encrypted decryption key 134. Therefore, decryption key 134 can be recovered from, exported, and / or associated with the password. However, if the user changes the password for their user account on another device, a recovery process may be required to recover decryption key 134. If authentication credential 138 includes biometric data or a digital certificate, the biometric data or digital certificate data can be combined with first key portion 130 to decrypt decryption key 134. Similar changes to the biometrics or digital certificates used can cause changes to the encryption of the decryption key 134.

[0041] In some examples, a third party 103 may need to access some encrypted data 136a on computing device 120. For example, third party 103 may be associated with an organization 152 that owns or manages the user's computing device 120. For example, computing device 120 may be a business-owned computing device, such as a work computer owned or managed by the user's company or a school computer owned or managed by the user's school. Organization 152 may need to access the encrypted data 136a on computing device 120 for one or more reasons (e.g., governance, risk management, legal and / or compliance reasons). However, without the user's authentication credentials 138, decryption unit 132 will not be able to derive the decryption key 134 according to conventional techniques.

[0042] Recovery system 100 includes a server computer 102 having a recovery service module 108. Recovery service module 108 includes a hardware security module 110 that stores and manages key portions associated with the user of the computing device. Hardware security module 110 may be a computing device (e.g., a physical computing device) that manages encryption keys and performs encryption and decryption functions, as well as other cryptographic functions.

[0043] In some examples, although this disclosure describes the recovery system 100 with respect to a single hardware security module 110, the recovery service module 108 may include a set of hardware security modules 110. Hardware security modules 110 may store and manage a second key portion 131, which, upon recovery, is combined with a first key portion 130 to recover a decryption key 134 to decrypt encrypted data 136a on computing device 120. The second key portion 131 is a part of the information used to recover the decryption key 134. The second key portion 131 may be a secret key stored within hardware security module 110. As indicated above, a secret key is a cryptographic secret. Other cryptographic secrets may exist as various secret keys, or they may represent the result of a secure computation performed within hardware security module 110. In some examples, the first key portion 130 and the second key portion 131 are private keys (e.g., secret keys) of an elliptic curve key pair. Elliptic curve cryptography (ECC) is a key-based technique for encrypting data. However, the first key portion 130 and / or the second key portion 131 can be private / secret portions of some other scheme (other than elliptic curve cryptography) supporting public-key cryptography. In some examples, the first key portion 130 and the second key portion 131 are large integers (e.g., very large integers). In some examples, the first key portion 130 and the second key portion 131 can be some cryptographic material (e.g., a secret key or the result of cryptographic computation).

[0044] although Figure 1AThe hardware security module 110 is described as storing a second key portion 131 associated with a single user; however, it should be noted that the hardware security module 110 (or a group of hardware security modules 110) can store the second key portion 131 for many users (e.g., hundreds, thousands, or millions of users). The second key portion 131 stored at the hardware security module 110 is not sufficient on its own to recover the decryption key 134 associated with a specific user or device.

[0045] Organization 152 may register computing device 120 in recovery system 100 before or after distribution to users, such that in the event that a user is unavailable or uncooperative and a third party 103 actually possesses computing device 120, one or more persons associated with organization 152 (e.g., authorized third parties) may have access to encrypted data 136a and / or the user's computing device 120. In some examples, user 101 may have to opt-in to allow organization 152 to register computing device 120 in the recovery service. In some examples, after organization 152 registers with the recovery service, the organization's computing device 120 is logged in when user 101 first logs in to their computing device 120. In some examples, organization 152 may register one or more of their computing devices 120 before the computing device 120 is handed over to the user.

[0046] Recovery system 100 may store registration data 128 associated with a user's computing device 120. Registration data 128 may identify one or more persons (or roles / types of persons) within organization 152 who may access the user's encrypted data 136a in the event that the user 101 is unavailable or uncooperative. For example, registration data 128 may designate an authorized third party by identifying a user account authorized to access the user's encrypted data 136a. User accounts may be assigned to specific persons or roles within organization 152 (e.g., manager, supervisor, human resources manager, etc.). A third party 103 may register with recovery system 100 using the user's computing device 120 or another computing device. For example, the computing device may render one or more user interfaces that allow the third party 103 to register with recovery system 100 and enter one or more authorized user accounts.

[0047] A cryptographic processor 126 on computing device 120 can store registration data 128. In some examples, a recovery service module 108 (e.g., hardware security module 110) on server computer 102 can store registration data 128. In some examples, a third party 103 can use computing device 120 (or a different computing device) to register and provide registration data 128, wherein recovery service module 108 stores at least a portion of registration data 128 at hardware security module 110. In some examples, recovery service module 108 can transmit at least a portion of registration data 128 to cryptographic processor 126 for storage thereon. In some examples, a third party 103 can use computing device 120 to register and provide registration data 128, wherein cryptographic processor 126 stores at least a portion of registration data 128, and cryptographic processor 126 transmits at least a portion of registration data 128 to hardware security module 110 for storage thereon.

[0048] In some examples, in response to computing device 120 being registered in recovery system 100, a first key portion 130 and a second key portion 131 are generated. In some examples, the first key portion 130 and the second key portion 131 are generated by software executing on computing device 120. In some examples, the first key portion 130 is encrypted, so only hardware security module 110 can access the first key portion 130. In some examples, the second key portion 131 is only available to cryptographic processor 126. In this case, the encrypted first key portion 130 continues to reside on cryptographic processor 126. However, in some examples, the first key portion 130 may be stored elsewhere on computing device 120 because the first key portion 130 is encrypted and may not be improperly accessed.

[0049] In some examples, hardware security module 110 can generate a first key portion 130 and a second key portion 131. Hardware security module 110 can store the second key portion 131. In some examples, the second key portion 131 is encrypted. In some examples, in response to computing device 120 being registered in recovery system 100, hardware security module 110 can generate the first key portion 130 and transmit the first key portion 130 to cryptographic processor 126, wherein cryptographic processor 126 securely stores the first key portion 130. In some examples, in response to computing device 120 being registered in recovery system 100, cryptographic processor 126 can generate the first key portion 130 and the second key portion 131, and cryptographic processor 126 can transmit the second key portion 131 to hardware security module 110. In some examples, the second key portion 131 is encrypted and stored at hardware security module 110.

[0050] refer to Figure 1A and Figure 1C Third party 103 may provide its authentication credentials 138, which, upon authentication (e.g., by authentication system 144), enables cryptographic processor 126 to determine whether authentication credentials 138 correspond to (or match) one of the authorized user accounts in registration data 128 stored on cryptographic processor 126. If the third party's authentication credentials 138 are one of the authorized user accounts, cryptographic processor 126 may release the first key portion 130 (stored on computing device 120) to decryption unit 132.

[0051] Furthermore, if the third-party authentication credential 138 is one of the authorized user accounts identified in the registration data 128, the cryptographic processor 126 is configured to communicate with the hardware security module 110 via protocol 105 to obtain the second key portion 131 stored at the hardware security module 110. In some examples, protocol 105 includes a multi-party decryption protocol involving the cryptographic processor 126 and the hardware security module 110. In some examples, protocol 105 includes more than two parties, such as... Figure 2 The three-party protocol is shown. Furthermore, protocol 105 may include a four-party or five-party protocol. The cryptographic processor 126 can transmit a key request to the hardware security module 110 via network 150, wherein the key request includes identification information about the third party, identification information about the user, and / or identification information about the computing device 120. In some examples, the key request may include authorization information to confirm that the request has been verified through identity / authorization (e.g., verified by authentication system 144). In some examples, the hardware security module 110 uses the identification information about the third party 103 or user 101 from the key request to perform its own authentication on the server side. In some examples, the hardware security module 110 may perform (e.g., independently) authentication checks to authenticate the third party 103 (or user 101) before returning the second key portion 131. In some examples, the server computer 102 may include or communicate with authentication system 144.

[0052] In some examples, the cryptographic processor 126 communicates with the hardware security module 110 via a reverse proxy. For example, the computing device 120 may contact the recovery service module 108, and the recovery service module 108 may connect to the reverse proxy, disintermediating the hardware security module 110. In some examples, the cryptographic processor 126 may send an encrypted payload (e.g., a key request), wherein the payload is encrypted with the public key of the hardware security module. The hardware security module 110 may return an encrypted (and / or signed) response with a second key portion 131. In some examples, the cryptographic processor 126 may generate an encrypted payload during the registration process, wherein the cryptographic processor 126 transmits the encrypted payload during recovery. The encrypted payload may include user type, user account identifier, and / or identification information about the computing device 120.

[0053] Before the second key portion 131 is returned to the computing device 120, a log entry 112 is created in database 114 to publicly record access to the computing device 120. In some examples, the log entry 112 is logged in a single database 114. In some examples, the log entry 112 is logged in multiple databases 114. For example, the recovery service module 108 includes a database logger 111 configured to log entries 112 in one or more databases 114. Before the second key portion 131 is transmitted to the computing device 120, the database logger 111 is configured to communicate with the databases 114 via network 150 to log entries 112 in the databases 114. The log entry 112 may include information about access to the computing device 120. For example, the log entry 112 may include the time, date, identifier of the computing device 120 and / or identifier of the person, the role of the person, and / or the organization that has gained access to the computing device 120.

[0054] In some examples, database 114 is a database whose records are publicly available. In some examples, database 114 is a public ledger. In some examples, database 114 is accessible to a portion of the public. In some examples, database 114 resides on a computing device separate from server computer 102. In some examples, database 114 is included within server computer 102. Database logger 111 can receive a response indicating successful recording of log entry 112. Hardware security module 110 can determine the response indicating successful recording of log entry 112 and then transmit a response including a second key portion 131. In some examples, the response may include information (e.g., evidence) that the access request has been entered into database 114.

[0055] In some examples, database 114 may log all recovery attempts. In some examples, database 114 may log unsuccessful recovery attempts. Hardware security module 110 may log entry 112 in database 114 in response to an unsuccessful recovery attempt. For example, hardware security module 110 may receive malformed requests, in which hardware security module 110 cannot decrypt and / or access them. In some examples, hardware security module 110 may log entry 112 in database 114 if the sender's signature (or part thereof) is determined to be invalid (e.g., an attacker attempting to impersonate the laptop / requester). However, there are many reasons why recovery attempts may fail, including accidental and / or malicious attempts. In some examples, hardware security module 110 may attempt to authenticate the requester (e.g., user 101 or third party 103) using authentication system 144, and if unauthenticated, hardware security module 110 may log entry 112 in database 114 and return a rejection response to the requester.

[0056] Then, the decryption unit 132 on the computing device 120 can use the first key portion 130 and the second key portion 131 to recover the decryption key 134, and the decryption key 134 is used to decrypt the encrypted data 136a. In some examples, the first key portion 130 and the second key portion 131 are combined to decrypt the decryption key 134, and the decryption key 134 is used to decrypt the encrypted data. In some examples, the first key portion 130 and the second key portion 131 form a symmetric encapsulation key, and the symmetric encapsulation key is used to overwrite the decryption key 134.

[0057] In some examples, when user 101 has changed their password on another device (or using a browser) and user 101 cannot access their password and user 101 has access to computing device 120, recovery system 100 can securely provide access to encrypted data 136a. For example, the user can provide their authentication credentials 138, and when authenticated (e.g., by authentication system 144), password processor 126 receives authentication credentials 138. Users can be authenticated in other ways (e.g., using old passwords, recovery methods such as email or telephone verification). In some examples, user 101 has forgotten their previous password used to gain access to encrypted data 136a, but user 101 has their login password used for authentication system 144. In some examples, if user 101 has forgotten their password used for authentication system 144, server computer 102 can potentially reset the password and authenticate user 101 in some way, allowing user 101 to initiate the recovery process to access encrypted data 136a.

[0058] Since the authentication credential is not the current authentication credential for the recovery decryption key 134 (which is combined with the first key portion 130), the cryptographic processor 126 can trigger the recovery service, for example, by communicating with the hardware security module 110 to obtain the second key portion 131 (in the same manner as described above), wherein the second key portion 131 is released to the cryptographic processor 126 after the log entry 112 is recorded in the database 114.

[0059] The computing device 120 can be any type of device having one or more processors 122 and one or more memory devices 123, wherein the memory devices 123 store encrypted data 136a. The processor 122 may be formed in a substrate configured to execute one or more machine-executable instructions or a combination of software, firmware, or other similar components. The processor 122 may be semiconductor-based; that is, the processor may include semiconductor materials capable of performing digital logic. The memory device 123 may include main memory storing information in a format that can be read and / or executed by the processor 122. Furthermore, the memory device 123 may store executable instructions that, when executed by the processor 122, perform the functionality discussed with reference to the computing device 120.

[0060] Computing device 120 can be any type of consumer computing device, such as a laptop computer, smartphone, tablet, desktop computing device, game console, smart TV, or wearable device. In some examples, computing device 120 is a server computer. Computing device 120 can store data 136 that can be encrypted. In some examples, encrypted data 136a includes data associated with user 101.

[0061] Computing device 120 can communicate with server computer 102 via network 150. Server computer 102 can be a computing device in the form of multiple different devices, such as a standard server, a group of such servers, or a rack server system. In some examples, server computer 102 can be a single system sharing components such as processors and memory. Network 150 can include the Internet and / or other types of data networks, such as local area networks (LANs), wide area networks (WANs), cellular networks, satellite networks, or other types of data networks. Network 150 can also include any number of computing devices (e.g., computers, servers, routers, network switches, etc.) configured to receive and / or transmit data within network 150. Network 150 can further include any number of hardwired and / or wireless connections.

[0062] Server computer 102 may include one or more processors 104, an operating system (not shown), and one or more memory devices 106 formed in a substrate. Memory device 106 may represent any type (or multiple types) of memory (e.g., RAM, flash memory, cache, disk, tape, etc.). In some examples (not shown), memory device 106 may include external storage, such as memory physically located away from server computer 102 but accessible by server computer 102. Server computer 102 may include one or more modules or engines representing specially programmed software.

[0063] Figure 2 The diagram illustrates a recovery system 200 that uses a multi-party recovery protocol to provide recoverable access to encrypted data 236a on computing device 220. Recovery system 200 can be... Figures 1A to 1C Examples of recovery system 100 may be provided, and any details discussed with reference to those accompanying figures may be included. In some examples, recovery system 200 is a third-party system comprising a computing device 220 storing a first key portion 230, a server computer 202a storing a second key portion 231, and a server computer 202b storing a third key portion 233. In some examples, server computer 202b is associated with an entity or organization already registered with recovery system 200.

[0064] The first key portion 230, the second key portion 231, and the third key portion 233 (e.g., in combination) are used to recover the decryption key 234 to decrypt the encrypted data 236a. In some examples, the recovery system 200 uses more than three parties, such as a four- or five-party system, where the fourth key portion is stored at another computing device, the fifth key portion is stored at another computing device, and so on.

[0065] A third party may need to access some encrypted data 236a on computing device 220. For example, the third party may be associated with an organization that owns or manages the computing device 220. In some examples, server computer 202b is owned or managed by the organization. However, without the authentication credentials of the user associated with the encrypted data 236a, the decryption unit 232 will not be able to derive the decryption key 234 according to some conventional techniques.

[0066] Recovery system 200 includes a server computer 202a having a hardware security module 210a that stores and manages a key portion (e.g., a second key portion 231) associated with a user of the computing device. In some examples, server computer 202a is not associated with an organization. In some examples, server computer 202a is a third-party service that stores and manages the key portion associated with a user of the computing device. Hardware security module 210a may be a computing device (e.g., a physical computing device) that manages encryption keys and performs encryption and decryption functions, as well as other cryptographic functions. Note that server computer 202a may include a single hardware security module 210a or a group of hardware security modules 210a. Hardware security module 210a may store and manage the second key portion 231, which, upon recovery, is combined with a first key portion 230 and a third key portion 233 to recover decryption key 234 to decrypt encrypted data 236a on computing device 220.

[0067] Recovery system 200 includes a server computer 202b with a hardware security module 210b that stores and manages key portions (e.g., a third key portion 233) associated with users of computing devices associated with an entity or organization. In some examples, server computer 202a stores and manages key portions of users using computing devices (e.g., Apple users, Google users, Microsoft users, etc.), and server computer 202b stores and manages key portions of computing devices owned or managed by an organization or entity. Hardware security module 210b may be a computing device (e.g., a physical computing device) that manages encryption keys and performs encryption and decryption functions, as well as other cryptographic functions. Note that server computer 202b may include a single hardware security module 210b or a group of hardware security modules 210b. Hardware security module 210b may store and manage the third key portion 233, which, upon recovery, is combined with a first key portion 230 and a second key portion 231 to recover decryption key 234 to decrypt encrypted data 236a on computing device 220.

[0068] In some examples, each of the first key portion 230, the second key portion 231, and the third key portion 233 is part of the information used to recover the decryption key 234. The key portions (e.g., the first key portion 230, the second key portion 231, and the third key portion 233) may be secret keys stored within the respective devices. A secret key is a cryptographic secret. Other cryptographic secrets may exist as various secret keys, or they may represent the result of secure computations performed within hardware security module 210a, hardware security module 210b, or cryptographic processor 226. In some examples, the first key portion 230, the second key portion 231, and the third key portion 233 are private keys (e.g., secret keys) of elliptic curve key pairs. However, the first key portion 230, the second key portion 231, and / or the third key portion 233 may be private / secret portions of some other scheme (besides elliptic curve) supporting public-key cryptography.

[0069] An organization may register the computing device 220 in the recovery system 200 before or after distributing it to a user, such that one or more persons associated with the organization (e.g., authorized third parties) may access encrypted data 236a and / or the user’s computing device 220 if the user is unavailable or uncooperative and the third party is in actual possession of the computing device 220.

[0070] Recovery system 200 can store registration data associated with the user's computing device 220 (e.g., Figure 1A The registration data 128. In some examples, the registration data is stored at computing device 220. In some examples, the registration data is stored at server computer 202a. In some examples, the registration data is stored at server computer 202b. The registration data may identify one or more persons (or roles / types of persons) within an organization who may access the user's encrypted data 236a in the event that the user is unavailable or uncooperative. For example, the registration data may designate an authorized third party by identifying a user account authorized to gain entry to the user's encrypted data 236a. User accounts may be assigned to specific persons or roles within an organization (e.g., managers, supervisors, human resources managers, etc.). A third party may use the user's computing device 220 or another computing device to register with recovery system 200. For example, the computing device may render one or more user interfaces that allow a third party to register with recovery system 200 and enter one or more authorized user accounts.

[0071] In some examples, a third party may use computing device 220 (or different computing devices) to register and provide registration data, wherein the registration data may be stored on computing device 220, server computer 202a, and / or server computer 202b. In some examples, in response to computing device 220 being registered in recovery system 200, a first key portion 230, a second key portion 231, and a third key portion 233 are generated. In some examples, the first key portion 230, the second key portion 231, and the third key portion 233 are generated by software executing on computing device 220. The second key portion 231 may be securely transmitted to server computer 202a for storage thereon. The third key portion 233 may be securely transmitted to server computer 202b for storage thereon. In some examples, the first key portion 230, the second key portion 231, and the third key portion 233 are generated by server computer 202a. The first key portion 230 may be securely transmitted to computing device 220 for storage thereon. The third key portion 233 can be securely transmitted to server computer 202b for storage. In some examples, the first key portion 230, the second key portion 231, and the third key portion 233 are generated by server computer 202b. The first key portion 230 can be securely transmitted to computing device 220 for storage. The second key portion 231 can be securely transmitted to server computer 202a for storage. In some examples, the first key portion 230 is generated by computing device 220, the second key portion 231 is generated by server computer 202a, and the third key portion 233 is generated by server computer 202b.

[0072] A third party may provide its authentication credentials, which, upon authentication, enable the cryptographic processor 226 to determine whether the third party's authentication credentials correspond to (or match) one of the authorized user accounts in the registration data stored on the cryptographic processor 226. If the third party's authentication credentials are one of the authorized user accounts, the cryptographic processor 226 may release the first key portion 230 to the decryption unit 232.

[0073] Furthermore, if the third party's authentication credentials are among the authorized user accounts identified in the registration data, the cryptographic processor 226 is configured to communicate with hardware security module 210a to obtain a second key portion 231 and with hardware security module 210b to obtain a third key portion 233. In some examples, the cryptographic processor 226 may transmit a key request to hardware security module 210a over a network, wherein the key request includes identification information about the third party, identification information about the user, and / or identification information about computing device 220. In some examples, hardware security module 210a uses the identification information about the third party from the key request to perform its own authentication on the server side. In some examples, hardware security module 210a may perform (e.g., independently) authentication checks to authenticate the third party before returning the second key portion 231.

[0074] Before the second key portion 231 is returned to the computing device 220, a log entry 212 is created in the database 214 to publicly record access to the computing device 220. The log entry 212 may include information about the access to the computing device 220. For example, the log entry 212 may include the time, date, identifier of the computing device 220 and / or identifier of the person, the person's role, and / or the organization that has gained access to the computing device 220. In some examples, the database 214 is a database whose records are publicly available. In some examples, the database 214 is a public ledger.

[0075] Furthermore, if the third party's authentication credentials are among the authorized user accounts identified in the registration data, the cryptographic processor 226 is configured to communicate with the hardware security module 210b to obtain the third key portion 233. In some examples, the cryptographic processor 226 may transmit a key request to the hardware security module 210b over a network, wherein the key request includes identification information about the third party, identification information about the user, and / or identification information about the computing device 220. In some examples, the hardware security module 210b uses the identification information about the third party from the key request to perform its own authentication on the server side. In some examples, the hardware security module 210b may perform (e.g., independently) authentication checks to authenticate the third party before returning the third key portion 233.

[0076] In some examples, before the third key portion 233 is returned to the computing device 220, the hardware security module 210b may communicate with the database 214 to determine whether the log entry 212 has been logged in the database 214. If so, the hardware security module 210b may transmit a response including the third key portion 233 to the cryptographic processor 226. In some examples, the hardware security module 210a is configured to log the log entry 212 in the database 214. In some examples, the hardware security module 210b is configured to log the log entry 212 in the database 214. In some examples, the hardware security modules 210a and 210b may log accesses in the database 214 independently. In some examples, the hardware security modules 210a and 210b may log separate log entries 212 in separate databases 214. In some examples, recovery system 200 includes multiple (separate) databases 214, such as a first database that records access to computing device 220 and a second database that records access to computing device 220. In some examples, hardware security module 210a may log entries 212 to the first database. In some examples, hardware security module 210b may log entries 212 to the second database.

[0077] Log entry 212 may include information about access to computing device 220. For example, log entry 212 may include the time, date, identifier of computing device 220 and / or identifier of the person, the person's role, and / or the organization that has gained access to computing device 220. In some examples, database 214 is a database whose records are publicly available. In some examples, database 214 is a public ledger.

[0078] Then, the decryption unit 232 on computing device 220 can use the first key portion 230, the second key portion 231, and the third key portion 233 to recover the decryption key 234, and the decryption key 234 is used to decrypt the encrypted data 236a. In some examples, the first key portion 230, the second key portion 231, and the third key portion 233 are combined to decrypt the decryption key 234, and the decryption key 234 is used to decrypt the encrypted data 236a. In some examples, the first key portion 230, the second key portion 231, and the third key portion 233 are used to form a sealing key (e.g., a symmetric sealing key), and the sealing key is used to overwrite the decryption key 234.

[0079] In some examples, when a user has changed their password and cannot access their password, and the user has possession of computing device 220, recovery system 200 can securely provide access to encrypted data 236a. The user can be authenticated in other ways (e.g., using the old password, recovery methods such as email or telephone verification). In some examples, the user has forgotten their previous password used to gain access to encrypted data 236a, but the user has their login password for the authentication system associated with computing device 220. In some examples, if the user has forgotten their password for the authentication system, server computer 202a can potentially reset the password and authenticate the user in some way, allowing the user to initiate the recovery process to access encrypted data 236a. Upon authentication, the cryptographic processor 226 may trigger a recovery service, for example, by communicating with the hardware security module 210a to obtain the second key portion 231 (in the same manner as described above) and with the hardware security module 210b to obtain the third key portion 233, wherein at least one of the second key portion 231 or the third key portion 233 is released to the cryptographic processor 226 after the log entry 212 is recorded in the database 214.

[0080] Figure 3 The diagram illustrates a flowchart 300 depicting an example operation of a recovery system based on one aspect. Although... Figure 3 Flowchart 300 illustrates the operations in sequence; however, it should be understood that this is merely an example and may include additional or alternative operations. Furthermore, Figure 3 The operations and related operations can be performed in a different order than those shown, or in a parallel or overlapping manner. Although the reference... Figures 1A to 1C The recovery system 100 is described in flowchart 300, but can be further described in accordance with the description herein, including... Figure 2 The recovery system 200 can be used by any system to execute flowchart 300.

[0081] Flowchart 300 can be made by Figures 1A to 1C The recovery system 100 is executed. In some examples, flowchart 300 can be... Figure 2 The recovery system 200 executes the operation. In some examples, flowchart 300 depicts the operations performed by computing device 120. For example, when recovering encrypted data 136, computing device 120 may perform... Figure 3 The operation. When third party 103 is attempting to access computing device 120 and third party 103 possesses computing device 120. Figure 3 The operation can be applicable. Furthermore, when user 101 possesses computing device 120, but user 101 is unaware of the user's current authentication credentials 138, Figure 3This operation can be applicable. In other words, the user is unaware of the authentication credentials 138 used by the user to access the encrypted data 136a.

[0082] Operation 302 includes receiving authentication credentials 138 for restoring access to computing device 120, wherein authentication credentials 138 are different from the authentication credentials used to access encrypted data 136a on computing device 120. In some examples, authentication credentials 138 are associated with a third party 103 that owns or manages computing device 120. In some examples, authentication credentials 138 are associated with a user 101 of computing device 120. For example, the user can be authenticated in a variety of different ways. The password used to access encrypted data 136a may be lost or forgotten, but computing device 120 may receive authentication credentials 138 that are different from the password used to access encrypted data 136a, and this authentication credentials 138 is used to authenticate user 101.

[0083] Operation 304 includes obtaining a first key portion 130 stored on a computing device in response to receiving authentication credential 138. In some examples, the first key portion 130 is stored on a cryptographic processor 126 of computing device 120. In some examples, the first key portion 130 is obtained (e.g., released) when authentication credential 138 is authenticated. In some examples, the first key portion 130 is obtained when authentication credential 138 is authenticated and third party 103 is included in registration data 128. Operation 306 includes transmitting a request for receiving a second key portion 131 via network 150. In some examples, the second key portion 131 is stored on a hardware security module 110 at server computer 102. Operation 308 includes receiving a response including the second key portion 131 via network 150. In some examples, the hardware security module 110 returns the second key portion 131 after log entry 112 is logged in database 114. In some examples, if the hardware security module 110 has independently authenticated the authentication credential 138 and / or determined that the third party 103 is included in the registration data 128, the hardware security module 110 returns the second key portion 131. Operation 310 includes using the first key portion 130 and the second key portion 131 to recover the decryption key 134. Operation 312 includes using the decryption key 134 to decrypt the encrypted data 136a on the computing device 120.

[0084] Figure 4 A flowchart 400 depicting an example operation of a recovery system according to another aspect is illustrated. Although Figure 4 Flowchart 400 illustrates the operations in sequence; however, it should be understood that this is merely an example and may include additional or alternative operations. Furthermore, Figure 4The operations and related operations can be performed in a different order than those shown, or in a parallel or overlapping manner. Although the reference... Figures 1A to 1C The recovery system 100 is described in flowchart 400, but can be further described in accordance with the following: Figure 2 The recovery system 200 can be used by any system to execute flowchart 400.

[0085] Flowchart 400 can be made by Figures 1A to 1C The recovery system 100 is executed. In some examples, flowchart 400 can be... Figure 2 The recovery system 200 performs the operation. In some examples, flowchart 400 depicts operations performed by server computer 102 (e.g., recovery service module 108). For example, when recovering encrypted data 136, server computer 102 can perform... Figure 4 The operation. When third party 103 is attempting to access computing device 120 and third party 103 possesses computing device 120. Figure 4 The operation can be applicable. Furthermore, when user 101 possesses computing device 120, but user 101 does not know the authentication credentials of the user used to access encrypted data 136a, Figure 4 The operation can be applicable.

[0086] Operation 402 includes receiving a first request from computing device 120 via network 150 for receiving a second key portion 131, wherein the second key portion 131 is configured to be combined with a first key portion 130 stored on computing device 120 to recover a decryption key 134 used to decrypt encrypted data 136a. Operation 404 includes transmitting a second request to database 114 to record a log entry 112 in database 114 regarding the first request. Operation 406 includes transmitting the second key portion 131 to computing device 120 after log entry 112 has been recorded in database 114. In some examples, by recording the access in database 114, transparency can be increased, thereby preventing insider attacks, since the access may be discoverable.

[0087] Figure 5 A flowchart 500 depicting an example operation of a recovery system according to another aspect is illustrated. Although Figure 5 Flowchart 500 illustrates the operations in sequence; however, it should be understood that this is merely an example and may include additional or alternative operations. Furthermore, Figure 5 The operations and related operations can be performed in a different order than those shown, or in a parallel or overlapping manner. Although the reference... Figures 1A to 1C The recovery system 100 is described in flowchart 500, but can be further described in accordance with the description herein, including... Figure 2 The recovery system 200 can be used by any system to execute flowchart 500.

[0088] Flowchart 500 can be made by Figures 1A to 1C The recovery system 100 is executed. In some examples, flowchart 500 can be... Figure 2 The recovery system 200 executes the operation. In some examples, flowchart 500 depicts the operations performed by computing device 120. For example, when recovering encrypted data 136, computing device 120 can perform... Figure 5 The operation. When third party 103 is attempting to access computing device 120 and third party 103 possesses computing device 120. Figure 5 The operation can be applicable. Furthermore, when user 101 possesses computing device 120, but user 101 does not know the authentication credentials of the user used to access encrypted data 136a, Figure 5 The operation can be applicable.

[0089] Operation 502 includes receiving authentication credentials 138 associated with computing device 120, wherein authentication credentials 138 are different from authentication credentials used to access encrypted data 136a on computing device 120. Operation 504 includes obtaining a first key portion 130 stored on computing device 120 in response to receiving authentication credentials 138. Operation 506 includes transmitting a request for receiving a second key portion 131 via network 150, wherein the request for receiving the second key portion 131 is configured to initiate logging entry 112 into database 114. Operation 508 includes receiving a response including the second key portion 131 after log entry 112 has been entered into database 114. Operation 510 includes recovering a decryption key 134 using the first key portion 130 and the second key portion 131. Operation 512 includes decrypting the encrypted data 136a using the decryption key 134.

[0090] Figure 6 Examples of general-purpose computer device 600 and general-purpose mobile computer device 650 that can be used with the technologies described herein are shown. Computing device 600 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, tablet computers, workstations, personal digital assistants, televisions, servers, blade servers, mainframes, and other suitable computing devices. Computing device 650 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely exemplary and are not intended to limit the implementation of the subjects described and / or claimed in this document.

[0091] Computing device 600 includes a processor 602, a memory 604, a storage device 606, a high-speed interface 608 connected to the memory 604 and a high-speed expansion port 610, and a low-speed interface 612 connected to a low-speed bus 614 and the storage device 606. The processor 602 may be a semiconductor-based processor. The memory 604 may be a semiconductor-based memory. Each of components 602, 604, 606, 608, 610, and 612 is interconnected using various buses and may be mounted on a common motherboard or otherwise suitably mounted. The processor 602 can process instructions for execution within computing device 600, including instructions stored in memory 604 or storage device 606, to display graphical information of a GUI on an external input / output device—such as a display 616 coupled to the high-speed interface 608. In other embodiments, multiple processors and / or multiple buses, as well as multiple memories and memory types, may be suitably used. Furthermore, multiple computing devices 600 can be connected, with each device providing a portion of the necessary operation (e.g., as a server library, a set of blade servers, or a multiprocessor system).

[0092] Memory 604 stores information within computing device 600. In one embodiment, memory 604 is one or more volatile memory cells. In another embodiment, memory 604 is one or more non-volatile memory cells. Memory 604 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.

[0093] Storage device 606 provides large-capacity storage for computing device 600. In one embodiment, storage device 606 may be or include computer-readable media such as floppy disk devices, hard disk devices, optical disk devices, magnetic tape devices, flash memory or other similar solid-state storage devices, or device arrays, including devices in storage area networks or other configurations. The computer program product may be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer or machine-readable medium, such as memory 604, storage device 606, or memory on processor 602.

[0094] High-speed controller 608 manages bandwidth-intensive operations of computing device 600, while low-speed controller 612 manages lower bandwidth-intensive operations. This assignment of functions is merely exemplary. In one embodiment, high-speed controller 608 is coupled to memory 604, display 616 (e.g., via a graphics processor or accelerator), and to a high-speed expansion port 610 that can accept various expansion cards (not shown). In this embodiment, low-speed controller 612 is coupled to storage device 606 and low-speed expansion port 614. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, Wireless Ethernet), may be coupled to one or more input / output devices, such as keyboards, pointing devices, scanners, or networking devices, such as switches or routers, for example, via a network adapter.

[0095] As shown in the figure, computing device 600 can be implemented in a variety of different forms. For example, it can be implemented as a standard server 620, or multiple times in a group of such servers. It can also be implemented as part of a rack server system 624. Furthermore, it can be implemented in a personal computer such as a laptop computer 622. Alternatively, components from computing device 600 can be combined with other components in mobile devices (not shown), such as device 650. Each of such devices can contain one or more computing devices 600, 650, and the entire system can consist of multiple computing devices 600, 650 communicating with each other.

[0096] Computing device 650 includes a processor 652, memory 664, input / output devices such as a display 654, a communication interface 666, a transceiver 668, and other components. Device 650 may also be provided with storage devices, such as microdrives or other devices, to provide additional storage. Each of components 650, 652, 664, 654, 666, and 668 is interconnected using various buses, and some of the components may be mounted on a common motherboard or otherwise suitably mounted.

[0097] Processor 652 can execute instructions within computing device 650, including instructions stored in memory 664. The processor can be implemented as a chipset comprising discrete and multiple analog and digital processors. The processor can provide, for example, coordination of other components of device 650, such as control of the user interface, applications running by device 650, and wireless communication of device 650.

[0098] Processor 652 can communicate with the user via control interface 658 and display interface 656 coupled to display 654. Display 654 can be, for example, a TFT LCD (Thin Film Transistor Liquid Crystal Display) or OLED (Organic Light Emitting Diode) display or other suitable display technology. Display interface 656 can include appropriate circuitry for driving display 654 to present graphics and other information to the user. Control interface 658 can receive commands from the user and translate them for submission to processor 652. Additionally, an external interface 662 can be provided to communicate with processor 652 to enable near-field communication between device 650 and other devices. External interface 662 can provide wired communication in some embodiments, wireless communication in others, and multiple interfaces may be used.

[0099] Memory 664 stores information within computing device 650. Memory 664 can be implemented as one or more computer-readable media, one or more volatile memory cells, or one or more non-volatile memory cells. Extended memory 674 can also be provided and connected to device 650 via an extended interface 672, which may include, for example, a SIMM (Single In-line Memory Module) card interface. Such extended memory 674 can provide additional storage space for device 650, or it can also store applications or other information for device 650. Specifically, extended memory 674 may include instructions for performing or supplementing the above processes, and may also include security information. Thus, for example, extended memory 674 can be provided as a security module of device 650 and can be programmed with instructions that allow secure use of device 650. Furthermore, secure applications and additional information, such as placing identification information on the SIMM card in an unbreakable manner, can be provided via a SIMM card.

[0100] The memory may include, for example, flash memory and / or NVRAM memory, as discussed below. In one embodiment, the computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer or machine-readable medium, such as memory 664, extended memory 674, or memory on processor 652, which may be received, for example, via transceiver 668 or external interface 662.

[0101] Device 650 can communicate wirelessly via communication interface 666, which may include digital signal processing circuitry if necessary. Communication interface 666 can provide communication under various modes or protocols, such as GSM voice calls, SMS, EMS or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS. Such communication can occur, for example, via radio frequency transceiver 668. Furthermore, short-range communication can occur, such as using Bluetooth, Wi-Fi, or other transceivers (not shown). Additionally, GPS (Global Positioning System) receiver module 670 can provide device 650 with additional navigation and location-related wireless data, which can be appropriately used by applications running on device 650.

[0102] Device 650 can also communicate audibly using audio codec 660, which can receive voice information from a user and convert it into usable digital information. Audio codec 660 can also generate audible sound for the user, such as through a speaker—e.g., in the handheld device of device 650. Such sound can include sounds from voice telephone calls, recorded sounds (e.g., voice messages, music files, etc.), and sounds generated by applications operating on device 650.

[0103] As shown in the figure, the computing device 650 can be implemented in a variety of different forms. For example, it can be implemented as a cellular phone 680. It can also be implemented as a smartphone 682, a personal digital assistant, or part of another similar mobile device.

[0104] Therefore, various implementations of the systems and techniques described herein can be implemented in digital electronic circuits, integrated circuits, specially designed ASICs (Application-Specific Integrated Circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system, the programmable system including at least one programmable processor, which may be dedicated or general-purpose, coupled to receive and transmit data and instructions from and to a storage system, at least one input device, and at least one output device.

[0105] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0106] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user) and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0107] The systems and technologies described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or middleware components (e.g., an application server), or front-end components (e.g., a client computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such back-end, middleware, or front-end components. Components of the system can be interconnected via digital data communication (e.g., a communication network) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), and the Internet.

[0108] A computing system may include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network. The client-server relationship is established through computer programs running on the respective computers and having a client-server relationship with each other.

[0109] Furthermore, the logical flow depicted in the accompanying drawings does not require the specific order or sequence shown to achieve the desired result. Additionally, other steps may be provided, or steps may be eliminated from the described flow, and other components may be added to or removed from the described system. Therefore, other embodiments are within the scope of the appended claims.

[0110] It should be understood that the above-described embodiments, which have been specifically described in detail, are merely examples or possible embodiments, and may include many other combinations, additions, or substitutions.

[0111] Furthermore, specific naming of components, capitalization of terms, attributes, data structures, or any other programming or structural aspects are not mandatory or important, and mechanisms for implementing the disclosed subject matter or its features may have different names, formats, or protocols. Additionally, the system may be implemented via a combination of hardware and software as described, or entirely via hardware components. Moreover, the specific functional divisions among the various system components described herein are merely exemplary and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead be performed by a single component.

[0112] Some of the elements described above are characterized by the algorithms and symbolic representations of the operations on information. Those skilled in the art of data processing can use these algorithmic descriptions and representations to effectively communicate the substance of their work to others skilled in the art. Although these operations are described functionally or logically, they are understood to be implemented by computer programs. Furthermore, it has sometimes proven convenient, without loss of generality, to arrange these operations by referring to them as modules or function names.

[0113] Unless otherwise stated, as is evident from the above discussion, it should be understood that throughout this specification, discussions using terms such as “processing” or “computing” or “operating” or “determining” or “displaying” or “providing” refer to the actions and processes of a computer system or similar electronic computing device, which manipulate and transform data represented as physical (electronic) quantities within the computer system’s memory or registers or other such information storage, transmission or display devices.

Claims

1. A method comprising: The user receives a first authentication credential associated with the administrator of the organization via the user interface of the user device managed by the organization. The first authentication credential is different from the second authentication credential, which is associated with the user assigned to the user device and is used to access encrypted data on the user device. In response to successful authentication of the first authentication credential, a first key portion stored in the memory device of the user equipment is obtained; The request to receive the second key portion is transmitted over the network. Use the network to receive a response including the second key portion; Use the first key portion and the second key portion to recover the decryption key; as well as Use the decryption key to decrypt the encrypted data on the user device.

2. The method according to claim 1, wherein, Upon receiving the request from the second key portion, the administrator initiates the recording of a log entry into the database, the log entry including information about the administrator accessing the user device.

3. The method according to claim 2, wherein, The second key portion is received at the user equipment during or after the log entry is recorded to the database.

4. The method according to claim 1, further comprising: The first key portion and the second key portion are combined to form a sealing key; as well as Use the encapsulation key to recover the decryption key.

5. The method of claim 1, further comprising: Obtain registration data that identifies at least one authorized user account; Determine whether the first authentication credential corresponds to the at least one authorized user account; as well as In response to the first authentication credential corresponding to the at least one authorized user account, the request to receive the second key portion is transmitted.

6. The method according to claim 1, wherein, The first key portion is stored in the cryptographic processor of the user equipment, wherein the request to receive the second key portion is transmitted to the secure circuit storing the second key portion using the network.

7. The method of claim 6, further comprising: The registration data is stored on at least one of the cryptographic processor or the security circuit, and the registration data identifies the authorized user account corresponding to the first authentication credential.

8. The method of claim 1, further comprising: In response to the successful authentication of the first authentication credential by the authentication system, an authentication response is received. The first key portion is obtained in response to the successful authentication response.

9. An apparatus comprising: At least one processor; as well as A non-transitory computer-readable medium storing executable instructions that cause the at least one processor to: The user receives a first authentication credential associated with the administrator of the organization via the user interface of the user device managed by the organization. The first authentication credential is different from the second authentication credential, which is associated with the user assigned to the user device and is used to access encrypted data on the user device. In response to successful authentication of the first authentication credential, a first key portion stored in the memory device of the user equipment is obtained; The request to receive the second key portion is transmitted over the network. Use the network to receive a response including the second key portion; Use the first key portion and the second key portion to recover the decryption key; as well as Use the decryption key to decrypt the encrypted data on the user device.

10. The apparatus according to claim 9, wherein, Upon receiving the request from the second key portion, the administrator initiates the recording of a log entry into the database, the log entry including information about the administrator accessing the user device.

11. The apparatus according to claim 10, wherein, The second key portion is received at the user equipment during or after the log entry is recorded to the database.

12. The apparatus according to claim 9, wherein, The executable instructions include instructions that cause the at least one processor to perform the following operations: The first key portion and the second key portion are combined to form a sealing key; and Use the encapsulation key to recover the decryption key.

13. The apparatus according to claim 9, wherein, The executable instructions include instructions that cause the at least one processor to perform the following operations: Obtain registration data that identifies at least one authorized user account; Determine whether the first authentication credential corresponds to the at least one authorized user account; as well as In response to the first authentication credential corresponding to the at least one authorized user account, the request to receive the second key portion is transmitted.

14. The apparatus according to claim 9, wherein, The first key portion is stored in the cryptographic processor of the user equipment, wherein the request to receive the second key portion is transmitted to the secure circuit storing the second key portion using the network.

15. The apparatus of claim 14, further comprising: The registration data is stored on at least one of the cryptographic processor or the security circuit, and the registration data identifies the authorized user account corresponding to the first authentication credential.

16. The apparatus according to claim 9, wherein, The executable instructions include instructions that cause the at least one processor to perform the following operations: In response to the successful authentication of the first authentication credential by the authentication system, an authentication response is received. The first key portion is obtained in response to the successful authentication response.

17. A non-transitory computer-readable medium storing executable instructions that cause at least one processor to perform operations, the operations including: The user receives a first authentication credential associated with the administrator of the organization via the user interface of the user device managed by the organization. The first authentication credential is different from the second authentication credential, which is associated with the user assigned to the user device and is used to access encrypted data on the user device. In response to successful authentication of the first authentication credential, a first key portion stored in the memory device of the user equipment is obtained; The request to receive the second key portion is transmitted over the network. Use the network to receive a response including the second key portion; Use the first key portion and the second key portion to recover the decryption key; as well as Use the decryption key to decrypt the encrypted data on the user device.

18. The non-transitory computer-readable medium according to claim 17, wherein, Upon receiving the request from the second key portion, the administrator initiates the recording of a log entry into the database, the log entry including information about the administrator accessing the user device.

19. The non-transitory computer-readable medium according to claim 18, wherein, The second key portion is received at the user equipment during or after the log entry is recorded to the database.

20. The non-transitory computer-readable medium according to claim 17, wherein, The operation further includes: The first key portion and the second key portion are combined to form a sealing key; and Use the encapsulation key to recover the decryption key.

Citation Information

Patent Citations

  • Security policy for device data

    CN104094275A

  • Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information

    CN111199045A