CN116964983A - 使用多个密码系统生成混合安全证书 - Google Patents
使用多个密码系统生成混合安全证书 Download PDFInfo
- Publication number
- CN116964983A CN116964983A CN202280016589.7A CN202280016589A CN116964983A CN 116964983 A CN116964983 A CN 116964983A CN 202280016589 A CN202280016589 A CN 202280016589A CN 116964983 A CN116964983 A CN 116964983A
- Authority
- CN
- China
- Prior art keywords
- digital signature
- cryptographic system
- data
- cryptographic
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000015654 memory Effects 0.000 claims description 57
- 238000000034 method Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 19
- SMBQBQBNOXIFSF-UHFFFAOYSA-N dilithium Chemical compound [Li][Li] SMBQBQBNOXIFSF-UHFFFAOYSA-N 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000005192 partition Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
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/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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- 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/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
通过使用多个密码系统生成混合安全证书来促进计算环境内的处理。所述生成包括:获得用于包括在所述混合安全证书中的数据;以及生成与第一密码系统相关联的第一数字签名以覆盖所述数据,以及生成与第二密码系统相关联的第二数字签名以覆盖所述数据。所述生成还包括提供所述混合安全证书,其中所述混合安全证书包括所述数据、与所述第一密码系统相关联的第一数字签名以及与所述第二密码系统相关联的第二数字签名,并且其中所述第一数字签名对所述第二密码系统的密钥或所述第二数字签名没有依赖性,所述第二数字签名对所述第一密码系统的密钥或所述第一数字签名没有依赖性。
Description
背景技术
一般而言,一个或多个方面涉及促进计算环境内的处理,并且具体地涉及促进计算环境内的安全通信。密码系统可以用在各种计算环境中,以促进在环境的实体之间安全地通信。
计算环境可以包括不同类型的处理器以增强处理。作为示例,计算环境可以包括被认为是主处理器的一个或多个中央处理单元(CPU)以及被认为从属于CPU的一个或多个附属处理器。附属处理器通常执行特定类型的任务。例如,附属处理器的特定示例是用于执行密码操作的密码(加密)卡。
发明内容
通过在一个或多个方面中提供了用于促进计算环境内的处理的计算机程序产品,克服了现有技术的某些缺点并且提供了附加的优点。计算机程序产品包括一个或多个计算机可读存储介质和共同存储在一个或多个计算机可读存储介质上的程序指令以执行一种方法。该方法包括使用多个密码系统生成混合安全证书。该生成包括:获得用于包括在所述混合安全证书中的数据;生成与所述多个密码系统中的第一密码系统相关联的第一数字签名以覆盖所述数据;以及生成与所述多个密码系统中的第二密码系统相关联的第二数字签名以覆盖所述数据。进一步地,生成混合安全证书包括提供所述混合安全证书,其中,所述安全证书包括所述数据、与第一密码系统相关联的第一数字签名以及与第二密码系统相关联的第二数字签名,并且其中,第一数字签名对第二密码系统的密钥或第二数字签名没有依赖性,第二数字签名对第一密码系统的密钥或第一数字签名没有依赖性。有利地,通过在混合安全证书中包括第一数字签名和第二数字签名,提供了更灵活和稳健的安全证书。进一步地,用于生成混合安全证书的多个密码系统可以包括任何可用的第一密码系统和第二密码系统。此外,使用如在本文公开的多个密码系统生成混合安全证书有利地促进密码安全从一个密码系统标准转变到另一个密码系统标准。根据一个或多个方面,在混合安全证书的第一数字签名和第二数字签名之间没有依赖性。
在一个或多个实施例中,生成与第一密码系统相关联的第一数字签名覆盖独立于第二密码系统的数据,并且与第二密码系统相关联的第二数字签名覆盖独立于第一密码系统的数据,其中,该数据不包括或不取决于第一密码系统或第二密码系统的任何属性或密钥。有利地,利用如本文所公开的混合安全证书生成,如果一致签名的属性改变,则不需要更新或改变签名。进一步地,每个签名更易于写入代码和解析,因为数据上的每个签名彼此独立。
在一个实施例中,所述第一密码系统包括非对称密码系统,所述第二密码系统包括抗量子密码系统。在一个实施方式中,抗量子密码系统包括基于晶格的密码方法。作为一个示例,第一密码系统是椭圆曲线密码(ECC)密码系统,第二密码系统是二锂密码系统。有利地,本文公开的混合安全证书生成可以包括第一密码系统和第二密码系统,所述第一密码系统是经认证的安全系统,诸如经认证的非对称密码系统,所述第二密码系统仍有待认证,但是是更抗量子的安全系统。例如,在一种实施方式中,第一密码系统可以是国家标准和技术研究所(NIST)认证的安全系统,第二密码系统可以是例如尚未认证的抗量子密码系统。
在一个或多个实施例中,生成混合安全证书包括将第一公钥与数据相关联,其中,第一公钥与第一密码系统相关联,并且生成第一数字签名在生成与第一密码系统相关联的第一数字签名时使用第一私钥来覆盖数据,其中,生成第一数字签名使用第一公钥的性质。在一个或多个另外的实施例中,生成所述混合安全证书包括将第二公钥与所述数据相关联,其中,所述第二公钥与所述第二密码系统相关联。进一步地,生成第二数字签名使用第二私钥来生成与第二密码系统相关联的第二数字签名以覆盖所述数据,其中,生成第二数字签名使用第二公钥的性质。有利地,生成第一数字签名对第二公钥、第二数字签名或第二密码系统的任何属性没有依赖性,生成第二数字签名对第一公钥、第一数字签名或第一密码系统的任何属性没有依赖性,其中第一数字签名和第二数字签名各自独立地覆盖所述数据。
在一个或多个实施例中,生成混合安全证书还包括生成与第三密码系统相关联的第三数字签名以覆盖所述数据,提供混合安全证书包括提供具有所述数据、与第一密码系统相关联的第一数字签名、与第二密码系统相关联的第二数字签名以及与第三密码系统相关联的第三数字签名的混合安全证书,其中,在第一数字签名、第二数字签名和第三数字签名之间不存在依赖性。有利地,在本文中公开的混合安全证书生成可扩展至任何数量N的签名格式或密码系统(其中N≥2),诸如在证书中利用三个或更多个独立签名来覆盖所述数据,而无需签名之间的依赖性。以此方式,提供了更稳健的混合安全证书。
在一个实施例中,提供混合安全证书还包括将所述数据、第一数字签名和第二数字签名包在单个区分编码规则(DER)序列中。
此外,在一个或多个实施方式中,所述混合安全证书包括签名者信息(SignerInfo)块,所述签名者信息块包括与第一密码系统相关联的第一公钥、第一数字签名以及与第二密码系统相关联的第二公钥和第二数字签名。
本文中还描述了并要求保护与一个或多个方面有关的计算机系统和计算机实现的方法。此外,本文还描述了并可以要求保护与一个或多个方面有关的服务。
通过在本文中描述的技术实现附加特征和优点。本发明的其他实施例和方面在本文中详细描述,并且被认为是所要求保护的方面的一部分。
附图说明
本发明的一个或多个方面被特别指出并且清楚地被要求保护为在说明书结尾处的权利要求中的示例。通过以下结合附图的详细描述,本发明的上述和其他目的、特征和优点将变得显而易见,其中:
图1A描绘了结合和使用本发明的一个或多个方面的计算环境的一个实施例;
图1B描绘了结合和使用本发明的一个或多个方面的计算环境的另一个实施例;
图2描绘了根据本发明的一个或多个方面的具有安全通信的计算环境内的过程流的一个实施例;
图3是示出根据本发明的一个或多个方面的示例混合安全证书的框图;
图4是示出根据本发明的一个或多个方面的混合安全证书的更详细的示例的框图;
图5A-图5B描绘了根据本发明的一个或多个方面的与促进计算环境内的处理相关的方面的一个实施例;
图6A描绘了结合和使用本发明的一个或多个方面的计算环境的一个示例;
图6B描绘了结合和使用本发明的一个或多个方面的计算环境的另一个示例;
图6C描绘了根据本发明的一个或多个方面的图6B的存储器的进一步细节的一个示例;
图6D描绘了根据本发明的一个或多个方面的图6B的存储器的进一步细节的另一示例;
图7A描绘了结合和使用本发明的一个或多个方面的计算环境的另一个示例;
图7B描绘了根据本发明的一个或多个方面的图7A的存储器的进一步细节;
图8描绘了根据本发明的一个或多个方面的云计算环境的一个实施例;以及
图9描绘了根据本发明的一个或多个方面的抽象模型层的一个示例。
具体实施方式
附图进一步说明了本发明,并且与本发明的具体实施方式一起用来解释本发明的各方面,其中,贯穿分开的视图,相同的附图标记指代相同或功能相似的元素,并且附图被结合在本说明书中并形成说明书的一部分。应注意,在这点上,省略对众所周知的系统、设备、密码系统、处理技术等的描述,以便不会不必要地详细地模糊本发明。然而,应当理解,具体实施方式和这个(多个)具体示例虽然指示本发明的方面,但仅通过说明而非限制的方式给出。对于本领域技术人员来说,根据本公开,在基本发明构思的精神或范围内的各种替换、修改、添加和/或其他布置将是显而易见的。另外要注意的是,在本文中公开了多个创造性方面和特征,并且除非不一致,否则每个公开的方面或特征可与在本文中公开的概念的具体应用所需要的任何其他公开的方面或特征组合。
还应注意,以下使用具体代码、设计、架构、密码系统、协议、布局、示意图或工具描述了说明性实施例,仅作为示例,而不是作为限制。此外,为了清楚描述,在某些实例中使用特定软件、工具或数据处理环境仅作为示例来描述说明性实施例。说明性实施例可以结合其他可比较的或相似目的的结构、系统、应用或架构使用。说明性实施例的一个或多个方面可以在硬件、软件或其组合中实现。
如本领域技术人员所理解的,如在本申请中提及的程序代码可以包括软件和硬件两者。例如,在本发明的某些实施例中的程序代码可以包括固定功能硬件,但是其他实施例可以利用所描述的功能的基于软件的实施方式。某些实施例组合了两种类型的程序代码。程序代码(也称为一个或多个程序或程序指令)的一个示例在图6A中描述为存储在计算机系统602的存储器606中的应用程序616、计算机可读程序指令620和/或密码系统622,以及存储在由计算机系统602访问的数据存储设备634中的程序636和计算机可读程序指令638中的一个或多个。
如上所述,密码系统可用于各种计算环境中以促进安全通信。在一个或多个实施例中,密码系统(cryptography system)(或密码系统(cryptosystem))提供安全证书或数字证书以促进安全通信,诸如在计算系统内或在计算系统之间。
更具体地,密码术是安全处理中的基本工具。当应用必须与其他分布式元素通信,或断言或确认正被处理的数据的有效性时,通常使用密码术。如所指出的,在一个或多个实施例中,计算环境可以包括不同类型的处理器来增强处理。作为示例,计算环境可包括被认为是主处理器的一个或多个中央处理单元(CPU)以及被认为从属于CPU的一个或多个附属处理器。附属处理器通常执行具体类型的任务。例如,特定类型的附属处理器是用于执行密码操作的密码(密码术)卡。
由(美国)纽约州阿蒙克的国际商业机器公司提供的密码卡的示例是4769PCIe密码协处理器,其是包括在高安全性、防篡改、可编程外围组件互连快速(PCIe)板上实现的安全协处理器的硬件安全模块(HSM)。(IBM是国际商业机器公司在至少一个管辖区域中的注册商标。)容纳在篡改响应者环境中的专用密码电子装置、微处理器、存储器和随机数生成器提供了可以在其中执行数据处理和加密的高度安全子系统。敏感密钥材料从不以清楚格式暴露于物理安全边界之外。
IBM 4769PCIe密码协处理器被设计为满足联邦信息处理标准(FIPS)140-2第4级,这是商业密码设备可用的最高级别的认证。这个密码卡可以用作普适加密和企业安全系统的一部分。
例如,由(美国)纽约州阿蒙克的国际商业机器公司提供的密码卡应用的示例是附有信道的Crypto ExpressTM卡(其中,Crypto Express是国际商业机器公司在至少一个管辖区域中的商标)。Crypto Express卡被定义为支持多种类型的命令,诸如使用加密密钥的命令、使用清除密钥的命令、散列命令、查询命令、随机数生成器命令等。此外,CryptoExpress卡被设计成支持多种模式,诸如例如公共密码架构(CCA)模式、加速器模式和企业公钥密码标准(PKCS)(又名XCP/EP11-企业PKCS#11模式)。每个模式可被配置为处理特定类型的命令。作为示例,应用可以包括金融PIN交易、银行到结算所交易、基于集成电路(芯片)的信用卡的信用交易、使用对称密钥算法的通用密码应用、散列算法、公钥算法等。在一个或多个实施方式中,操作密钥(对称或非对称私钥(RSA或椭圆曲线))在协处理器中生成,然后保存在例如密钥库文件或应用存储器中,在该协处理器的主密钥下加密。具有同一匹配密钥的任何协处理器然后可以使用这些密钥。在一个或多个实施方式中,可以在某些大型计算环境上支持诸如本文中描述的密码系统和/或密码卡,诸如IBM z/计算环境(其中z//>是国际商业机器公司在至少一个管辖区域中的注册商标)。
证书(在本文中被称为安全证书或数字证书)是用于证明密码密钥的所有权和真实性的电子文档或数据文件。目前使用的证书通常结合单个密码系统,即,证书包含使用同一密码系统生成的一个密钥和一个签名。在实践中,密码系统通常是非对称密码系统,诸如椭圆曲线密码(ECC)密码系统。
如今使用的非对称密码系统将变得容易受到运行在量子计算机上的算法的攻击。因此,希望转变到更能抵抗传统计算机和量子计算机两者的攻击的密码系统。这样的密码系统的一个候选是二锂密码系统,该二锂密码系统是即使在量子计算机的存在下也可以保持安全稳健性的若干基于晶格的密码方法之一。
当今使用中,二锂密钥和签名远大于ECC密钥和签名。例如,ECC公钥为约160字节,ECC签名略超过200字节长,ECC私钥约250字节长(尽管私钥可以或多或少地从秘密数据的仅72字节立即重新创建)。相比之下,二锂强度密钥的对应值分别为近2400字节、略小于4700字节和超过7500字节。进一步,可以从约64字节的秘密数据重新创建二锂私钥。
目前,标准和认证机构(诸如国家标准和技术研究所(NIST))尚未达到标准抗量子密码系统,并且将不会认证仅依赖于这样的密码系统来保证安全性的实施方式。作为解决方案,可以采用诸如本文所公开的混合安全证书方法。
如本文所解释的,在一个或多个实施方式中,在一个或多个处理器上执行的程序代码生成混合安全证书,所述混合安全证书包括两个密钥和两个签名,一个集合使用第一密码系统生成,另一集合使用第二密码系统生成。例如,仅在一个实施方式中,第一密码系统是NIST认证的非对称密码系统,另一个密码系统是抗量子密码系统,仍待NIST认证。以此方式,提供了广泛支持不同密码系统标准之间的非破坏性向上迁移的混合安全证书生成设施。随着未来密码系统标准改变,诸如密钥和/或签名的长度,可以采用本文所公开的混合安全证书生成设施。例如,在一个实施方式中,为了实现认证,诸如以上讨论的密码适配器/密码卡可以继续使用经认证的密码系统方法,诸如ECC密码系统,并且还包括有待认证的、更抗量子的密码系统方法。因此,在一个或多个实施例中,为了维持NIST合规性,本文公开的混合安全证书生成设施利用多个密码系统,并且提供包括多个密钥和多个数字签名的混合安全证书,其中密钥和签名对彼此独立。
本发明的实施例包括计算机程序产品、计算机系统和方法,其中,在一个或多个处理器(诸如一个或多个协处理器或附属处理器)上执行的程序代码使用多个密码系统生成混合安全证书。所述生成包括:获得用于包括在所述混合安全证书中的数据;生成与多个密码系统中的第一密码系统相关联的第一数字签名以覆盖所述数据;以及生成与多个密码系统中的第二密码系统相关联的第二数字签名以覆盖所述数据。生成所述混合安全证书还包括提供所述混合安全证书,其中所述混合安全证书包括所述数据、与所述第一密码系统相关联的所述第一数字签名以及与所述第二密码系统相关联的所述第二数字签名,并且其中所述第一数字签名对所述第二密码系统的密钥或所述第二数字签名没有依赖性,所述第二数字签名对所述第一密码系统的密钥或在所述第一数字签名中没有依赖性。
在一个或多个实施例中,在一个或多个处理器上执行的程序代码生成与第一密码系统相关联的第一数字签名以覆盖独立于第二密码系统的数据,并且生成与第二密码系统相关联的第二数字签名以覆盖独立于第一密码系统的数据,其中,数据不包括或不取决于第一密码系统或第二密码系统的任何属性或密钥。在一个实施方式中,数据包括要被保护的元数据,并且证书生成可以(例如)与微引导处理和/或认证处理(诸如出站认证管理器处理)相关联。进一步,在一个实施例中,第一密码系统是非对称密码系统,第二密码系统是抗量子密码系统,诸如基于晶格的密码系统。在一个特定实施方式中,所述第一密码系统为椭圆曲线密码(ECC)密码系统,所述第二密码系统为二锂密码系统。
在一个或多个实施方式中,生成所述混合安全证书还包括在一个或多个处理器上执行的使第一公钥与所述数据相关联的程序代码,其中,所述第一公钥与所述第一密码系统相关联,并且其中,生成第一数字签名在生成与第一密码系统相关联的第一数字签名时利用第一私钥来覆盖所述数据。第一数字签名的生成还使用第一公钥的性质。在一个或多个另外的实施例中,在所述一个或多个处理器上执行的程序代码通过将第二公钥与所述数据相关联来生成所述混合安全证书,其中,所述第二公钥与所述第二密码系统相关联,并且其中,生成所述第二数字签名使用第二私钥来生成与所述第二密码系统相关联的所述第二数字签名以覆盖所述数据。第二数字签名的生成还利用第二公钥的性质。
在一个或多个实施例中,在一个或多个处理器上执行的程序代码通过生成与第三密码系统相关联的第三数字签名以覆盖所述数据来生成混合安全证书,其中提供混合安全证书包括提供具有所述数据、与第一密码系统相关联的第一数字签名、与第二密码系统相关联的第二数字签名以及与第三密码系统相关联的第三数字签名的混合安全证书,并且其中在第一数字签名、第二数字签名和第三数字签名之间不存在依赖性或重叠。
在一个或多个实施方式中,生成所述混合安全证书还包括将所述数据、所述第一数字签名和所述第二数字签名包在单个区分编码规则(DER)序列中。进一步,在一个实施例中,所生成的混合安全证书包括签名者信息块,所述签名者信息块包括与所述第一密码系统相关联的第一公钥、所述第一数字签名以及与所述第二密码系统相关联的第二公钥和所述第二数字签名。
本发明的实施例与计算密不可分,并且提供明显多于现有安全证书方法。例如,本发明的实施例提供在一个或多个处理器上执行的程序代码以利用以计算为中心的数据处理技术,以便使用多个密码系统生成混合安全证书。有利地,在一个或多个处理器上执行的程序代码提供混合安全证书,其中混合证书包括由证书保护的数据、与第一密码系统相关联的第一数字签名以及与第二密码系统相关联的第二数字签名,并且其中第一数字签名对第二密码系统的任何属性或密钥或第二数字签名没有依赖性,第二数字签名对第一密码系统的任何属性或密钥或第一数字签名没有依赖性。
所使用的计算元素、系统或节点的互连性以及程序代码所使用的计算机专有的数据处理技术都实现本发明的各个方面。进一步,本发明的实施例通过提供混合安全证书来提供明显多于现有的用于生成安全证书的方法,其中如果一致的签名部分或子部分的属性改变,则不需要更新或改变签名部分或子部分。进一步,混合证书的每个签名更易于写入和解析代码,因为覆盖数据的每个签名彼此独立。进一步,在确定混合安全证书的给定签名之前,不要求将每个证书的字段或子部分置零,或者具有任何特定值。进一步,本文公开的混合安全证书生成设施可扩展到任何数目N的签名格式或密码系统,诸如被利用来覆盖要被保护的数据的三个或更多个独立签名。
有利地,通过包括第一数字签名和第二数字签名,提供了更稳健的安全证书,特别是在量子计算机的存在下。在一个或多个实施方式中,第一密码系统可以是经NIST认证的安全系统,第二密码系统可以是,例如,尚未认证的抗量子密码系统。
仅通过示例的方式,参考图1A描述了结合和使用本发明的一个或多个方面的计算环境的一个实施例。在一个示例中,计算环境100包括至少一个中央处理单元102和至少一个附属处理器(AP)104,它们中的每一个耦合到存储器(被称为系统存储器106)的至少一部分。作为一个示例,系统存储器106包括硬件系统区域,所述硬件系统区域对在中央处理单元上执行的程序是间接可访问的和不可见的。(间接可访问在本文中用于意味着硬件系统区域或存储在其中的附属处理器队列(以下描述)仅可由特定的受限指令访问而不能以其他方式访问(例如,不能加载到其中,程序不知道地址等))。一个或多个附属处理器队列108位于系统存储器内。这些队列从用户程序不是直接可见的,而是被视为机器(即,包括中央处理单元、系统存储器和附属处理器的机器)的一部分。中央处理单元通过例如发出将请求放置在队列上和/或从队列中移除回复的指令来访问系统存储器中的队列。然而,附属处理器确实经由例如传输层110直接访问队列,并且负责将请求从队列取出、处理请求和将对请求的回复放置在队列上。
参考图1B描述了结合和使用本发明的一个或多个方面的计算环境的另一个实施例。在此实施例中,机器包括虚拟支持,且存在包括多个客户152(例如,客户操作系统和/或客户程序)的至少一个主机中央处理单元150。主机中央处理单元耦合到存储器的至少一部分,称为系统存储器154。另外,存在至少一个附属处理器156,其也经由例如传输层160耦合到系统存储器154。作为一个示例,系统存储器154包括硬件系统区域,并且位于系统存储器内的是一个或多个附属处理器队列158。
如所指示的,存在不同类型的附属处理器,包括但不限于密码卡或适配器。密码卡的具体示例是由纽约州阿蒙克的国际商业机器公司提供的Crypto Express卡。尽管提供了示例密码卡,但是由国际商业机器公司和/或其他公司提供的其他密码卡可以结合和/或使用本发明的一个或多个方面。进一步,其他类型的处理器可以结合和/或使用本发明的一个或多个方面。
在一个实施例中,诸如加密卡(例如,Crypto Express卡)之类的附属处理器可以支持多种模式,包括但不限于协处理器模式、加速器模式和企业公钥加密标准(PKCS)模式(例如,XCP/EP11-企业PKCS#11),作为示例。另外,在其他示例中,可以支持更少的模式和/或其他模式。每种模式可以具有其自己的AP消息结构和格式。
作为示例,附属处理器消息由多个数据段组成,并且数据段可以彼此不相邻;相反,一个或多个可以被交织。这些数据段被称为分散聚集数据段。在一个示例中,加密卡没有直接访问入队的AP消息,并且消息的一部分(例如,AP消息的底部)包含将由例如密码卡用于执行AP命令的数据。因此,AP命令传输层(例如,传输层110、160)复制来自AP命令请求消息的相关数据,以密码卡理解的格式(例如,密码卡的命令请求消息)封装相关数据,并且将其发送给密码卡。类似地,在由密码卡执行AP命令之后,AP命令传输层使用AP命令请求消息的各个部分和密码卡的命令回复消息生成AP命令回复消息并且将其发送给AP队列以稍后由程序来出队。
本文相对于特定架构(诸如由纽约州阿蒙克的国际商业机器公司提供的z/硬件架构)来描述混合安全证书设施的方面。z//>硬件架构的一个实施例描述于2019年9月的IBM第SA22-7832-12号出版物第13版“z/ArchitecturePrinciples of Operation”中,特此通过引用以其全文结合在此。然而,z/Architecture硬件架构仅为一个示例架构。本发明的各方面还可基于其他架构,包括但不限于英特尔x86架构、国际商业机器公司的其他架构和/或其他公司的架构。
作为示例,图2描绘了计算环境200的一个实施例,其中命令请求/回复消息(即,数据)可以使用密码适配器/密码卡处理来获得混合安全证书,诸如本文中描述的。在图2的实施例中,密码处理器可以是诸如以上结合图1A和图1B的实施例描述的附属处理器。参考图2,步骤210,在一个实施例中,密码请求210由诸如客户202(例如,例如云环境中的客户应用或客户操作系统)的请求者创建。在一个示例中,AP命令请求消息可被编码,并被提供给管理程序204。
步骤220,管理程序204从客户202获得(例如,接收、取回、提供等)密码请求,并且被处理用于转发。该处理可包括,例如,基于请求者的计算策略,考虑将被处理用于请求者的可允许的命令类型。管理程序204将请求消息210提供给附属处理器(例如,密码处理器208)。例如,管理程序204经由例如系统总线206向附属处理器发送或转发请求消息,或者附属处理器经由系统总线206以其他方式获得(例如取回)请求消息。
步骤230,附属处理器,诸如密码处理器208(在该示例中)处理请求。假设允许该请求,则对其进行处理(例如,执行命令的操作),并且生成密码处理器回复240(步骤240),在一个实施例中,密码处理器回复240可以包括将回复放置在AP命令回复消息中,并且经由例如传输层(例如,传输层)将其发送给客户202(步骤250)。回复可以包括处理结果,诸如生成的混合安全证书,诸如本文中描述的。
图3描绘了根据本发明的一个或多个方面的混合安全证书300格式的一个实施例。如本文所描述的,所描绘的证书广泛地支持不同密码标准之间(即,不同密码系统方法之间)的非破坏性向上迁移。因此,随着未来密码标准改变,包括密钥长度和签名,所公开的混合证书格式可用于促进从一个密码标准到另一个密码标准的转变。在所描绘的实施例中,混合安全证书300包括多个部分或子部分,包括数据部分310、第一密码系统公钥和数字签名部分320,以及第二密码系统公钥和数字签名部分330。要注意的是,仅仅通过示例的方式提供了两个密码系统公钥和数字签名部分。如本文中所解释的,生成混合安全证书可以容易地扩展到使用三个或更多个密码系统,在这种情况下,每个密码系统将具有图3中所描绘的混合安全证书格式内的相应部分或子部分。
如图3所示,数据部分310是证书主体,并且可包括要处理和/或保护的消息/数据(例如,元数据)。第一密码系统公钥和数字签名320仅覆盖数据310,与第二密码系统公钥和数字签名330的任何字段或数据完全无关,第二密码系统公钥和数字签名330覆盖数据310,并且对第一密码系统公钥和数字签名320的任何字段或数据没有依赖性。以此方式,如果一致签名或密钥部分的属性发生改变,则不需要更新证书中的签名或密钥部分。进一步,如所指出的,本文公开的混合安全证书生成设施可扩展到任何N个签名格式,其中N是在正被保护的证书主体数据上的两个或更多个签名。
如图所示,在一个实施方式中,区分编码规则(DER)序列301可以用于将整个混合安全证书包起来或者对整个混合安全证书进行编码。可替代地,在一个或多个其他实施方式中,可以用相应的DER序列将每个部分310、320、330包起来。在一个实施方式中,如图所示,第一密码系统公钥和数字签名部分320以及第二密码系统公钥和数字签名第二330可以被分组为签名者信息块,其与数据部分310相关联。在这样的实施例中,可以用相应的DER序列将签名者信息块包起来。
图4描绘了根据本发明的一个或多个方面的混合数字证书的更详细的表示。在图4的实施例中,混合数字证书400包括用于包括在证书410中的数据。例如,在一个实施例中,被保护的数据包括元数据,诸如版本号411、序列号412等,和/或消息或其他数据。数据410由第一密码系统公钥和数字签名420以及第二密码系统公钥和数字签名430覆盖或保护,其中,第一密码系统信息和第二密码系统信息彼此完全独立,并且在第一密码系统信息和第二密码系统信息之间在密钥、签名或其他属性中不存在重叠。
如图所示,在一个实施例中,第一密码系统公钥和数字签名420可以包括第一签名算法ID 421、第一公钥信息422和第一证书签名算法423,其中,所述信息以及数据410由与第一密码系统相关联(例如,依照第一密码系统提供)的第一数字签名424进行数字签名或保护。
类似地,第二密码系统公钥和数字签名430可以包括例如第二签名算法ID 431、第二公钥信息432和第二证书签名算法433,其中,所述信息连同数据410由与第二密码系统相关联(例如,依照第二密码系统提供)的第二数字签名434进行数字签名或保护。以此方式,第一密码系统公钥及数字签名和第二密码系统公钥及数字签名彼此完全独立,而两者仍然保护混合数字证书内的数据。
以下参照图5A-图5B概述了与促进计算环境内的处理有关的方面的一个实施例的细节。
参照图5A,在一个实施例中,处理器(诸如附属处理器)使用多个密码系统生成混合安全证书(500)。生成混合安全证书包括:获得用于包括在混合安全证书中的数据(502),生成与多个密码系统中的第一密码系统相关联的第一数字签名以覆盖所述数据(504);以及生成与多个密码系统中的第二密码系统相关联的第二数字签名以覆盖所述数据(506)。进一步,生成混合安全证书包括提供混合安全证书,其中混合安全证书包括所述数据、与第一密码系统相关联的第一数字签名以及与第二密码系统相关联的第二数字签名,并且其中第一数字签名对第二密码系统的密钥或第二数字签名没有依赖性,第二数字签名对第一密码系统的密钥或第一数字签名没有依赖性(508)。
在一个实施例中,生成与第一密码系统相关联的第一数字签名覆盖独立于第二密码系统的数据,并且生成与第二密码系统相关联的第二数字签名覆盖独立于第一密码系统的数据,其中,所述数据不包括或不取决于第一密码系统或第二密码系统的任何属性或密钥(510)。
在一个或多个实施方式中,所述第一密码系统包括非对称密码系统,所述第二密码系统包括抗量子密码系统(512)。在一个实施例中,抗量子密码系统包括基于晶格的密码方法。例如,在一个或多个实施例中,第一密码系统包括椭圆曲线密码(ECC)密码系统,第二密码系统包括二锂密码系统(516)。
参照图5B,在一个实施例中,生成混合安全证书还包括将第一公钥与所述数据相关联,其中,第一公钥与第一密码系统相关联,并且其中,生成第一数字签名在生成与第一密码系统相关联的第一数字签名中使用第一私钥来覆盖数据,并且生成第一数字签名使用第一公钥的性质(518)。
在一个实施例中,生成混合安全证书还包括将第二公钥与所述数据相关联,其中,第二公钥与第二密码系统相关联,并且其中,生成第二数字签名在生成与第二密码系统相关联的第二数字签名时使用第二私钥来覆盖数据,其中,生成第二数字签名还使用第二公钥的性质(520)。
在一个或多个实施例中,生成混合安全证书还包括生成与第三密码系统相关联的第三数字签名以覆盖所述数据,其中提供混合安全证书包括提供具有所述数据、与第一密码系统相关联的第一数字签名、与第二密码系统相关联的第二数字签名以及与第三密码系统相关联的第三数字签名的混合安全证书,并且其中第一数字签名、第二数字签名和第三数字签名之间不存在依赖性(522)。
在一个实施例中,提供混合安全证书包括将数据、第一数字签名和第二数字签名包在单个区分编码规则(DER)序列中(524)。在一个或多个实施例中,混合安全证书包括签名者信息块,所述签名者信息块包括与第一密码系统相关联的第一公钥、第一数字签名,以及与第二密码系统相关联的第二公钥和第二数字签名(526)。
有利地,本文公开的混合安全证书生成设施和混合安全证书格式可用于各种计算环境中,包括例如公共密钥基础设施环境中。在这样的环境中,密码系统可用于通过公共信道安全地通信。例如,一些密码系统通过对消息进行加密来提供机密性,一些密码系统通过数字签名来提供真实性。许多密码系统包括使用密码密钥的协议。例如,在公钥基础设施(PKI)中,密码密钥包括用于每个实体的公钥和私钥,证书权威机构可以发布安全证书以认证公钥。在一个或多个实现方式中,证书权威机构可利用诸如本文所公开的混合安全证书。
其他变型和实施例是可能的。
本发明的一个或多个方面的混合安全证书设施可以在许多计算环境中合并和使用。参考图6A描述了一个示例计算环境。作为示例,计算环境基于由纽约州阿蒙克的国际商业机器公司提供的z/硬件架构。然而,z/Architecture硬件架构仅是一个示例架构。计算环境还可以基于其他架构,包括但不限于英特尔x86架构、国际商业机器公司的其他架构和/或其他公司的架构。
如图6A所示,计算环境600包括例如以通用计算设备的形式示出的计算机系统602。计算机系统602可以包括但不限于经由一个或多个总线和/或其他连接610彼此耦合的一个或多个处理器或处理单元604(例如,中央处理单元(CPU))、存储器606(例如,系统存储器、主存储器、主存储装置、中央存储装置或存储装置,作为示例)以及一个或多个输入/输出(I/O)接口608。
总线610表示若干类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)。
存储器606可包含(例如)高速缓冲存储器612,诸如共享高速缓冲存储器,其可耦合到处理器604的本地高速缓冲存储器614。进一步,存储器606可以包括一个或多个程序或应用616、至少一个操作系统618、一个或多个计算机可读程序指令620和多个密码系统622。计算机可读程序指令620和密码系统622可被配置为执行本发明的各方面的实施例的功能。
在一个实施例中,存储器606(例如,存储器606的至少硬件系统区域)经由一个或多个附属处理器总线623并且在一个或多个实施例中经由AP传输层耦合到一个或多个附属处理器621。
计算机系统602可以经由例如I/O接口608与一个或多个外部设备630(诸如用户终端、磁带驱动器、定点设备、显示器和一个或多个数据存储设备634等)通信。数据存储设备634可以存储一个或多个程序636、一个或多个计算机可读程序指令638和/或数据等。该计算机可读程序指令可以被配置为执行本发明的多个方面的实施例的功能。
计算机系统602还可以经由例如I/O接口608与网络接口632通信,网络接口632使计算机系统602能够与一个或多个网络通信,诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网),提供与其他计算设备或系统的通信。
计算机系统602可以包括和/或耦合到可移动/不可移动、易失性/非易失性计算机系统存储介质。例如,它可以包括和/或耦合到不可移动、非易失性磁介质(通常被称为“硬盘驱动器”)、用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器和/或用于从可移动、非易失性光盘(如CD-ROM、DVD-ROM或其他光介质)读取或向其写入的光盘驱动器上。应当理解,其他硬件和/或软件组件可以与计算机系统602结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统等。
计算机系统602可以与许多其他通用或专用计算系统环境或配置一起操作。适于与计算机系统602一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机(PC)系统、服务器计算机系统、薄客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。
下面参照图6B描述结合和使用本发明的一个或多个方面的计算环境的另一个示例。作为示例,图6B的计算环境可基于由国际商业机器公司提供的z/硬件架构。然而,z/Architecture硬件架构仅为一个示例架构。再次,计算环境还可以基于其他架构,包括但不限于英特尔x86架构、国际商业机器公司的其他架构和/或其他公司的架构。
在一个示例中,计算环境650包括中央电子复合体(CEC)652。CEC 652包括多个组件,例如,耦接到一个或多个处理器(又名,中央处理单元(CPU))656和输入/输出(I/O)子系统658的存储器654(又名,系统存储器、主存储器、主存储装置、中央存储装置、存储装置)。进一步,在一个实施例中,存储器654(例如,存储器654的至少硬件系统区域)经由一个或多个附属处理器总线并且在一个或多个实施例中经由AP传输层耦合到一个或多个附属处理器657。
I/O子系统658可以是中央电子复合体的一部分或与其分离。它引导主存储装置654与输入/输出控制单元660和耦合到中央电子复合体的输入/输出(I/O)设备662之间的信息流。
可以使用许多类型的I/O设备。一种特定类型是数据存储设备664。数据存储设备664可以存储一个或多个程序666、一个或多个计算机可读程序指令668和/或数据等。该计算机可读程序指令可以被配置为执行本发明的多个方面的实施例的功能。
中央电子复合体652可以包括和/或耦合到可移动/不可移动、易失性/非易失性计算机系统存储介质。例如,它可以包括和/或耦合到不可移动、非易失性磁介质(通常被称为“硬盘驱动器”)、用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器和/或用于从可移动、非易失性光盘(诸如CD-ROM、DVD-ROM或其他光介质)读取或向其写入的光盘驱动器上。应当理解,其他硬件和/或软件部件可以与中央电子复合体652结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统等。
进一步,中央电子复合体652可以与许多其他通用或专用计算系统环境或配置一起操作。可以适用于与中央电子复合体652一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机(PC)系统、服务器计算机系统、薄客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。
在一个或多个实施例中,中央电子复合体652提供逻辑分区和/或虚拟化支持。在一个实施例中,如图6C所示,存储器654包括例如一个或多个逻辑分区670、管理逻辑分区的管理程序672和处理器固件674。管理程序672的一个示例是由纽约州阿蒙克的国际商业机器公司提供的处理器资源/系统管理器(PR/SM)。如本文所使用的,固件包括例如处理器的微代码。其包括例如在更高级机器代码的实现中使用的硬件级指令和/或数据结构。在一个实施例中,其包括例如通常作为微代码递送的专有代码,微代码包括可信软件或特定于底层硬件的微代码,并控制操作系统对系统硬件的访问。
每个逻辑分区670能够用作单独的系统。即,每个逻辑分区可以独立地重置、运行客户操作系统676(诸如由纽约州阿蒙克的国际商业机器公司提供的z/操作系统)或其他控制代码678(诸如耦合设施控制代码(CFCC)),以及与不同的程序680一起操作。在逻辑分区中运行的操作系统或应用程序看起来访问全部和完整的系统,但实际上,只有其一部分是可用的。虽然提供z/OS作为示例,但是可以根据本发明的一个或多个方面使用其他操作系统。
存储器654耦合到CPU 656(图6B),CPU 656是可以被分配给逻辑分区的物理处理器资源。例如,逻辑分区670包括一个或多个逻辑处理器,每个逻辑处理器表示可动态地分配给逻辑分区的物理处理器资源656的全部或共享。
在又一实施例中,中央电子复合体提供虚拟机支持(有或者没有逻辑分区支持)。如图6D所示,中央电子复合体652的存储器654包括例如一个或多个虚拟机690、管理虚拟机的虚拟机管理器(诸如管理程序692)和处理器固件694。管理程序692的一个示例是由纽约州阿蒙克的国际商业机器公司提供的z/管理程序。管理程序有时被称为主机。z/OS和z/VM是国际商业机器公司在至少一个管辖区域中的商标或注册商标。
CPC的虚拟机支持提供操作大量虚拟机690的能力,每个虚拟机能够与不同的程序696操作并运行客户操作系统698,诸如操作系统。每个虚拟机690能够充当单独的系统。即,每个虚拟机可被独立地重置、运行客户机操作系统,以及用不同程序来操作。在虚拟机中运行的操作系统或应用程序看起来能够访问全部和完整的系统,但实际上,只有其一部分是可用的。虽然提供z/VM和Linux作为示例,但是根据本发明的一个或多个方面可以使用其他虚拟机管理器和操作系统。注册商标/>是根据来自Linux基金会(LinusTorvalds的专有被许可者,在全球基础上的标记的所有者)的子许可来使用的。
参考图7A描述了结合和使用本发明的一个或多个方面的计算环境的另一个实施例。在该示例中,计算环境700包括例如经由例如一个或多个总线718和/或其他连接彼此耦合的本机中央处理单元(CPU)712、存储器714以及一个或多个输入/输出设备和/或接口716。作为示例,计算环境710可以包括由纽约州阿蒙克的国际商业机器公司提供的处理器;由加利福尼亚州帕洛阿尔托的惠普公司提供的具有英特尔Itanium II处理器的HP Superdome;和/或基于由国际商业机器公司、惠普公司、英特尔公司、甲骨文公司或其他公司提供的架构的其他机器。PowerPC是在至少一个管辖区域中的国际商业机器公司的商标或注册商标。Intel和Itanium是Intel公司或其子公司在美国和其他国家的商标或注册商标。
本机中央处理单元712包括一个或多个本机寄存器720,诸如在环境内的处理期间使用的一个或多个通用寄存器和/或一个或多个专用寄存器。这些寄存器包括表示在任何特定时间点的环境状态的信息。
此外,本机中央处理单元712执行存储在存储器714中的指令和代码。在一个特定示例中,中央处理单元执行存储在存储器714中的仿真器代码722。该代码使得在一个架构中配置的计算环境能够仿真另一架构。例如,仿真器代码722允许基于除了z/Architecture硬件架构之外的架构的机器(诸如PowerPC处理器、HP Superdome服务器或其他)来仿真z/Architecture硬件架构,并且执行基于z/Architecture硬件架构开发的软件和指令。
参照图7B描述与仿真器代码722相关的进一步细节。存储在存储器714中的客户指令730包括软件指令(例如,与机器指令相关),所述软件指令被开发为在不同于本机CPU712的架构的架构中执行。例如,客户指令730可能已经被设计成基于z/Architecture硬件架构在处理器上执行,但取而代之的是在本地CPU 712上仿真,本机CPU 712可以是例如Intel Itanium II处理器。在一个示例中,仿真器代码722包括指令提取例程732,以从存储器714获得一个或多个客户指令730,并且可选地提供对所获得的指令的本地缓冲。其还包含指令转换例程734以确定已获得的客户指令的类型且将客户指令转换为一或多个对应本机指令736。该转换包括,例如,识别要由客户指令执行的功能并选择本机指令来执行该功能。
进一步,仿真器代码722包括使本机指令被执行的仿真控制例程740。仿真控制例程740可使本机CPU 712执行仿真一个或多个先前获得的客户指令的本机指令例程,且在此执行结束时,将控制返回到指令提取例程以仿真下一客户指令或一组客户指令的获得。本机指令736的执行可包括将数据从存储器714加载到寄存器中;将数据从寄存器存储回到存储器;或执行如由转换例程确定的某一类型的算术或逻辑操作。
例如,每一例程以软件实施,所述软件存储在存储器中且由本机中央处理单元712执行。在其他示例中,例程或操作中的一个或多个以固件、硬件、软件或其某种组合来实现。可使用本机CPU的寄存器20或通过使用存储器714中的位置来仿真经仿真的处理器的寄存器。在各实施例中,客户指令30、本机指令36和仿真器代码722可驻留在同一存储器中或可分布在不同存储器设备之间。
进一步,在一个实施例中,计算环境710包括耦合到存储器714的一个或多个附属处理器715。一个或多个附属处理器在一个架构中被定义并且被配置为仿真另一架构。例如,附属处理器获得被仿真的架构的客户命令,将客户命令转换成一个架构的本机命令并执行该本机命令。
上文所描述的计算环境仅为可使用的计算环境的示例。可以使用其他环境,包括但不限于非分区环境、分区环境、云环境和/或模拟环境;实施例不限于任何一个环境。尽管本文描述了计算环境的不同示例,但本发明的一个或多个方面可与许多类型的环境一起使用。本文提供的计算环境仅为示例。
每个计算环境能够被配置成包括本发明的一个或多个方面。例如,根据本发明的一个或多个方面,每一个可以被配置用于混合安全证书设施。
虽然本文描述了各种实施例,但是在不脱离本发明的方面的精神的情况下,许多变型和其他实施例是可能的。应注意,除非另外不一致,否则本文所述的每个方面或特征及其变型可与任何其他方面或特征组合。
一个或多个方面可涉及云计算。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务递送的模型,用于使能方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构薄客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务多个消费者,其中不同的物理资源和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的薄客户机接口从不同客户机设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定的应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织操作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公有)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,专注于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图8,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点52,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点52可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公有云或混合云,或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图8中所示的计算设备54A-N的类型仅旨在是说明性的,并且计算节点52和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参见图9,示出了由云计算环境50(图8)提供的一组功能抽象层。提前应当理解,图9所示的组件、层和功能仅仅是说明性的,本发明的实施例不限于此。如所描绘的,提供了以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储装置72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户机75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟课堂教育递送93;数据分析处理94;事务处理95;以及混合安全证书处理96。
本发明的各方面可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备,或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,因特网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程式程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个框以及流程图和/或框图中框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的部件。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个框中规定的功能/动作的方面的指令的制品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个框,以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
除了上述之外,一个或多个方面可由提供客户环境的管理的服务提供商来提供、给予、部署、管理、服务等。例如,服务提供商可为一个或多个客户创建、维护、支持等执行一个或多个方面的计算机代码和/或计算机基础设施。作为回报,作为示例,服务提供商可以根据订阅和/或费用协议从客户接收支付。另外或可替代地,服务提供商可以从广告内容向一个或多个第三方的销售接收支付。
在一个方面,可以部署用于执行一个或多个实施例的应用。作为一个示例,应用的部署包括提供可操作以执行一个或多个实施例的计算机基础设施。
作为又一方面,可以部署计算基础设施,包括将计算机可读代码集成到计算系统中,其中代码与计算系统组合能够执行一个或多个实施例。
作为又一方面,可提供一种用于集成计算基础设施的过程,所述过程包括将计算机可读代码集成到计算机系统中。计算机系统包括计算机可读介质,其中计算机介质包括一个或多个实施例。代码与计算机系统组合能够执行一个或多个实施例。
尽管以上描述了各种实施例,但这些实施例仅是示例。例如,其他架构的计算环境可以用于合并和使用一个或多个实施例。进一步,可以使用不同的指令、命令或操作。另外,可以指定不同类型的指示或标签。许多变化是可能的。
本文描述了各个方面。此外,在不背离本发明的各方面的精神的情况下,许多变化是可能的。应注意,除非另外不一致,否则本文所述的每个方面或特征及其变体可与任何其他方面或特征组合。
进一步,其他类型的计算环境可有益并被使用。作为示例,适合于存储和/或执行程序代码的数据处理系统是可用的,其包括通过系统总线直接或间接地耦合到存储器元件的至少两个处理器。存储器元件包括例如在程序代码的实际执行期间使用的本地存储器、大容量存储器和高速缓冲存储器,该高速缓冲存储器提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储器检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备、DASD、磁带、CD、DVD、拇指驱动器和其他存储器介质等)可以直接地或通过中间的I/O控制器耦合到系统。网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有网络或公共网络耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是一些可用类型的网络适配器。
本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在进行限制。如本文中使用的,除非上下文另有明确指示,否则单数形式的“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括”和/或“包含”时,其指定所述特征、整体、步骤、操作、元素和/或组件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其组合的存在或添加。
以下权利要求中的所有部件或步骤加上功能元件的对应结构、材料、动作和等效物(如果有的话)旨在包括用于结合如具体要求保护的其他要求保护的元件来执行所述功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了对一个或多个实施例的描述,但并不旨在是详尽的或限于所公开的形式。对于本领域普通技术人员而言,许多修改和变型将是显而易见的。选择和描述实施例以便最好地解释各个方面和实际应用,并且使本领域的其他普通技术人员能够理解具有适合于预期的特定用途的不同修改的不同实施例。
Claims (20)
1.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质以及共同存储在所述一个或多个计算机可读存储介质上的程序指令以执行一种方法,所述方法包括:
使用多个密码系统生成混合安全证书,所述生成包括:
获得用于包括在所述混合安全证书中的数据;
生成与所述多个密码系统中的第一密码系统相关联的第一数字签名以覆盖所述数据;
生成与所述多个密码系统中的第二密码系统相关联的第二数字签名以覆盖所述数据;以及
提供所述混合安全证书,其中,所述混合安全证书包括所述数据、与所述第一密码系统相关联的所述第一数字签名以及与所述第二密码系统相关联的所述第二数字签名,并且其中,所述第一数字签名对所述第二密码系统的密钥或所述第二数字签名没有依赖性,所述第二数字签名对所述第一密码系统的密钥或所述第一数字签名没有依赖性。
2.根据权利要求1所述的计算机程序产品,其中,与所述第一密码系统相关联的所述第一数字签名覆盖独立于所述第二密码系统的数据,与所述第二密码系统相关联的所述第二数字签名覆盖独立于所述第一密码系统的数据,其中,所述数据不包括或不取决于所述第一密码系统或所述第二密码系统的任何属性或密钥。
3.根据权利要求1所述的计算机程序产品,其中,所述第一密码系统包括非对称密码系统,所述第二密码系统包括抗量子密码系统。
4.根据权利要求3所述的计算机程序产品,其中,所述抗量子密码系统包括基于晶格的密码方法。
5.根据权利要求1所述的计算机程序产品,其中,所述第一密码系统包括椭圆曲线密码(ECC)密码系统,所述第二密码系统包括二锂密码系统。
6.根据权利要求1所述的计算机程序产品,其中,生成所述混合安全证书还包括:
将第一公钥与所述数据相关联,所述第一公钥与所述第一密码系统相关联;并且
其中,生成所述第一数字签名在生成与所述第一密码系统相关联的所述第一数字签名时使用第一私钥来覆盖所述数据,并且其中,生成所述第一数字签名使用所述第一公钥的性质。
7.根据权利要求6所述的计算机程序产品,其中,生成所述混合安全证书还包括:
将第二公钥与所述数据相关联,所述第二公钥与所述第二密码系统相关联;并且
其中,生成所述第二数字签名使用第二私钥来生成与所述第二密码系统相关联的所述第二数字签名以覆盖所述数据,并且其中,生成所述第二数字签名使用所述第二公钥的性质。
8.根据权利要求1所述的计算机程序产品,其中,生成所述混合安全证书还包括:
生成与第三密码系统相关联的第三数字签名以覆盖所述数据;并且
其中,提供所述混合安全证书包括提供具有所述数据、与所述第一密码系统相关联的所述第一数字签名、与所述第二密码系统相关联的所述第二数字签名以及与所述第三密码系统相关联的所述第三数字签名的所述混合安全证书,其中,所述第一数字签名、所述第二数字签名和所述第三数字签名之间不存在依赖性。
9.根据权利要求1所述的计算机程序产品,其中,提供所述混合安全证书包括将所述数据、所述第一数字签名和所述第二数字签名包在单个区分编码规则(DER)序列中。
10.根据权利要求9所述的计算机程序产品,其中,所述混合安全证书包括签名者信息块,所述签名者信息块包括与所述第一密码系统相关联的第一公钥、所述第一数字签名以及与所述第二密码系统相关联的第二公钥和所述第二数字签名。
11.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:
存储器;以及
至少一个处理器,所述至少一个处理器与所述存储器通信,其中,所述计算机系统被配置为执行一种方法,所述方法包括:
使用多个密码系统生成混合安全证书,所述生成包括:
获得用于包括在所述混合安全证书中的数据;
生成与所述多个密码系统中的第一密码系统相关联的第一数字签名以覆盖所述数据;
生成与所述多个密码系统中的第二密码系统相关联的第二数字签名以覆盖所述数据;以及
提供所述混合安全证书,其中,所述混合安全证书包括所述数据、与所述第一密码系统相关联的所述第一数字签名以及与所述第二密码系统相关联的所述第二数字签名,并且其中,所述第一数字签名对所述第二密码系统的密钥或所述第二数字签名没有依赖性,所述第二数字签名对所述第一密码系统的密钥或所述第一数字签名没有依赖性。
12.根据权利要求11所述的计算机系统,其中,与所述第一密码系统相关联的所述第一数字签名覆盖独立于所述第二密码系统的数据,与所述第二密码系统相关联的所述第二数字签名覆盖独立于所述第一密码系统的数据,其中,所述数据不包括或不取决于所述第一密码系统或所述第二密码系统的任何属性或密钥。
13.根据权利要求11所述的计算机系统,其中,所述第一密码系统包括非对称密码系统并且所述第二密码系统包括抗量子密码系统,所述抗量子密码系统包括基于晶格的密码方法。
14.根据权利要求11所述的计算机系统,还包括:
将第一公钥与所述数据相关联,所述第一公钥与所述第一密码系统相关联,其中,生成所述第一数字签名在生成与所述第一密码系统相关联的所述第一数字签名时使用第一私钥来覆盖所述数据,生成所述第一数字签名使用所述第一公钥的性质;以及
将第二公钥与所述数据相关联,所述第二公钥与所述第二密码系统相关联,其中,生成所述第二数字签名使用第二私钥来生成与所述第二密码系统相关联的所述第二数字签名以覆盖所述数据,生成所述第二数字签名使用所述第二公钥的性质。
15.根据权利要求11所述的计算机系统,还包括:
生成与第三密码系统相关联的第三数字签名以覆盖所述数据;并且
其中,提供所述混合安全证书包括提供具有所述数据、与所述第一密码系统相关联的所述第一数字签名、与所述第二密码系统相关联的所述第二数字签名以及与所述第三密码系统相关联的所述第三数字签名的所述混合安全证书,其中,所述第一数字签名、所述第二数字签名和所述第三数字签名之间不存在依赖性。
16.根据权利要求11所述的计算机系统,其中,提供所述混合安全证书包括将所述数据、所述第一数字签名和所述第二数字签名包在单个区分编码规则(DER)序列中。
17.一种促进计算环境内的处理的计算机实现的方法,所述计算机实现的方法包括:
使用多个密码系统生成混合安全证书,所述生成包括:
获得用于包括在所述混合安全证书中的数据;
生成与所述多个密码系统中的第一密码系统相关联的第一数字签名以覆盖所述数据;
生成与所述多个密码系统中的第二密码系统相关联的第二数字签名以覆盖所述数据;以及
提供所述混合安全证书,其中,所述混合安全证书包括所述数据、与所述第一密码系统相关联的所述第一数字签名以及与所述第二密码系统相关联的所述第二数字签名,并且其中,所述第一数字签名对所述第二密码系统的密钥或所述第二数字签名没有依赖性,所述第二数字签名对所述第一密码系统的密钥或所述第一数字签名没有依赖性。
18.根据权利要求17所述的计算机实现的方法,其中,与所述第一密码系统相关联的所述第一数字签名覆盖独立于所述第二密码系统的数据,与所述第二密码系统相关联的所述第二数字签名覆盖独立于所述第一密码系统的数据,其中,所述数据不包括或不取决于所述第一密码系统或所述第二密码系统的任何属性或密钥。
19.根据权利要求17所述的计算机实现的方法,其中,所述第一密码系统包括非对称密码系统并且所述第二密码系统包括抗量子密码系统,所述抗量子密码系统包括基于晶格的密码方法。
20.根据权利要求17所述的计算机实现的方法,其中,生成所述混合安全证书还包括:
将第一公钥与所述数据相关联,所述第一公钥与所述第一密码系统相关联,其中,生成所述第一数字签名在生成与所述第一密码系统相关联的所述第一数字签名时使用第一私钥来覆盖所述数据,生成所述第一数字签名使用所述第一公钥的性质;以及
将第二公钥与所述数据相关联,所述第二公钥与所述第二密码系统相关联,其中,生成所述第二数字签名使用第二私钥来生成与所述第二密码系统相关联的所述第二数字签名以覆盖所述数据,生成所述第二数字签名使用所述第二公钥的性质。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/184,996 | 2021-02-25 | ||
US17/184,996 US11764972B2 (en) | 2021-02-25 | 2021-02-25 | Generating a hybrid security certificate using multiple cryptosystems |
PCT/EP2022/052875 WO2022179838A1 (en) | 2021-02-25 | 2022-02-07 | Generating a hybrid security certificate using multiple cryptosystems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116964983A true CN116964983A (zh) | 2023-10-27 |
Family
ID=80735602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280016589.7A Pending CN116964983A (zh) | 2021-02-25 | 2022-02-07 | 使用多个密码系统生成混合安全证书 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11764972B2 (zh) |
EP (1) | EP4298756A1 (zh) |
JP (1) | JP2024510893A (zh) |
CN (1) | CN116964983A (zh) |
WO (1) | WO2022179838A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7404077B1 (en) | 1999-01-29 | 2008-07-22 | International Business Machines Corporation | Extension of X.509 certificates to simultaneously support multiple cryptographic algorithms |
US7685423B1 (en) | 2000-02-15 | 2010-03-23 | Silverbrook Research Pty Ltd | Validation protocol and system |
WO2008085579A2 (en) | 2006-10-25 | 2008-07-17 | Spyrus, Inc. | Method and system for deploying advanced cryptographic algorithms |
EP2672414A1 (en) * | 2012-06-08 | 2013-12-11 | Sodge IT GmbH | Method for transferring configuration data to controller devices, a system and a computer program product |
US9660978B1 (en) * | 2016-08-08 | 2017-05-23 | ISARA Corporation | Using a digital certificate with multiple cryptosystems |
US11552806B2 (en) * | 2018-08-01 | 2023-01-10 | Cable Television Laboratories, Inc. | Systems and methods for enhanced public key infrastructure |
US10425401B1 (en) * | 2018-10-31 | 2019-09-24 | ISARA Corporation | Extensions for using a digital certificate with multiple cryptosystems |
RU2750628C2 (ru) * | 2019-06-28 | 2021-06-30 | Акционерное общество "Лаборатория Касперского" | Система и способ определения уровня доверия файла |
-
2021
- 2021-02-25 US US17/184,996 patent/US11764972B2/en active Active
-
2022
- 2022-02-07 EP EP22709613.8A patent/EP4298756A1/en active Pending
- 2022-02-07 WO PCT/EP2022/052875 patent/WO2022179838A1/en active Application Filing
- 2022-02-07 JP JP2023551161A patent/JP2024510893A/ja active Pending
- 2022-02-07 CN CN202280016589.7A patent/CN116964983A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2024510893A (ja) | 2024-03-12 |
EP4298756A1 (en) | 2024-01-03 |
US11764972B2 (en) | 2023-09-19 |
US20220271944A1 (en) | 2022-08-25 |
WO2022179838A1 (en) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11533174B2 (en) | Binding secure objects of a security module to a secure guest | |
US10360602B2 (en) | Metering accelerator usage in a computing system | |
EP3935536B1 (en) | Secure execution guest owner controls for secure interface control | |
CN116530050A (zh) | 使用同态加密进行安全计算资源部署 | |
US11475167B2 (en) | Reserving one or more security modules for a secure guest | |
US11108567B2 (en) | Compute digital signature authentication verify instruction | |
US20230040577A1 (en) | Secure guest image and metadata update | |
EP4381404A1 (en) | Attestation of a secure guest | |
CN113424491B (zh) | 执行加密计算标量乘法指令 | |
CN117940900A (zh) | 存储安全虚拟机的诊断状态 | |
CN117751352A (zh) | 延迟收回安全访客资源 | |
US11764972B2 (en) | Generating a hybrid security certificate using multiple cryptosystems | |
WO2023279933A1 (en) | Accelerated cryptographic-related processing | |
US11791979B2 (en) | Accelerated cryptographic-related processing with fractional scaling | |
US20230043503A1 (en) | Confidential data provided to a secure guest via metadata |
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 |