CN114629633A - 密钥块增强封装 - Google Patents

密钥块增强封装 Download PDF

Info

Publication number
CN114629633A
CN114629633A CN202111441445.XA CN202111441445A CN114629633A CN 114629633 A CN114629633 A CN 114629633A CN 202111441445 A CN202111441445 A CN 202111441445A CN 114629633 A CN114629633 A CN 114629633A
Authority
CN
China
Prior art keywords
key
computer
data
encapsulation
authentication code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111441445.XA
Other languages
English (en)
Inventor
R·V·基斯莱伊
M·米莱
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114629633A publication Critical patent/CN114629633A/zh
Pending legal-status Critical Current

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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/3242Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Abstract

本公开涉及密钥块增强封装。本发明的各方面包括提供具有控制透明密钥的使用的属性的透明密钥。透明密钥包括在至少第一8字节部分和第二和第三8字节部分中的密钥数据以及用于封装透明密钥的封装密钥。该计算机实现的方法进一步包括:将第一、第二和第三8字节部分与用于未填充到链式密钥数据中的那些8字节部分的零链接在一起,从封装密钥推导加密密钥和认证密钥,使用认证密钥在透明密钥和属性上计算认证码,使用加密密钥对链式密钥数据执行加密以生成加密的链式密钥数据,以及将认证码、属性和加密的链式密钥数据相加以形成密钥块。

Description

密钥块增强封装
技术领域
本发明总体上涉及密钥块增强封装(wrapping),并且更具体地涉及密钥块增强封装方法。
背景技术
密码学是将可理解的信息转换成明显不可理解的形式,以便向未授权方隐藏该信息。密码学用于各种目的,诸如保护通过通信网络传输的信息。保护所存储的数据也可以是最经济的方式。密码过程不仅可以用于保护数据的私密性,而且可以用于保护数据的完整性。
数据的密码转换通常由在密钥控制下的所选算法或过程来定义。由于算法通常是公共知识,因此转换或加密的数据的保护取决于密钥的保密性。因此,密钥必须保密以防止对手简单地使用已知算法和密钥来恢复加密的数据。因此,数据的保护取决于秘密密钥的保护。
发明内容
本发明的各实施例涉及增强的密钥封装的计算机实现的方法。计算机实现的方法的非限制性示例包括提供具有控制透明密钥(clear key)的使用的属性的透明密钥。透明密钥包括在至少第一8字节部分及第二和第三8字节部分中的密钥数据以及用于封装透明密钥的封装密钥。该计算机实现的方法进一步包括:将第一、第二和第三8字节部分与用于未填充到链式密钥数据中的那些8字节部分的零链接在一起,从封装密钥推导加密和认证密钥,使用认证密钥计算对透明密钥和属性的认证码,使用加密密钥对链式密钥数据执行加密以生成加密的链式密钥数据,以及添加认证码、属性和加密的链式密钥数据以形成密钥块。
本发明的其他实施例在计算机系统和计算机程序产品中实现上述方法的特征。
通过本发明的技术实现了附加的技术特征和益处。在此详细描述了本发明的实施例和方面,并且这些实施例和方面被认为是所要求保护的主题的一部分。为了更好地理解,参考具体实施方式和附图。
附图说明
在说明书结尾处的权利要求书中特别指出并清楚地要求保护本文描述的独占权利的细节。从以下结合附图的详细描述中,本发明的实施例的前述和其他特征和优点是显而易见的,其中:
图1描绘了根据本发明的一个或多个实施例的用于CCA密钥令牌的AES密钥封装的公共加密架构(CCA)密钥令牌和高级加密标准(AES)密钥封装(AESKW)密钥令牌;
图2描绘了根据本发明的一个或多个实施例的用于CCA密钥令牌的密钥封装的系统;
图3A-B描绘了根据本发明的一个或多个实施例的用于CCA密钥令牌的AES密钥封装的AESKW封装和解封装功能系统;
图4是描绘根据本发明的一个或多个实施例的增强的密钥封装的方法的图形流程图;
图5是示出根据本发明的一个或多个实施例的增强的密钥封装的方法的流程图;
图6是描述了根据本发明的一个或多个实施例的增强的密钥解封装的方法的流程图;并且
图7描绘了根据本发明的一个或多个实施例执行的计算机系统。
本文所描绘的图是说明性的。在不背离本发明的精神的情况下,可以对这些图或其中描述的操作进行许多变化。例如,这些动作可按不同次序执行,或动作可被添加、删除或修改。同样,术语“耦合”及其变体描述了在两个元件之间具有通信路径并且不暗示这些元件之间的直接连接,而在它们之间没有中间元件/连接。所有这些变化被视为说明书的一部分。
具体实施方式
本发明的一个或多个实施例提供了一种系统,其中利用完整性检查和密钥混淆(key obfuscation)来增强密钥块和封装方法。完整性检查涉及现在具有8字节三重数据加密标准基于密文的消息认证码(TDES-CMAC)的64字节结构的偏移。密钥混淆的特征在于用于存储经加密的密钥材料的8字节部分的密钥块的所有三个部分总是填充有加密数据,从而隐藏密钥的真实长度。封装方法的特征在于,控制向量不再被异或到封装密钥中,以透明密钥材料作为完整性检查在密钥块的所有字节上计算CMAC,并且然后将其放置在偏移40处,密钥的三个部分使用SHA-256和XOR链接在一起,并且密钥的三个部分总是被加密,并且然后总是使用24字节空间被放回令牌中。
作为复习,控制向量是包括预定义值的一个或多个字段的数据结构,这些字段共同地描述与其相关联的密码密钥的预期使用。控制向量由密钥发起者在密钥创建时间指定。在公共加密架构(CCA)密钥令牌中,密钥属性被存储在未被加密的控制向量中。CCA密钥可使用不同类型的加密(例如,AES密钥封装(AESKW))来封装,以产生持有CCA密钥及其属性的AESKW密钥令牌。AESKW在美国国家标准协会(ANSI)标准X9.102中定义。在所得的AESKW密钥令牌中,未在CCA密钥令牌的控制向量部分中加密的一些属性被移动到AESKW密钥令牌的经加密部分。这些属性从控制向量被分割,使得来自控制向量的一些属性被绑定到密钥但不被加密,而其他属性与密钥本身一起被加密。在不同实施例中,可以使用任何适当类型的加密来封装CCA密钥。
在密钥在受保护环境之外时,密钥通常被加密。加密的密钥被携带在被称为密钥令牌或密钥块(下文称为密钥令牌)的受保护的数据结构中。AESKW密钥令牌包含两个部分:密钥数据,其被加密以便保持密钥秘密;以及属性,其在密码上绑定到所述密钥以保护免于更改,但未经加密且不需要为秘密的。CCA密钥令牌包括绑定但不加密的控制向量、既不加密也不绑定的标志部分、以及加密的密钥数据。
在不同实施例中,传统CCA密钥(其可包括数据加密标准(DES)密钥或双倍长度或三倍长度三重DES(TDES)密钥)可被导出到AES保护的令牌以供传送,并且AES保护的令牌可被导入到TDES格式以供在接收系统上使用。接收系统处的CCA密钥与发送系统上的CCA密钥相对应;除了依赖于系统的值之外,导入系统上的CCA密钥中的密钥和属性可以与导出系统上的CCA密钥相同。当使用对称密钥技术进行加密时,CCA密钥使用其他CCA密钥进行加密,所述其他CCA密钥被称为密钥加密密钥(KEK)。然而,AES加密算法比TDES更强,因此,可以执行将传统CCA密钥用AES KEK封装以增强CCA密钥的安全性。
对于DES或TDES密钥,控制向量是长度与密钥本身相同的位序列,例如8、16字节。例如,对于16字节的控制向量,除了称为密钥形式字段的字段之外,第二个8字节与第一个8字节相同,所述密钥形式字段将其标识为双长度(16字节)控制向量的第二部分。控制向量由多个不同长度的位字段组成。每个位字段包含指示密钥的属性的值,并且控制向量字段由CCA固件检查以确定密钥是否有资格用于所请求的操作。控制向量中的许多位是多态的,这意味着它们的定义取决于由控制向量中的固定定义字段指示的密钥的总体类型而改变。不同类型的信息可被编码到CCA密钥的控制向量中,诸如密钥长度、以及密钥类型和子类型,其定义密钥可被使用的操作,诸如:加密/解密数据;计算/验证消息认证码;加密其他密钥(KEK);保护金融个人标识号(PIN);推导其他密钥;和/或计算信用卡验证值。控制向量中的导出控制字段指示密钥是否能够导出到另一系统。对于大多数密钥类型,控制向量进一步包括指示密钥可用于的特定低级操作或密钥可用于的特定数据格式的一个或多个字段。密钥长度可以由CCA令牌的控制向量中的三位密钥形式字段来指示。
AESKW过程对要被封装的密钥进行加密,但是它不对该密钥的关联数据进行加密。关联数据加密地绑定到密钥以便可以检测到任何改变,但是关联数据以明文(未加密)形式与密钥一起传输。由此,如果公开了其值,则可以降低安全性的信息不被放入关联数据中。在关联数据中携带由于以明文出现而不造成伤害(并且有时在不解密密钥令牌的情况下必须是可见的)的属性,而在加密的有效载荷中携带出于安全原因必须是秘密的那些属性。在以AESKW形式封装CCA密钥期间,密钥长度的指示从CCA令牌中的明文控制向量移动并被放置在AESKW令牌的经加密的有效载荷中。这允许在密钥处于加密令牌形式时隐藏加密密钥的强度;因为较短的密钥更容易攻击,所以知道密钥的长度将帮助攻击者识别最容易尝试和破坏的密钥。
现在转到图1,示出了用于CCA密钥的AES密钥封装的CCA密钥令牌100和AESKW密钥令牌104。在不同实施例中,CCA密钥令牌100可包括DES或TDES密钥,并且包括密钥数据101、控制向量102和标志103。密钥数据101保持密钥本身,并且被加密以供传送以保持密钥数据101秘密,但是当CCA密钥令牌100被存储在诸如硬件安全模块(HSM)的安全系统上时不被加密。控制向量102保持关于CCA密钥令牌100中的密钥数据101中的密钥的附加属性和信息,并且不被加密用于传输,而是绑定至CCA密钥令牌100以保护控制向量102中的数据免受更改。控制向量102由第一组字段CV1 102A和第二组字段CV2 102B组成,所述第一组字段是安全性关键的并且必须保密并且可以包括密钥的长度,所述第二组字段是安全性关键的并且必须被保护免受更改,但是不需要保密。标志103未被加密或绑定,并且保持关于CCA密钥令牌100的非安全关键信息。AESKW密钥令牌104包括加密的密钥数据105,该加密的密钥数据除了关于密钥的其他信息之外还保持密钥本身,并且被加密。关联数据106被绑定到AESKW密钥令牌104,但未被加密。为了使用AES封装CCA密钥令牌100,在加密的密钥数据105中使用AES对密钥数据101进行加密。控制向量102中的CV1 102A中的字段(其可以包括例如针对CCA密钥令牌100的密钥长度指示符)在加密的密钥数据105中用密钥数据101进行加密。控制向量102中的CV2 102B中的字段用于创建绑定但未加密的关联数据106。进一步,CCA密钥令牌100中的非绑定标志103被绑定到关联数据106中的AESKW密钥令牌。在一些实施例中,CV2 102B和标志103也可与AESKW密钥令牌104分开地从导出系统发射到导入系统。在不同实施例中,来自控制向量102的任何适当的字段可以包括在CV1 102A或CV2 102B中。
密钥数据101、控制向量102、标志103、经加密密钥数据105和关联数据106的一些实施例的额外布局信息可用。在一些实施例中,标志103的大小可以是1字节,并且因此可以支持八个1位标志。
图2示出了用于CCA密钥令牌的AES密钥封装的系统200的实施例。系统200包括导出系统201和导入系统206,它们各自可以包括任何适当类型的计算机系统,包括例如处理器和存储器。CCA密钥令牌202A被存储在导出系统201上的HSM 207中,该CCA密钥令牌202A包括关于图1的CCA密钥令牌100示出的字段并且包括控制向量,诸如控制向量102。为了导出CCA密钥令牌202A,导出系统201使用密钥导出函数203来封装CCA密钥令牌202A,以生成AESKW密钥令牌204,所述密钥导出函数203也位于HSM 207中并且在下文中关于图3A进一步详细讨论。AESKW密钥令牌204被加密以供传送,并且包括关于图1的AESKW密钥令牌104示出的字段,并且经由网络209被传送到导入系统206。网络209可以是导出系统201与导入系统206之间的任何类型的连接。AESKW密钥令牌204由导入系统206经由网络209接收。导入系统206使用密钥导入函数205来对AESKW密钥令牌204进行解封装并生成CCA密钥令牌202B以供在导入系统206上使用,所述密钥导入函数205位于HSM 208中并且在下文关于图3B进一步详细讨论。在一些实施例中,导入系统206上的CCA密钥令牌202B被安全地存储在HSM 208中,并且对应于导出系统201上的CCA密钥令牌202A。在其他实施例中,CCA密钥令牌202B被加密并被存储在HSM 208外部的导入系统208上。CCA密钥令牌202B可用于例如导出系统201与导入系统206之间的通信或导入系统206上的敏感数据(诸如个人标识号(PIN))的验证。
图3A示出了密钥导出函数300A的实施例,密钥导出函数300A可包括图2的密钥导出函数203并参见图1和2进行讨论。在一些实施例中,密钥导出函数300A可在导出系统201中的HSM 207中实现。密钥导出函数300A从CCA密钥令牌100/202中的控制向量102接收未加密的密钥数据101和CV1 102A作为密钥和CV1 303。CV2 102B和标志103被密钥导出函数300A接收为CV2和标志301,并且CV2和标志301的散列被从散列函数302输入到AESKW封装304中。在一些实施例中,散列函数302可以使用安全散列算法(SHA)-256散列函数来压缩CV2和标志301,从而提供足够短以用于AESKW封装304的输入的值。在一些实施例中,可以省略散列函数302,并且可以将CV2和标志301直接输入到AESKW封装304中以创建关联数据106。密钥和CV1 303由AESKW封装304使用AES KEK 305进行加密以生成封装密钥块306的加密的密钥数据105,该加密的密钥数据包括如图1中所示的AESKW密钥令牌104。CV2和标志301不被加密,但是CV2和标志301的散列作为关联数据106被包括在封装密钥块306中。CV2和标志301还通过在封装密钥块306中包括绑定信息而被绑定到封装密钥块306。CV2和标志301也作为未加密的明文与封装密钥块306一起从导出系统201传输至导入系统206。CV2和标志301与封装密钥块306的绑定确保将检测CV2和标志301中的任何变化,所述变化可能已经例如在传输期间发生。
图3B示出了密钥导入功能300B的实施例,所述密钥导入功能可以包括图2的密钥导入功能205并且关于图1和图2进行讨论。在一些实施例中,密钥导入功能300B可在导入系统206中的HSM 208中实现。密钥导入函数300B接收包括封装密钥块306的AESKW密钥令牌104/204、以及包括关联数据106的明文CV2和标志301。CV2和标志301由散列函数307散列,并且与封装密钥块306一起输入到AESKW解封装308。可省略散列函数307,且可将CV2和标志301直接输入到AESKW解封装308中。封装密钥块306由AESKW解封装308使用AES KEK 309来解密,并且输出为密钥和CV1 303。AESKW解封装308还基于CV2和标志301的散列和封装密钥块306中所包括的绑定信息来确定CV2和标志301是否在传输期间被更改。如果确定CV2和标志301未被更改,则在有效/无效输出310处输出有效标记,并且所接收的密钥可由导入系统206使用;否则,在有效/无效输出310处输出无效标志,并且不使用接收到的密钥;在一些实施例中,AESKW解封装308可以不基于无效标志输出密钥和CV1 303。密钥和CV1 303的密钥部分包括图1的未加密的密钥数据101;CV1(来自密钥和CV1 303)和CV2(来自CV2和标志301)一起包括图1的控制向量102,并且来自CV2和标志301的标志包括CCA密钥令牌100/202的标志103。
已经看到,在一些情况下,可能缺乏CV的完整性保护并且不能混淆密钥长度。
本发明的一个或多个实施例通过提供一种提供CV的完整性保护和密钥长度混淆的增强型密钥封装(WRAPENH3)方法来解决现有技术的上述缺点中的一个或多个。
以下部分将涉及DES密钥令牌结构,其被示出为具有用于WRAPENH3的更新。
Figure BDA0003383549890000061
Figure BDA0003383549890000071
Figure BDA0003383549890000081
Figure BDA0003383549890000091
CCA密码命令形成在防篡改硬件内执行的完整、一致和安全的命令集。密码命令使用一组不同的DES密钥类型,其提供阻止可针对其的许多攻击的安全密码系统。CCA实现使用控制向量来将固定长度的DES密钥分离成不同的密钥类型并进一步限制密钥的使用。控制向量是非秘密值,其连同它指定的加密密钥在DES/TDES密钥令牌中以明文携带。
CV通过密钥块封装方法加密地与DES/TDES密钥相关联。这永久地将CV绑定到被封装在密钥块中的密钥。对原始控制向量的任何改变将导致从解封装过程的完整性检查处理返回的错误。
在DES密钥被加密之后,密钥的发起者可通过仅向实现CCA控制向量设计并且由审核组织管理的系统给予密钥加密密钥来确保密钥的预期用途被保留。
在处理密码命令之前检查DES控制向量。
在CCA加密设施处理使用DES/TDES密钥的命令之前,设施的逻辑检查与密钥相关联的控制向量。控制向量必须指示所请求命令的有效密钥类型,且必须针对命令适当地设定任何控制向量限制(密钥使用)位。如果命令允许使用控制向量,则密码设施解封装密钥并使用密钥来处理命令。
控制向量具有用于这些目的的部分:通用密钥管理和密钥类型和密钥使用控制。对于通用密钥管理,这些字节具有应用于多个密钥类型(诸如密钥的导入/导出)的控制位。对于密钥类型和密钥使用控制,这些字节指示该密钥可用于什么服务和操作。
通用密钥管理CV字节
XPRTCPAC位(位59)使用系统内服务控制TDEA密钥的导出,并且默认为不允许导出的‘0’。注意在顶部的编号‘字节0…字节7’。密钥类型和使用的每个字节的分解一般为:字节0:计算/方法位,适用于某些密钥类型,字节1:密钥类型和子类型,字节2:使用或服务控制位,以及导出控制,并且位置16-22和33-37中的位一般对于每个密钥类具有不同的含义。
密钥类型/密钥使用CV字节
下表示出了密钥类型在被生成或导入时的默认CV字节设置。描绘了左半部和右半部。
Figure BDA0003383549890000092
Figure BDA0003383549890000101
Figure BDA0003383549890000111
封装操作
参见图4,WRAPENH3处理包括以下操作:密钥数据的链接(1)、封装密钥推导(2)、TDES-CMAC密钥推导(3)、TDES-CMAC计算(4)和密钥的CBC加密(5)。封装密钥和TDES-CMAC密钥推导操作使用唯一的16个标签作为密钥推导函数的输入。密钥数据的链接涉及使用SHA-256作为WRAPENH3的散列函数。TDES-CMAC计算涉及使用放置在CV2字段中的推导出的CMAC密钥在全密钥块上计算TDES-CMAC。
图4的操作(1)的密钥数据的链接。
待封装密钥(*K)从右向左链接以创建待封装的密钥(*KC)。
1.处理
a.密钥总是被封装为168位密钥
i.短于168位的密钥用0x00字节填充到右侧。
b.K3C=K3
c.K2C=K2^hash(K3)
i.确保K2和K3奇偶被调整
d.K1C=K1^hash(K2)
i.确保K1奇偶被调整
e.*KC=K1C||K2C||K3C
2.其中:
a.^表示逐位异或
b.||表示级联
c.hash是取决于算法的散列函数
i.For WRAPENH3:hash=SHA-256
图4的操作(2)的封装密钥推导。
推导出的封装密钥被输入到用于目标密钥令牌的封装过程。所推导出的封装密钥是通过利用对所实现的密钥分级结构唯一的16字节串的推导过程来推导的。对于WRAPENH3,封装密钥推导标签是唯一的16字节标签。密钥是使用在美国国家标准与技术研究所(NIST)标准SP 800-108,使用伪随机函数的密钥推导的推荐(2009年10月),定义的方法推导出的。推导将使用伪随机函数(PRF)HMAC-SHA256以计数器模式使用方法KDF。(PRF)HMAC-SHA256算法提供足够的强度来推导所使用的任何算法的密钥。HMAC算法被定义为:
a.HMAC(K,文本)=H((K0 XOR opad)||H((K0 XOR ipad)||文本))
b.其中:
i.H是被批准的散列函数。
ii.K是在发起方与预期的接收方之间共享的秘密密钥。
iii.K0密钥K在任何必要的预处理之后形成适当长度的密钥。
iv.ipad是重复以形成与K0相同长度的串的常数X'36'
v.opad是重复以形成与K0文本相同长度的字符串的常数X'5C',K0文本是要散列的文本。
vi.||表示级联
vii.XOR表示逐位异或
c.如果密钥K在长度上等于散列函数的输入块大小(对于SHA-256,为512位),则K0被设置为K的值。否则,通过散列或填充从K形成K0。
NIST密钥推导函数(KDF)规范要求可选地包括两个字节串、标签和上下文的输入。将不使用上下文。因为推导过程的安全性来源于推导密钥的安全性以及HMAC和密钥推导函数(KDF)本身,所以此标签串不必具有任何特定最小大小。NIST文档中指定的X’00’的分离指示符字节将跟随标签。
a.所使用的标签特定于令牌中所使用的封装方法。
b.在NIST标准SP 800-108中定义的计数器模式KDF的参数是:
i.固定值:
1.h PRF的输出长度,256位
2.r计数器的长度,以位计,32。计数器将是无符号的4字节值。
ii.输入:
1.KI(输入密钥)-从中导出的密钥。这是输入主密钥或KEK。
2.标签-如上所示,映射到KDF值
3.分隔符字节–标签值之后的X'00'。
4.上下文-空串。不使用上下文。
5.L-待产生的导出密钥的长度,四舍五入到256的下一倍数。
6.PRF-HMAC-SHA256.
图4的操作(3)的TDES-CMAC。
推导出的TDES-CMAC密钥用于在目标密钥令牌上创建TDES-CMAC。该操作与WRAPENH3“封装密钥推导(wrapping key derivation)”相同,具有不同的推导标签。封装密钥和TDES-CMAC密钥不允许相关,除非通过不可逆过程。推导过程利用16字节串,该16字节串对于正被实现的密钥分级结构而言是唯一的。对于WRAPENH3,TDES-CMAC密钥推导标签是唯一的16字节标签。
图4的操作(4)的TDES-CMAC计算。
在完成的密钥块上计算TDES-CMAC并且将其放置在CV2位置(偏移40)中。处理如下:
1.用以下填写密钥块
a.正常值,用于:
i.tokenFlag,
ii.reserved1,
iii.Oldmkvp,
iv.version(0x00),
v.reserved2,
vi.flags,
vii.mkvp,
b.设置为0x00
i.CV2/CMAC字段,
ii.tokenmarks,
iii.tvv
c.flags2具有’3’,二进制’011’,在位0-2中,在剩余位中为0b0
d.CV1就位,但是在所有情况下密钥形式设置为’011’
e.透明密钥值如下
i.K1,
ii.K2位置中的K2(或为0的字节,对于单长度密钥)
1.在存储双长度密钥时从未设置K2=K1,这弱化了密钥,因为K1和K2彼此抵消,这将看起来双长度密钥的密钥变成实际的单长度密钥
iii.K3位置中的K3(或为0的字节,对于单或双长度密钥)
2.使用来自“TDES-CMAC密钥导出”步骤的导出的CMAC密钥在全密钥块上计算8字节TDES-CMAC。
3.在CV2字段中放置8字节TDES-CMAC
图4的操作(5)的密钥的CBC加密。
被封装的密钥的加密如下继续进行*KEKC和*K:
e*KEK(*KC)=ecbcKEK3(dcbcKEK2(ecbcKEK1(K1C||K2C||K3C)))
其中:
1.K1C,K2C,K3C是来自“密钥数据的链接”步骤的*KC的修改段
2.KEK1,KEK2,KEK3是从“封装密钥导出”步骤的*KEK输出的部分
a.不存在内容到*KEK的XOR,不创建密钥变体以用作封装密钥
b.对于112-位*KEKs,KEK1用于KEK3
3.||表示级联
4.ecbc表示使用密码块链接模式的加密
5.dcbc表示使用密码块链接模式的解密。
6. 8字节的0x00用于encryption0的初始化向量
参见图5,提供了增强的密钥封装的方法,该方法包括提供具有控制透明密钥的使用的属性的透明密钥(501)。透明密钥包括在用密钥数据填充的或未被填充的至少第一8字节部分和第二和第三8字节部分中的密钥数据以及用于封装透明密钥的封装密钥。该方法进一步包括:将第一、第二和第三8字节部分与用于未填充到链式密钥数据中的那些8字节部分的零链接在一起(502);从封装密钥推导加密密钥和认证密钥(503);使用认证密钥计算透明密钥和属性上的认证码(504);使用加密密钥对链式密钥数据执行加密以生成加密的链式密钥数据(505);以及将认证码、属性和加密的链式密钥数据相加以形成密钥块(506)。
根据本发明的一个或多个实施例,属性可以包括控制如何使用透明密钥的一组属性。此外,可使用伪随机函数(PRF)算法和密钥推导函数(KDF)算法中的至少一个来推导封装密钥。此外,认证码可以是三倍长度数据加密标准基于密文的消息认证码(TDES-CMAC),并且加密包括密码块链接(CBC)加密。
参照图6,并且根据本发明的进一步实施例,该方法可进一步包括解封装密钥块。如图6所示,密钥块的解封装包括:基于用于对密钥块进行解封装的封装密钥提供解封装密钥(601);从解封装密钥推导解密密钥和认证密钥(602);使用解密密钥对加密的链式密钥数据执行解密以生成链式密钥数据(603);解除链式密钥数据的链接以生成密钥数据(604);以及使用认证密钥对密钥数据和属性计算认证码(605)。所述方法的解封装还可以包括验证所述认证码匹配所述密钥块的认证码(606)并且如果所述认证码不匹配所述密钥块的认证码/在所述认证码不匹配所述密钥块的认证码的情况下,返回错误(607)。
现在转到图7,其为用于增强的密钥封装的计算机系统700。本文中所描述的方法可在硬件、软件(例如,固件)或其组合中实施。在示范性实施例中,本文描述的方法以硬件实施为专用或通用数字计算机(诸如,个人计算机、工作站、小型计算机或大型计算机)的微处理器的部分。因此,系统700可以包括能够同时运行O/S的多个实例的通用计算机或大型机。
在示范性实施例中,就硬件架构而言,如图7所示,计算机包括一个或多个处理器705、耦合到存储器控制器715的存储器710、以及经由本地输入/输出控制器735通信地耦合的一个或多个输入和/或输出(I/O)设备740、745(或外围设备)。输入/输出控制器735可以是例如但不限于一个或多个总线或其他有线或无线连接,如本领域已知的。输入/输出控制器735可以具有为简单起见而省略的附加元件,诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器,以实现通信。进一步,本地接口可以包括地址、控制和/或数据连接以实现前述组件之间的适当通信。输入/输出控制器735可包含经配置以存取输出设备740和745的多个子通道。子信道可以包括光纤通信端口。
处理器705是用于执行软件的硬件设备,特别是存储在存储装置720(诸如高速缓存存储装置)或存储器710中的软件。处理器705可以是任何定制的或可商购的处理器、中央处理单元(CPU)、与计算机相关联的若干处理器中的辅助处理器、基于半导体的微处理器(呈微芯片或芯片组的形式)、宏处理器或一般而言用于执行指令的任何装置。
存储器710可以包括易失性存储器元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))和非易失性存储器元件(例如,ROM、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁带、致密盘只读存储器(CD-ROM)、磁盘、软盘、暗盒(cartridge)、卡式磁带等)中的任何一个或组合。此外,存储器710可包含电子、磁性、光学和/或其他类型的存储介质。注意,存储器710可以具有分布式架构,其中不同组件位于彼此远程,但是可以由处理器705访问。
存储器710中的指令可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能的可执行指令的有序列表。在图7的示例中,存储器710中的指令形成合适的操作系统(OS)711。操作系统711实质上控制其他计算机程序的执行并且提供调度、输入-输出控制、文件和数据管理、存储器管理、以及通信控制和相关服务。
存储器710可以包括多个逻辑分区(LPAR),每个逻辑分区运行操作系统的实例。LPAR可由管理程序管理,所述管理程序可为存储在存储器710中且由处理器705执行的程序。
在示范性实施例中,常规键盘750和鼠标755可耦合到输入/输出控制器735。诸如I/O设备740、745之类的其他输出设备可以包括输入设备,例如但不限于打印机、扫描仪、话筒等等。最后,I/O设备740、745可以进一步包括传送输入和输出两者的设备,例如但不限于网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统或网络)、射频(RF)或其他收发器、电话接口、桥接器、路由器等。系统700可进一步包含耦合到显示器730的显示控制器725。在示范性实施例中,系统700还可以包括用于耦合到网络765的网络接口760。网络765可以是用于经由宽带连接在计算机与任何外部服务器、客户端等之间通信的基于IP的网络。网络765在计算机和外部系统之间传输和接收数据。在示例性实施例中,网络765可以是由服务提供商管理的受管理的IP网络。网络765可以无线方式实现,例如使用无线协议和技术,例如WiFi、WiMax等。网络765也可以是分组交换网络,诸如局域网、广域网、城域网、互联网网络或其他类似类型的网络环境。网络765可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个域网(PAN)、虚拟专用网(VPN)、内联网或其他合适的网络系统,并且包括用于接收和传送信号的设备。
如果计算机是PC、工作站、智能设备等,则存储器710中的指令还可以包括基本输入输出系统(BIOS)(为了简化而省略)。BIOS是在启动时初始化和测试硬件、启动OS711并且支持硬件设备之间的数据传送的基本软件例程的集合。BIOS存储在ROM中,以便当计算机被激活时可以执行BIOS。
当计算机在操作中时,处理器705被配置成用于执行存储在存储器710内的指令、用于向和从存储器710传达数据、并且通常根据该指令来控制计算机的操作。
在此参考相关附图描述本发明的不同实施例。在不脱离本发明的范围的情况下,可以设计本发明的可替代实施例。在以下描述和附图中的元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有说明,这些连接和/或位置关系可以是直接的或间接的,并且本发明在这方面并示意图进行限制。因而,实体的耦合可以指直接或间接耦合,并且实体之间的位置关系可以是直接或间接位置关系。此外,本文所述的各种任务和处理步骤可并入到具有本文未详细描述的附加步骤或功能的更全面的程序或处理中。
本文中所描述的方法中的一者或一者以上可用以下技术中的任一者或组合来实施,这些技术在本领域中为众所周知的:具有用于对数据信号实施逻辑功能的逻辑门的离散逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
为了简洁起见,与制作和使用本发明的多个方面相关的常规技术可以或可以不在此详细描述。具体地,用于实现本文描述的不同技术特征的计算系统和特定计算机程序的不同方面是公知的。因而,为了简洁起见,许多常规实现细节在此仅简要地提及,或者完全省略,而不提供公知的系统和/或过程细节。
在一些实施例中,不同功能或动作可以在给定位置处和/或与一个或多个装置或系统的操作相结合地发生。在一些实施例中,可以在第一设备或位置处执行给定功能或动作的一部分,并且可以在一个或多个附加设备或位置处执行该功能或动作的剩余部分。
在此使用的术语仅用于描述具体实施例的目的并且不旨在是限制性的。如在此使用的,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外清楚地指示。将进一步理解的是,当在本说明书中使用术语“包括”和/或“包括”时,其指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件组件和/或其组的存在或添加。
以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行功能的任何结构、材料或动作。出于说明和描述的目的已经呈现了本公开,但本公开并不旨在是详尽的或局限于所公开的形式。在不背离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述实施例,以便最好地解释本公开的原理和实际应用,并且使得本领域普通技术人员能够针对具有适合于预期的特定用途的不同修改的不同实施例来理解本公开。
本文所描绘的图是说明性的。在不背离本公开的精神的情况下,可以对本文中描述的示图或步骤(或操作)进行许多变化。例如,这些动作可按不同次序执行,或动作可被添加、删除或修改。同样,术语“耦合”描述了在两个元件之间具有信号路径,并且不暗示这些元件之间的直接连接,其间没有中间元件/连接。所有这些变化被视为本公开的一部分。
以下定义和缩写用于解释权利要求书和说明书。如在此使用的,术语“包含(comprises/comprising)”、“包括(includes/including)”、“具有(has/having)”、或“含有(contains/containing)”或其任何其他变体旨在覆盖非排他性的包含。例如,包含一系列元素的组合物、混合物、处理、方法、制品或装置不一定仅限于那些元素,而是可包括此类组合物、混合物、处理、方法、制品或装置未明确列出的或非其固有的其他元素。
另外,术语“示例性”在此用于意指“充当示例、实例或说明。”在此描述为“示例性”的任何实施例或设计不一定被解释为比其他实施例或设计优选或有利。术语“至少一个”和“一个或多个”应理解为包括大于或等于一的任何整数,即,一个、两个、三个、四个等。术语“多个”应理解为包括大于或等于2的任何整数,即,两个、三个、四个、五个等。术语“连接”可以包括间接“连接”和直接“连接”两者。
术语“约”、“基本上”、“大约”及其变体旨在包括与基于在提交本申请时可用的设备的具体量的测量相关联的误差程度。例如,“约”可以包括给定值的±8%或5%、或2%的范围。
本发明可以是任何可能的集成技术细节水平的系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储介质(或介质),所述计算机可读程序指令用于致使处理器执行本发明的方面。
计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡或具有记录在其上的指令的凹槽中的凸起结构的机械编码设备、以及前述的任意合适组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(如Smalltalk、C++等)和过程式编程语言(如“C”编程语言或类似的编程语言)。计算机可读程序指令可完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个块中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,所述计算机可读存储介质可以指引计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得具有存储在其中的指令的计算机可读存储介质包括制品,所述制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
已经出于说明的目的呈现了本发明的不同实施例的描述,但并不旨在是穷尽性的或局限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择本文中所使用的术语以最佳地解释实施例的原理、实际应用或对市场中所发现的技术的技术改进,或使得所属领域的其他普通技术人员能够理解本文中所描述的实施例。

Claims (9)

1.一种增强的密钥封装的计算机实现的方法,所述计算机实现的方法包括:
提供具有控制所述透明密钥的使用的属性的透明密钥,所述透明密钥包括:
在至少第一8字节部分以及第二和第三8字节部分中的密钥数据;以及
封装密钥,用于封装所述透明密钥;
将所述第一、第二和第三8字节部分与用于未填充到链式密钥数据中的那些8字节部分的零链接在一起;
从所述封装密钥推导加密密钥和认证密钥;
使用所述认证密钥来计算所述透明密钥和所述属性上的认证码;
使用所述加密密钥对所述链式密钥数据执行加密以生成加密的链式密钥数据;以及
将所述认证码、所述属性和所述加密的链式密钥数据相加以形成密钥块。
2.根据权利要求1所述的计算机实现的方法,其中,所述属性包括控制要如何使用所述透明密钥的一组属性。
3.根据权利要求1所述的计算机实现的方法,其中,使用来自包括伪随机函数(PRF)算法和密钥推导函数(KDF)算法的组的选择推导所述封装密钥。
4.根据权利要求1所述的计算机实现的方法,其中,所述认证码是三倍长度数据加密标准基于密文的消息认证码(TDES-CMAC)。
5.根据权利要求1所述的计算机实现的方法,其中,所述加密包括密码块链接(CBC)加密。
6.根据权利要求1所述的计算机实现的方法,进一步包括解封装所述密钥块,所述解封装所述密钥块包括:
基于所述封装密钥提供解封装密钥以用于对所述密钥块进行解封装;
从所述解封装密钥推导解密密钥和认证密钥;
使用所述解密密钥对所述加密的链式密钥数据执行解密以生成链式密钥数据;
解除所述链式密钥数据的链接以生成密钥数据;以及
使用所述认证密钥来计算所述密钥数据和所述属性上的认证码。
7.根据权利要求6所述的计算机实现的方法,其中,所述解封装进一步包括:
验证所述认证码与所述密钥块的认证码匹配;以及
在所述认证码不匹配所述密钥块的认证码的情况下返回错误。
8.一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有实现在其上的程序指令,所述程序指令可由处理器执行以使所述处理器执行根据权利要求1至7中任一项所述的方法的步骤。
9.一种系统,包括:
具有计算机可读指令的存储器;以及
用于执行所述计算机可读指令的一个或多个处理器,所述计算机可读指令控制所述一个或多个处理器执行根据权利要求1至7中任一项所述的方法的步骤。
CN202111441445.XA 2020-12-14 2021-11-30 密钥块增强封装 Pending CN114629633A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/120,326 US11575520B2 (en) 2020-12-14 2020-12-14 Key block enhanced wrapping
US17/120,326 2020-12-14

Publications (1)

Publication Number Publication Date
CN114629633A true CN114629633A (zh) 2022-06-14

Family

ID=79269970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111441445.XA Pending CN114629633A (zh) 2020-12-14 2021-11-30 密钥块增强封装

Country Status (5)

Country Link
US (1) US11575520B2 (zh)
JP (1) JP2022094333A (zh)
CN (1) CN114629633A (zh)
DE (1) DE102021130643A1 (zh)
GB (1) GB2605676A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11818260B1 (en) * 2022-12-15 2023-11-14 Intuit Inc. Systems and methods for blocking decryption capabilities in symmetric key encryption

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003246A1 (en) * 2002-06-28 2004-01-01 Compaq Information Technologies Group, L.P. Method and system for secure storage, transmission and control of cryptographic keys
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US20120185699A1 (en) * 2011-01-14 2012-07-19 International Business Machines Corporation Space-efficient encryption with multi-block binding
US20150270955A1 (en) * 2014-03-21 2015-09-24 International Business Machines Corporation Key wrapping for common cryptographic architecture (cca) key token
CN107667499A (zh) * 2015-06-26 2018-02-06 英特尔公司 带密钥散列消息认证码处理器、方法、系统和指令

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918728A (en) 1989-08-30 1990-04-17 International Business Machines Corporation Data cryptography operations using control vectors
US20050149739A1 (en) 2003-12-31 2005-07-07 Hewlett-Packard Development Company, L.P. PIN verification using cipher block chaining
US7281068B2 (en) 2004-07-15 2007-10-09 International Business Machines Corporation Wireless-boot diskless mobile computing
US9264230B2 (en) 2011-03-14 2016-02-16 International Business Machines Corporation Secure key management
US8789210B2 (en) 2011-05-04 2014-07-22 International Business Machines Corporation Key usage policies for cryptographic keys
US8566913B2 (en) 2011-05-04 2013-10-22 International Business Machines Corporation Secure key management
US8675871B2 (en) 2011-05-31 2014-03-18 International Business Machines Corporation Protecting a control vector in an optional block of a standard key block
US8615081B2 (en) 2011-06-01 2013-12-24 International Business Machines Corporation Secure key creation
US8953789B2 (en) 2011-06-01 2015-02-10 International Business Machines Corporation Combining key control information in common cryptographic architecture services
US10303900B2 (en) * 2015-07-20 2019-05-28 Intel Corporation Technologies for secure programming of a cryptographic engine for trusted I/O
US20200082088A1 (en) * 2018-09-11 2020-03-12 Qualcomm Incorporated User/Enterprise Data Protection Preventing Non-Authorized Firmware Modification
US11675919B2 (en) * 2019-05-31 2023-06-13 Apple Inc. Separation of managed and unmanaged data in a computing device
US20210124818A1 (en) * 2019-10-23 2021-04-29 Qualcomm Incorporated Hardware-based throttling of user access
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US20040003246A1 (en) * 2002-06-28 2004-01-01 Compaq Information Technologies Group, L.P. Method and system for secure storage, transmission and control of cryptographic keys
US20120185699A1 (en) * 2011-01-14 2012-07-19 International Business Machines Corporation Space-efficient encryption with multi-block binding
US20150270955A1 (en) * 2014-03-21 2015-09-24 International Business Machines Corporation Key wrapping for common cryptographic architecture (cca) key token
CN107667499A (zh) * 2015-06-26 2018-02-06 英特尔公司 带密钥散列消息认证码处理器、方法、系统和指令

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LILY CHEN: "Recommendation for Key Derivation Using Pseudorandom Functions", pages: 9 - 10 *

Also Published As

Publication number Publication date
US11575520B2 (en) 2023-02-07
GB2605676A (en) 2022-10-12
GB202117084D0 (en) 2022-01-12
JP2022094333A (ja) 2022-06-24
DE102021130643A1 (de) 2022-06-15
US20220191039A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
US11615411B2 (en) POS system with white box encryption key sharing
US8953792B2 (en) Combining key control information in common cryptographic architecture services
US8615081B2 (en) Secure key creation
US10880100B2 (en) Apparatus and method for certificate enrollment
CN108475237A (zh) 存储器操作加密
US9252944B2 (en) Key wrapping for common cryptographic architecture (CCA) key token
KR102259962B1 (ko) 인증이 있는 암호 메시지명령
WO2020253469A1 (zh) 脚本文件包的热更新方法及装置
US9288051B2 (en) Secure key management
EP3025226A1 (en) Media client device authentication using hardware root of trust
US20120185699A1 (en) Space-efficient encryption with multi-block binding
CN112469036A (zh) 一种消息加解密方法、装置、移动终端和存储介质
CN111656345A (zh) 启用容器文件中加密的软件模块
CN109510702A (zh) 一种基于计算机特征码的密钥存储及使用的方法
US8856520B2 (en) Secure key management
CN114629633A (zh) 密钥块增强封装
US9306745B2 (en) Secure key management
CN103605927A (zh) 一种基于嵌入式Linux系统实现加密和解密方法
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
CN114788221A (zh) 带访问控制谓词的包装密钥
WO2021044465A1 (ja) 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造
EP3930254B1 (en) Method for setting permissions for cryptographic keys, computer program and cryptographic processing system
CN106611130A (zh) 一种文件处理方法和装置
CN117176325A (zh) 一种加密处理方法、解密处理方法及相关装置
CN116938463A (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