CN115398856A - 密钥属性验证 - Google Patents
密钥属性验证 Download PDFInfo
- Publication number
- CN115398856A CN115398856A CN202180027061.5A CN202180027061A CN115398856A CN 115398856 A CN115398856 A CN 115398856A CN 202180027061 A CN202180027061 A CN 202180027061A CN 115398856 A CN115398856 A CN 115398856A
- Authority
- CN
- China
- Prior art keywords
- attributes
- cryptographic
- key
- sequence
- attribute
- 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.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims description 35
- 150000003839 salts Chemical class 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 claims 2
- 238000007726 management method Methods 0.000 description 145
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000008901 benefit Effects 0.000 description 16
- 230000002085 persistent effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000004744 fabric Substances 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/083—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3242—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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Holo Graphy (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
对加密协处理器发送标识加密密钥的密钥标识符。从加密协处理器接收第一组属性。将第一组属性和第二组属性序列化为第一属性序列。第一属性序列被存储到属性框。第二组属性中的一个或多个属性与加密密钥相关联并且源自密钥管理系统的密钥属性存储。第二组属性不同于第一组属性。对加密协处理器发送第一属性序列。从加密协处理器接收从第一属性序列计算的第一消息认证码(MAC)。通过将第一MAC或从第一MAC导出的值与参考值进行比较来验证属性框。
Description
技术领域
本发明一般涉及加密密钥,并且更具体地涉及利用能够存储加密密钥和与加密密钥相关联的属性的加密协处理器的密钥管理系统。
背景技术
以服务器为中心的加密服务依赖于加密协处理器来将密钥存储在硬件保护的安全存储设备中。加密协处理器通常能够执行各种加密功能,诸如密码加密和签名数据。加密协处理器提供高的安全性,但具有各种限制,例如,数据存储的有限容量以及专门的但受限的功能范围。
密钥管理系统提供加密密钥的存储和管理。例如,密钥管理系统允许生成、交换、存储、使用、销毁和替换加密密钥。密钥管理系统可以存储多个加密密钥。与每个加密密钥一起,密钥管理系统还可以存储与加密密钥有关的各种属性。例如,这些属性可指定密钥何时被创建、密钥可使用哪些加密操作和密钥何时到期。
发明内容
本发明的实施例包括一种用于提供密钥管理系统和与加密密钥相关联的属性的方法。在一个实施例中,对加密协处理器发送标识加密密钥的密钥标识符。从加密协处理器接收第一组属性。第一组属性中的一个或多个属性与加密密钥相关联并且源自加密协处理器中的密钥属性存储。第一组属性和第二组属性被序列化为第一属性序列。将第一属性序列存储到属性框。第二组属性中的一个或多个属性与加密密钥相关联并且源自密钥管理系统的密钥属性存储。第二组属性不同于第一组属性。对加密协处理器发送第一属性序列。从加密协处理器接收从第一属性序列计算的第一消息认证码(MAC)。通过将第一MAC或从第一MAC导出的值与参考值进行比较来验证属性框。
附图说明
下文中,参照附图仅通过示例的方式更详细地解释实施例,在附图中:
图1示出了根据本发明实施例的密钥管理系统和加密协处理器的框图;
图2是详述根据本发明的实施例的密钥管理系统的操作的流程图;
图3是详述根据本发明的实施例的密钥管理系统的操作的流程图,其中密钥管理系统示例性地使用公共白名单服务进行验证;
图4是详述根据本发明的实施例的密钥管理系统的操作的流程图,其中密钥管理系统使用加密协处理器进行验证;
图5是详述根据本发明的实施例的加密协处理器的操作的流程图;
图6是详述根据本发明的实施例的加密协处理器在验证期间的操作的流程图;以及
图7示出了根据本发明的实施例的图1的计算环境的组件的框图。
具体实施方式
本发明的各种实施例的描述是为了说明的目的而给出的,而并非旨在是详尽的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,对本领域普通技术人员而言许多修改和变化将是显而易见的。选择这里使用的术语来最好地解释实施例的原理,对在市场中找到的技术的实际应用或技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
密钥管理系统能够存储加密密钥和与加密密钥相关联的属性。可能需要改变或扩展与加密密钥相关联的一组属性。还可以结合不同组的属性来使用一个加密密钥。作为示例,可针对同一非对称密钥合法地发布多个公钥证书,该多个公钥证书具有不相交的证书链和完全不相关的属性。作为另一示例,与加密密钥相关联的一组属性可以经历随时间推移的属性生命周期演进。例如,证书的转换和撤销可以扩展与加密密钥相关联的元数据。因此,可能需要确保与加密密钥相关联的一组属性跨多个设备是一致的。否则,可能以不可预见或不希望的方式使用加密密钥,这可能构成安全问题。
加密协处理器可以安全地存储与加密密钥相关联的少量属性。由加密处理器保护这些属性的完整性。虽然密钥管理系统可以存储许多属性,但是加密协处理器不能够存储大的属性集。为了确保与加密密钥相关联的所有属性的完整性,密钥管理系统因此不能将所有属性存储在加密协处理器内。此外,加密协处理器通常缺乏解释宽范围属性的上下文,并且因此不能实际使用许多属性。
根据本发明的密钥管理系统将标识加密密钥的密钥标识符发送到加密协处理器。根据实施例,密钥标识符用于标识密钥和与加密密钥相关联的一组特定属性。响应于将密钥标识符发送到加密协处理器,密钥管理系统从加密协处理器接收第一组属性,第一组属性中的属性与加密密钥相关联。根据实施例,来自第一组属性的属性是加密协处理器已知的和/或加密协处理器内部存储的属性。
在实施例中,密钥管理系统将第一组属性和第二组属性序列化为属性序列,并将属性序列存储在属性框内。根据实施例,属性框保留多个属性以供稍后参考,并且允许在稍后的时间点验证属性组。第二组属性是由密钥管理系统的密钥属性存储存储的一组属性。根据实施例,密钥属性存储可以是密钥管理系统的数据库或系统存储器。根据实施例,第一组属性包括比第二组属性更少的属性。根据另一实施例,第一组属性是第二组属性的子集。这可能是由于事实上加密协处理器不能存储与密钥管理系统一样多的属性。根据实施例,可以在属性框内以合适的格式存储来自属性序列的属性。根据实施例,属性序列可包括数据字段,诸如布尔值、位掩码、整数、数组和可变长度容器。
通过将第一组属性和第二组属性序列化来获得属性序列。属性的序列化可要求将来自第一组属性和来自第二组属性的属性带入特定顺序。根据实施例,当构造属性序列时,包括在第一组属性和第二组属性两者内的属性仅被插入到属性序列中一次。属性序列包括来自密钥管理系统和来自加密协处理器的与密钥标识符相关联的属性。
密钥管理系统将属性序列发送到加密协处理器。响应于向加密协处理器发送属性序列,密钥管理系统接收从属性序列计算的第一消息认证码(MAC)。已由加密协处理器计算第一MAC。MAC允许验证数据的完整性。为了验证属性序列的完整性,密钥管理系统将第一MAC或从第一MAC导出的值与参考值进行比较。如果第一MAC或从第一MAC导出的值等于参考值,则成功验证属性序列的完整性。
根据本发明的实施例,在外部数据库内存储参考值,并且密钥管理系统被配置为从外部数据库访问参考值。根据实施例,外部数据库位于可以经由互联网连接访问的公共白名单服务内。根据另一实施例,参考值可存储在密钥管理系统本身内。根据另一个实施例,密钥管理系统可以使参考值由加密协处理器计算。
密钥管理系统可以具有以下优点:密钥管理系统可以利用加密协处理器以便验证不能安全地存储在加密协处理器中的大的属性组的完整性。在实施例中,确定是否使用一组属性的正确版本。获得第一MAC,其唯一地标识在密钥管理系统和加密协处理器内包括的属性。构造包括与加密密钥相关的数据的属性框,该属性框可用于稍后参考。因此可以确立,与加密密钥结合使用的属性跨多个实体是一致的。根据实施例,密钥管理系统可以存储属性框以供稍后参考。
根据实施例,密钥管理系统进一步被配置为在连续调用中将来自属性序列的属性发送到加密协处理器,以便使加密协处理器迭代地计算第一MAC。这允许加密协处理器由有限大小的单独调用来访问,该有限的大小符合协处理器限制。连续地发送来自属性序列的属性,使得它们可被加密协处理器处理。加密协处理器在接收属性时逐步计算第一MAC。接收到所有属性后,计算完成,加密协处理器将第一MAC发送给密钥管理系统,并且密钥管理系统接收第一MAC。
根据实施例,密钥管理系统还被配置为在属性框中构造占位符MAC字段,并且将从加密协处理器接收的第一MAC存储在占位符中。以这种方式存储MAC具有以下优点:属性框可用于在稍后的时间点进行参考,使得可以通过第一MAC来验证来自属性序列的属性的完整性。根据另一实施例,密钥管理系统还在属性框内存储属性密钥。存储属性密钥具有以下优点:可以快速确定存储在属性框内的第一MAC和属性序列与哪个属性密钥相关联。
根据另一实施例,密钥管理系统还被配置为:在属性框中构造占位符加密盐值字段,响应于发送属性序列而从加密协处理器接收加密盐,以及将加密盐存储在占位符中。根据各实施例,由密钥管理系统接收已被用于生成第一MAC的加密盐值,并且该加密盐值被存储在属性框内的占位符字段中。不能容易地从第一MAC推断出加密盐值确保属性序列的内容。此外,使用盐值防止知道属性序列的恶意实体获得从该已知属性序列直接计算的MAC,这可防止系统的危害。
根据实施例,由加密协处理器使用加密盐值来计算第一MAC,从而改变第一MAC的结果。如果不使用加密盐值,那么攻击者可产生包含不同属性序列和对应MAC的表。给定MAC,攻击者随后可使用该表来查找对应的属性序列。如果使用加密盐值来计算第一MAC,则这种类型的攻击可能变得不太可能。根据实施例,由加密协处理器随机生成加密盐值。在加密盐值被用于计算第一MAC的实施例中,还需要盐值来验证给定属性序列是否对应于第一MAC。根据各实施例,因此在属性框中存储加密盐值以供稍后参考。
根据另一实施例,密钥管理系统进一步被配置为根据标准化机制将第一组属性和第二组属性序列化,并且根据属性在属性序列中的顺序将属性从属性序列发送至加密协处理器。标准化机制具有以下优点:其确保在序列化期间以一致的方式对第一组属性和第二组属性进行排序。开始,第一组属性和第二组属性内的属性不必须具有固有排序,该固有排序可保证跨不同设备是相同的。例如,可由加密协处理器将来自第一组属性的属性以属性存储在加密协处理器的密钥属性存储内的顺序发送到密钥管理系统。同样地,来自第二组属性的属性可以按照任意顺序存储在密钥管理系统中。然而,为了确保总是从源自第一组属性和第二组属性的属性生成同一MAC,需要以一致的顺序向加密协处理器提供属性。改变属性的顺序将导致生成不同的第一MAC。
使用标准化机制具有以下优点:标准化机制将来自第一组属性和第二组属性的属性总是设置为相同的顺序。根据实施例,属性序列中的属性的顺序是不可变的。因为执行了一致的排序,所以不同的密钥管理系统将生成相同的属性序列,只要这些密钥管理系统采用相同的归一化机制。这确保将总是针对匹配这些组属性计算相同的第一MAC。
根据实施例,标准化机制取决于被序列化的属性的特性,特性是从包括属性值和属性类型的组中选择的。属性值表示属性的内容。在一个示例中,仅包含零的属性可被放置在属性序列的开始或结尾处。属性类型表示存储在属性内的属性数据的类型。例如,可能的属性类型可以包括允许唯一地标识密钥的密钥身份类型、标识密钥被分配给的实体的密钥实体类型、诸如私密密钥、私钥或公钥的加密密钥类型、以及声明密钥可以用于哪些加密算法的密钥使用类型。属性可根据其属性类型被设定为预定的排序。该实施例具有提供用于对属性进行排序的标准的优点。根据实施例,根据属性的类型和属性的值,将属性设置为预定顺序。根据另一个实施例,还可以根据其他标准来排序属性。
根据实施例,由密钥管理系统验证属性框包括将属性序列从属性框再次发送到加密协处理器,从第一MAC计算第一加密散列,从加密协处理器接收第二加密散列作为参考值,以及将第一加密散列与第二加密散列进行比较以便验证属性框。根据该实施例,通过计算第一加密散列从第一MAC导出值。密钥管理系统从加密协处理器接收的第二加密散列被用作参考值。如果第一加密散列和第二加密散列匹配,则验证成功。该实施例具有以下优点:由加密协处理器计算参考值并且不需要从外部数据库或其他外部源获得参考值。第一加密散列和第二加密散列彼此比较而不是两个MAC的事实可以具有安全优点:如果加密协处理器要返回MAC而不是第二加密散列,则加密协处理器可以用作签名智囊(signingoracle)。
根据实施例,密钥管理系统被配置为:如果验证失败,则从加密协处理器接收失败通知。根据另一实施例,密钥管理系统被配置为如果响应于再次将属性序列从属性框发送到加密协处理器而密钥管理没有接收到第二加密散列,则将验证评估为失败。如果密钥管理要求在其通信协议的上下文中进行验证(即,来自其通信伙伴的有效确认),则可能是这种情况。在这种情况下,甚至缺少成功通知也具有失败的资格。
根据实施例,由密钥管理系统验证属性框还包括:再次向加密协处理器发送密钥标识符,从加密协处理器接收第三组属性,第三组属性中的属性与加密密钥相关联,验证来自属性序列的属性的子集与第三组属性一致,以及如果子集的验证不成功,则停止对属性框的验证。这具有以下优点:如果确定第三组属性与来自属性序列的属性的子集不一致,则可以中止验证过程。实际上,这将意味着密钥管理系统与加密协处理器存储不同的与加密密钥相关联的属性。
根据实施例,在将属性序列从属性框再次发送到加密协处理器之前执行验证。第三组属性是加密协处理器与加密密钥相关联地存储的一组属性。根据另一个实施例,来自属性序列的属性的子集与先前由密钥管理系统从加密协处理器接收的第一组属性是相同的。根据另一个实施例,来自属性序列的属性的子集包括至少来自第一组属性的一些属性。
根据实施例,密钥管理系统通过检查来自属性的子集的属性是否等于来自第三组属性的属性来执行验证。根据另一个实施例,密钥管理系统通过检查来自第三组属性的属性(其相对于它们的属性类型匹配来自属性序列的属性)是否也相对于它们的值匹配这些属性来执行验证。在实施例中,可确定指定创建加密密钥的日期(属性类型)的属性在属性的子集和第三组属性两者中是否包括相同的日期(属性值)。
根据各实施例,如果属性相对于属性值和/或属性类型等于另一属性,则该属性与该另一属性一致。根据其他实施例,如果在来自第三组属性的属性和来自属性的子集的属性之间相对于安全策略、预期值范围或其他特性没有差异,则来自第三组属性的属性可与来自属性的子集的属性一致。
本发明还涉及用于操作密钥管理系统的计算机程序产品。根据实施例,该计算机程序产品具有程序指令,这些程序指令使密钥管理系统的处理器如上文所描述地操作。如上所述的密钥管理系统的所有动作可受计算机程序产品的实施例以任意组合的影响。
本发明还涉及用于操作密钥管理系统的方法。根据实施例,该方法包括如上所述的密钥管理系统的动作。根据该方法的实施例,可以按照任意组合来执行如上所述的密钥管理系统的所有动作。
根据本发明的加密协处理器被配置为辅助密钥管理系统标识和/或验证属性框。具体地,加密协处理器被配置为从密钥管理系统接收标识加密密钥的密钥标识符。加密协处理器然后将第一组属性发送至密钥管理系统,第一组属性中的属性与加密密钥相关联并且源自加密协处理器的密钥属性存储。来自第一组属性的属性是与由加密协处理器存储的加密密钥相关联的属性。由于资源限制,加密协处理器在内部仅存储一些密钥属性。根据实施例,加密协处理器通过从其密钥属性存储选择与密钥标识符相关联的一组属性来获得第一组属性。
响应于发送第一组属性,加密协处理器从密钥管理系统接收属性序列,其中属性序列包括第一组属性和第二组属性。在实施例中,来自第二组属性的属性与加密密钥相关联,并且第二组属性与第一组属性是不同的。根据实施例,来自第二组属性的属性是在加密协处理器内未被内部存储的属性。相反,这些属性可源自密钥管理系统的内部存储。加密协处理器根据属性序列计算第一MAC并且将第一MAC发送至密钥管理系统。加密协处理器具有以下优点:其允许密钥管理系统获得第一MAC,密钥管理系统然后可以使用该第一MAC来进行识别和/或验证目的。此外,所讨论的通信流的优点在于,其将第一组属性发送到密钥管理系统,其向密钥管理系统提供关于加密协处理器已知哪些属性的信息。
根据实施例,加密协处理器被进一步配置为通过在连续调用中从密钥管理系统接收属性序列来迭代地生成第一MAC。根据该实施例,由加密协处理器一个接一个地接收来自属性序列的属性。该实施例符合加密协处理器操作的方式,即通过接收通常包括相对少量的数据的调用。加密服务提供商的一些应用编程接口(API)可以提供相关功能,可以在此上下文中使用这些相关功能。根据实施例,加密协处理器逐步地从属性计算第一MAC。按照属性的正确顺序接收属性可能是非常重要的,这意味着在由加密协处理器接收属性之前或同时属性序列内的属性的顺序可以是不变的。否则,由属性序列生成的第一MAC将是不正确的。
根据实施例,加密协处理器被配置为存储迭代地在连续调用之间生成第一MAC所需的数据。这具有以下优点:可以迭代地生成第一MAC,其只需加密协处理器内的最小存储器要求。根据实施例,加密协处理器从属性序列中接收第一属性并且执行用于生成第一MAC的第一计算步骤。第一计算步骤产生用于计算第一MAC的第一中间结果。加密协处理器然后存储第一中间结果并且继续接收来自属性序列的第二属性。加密协处理器然后使用第一中间结果和第二属性作为输入来执行第二计算步骤,从而产生第二中间结果。然后存储第二中间结果代替第一中间结果。该过程继续,直到已经接收到来自属性序列的最后的属性。然后加密协处理器执行最后计算步骤,通过该步骤获得第一MAC。根据另一个实施例,加密协处理器经由连续调用接收来自属性序列的属性并且将完整的属性序列存储在加密协处理器内。根据本实施例,加密协处理器在接收到完整的属性序列之后根据属性序列计算第一MAC。
根据另一实施例,加密协处理器被配置为生成加密盐值,使用加密盐值作为输入来计算第一MAC,并且将加密盐值发送至密钥管理系统。如上所述,在计算MAC时使用加密盐值提高了安全级别。因此,该实施例具有提供提高的安全级别的优点。因为验证属性序列的完整性将不仅需要第一MAC还需要加密盐值,所以将加密盐值发送至密钥管理系统。根据实施例,当计算第一MAC时,加密盐值被附加到属性序列。根据其他实施例,可以另一方式在MAC计算的过程中使用加密盐值。根据另一个实施例,随机生成加密盐值。
根据另一实施例,加密协处理器被配置为验证来自属性序列的属性的子集与第一组属性一致,并且如果验证失败,则通知密钥管理系统。本实施例具有以下优点:可以在无效输入数据的情况下停止计算第一MAC的过程。具体地,根据实施例,如果密钥管理系统和加密协处理器以与加密密钥有关的不同属性操作,则验证可以停止。
根据实施例,验证属性的子集包括将来自属性序列的属性的特性与第一组属性中的属性的特性进行比较,属性的特性是从包括属性值和属性类型的组中选择的。根据另一个实施例,加密协处理器通过检查来自第一组属性的属性(其与来自属性序列的属性相对于它们的属性类型相匹配)是否也与这些属性相对于它们的值相匹配来执行验证。例如,根据实施例,可确定在属性的子集和第一组属性两者中指定创建加密密钥的日期(属性类型)的属性是否存储相同的日期(属性值)。根据另一个实施例,加密协处理器通过确定在属性序列中是否包括来自第一组属性的所有属性(其形成属性的子集)来执行验证。根据另一个实施例,通过确定在属性序列与第一组属性之间是否存在密码策略不匹配或其他类型的差异来执行验证。
根据另一实施例,加密协处理器被进一步配置成用于验证属性框,其中,验证属性框包括再次从密钥管理系统接收属性序列、从属性序列计算第二MAC、从第二MAC计算第二加密散列以及向密钥管理系统发送第二加密散列以用作参考值。该实施例具有以下优点:加密协处理器通过提供参考值来支持对属性框的验证。密钥管理系统不必为了获得第二加密散列而查询任何外部数据库。从属性序列计算第二MAC,并且从第二MAC计算第二加密散列。向密钥管理系统发送第二加密散列而不是第二MAC防止在使用加密协处理器作为签名智囊(signing oracle)时攻击加密协处理器。
根据另一实施例,加密协处理器被配置为使得验证属性框进一步包括:再次从密钥管理系统接收密钥标识符;以及将第三组属性发送至密钥管理系统,第三组属性中的属性与加密密钥相关联并且源自加密协处理器的密钥属性存储。根据实施例,加密协处理器通过从其密钥属性存储选择与密钥标识符相关联的一组属性来获得第三组属性。这允许密钥管理系统获得第三组属性。该实施例具有以下优点:加密协处理器向密钥管理系统提供第三组属性。密钥管理系统可以验证第三组属性,并且如果存在关于第三属性组的不一致性,则早期停止验证过程。
根据另一实施例,加密协处理器被配置为在验证期间验证来自属性序列的属性的子集与第三组属性一致,并且如果验证失败,则通知密钥管理系统。在验证期间,加密协处理器接收属性序列。根据实施例,加密协处理器通过确定来自第三组属性的属性(其相对于属性类型与来自属性序列的属性相匹配)是否也相对于它们的值与这些属性相匹配来执行验证。在实施例中,可确定在属性子集和第三组属性中指定创建加密密钥的日期(属性类型)的属性是否存储相同的日期(属性值)。根据另一实施例,加密协处理器通过确定在属性序列内是否包括来自第三组属性的所有属性(其形成属性的子集)来执行验证。根据另一实施例,加密协处理器确定来自第三组属性的属性与来自属性的子集的属性之间是否存在任何其他类型的不匹配。
本发明还涉及用于操作加密协处理器的计算机程序产品。在实施例中,计算机程序产品包括使加密协处理器如以上描述的操作的程序指令。根据实施例,如上描述的加密协处理器的所有动作可以以任意组合的方式受到计算机程序产品的影响。
本发明还涉及用于操作加密协处理器的方法。方法的实施例包括如上描述的加密协处理器的动作。根据方法的实施例,如上描述的加密协处理器的所有动作可以任意组合的方式来执行。
根据实施例,密钥管理系统和加密协处理器位于计算机系统内。根据实施例,密钥管理系统可以在计算机处理器上运行,计算机处理器连接到加密协处理器。计算机处理器可以经由系统总线连接到加密协处理器。根据其他实施例,可以远离密钥管理系统来操作加密协处理器。
在实施例中,本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括计算机可读存储介质(或多个介质),其上具有用于使处理器执行本发明的各方面的计算机可读程序指令。
计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以例如是,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DvD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆传送的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光发送纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)和过程编程语言(诸如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。可以理解,可以由计算机可读程序指令实现流程图和/或框图的每个框以及流程图和/或框图中各框的组合。
这些计算机可读程序指令可被提供给计算机的处理器或其他可编程数据处理装置以产生机器,使得经由计算机的处理器或其他可编程数据处理装置执行的指令创建用于实现在流程图和/或框图的框或多个框中指定的功能/动作的装置。这些计算机可读程序指令也可以存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的框或多个框中指定的功能/动作的方面的指令。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的框或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的部分、段或模块,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些可替换的实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者有时可以以相反的顺序执行这些框,这取决于所涉及的功能。也要注意的是,可以用执行所指定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合。
基于在本发明的具体实施例中实施的应用来识别在此描述的程序。然而,可以理解,仅为了方便而使用本文中的任何特定程序术语,并且因此本发明不应局限于仅在由此类术语标识和/或暗示的任何特定应用中使用。
图1示出了密钥管理系统150的总体上用100表示的计算系统的框图。密钥管理系统150包括密钥管理子系统101和加密协处理器102。
作为示例,密钥管理子系统101包含策略实施单元103、驱动器单元104和密钥属性存储110。策略实施单元103负责读取、写入和记录加密策略设置。驱动器单元104允许访问加密协处理器102。如示例性描绘的,驱动器单元104装配了属性框105,属性框105包括密钥标识符106、属性序列107、占位符消息认证码(MAC)字段108和占位符加密盐值字段109。占位符MAC字段108和占位符加密盐值字段109可分别存储MAC和加密盐值。属性序列107可以包括与由密钥标识符106标识的加密密钥相关联的多个属性。例如,在属性序列107内可存储属性,作为布尔序列、位掩码、整数、数组或可变长度字段。属性描述加密密钥的不同属性。密钥属性存储110存储多个密钥及其相关联的属性。除了其他属性组之外,密钥属性存储110存储第二组属性111。第二组属性111可以与密钥标识符106所引用的加密密钥相关联。
加密协处理器102包括加密单元112、密钥属性存储113和公共白名单服务115。密钥属性存储113能够执行各种加密功能,诸如对数据加密和加签名。包括在加密协处理器102中的密钥属性存储113存储各种加密密钥及其相关联的属性。除了其他属性组之外,密钥属性存储113存储与加密密钥相关联的第一组属性114。即使第二组属性111和第一组属性114都与同一加密密钥相关联,由于加密协处理器102的存储容量,第一组属性114包括的属性少于由密钥管理子系统101存储在密钥属性存储110中的第二组属性111。
作为替代,公共白名单服务115可以独立于加密协处理器102和密钥管理系统150(其可以经由互联网来访问)而在服务器上运行。公共白名单服务115存储大量加密散列,其中加密散列116与由密钥标识符106标识的加密密钥相关联。
图2是详述密钥管理系统(诸如密钥管理系统150)的操作的工作流200的流程图。密钥管理系统可以将标识加密密钥的密钥标识符发送到加密协处理器(步骤201)。响应于发送密钥标识符,密钥管理系统可以从加密协处理器接收第一组属性(步骤202)。密钥管理系统现在知道加密协处理器存储了与加密密钥相关的哪些属性。第一组属性和第二组属性需要设置为标准化的形式。为此目的,密钥管理系统将第一组属性和第二组属性序列化为属性序列,并将属性序列存储在属性框内(步骤203)。可以使用商定的标准化机制来执行序列化。这意味着序列化同一属性将总是产生具有同样的属性顺序的属性序列。
密钥管理系统可以将属性序列发送到加密协处理器(步骤204)。例如,可根据属性在属性序列中的顺序将属性发送到加密协处理器。响应于发送属性序列,密钥管理系统从加密协处理器接收第一MAC和加密盐值(步骤205)。在该示例中,由加密协处理器从属性序列中计算第一MAC。密钥管理系统将第一MAC存储在属性框的占位符MAC字段中。加密协处理器使用加密盐值以便计算第一MAC。当验证第一MAC时,出于验证目的需要加密盐值。因此,密钥管理系统可以将加密盐值存储在属性框的占位符加密盐值字段中。密钥管理系统随后可以通过第一MAC验证属性框(步骤206)。如随后描述的,存在关于如何验证属性框的不同方式。
图3是详述密钥管理系统的操作的工作流300的流程图,其中密钥管理系统示例性地使用公共白名单服务进行验证。第一MAC允许验证存储在属性框中的属性的完整性或正确版本。密钥管理系统计算第一加密散列(步骤301)。在该示例中,密钥管理系统将密钥标识符发送到公共白名单服务(步骤302)。可以由在连接到互联网的服务器上运行的互联网服务来实现公共白名单服务器。响应于向公共白名单服务发送密钥标识符,密钥管理系统从公共白名单服务接收第二加密散列(步骤303)。根据此示例,密钥管理系统然后将第一加密散列与第二加密散列进行比较(步骤304)。如果第一加密散列和第二加密散列相等,则验证成功(步骤305)。因此,确认由密钥管理系统存储的来自属性框的属性序列和由公共白名单服务与密钥标识符相关联的属性序列相同。如果第一加密散列不等于第二加密散列,则验证不成功(步骤306)。
根据一些实施例,如由白名单服务所发送的第二加密散列可以是部分加密散列。这意味着白名单服务不发送完整散列,而仅发送第二加密散列的所选择的位。密钥管理系统然后可以将这些所发送的位与在第一加密散列的对应位置处的位进行比较。以此方式,密钥管理系统可以执行验证而无需完全接收第二加密散列。对于密钥管理系统或白名单服务的其他用户,没有完全公开第二加密散列。这是可以防止滥用第二加密散列的隐私保护特征。
图4是详述密钥管理系统的操作的工作流400的流程图,其中密钥管理系统使用加密协处理器进行验证。作为示例,密钥管理系统将密钥标识符发送到加密协处理器(步骤401)。响应于发送密钥标识符,密钥管理系统从加密协处理器接收第三组属性(步骤402)。第三组属性可包括由加密协处理器与密钥标识符相关联的属性。密钥管理系统检查来自属性序列的属性的子集是否与第三组属性一致(步骤403)。根据此示例,密钥管理系统确定来自第三组属性的相对于属性类型与来自属性序列的属性相匹配的属性也相对于这些属性的值与这些属性匹配。如果不是这种情况,则这意味着加密协处理器存储与密钥标识符相关联的与所预期的属性不同的属性,并且验证失败(步骤410)。
如果来自第三组属性的属性与来自属性序列的属性一致,则验证过程继续。密钥管理系统将属性序列从属性框发送到加密协处理器(步骤405)。连同属性序列,密钥管理系统还可以向加密协处理器发送加密盐值。响应于发送属性序列,密钥管理系统从加密协处理器接收第二加密散列(步骤406)。密钥管理系统根据第一MAC计算第一加密散列(步骤407)。密钥管理系统然后将第一加密散列与第二加密散列进行比较(步骤408)。根据本示例,如果第一加密散列和第二加密散列相等,则验证成功(步骤409)。成功的比较确认属性框中的属性的完整性。如果第一加密散列不等于第二加密散列,则验证不成功(步骤410)。
图5是详述加密协处理器(诸如加密协处理器102)的操作的工作流500的流程图。作为示例,加密协处理器可以从密钥管理系统接收密钥标识符(步骤501)。响应于从密钥管理系统接收密钥标识符,加密协处理器可以将第一组属性发送至密钥管理系统(步骤502)。示例性地,在加密协处理器的密钥属性存储内存储第一组属性。加密协处理器可以从密钥属性存储加载第一组属性。响应于将第一组属性发送到密钥管理系统,加密协处理器从密钥管理系统接收属性序列(步骤503)。
根据本示例,加密协处理器验证来自属性序列的属性的子集是否与第一组属性一致(步骤504)。验证可通过检查来自第一组属性的属性(其相对于属性的属性类型与来自属性序列的属性匹配)也相对于属性的值与这些属性匹配来执行。如果不是这种情况,则可以得出结论,密钥管理系统结合密钥标识符及其相关联的密钥没有使用与加密协处理器相同的属性。验证失败并且加密协处理器通知密钥管理系统(步骤505)。如果验证成功,则加密协处理器根据属性序列计算第一MAC(步骤506)。为了计算第一MAC,加密协处理器可以随机生成加密盐值。加密协处理器可以使用加密盐值来生成第一MAC。这可有助于防止执行第一MAC的反向查找的攻击。在生成第一MAC之后,加密协处理器可以将第一MAC发送到密钥管理系统(步骤507)。
图6是详述加密协处理器在验证期间的操作的工作流600的流程图。加密协处理器示例性地再次从密钥管理系统接收密钥标识符(步骤601)。此时,出于验证的目的接收密钥标识符。作为示例,加密协处理器可以根据密钥标识符从其内部存储中取得第三组属性。预期第三组属性包括与第一组属性相同的属性,除非加密协处理器的密钥属性存储内的数据已经改变。加密协处理器可以将第三组属性发送到密钥管理系统(步骤602)。密钥管理系统然后可以验证第三组属性的完整性。响应于向密钥管理系统发送第三组属性,加密协处理器再次从密钥管理系统接收属性序列(步骤603)。加密协处理器验证来自属性序列的属性的子集是否与第三组属性一致(步骤604)。根据本示例,通过检查来自第三组属性的相对于属性的属性类型与来自属性序列的属性匹配的属性也相对于属性的值与这些属性匹配来执行验证。如果不是这种情况,则可以得出结论,密钥管理系统结合加密密钥没有使用与加密协处理器相同的属性。验证失败并且加密协处理器通知密钥管理系统验证失败(步骤605)。这也意味着属性框的验证失败。如果验证成功,则加密协处理器可以根据属性序列计算第二MAC(步骤606)。随后,加密协处理器可以从第二MAC计算第二加密散列(步骤607)。然后,加密协处理器将第二加密散列发送到密钥管理系统(步骤608)。根据此示例,密钥管理系统然后可以将第一加密散列与第二加密散列进行比较以完成验证过程。
图7描绘了计算机系统700,其是基本上类似于密钥管理系统150的系统的示例。计算机系统700包括处理器701、缓存703、存储器702、持久存储705、通信单元707、输入/输出(I/O)接口706和通信结构704。通信结构704提供在缓存703、存储器702、持久存储705、通信单元707和输入/输出(I/O)接口706之间的通信。通信结构704可以用被设计为在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,可以利用一个或多个总线或纵横开关来实现通信结构704。
存储器702和持久存储705是计算机可读存储介质。在该实施例中,存储器702包括随机存取存储器(RAM)。一般而言,存储器702可包括任何合适的易失性或非易失性计算机可读存储介质。缓存703是通过保存来自存储器702的最近访问的数据和最近访问的数据附近的数据来增强处理器701的性能的快速存储器。
可以在持久存储705和存储器702中存储用于实施本发明的实施例的程序指令和数据,用于由相应处理器701中的一个或多个经由缓存703执行。在实施例中,持久存储705包括磁性硬盘驱动器。可替换地,或除了磁性硬盘驱动之外,持久存储705可以包括固态硬盘驱动、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
持久存储705所使用的介质也可以是可移除的。例如,可移动硬盘驱动器可以用于持久存储705。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是永久存储器705的一部分的另一计算机可读存储介质上。
在这些示例中,通信单元707提供与其他数据处理系统或设备的通信。在这些示例中,通信单元707包括一个或多个网络接口卡。通信单元707可以通过使用物理和/或无线通信链路提供通信。可以通过通信单元707将用于实施本发明的实施例的程序指令和数据下载到持久存储705。
I/O接口706允许与可以连接到每个计算机系统的其他设备进行数据的输入和输出。例如,I/O接口706可提供到外部设备708(诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备)的连接。外部设备708还可包括便携式计算机可读存储介质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明的实施例的软件和数据可以存储在这种便携式计算机可读存储介质上并且可以通过I/O接口706加载到持久存储705上。I/O接口706还连接到显示器709。
显示器709提供用于向用户显示数据的机制,并且可以是例如计算机监视器。
Claims (20)
1.一种密钥管理系统,其能够存储加密密钥和与所述加密密钥相关联的属性,其中,所述密钥管理系统被配置为:
将标识加密密钥的密钥标识符发送到加密协处理器;
响应于发送所述密钥标识符,从所述加密协处理器接收第一组属性,其中,所述第一组属性中的一个或多个属性与所述加密密钥相关联并且源自所述加密协处理器的密钥属性存储;
将所述第一组属性和第二组属性序列化为第一属性序列;将所述第一属性序列存储在属性框内,其中,所述第二组属性中的一个或多个属性与所述加密密钥相关联,所述第二组属性中的所述一个或多个属性源自所述密钥管理系统的密钥属性存储,并且所述第二组属性与所述第一组属性不同;
将所述第一属性序列从所述属性框发送到所述加密协处理器;
响应于发送所述第一属性序列,从所述加密协处理器接收从所述第一属性序列计算的第一消息认证码(MAC);以及
通过将所述第一MAC或从所述第一MAC导出的值与参考值进行比较来验证所述属性框。
2.根据权利要求1所述的密钥管理系统,所述系统被进一步配置为在连续调用中将来自所述第一属性序列的所述一个或多个属性发送到所述加密协处理器,以使所述加密协处理器迭代地计算所述第一MAC。
3.根据权利要求1所述的密钥管理系统,所述系统被进一步配置为:在所述属性框中构造占位符MAC字段,以及在所构造的占位符MAC字段中存储由所述加密协处理器迭代地计算以及从所述加密协处理器接收的所述第一MAC。
4.根据权利要求1所述的密钥管理系统,所述系统被进一步配置为:在所述属性框中构造占位符加密盐值字段,响应于发送所述第一属性序列而从所述加密协处理器接收由所述加密协处理器生成的加密盐值作为用于计算所述第一MAC的输入,以及在所述占位符加密盐值字段中存储所述加密盐值。
5.根据权利要求1所述的密钥管理系统,所述系统被进一步配置为根据标准化机制将所述第一组属性和所述第二组属性序列化为所述第一属性序列,以及根据所述一个或多个属性在所述第一属性序列内的顺序将所述一个或多个属性从所述第一属性序列发送到所述加密协处理器。
6.根据权利要求5所述的密钥管理系统,所述标准化机制取决于被序列化的所述一个或多个属性的特性,所述属性是从包括属性值和属性类型的组中选择的。
7.根据权利要求1所述的密钥管理系统,其中,验证所述属性框包括:
将所述第一属性序列从所述属性框再次发送到所述加密协处理器;
根据所述第一MAC计算第一加密散列;
响应于再次发送所述第一属性序列,从所述加密协处理器接收第二加密散列作为所述参考值;以及
比较所述第一加密散列与所述第二加密散列,以验证所述属性框。
8.根据权利要求7所述的密钥管理系统,其中,验证所述属性框进一步包括:
将所述密钥标识符再次发送到所述加密协处理器;
响应于发送所述密钥标识符,从所述加密协处理器接收第三组属性,其中,所述第三组属性中的一个或多个属性与所述加密密钥相关联并且源自所述加密协处理器的所述密钥属性存储;以及
确认来自所述第一属性序列的属性的子集与所述第三组属性一致,以及如果对所述子集的确认不成功,则停止对所述属性框的验证。
9.一种计算机程序产品,其用于操作密钥管理系统,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由处理器执行以使所述处理器:
将标识加密密钥的密钥标识符发送到加密协处理器;
响应于发送所述密钥标识符,从所述加密协处理器接收第一组属性,其中,所述第一组属性中的一个或多个属性与所述加密密钥相关联并且源自所述加密协处理器的密钥属性存储;
将所述第一组属性和第二组属性序列化为第一属性序列;将所述第一属性序列存储在属性框内,其中,所述第二组属性中的一个或多个属性与所述加密密钥相关联,所述第二组属性中的所述一个或多个属性源自所述密钥管理系统的密钥属性存储,并且所述第二组属性与所述第一组属性不同;
将所述第一属性序列从所述属性框发送到所述加密协处理器;
响应于发送所述第一属性序列,从所述加密协处理器接收从所述第一属性序列计算的第一MAC;以及
通过将所述第一MAC或从所述第一MAC导出的值与参考值进行比较来验证所述属性框。
10.根据权利要求9所述的计算机程序产品,所述程序指令进一步被配置为在连续调用中将来自所述第一属性序列的所述一个或多个属性发送到所述加密协处理器,以使所述加密协处理器迭代地计算所述第一MAC。
11.根据权利要求9所述的计算机程序产品,所述程序指令进一步被配置为:在所述属性框中构造占位符MAC字段,以及在所构造的占位符MAC字段中存储由所述加密协处理器迭代地计算以及从所述加密协处理器接收的所述第一MAC。
12.根据权利要求9所述的计算机程序产品,所述程序指令进一步被配置为:在所述属性框中构造占位符加密盐值字段,响应于发送所述第一属性序列而从所述加密协处理器接收由所述加密协处理器生成的加密盐值作为用于计算所述第一MAC的输入,以及在所述占位符加密盐值字段中存储所述加密盐值。
13.一种用于操作密钥管理系统的方法,所述方法包括:
将标识加密密钥的密钥标识符发送到加密协处理器;
响应于发送所述密钥标识符,从所述加密协处理器接收第一组属性,其中,所述第一组属性中的一个或多个属性与所述加密密钥相关联并且源自所述加密协处理器的密钥属性存储;
将所述第一组属性和第二组属性序列化为第一属性序列;
将所述第一属性序列存储在属性框内,其中,来自所述第二组属性中的一个或多个属性与所述加密密钥相关联,所述第二组属性中的所述一个或多个属性源自所述密钥管理系统的密钥属性存储,并且所述第二组属性与所述第一组属性不同;
将所述第一属性序列从所述属性框发送到所述加密协处理器;
响应于发送所述第一属性序列,从所述加密协处理器接收从所述第一属性序列计算的第一MAC;以及
通过将所述第一MAC或从所述第一MAC导出的值与参考值进行比较来验证所述属性框。
14.根据权利要求13所述的方法,所述方法进一步被配置为在连续调用中将来自所述第一属性序列的所述一个或多个属性发送到所述加密协处理器,以使所述加密协处理器迭代地计算所述第一MAC。
15.根据权利要求13所述的方法,所述方法进一步被配置为:在所述属性框中构造占位符MAC字段,以及在所构造的占位符MAC字段中存储由所述加密协处理器迭代地计算以及从所述加密协处理器接收的所述第一MAC。
16.根据权利要求13所述的方法,所述方法进一步被配置为:在所述属性框中构造占位符加密盐值字,响应于发送所述第一属性序列而从所述加密协处理器接收由所述加密协处理器生成的加密盐值作为用于计算所述第一MAC的输入,以及在所述占位符加密盐值字段中存储所述加密盐值。
17.根据权利要求13所述的方法,所述方法进一步被配置为根据标准化机制将所述第一组属性和所述第二组属性序列化为所述第一属性序列,以及根据所述一个或多个属性在所述第一属性序列内的顺序将所述一个或多个属性从所述第一属性序列发送到所述加密协处理器。
18.根据权利要求17所述的方法,所述标准化机制取决于被序列化的所述一个或多个属性的特性,所述属性是从包括属性值和属性类型的组中选择的。
19.根据权利要求13所述的方法,其中,验证所述属性框包括:
将所述第一属性序列从所述属性框再次发送到所述加密协处理器;
根据所述第一MAC计算第一加密散列;
响应于再次发送所述第一属性序列,从所述加密协处理器接收第二加密散列作为所述参考值;以及
比较所述第一加密散列与所述第二加密散列,以验证所述属性框。
20.根据权利要求19所述的方法,其中,验证所述属性框进一步包括:
将所述密钥标识符再次发送到所述加密协处理器;
响应于发送所述密钥标识符,从所述加密协处理器接收第三组属性,其中,所述第三组属性中的一个或多个属性与所述加密密钥相关联并且源自所述加密协处理器的所述密钥属性存储;以及
确认来自所述第一属性序列的属性的子集与所述第三组属性一致,以及如果对所述子集的确认不成功,则停止对所述属性框的验证。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/843,980 US11165588B1 (en) | 2020-04-09 | 2020-04-09 | Key attribute verification |
US16/843,980 | 2020-04-09 | ||
PCT/IB2021/052201 WO2021205257A1 (en) | 2020-04-09 | 2021-03-17 | Key attribute verification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115398856A true CN115398856A (zh) | 2022-11-25 |
CN115398856B CN115398856B (zh) | 2024-08-30 |
Family
ID=78006175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180027061.5A Active CN115398856B (zh) | 2020-04-09 | 2021-03-17 | 密钥属性验证 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11165588B1 (zh) |
JP (1) | JP7539204B2 (zh) |
KR (1) | KR20220116029A (zh) |
CN (1) | CN115398856B (zh) |
AU (1) | AU2021252200B2 (zh) |
DE (1) | DE112021000709T5 (zh) |
GB (1) | GB2609168A (zh) |
WO (1) | WO2021205257A1 (zh) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130893A1 (en) * | 2006-11-30 | 2008-06-05 | Ibrahim Wael M | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor |
US20100031021A1 (en) * | 2006-09-22 | 2010-02-04 | International Business Machines Corporation | Method for improved key management for atms and other remote devices |
US20100215178A1 (en) * | 2009-02-23 | 2010-08-26 | Sony Ericsson Mobile Communications Ab | Key selection vector, mobile device and method for processing the key selection vector, digital content output device, and revocation list |
US20110131415A1 (en) * | 2009-11-30 | 2011-06-02 | James Paul Schneider | Multifactor username based authentication |
JP2011114520A (ja) * | 2009-11-26 | 2011-06-09 | E-Parcel Corp | 暗号化データ配送のための送信装置、受信装置、及び管理サーバ、並びに暗号化データ配送のための送信プログラム、受信プログラム、及び管理プログラム、並びに暗号化データ配送システム、並びに暗号化データの配送方法 |
CN102289612A (zh) * | 2010-06-21 | 2011-12-21 | 英特尔公司 | 用于安全协处理器中的n元局部性的系统和方法 |
US20120131354A1 (en) * | 2009-06-22 | 2012-05-24 | Barclays Bank Plc | Method and system for provision of cryptographic services |
US20120314854A1 (en) * | 2011-06-10 | 2012-12-13 | Zeutro, Llc | System, Apparatus and Method for Decentralizing Attribute-Based Encryption Information |
CN103069745A (zh) * | 2010-08-24 | 2013-04-24 | 皇家飞利浦电子股份有限公司 | 基于属性的数字签名 |
CN103425632A (zh) * | 2013-08-30 | 2013-12-04 | 深圳市路畅科技股份有限公司 | 一种序列化的方法、装置及处理器 |
US20140003608A1 (en) * | 2012-06-29 | 2014-01-02 | Dark Matter Labs Inc. | Key management system |
US20170302640A1 (en) * | 2016-04-18 | 2017-10-19 | Atmel Corporation | Message authentication with secure code verification |
CN107888548A (zh) * | 2016-09-30 | 2018-04-06 | 北京金山云网络技术有限公司 | 一种信息验证方法及装置 |
CN107967413A (zh) * | 2017-11-28 | 2018-04-27 | 深圳进化动力数码科技有限公司 | 软件加密方法及装置 |
GB201817711D0 (en) * | 2018-10-30 | 2018-12-19 | Barclays Services Ltd | Secure data communication |
US20190007202A1 (en) * | 2017-07-03 | 2019-01-03 | Stmicroelectronics Application Gmbh | Hardware Secure Module, Related Processing System, Integrated Circuit, Device and Method |
US20190087595A1 (en) * | 2017-09-15 | 2019-03-21 | Cyber Sphere Data, Inc. | Object level encryption system including encryption key management system |
US20190138755A1 (en) * | 2018-12-28 | 2019-05-09 | Intel Corporation | Technologies for filtering memory access transactions received from one or more i/o devices |
CN109889325A (zh) * | 2019-01-21 | 2019-06-14 | Oppo广东移动通信有限公司 | 校验方法、装置、电子设备及介质 |
CN110502360A (zh) * | 2019-08-16 | 2019-11-26 | 兆讯恒达微电子技术(北京)有限公司 | 一种高级加密标准协处理器自检的方法 |
CN110785985A (zh) * | 2017-04-25 | 2020-02-11 | Sky1科技有限公司 | 在物联网(iot)的网络上建立安全通信 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626667B2 (en) | 2005-10-18 | 2017-04-18 | Intertrust Technologies Corporation | Digital rights management engine systems and methods |
CN101290641B (zh) | 2007-04-16 | 2010-10-13 | 华为技术有限公司 | 触发设备执行操作的方法、设备及系统 |
US10728231B2 (en) | 2012-07-09 | 2020-07-28 | Massachusetts Institute Of Technology | Data security using inter-zone gate circuits |
US20140082364A1 (en) * | 2012-09-18 | 2014-03-20 | Tommaso Cucinotta | Collaborative Uses of a Cloud Computing Confidential Domain of Execution |
US9967289B2 (en) | 2015-03-12 | 2018-05-08 | Fornetix Llc | Client services for applied key management systems and processes |
US10296765B2 (en) | 2015-09-30 | 2019-05-21 | International Business Machines Corporation | Multi-level security enforcement |
US10536441B2 (en) | 2016-08-23 | 2020-01-14 | Texas Instruments Incorporated | Thread ownership of keys for hardware-accelerated cryptography |
US10887291B2 (en) | 2016-12-16 | 2021-01-05 | Amazon Technologies, Inc. | Secure data distribution of sensitive data across content delivery networks |
US10909250B2 (en) | 2018-05-02 | 2021-02-02 | Amazon Technologies, Inc. | Key management and hardware security integration |
CN110740016B (zh) | 2019-10-06 | 2022-09-09 | 中国信息通信研究院 | 一种车联网通信反馈定时方法和设备 |
-
2020
- 2020-04-09 US US16/843,980 patent/US11165588B1/en active Active
-
2021
- 2021-03-17 KR KR1020227025160A patent/KR20220116029A/ko active Search and Examination
- 2021-03-17 WO PCT/IB2021/052201 patent/WO2021205257A1/en active Application Filing
- 2021-03-17 DE DE112021000709.2T patent/DE112021000709T5/de active Pending
- 2021-03-17 JP JP2022554267A patent/JP7539204B2/ja active Active
- 2021-03-17 GB GB2216531.0A patent/GB2609168A/en active Pending
- 2021-03-17 AU AU2021252200A patent/AU2021252200B2/en active Active
- 2021-03-17 CN CN202180027061.5A patent/CN115398856B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100031021A1 (en) * | 2006-09-22 | 2010-02-04 | International Business Machines Corporation | Method for improved key management for atms and other remote devices |
US20080130893A1 (en) * | 2006-11-30 | 2008-06-05 | Ibrahim Wael M | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor |
US20100215178A1 (en) * | 2009-02-23 | 2010-08-26 | Sony Ericsson Mobile Communications Ab | Key selection vector, mobile device and method for processing the key selection vector, digital content output device, and revocation list |
US20120131354A1 (en) * | 2009-06-22 | 2012-05-24 | Barclays Bank Plc | Method and system for provision of cryptographic services |
JP2011114520A (ja) * | 2009-11-26 | 2011-06-09 | E-Parcel Corp | 暗号化データ配送のための送信装置、受信装置、及び管理サーバ、並びに暗号化データ配送のための送信プログラム、受信プログラム、及び管理プログラム、並びに暗号化データ配送システム、並びに暗号化データの配送方法 |
US20110131415A1 (en) * | 2009-11-30 | 2011-06-02 | James Paul Schneider | Multifactor username based authentication |
CN102289612A (zh) * | 2010-06-21 | 2011-12-21 | 英特尔公司 | 用于安全协处理器中的n元局部性的系统和方法 |
CN103069745A (zh) * | 2010-08-24 | 2013-04-24 | 皇家飞利浦电子股份有限公司 | 基于属性的数字签名 |
US20120314854A1 (en) * | 2011-06-10 | 2012-12-13 | Zeutro, Llc | System, Apparatus and Method for Decentralizing Attribute-Based Encryption Information |
US20140003608A1 (en) * | 2012-06-29 | 2014-01-02 | Dark Matter Labs Inc. | Key management system |
CN103425632A (zh) * | 2013-08-30 | 2013-12-04 | 深圳市路畅科技股份有限公司 | 一种序列化的方法、装置及处理器 |
US20170302640A1 (en) * | 2016-04-18 | 2017-10-19 | Atmel Corporation | Message authentication with secure code verification |
CN107888548A (zh) * | 2016-09-30 | 2018-04-06 | 北京金山云网络技术有限公司 | 一种信息验证方法及装置 |
CN110785985A (zh) * | 2017-04-25 | 2020-02-11 | Sky1科技有限公司 | 在物联网(iot)的网络上建立安全通信 |
US20190007202A1 (en) * | 2017-07-03 | 2019-01-03 | Stmicroelectronics Application Gmbh | Hardware Secure Module, Related Processing System, Integrated Circuit, Device and Method |
US20190087595A1 (en) * | 2017-09-15 | 2019-03-21 | Cyber Sphere Data, Inc. | Object level encryption system including encryption key management system |
CN107967413A (zh) * | 2017-11-28 | 2018-04-27 | 深圳进化动力数码科技有限公司 | 软件加密方法及装置 |
GB201817711D0 (en) * | 2018-10-30 | 2018-12-19 | Barclays Services Ltd | Secure data communication |
US20190138755A1 (en) * | 2018-12-28 | 2019-05-09 | Intel Corporation | Technologies for filtering memory access transactions received from one or more i/o devices |
CN109889325A (zh) * | 2019-01-21 | 2019-06-14 | Oppo广东移动通信有限公司 | 校验方法、装置、电子设备及介质 |
CN110502360A (zh) * | 2019-08-16 | 2019-11-26 | 兆讯恒达微电子技术(北京)有限公司 | 一种高级加密标准协处理器自检的方法 |
Also Published As
Publication number | Publication date |
---|---|
GB2609168A (en) | 2023-01-25 |
US20210320802A1 (en) | 2021-10-14 |
KR20220116029A (ko) | 2022-08-19 |
AU2021252200B2 (en) | 2024-05-02 |
CN115398856B (zh) | 2024-08-30 |
US11165588B1 (en) | 2021-11-02 |
JP7539204B2 (ja) | 2024-08-23 |
JP2023526717A (ja) | 2023-06-23 |
WO2021205257A1 (en) | 2021-10-14 |
AU2021252200A1 (en) | 2022-07-28 |
GB202216531D0 (en) | 2022-12-21 |
DE112021000709T5 (de) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10790976B1 (en) | System and method of blockchain wallet recovery | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US11076295B2 (en) | Remote management method, and device | |
CN109937419B (zh) | 安全功能强化的设备的初始化方法及设备的固件更新方法 | |
US10375057B2 (en) | Systems and methods for certificate chain validation of secure elements | |
CN111164948A (zh) | 使用区块链网络管理网络安全漏洞 | |
JP2004280284A (ja) | 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法 | |
CN112784278A (zh) | 一种计算机系统的可信启动方法、装置及设备 | |
EP2547135A2 (en) | Apparatus and method for preventing copying of terminal unique information in portable terminal | |
US20200195447A1 (en) | Communication method of client device, issuing device and server | |
CN109644132B (zh) | 用于验证对象的信任的系统和方法 | |
CN111340483A (zh) | 一种基于区块链的数据管理方法及相关设备 | |
CN111294203A (zh) | 信息传输方法 | |
WO2012112273A1 (en) | Secure management and personalization of unique code signing keys | |
CN109302442B (zh) | 一种数据存储证明方法及相关设备 | |
CN116561820B (zh) | 可信数据处理方法及相关装置 | |
WO2021027504A1 (zh) | 基于共识协议的信息处理方法及相关装置 | |
JP7296390B2 (ja) | 電子デバイスの無欠性検査 | |
CN115398856B (zh) | 密钥属性验证 | |
CN118591803A (zh) | 使用经授权子密钥进行安全启动的装置和方法 | |
WO2022182341A1 (en) | Trusted computing for digital devices | |
EP4264466B1 (en) | Attesting update of a firmware layer | |
US12063313B2 (en) | Signing system for validating stateful hash-based digital signatures | |
CN116599650B (zh) | 一种密文去重方法、装置、设备及存储介质 | |
CN113194090A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |