CN117795515A - 计算设备的数据恢复 - Google Patents
计算设备的数据恢复 Download PDFInfo
- Publication number
- CN117795515A CN117795515A CN202280055316.3A CN202280055316A CN117795515A CN 117795515 A CN117795515 A CN 117795515A CN 202280055316 A CN202280055316 A CN 202280055316A CN 117795515 A CN117795515 A CN 117795515A
- Authority
- CN
- China
- Prior art keywords
- key portion
- computing device
- key
- processor
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2131—Lost password, e.g. recovery of lost or forgotten passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
根据一方面,一种用于访问计算设备的方法包括:由计算设备接收用于恢复对计算设备的访问的认证凭证,认证凭证不同于用于访问计算设备上的加密数据的认证凭证;响应于接收到用于恢复访问的认证凭证,获得存储在计算设备上的第一密钥部分;通过网络传送对接收第二密钥部分的请求;通过网络接收包括第二密钥部分的响应;使用第一密钥部分和第二密钥部分来恢复解密密钥;以及使用解密密钥来解密计算设备上的加密数据。
Description
相关申请的交叉引用
本申请是于2021年8月11日提交的题为“计算设备的数据恢复”的美国非临时专利申请No.17/444,884的继续申请,并且要求其优先权,其公开内容通过引用整体并入本文。
背景技术
与计算设备相关联的数据可以被加密,然后在用户登录到其设备时被解密。例如,用户可以提供他们的口令(password),并且响应于用户被认证,数据可以被解密。向用户(例如,学校、企业)提供计算设备的组织有时具有用于管理设备的策略,包括用加密数据设置设备。然而,这种组织可能需要在用户可能不可用或不合作时访问一些加密数据。此外,用户可能已经忘记了他们的口令。在一些示例中,在没有用户的口令的情况下,用于对加密数据进行解密的解密密钥可能是不可恢复的。
发明内容
本公开涉及一种恢复系统,该恢复系统可以在管理计算设备的组织(或人)需要访问加密数据以及组织(或人)占有计算设备时安全地提供对加密数据的访问。在一些示例中,当用户没有对其口令的访问权并且用户占有计算设备时,恢复系统可以安全地提供对加密数据的访问。技术问题可以包括当加密数据的认证凭证不可用时,以安全并且透明的方式提供对计算设备上的加密数据的访问。本文讨论的恢复系统可以提供保持与计算设备相关联的数据的安全性,同时当用户的认证凭证不可用时以抵抗网络和物理攻击的方式提供对数据的访问的技术解决方案。
如果满足某些条件,则恢复系统可以将两个不同的密钥部分(例如,第一密钥部分、第二密钥部分)维持在释放到计算设备上的解密单元的分离的位置,其中解密单元需要第一密钥部分和第二密钥部分两者来恢复用于解密加密数据的解密密钥。相反,一些传统的恢复机制可以将解密密钥的管理分配给中央实体,这可能引入技术问题,诸如滥用的风险、网络攻击的漏洞、以及使用户的隐私、安全性和/或安保性处于风险中的海量监视的潜在漏洞。
恢复系统包括具有恢复服务模块的一个或多个服务器计算机。恢复系统包括被配置为通过安全网络与恢复服务模块通信的计算设备。计算设备包括密码处理器(crypto-processor),其被配置为存储和管理与计算设备的用户相关联的密钥部分(例如,第一密钥部分)。第一密钥部分可以是存储在计算设备内部(例如,密码处理器内部)的秘密密钥(例如,密码学秘密)。计算设备(例如,密码处理器)可以生成并存储第一密钥部分(和第二密钥部分)。在一些示例中,当创建与用户相关联的用户账户和/或向恢复系统登记用户时,计算设备生成并存储第一密钥部分。密码处理器可以是用于执行密码学操作的专用片上计算机或微处理器。在一些示例中,密码处理器是安全芯片或可信平台模块。
如下面进一步描述的,在用于访问加密数据的用户的认证凭证不可用的情况下,密码处理器可以通过网络与恢复服务模块通信以获得第二密钥部分,其中第一密钥部分和第二密钥部分用于恢复用于解密加密数据的解密密钥。在第二密钥部分被返回到密码处理器之前,恢复服务模块可以使日志条目(entry)被记录在数据库(例如,公共分类账)中,其中日志条目可以标识关于访问的信息,诸如设备标识符、标识被许可访问的人的信息和/或提供访问的时间/日期。
恢复服务模块包括存储和管理与计算设备的用户相关联的密钥部分的一个或多个硬件安全模块。例如,硬件安全模块可以存储和管理密钥部分(例如,第二密钥部分),该密钥部分(与第一密钥部分组合)用于恢复解密密钥以解密计算设备上的加密数据。硬件安全模块可以是管理加密密钥并执行加密和解密功能以及其他密码功能的计算设备(例如,物理计算设备)。
用户可以向计算设备提供其认证凭证,该认证凭证在被认证时可以使密码处理器将第一密钥部分释放到计算设备上的解密单元。用户的认证凭证可以是与计算设备相关联的口令或与计算设备相关联的用户账户。然而,认证凭证可包括其他形式的标识信息,诸如数字证书或生物计量数据(例如,面部扫描、虹膜扫描、指纹扫描、音频数据等)。在一些示例中,解密单元使用第一密钥部分(由密码处理器释放)和认证凭证来恢复解密密钥以解密计算设备上的加密数据。例如,可以使用加密密钥(例如,封装密钥)来加密解密密钥。解密单元可以使用第一密钥部分和认证凭证来获得用于解密解密密钥的加密密钥。
在一些示例中,第三方可能需要访问计算设备上的一些加密数据。例如,第三方可以与拥有或管理用户的计算设备的组织相关联。例如,计算设备可以是企业拥有的计算设备,诸如由用户的公司拥有或管理的工作计算机或由用户的学校拥有或管理的学校计算机。出于一个或多个原因(例如,治理、风险管理、法律和/或合规原因),组织可能需要访问计算设备上的加密数据。然而,在没有用户的认证凭证的情况下,根据一些常规技术,解密单元将不能获得或导出解密密钥。
为了解决该场景,组织可以将计算设备登记在恢复系统中,使得与组织相关联的一个或多个人(例如,授权的第三方)可以在用户不可用、不协作或无法提供认证凭证(例如,遗忘的口令)并且第三方实际占有计算设备的情况下访问用户的计算设备。例如,恢复系统可以存储与用户的计算设备相关联的登记数据。登记数据可以标识在用户不可用或不协作或认证凭证以其他方式不可用的情况下可以访问用户的加密数据的组织内的一个或多个人(或人的角色/类型)。例如,登记数据可以通过标识被授权获得对用户的加密数据的进入权(entry)的用户账户来指定授权第三方。用户账户可以被指派给组织中的特定人或特定角色(例如,经理、负责人、人力资源主管等)。第三方可以使用用户的计算设备或另一计算设备来登记到恢复服务中。例如,第三方可以使用其计算设备来与恢复服务模块通信(例如,可由服务器计算机执行)以登记和提交登记数据,该登记数据然后由恢复服务模块传递到用户的计算设备。在一些示例中,第三方可以使用用户的计算设备来登记和提交登记数据。在一些示例中,计算设备可以渲染允许第三方登记到恢复服务中并输入一个或多个授权的第三方用户账户的一个或多个用户界面。
计算设备上的密码处理器可以存储登记数据。在一些示例中,服务器计算机上的恢复服务模块(例如,硬件安全模块)可以存储登记数据。在一些示例中,响应于计算设备被登记在恢复系统中,硬件安全模块可以生成并存储第二密钥部分。在一些示例中,第二密钥部分被加密并存储在硬件安全模块处。
为了访问登记计算设备上的加密数据,第三方可以向计算设备提供其认证凭证,该认证凭证在被认证时使得密码处理器确定认证凭证是否对应于(或匹配)存储在密码处理器上的登记数据中的授权第三方用户账户之一。如果第三方的认证凭证是授权第三方用户账户之一,则密码处理器可以将第一密钥部分(存储在计算设备上)释放到解密单元。此外,如果第三方的认证凭证是授权第三方用户账户之一,则密码处理器被配置为与硬件安全模块通信以获得存储在硬件安全模块处的第二密钥部分,该硬件安全模块通信是与授权第三方相关联的服务器计算机的恢复服务模块的一部分。例如,密码处理器可以通过网络向硬件安全模块传送密钥请求,其中密钥请求包括关于第三方的标识信息、关于用户的标识信息和/或与计算设备相关联的设备标识符。
在检索第二密钥部分并将其返回到密码处理器之前,在数据库中创建日志条目以记录对计算设备的访问。数据库可以是公开可用的数据库。数据库可以是可由公众的某些部分访问的数据库。在一些示例中,数据库是公共分类账。例如,恢复服务模块包括被配置为在数据库中记录日志条目的数据库记录器。在一些示例中,数据库可以支持防篡改日志记录,例如使用Merkle(默克尔)树、哈希列表或哈希链。在第二密钥部分被传送到计算设备之前,数据库记录器可以通过网络与数据库通信以在数据库中记录日志条目。日志条目可以包括关于对计算设备的访问的信息。例如,日志条目可以包括时间、日期、计算设备的标识和/或人的标识、人的角色和/或已经获得对计算设备的访问的组织。在数据库中创建日志条目之后,硬件安全模块将第二密钥部分传送到密码处理器。密码处理器将第二密钥部分提供给解密单元。解密单元使用第一密钥部分和第二密钥部分来恢复用于解密加密数据的解密密钥。在一些示例中,第一密钥部分和第二密钥部分被组合(例如,以形成对称封装密钥)以解密解密密钥,并且解密密钥用于解密加密数据。在一些示例中,当设备被登记在恢复过程中时,解密密钥可能已经使用第一密钥部分和第二密钥部分的组合被加密。
在一些示例中,当用户已经在另一设备上(或使用浏览器)改变其口令并且用户无法访问其口令并且用户占有计算设备时,恢复系统可以安全地提供对加密的用户数据的访问。在一个示例中,用户可以向计算设备提供他们的认证凭证,并且当被认证时,密码处理器接收认证凭证。可以以其他方式(例如,使用旧口令、诸如电子邮件或电话核实的恢复方法)认证用户。由于认证凭证不是恢复解密密钥的当前认证凭证(与第一密钥部分组合),因此密码处理器可以与硬件安全模块通信以获得第二密钥部分(以与上述相同的方式),其中在数据库中创建日志条目之后,将第二密钥部分释放到密码处理器。
根据一方面,一种用于访问计算设备的方法包括:由计算设备接收用于恢复对计算设备的访问的认证凭证,认证凭证不同于用于访问计算设备上的加密数据的认证凭证;响应于接收到用于恢复访问的认证凭证,获得存储在计算设备上的第一密钥部分;通过网络传送对接收第二密钥部分的请求;通过网络接收包括第二密钥部分的响应;使用第一密钥部分和第二密钥部分恢复解密密钥;以及使用解密密钥对计算设备上的加密数据进行解密。
根据一些方面,该方法可以包括以下特征中的一个或多个(或其任何组合)。对接收第二密钥部分的请求发起将日志条目记录到数据库中,其中在将日志条目记录到数据库中之后,在计算设备处接收第二密钥部分。该方法可以包括组合第一密钥部分和第二密钥部分以形成封装密钥并且使用封装密钥解密解密密钥。该方法可以包括:获得标识至少一个授权用户账户的登记数据;确定用于恢复访问的认证凭证是否与至少一个授权用户账户相对应;以及响应于与至少一个授权用户账户相对应的用于恢复访问的认证凭证,传送对接收第二密钥部分的请求。第一密钥部分被存储在计算设备的密码处理器处,其中对接收第二密钥部分的请求被传送到被配置为存储第二密钥部分的安全模块。该方法可以包括将登记数据存储在密码处理器或安全模块中的至少一个上,登记数据标识至少一个授权用户账户。该方法可以包括响应于用于恢复访问的认证凭证被认证系统认证而接收成功认证响应,其中响应于成功认证响应而获得第一密钥部分。用于恢复访问的认证凭证可以涉及拥有或管理计算设备的第三方。用于恢复访问的认证凭证可以涉及计算设备的用户。
根据一个方面,一种恢复系统包括:安全模块,其被配置为通过网络从计算设备接收第一请求,所述第一请求针对第二密钥部分,所述第二密钥部分被配置为与存储在计算设备上的第一密钥部分组合以恢复用于解密加密数据的解密密钥;以及数据库记录器,其被配置为向数据库传送第二请求以在数据库中记录关于第一请求的日志条目。安全模块被配置为在日志条目被记录在数据库中之后将第二密钥部分传送到计算设备。
根据一些方面,恢复系统可以包括以下特征中的一个或多个(或其任何组合)。安全模块被配置为存储登记数据的至少一部分,登记数据标识与第三方相关联的至少一个授权用户账户。安全模块被配置为响应于接收到登记数据而生成第二密钥部分。安全模块被配置为响应于接收到登记数据而生成第一密钥部分,安全模块被配置为将第一密钥部分传送到计算设备。
根据一个方面,一种非暂时性计算机可读介质存储可执行指令,所述可执行指令在由至少一个处理器执行时使至少一个处理器:接收用于恢复对计算设备的访问的认证凭证,所述认证凭证不同于用于访问计算设备上的加密数据的认证凭证;响应于接收到用于恢复访问的认证凭证,获得存储在计算设备上的第一密钥部分;通过网络传送对接收第二密钥部分的请求,对接收第二密钥部分的请求发起将日志条目记录到数据库中;在将日志条目记录到数据库中之后,接收包括第二密钥部分的响应;使用第一密钥部分和第二密钥部分来恢复解密密钥;以及使用解密密钥来解密加密数据。
根据一些方面,非暂时性计算机可读介质可以包括以下特征中的一个或多个(或其任何组合)。可执行指令包括在由至少一个处理器执行时使至少一个处理器响应于接收到计算会话被登出而加密数据的指令。可执行指令包括当由至少一个处理器执行时使至少一个处理器执行以下操作的指令:获得标识至少一个授权用户账户的登记数据;确定用于恢复访问的认证凭证是否与至少一个授权用户账户相对应;以及响应于用于恢复访问的认证凭证与至少一个授权用户账户相对应,传送对接收第二密钥部分的请求。可执行指令包括在由至少一个处理器执行时使至少一个处理器进行以下操作的指令:将登记数据存储在计算设备上的密码处理器或可由服务器计算机执行的安全模块中的至少一个上,并且响应于接收到登记数据而生成第一密钥部分或第二密钥部分中的至少一个。可执行指令包括当由至少一个处理器执行时使至少一个处理器进行以下操作的指令:将第一密钥部分存储在密码处理器上并将第二密钥部分存储在安全模块上。可执行指令包括在由至少一个处理器执行时使至少一个处理器进行以下操作的指令:响应于用于恢复访问的认证凭证被认证系统认证而接收成功认证响应,其中第一密钥部分是响应于成功认证响应而从计算设备获得的。可执行指令包括当由至少一个处理器执行时使至少一个处理器进行以下操作的指令:组合第一密钥部分和第二密钥部分以形成对称封装密钥,以及使用对称封装密钥对解密密钥进行解密。
在附图和下面的描述中阐述了一个或多个实施方式的细节。根据说明书和附图以及权利要求,其他特征将是显而易见的。
附图说明
图1A图示了根据一方面的用于恢复计算设备上的加密数据的恢复系统。
图1B图示了根据一方面的计算设备的登录工作流。
图1C图示了根据一方面的计算设备的恢复工作流。
图2图示了根据另一方面的用于恢复计算设备上的加密数据的恢复系统。
图3图示了描绘根据一方面的恢复系统的示例操作的流程图。
图4图示了描绘根据另一方面的恢复系统的示例操作的流程图。
图5图示了描绘根据另一方面的恢复系统的示例操作的流程图。
图6是示出可用于实现图1A至图5的系统和方法的示例或代表性计算设备和相关联的元件的框图。
具体实施方式
图1A图示了根据一方面的用于恢复在计算设备120上的加密数据136a的恢复系统100。图1B图示了根据一方面的计算设备120的登录工作流。图1C图示了根据一方面的计算设备120的恢复工作流。参考图1A,计算设备120包括被配置为加密数据136的加密单元133。当数据136被加密时,数据136可以被称为加密数据136a。当数据136被解密时,数据136可以被称为解密数据136b。当用户101登出(或退出)计算设备120的计算会话时,加密单元133可以加密数据136。在一些示例中,当计算设备120要求输入用户的认证凭证138以获得对计算设备120的功能性中的至少一些功能性的访问时,用户101已登出(或退出)计算会话。
当用户有意登出(或退出)计算会话时,加密单元133可以加密数据136。加密单元133可以响应于某个不活动时段的期满(例如,在一段时间内没有接收到用户命令)而对数据136进行加密。被加密的数据136可以是用户数据和/或由用户101在使用计算设备120的期间生成的数据。在一些示例中,数据136包括在计算设备120上存储或可经由计算设备120访问的任何数据。在一些示例中,数据136可以表示在计算设备120上存储的数据的一部分。
在一些示例中,计算设备120与用户账户相关联,并且认证凭证138是用户账户的认证凭证。用户101可以将其认证凭证138提供给计算设备120以解密加密数据136a和/或获得对计算设备120的至少一些功能性的访问。在一些示例中,用户101经由在计算设备120的显示器140上渲染的认证界面142提供他们的认证凭证138。认证界面142可以是接收认证凭证138的任何类型的界面。在一些示例中,认证界面142包括用于用户标识和认证的输入屏幕(例如,登录屏幕)。在一些示例中,在用户的认证凭证138不可用的情况下,认证界面142被称为恢复屏幕。在一些示例中,用户101可以在不使用认证界面142的情况下提供他们的认证凭证138。
认证凭证138可以是用于认证正在尝试访问数据136和/或访问计算设备120的一些功能性的人的信息。认证凭证138可以是标识用户的任何类型的数据结构、对象或文档。在一些示例中,认证凭证138包括口令(或称为口令短语(passphrase))。口令可以是字母、数字和/或特殊字符的字符串的形式。在一些示例中,认证凭证138包括数字证书。数字证书可以包括用户的数字标识符(例如,公钥)和证书权威的数字签名。在一些示例中,认证凭证138包括生物计量(biometric)数据。在一些示例中,生物计量数据可以包括面部扫描、虹膜扫描、指纹扫描和/或话音数据。
认证凭证138可以由认证系统144认证。认证系统144可以是能够基于认证凭证138认证用户的任何类型的系统,诸如基于口令的认证系统、基于证书的认证系统、基于生物计量的认证系统和/或基于多因素的认证系统。基于口令的认证系统可以使用口令来认证用户。基于证书的认证系统可以核实数字签名和证书权威的可信度,并且可以使用密码学来确认用户具有与证书相关联的正确私钥。
基于生物计量的认证系统可以使用生物计量来认证用户。在一些示例中,基于生物计量的认证系统可以使用与试图获得对在数据库中存储的批准面部的访问的个体的不同面部特性匹配的面部辨识。在一些示例中,基于生物计量的认证系统可以检查说话者的语音模式以形成特定形状和声音质量,并且可以依赖于标准化词来识别用户。在一些示例中,基于生物计量的认证系统可以匹配个体指纹上的唯一模式。在一些示例中,基于生物计量的认证系统可以包括虹膜辨识和/或视网膜扫描仪,其中将图案与在数据库中存储的批准信息进行比较。基于多因素的认证系统可以使用两种或更多种独立方式来识别用户(例如,从用户的设备生成的代码、Captcha测试、指纹和/或面部辨识等)。
在一些示例中,计算设备120通过网络150与认证系统144通信,以便认证用户101。例如,计算设备120可以通过网络150向认证系统144传送加密传输。在一些示例中,加密传输包括认证凭证138。在一些示例中,加密传输包括认证凭证138的加密版本,其中认证系统144解密认证凭证138。认证系统144被配置为对认证凭证138进行认证,并且如果认证凭证138被认证,则认证系统144被配置为传送指示用户101被认证的认证响应146。在一些示例中,认证凭证138在计算设备120上被本地认证。在一些示例(未示出)中,认证系统144被包括在计算设备120上。
参考图1A和1B,计算设备120包括被配置为接收(经认证的)认证凭证138的密码处理器126。响应于接收到认证凭证138,并且如果认证凭证138对应于用户101,则密码处理器126被配置为将第一密钥部分130释放到解密单元132。如上所指示,用户的认证凭证138可以是与计算设备120相关联的口令或与计算设备120相关联的用户账户。然而,认证凭证138可包括其他形式的标识信息,诸如数字证书或生物计量数据(例如,面部扫描、虹膜扫描、指纹扫描、音频数据等)。
第一密钥部分130可以是存储在密码处理器126内部的秘密密钥。秘密密钥是一种密码学秘密。可以存在作为各种秘密密钥的其他密码学秘密,或者也可以表示在硬件安全模块110内部执行的安全计算的结果。密码处理器126可以是用于执行密码学操作的专用片上计算机或微处理器。在一些示例中,密码处理器126是安全芯片。在一些示例中,密码处理器126是可信平台模块。在一些示例中,密码处理器126嵌入具有一个或多个物理安全措施的封装中。解密单元132可接收认证凭证138和第一密钥部分130,并且解密单元132可使用认证凭证138和第一密钥部分130来恢复解密密钥134。在一些示例中,解密单元132被配置为在计算设备120的应用处理器上执行,该应用处理器可以是与密码处理器126分开的模块/封装。应用处理器可以是控制计算设备120的应用功能的片上系统(SOC)。在一些示例中,解密单元132被配置为在密码处理器126内执行。在一些示例中,代替使用密码处理器126,密码处理器126的所描述的功能可以由计算设备120的应用处理器执行。
在一些示例中,解密单元132可以要求认证凭证138和第一密钥部分130两者来恢复解密密钥134。在一些示例中,如图1A和图1B所示,认证凭证138和第一密钥部分130被组合以形成加密密钥(例如,封装密钥,诸如对称封装密钥),其中加密密钥用于解密解密密钥134。如果认证凭证138是口令,则口令和第一密钥部分130被组合以形成加密密钥(例如,封装密钥),并且加密密钥被用于解密解密密钥134。如果用户在计算设备120上改变其口令,则计算设备120可以从新口令和第一密钥部分130生成新的加密密钥,并且使用新的加密密钥来加密解密密钥134,从而删除先前加密的解密密钥134。因此,解密密钥134可以从口令恢复、导出和/或与口令相关联。然而,如果用户在另一设备上改变用户账户的口令,则可能需要恢复过程来恢复解密密钥134。如果认证凭证138包括生物计量数据或数字证书,则生物计量数据或数字证书数据可与第一密钥部分130组合使用以解密解密密钥134。所使用的生物计量或数字证书的类似改变可引起解密密钥134的加密的改变。
在一些示例中,第三方103可能需要访问计算设备120上的一些加密数据136a。例如,第三方103可以与拥有或管理用户的计算设备120的组织152相关联。例如,计算设备120可以是企业拥有的计算设备,诸如由用户的公司拥有或管理的工作计算机或由用户的学校拥有或管理的学校计算机。出于一个或多个原因(例如,治理、风险管理、法律和/或合规原因),组织152可能需要访问计算设备120上的加密数据136a。然而,在没有用户的认证凭证138的情况下,根据常规技术,解密单元132将不能导出解密密钥134。
恢复系统100包括具有恢复服务模块108的服务器计算机102。恢复服务模块108包括存储和管理与计算设备的用户相关联的密钥部分的硬件安全模块110。硬件安全模块110可以是管理加密密钥并执行加密和解密功能以及其他密码学功能的计算设备(例如,物理计算设备)。
在一些示例中,尽管本公开相对于单个硬件安全模块110描述了恢复系统100,但是恢复服务模块108可以包括一组硬件安全模块110。硬件安全模块110可以存储和管理第二密钥部分131,第二密钥部分131在被恢复时与第一密钥部分130组合使用以恢复解密密钥134来解密计算设备120上的加密数据136a。第二密钥部分131是用于恢复解密密钥134的信息的一部分。第二密钥部分131可以是存储在硬件安全模块110内部的秘密密钥。如上所指示,秘密密钥是一种密码学秘密。可以存在作为各种秘密密钥的其他密码学秘密,或者也可以表示在硬件安全模块110内部执行的安全计算的结果。在一些示例中,第一密钥部分130和第二密钥部分131是椭圆曲线密钥对的私钥(例如,秘密密钥)。椭圆曲线密码学(ECC)是用于加密数据的基于密钥的技术。然而,第一密钥部分130和/或第二密钥部分131可以是支持公钥密码学的一些其他方案(除了椭圆曲线之外)的私有/秘密部分。在一些示例中,第一密钥部分130和第二密钥部分131是大整数(例如,非常大的整数)。在一些示例中,第一密钥部分130和第二密钥部分131可以是一些密码学材料(例如,秘密密钥或密码学计算的结果)。
尽管图1A被描述为硬件安全模块110存储与单个用户相关的第二密钥部分131,但是应当注意,硬件安全模块110(或一组硬件安全模块110)可以为许多用户(例如,数百、数千或数百万用户)存储第二密钥部分131。存储在硬件安全模块110处的第二密钥部分131本身不足以恢复与特定用户或特定设备相关的解密密钥134。
组织152可以在向用户分发计算设备120之前或之后将计算设备120登记在恢复系统100中,使得在用户不可用或不合作并且第三方103实际占有计算设备120的情况下,与组织152相关联的一个或多个人(例如,授权第三方)可以访问加密数据136a和/或用户的计算设备120。在一些示例中,用户101可能必须选择加入以允许组织152将计算设备120登记在恢复服务中。在一些示例中,在组织152登记恢复服务之后,该组织152的计算设备120在用户101第一次登录到其计算设备120时被登载。在一些示例中,组织152可以在计算设备120被移交给用户之前登记他们的计算设备120中的一个或多个。
恢复系统100可以存储与用户的计算设备120相关联的登记数据128。登记数据128可以标识在用户101不可用或不合作的情况下可以访问用户的加密数据136a的组织152内的一个或多个人(或人的角色/类型)。例如,登记数据128可以通过标识被授权获得对用户的加密数据136a的进入权的用户账户来指定授权的第三方。用户账户可以被指派给组织152中的特定人或特定角色(例如,经理、负责人、人力资源主管等)。第三方103可以使用用户的计算设备120或另一计算设备来登记到恢复系统100中。例如,计算设备可以渲染允许第三方103在恢复系统100中登记并输入一个或多个授权用户账户的一个或多个用户界面。
计算设备120上的密码处理器126可以存储登记数据128。在一些示例中,服务器计算机102上的恢复服务模块108(例如,硬件安全模块110)可以存储登记数据128。在一些示例中,第三方103可以使用计算设备120(或不同的计算设备)来登记和提供登记数据128,其中恢复服务模块108在硬件安全模块110处存储登记数据128的至少一部分。在一些示例中,恢复服务模块108可以将登记数据128的至少一部分传送到密码处理器126以在其上存储。在一些示例中,第三方103可以使用计算设备120来登记和提供登记数据128,其中密码处理器126存储登记数据128的至少一部分,并且密码处理器126将登记数据128的至少一部分传送到硬件安全模块110以在其上存储。
在一些示例中,响应于计算设备120被登记在恢复系统100中,生成第一密钥部分130和第二密钥部分131。在一些示例中,第一密钥部分130和第二密钥部分131由在计算设备120上执行的软件生成。在一些示例中,第一密钥部分130被加密,因此仅硬件安全模块110可以访问第一密钥部分130。在一些示例中,第二密钥部分131仅对于密码处理器126可用。此时,加密的第一密钥部分130继续驻留在密码处理器126上。然而,在一些示例中,第一密钥部分130可以存储在计算设备120上的其他地方,因为第一密钥部分130被加密并且可能不会被不适当地访问。
在一些示例中,硬件安全模块110可以生成第一密钥部分130和第二密钥部分131。硬件安全模块110可以存储第二密钥部分131。在一些示例中,第二密钥部分131被加密。在一些示例中,响应于计算设备120被登记在恢复系统100中,硬件安全模块110可以生成第一密钥部分130并将第一密钥部分130传送到密码处理器126,其中密码处理器126安全地存储第一密钥部分130。在一些示例中,响应于计算设备120被登记在恢复系统100中,密码处理器126可以生成第一密钥部分130和第二密钥部分131,并且密码处理器126可以将第二密钥部分131传送到硬件安全模块110。在一些示例中,第二密钥部分131被加密并存储在硬件安全模块110处。
参考图1A和图1C,第三方103可以提供其认证凭证138,当被认证(例如,由认证系统144)时,认证凭证138使密码处理器126确定认证凭证138是否与存储在密码处理器126上的登记数据128中的授权用户账户之一相对应(或匹配)。如果第三方的认证凭证138是授权用户账户之一,则密码处理器126可以将第一密钥部分130(存储在计算设备120上)释放到解密单元132。
此外,如果第三方的认证凭证138是在登记数据128中标识的授权用户账户之一,则密码处理器126被配置为经由协议105与硬件安全模块110通信以获得存储在硬件安全模块110处的第二密钥部分131。在一些示例中,协议105包括涉及密码处理器126和硬件安全模块110的多方解密协议。在一些示例中,协议105包括多于两方,诸如如图2所示的三方协议。此外,协议105可以包括四方协议或五方协议。密码处理器126可以通过网络150向硬件安全模块110传送密钥请求,其中密钥请求包括关于第三方的标识信息、关于用户的标识信息和/或关于计算设备120的标识信息。在一些示例中,密钥请求可以包括授权信息以确认请求已经通过身份/授权被验证(例如,通过认证系统144被验证)。在一些示例中,硬件安全模块110使用来自密钥请求的关于第三方103或用户101的标识信息来在服务器侧执行其自己的认证。在一些示例中,硬件安全模块110可以在返回第二密钥部分131之前执行(例如,独立地执行)认证检查以认证第三方103(或用户101)。在一些示例中,服务器计算机102可以包括认证系统144或与认证系统144通信。
在一些示例中,密码处理器126经由反向代理与硬件安全模块110通信。例如,计算设备120可以联系恢复服务模块108,并且恢复服务模块108可以连接到反向代理,并且反向代理使硬件安全模块110脱离中介(disintermediate)。在一些示例中,密码处理器126可以发送加密的有效载荷(例如,密钥请求),其中有效载荷用硬件安全模块的公钥加密。硬件安全模块110可以返回带有第二密钥部分131的加密的(和/或签名的)响应。在一些示例中,密码处理器126可以在登记过程期间生成加密有效载荷,其中密码处理器126在恢复期间传送加密有效载荷。加密的有效载荷可以包括用户类型、用户账户标识符和/或关于计算设备120的标识信息。
在第二密钥部分131被返回到计算设备120之前,在数据库114中创建日志条目112以公开地记录对计算设备120的访问。在一些示例中,日志条目112被记录在单个数据库114中。在一些示例中,日志条目112被记录在多个数据库114中。例如,恢复服务模块108包括被配置为在一个或多个数据库114中记录日志条目112的数据库记录器111。在第二密钥部分131被传送到计算设备120之前,数据库记录器111被配置为通过网络150与数据库114通信以在数据库114中记录日志条目112。日志条目112可以包括关于对计算设备120的访问的信息。例如,日志条目112可以包括时间、日期、计算设备120的标识和/或人的标识、人的角色和/或已经获得对计算设备120的访问权的组织。
在一些示例中,数据库114是其记录可公开可用的数据库。在一些示例中,数据库114是公共分类账。在一些示例中,数据库114可由公众的一部分访问。在一些示例中,数据库114驻留在与服务器计算机102分离的计算设备处。在一些示例中,数据库114被包括在服务器计算机102内。数据库记录器111可以接收指示日志条目112的记录成功的响应。硬件安全模块110可以确定指示日志条目112成功的响应,然后传送包括第二密钥部分131的响应。在一些示例中,响应可以包括访问请求已经被录入在数据库114中的信息(例如,证据)。
在一些示例中,数据库114可以记录所有恢复尝试。在一些示例中,数据库114可以记录不成功的恢复尝试。硬件安全模块110可以响应于不成功的恢复尝试而使日志条目112被记录在数据库114中。例如,硬件安全模块110可以接收畸形(malformed)请求,其中硬件安全模块110不能解密和/或访问。在一些示例中,如果发送者的签名(或其一部分)被确定为无效(例如,正在试图模仿膝上型计算机/请求者的攻击者),则硬件安全模块110可以使日志条目112被记录在数据库114中。然而,可能存在恢复尝试不成功的许多原因,包括意外和/或恶意尝试。在一些示例中,硬件安全模块110可以尝试使用认证系统144认证请求者(例如,用户101或第三方103),并且如果未被认证,则硬件安全模块110可以使日志条目112记录在数据库114中并且向请求者返回拒绝响应。
然后,计算设备120上的解密单元132可以使用第一密钥部分130和第二密钥部分131来恢复解密密钥134,并且解密密钥134被用于解密加密数据136a。在一些示例中,第一密钥部分130和第二密钥部分131被组合以解密解密密钥134,并且解密密钥134被用于解密加密数据。在一些示例中,第一密钥部分130和第二密钥部分131形成对称封装密钥,并且对称封装密钥被用于覆盖解密密钥134。
在一些示例中,当用户101已经在另一设备上(或使用浏览器)改变其口令并且用户101无法访问其口令并且用户101占有计算设备120时,恢复系统100可以安全地提供对加密数据136a的访问。例如,用户可以提供他们的认证凭证138,并且当被认证(例如,由认证系统144)时,密码处理器126接收认证凭证138。可以以其他方式(例如,使用旧口令、诸如电子邮件或电话核实的恢复方法)认证用户。在一些示例中,用户101已经忘记了其用于获得对加密数据136a的访问的先前口令,但是用户101具有其用于认证系统144的登录口令。在一些示例中,如果用户101已经忘记了其用于认证系统144的口令,则服务器计算机102可以潜在地重置该口令并以某种方式认证用户101,使得用户101可以发起该恢复过程以访问加密数据136a。
由于认证凭证不是恢复解密密钥134的当前认证凭证(其与第一密钥部分130组合),因此密码处理器126可以例如通过与硬件安全模块110通信以获得第二密钥部分131(以与上述相同的方式)来触发恢复服务,其中在日志条目112被记录在数据库114中之后,第二密钥部分131被释放到密码处理器126。
计算设备120可以是具有一个或多个处理器122和一个或多个存储器设备123的任何类型的设备,其中存储器设备123存储加密数据136a。处理器122可形成于基板中,所述基板被配置为执行一个或多个机器可执行指令或多件软件、固件或其组合。处理器122可以是基于半导体的,也就是说,处理器可以包括可以执行数字逻辑的半导体材料。存储器设备123可以包括以可以由处理器122读取和/或执行的格式存储信息的主存储器。此外,存储器设备123可以存储可执行指令,该可执行指令在由处理器122执行时执行参考计算设备120讨论的功能性。
计算设备120可以是任何类型的消费者计算设备,诸如膝上型计算机、智能电话、平板电脑、台式计算设备、游戏控制台、智能电视或可穿戴设备等。在一些示例中,计算设备120是服务器计算机。计算设备120可以存储可以被加密的数据136。在一些示例中,加密数据136a包括与用户101相关联的数据。
计算设备120可以通过网络150与服务器计算机102通信。服务器计算机102可以是采取多个不同设备的形式的计算设备,例如标准服务器、一组这样的服务器或机架服务器系统。在一些示例中,服务器计算机102可以是共享诸如处理器和存储器的组件的单个系统。网络150可以包括因特网和/或其他类型的数据网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络或其他类型的数据网络。网络150还可以包括被配置为在网络150内接收和/或传送数据的任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络150可以进一步包括任何数量的硬连线和/或无线连接。
服务器计算机102可以包括形成在基板中的一个或多个处理器104、操作系统(未示出)和一个或多个存储器设备106。存储器设备106可以表示任何种类的(或多种)存储器(例如,RAM、闪存、高速缓存、磁盘、磁带等)。在一些示例(未示出)中,存储器设备106可以包括外部存储,例如物理上远离服务器计算机102但可由服务器计算机102访问的存储器。服务器计算机102可以包括表示专门编程的软件的一个或多个模块或引擎。
图2图示了恢复系统200,其使用多方恢复协议来提供对计算设备220上的加密数据236a的恢复访问。恢复系统200可以是图1A至图1C的恢复系统100的示例,并且可以包括参考那些附图讨论的任何细节。在一些示例中,恢复系统200是三方系统,其包括存储第一密钥部分230的计算设备220、存储第二密钥部分231的服务器计算机202a、以及存储第三密钥部分233的服务器计算机202b。在一些示例中,服务器计算机202b与已经在恢复系统200中登记的实体或组织相关联。
第一密钥部分230、第二密钥部分231和第三密钥部分233(例如,组合地)用于恢复解密密钥234以解密加密数据236a。在一些示例中,恢复系统200使用多于三方,诸如四方或五方系统,其中第四密钥部分存储在另一计算设备处,第五密钥部分存储在另一计算设备处,等等。
第三方可能需要访问计算设备220上的一些加密数据236a。例如,第三方可以与拥有或管理用户的计算设备220的组织相关联。在一些示例中,服务器计算机202b由组织拥有或管理。然而,在没有与加密数据236a相关联的用户的认证凭证的情况下,根据一些常规技术,解密单元232将不能导出解密密钥234。
恢复系统200包括服务器计算机202a,其具有存储和管理与计算设备的用户相关联的密钥部分(例如,第二密钥部分231)的硬件安全模块210a。在一些示例中,服务器计算机202a不与组织相关联。在一些示例中,服务器计算机202a是存储和管理与计算设备的用户相关联的密钥部分的第三方服务。硬件安全模块210a可以是管理加密密钥并执行加密和解密功能以及其他密码功能的计算设备(例如,物理计算设备)。注意,服务器计算机202a可以包括单个硬件安全模块210a或一组硬件安全模块210a。硬件安全模块210a可以存储和管理第二密钥部分231,第二密钥部分231在被恢复时与第一密钥部分230和第三密钥部分233组合使用以恢复解密密钥234来解密计算设备220上的加密数据236a。
恢复系统200包括具有硬件安全模块210b的服务器计算机202b,该硬件安全模块210b存储和管理与关联于实体或组织的计算设备的用户相关联的密钥部分(例如,第三密钥部分233)。在一些示例中,服务器计算机202a存储和管理使用计算设备(例如,苹果用户、谷歌用户、微软用户等)的用户的密钥部分,并且服务器计算机202b存储和管理由组织或实体拥有或管理的计算设备的密钥部分。硬件安全模块210b可以是管理加密密钥并执行加密和解密功能以及其他密码学功能的计算设备(例如,物理计算设备)。注意,服务器计算机202b可以包括单个硬件安全模块210b或一组硬件安全模块210b。硬件安全模块210b可以存储和管理第三密钥部分233,第三密钥部分233在被恢复时与第一密钥部分230和第二密钥部分231组合使用以恢复解密密钥234来解密计算设备220上的加密数据236a。
在一些示例中,第一密钥部分230、第二密钥部分231和第三密钥部分233中的每一个是用于恢复解密密钥234的信息的一部分。密钥部分(例如,第一密钥部分230、第二密钥部分231和第三密钥部分233)可以是存储在相应设备内的秘密密钥。秘密密钥是一种密码学秘密。可以存在作为各种秘密密钥的其他密码学秘密,或者也可以表示在硬件安全模块210a、硬件安全模块210b或密码处理器226内部执行的安全计算的结果。在一些示例中,第一密钥部分230、第二密钥部分231和第三密钥部分233是椭圆曲线密钥对的私钥(例如,秘密密钥)。然而,第一密钥部分230、第二密钥部分231和/或第三密钥部分233可以是支持公钥密码学的一些其他方案(除了椭圆曲线之外)的私有/秘密部分。
组织可以在将计算设备220分发给用户之前或之后将计算设备220登记在恢复系统200中,使得与组织相关联的一个或多个人(例如,授权第三方)可以在用户不可用或不合作并且第三方实际占有计算设备220的情况下访问加密数据236a和/或用户的计算设备220。
恢复系统200可以存储与用户的计算设备220相关联的登记数据(例如,图1A的登记数据128)。在一些示例中,登记数据被存储在计算设备220处。在一些示例中,登记数据存储在服务器计算机202a处。在一些示例中,登记数据存储在服务器计算机202b处。登记数据可以标识在用户不可用或不合作的情况下可以访问用户的加密数据236a的组织内的一个或多个人(或人的角色/类型)。例如,登记数据可以通过标识被授权获得对用户的加密数据236a的进入权(entry)的用户账户来指定授权的第三方。用户账户可以被指派给组织中的特定人或特定角色(例如,经理、负责人、人力资源主管等)。第三方可以使用用户的计算设备220或另一计算设备来登记到恢复系统200中。例如,计算设备可以渲染允许第三方在恢复系统200中登记并输入一个或多个授权用户账户的一个或多个用户界面。
在一些示例中,第三方可以使用计算设备220(或不同的计算设备)来登记和提供登记数据,其中登记数据可以存储在计算设备220、服务器计算机202a和/或服务器计算机202b上。在一些示例中,响应于计算设备220被登记在恢复系统200中,生成第一密钥部分230、第二密钥部分231和第三密钥部分233。在一些示例中,第一密钥部分230、第二密钥部分231和第三密钥部分233由在计算设备220上执行的软件生成。第二密钥部分231可以安全地传送到服务器计算机202a以在其上存储。第三密钥部分233可以安全地传送到服务器计算机202b以在其上存储。在一些示例中,第一密钥部分230、第二密钥部分231和第三密钥部分233由服务器计算机202a生成。第一密钥部分230可以被安全地传送到计算设备220以在其上存储。第三密钥部分233可以安全地传送到服务器计算机202b以在其上存储。在一些示例中,第一密钥部分230、第二密钥部分231和第三密钥部分233由服务器计算机202b生成。第一密钥部分230可以被安全地传送到计算设备220以在其上存储。第二密钥部分231可以安全地传送到服务器计算机202a以在其上存储。在一些示例中,第一密钥部分230由计算设备220生成,第二密钥部分231由服务器计算机202a生成,并且第三密钥部分233由服务器计算机202b生成。
第三方可以提供其认证凭证,该认证凭证在被认证时使得密码处理器226确定第三方的认证凭证是否与存储在密码处理器226上的登记数据中的授权用户账户之一相对应(或匹配)。如果第三方的认证凭证是授权用户账户之一,则密码处理器226可以将第一密钥部分230释放到解密单元232。
此外,如果第三方的认证凭证是在登记数据中标识的授权用户账户之一,则密码处理器226被配置为与硬件安全模块210a通信以获得第二密钥部分231,并且与硬件安全模块210b通信以获得第三密钥部分233。在一些示例中,密码处理器226可以通过网络向硬件安全模块210a传送密钥请求,其中密钥请求包括关于第三方的标识信息、关于用户的标识信息和/或关于计算设备220的标识信息。在一些示例中,硬件安全模块210a使用来自密钥请求的关于第三方的标识信息来在服务器侧执行其自己的认证。在一些示例中,硬件安全模块210a可以在返回第二密钥部分231之前执行(例如,独立地执行)认证检查以认证第三方。
在第二密钥部分231被返回到计算设备220之前,在数据库214中创建日志条目212以公开地记录对计算设备220的访问。日志条目212可以包括关于对计算设备220的访问的信息。例如,日志条目212可以包括时间、日期、计算设备220的标识和/或人的标识、人的角色和/或已经获得对计算设备220的访问的组织。在一些示例中,数据库214是其记录可公开可用的数据库。在一些示例中,数据库214是公共分类账。
此外,如果第三方的认证凭证是在登记数据中标识的授权用户账户之一,则密码处理器226被配置为与硬件安全模块210b通信以获得第三密钥部分233。在一些示例中,密码处理器226可以通过网络向硬件安全模块210b传送密钥请求,其中密钥请求包括关于第三方的标识信息、关于用户的标识信息和/或关于计算设备220的标识信息。在一些示例中,硬件安全模块210b使用来自密钥请求的关于第三方的标识信息来在服务器侧执行其自己的认证。在一些示例中,硬件安全模块210b可以在返回第三密钥部分233之前执行(例如,独立地执行)认证检查以认证第三方。
在一些示例中,在第三密钥部分233被返回到计算设备220之前,硬件安全模块210b可以与数据库214通信以确定日志条目212是否被记录在数据库214中。如果是,则硬件安全模块210b可以将包括第三密钥部分233的响应传送到密码处理器226。在一些示例中,硬件安全模块210a被配置为将日志条目212记录在数据库214中。在一些示例中,硬件安全模块210b被配置为将日志条目212记录在数据库214中。在一些示例中,硬件安全模块210a和硬件安全模块210b可以独立地记录数据库214中的访问。在一些示例中,硬件安全模块210a和硬件安全模块210b可以在分离的数据库214中记录分离的日志条目212。在一些示例中,恢复系统200包括多个(分离的)数据库214,诸如记录对计算设备220的访问的第一数据库和记录对计算设备220的访问的第二数据库。在一些示例中,硬件安全模块210a可以将日志条目212记录到第一数据库中。在一些示例中,硬件安全模块210b可以将日志条目212记录到第二数据库中。
日志条目212可以包括关于对计算设备220的访问的信息。例如,日志条目212可以包括时间、日期、计算设备220的标识和/或人的标识、人的角色和/或已经获得对计算设备220的访问的组织。在一些示例中,数据库214是其记录可公开可用的数据库。在一些示例中,数据库214是公共分类账。
然后,计算设备220上的解密单元232可以使用第一密钥部分230、第二密钥部分231和第三密钥部分233来恢复解密密钥234,并且解密密钥234被用于解密加密数据236a。在一些示例中,第一密钥部分230、第二密钥部分231和第三密钥部分233被组合以解密解密密钥234,并且解密密钥234被用于解密加密数据236a。在一些示例中,第一密钥部分230、第二密钥部分231和第三密钥部分233被用于形成封装密钥(例如,对称封装密钥),并且封装密钥被用于覆盖解密密钥234。
在一些示例中,当用户已经改变其口令并且用户无法访问其口令并且用户占有计算设备220时,恢复系统200可以安全地提供对加密数据236a的访问。可以以其他方式(例如,使用旧口令、诸如电子邮件或电话核实的恢复方法)认证用户。在一些示例中,用户已经忘记了其用于获得对加密数据236a的访问的先前口令,但是用户具有其用于与计算设备220相关联的认证系统的登录口令。在一些示例中,如果用户已经忘记了其用于认证系统的口令,则服务器计算机202a可以潜在地重置该口令并以某种方式认证用户,使得用户可以发起该恢复过程以访问加密数据236a。当被认证时,密码处理器226可以例如通过与硬件安全模块210a通信以获得第二密钥部分231(以与上述相同的方式)并且与硬件安全模块210b通信以获得第三密钥部分233来触发恢复服务,其中在日志条目212被记录在数据库214中之后,第二密钥部分231或第三密钥部分233中的至少一个被释放到密码处理器226。
图3图示了描绘根据一方面的恢复系统的示例操作的流程图300。尽管图3的流程图300以顺序次序图示了操作,但是应当理解,这仅仅是示例,并且可以包括附加的或可替代的操作。此外,图3的操作和相关操作可以以与所示出的不同的次序或以并行或重叠的方式执行。尽管参考图1A至图1C的恢复系统100描述了流程图300,但是可以根据本文描述的包括图2的恢复系统200的任何系统来执行流程图300。
流程图300可以由图1A至图1C的恢复系统100执行。在一些示例中,流程图300可以由图2的恢复系统200执行。在一些示例中,流程图300描绘了由计算设备120执行的操作。例如,当恢复已经被加密的数据136时,计算设备120可以执行图3的操作。当第三方103正在尝试访问计算设备120并且第三方103占有计算设备120时,图3的操作可以是适用的。此外,当用户101占有计算设备120,但是用户101不知道用户的当前认证凭证138时,图3的操作可以是适用的。换句话说,用户不知道用于访问加密数据136a的用户的认证凭证138。
操作302包括接收用于恢复对计算设备120的访问的认证凭证138,其中认证凭证138不同于用于访问计算设备120上的加密数据136a的认证凭证。在一些示例中,认证凭证138与拥有或管理计算设备120的第三方103相关联。在一些示例中,认证凭证138与计算设备120的用户101相关联。例如,可以以多种不同的方式认证用户。用于访问加密数据136a的口令可能丢失或被忘记,但是计算设备120可以接收与用于访问加密数据136的口令不同的认证凭证138,并且该认证凭证138用于认证用户101。
操作304包括响应于接收到认证凭证138,获得存储在计算设备上的第一密钥部分130。在一些示例中,第一密钥部分130存储在计算设备120的密码处理器126上。在一些示例中,当认证凭证138被认证时,获得(例如,释放)第一密钥部分130。在一些示例中,当认证凭证138被认证并且第三方103被包括在登记数据128中时,获得第一密钥部分130。操作306包括通过网络150传送对接收第二密钥部分131的请求。在一些示例中,第二密钥部分131存储在服务器计算机102处的硬件安全模块110上。操作308包括通过网络150接收包括第二密钥部分131的响应。在一些示例中,在日志条目112被记录在数据库114中之后,硬件安全模块110返回第二密钥部分131。在一些示例中,如果硬件安全模块110已经独立地认证了认证凭证138和/或确定第三方103被包括在登记数据128上,则硬件安全模块110返回第二密钥部分131。操作310包括使用第一密钥部分130和第二密钥部分131来恢复解密密钥134。操作312包括使用解密密钥134对计算设备120上的加密数据136a进行解密。
图4图示了描绘根据另一方面的恢复系统的示例操作的流程图400。尽管图4的流程图400以顺序次序图示了操作,但是应当理解,这仅仅是示例,并且可以包括附加的或可替代的操作。此外,图4的操作和相关操作可以以与所示出的不同的次序或以并行或重叠的方式执行。尽管参考图1A至图1C的恢复系统100描述了流程图400,但是可以根据本文描述的包括图2的恢复系统200的任何系统来执行流程图400。
流程图400可以由图1A至图1C的恢复系统100执行。在一些示例中,流程图400可以由图2的恢复系统200执行。在一些示例中,流程图400描绘了由服务器计算机102(例如,恢复服务模块108)执行的操作。例如,当恢复已经被加密的数据136时,服务器计算机102可以执行图4的操作。当第三方103正在尝试访问计算设备120并且第三方103占有计算设备120时,图4的操作可以是适用的。此外,当用户101占有计算设备120,但是用户101不知道用于访问加密数据136a的用户的认证凭证时,图4的操作可以是适用的。
操作402包括通过网络150从计算设备120接收对接收第二密钥部分131的第一请求,其中第二密钥部分131被配置为与存储在计算设备120上的第一密钥部分130组合,以恢复用于解密加密数据136a的解密密钥134。操作404包括向数据库114传送第二请求以在数据库114中记录关于第一请求的日志条目112。操作406包括在日志条目112被记录在数据库114中之后将第二密钥部分131传送到计算设备120。在一些示例中,通过将访问记录在数据库114中,可以增加透明度,从而防止内部攻击,因为访问可能是可发现的。
图5图示了描绘根据另一方面的恢复系统的示例操作的流程图500。尽管图5的流程图500以顺序次序图示了操作,但是应当理解,这仅仅是示例,并且可以包括附加的或可替代的操作。此外,图5的操作和相关操作可以以与所示出的不同的次序或以并行或重叠的方式执行。尽管参考图1A至图1C的恢复系统100描述了流程图500,但是可以根据本文描述的包括图2的恢复系统200的任何系统来执行流程图500。
流程图500可以由图1A至图1C的恢复系统100执行。在一些示例中,流程图500可以由图2的恢复系统200执行。在一些示例中,流程图500描绘了由计算设备120执行的操作。例如,当恢复已经被加密的数据136时,计算设备120可以执行图5的操作。当第三方103正在尝试访问计算设备120并且第三方103占有计算设备120时,图5的操作可以是适用的。此外,当用户101占有计算设备120,但是用户101不知道用于访问加密数据136a的用户的认证凭证时,图5的操作可以是适用的。
操作502包括接收与计算设备120相关联的认证凭证138,其中认证凭证138不同于用于访问计算设备120上的加密数据136a的认证凭证。操作504包括响应于接收到认证凭证138,获得存储在计算设备120上的第一密钥部分130。操作506包括通过网络150传送对接收第二密钥部分131的请求,其中对接收第二密钥部分131的请求被配置为发起将日志条目112记录到数据库114中。操作508包括在日志条目112被输入到数据库114中之后接收包括第二密钥部分131的响应。操作510包括使用第一密钥部分130和第二密钥部分131来恢复解密密钥134。操作512包括使用解密密钥134对加密数据136a进行解密。
图6示出了可以与这里描述的技术一起使用的通用计算机设备600和通用移动计算机设备650的示例。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、平板计算机、工作站、个人数字助理、电视、服务器、刀片服务器、大型机和其他适当的计算设备。计算设备650旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文档中描述和/或要求保护的主题的实施方式。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608、以及连接到低速总线614和存储设备606的低速接口612。处理器602可以是基于半导体的处理器。存储器604可以是基于半导体的存储器。组件602、604、606、608、610和612中的每一个使用各种总线互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器602可以处理用于在计算设备600内执行的指令,包括存储在存储器604中或存储设备606上的指令,以在外部输入/输出设备——诸如耦合到高速接口608的显示器616——上显示GUI的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。而且,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器库、一组刀片服务器或多处理器系统)。
存储器604在计算设备600内存储信息。在一个实施方式中,存储器604是一个或多个易失性存储器单元。在另一个实施方式中,存储器604是一个或多个非易失性存储器单元。存储器604也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备606能够为计算设备600提供大容量存储。在一个实施方式中,存储设备606可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,该指令在被执行时执行一种或多种方法,诸如上述的那些。信息载体是计算机或机器可读介质,诸如存储器604、存储设备606或处理器602上的存储器。
高速控制器608管理计算设备600的带宽密集型操作,而低速控制器612管理较低带宽密集型操作。功能的这样的指派仅是示例性的。在一个实施方式中,高速控制器608耦合到存储器604、显示器616(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口610。在该实施方式中,低速控制器612耦合到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或联网设备,诸如交换机或路由器。
如图所示,计算设备600可以以多种不同的形式实现。例如,它可以实现为标准服务器620,或者在一组这样的服务器中多次实现。它也可以被实现为机架服务器系统624的一部分。此外,它可以在诸如膝上型计算机622的个人计算机中实现。可替代地,来自计算设备600的组件可与移动设备(未示出)中的其他组件——诸如设备650——组合。这样的设备中的每个设备可以包含一个或多个计算设备600、650,并且整个系统可以由彼此通信的多个计算设备600、650组成。
计算设备650包括处理器652、存储器664、诸如显示器654的输入/输出设备、通信接口666和收发器668以及其他组件。设备650还可以设置有存储设备,诸如微驱动器或其他设备,以提供附加的存储。组件650、652、664、654、666和668中的每一个使用各种总线互连,并且组件中的若干组件可以安装在公共主板上或以其他适当的方式安装。
处理器652可以执行计算设备650内的指令,包括存储在存储器664中的指令。处理器可以被实现为包括分离的和多个模拟和数字处理器的芯片的芯片组。处理器可以提供例如设备650的其他组件的协调,诸如对用户界面的控制、由设备650运行的应用以及设备650的无线通信。
处理器652可以通过耦合到显示器654的控制接口658和显示接口656与用户通信。显示器654可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适当的显示技术。显示接口656可以包括用于驱动显示器654以向用户呈现图形和其他信息的适当电路。控制接口658可以从用户接收命令并且转换它们以提交给处理器652。此外,可以提供与处理器652通信的外部接口662,以便实现设备650与其他设备的近区域通信。外部接口662可以例如在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且也可以使用多个接口。
存储器664在计算设备650内存储信息。存储器664可以实现为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器674并通过扩展接口672将其连接到设备650,扩展接口672可以包括例如SIMM(单列直插式存储器模块)卡接口。这样的扩展存储器674可以为设备650提供额外的存储空间,或者还可以为设备650存储应用或其他信息。具体地,扩展存储器674可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器674可以被提供为设备650的安全模块,并且可以用允许安全使用设备650的指令来编程。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可破解的方式将标识信息放置在SIMM卡上。
存储器可以包括例如闪存和/或NVRAM存储器,如下所论述。在一个实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,所述指令在被执行时执行一种或多种方法,诸如上述那些。信息载体是计算机或机器可读介质,诸如存储器664、扩展存储器674或处理器652上的存储器,其可以例如通过收发器668或外部接口662接收。
设备650可以通过通信接口666进行无线通信,通信接口666在必要时可以包括数字信号处理电路。通信接口666可以提供各种模式或协议下的通信,诸如GSM话音呼叫、SMS、EMS或MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这样的通信可以例如通过射频收发器668发生。此外,可以发生短距离通信,诸如使用蓝牙、Wi-Fi或其他这样的收发器(未示出)。此外,GPS(全球定位系统)接收器模块670可以向设备650提供附加的导航和位置相关的无线数据,其可以适当地由在设备650上运行的应用使用。
设备650还可以使用音频编解码器660可听地通信,音频编解码器660可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器660可同样诸如通过扬声器——例如在装置650的手持机中——为用户生成可听声音。这样的声音可以包括来自话音电话呼叫的声音,可以包括记录的声音(例如,话音消息、音乐文件等),并且还可以包括由在设备650上操作的应用生成的声音。
如图所示,计算设备650可以以多种不同的形式实现。例如,它可以被实现为蜂窝电话680。其还可以被实施为智能电话682、个人数字助理或另一类似移动设备的部分。
因此,这里描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该至少一个可编程处理器可以是专用或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并向其传送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和指点设备(例如,鼠标或轨迹球)。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
这里描述的系统和技术可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与这里描述的系统和技术的实施方式进行交互),或者这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
另外,附图中描绘的逻辑流程不需要所示的特定次序或顺序次序来实现期望的结果。另外,可以提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以将其他组件添加到所描述的系统或从所描述的系统移除其他组件。因此,其他实施方式在所附权利要求书的范围内。
应当理解,已经具体详细描述的上述实施方式仅仅是示例或可能的实施方式,并且可以包括许多其他组合、添加或替代。
而且,组件的特定命名、术语的大写、属性、数据结构或任何其他编程或结构方面不是强制性或重要的,并且实现所公开的主题或其特征的机制可以具有不同的名称、格式或协议。此外,该系统可以经由如所描述的硬件和软件的组合来实现,或者完全以硬件元件来实现。此外,本文描述的各种系统组件之间的功能性的特定划分仅仅是示例性的,而不是强制的;由单个系统组件执行的功能可以代替地由多个组件执行,并且由多个组件执行的功能可以代替地由单个组件执行。
以上描述的一些部分在对信息的操作的算法和符号表示方面呈现特征。数据处理领域的技术人员可以使用这些算法描述和表示来有效地将其工作的实质传达给本领域的其他技术人员。这些操作虽然在功能上或逻辑上描述,但是被理解为由计算机程序实现。此外,有时也已经证明将这些操作布置称为模块或功能名称是方便的,而不失一般性。
除非特别说明,否则如从以上讨论中显而易见的,应当理解,贯穿说明书中,利用诸如“处理”或“计算”或“运算”或“确定”或“显示”或“提供”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其操纵和变换在计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内表示为物理(电子)量的数据。
Claims (20)
1.一种用于访问计算设备的方法,所述方法包括:
由所述计算设备接收用于恢复对所述计算设备的访问的第一认证凭证,所述第一认证凭证不同于用于访问所述计算设备上的加密数据的第二认证凭证;
响应于接收到所述第一认证凭证,获得存储在所述计算设备上的第一密钥部分;
通过网络传送对接收第二密钥部分的请求;
通过所述网络接收包括第二密钥部分的响应;
使用所述第一密钥部分和所述第二密钥部分来恢复解密密钥;以及
使用所述解密密钥来解密所述计算设备上的所述加密数据。
2.根据权利要求1所述的方法,其中,对接收所述第二密钥部分的所述请求发起将日志条目记录到数据库中,其中,在将所述日志条目记录到所述数据库中之后,在所述计算设备处接收所述第二密钥部分。
3.根据权利要求1所述的方法,进一步包括:
将所述第一密钥部分和所述第二密钥部分组合以形成封装密钥;以及
使用所述封装密钥来解密所述解密密钥。
4.根据权利要求1所述的方法,进一步包括:
获得标识至少一个授权用户账户的登记数据;
确定所述第一认证凭证是否与所述至少一个授权用户账户相对应;以及
响应于所述第一认证凭证与所述至少一个授权用户账户相对应,传送对接收所述第二密钥部分的所述请求。
5.根据权利要求1所述的方法,其中,所述第一密钥部分被存储在所述计算设备的密码处理器处,其中,对接收所述第二密钥部分的所述请求被传送到被配置为存储所述第二密钥部分的安全模块。
6.根据权利要求5所述的方法,进一步包括:
将登记数据存储在所述密码处理器或所述安全模块中的至少一个上,所述登记数据标识至少一个授权用户账户。
7.根据权利要求1所述的方法,进一步包括:
响应于所述第一认证凭证被认证系统认证,接收成功认证响应,
其中,所述第一密钥部分是响应于所述成功认证响应而获得的。
8.根据权利要求1所述的方法,其中,所述第一认证凭证涉及拥有或管理所述计算设备的第三方。
9.根据权利要求1所述的方法,其中,所述第一认证凭证涉及所述计算设备的用户。
10.一种恢复系统,包括:
安全模块,所述安全模块被配置为通过网络从计算设备接收第一请求,所述第一请求针对第二密钥部分,所述第二密钥部分被配置为与存储在所述计算设备上的第一密钥部分组合以恢复用于解密加密数据的解密密钥;以及
数据库记录器,所述数据库记录器被配置为向数据库传送第二请求以在所述数据库中记录关于所述第一请求的日志条目,
所述安全模块被配置为在所述日志条目被记录在所述数据库中之后向所述计算设备传送所述第二密钥部分。
11.根据权利要求10所述的恢复系统,其中,所述安全模块被配置为存储登记数据的至少一部分,所述登记数据标识与第三方相关联的至少一个授权用户账户。
12.根据权利要求11所述的恢复系统,其中,所述安全模块被配置为响应于接收到所述登记数据而生成所述第二密钥部分。
13.根据权利要求11所述的恢复系统,其中,所述安全模块被配置为响应于接收到所述登记数据而生成所述第一密钥部分,所述安全模块被配置为将所述第一密钥部分传送到所述计算设备。
14.一种存储可执行指令的非暂时性计算机可读介质,所述可执行指令在由至少一个处理器执行时使所述至少一个处理器:
接收用于恢复对计算设备的访问的第一认证凭证,所述第一认证凭证不同于用于访问所述计算设备上的加密数据的第二认证凭证;
响应于接收到所述第一认证凭证,获得存储在所述计算设备上的第一密钥部分;
通过网络传送对接收第二密钥部分的请求,对接收所述第二密钥部分的所述请求发起将日志条目记录到数据库中;
在将所述日志条目记录到所述数据库中之后,接收包括所述第二密钥部分的响应;
使用所述第一密钥部分和所述第二密钥部分来恢复解密密钥;以及
使用所述解密密钥来解密所述加密数据。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,所述可执行指令包括在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作的指令:
响应于接收到被登出的计算会话而加密数据。
16.根据权利要求14所述的非暂时性计算机可读介质,其中,所述可执行指令包括在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作的指令:
获得标识至少一个授权用户账户的登记数据;
确定所述第一认证凭证是否与所述至少一个授权用户账户相对应;以及
响应于所述第一认证凭证与所述至少一个授权用户账户相对应,传送对接收所述第二密钥部分的所述请求。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述可执行指令包括在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作的指令:
将所述登记数据存储在所述计算设备上的密码处理器或可由服务器计算机执行的安全模块中的至少一个上;以及
响应于接收到所述登记数据,生成所述第一密钥部分或所述第二密钥部分中的至少一个。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述可执行指令包括在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作的指令:
将所述第一密钥部分存储在所述密码处理器上;以及
将所述第二密钥部分存储在所述安全模块上。
19.根据权利要求14所述的非暂时性计算机可读介质,其中,所述可执行指令包括在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作的指令:
响应于所述第一认证凭证被认证系统认证而接收成功认证响应,
其中,所述第一密钥部分是响应于所述成功认证响应而从所述计算设备获得的。
20.根据权利要求14所述的非暂时性计算机可读介质,其中,所述可执行指令包括在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作的指令:
将所述第一密钥部分和所述第二密钥部分组合以形成封装密钥;以及
使用所述封装密钥来解密所述解密密钥。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/444,884 US11689369B2 (en) | 2021-08-11 | 2021-08-11 | Data recovery for a computing device |
| US17/444,884 | 2021-08-11 | ||
| PCT/US2022/074627 WO2023019091A1 (en) | 2021-08-11 | 2022-08-05 | Data recovery for a computing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117795515A true CN117795515A (zh) | 2024-03-29 |
Family
ID=83188819
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202280055316.3A Pending CN117795515A (zh) | 2021-08-11 | 2022-08-05 | 计算设备的数据恢复 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US11689369B2 (zh) |
| EP (1) | EP4359981A1 (zh) |
| JP (1) | JP7644308B2 (zh) |
| KR (1) | KR20240045262A (zh) |
| CN (1) | CN117795515A (zh) |
| WO (1) | WO2023019091A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12069173B2 (en) * | 2021-12-15 | 2024-08-20 | Capital One Services, Llc | Key recovery based on contactless card authentication |
| WO2025111130A1 (en) * | 2023-11-22 | 2025-05-30 | Verkada Inc. | Systems and methods to perform end to end encryption |
| US12395329B1 (en) * | 2024-06-28 | 2025-08-19 | Ecosteer Srl | Record-level encryption scheme for data ownership platform |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63151238A (ja) * | 1986-12-16 | 1988-06-23 | Nec Corp | 暗号システムにおける2重鍵管理方式 |
| US6249866B1 (en) | 1997-09-16 | 2001-06-19 | Microsoft Corporation | Encrypting file system and method |
| EP1709517A2 (en) | 2004-01-27 | 2006-10-11 | Livo Technologies S.A. | System, method and apparatus for electronic authentication |
| JP5053032B2 (ja) | 2007-10-16 | 2012-10-17 | 株式会社バッファロー | データ管理装置、データ管理方法およびデータ管理プログラム |
| US9489542B2 (en) * | 2014-11-12 | 2016-11-08 | Seagate Technology Llc | Split-key arrangement in a multi-device storage enclosure |
| US10769286B2 (en) * | 2016-11-17 | 2020-09-08 | National Technology & Engineering Solutions Of Sandia, Llc | Non-intrusive data authentication systems and methods |
| US11044091B1 (en) * | 2018-03-15 | 2021-06-22 | Secure Channels Inc. | System and method for securely transmitting non-pki encrypted messages |
| CN112307488B (zh) * | 2019-07-31 | 2025-04-08 | 华为技术有限公司 | 一种认证凭据保护方法和系统 |
| JP2023538809A (ja) * | 2020-08-31 | 2023-09-12 | アボット ダイアベティス ケア インコーポレイテッド | 医療用モニタリングシステムにおけるセキュア通信 |
-
2021
- 2021-08-11 US US17/444,884 patent/US11689369B2/en active Active
-
2022
- 2022-08-05 JP JP2024508484A patent/JP7644308B2/ja active Active
- 2022-08-05 WO PCT/US2022/074627 patent/WO2023019091A1/en not_active Ceased
- 2022-08-05 CN CN202280055316.3A patent/CN117795515A/zh active Pending
- 2022-08-05 KR KR1020247007440A patent/KR20240045262A/ko active Pending
- 2022-08-05 EP EP22764604.9A patent/EP4359981A1/en active Pending
-
2023
- 2023-05-19 US US18/320,510 patent/US20230291565A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20230050003A1 (en) | 2023-02-16 |
| KR20240045262A (ko) | 2024-04-05 |
| US11689369B2 (en) | 2023-06-27 |
| JP7644308B2 (ja) | 2025-03-11 |
| US20230291565A1 (en) | 2023-09-14 |
| EP4359981A1 (en) | 2024-05-01 |
| JP2024532778A (ja) | 2024-09-10 |
| WO2023019091A1 (en) | 2023-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11558381B2 (en) | Out-of-band authentication based on secure channel to trusted execution environment on client device | |
| US12074864B2 (en) | Non-custodial tool for building decentralized computer applications | |
| US11297064B2 (en) | Blockchain authentication via hard/soft token verification | |
| CN110675144B (zh) | 加强区块链交易的不可抵赖性 | |
| US12041039B2 (en) | System and method for endorsing a new authenticator | |
| US11159307B2 (en) | Ad-hoc trusted groups on a blockchain | |
| CN106330850B (zh) | 一种基于生物特征的安全校验方法及客户端、服务器 | |
| US10432600B2 (en) | Network-based key distribution system, method, and apparatus | |
| CN114600419A (zh) | 具有权益证明区块链支持的加密资产托管系统 | |
| US20230291565A1 (en) | Data recovery for a computing device | |
| CN112425114A (zh) | 受公钥-私钥对保护的密码管理器 | |
| WO2021190197A1 (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
| US11184339B2 (en) | Method and system for secure communication | |
| US20190327245A1 (en) | Peer identity verification | |
| TWM595792U (zh) | 跨平台授權存取資源的授權存取系統 | |
| US20140250499A1 (en) | Password based security method, systems and devices | |
| WO2024030559A1 (en) | Systems and methods for biometrics-based secure data encryption and data signature | |
| US11431514B1 (en) | Systems for determining authenticated transmissions of encrypted payloads | |
| TWI778319B (zh) | 跨平台授權存取資源方法及授權存取系統 | |
| TW202540883A (zh) | 身分驗證系統及方法 | |
| CN116527347A (zh) | 一种设备身份认证方法及装置、电子设备、存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |