CN109104281B - 令牌化硬件安全模块 - Google Patents

令牌化硬件安全模块 Download PDF

Info

Publication number
CN109104281B
CN109104281B CN201810289177.6A CN201810289177A CN109104281B CN 109104281 B CN109104281 B CN 109104281B CN 201810289177 A CN201810289177 A CN 201810289177A CN 109104281 B CN109104281 B CN 109104281B
Authority
CN
China
Prior art keywords
cryptographic
authorization token
operation request
cryptographic operation
key
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.)
Active
Application number
CN201810289177.6A
Other languages
English (en)
Other versions
CN109104281A (zh
Inventor
帕特里克·施塔尔贝格
奥古斯特·休伯
李日成
陶涛
晓兰·张
约翰·兰道夫
戴维·埃尔罗姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202110924950.3A priority Critical patent/CN113824562B/zh
Publication of CN109104281A publication Critical patent/CN109104281A/zh
Application granted granted Critical
Publication of CN109104281B publication Critical patent/CN109104281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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

Abstract

本申请涉及令牌化硬件安全模块。一种用于处理密码操作请求(250)的方法,包括:在硬件安全模块(HSM)(200)处接收所述密码操作请求,所述密码操作请求包括密码密钥(120)和至少一个授权令牌(220);通过所述HSM确定与所述密码操作请求的所述密码密钥相关联的访问控制列表(ACL)(214)是否被授权以管控对所述密码密钥的访问;以及通过所述HSM验证所述至少一个授权令牌。当所述至少一个授权令牌有效并且所述ACL被授权以管控对所述密码操作请求的所述密码密钥的访问时,所述方法包括通过所述HSM处理所述密码操作请求。

Description

令牌化硬件安全模块
技术领域
本公开涉及硬件安全模块。
背景技术
涉及能够被加密用于计算机可读/可写介质上的安全存储并且然后当被访问以供使用时被解密。对于相对地快速使用而言,实际的加密和解密可以通过驻留在通用计算机上的密码计算机程序执行。密码计算机程序必须访问一个或多个密码密钥来将数据加密和解密。文件系统上的文件中或者通用计算机的存储器中的密码密钥的存储可能是相对不安全的。相反,硬件安全模块(HSM)(其可以是通用计算机内或者连接到通用计算机的硬件设备)可以生成和/或存储密码密钥。硬件安全模块可以以与计算机相同的速度操作并且保护其内容,绝不将以未加密的形式的内容展示给主计算机。而且,主计算机不能访问并且寻址硬件安全模块的存储存储器中的任一个。
发明内容
本公开的一个方面提供一种用于处理密码操作请求的方法。方法包括:在硬件安全模块(HSM)处接收密码操作请求,包括密码密钥和至少一个授权令牌;通过HSM确定与密码操作请求的密码密钥相关联的访问控制列表(ACL)是否被授权以管控对密码密钥的访问;以及通过HSM验证至少一个授权令牌。当至少一个授权令牌有效并且ACL被授权以管控对密码操作请求的密码密钥的访问时,方法包括通过HSM处理密码操作请求。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,至少一个授权令牌当以下各项中的至少一项发生时有效:至少一个授权令牌由授权方密钥签名;HSM在由至少一个授权令牌限定的授权时间段内已经接收到至少一个授权令牌;或者HSM已经接收到至少一个授权令牌的次数小于由至少一个授权令牌限定的限制数目。当密码操作请求的密码密钥与ACL的对应的密码密钥匹配时,方法可以包括通过HSM确定由密码操作请求所请求的密码操作是否由ACL允许。当由密码操作请求所请求的密码操作由ACL允许时,方法可以包括处理密码操作请求。
在一些示例中,方法包括:在HSM处从密码密钥的所有者接收挑战请求;并且将对应的授权令牌从HSM发出到密码密钥的所有者。对应的授权令牌可以包括识别HSM和HSM的密码签名的数据。对应的授权令牌进一步可以限定授权时间段或者限制对应的授权令牌的使用的数目的限制数目中的至少一个。密码操作请求的密码密钥可以被包裹。
本公开的另一方面提供包括数据处理硬件以及与数据处理硬件通信的存储器硬件的HSM。存储器硬件存储当在数据处理硬件上被执行时使得数据处理硬件执行操作的指令。操作包括:接收密码操作请求,所述密码操作请求包括密码密钥和至少一个授权令牌;确定与密码操作请求的密码密钥相关联的访问控制列表(ACL)是否被授权以管控对密码密钥的访问;以及验证至少一个授权令牌。当至少一个授权令牌有效并且ACL被授权以管控对密码操作请求的密码密钥的访问时,操作包括处理密码操作请求。
该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,至少一个授权令牌当以下各项中的至少一项发生时有效:至少一个授权令牌由授权方密钥签名;数据处理硬件在由至少一个授权令牌限定的授权时间段内已经接收到至少一个授权令牌;或者数据处理硬件已经接收到至少一个授权令牌的次数小于由至少一个授权令牌限定的限制数目。当密码操作请求的密码密钥与ACL的对应的密码密钥匹配时,操作可以包括确定由密码操作请求所请求的密码操作是否由ACL允许。当由密码操作请求所请求的密码操作由ACL允许时,操作可以包括处理密码操作请求。操作进一步可以包括:从密码密钥的所有者接收挑战请求;并且将对应的授权令牌发出到密码密钥的所有者。
在一些示例中,对应的授权令牌包括识别HSM和HSM的密码签名的数据。对应的授权令牌可以限定授权时间段或者限制对应的授权令牌的使用的数目的限制数目中的至少一个。密码操作请求的密码密钥可以被包裹。
本公开的又一方面提供用于处理密码操作请求的第二方法。方法包括在分布式系统处从用户接收密码操作请求。密码操作请求包括密码密钥和至少一个授权令牌。方法进一步包括通过分布式系统将操作请求发送到被配置成执行操作的HSM。操作包括:确定与密码操作请求的密码密钥相关联的访问控制列表(ACL)是否被授权以管控对密码密钥的访问;以及验证至少一个授权令牌。当至少一个授权令牌有效并且ACL被授权以管控对密码操作请求的密码密钥的访问时,操作包括处理密码操作请求。方法进一步包括:在分布式系统处从HSM接收响应,并且当HSM处理密码操作请求时,响应包括密码操作的结果。方法进一步包括将响应从分布式系统发送到用户。
该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,至少一个授权令牌当以下各项中的至少一项发生时有效:至少一个授权令牌由授权方密钥签名;HSM在由至少一个授权令牌限定的授权时间段内已经接收到至少一个授权令牌;或者HSM已经接收到至少一个授权令牌的次数小于由至少一个授权令牌限定的限制数目。当密码操作请求的密码密钥与ACL的对应的密码密钥匹配时,操作可以包括确定由密码操作请求所请求的密码操作是否由ACL允许。当由密码操作请求所请求的密码操作由ACL允许时,操作可以包括处理密码操作请求。
在一些示例中,方法包括:在分布式系统处从密码密钥的所有者接收挑战请求;并且将挑战请求发送到HSM,HSM被配置成将对应的授权令牌发出到密码密钥的所有者。对应的授权令牌可以包括识别HSM的数据和HSM的密码签名。对应的授权令牌进一步可以限定授权时间段或者限制对应的授权令牌的使用的数目的限制数目中的至少一个。密码操作请求的密码密钥可以被包裹。
本公开的又一方面提供包括数据处理硬件以及与数据处理硬件通信的存储器硬件的系统。存储器硬件存储当在数据处理硬件上被执行时使得数据处理硬件执行操作的指令。操作包括从用户接收密码操作请求,密码操作请求包括密码密钥和至少一个授权令牌并且将操作请求发送到被配置成执行操作的HSM。操作包括:确定与密码操作请求的密码密钥相关联的访问控制列表(ACL)是否被授权以管控对密码密钥的访问;以及验证至少一个授权令牌。当至少一个授权令牌有效并且ACL被授权以管控对密码操作请求的密码密钥的访问时,操作包括处理密码操作请求。操作进一步包括从HSM接收响应,并且当HSM处理密码操作请求时,响应包括密码操作的结果并且将响应从分布式系统发送到用户。
该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,当至少一个授权令牌由授权方密钥签名时,至少一个授权令牌是有效的。当HSM在由至少一个授权令牌限定的授权时间段内已经接收到至少一个授权令牌时,至少一个授权令牌可以是有效的。当HSM已经接收到至少一个授权令牌的次数小于由至少一个授权令牌限定的限制数目时,至少一个授权令牌进一步可以是有效的。
在一些示例中,当密码操作请求的密码密钥与ACL的对应的密码密钥匹配时,操作包括确定由密码操作请求所请求的密码操作是否由ACL允许。当由密码操作请求所请求的密码操作由ACL允许时,操作可以包括处理密码操作请求。操作进一步可以包括:从密码密钥的所有者接收挑战请求;并且将挑战请求发送到HSM。HSM可以被配置成将对应的授权令牌发出到密码密钥的所有者。对应的授权令牌可以包括识别HSM的数据和HSM的密码签名。对应的授权令牌可以限定授权时间段或者限制对应的授权令牌的使用的数目的限制数目中的至少一个。密码操作请求的密码密钥可以被包裹。
本公开的又一方面提供用于处理密码操作请求的第三方法。方法包括在分布式系统处从用户接收密码操作请求。密码操作请求包括密码密钥。方法进一步包括:通过分布式系统获得至少一个授权令牌;并且通过分布式系统将操作请求和至少一个授权令牌发送到被配置成执行操作的HSM。操作包括:确定与密码操作请求的密码密钥相关联的访问控制列表(ACL)是否被授权以管控对密码密钥的访问;以及验证至少一个授权令牌。当至少一个授权令牌有效并且ACL被授权以管控对密码操作请求的密码密钥的访问时,操作包括处理密码操作请求。方法进一步包括:在分布式系统处从HSM接收响应,并且当HSM处理密码操作请求时,响应包括密码操作的结果并且将响应从分布式系统发送到用户。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,至少一个授权令牌当以下各项中的至少一项发生时有效:至少一个授权令牌由授权方密钥签名;HSM在由至少一个授权令牌限定的授权时间段内已经接收到至少一个授权令牌;或者HSM已经接收到至少一个授权令牌的次数小于由至少一个授权令牌限定的限制数目。当密码操作请求的密码密钥与ACL的对应的密码密钥匹配时,操作可以包括确定由密码操作请求所请求的密码操作是否由ACL允许。当由密码操作请求所请求的密码操作由ACL允许时,操作进一步可以包括处理密码操作请求。
在一些示例中,方法包括:在分布式系统处从密码密钥的所有者接收挑战请求;并且将挑战请求发送到HSM,HSM被配置成将对应的授权令牌发出到密码密钥的所有者。对应的授权令牌可以包括识别HSM的数据和HSM的密码签名。对应的授权令牌进一步可以限定授权时间段或者限制对应的授权令牌的使用的数目的限制数目中的至少一个。密码操作请求的密码密钥可以被包裹。
本公开的又一方面提供包括数据处理硬件以及与数据处理硬件通信的存储器硬件的系统。存储器硬件存储当在数据处理硬件上被执行时使得数据处理硬件执行操作的指令。操作包括:从用户接收密码操作请求,密码操作请求包括密码密钥;获得至少一个授权令牌,并且将操作请求和至少一个授权令牌发送到被配置成执行操作的HSM。操作包括:确定与密码操作请求的密码密钥相关联的访问控制列表(ACL)是否被授权以管控对密码密钥的访问;以及验证至少一个授权令牌。当至少一个授权令牌有效并且ACL被授权以管控对密码操作请求的密码密钥的访问时,操作包括处理密码操作请求。操作进一步包括从HSM接收响应,并且当HSM处理密码操作请求时,响应包括密码操作的结果并且将响应发送到用户。
该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,当至少一个授权令牌由授权方密钥签名时,至少一个授权令牌是有效的。当在由至少一个授权令牌限定的授权时间段内密码操作请求由HSM接收时,至少一个授权令牌可以是有效的。当HSM已经接收到密码操作请求的次数小于由至少一个授权令牌限定的限制数目时,至少一个授权令牌也可以是有效的。
在一些示例中,当密码操作请求的密码密钥与ACL的对应的密码密钥匹配时,操作包括确定由密码操作请求所请求的密码操作是否由ACL允许。当由密码操作请求所请求的密码操作由ACL允许时,操作可以包括处理密码操作请求。操作进一步可以包括:从密码密钥的所有者接收挑战请求;并且将挑战请求发送到HSM,HSM被配置成将对应的授权令牌发出到密码密钥的所有者。对应的授权令牌可以包括识别HSM的数据和HSM的密码签名。对应的授权令牌可以限定授权时间段或者限制对应的授权令牌的使用的数目的限制数目中的至少一个。密码操作请求的密码密钥可以被包裹。
在附图和以下描述中阐述本公开的一个或多个实施方式的细节。其它方面、特征和优点将从描述和附图并且从权利要求而显而易见。
附图说明
图1是用于处理包括至少一个能力令牌的密码操作请求的示例密码系统的示意图。
图2是响应于从密码密钥的所有者接收到挑战请求而发出授权令牌的示例硬件安全模块的示意图。
图3示出了由用户设备和硬件安全模块执行以创建密码密钥的示例操作的示意图。
图4示出了由硬件安全模块执行以处理来自用户的密码操作请求的示例操作的示意图。
图5示出了由硬件安全模块执行以处理来自由密码密钥的所有者委托的委托授权方的密码操作请求的示例操作的示意图。
图6示出了由硬件安全模块执行以将条目记录在用于由硬件安全模块所处理的密码操作的审计日志中的示例操作的示意图。
图7是用于授权密码操作请求的示例授权系统的组件的示例实施方式的框图。
图8是用于处理密码操作请求的示例方法的流程图。
图9是执行图1的硬件安全模块管理器的示例计算设备的示意图。
各附图中的相同附图标记指示相同元件。
具体实施方式
硬件安全模块允许用户将密码秘密封装并且授权哪些用户被许可以在密码秘密上执行密码操作。当硬件安全模块被集成在云环境(例如,分布式系统)内并且用户将其密码密钥存储在云环境中时,云环境的提供方过度地具有代表用户的超过被存储的全部密码密钥的全部特权,并且因此破坏在控制并且限制对密码密钥的访问中使用硬件安全模块的目的。本文中的实施方式涉及要求用户请求被集成在云环境内的硬件安全模块处理密码操作以除由硬件安全模块生成并且由授权方密钥数字签名的至少一个授权令牌之外,提供被包裹(wrapped)的密码密钥。硬件安全模块可以验证硬件安全模块已生成并且已签名授权令牌。硬件安全模块进一步验证授权令牌以确定请求密码操作的用户是否被授权以访问与用于执行密码操作的访问控制列表相关联的对应的密码密钥。
参考图1和图2,在一些实施方式中,密码系统100包括与用户10相关联的用户设备110、110a-n,用户10可以经由网络130与远程系统140通信。远程系统140可以是具有可扩展/弹性资源142的分布式系统(例如,云环境)。资源142包括计算资源144和/或存储资源146。系统100进一步包括与分布式系统140的资源142通信的硬件安全模块(HSM)200。特别地,HSM 200是具有附接到资源(即,计算资源144)的电路以提供一个或多个密码功能的相关联的软件/固件的一个硬件。用于硬件安全模块的其它名字包括个人计算机安全模块(PCSM)、安全应用模块(SAM)、硬件密码设备或者密码模块。在一些实施方式中,分布式系统140执行HSM管理器150,所述HSM管理器150促进一个或多个用户设备110与HSM 200之间的通信。
在一些实施方式中,HSM 200包括安全密码处理器210(即,数据处理硬件210)以及与密码处理器210通信的安全密码存储器212(即,存储器硬件212)。密码处理器210可以提供(a)板载安全生成;(b)板载安全存储;(c)密码和敏感数据的使用;和/或(d)用于完整的非对称和对称密码的应用服务器的卸载。在一些示例中,HSM200处理使用在公用密钥密码学和/或对称密钥和其它任意数据中的非对称密钥对(和证书)。HSM 200经由密码处理器210可以生成包裹密码密钥120,并且与密码密钥120相关联的访问控制列表(ACL)214可以包含具有由HSM 200管理的密码和敏感数据的访问权的用户的列表。与密码密钥120相关联的ACL 214可以指定密码密钥120的授权用户10必须提供以便HSM 200在密码密钥120上执行操作的一个或多个授权令牌220。ACL 214还可以指定HSM 200被允许处理什么密码操作(例如,签名、加密和/或解密)。在一些示例中,与密码密钥120相关联的ACL 214被包括为密码密钥120的固有特性。在其它示例中,与密码密钥120相关联的ACL 214不是密码密钥120的固有特性并且可以由授权令牌220提供。例如,ACL 214可以被编码在授权令牌220中。在这些示例中,用户10将授权令牌220提供到HSM 200并且HSM200可以授权ACL 214管控对密码密钥120的访问。由授权令牌220所提供的ACL 214可以指定什么授权签名由HSM 200要求用于使用密码密钥120来处理请求250。HSM 200还可以包括内部时钟211。密码存储器212存储当由密码处理器210执行时使得密码处理器210执行密码操作的指令。由密码处理器210可执行的密码操作可以包括但不限于加密、解密、密码密钥生成、授权令牌生成、散列、签名和/或验证。密码存储器212可以附加地包括各自每次对应的授权令牌220被用于由HSM 200执行以执行密码操作时增量的一个或多个计数器213、213a-n。
用户10可以与包裹的密码密钥120的所有者相关联并且用户10并且用户10可以具有关于密码密钥120如何被使用并且被管理用于处理HSM 200上的对应的密码操作的完全控制。包裹的密码密钥120可以由HSM 200加密并且签名,并且可以包括由HSM 200所生成的密钥材料以及与用户10和任何委托授权方234(图5和图6)相关联的(一个或多个)授权方密钥118(图3)的公用部分。在一些示例中,用户10与由密码密钥120的所有者授权以访问密码密钥120的个体相对应。在一些实施方式中,密码密钥120的所有者创建/生成由HSM 200需要在处理来自用户10的对应的密码操作请求250之前验证的对应的密码密钥120内的授权方密钥118签名的授权令牌220。例如,当HSM 200在由授权令牌220限定的授权时间段内接收到请求250时和/或当HSM200已经接收到请求250的次数小于由至少一个授权令牌限定的限制数目时,HSM 200可以验证授权令牌220。如本文所使用的,授权令牌220可以限定限制用于授权密码操作请求250的授权令牌220的使用的“限制”集。授权令牌220由被包括在包裹的密码密钥120中的用户10的授权方密钥118签名。在一些示例中,密码密钥120和授权令牌220同时创建/生成并且被绑定在一起。授权令牌220还可以指定什么签名(例如,什么授权方密钥118)被要求用于处理密码操作请求250的密码密钥120的使用。
在一些实施方式中,HSM 200接收包括密码密钥120、至少一个授权令牌220以及与密码密钥120或至少一个授权令牌220相关联的ACL 214的密码操作请求250,并且然后确定ACL 214是否被授权以管控对密码密钥120的访问,并且验证至少一个授权令牌220。因此,与接收到的密码操作请求250的密码密钥120(或至少一个授权令牌220)相关联的ACL 214可以指定被要求用于在HSM 200将解密/解开(unwrap)密码密钥120并且处理对应的密码操作请求250之前由HSM200验证的一个或多个授权令牌220。当HSM 200授权管控对请求250的密码密钥120的访问的ACL 214并且验证至少一个授权令牌220时,HSM 200处理密码操作请求250并且将密码操作的结果260提供回到用户设备110。在一些示例中,HSM 200还确定由密码操作请求250所请求的密码操作是否由ACL 214允许。在这些示例中,当密码操作由ACL214允许时,HSM 200处理密码操作请求250并且将对应的结果260提供回到用户设备110。因此,当ACL 214不允许由密码操作请求250所请求的密码操作时,HSM 200将不解密/解开密码密钥120,并且因此将不处理密码操作请求250。密码操作可以包括加密操作、解密操作或者签名操作。
参考图2,在一些实施方式中,与密码密钥120的所有者10相关联的用户设备110通过将挑战请求270发送到HSM 200创建授权令牌220并且HSM 200将对应的授权令牌220发出到密码密钥120的所有者10。用户设备110可以执行用户接口112来将挑战请求270传送到HSM 200。在一些示例中,在分布式系统140上执行的HSM管理器150从用户设备110接收挑战请求270并且将挑战请求270发送到HSM200。在一些配置中,用户设备110可以在不通过网络100将授权密钥120暴露给HSM 200的情况下通过利用密码密钥120内的授权方密钥118简单地将授权令牌220签名来本地生成授权令牌220。在这些配置中,用户设备110可以包括用于存储密码密钥120并且本地生成授权令牌220的本地HSM。
所有者10可以在挑战请求270中指定以下各项中的至少一项:用于验证授权令牌220的授权时间段226、用于限制授权令牌220的使用的数目的限制数目228、与授权令牌220相关联的密码操作类型232或者由所有者10委托以使用授权令牌220的附加的委托授权方234。委托授权方234可以以这些授权方必须提供到密码操作请求250中的HSM 200的一个或多个附加的授权令牌的形式委托。委托授权方234可以使用其自己的授权方密钥118将每个授权令牌220签名。
响应于接收到挑战请求270,HSM 200将对应的授权令牌220发出到密码密钥120的所有者10。在所示的示例中,授权令牌220包括与识别发出授权令牌220的HSM 200和HSM200的密码签名224的数据相关联的HSM标识符222。授权令牌220还可以包括与授权令牌220相关联的能力限制。例如,授权令牌220可以限定用于当对应的授权令牌220有效时的授权时间段226或者限制对应的授权令牌220的使用的数目的限制数目228中的至少一个。授权令牌220还可以限定用于对应的授权令牌220的密码操作类型232和/或或者由密码密钥120的所有者10委托以在将请求250发送到HSM 200之前进一步验证令牌220的任何委托授权方234(即,委托用户/实体)。委托授权方234可以指代授权当局(诸如实体、个人或在分布式系统140上执行的一些云服务(例如,客户虚拟机))。在所示的示例中,授权令牌220还包括由所有者10的授权方密钥118做出的数字签名230。当授权令牌220限定委托授权方234时,委托授权方234被要求使用与委托授权方234相关联的对应的授权方密钥118将授权令牌220签名。
图3提供图示由用户设备110和HSM 200执行以创建密码密钥120的示例操作的示图300。用户设备110可以与和在分布式系统140上执行的服务的客户相对应的用户10相关联。可以参考图1和图2的密码系统100描述示图300。垂直y轴指示从上到下增加的时间。在时间1处,用户设备110生成用于使用在在HSM 200处执行密码操作的一对授权方密钥118(诸如非对称或对称密钥对)。当该对授权方密钥118包括非对称密钥时,非对称密钥118可以包括私有授权方密钥118a(例如,解密密钥或签名密钥)和公用授权方密钥118b(例如,加密密钥或验证密钥)。此处,私有授权方密钥118a由客户10所有并且对分布式系统140上的HSM 200保密并且公用授权方密钥118b包括私有授权方密钥118a的公用部分。在时间2处,用户设备110通过将公用授权方密钥118a发送到分布式系统140上的HSM 200发送创建密钥操作(CreateKey(AK))320。在用户设备110上执行的用户接口112可以允许用户设备110生成该对授权方密钥118并且发送CreateKey(AK)320。例如,用户接口112可以允许客户10访问客户端库或者命令行工具、手动地生成该对授权方密钥118并且使用调用应用编程接口(API)将公用授权方密钥118b发送到HSM 200、或简单地提供许可HSM管理器150或在分布式系统上执行的其它服务生成授权方密钥118的API。在时间2与时间3之间,CreateKey(AK)320对应于HSM供应方中立CreateKey(AK)320。
在时间3处,HSM管理器150可以将包括公用授权方密钥118的创建密钥操作320接收并且发送到HSM 200。CreateKey(AK)320可以对应于HSM 200供应方特定CreateKey(AK)320。在时间4处,响应于接收到CreateKey(AK)320,HSM 200记录公用授权方密钥118(即,私有授权方密钥118的公用部分),并且在时间5处,HSM 200生成并且包裹密码密钥120。此处,包裹的密码密钥120由HSM 200加密并且签名并且可以包括授权方密钥118和相关联的ACL214的公用部分。如本文所使用的,HSM 200利用包括授权方密钥118的对应的公用部分的属性的签名语句将包裹的密码密钥120签名。如将变得显而易见的,仅HSM 200能够当授权用户10呈现包裹的密码密钥120和由与包裹的密码密钥120相关联的ACL 214指定的至少一个授权令牌220时在包裹的密码密钥120上执行操作。在一些场景中,密码操作请求250的授权令牌220将ACL 214提供到HSM 200。在时间6处,HSM 200将包裹的密码密钥120发送到HSM管理器150,并且在时间7处,HSM管理器150将包裹的密码密钥120接收并且发送到用户设备110。在时间6与时间7之间,包裹的密码密钥120可以包括HSM供应方特定格式,然而当在时间7处HSM管理器150将密钥120发送到用户设备110时,包裹的密码密钥120可以包括供应方中立格式。
图4提供了图示由HSM 200执行以处理来自与密码密钥120的所有者相关联的用户设备110的密码操作请求250的示例操作的示图400。可以参考图1和图2的密码系统100描述示图400。垂直y轴指示从上到下增加的时间。在时间1处,用户设备110生成授权令牌220,其授权对用于使用在在HSM 200处执行对应的密码操作中的密码密钥120的访问。用户设备110可以通过发送挑战请求270以使HSM 200将对应的授权令牌220发出到密码密钥120的所有者10生成授权令牌220,如参考图2上文所描述的。在一些实施方式中,用户设备110在密码密钥120的创建时生成授权令牌220。
在时间2处,用户设备110将包括包裹的密码密钥120和授权令牌220的密码操作请求250发送到HSM 200。包裹的密码密钥120可以使用用户10的授权方密钥118由HSM 200生成,如参考图3上文所描述的。在一些示例中,由密码操作请求250所请求的密码操作包括加密操作。此处,密码操作请求250请求HSM 200使用包裹的密码密钥120和授权令牌220在纯文本上处理加密操作。因此,密码操作请求250可以包括用户10想要经由密码密钥120加密的纯文本。当密码操作包括解密操作时,密码操作请求250可以包括用户10想要经由密码密钥120解密的密文。另一方面,当密码操作包括签名操作时,密码操作请求250可以包括经由密码密钥120由用户10造成的数字签名。在用户设备110上执行的用户接口112可以允许用户设备110生成授权令牌220并且将包括密码密钥120和授权令牌220的密码操作请求250发送到HSM 200。例如,用户接口112可以允许用户10访问客户端库或命令行工具以生成授权令牌220、提供API以允许用户10手动地生成授权令牌220和/或使用调用API将密码操作请求250发送到HSM 200。在时间3处,HSM管理器150可以将包括密码密钥120和授权令牌220的密码操作请求250接收并且发送到HSM 200。
在时间4处,HSM 200认证并且授权从用户设备110接收到的密码操作请求250。此处,HSM 200可以确定与密码操作请求250的密码密钥120(例如,加密密钥)相关联的ACL214是否被授权以管控对包裹的密码密钥120的访问。通过授权将ACL 214与包裹的密码密钥120相关联,HSM 200防止未授权的ACL试图混淆HSM 200,并且从而获得对HSM 200的未授权的访问。与请求250的密码密钥120相关联的ACL 214可以由授权令牌220提供(例如,授权令牌220用作ACL214)。在一些示例中,HSM 200还确定由密码操作(例如,加密操作)请求250所请求的密码操作是否由ACL 214允许。HSM 200还验证密码操作请求250的授权令牌220。通常,HSM 200通过确保每个授权令牌220满足用于由密码操作请求250所请求的对应的密码操作的ACL214验证被包括在请求250中的至少一个授权令牌220。换句话说,用户10必须提供由用于对应的密码操作的ACL 214指定的适当的授权令牌220。例如,授权令牌220可以当授权令牌220由授权方密钥118签名时有效(即,授权令牌220包括由授权方密钥118签名的数字签名230(图2))。授权令牌220还可以当HSM 200在由授权令牌220限定的授权时间段226(图2)内接收到授权令牌220时有效。例如,HSM 200可以参考内部时钟211来确定当密码操作请求250的授权令牌220已被接收时的时间。附加地或者备选地,授权令牌220可以当HSM 200接收到授权令牌的次数小于由授权令牌220限定的限制数目228(图2)时有效。例如,HSM 200可以参考计数器213来确定授权令牌220已经由HSM 200接收多少次。当计数器213的值小于限制数目228时,HSM 200可以使计数器213增量。由于HSM 200可以执行许多不同的密码操作,因而HSM 200可以实现与能够在给定时间处由HSM 200执行的不同的密码操作中的每个密码操作相关联的对应的计数器213。
在时间5处,当授权令牌220有效并且将ACL 214与被包括在密码操作请求250中的包裹密码密钥120相关联被授权时,HSM 200处理密码操作请求250。密码操作请求250的授权令牌220可以包括ACL 214。由于HSM 200确定这两个条件被满足,因而HSM 200可以继续解开密码密钥120来执行由密码操作请求250所请求的操作。例如,当由密码操作请求250所请求的密码操作包括加密操作时,HSM 200使用密码密钥120在纯文本上执行加密操作。此处,请求250附加地包括用于加密的纯文本。在时间6处,HSM 200发送包括密码操作的结果260的响应。例如,加密操作的结果260可以包括在密码操作请求250中所提供的纯文本上由HSM 200计算的密文。在当密码操作对应于签名操作时的场景中,签名操作可以包括核实电子文档的原点和/或提供电子文档的状态的数字签名。在时间7处,HSM管理器150可以将包裹密钥120和签名语句接收并且发送到用户设备110。
在一些配置中,用户设备110可以生成授权令牌220并且请求HSM管理器150将授权令牌220存储在分布式系统140上(例如,在存储资源146内)。此处,授权令牌220可以是长寿命的。在一些示例中,分布式系统140包括存储授权令牌的存储库。用户设备110可以然后将包括仅密码操作(例如,加密操作)和密码密钥120的密码操作请求250发送到HSM管理器150,并且HSM管理器150可以检索用于包括在对HSM 220的密码操作请求250中的授权令牌220。
图5提供了图示由HSM 200执行以处理来自由密码密钥120的所有者10委托的委托授权方234的密码操作请求250的示例操作的示图500。可以参考图1和图2的密码系统100描述示图500。垂直y轴指示从上到下增加的时间。在时间1处,与所有者10相关联的用户设备110生成用于使用在在HSM 200处执行对应的密码操作中的第一授权令牌(T1)220a。在所示的示例中,第一授权令牌220a限定在密码操作请求250被发送到HSM 200之前由所有者10委托以验证第一授权令牌220a的一个或多个委托授权方234。
在时间2处,用户设备110将包括第一授权令牌220a的委托请求450发送到每个委托授权方234,其请求每个委托授权方234在将密码操作请求250发送到HSM 200之前验证并且签名第一授权令牌220a。在一些示例中,第一授权令牌220a是长寿命的并且被存储在分布式系统140上(例如,在存储资源146内)。委托请求450能够被发送到由第一授权令牌220a限定的多个委托授权方234。通过验证并且签名第一授权令牌220a,委托授权方234可以执行附加的验证方法并且将与委托授权方234(例如,云服务)相关联的内部授权结构转译为由HSM 200可理解的授权结构。因此,在时间3处,委托授权方234生成第二授权令牌(T2)220b,其包括由委托授权方234的授权密钥118签名的对应的数字签名。HSM管理器150可以与用于分布式系统140上的HSM 200群的公共接口。
在时间4处,委托授权方234将包括密码密钥120、第一授权令牌T1 220a和第二授权令牌T2 220b的密码操作请求250发送到HSM200。在所示的示例中,第一授权令牌220a和第二授权令牌220b彼此被绑定在密码操作请求250内。委托授权方234的密码密钥120被包裹以包括用于将这两个授权令牌220a、220b签名的委托授权方234的授权方密钥118的公用部分。在其它示例中,委托授权方234将第一授权令牌220a嵌入第二授权令牌220b中并且将嵌入的授权令牌220连同密码密钥120捆绑到密码操作请求250中。
在一些示例中,由密码操作请求250所请求的密码操作包括加密操作。此处,密码操作请求250请求HSM 200使用私有密码密钥120、第一授权令牌T1 220a和第二授权令牌T2220b在纯文本上处理加密操作。因此,密码操作请求250可以包括要求经由密码密钥120加密的纯文本。当密码操作包括解密操作时,密码操作请求250可以包括要求经由密码密钥120解密的密文。在其它示例中,密码操作可以包括要求经由密码密钥120的内容签名的签名操作。
在时间5处,HSM 200认证并且授权从委托授权方234接收到的密码操作请求250。在一些示例中,HSM 200还可以确定由密码操作请求250所请求的密码操作(例如,加密操作)是否由与密码密钥120相关联的ACL 214允许。授权令牌220中的至少一个可以提供ACL214,使得对HSM 200的访问策略能够细化而不必依赖于被存储在HSM 200中的主ACL。ACL 214可以指定哪些并且多少授权令牌220、220a-b被需要以便处理密码操作请求250。HSM 200还验证密码操作请求250的授权令牌220a、220b。例如,授权令牌220可以当这两个授权令牌220a、220b由用户10和委托授权方234的授权方密钥118签名时有效(即,授权令牌220a、220b包括由授权方密钥118签名的数字签名230(图2))。在一些示例中,第一授权令牌220a是长寿的并且第二授权令牌220b当HSM 200在由第二授权令牌220b限定的授权时间段226(图2)内接收到第二授权令牌220b时有效。例如,HSM 200可以参考内部时钟211来确定当密码操作请求250的第二授权令牌220b已被接收时的时间。附加地或者备选地,授权令牌220可以当HSM 200接收到授权令牌220a、220b的次数小于由授权令牌220a、220b限定的限制数目228(图2)时有效。例如,HSM 200可以参考计数器213来确定授权令牌220a、220b已经由HSM 200接收多少次。当计数器213的值小于限制数目228时,HSM 200可以使计数器213增量。授权令牌220a、220b之一或两者可以限定对应的限制数目228。当这两个授权令牌220a、220b限定限制数目228时,与令牌220a、220b中的一个相对应的限制数目228可以与和令牌220a、220b中的另一个相对应的限制数目228相同或者不同。
在时间6处,当授权令牌220a、220b有效并且密码操作请求250的密码密钥120被认证时,HSM 200处理密码操作请求250。例如,当由密码操作请求250所请求的密码操作包括加密操作时,HSM 200使用密码密钥120在纯文本上执行加密操作。此处,请求250附加地包括用于加密的纯文本。在时间7处,将包括密码操作的结果260的响应发送到委托授权方234。例如,加密操作的结果260可以包括在密码操作请求250中所提供的纯文本上由HSM200计算的密文。
图6提供了图示由HSM 200执行以将条目662记录在用于由HSM 200所处理的每个密码操作的审计日志660中的示例操作的示图600。可以参考图1和图2的密码系统100和图5的示图500描述示图600。垂直y轴指示从上到下增加的时间。在时间1处,与密码密钥120的所有者相关联的用户设备110生成授权令牌220,并且在时间2处,将包括授权令牌220的委托请求450发送到由授权令牌220限定的至少一个委托授权方234。在一些示例中,授权令牌220还限定限制对应的授权令牌220的使用的数目的限制数目228。例如,授权令牌220可以针对由HSM 200处理的仅两个密码操作有效。委托授权方234可以使用委托授权方234的私有密码密钥120将授权令牌220验证并且签名。委托授权方234还可以生成由委托授权方234数字签名的第二授权令牌220(即,使用与委托授权方234相关联的对应的授权方密钥118),并且在下文中,将由所有者/客户10所生成的第一授权令牌绑定到由委托授权方234所生成的第二授权令牌220,或者将两个授权令牌220嵌入在一起,如相对于图5的示图500上文所讨论的。
在时间3处,委托授权方234将包括授权令牌220的第一密码操作请求250、250a发送到HSM 200。为了清晰起见,未示出委托授权方234可以已经生成的密码密钥120和任何附加的授权令牌220。在时间4处,HSM 200在认证并且授权从委托授权方234接收到的第一密码操作请求250a之后处理第一密码操作请求250a。在所示的示例中,HSM 200确定请求250a的密码密钥120和相关联的ACL 214是可信的并且验证授权令牌220。授权令牌220可以当HSM 200接收到授权令牌的次数小于由授权令牌220限定的限制数目228(图2)时有效。例如,当限制数目228等于二(“2”),HSM 200可以参考计数器213来确定授权令牌220已经由HSM 200接收多少次。当计数器213的值小于限制数目228(例如,2)时,HSM 200可以使计数器213增量并且处理密码操作请求250。在所示的示例中,在处理第一密码操作请求250a之后,HSM使计数器213增量以具有等于一“1”的值。与密码密钥120相关联的ACL 214可以指定需要被验证以便处理密码操作请求250的授权令牌220。
在一些实施方式中,HSM 200创建用于由HSM 200所处理的每个密码操作请求250的审计日志660中的对应的审计日志条目662。HSM 200可以使用被包括在对应的包裹的密码密钥120内的委托授权方234的授权方密钥118将每个审计日志条目662签名。每个审计日志条目662还可以包括HSM 200验证以处理密码操作请求250的每个授权令牌220。在时间5处,HSM 200将响应发送回到委托授权方234,其包括由HSM 200所处理的第一密码操作请求250a的结果260。对于加密操作而言,结果260可以包括密文。此外,HSM 200将包括用于由HSM 200所处理的第一密码操作请求250a的第一审计日志条目662、662a的审计日志660提供到HSM管理器150。在一些示例中,HSM 200简单地将第一审计日志条目662a提供到HSM管理器150并且HSM管理器150将条目662a记录在被存储在分布式系统140的存储资源146内的审计日志660。
在时间6处,委托授权方234将包括授权令牌220的第二密码操作请求250、250b发送到HSM 200,并且在时间7处,HSM 200认证并且授权从委托授权方234接收到的第二密码操作请求250,如在时间4处上文所讨论的。此处,HSM 200通过参考计数器213并且确定计数器213的值(例如,1)小于由授权令牌220限定的限制数目228的值(例如,2)验证第二密码操作请求250b的授权令牌220。在下文中,HSM 200使计数器213增量到二(“2”)的值,使得由于授权密钥220将被认为是无效的,因而使用授权令牌220的任何后续密码操作请求250将被拒绝。
在时间8处,HSM 200将响应发送回到委托授权方234,其包括由HSM 200所处理的第二密码操作请求250b的结果260。对于加密操作而言,结果260可以包括密文。此外,HSM200将包括用于由HSM 200所处理的第二密码操作请求250b的第二审计日志条目662、662b的审计日志660提供到HSM管理器150。在一些示例中,HSM 200简单地将第二审计日志条目662b提供到HSM管理器150并且HSM管理器150将条目662b记录在被存储在分布式系统140的存储资源146内的审计日志660。
在时间9处,与所有者10相关联的客户端设备110接收包括第一审计日志条目662a和第二审计日志条目662b的审计日志660。在时间10处,所有者10可以验证审计日志660来解释全部授权密码操作。在一些示例中,当审计日志条目662的数目匹配由所有者10授权的密码操作的数目(即,限制数目228)时,所有者10可以验证审计日志660。例如,当日志条目662的数目超过由授权令牌220限定的限制数目228时,所有者10可能能够迅速地确定授权令牌220已经被误用。在任何时候,客户端设备110可以请求HSM管理器150发送审计日志660。
图7是用于授权包括从客户/授权方10发送到分布式系统140的HSM 200的至少一个授权令牌220的密码操作请求250的示例授权系统700的组件的示例实施方式的框图。与客户/授权方10相关联的客户设备710可以经由图1的网络130与分布式系统140通信。分布式系统140包括客户虚拟机(VM)720、一个或多个委托授权方234和HSM 200。每个委托授权方234可以是由客户/授权方10委托以做出与密码操作请求250相关联的授权决策的独立实体。
在所示的示例中,委托授权方234包括在分布式系统上执行的安全策略服务、密钥管理服务和应用服务。安全策略服务提供由用于管理对由客户/授权方10所有的资源的允许的客户/授权方10设定的安全策略。密钥管理服务可以允许客户/授权方10管理用于在分布式系统上执行的服务的密码操作。例如,密钥管理服务可以与安全策略服务集成以管理可以由客户/授权方10所有并且对分布式系统140保密的特定密码密钥120上的许可。应用服务可以与在分布式系统上执行的文档服务、电子邮件服务、日历服务或其它服务相对应。
客户/授权方10可以发送请求HSM 200处理对应的密码操作250(例如,加密操作)的密码操作请求250。在所示的示例中,分布式系统140的客户端VM 720接收密码操作请求250,其包括由客户/授权方10所有的密码密钥120和第一授权令牌220a。第一授权令牌220a可以限定能力限制(诸如用于当令牌220a有效时的授权时间段226和/或限制对应的令牌220a的使用的数目的限制数目228)。第一授权令牌220a还可以限定由授权方/客户10委托以在将请求250发送到HSM 200之前进一步验证令牌220的一个或多个委托授权方234。在所示的示例中,第一授权令牌220a可以将安全策略服务、密钥管理服务和应用服务中的每一个限定为委托授权方234。
在一些实施方式中,如果某些条件被满足,则委托授权方234中的一个或多个可以生成绑定到第一授权令牌220a的对应的授权令牌220b。例如,如果授权方/所有者10被授权以基于安全策略中阐述的允许访问密码密钥120,则安全策略服务可以生成对应的授权令牌220。如果客户/所有者10使用密码密钥120将与应用服务相关联的所有数据加密/解密,则应用服务可以生成对应的授权令牌220b。例如,应用服务可以使用与应用服务相关联的私有密钥将从客户/所有者10接收到的密码操作请求的授权令牌220a签名。在下文中,密钥管理服务可以发送能力请求250,其包括通过以与所有者/客户相关联的包裹的密码密钥120捆绑的授权方密钥118签名的第一授权令牌220a以及通过与应用服务相关联的授权方密钥签名的第二授权令牌220b。第二授权令牌220b可以限定与由第一授权令牌限定的授权时间段226不同的授权时间段226。当授权令牌220a、220b中的每一个有效并且HSM 200授权将ACL 214与密码操作请求250的密码密钥120相关联时,HSM 200可以处理密码操作请求250。HSM 200可以包括认证/授权模块730,其包括图1的内部时钟211、计数器213和ACL214。
通过允许客户/授权方10限定与授权令牌220中的分布式系统140相关联的委托授权方234,委托授权方234可以执行附加的验证方法并且将与委托授权方234相关联的内部授权结构转译为由HSM 200可理解的授权结构。因此,客户/授权方10不必调出用于在分布式系统140上执行的每个委托授权方234的对应的公用密钥。此外,客户/授权方不必具有利用HSM 200建立的账户或者向HSM 200建立直接控制信道。
图8图示了用于处理密码操作请求250的方法800。在块802处,方法800包括在硬件安全模块(HSM)200处接收密码操作请求250,其包括密码密钥120和至少一个授权令牌220。例如,HSM 200可以从与密码密钥120的所有者10相关联的用户设备110接收请求250。备选地,HSM 200可以从由密码密钥120的所有者10委托以使用至少一个授权令牌220的委托授权方234接收请求250。密码密钥120可以被包裹。在块804处,方法800包括通过HSM 200确定与密码操作请求250的密码密钥120相关联的访问控制列表(ACL)214是否被授权以管控对密码密钥120的访问。
在块806处,方法800包括通过HSM 200验证至少一个授权令牌220。例如,授权令牌220可以在以下中的至少一个发生时有效:当令牌220a由所有者10的授权方密钥118签名、HSM 200在由令牌220限定的授权时间段226内已接收到令牌220、或者HSM已接收到令牌220的次数小于由令牌220限定的限制数目228。
在块808处,当至少一个授权令牌220有效并且密码操作请求250的密码密钥120可信时,方法包括通过HSM 200处理密码操作请求250。在一些示例中,HSM 200仅当由密码操作请求250所请求的密码操作由ACL 214允许时处理请求250。在处理请求250之后,HSM 200可以将包括密码操作的结果260的响应发送回到与密码密钥120的所有者相关联的用户设备110。此处,当密码操作是加密操作时,结果260可以包括密文。
软件应用(即,软件资源)可以指代使得计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息应用、媒体流应用、社交网络应用以及游戏应用。
非暂时性存储器可以是被用于在暂时或者永久基础上存储程序(例如,指令序列)或者数据(例如,程序状态信息)用于由计算设备使用的物理设备。非暂时性存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪速存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦可编程只读存储器(EPROM)/电可擦可编程只读存储器(EEPROM)(例如,通常被用于固件(诸如启动程序))。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或者磁带。
图9是可以被用于实现本文档中所描述的系统和方法的示例计算设备900的示意图。计算设备900旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。此处示出的组件、其连接和关系以及其功能旨在仅是示例性的,并且不旨在限制本文档中描述和/或要求保护的本发明的实施方式。
计算设备900包括处理器910、存储器920、存储设备930和连接到存储器920和高速扩展端口950的高速接口/控制器940以及连接到低速总线970和存储设备930的低速接口/控制器960。组件910、920、930、940、950和960中的每一个使用各种总线互连,并且可以被安装在共同主板上或酌情以其它方式。处理器910(例如,数据处理硬件)能够处理用于在计算设备900内执行的指令,包括被存储在存储器920(例如,存储器硬件)中或者在存储设备930上以显示用于外部输入/输出设备(诸如耦合到高速接口940的显示器980)上的图形用户接口(GUI)的图形信息的指令。在其它实施方式中,可以酌情连同多个存储器和存储器的类型使用多个处理器和/或多个总线。而且,多个计算设备900可以与提供必要操作的部分的每个设备连接(例如,作为服务器群、刀片服务器组或多处理器系统)。
存储器920(例如,存储器硬件)将信息非暂时性地存储在计算设备900内。存储器920可以是计算机可读介质、(一个或多个)易失性存储器单元或者(一个或多个)非易失性存储器单元。非暂时性存储器920可以是被用于在暂时或者永久基础上存储程序(例如,指令序列)或者数据(例如,程序状态信息)用于由计算设备900使用的物理设备。非易失性存储器的示例包括但不限于闪速存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦可编程只读存储器(EPROM)/电可擦可编程只读存储器(EEPROM)(例如,通常被用于固件(诸如启动程序))。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或者磁带。
存储设备930能够为计算设备900提供海量存储。在一些实施方式中,存储设备930是计算机可读介质。在各种不同的实施方式中,存储设备930可以是诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其它类似固态存储设备或设备阵列,包括存储区域网络或其它配置中的设备。在附加的实施方式中,计算机程序产品有形地被实现在信息载体中。计算机程序产品包含当被执行时执行一个或多个方法(诸如上文所描述的那些方法)的指令。信息载体是计算机或机器可读介质(诸如存储器920、存储设备930或处理器910上的存储器)。
高速控制器940管理用于计算设备900的带宽密集的操作,而低速控制器960管理较低带宽密集的操作。这样的责任分配仅是示例性的。在一些实现中,高速接口940被耦合到存储器920、显示器980(例如,通过图形处理器或加速器)和高速扩展端口950,其可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器960被耦合到存储设备930和低速扩展端口990。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口990可以被耦合到一个或多个输入/输出设备(诸如键盘、指针设备或网络设备(诸如交换机或路由器))(例如,通过网络适配器)。
可以以许多不同的形式实现计算设备900,如在附图中所示。例如,其可以被实现为标准服务器900a或者这样的服务器900a组中的多个时间、膝上型计算机900b或者机架服务器系统900c的一部分。
能够以数字电子和/或光学电路、集成电路、特殊设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合实现本文所描述的系统和技术的各种实施方式。这些各种实施方式能够包括在包括至少一个可编程处理器的可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,所述处理器(其可以是专用或者通用)耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令和将数据和指令发射给存储系统、至少一个输入设备和至少一个输出设备。
这些计算机程序(还被称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言和/或汇编/机器语言实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”指代被用于将机器指令和/或数据提供到可编程处理器的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代被用于将机器指令和/或数据提供到可编程处理器的任何信号。
本说明书中所描述的过程和逻辑流能够通过一个或多个可编程处理器执行,其通过对输入数据进行操作并且生成输出执行一个或多个计算机程序以执行功能。过程和逻辑流还能够通过专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行。通过示例,适于计算机程序的执行的处理器包括通用微处理器和专用微处理器,以及任何种类的数字计算机中的任何一个或多个处理器。一般地,处理器将从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机将还包括或操作性地耦合以从用于存储数据的一个或多个海量存储设备(例如,磁性、磁光盘或者光盘)接收数据、传送数据到其或者两者。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括通过示例半导体存储器设备(例如,EPROM、EEPROM和闪速存储器设备);磁盘(例如,内部硬盘或者可移除磁盘);磁光盘;以及CD ROM和DVD-ROM光盘。处理器和存储器能够由专用逻辑电路补充或者并入专用逻辑电路中。
为了提供与用户的交互,本公开的一个或多个方面能够被实现在计算机上,所述计算机具有用于将信息显示给用户的显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)监视器或者触摸屏)以及可选地通过其用户能够向计算机提供输入的键盘和指针设备(例如,鼠标或轨迹球)。其它种类的设备也可以被用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以以任何形式接收,包括声音、语音或者触觉输入。另外,计算机能够通过将文档发送到由用户所使用的设备并且从其接收文档与用户交互;例如,通过响应于从web浏览器所接收到的请求,将网页发送到用户的客户端设备上的web浏览器。
已经描述许多实施方式。然而,将理解到,在不脱离本公开的精神和范围的情况下,可以做出各种修改。因此,其它实现方案在以下权利要求的范围内。

Claims (28)

1.一种方法,包括:
在硬件安全模块处从分布式系统接收密码操作请求,所述密码操作请求包括:
由所述硬件安全模块数字签名的密码密钥,所述密码密钥与访问控制列表和授权方密钥两者相关联,所述授权方密钥与所述密码密钥的所有者授权的用户相关联;和
至少一个授权令牌,所述至少一个授权令牌由所述授权方密钥签名;
由所述硬件安全模块确定与所述密码操作请求的所述密码密钥相关联的所述访问控制列表是否被授权以管控对所述密码密钥的访问;
由所述硬件安全模块在所述访问控制列表指定所述至少一个授权令牌时验证所述至少一个授权令牌;
当所述至少一个授权令牌有效并且所述访问控制列表被授权以管控对所述密码操作请求的所述密码密钥的访问时,由所述硬件安全模块处理所述密码操作请求;以及
在处理所述密码操作请求后,由所述硬件安全模块向所述分布式系统传送响应,所述响应包括所述密码操作请求的结果。
2.根据权利要求1所述的方法,其中,验证所述至少一个授权令牌进一步包括以下中的至少一项:
确定所述密码操作请求在由所述至少一个授权令牌限定的授权时间段内已经由所述硬件安全模块接收;或
确定所述硬件安全模块已经接收到所述密码操作请求的次数小于由所述至少一个授权令牌限定的限制数目。
3.根据权利要求1所述的方法,进一步包括:
当所述访问控制列表被授权以管控对所述密码操作请求的所述密码密钥的访问时,由所述硬件安全模块确定由所述密码操作请求所请求的密码操作是否由所述访问控制列表允许;以及
当由所述密码操作请求所请求的所述密码操作由所述访问控制列表允许时,处理所述密码操作请求。
4.根据权利要求1所述的方法,进一步包括:
在所述硬件安全模块处从所述密码密钥的所有者接收挑战请求;以及
将对应的授权令牌从所述硬件安全模块发出到所述密码密钥的所述所有者。
5.根据权利要求4所述的方法,其中,所述对应的授权令牌包括识别所述硬件安全模块和所述硬件安全模块的密码签名的数据。
6.根据权利要求4所述的方法,其中,所述对应的授权令牌限定授权时间段或者限制所述对应的授权令牌的使用的数目的限制数目中的至少一个。
7.根据权利要求1所述的方法,其中,所述密码操作请求的所述密码密钥被包裹。
8.一种硬件安全模块,包括:
数据处理硬件;以及
与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储当在所述数据处理硬件上被执行时使得所述数据处理硬件执行操作的指令,所述操作包括:
从分布式系统接收密码操作请求,所述密码操作请求包括:
由所述硬件安全模块数字签名的密码密钥,所述密码密钥与访问控制列表和授权方密钥两者相关联,所述授权方密钥与所述密码密钥的所有者授权的用户相关联;和
至少一个授权令牌,所述至少一个授权令牌由所述授权方密钥签名;
确定与所述密码操作请求的所述密码密钥相关联的所述访问控制列表是否被授权以管控对所述密码密钥的访问;
在所述访问控制列表指定所述至少一个授权令牌时验证所述至少一个授权令牌;
当所述至少一个授权令牌有效并且所述访问控制列表被授权以管控对所述密码操作请求的所述密码密钥的访问时,处理所述密码操作请求;以及
在处理所述密码操作请求后,向所述分布式系统传送响应,所述响应包括所述密码操作请求的结果。
9.根据权利要求8所述的硬件安全模块,其中,验证所述至少一个授权令牌进一步包括以下中的至少一项:
确定所述密码操作请求在由所述至少一个授权令牌限定的授权时间段内已经由所述硬件安全模块接收;或
确定所述硬件安全模块已经接收到所述密码操作请求的次数小于由所述至少一个授权令牌限定的限制数目。
10.根据权利要求8所述的硬件安全模块,其中,所述操作进一步包括:
当访问控制列表被授权以管控对所述密码操作请求的所述密码密钥的访问时,确定由所述密码操作请求所请求的密码操作是否由所述访问控制列表允许;以及
当由所述密码操作请求所请求的所述密码操作由所述访问控制列表允许时,处理所述密码操作请求。
11.根据权利要求8所述的硬件安全模块,其中,所述操作进一步包括:
从所述密码密钥的所有者接收挑战请求;以及
将对应的授权令牌发出到所述密码密钥的所述所有者。
12.根据权利要求11所述的硬件安全模块,其中,所述对应的授权令牌包括识别所述硬件安全模块和所述硬件安全模块的密码签名的数据。
13.根据权利要求11所述的硬件安全模块,其中,所述对应的授权令牌限定授权时间段以及限制所述对应的授权令牌的使用的数目的限制数目中的至少一个。
14.根据权利要求8所述的硬件安全模块,其中,所述密码操作请求的所述密码密钥被包裹。
15.一种方法,包括:
在分布式系统处从用户接收密码操作请求,所述密码操作请求包括:
由硬件安全模块数字签名的密码密钥,所述密码密钥与访问控制列表和授权方密钥两者相关联,所述授权方密钥与所述密码密钥的所有者授权的用户相关联;和
至少一个授权令牌,所述至少一个授权令牌由所述授权方密钥签名;
由所述分布式系统将所述密码操作请求发送到所述硬件安全模块,所述硬件安全模块被配置成执行操作,所述操作包括:
确定与所述密码操作请求的所述密码密钥相关联的所述访问控制列表是否被授权以管控对所述密码密钥的访问;
在所述访问控制列表指定所述至少一个授权令牌时验证所述至少一个授权令牌;以及
当所述至少一个授权令牌有效并且所述访问控制列表被授权以管控对所述密码操作请求的所述密码密钥的访问时,处理所述密码操作请求;
在所述分布式系统处从所述硬件安全模块接收响应,并且当所述硬件安全模块处理所述密码操作请求时,所述响应包括所述密码操作的结果;以及
将所述响应从所述分布式系统发送到所述用户。
16.根据权利要求15所述的方法,其中,验证所述至少一个授权令牌进一步包括以下中的至少一项:
确定所述密码操作请求在由所述至少一个授权令牌限定的授权时间段内已经由所述HSM接收;以及
确定所述硬件安全模块已经接收到所述密码操作请求的次数小于由所述至少一个授权令牌限定的限制数目。
17.根据权利要求15所述的方法,其中,所述硬件安全模块的所述操作进一步包括:
当所述访问控制列表被授权以管控对所述密码操作请求的所述密码密钥的访问时,确定由所述密码操作请求所请求的密码操作是否由所述访问控制列表允许;以及
当由所述密码操作请求所请求的所述密码操作由所述访问控制列表允许时,处理所述密码操作请求。
18.根据权利要求15所述的方法,进一步包括:
在所述分布式系统处从所述密码密钥的所有者接收挑战请求;以及
将所述挑战请求发送到所述硬件安全模块,所述硬件安全模块被配置成将对应的授权令牌发出到所述密码密钥的所述所有者。
19.根据权利要求18所述的方法,其中,所述对应的授权令牌包括识别所述硬件安全模块和所述硬件安全模块的密码签名的数据。
20.根据权利要求18所述的方法,其中,所述对应的授权令牌限定授权时间段以及限制所述对应的授权令牌的使用的数目的限制数目中的至少一个。
21.根据权利要求15所述的方法,其中,所述密码操作请求的所述密码密钥被包裹。
22.一种方法,包括:
在分布式系统处从用户接收密码操作请求,所述密码操作请求包括由硬件安全模块数字签名的密码密钥,所述密码密钥与访问控制列表和授权方密钥两者相关联;
由所述分布式系统从与所述密码密钥相关联的授权方获得至少一个授权令牌,所述授权令牌由所述授权方密钥签名,所述授权方密钥与所述密码密钥的所有者授权的用户相关联;
由所述分布式系统将所述操作请求和所述至少一个授权令牌发送到所述硬件安全模块,所述硬件安全模块被配置成执行操作,所述操作包括:
确定与所述密码操作请求的所述密码密钥相关联的所述访问控制列表是否被授权以管控对所述密码密钥的访问;
在所述访问控制列表指定所述至少一个授权令牌时验证所述至少一个授权令牌;以及
当所述至少一个授权令牌有效并且所述访问控制列表被授权以管控对所述密码操作请求的所述密码密钥的访问时,处理所述密码操作请求;
在所述分布式系统处从所述硬件安全模块接收响应,并且当所述硬件安全模块处理所述密码操作请求时,所述响应包括所述密码操作的结果;以及
将所述响应从所述分布式系统发送到所述用户。
23.根据权利要求22所述的方法,其中,验证所述至少一个授权令牌进一步包括以下中的至少一项:
确定所述密码操作请求在由所述至少一个授权令牌限定的授权时间段内已经由所述硬件安全模块接收;或
确定所述硬件安全模块已经接收到所述密码操作请求的次数小于由所述至少一个授权令牌限定的限制数目。
24.根据权利要求22所述的方法,其中,所述硬件安全模块的所述操作进一步包括:
当所述密码操作请求的所述密码密钥匹配所述访问控制列表对应的密码密钥时,确定由所述密码操作请求所请求的密码操作是否由所述访问控制列表允许;以及
当由所述密码操作请求所请求的所述密码操作由所述访问控制列表允许时,处理所述密码操作请求。
25.根据权利要求22所述的方法,进一步包括:
在所述分布式系统处从所述密码密钥的所有者接收挑战请求;以及
将所述挑战请求发送到所述硬件安全模块,所述硬件安全模块被配置成将对应的授权令牌发出到所述密码密钥的所述所有者。
26.根据权利要求25所述的方法,其中,所述对应的授权令牌包括识别所述硬件安全模块和所述硬件安全模块的密码签名的数据。
27.根据权利要求25所述的方法,其中,所述对应的授权令牌限定授权时间段以及限制所述对应的授权令牌的使用的数目的限制数目中的至少一个。
28.根据权利要求22所述的方法,其中,所述密码操作请求的所述密码密钥被包裹。
CN201810289177.6A 2017-06-20 2018-03-30 令牌化硬件安全模块 Active CN109104281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110924950.3A CN113824562B (zh) 2017-06-20 2018-03-30 令牌化硬件安全模块

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762522460P 2017-06-20 2017-06-20
US62/522,460 2017-06-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110924950.3A Division CN113824562B (zh) 2017-06-20 2018-03-30 令牌化硬件安全模块

Publications (2)

Publication Number Publication Date
CN109104281A CN109104281A (zh) 2018-12-28
CN109104281B true CN109104281B (zh) 2021-08-20

Family

ID=61163781

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810289177.6A Active CN109104281B (zh) 2017-06-20 2018-03-30 令牌化硬件安全模块
CN202110924950.3A Active CN113824562B (zh) 2017-06-20 2018-03-30 令牌化硬件安全模块

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110924950.3A Active CN113824562B (zh) 2017-06-20 2018-03-30 令牌化硬件安全模块

Country Status (7)

Country Link
US (3) US11032080B2 (zh)
CN (2) CN109104281B (zh)
DE (1) DE102018104679A1 (zh)
GB (1) GB2567914B (zh)
IE (1) IE87236B1 (zh)
SG (1) SG10201802387XA (zh)
WO (1) WO2018236420A1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095446B2 (en) * 2018-02-27 2021-08-17 Anchor Labs, Inc. Cryptoasset custodial system with different rules governing access to logically separated cryptoassets and proof-of-stake blockchain support
US10909250B2 (en) * 2018-05-02 2021-02-02 Amazon Technologies, Inc. Key management and hardware security integration
US10771252B1 (en) * 2018-06-12 2020-09-08 Equinix, Inc. Data center security services
US11095458B2 (en) * 2018-09-06 2021-08-17 Securosys SA Hardware security module that enforces signature requirements
WO2020142633A1 (en) * 2019-01-03 2020-07-09 Tokenvault, Inc. Apparatus and methods for remote controlled cold storage of digital assets using near field communication tags
US11468435B1 (en) * 2019-01-03 2022-10-11 Blockchain Innovation, Llc Apparatus and methods of air-gapped crypto storage using diodes
US11082235B2 (en) 2019-02-14 2021-08-03 Anchor Labs, Inc. Cryptoasset custodial system with different cryptographic keys controlling access to separate groups of private keys
WO2019120323A2 (en) 2019-03-29 2019-06-27 Alibaba Group Holding Limited Securely performing cryptographic operations
AU2019204724C1 (en) * 2019-03-29 2021-12-09 Advanced New Technologies Co., Ltd. Cryptography chip with identity verification
SG11201908931TA (en) 2019-03-29 2019-10-30 Alibaba Group Holding Ltd Cryptographic key management based on identity information
SG11201908930YA (en) 2019-03-29 2019-10-30 Alibaba Group Holding Ltd Managing cryptographic keys based on identity information
US11329829B2 (en) * 2019-06-01 2022-05-10 Guardtime Sa Security for sequentially growing data structures
US11494763B2 (en) * 2019-08-19 2022-11-08 Anchor Labs, Inc. Cryptoasset custodial system with custom logic
US11301845B2 (en) * 2019-08-19 2022-04-12 Anchor Labs, Inc. Cryptoasset custodial system with proof-of-stake blockchain support
US11562349B2 (en) 2019-08-20 2023-01-24 Anchor Labs, Inc. Risk mitigation for a cryptoasset custodial system using data points from multiple mobile devices
US11100497B2 (en) 2019-08-20 2021-08-24 Anchor Labs, Inc. Risk mitigation for a cryptoasset custodial system using a hardware security key
US11501291B2 (en) 2019-08-23 2022-11-15 Anchor Labs, Inc. Cryptoasset custodial system using encrypted and distributed client keys
US11343247B1 (en) 2019-08-30 2022-05-24 Equinix, Inc. Local delegation of remote key management service
CN114503105A (zh) * 2019-09-25 2022-05-13 联邦科学和工业研究组织 用于浏览器应用的密码服务
US11237921B2 (en) * 2019-11-22 2022-02-01 EMC IP Holding Company LLC Protecting storage backup configuration
US11263310B2 (en) * 2019-11-26 2022-03-01 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that verifies remote device capabilities
US11520878B2 (en) * 2019-11-26 2022-12-06 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that restricts execution based on device capabilities
CN111224784B (zh) * 2019-11-27 2023-01-31 北京工业大学 一种基于硬件可信根的角色分离的分布式认证授权方法
JP6854872B1 (ja) * 2019-11-28 2021-04-07 鈴木 徹也 マスター鍵の作成方法及びマスター鍵の作成システム
US11483136B2 (en) * 2019-12-10 2022-10-25 Google Llc Wrapped keys with access control predicates
US11502992B1 (en) * 2020-01-27 2022-11-15 Styra, Inc. Local controller and local agent for local API authorization
US11876803B1 (en) * 2020-08-03 2024-01-16 PubNub, Inc. Methods and systems for authorizing a client device to a service
EP3952202B1 (en) * 2020-08-07 2023-12-13 nCipher Security Limited A device and a method for performing a cryptographic algorithm
US11368314B2 (en) 2020-11-13 2022-06-21 Microsoft Technology Licensing, Llc Secure digital signing
US11223489B1 (en) 2021-02-23 2022-01-11 Garantir LLC Advanced security control implementation of proxied cryptographic keys
WO2022208238A1 (en) * 2021-03-31 2022-10-06 Jio Platforms Limited System and method for secure and contactless fund transfer in open and closed loop transactions
US11218317B1 (en) 2021-05-28 2022-01-04 Garantir LLC Secure enclave implementation of proxied cryptographic keys
US11418329B1 (en) 2021-05-28 2022-08-16 Garantir LLC Shared secret implementation of proxied cryptographic keys
US11502827B1 (en) 2021-09-03 2022-11-15 Garantir LLC Exporting remote cryptographic keys
US20230081068A1 (en) * 2021-09-10 2023-03-16 International Business Machines Corporation Securely distributing a root key for a hardware security module
EP4224341A1 (en) * 2022-02-07 2023-08-09 nCipher Security Limited A device and a method for performing a cryptographic algorithm
EP4254855A1 (en) * 2022-03-31 2023-10-04 nCipher Security Limited A device and a method for controlling use of a cryptographic key
WO2023199619A1 (ja) * 2022-04-13 2023-10-19 株式会社キーテクノロジーズ リモート署名システム及び耐タンパ装置
JP7230287B1 (ja) 2022-04-13 2023-03-01 株式会社 キーテクノロジーズ リモート署名システム及びリモート署名方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801091A (zh) * 2005-01-07 2006-07-12 微软公司 用可信处理模块安全地引导计算机的系统和方法
WO2013175444A1 (en) * 2012-05-25 2013-11-28 Fundamo (Pty) Ltd Controlling and authorizing access to a resource
CN106656937A (zh) * 2015-11-03 2017-05-10 电信科学技术研究院 一种访问控制方法和访问令牌颁发方法、设备

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030021417A1 (en) * 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7640582B2 (en) * 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
GB2384404B (en) * 2002-01-18 2005-02-16 Sun Microsystems Inc Key management
US8146141B1 (en) * 2003-12-16 2012-03-27 Citibank Development Center, Inc. Method and system for secure authentication of a user by a host system
US8689287B2 (en) * 2006-08-17 2014-04-01 Northrop Grumman Systems Corporation Federated credentialing system and method
US8761401B2 (en) 2006-08-28 2014-06-24 Motorola Mobility Llc System and method for secure key distribution to manufactured products
US8655914B2 (en) * 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
US8392702B2 (en) * 2007-07-27 2013-03-05 General Instrument Corporation Token-based management system for PKI personalization process
US8892868B1 (en) * 2008-09-30 2014-11-18 Amazon Technologies, Inc. Hardening tokenization security and key rotation
US8266684B2 (en) * 2008-09-30 2012-09-11 General Instrument Corporation Tokenized resource access
CN102648471B (zh) * 2008-11-24 2015-05-27 塞尔蒂卡姆公司 用于基于硬件的安全的系统和方法
GB2471282B (en) * 2009-06-22 2015-02-18 Barclays Bank Plc Method and system for provision of cryptographic services
US9032473B2 (en) * 2010-03-02 2015-05-12 Interdigital Patent Holdings, Inc. Migration of credentials and/or domains between trusted hardware subscription modules
US8667269B2 (en) * 2010-04-02 2014-03-04 Suridx, Inc. Efficient, secure, cloud-based identity services
US9026805B2 (en) * 2010-12-30 2015-05-05 Microsoft Technology Licensing, Llc Key management using trusted platform modules
US9426154B2 (en) * 2013-03-14 2016-08-23 Amazon Technologies, Inc. Providing devices as a service
US9407440B2 (en) * 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9311500B2 (en) * 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US20150134953A1 (en) * 2013-11-08 2015-05-14 Motorola Solutions, Inc Method and apparatus for offering cloud-based hsm services
US9420007B1 (en) * 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US9519696B1 (en) * 2014-01-07 2016-12-13 Amazon Technologies, Inc. Data transformation policies
CA2936985A1 (en) * 2014-02-04 2015-08-13 Visa International Service Association Token verification using limited use certificates
US9942043B2 (en) * 2014-04-23 2018-04-10 Visa International Service Association Token security on a communication device
US9571279B2 (en) * 2014-06-05 2017-02-14 Cavium, Inc. Systems and methods for secured backup of hardware security modules for cloud-based web services
US9866392B1 (en) * 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
US9405928B2 (en) * 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
EP3770781B1 (en) * 2014-09-30 2022-06-08 Citrix Systems, Inc. Fast smart card logon and federated full domain logon
US10560441B2 (en) * 2014-12-17 2020-02-11 Amazon Technologies, Inc. Data security operations with expectations
US10469477B2 (en) * 2015-03-31 2019-11-05 Amazon Technologies, Inc. Key export techniques
JP2019508763A (ja) * 2016-01-29 2019-03-28 グーグル エルエルシー ローカルデバイス認証
GB2547025A (en) * 2016-02-05 2017-08-09 Thales Holdings Uk Plc A method of data transfer, a method of controlling use of data and a cryptographic device
US10693638B1 (en) * 2016-12-01 2020-06-23 Amazon Technologies, Inc. Protected cryptographic environment
US10609006B2 (en) * 2017-01-13 2020-03-31 Fortanix, Inc. Self-encrypting key management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801091A (zh) * 2005-01-07 2006-07-12 微软公司 用可信处理模块安全地引导计算机的系统和方法
WO2013175444A1 (en) * 2012-05-25 2013-11-28 Fundamo (Pty) Ltd Controlling and authorizing access to a resource
CN106656937A (zh) * 2015-11-03 2017-05-10 电信科学技术研究院 一种访问控制方法和访问令牌颁发方法、设备

Also Published As

Publication number Publication date
SG10201802387XA (en) 2019-01-30
CN109104281A (zh) 2018-12-28
GB2567914A (en) 2019-05-01
US20230385428A1 (en) 2023-11-30
US20210297260A1 (en) 2021-09-23
US11032080B2 (en) 2021-06-08
CN113824562B (zh) 2024-03-12
GB201809701D0 (en) 2018-08-01
US20180367311A1 (en) 2018-12-20
DE102018104679A1 (de) 2018-12-20
GB2567914B (en) 2020-03-11
IE20180051A1 (en) 2020-09-16
IE87236B1 (en) 2021-06-23
WO2018236420A1 (en) 2018-12-27
CN113824562A (zh) 2021-12-21
US11741240B2 (en) 2023-08-29

Similar Documents

Publication Publication Date Title
CN109104281B (zh) 令牌化硬件安全模块
IE20180051A2 (en) Tokenized hardware security modules
US11475137B2 (en) Distributed data storage by means of authorisation token
US20220263809A1 (en) Method and system for digital rights management of documents
US11855767B2 (en) Methods and systems for distributing encrypted cryptographic data
US20140164774A1 (en) Encryption-Based Data Access Management
EP3555786B1 (en) Secure provisioning of unique time-limited certificates to virtual application instances in dynamic and elastic systems
CN111954879B (zh) 互不信任的飞地
WO2012120313A1 (en) A cryptographic system and method
US11438161B2 (en) Implicit attestation for network access
US20230021749A1 (en) Wrapped Keys with Access Control Predicates
US20230231850A1 (en) Integration of Third-Party Encryption Key Managers with Cloud Services
US11683159B2 (en) Hybrid content protection architecture
US20220069981A1 (en) Distribute Encryption Keys Securely and Efficiently

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
GR01 Patent grant
GR01 Patent grant