CN104012036B - 组合式数字证书 - Google Patents
组合式数字证书 Download PDFInfo
- Publication number
- CN104012036B CN104012036B CN201280062244.1A CN201280062244A CN104012036B CN 104012036 B CN104012036 B CN 104012036B CN 201280062244 A CN201280062244 A CN 201280062244A CN 104012036 B CN104012036 B CN 104012036B
- Authority
- CN
- China
- Prior art keywords
- certificate
- mrow
- computer
- private key
- msub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/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]
-
- 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种系统(2),该系统(2)可包括:存储器(6)以及处理单元(8),该存储器存储计算机可读指令;该处理单元访问该存储器(6)并且执行计算机可读指令。计算机可读指令可包括证书管理器(10),其被配置以请求产生N个随机值,其中N是大于或者等于一的整数;证书管理器(10)可还被配置以从至少两个不同证书机构(12)中的至少一个证书机构(12)请求数字证书。该请求可包括N个随机值中的给定一个。证书管理器(10)可还被配置以产生公私钥对的私钥(16),其中所述私钥(16)是基于至少两个证书机构(12)的每一个的私钥产生的。
Description
技术领域
本发明一般涉及数字证书,更具体地涉及用于产生组合式数字证书的设备和方法。
背景技术
公钥加密是指要求两个不同钥匙的加密系统,一个用于锁定或者加密明码文本,另一个用于解锁或者解密密文。这些钥匙中的一个是公开或者公共的(公钥),另一个保持私有(私钥)。如果锁定/加密钥匙是公开的那个,则系统使得能够进行从公众到解锁钥匙的拥有者的私有通信。如果解锁/解密钥匙是公开的那个,则系统用作被私钥的拥有者锁定的文档的签名验证器。
可以使用若干不同的公钥原语来提供数字签名。一些是基于离散对数问题并且称为基于离散对数的公钥加密系统。公钥加密系统可以在各种方案中用以提供保密性、完整性、认证或者认可功能。可通过诸如公钥数字证书这样的数字证书来实现认可或者认证。公钥数字证书可以包括两部分:数据和数据的签名。数据可包括公钥和受信第三方(证书机构,CA)的订户的唯一标识符。在订户的公钥上的CA的签名在订户的公钥和订户的身份(ID)之间传达真实绑定。
发明内容
一个示例涉及系统,该系统可包括存储器以及处理单元,该存储器存储计算机可读指令;该处理单元访问该存储器并且执行计算机可读指令。计算机可读指令可包括证书管理器,其被配置以请求产生N个随机值,其中N是大于或者等于一的整数;证书管理器可还被配置以从至少两个证书机构中的至少一个证书机构请求数字证书。该请求可包括N个随机值中的给定一个。证书管理器可还被配置以产生公私钥对的私钥,其中所述私钥是基于至少两个证书机构的每一个的私钥产生的。
另一个示例涉及用于产生组合式数字证书的方法。该方法可包括:在计算机产生N个值,其中N是大于或者等于二的整数;该方法可还包括:从所述计算机向N个证书机构中的对应证书机构提供包括N个随机值中的给定一个的请求。该方法可还包括:在所述计算机从所述N个证书机构中的每个接收数字证书;该方法可还包括:在所述计算机基于从所述N个证书机构的每一个接收到的数据的组合产生针对所述计算机的私钥;该方法可还包括:在所述计算机基于从所述N个证书机构的每一个接收到的每一个数字证书的组合产生组合式数字证书。
再一个示例涉及用于产生组合式数字证书的方法。该方法可包括:在计算机产生随机值。该方法可还包括:将所述随机值从所述计算机提供到两个证书机构中的第一个;该方法可还包括:在所述计算机从所述两个证书机构中的第二个接收数字证书。该数字证书可以基于在第一个证书机构产生的数字证书。该方法可还包括:在所述计算机基于来自所述两个证书机构的每一个的数字产生针对所述计算机的私钥;该方法可还包括:在所述计算机基于在所述计算机接收到的数字证书中包括的数据产生组合式数字证书。
附图说明
图1示出用于产生组合式数字证书的系统的示例。
图2A和图2B示出用于产生组合式证书的示例方法的流程图。
图3A和图3B示出用于产生组合式证书的示例方法的另一个流程图。
图4示出用于产生组合式数字证书的系统的另一个示例。
具体实施方式
在一个示例中,可采用计算机,诸如加密处理器来产生并且管理组合式数字证书。组合式数字证书可包括用于产生公钥的数据,该公钥是基于从多个证书机构接收到的数据产生的。另外,计算机还可产生对应的私钥,该私钥可以与组合式数字证书分开(并且安全地)存储。私钥还可基于从多个证书机构提供的数据。这样,即使未许可的用户(例如,黑客)破坏多个证书机构中的一个,这种未许可的用户不能够确定私钥。
图1示出用于产生和管理组合式数字证书3的系统2的示例。可通过采用任意离散对数公钥系统诸如,但不限于艾尔伽马而(El-Gamal)签名、斯诺尔(Schnorr)签名、数字安全算法(DSA)或者其变体来产生组合式数字证书3。这些方案中的任何一个可使用椭圆曲线加密法(ECC),其固有地提供低存储和计算要求。系统2可包括例如计算机4,其包括用于存储机器可读指令的存储器6。计算机4可以被实现成例如加密处理器、专用集成电路芯片(ASIC)、智能卡、智能电话、台式计算机、笔记本计算机等。存储器6可以被实现为例如非瞬时性计算机可读介质,诸如,随机存取存储器(RAM)、闪速存储器、硬盘驱动器等。存储器6的一些部分在被请求时可以被外部系统访问。然而,在一些示例中,存储器6的一些部分可以是安全的并且仅可由计算机4的内部部件访问。计算机4可还包括用于访问存储器6和执行机器可读指令的处理单元8。处理单元8可以例如实现为处理器核。存储器6可包括证书管理器10,其可产生、修改和/或管理组合式数字证书3,该组合式数字证书3可还存储在存储器6中。应理解的是在其它示例中,证书管理器10可以被存储在另一个系统上,诸如外部系统、服务器或者主机系统,诸如包含计算机4的智能电话或者其它装置。
证书管理器10可响应于满足条件而启动组合式数字证书3的产生。例如,如果计算机4被实现为加密处理器,则证书管理器10可响应于来自另一个系统的激活请求启动数字证书的产生。在其它示例中,证书管理器10可以响应于用户输入来启动产生组合式数字证书3。
计算机4可通过网络14与N个证书机构12通信,其中N是大于等于二的整数。网络14可以被实现为例如公共网络(例如,因特网)、私有网络等。N个证书机构12中的每一个证书机构12可被实现为发行数字证书的系统。数字证书以证书的命名主体证实对公钥的所有权。这允许其它(第三方)依靠签名或者对应于被认证的公钥的私钥进行的认定。在这种信任关系的模型中,1-N个证书机构12中的每一个是被证书的主体(所有者)和依靠证书的第三方这两者信任的受信第三方。
在一个示例中,响应于启动组合式数字证书3的产生,证书管理器10可请求由处理单元8产生N个随机数,这些随机数可被称为“rl...rN”。应注意的是在一些示例中,证书管理器10在相对大时间段上可提供产生随机数的分开的请求。例如,证书处理器10可被配置以请求在制造时产生r1。另外,证书管理器10可被配置以请求在将计算机4提供到客户场所之后产生r2-rN。作为一个示例,计算机4可以嵌入有r1,并且可被配置以在客户场所激活时请求产生r2-rN。
证书管理器10可发送r1(或者其倍数)到证书机构1。作为响应,证书机构1可返回数字证书1,其可包括用于产生针对计算机4的公钥的数据,其中该公钥与证书机构1关联。证书机构1还可包括数据,诸如用于产生对应于与证书机构1关联的公钥的私钥的整数。应注意在一些示例中,数字证书1和用于产生私钥和与证书机构1关联的公钥的数据在制造计算机4时可被嵌入在计算机4中。另外,证书管理器10可发送r2...rN到2-N个证书机构12的每一个的对应证书机构12。作为响应,2-N个证书机构12的每一个可向计算机4提供对应的数字证书,以及用于产生公钥和针对计算机4的对应私钥的数据,该数据可被称为证书数据,计算机4与对应的2-N个证书机构12关联的。证书管理器10和/或处理单元8可采用由1-N个证书机构12的每一个提供的证书数据来产生针对计算机4的私钥,该私钥可被称为Skey16。另外,在一些示例中,证书管理器10还可提供基于数字证书1-N的公钥数据18以用于产生针对计算机4的对应于Skey16的公钥,其可被称为Pkey。在一些示例中,公钥数据18可被提供到第三方。在其它示例中,公钥数据18可由第三方通过其它方法(例如,登记服务)知道。在一些示例中,证书管理器10还可产生组合式证书3,其可包括公钥数据18。在一些示例中,组合式证书3还可包括用于标识1-N个证书机构12的每一个的数据。通过采用这个技术,证书管理器10可产生基于由1-N个证书机构12的每一个提供的数字证书的组合式数字证书3。另外,通过采用这个技术,1-N个证书机构12的每一个都不需要彼此通信。
在另一个示例中,在启动产生数字证书时,证书管理器10可请求由处理单元8产生一个随机数,该随机数可被称为rl。证书管理器10可发送r1到证书机构1。作为响应,证书管理器1可产生数字证书1和用于产生针对计算机4的公钥和对应私钥的数据(例如,整数)。证书机构1可将用于产生私钥的数据转发到计算机4并且将数字证书1转发到证书机构2,其中私钥与证书机构1关联。另外,证书机构2可认证证书机构1来确保数字证书1源于证书机构1而不是未授权的来源(例如,黑客)。证书机构2基于数字证书1可产生数字证书2,并且将数字证书2转发到证书管理器10,该数字证书可包括用于产生与证书机构1和证书机构2关联的PKey的公钥数据18。证书机构2还可提供用于产生与证书机构2关联的私钥的数据(例如,整数)。证书管理器10和/或处理单元8基于从证书机构1和证书机构2提供的数据可产生SKey16,其中SKey16对应于Pkey。证书管理器10和/或处理单元8基于数字证书2还可产生组合式数字证书3。在一些示例中,组合式证书3可包括公钥数据18,其可被用以于PKey。通过采用这个技术,组合式证书的大小可减小,其可节省存储。
在两种技术中,组合式数字证书3可基于由1-N个证书机构12提供的数据。在第一个技术中,即使未授权的用户(例如,黑客)获得对1-N个证书机构12中任一个的访问权,组合式数字证书3也不被损坏。事实上,为了损坏组合式数字证书3的安全性,这种未授权的用户将需要损坏全部1-N个证书机构12。在第二个技术中,由于证书机构1是由证书机构2认证的,所以由证书机构1提供的数据可被证书机构2信任。因而,组合式数字证书3提供对安全破坏的明显抵抗。另外,这种安全破坏的可能性会在1-N个证书机构12的每一个上分配。
鉴于上述结构和功能特征,参照图2A、图2B、图3A和图3B将更好地理解示例方法。另外,为了简单说明,图2A、图2B、图3A和图3B的示例方法被示出并且描述为连续执行,本示例不限于所例示的顺序,因为在其它示例中一些动作可以按照与此处示出和描述不同的顺序和/或并行地进行。
图2A和图2B示出可被采用以产生诸如图1示出的组合式数字证书3的组合式数字证书的示例方法200的示例流程图。
在210,可以启动证书产生。证书启动例如可由证书管理器启动,诸如图1例示的证书管理器10。在这种情形下,证书管理器可在计算机上执行,诸如加密处理器。在方法200中,可通过采用来自ECC的技术来产生组合式证书。然而,附加地或者另选地可采用其它加密技术。在ECC中,沿着曲线E的点可限定有限场。在一个示例中,算式1可限定用于方法200的有限场:
算式1:y2=x3+ax+b;
其中,
P={xP,yP};Q={xQ,yQ};并且P和Q是在曲线E上的点。
另外,在ECC中,曲线E上的点的数量可表示为有限整数“n”。在这种情形下,算式2和3可表示n、P和Q之间的关系。
算式2:nP=P+P+P...+P
算式3:Q=nP
在220,可产生N个随机数,例如,由处理器单元,诸如图1例示的处理单元8。N个随机数的每一个可被计算为曲线E上的点。例如,在一个示例中,处理单元可产生随机数ri,其中i是在1到N之间的整数。处理单元可采用椭圆曲线点乘法来计算ri.G,其中G是在产生器点G处限定的曲线E上的数点,使得ri.G是曲线E上的点。在230,证书管理器可将随机数ri提供到对应的证书机构i,该证书机构i可以被实现为图1例示的1-N个证书机构12中的一个。在这种情形下,证书机构i可具有被标记为cCai的私钥和标记为QCAi的公钥。在这种情形下,算式4可描绘cCAi和QCAi之间的关系。应注意的是算式4表示椭圆曲线乘法。
算式4:QCAi=cCAi·G
在一个示例中,针对每一个订户A,每一个证书机构i可指派不同的标识号码(例如,唯一ID)。在这种情形下,每一个标识号码可被实现为由N个证书机构的每一个贡献的每一个标识号码的和(IDA=Σ(IDAi))。替代地,证书机构i中的给定一个可具有由其它证书机构i共享的唯一标识号码。在240,证书机构i可计算ki.G,其中ki是在区间[1,n-1]内的随机数。在250,证书机构i可采用算式5来计算Pi。应注意的是算式5表示椭圆曲线加法。
算式5:Pi=ri·G+ki·G
在260,证书机构i可采用算式6来计算ei。
算式6:ei=H(Pi||ID)
其中H是单向哈希函数;Pi是在算式5中给出的椭圆曲线加法的结果点;并且ID是针对计算机的唯一标识符。
在270,证书机构i可采用算式7或者另选的算式8来计算si。
算式7:si=ei·ki-cCAi(mod n)
算式8:si=ki-ei·cCAi(mod n)
在280,证书机构i可提供数字证书i和其它数据到证书管理器,使得至少Pi、si和ei被提供到证书管理器。在290,可判断是否i小于或者等于N。如果判断是肯定的(例如,是),则方法200可进行到300。如果判断是否定的(例如,否),则方法可进行到310(图2B)。在300,i的值可增加1并且方法可返回到230。
在图2B的310,证书管理器可计算针对关联的计算机的私钥,该私钥可被标记为“SKey”。SKey例如可被存储在计算机的安全存储器中。在采用算式7来计算si的示例中,证书管理器可采用算式9来计算SKey。替代地,在采用算式8来计算si的示例中,证书管理器可采用算式10来计算SKey。
算式9:
算式10:
在320,证书管理器可确定可被(例如,由第三方)采用以计算对应于针对关联的计算机的SKey的公钥的公钥数据,该公钥可被标记为“PKey”。在一些示例中,公钥数据可包括从每一个证书机构i提供的Pi。在一些示例中,通过采用算式11和12,第三方可采用公钥数据来导出PKey。如算式11和12所示,PKey可基于QCA,其可被实现为从1-N个证书机构接收到的每一个QCAi之和。在其它示例中,第三方可采用算式12和13来计算PKey。
算式11:
算式12:
算式13:
在330,可产生组合式数字证书。组合式数字证书可标识被用以产生组合式数字证书的每一个证书机构i。另外,在一些示例中,组合式数字证书可包括公钥数据。通过采用方法200,不需要证书机构i的每一个之间的交互。此外,通过采用ECC,与其它加密方案相比,可实现存储器使用的明显减少。
图3A和图3B例示可被采用以产生组合式数字证书,诸如图1例示的组合式数字证书3的方法400的另一个示例的示例流程图。
在410,可以启动证书产生。证书启动例如可由证书管理器启动,诸如图1例示的证书管理器10。在这种情形下,证书管理器可在计算机上执行,诸如加密处理器。在方法400中,可通过采用来自ECC的技术来产生组合式数字证书。然而,附加地或者另选地可采用其它加密技术。在一个示例中,可采用算式1来限定用于方法400的有限场。在这种示例中,椭圆曲线E可具有有限数量的点“n”。另外,如算式1中标记,点P和Q可以是曲线E上的点。此外,算式2和3可限定n、P和Q之间的关系。
在420,可产生随机数,例如,由处理器单元,诸如图1例示的处理单元8产生。随机数可被计算成曲线E上的点。例如,在一个示例中,处理单元可产生随机数r。处理单元可采用椭圆曲线点乘法来计算r.G,其中G是在产生器点G处限定的曲线E上的点的数量,使得r.G是曲线E上的点。在430,证书管理器可将随机数r.G提供到证书机构1,证书机构i可以被实现为图1例示的证书机构1。在这种情形下,证书机构1可具有私钥和标记为QCA1的公钥,该私钥可被称为cCA1。在这种情形下,算式4可描绘cCA1和QCA1之间的关系。在440,证书机构1可计算k1.G,其中k1是在区间[1,n-1]内的随机数。在450,证书机构1可采用算式5来计算P1。在460,证书机构1可采用算式14来计算s1。
算式14:s1=k1+cCA1mod n
在470,证书机构1可向证书管理器提供包括至少s1的数据。在475,证书机构1可被证书机构2认证。这种认证可确保从证书机构1提供的数据确实实际上是发源于证书机构1而不是来自未授权的来源(例如,黑客)。在480,证书机构1可向证书机构2提供P1和s1。在490(图3B),证书机构2可计算k2.G,其中k2是在区间[1,n-1]内的随机数。在500,证书机构2可采用算式15来计算P。应注意的是算式15采用椭圆点乘法。
算式15:P=k2·G+P1
在510,证书机构2可采用算式16来计算e。
算式16:e=H(P||ID)
其中H是单向哈希函数;并且ID是针对计算机的唯一标识符。
在520,证书机构2可计算s2。在一些示例中,证书机构2可采用算式17来计算s2。
算式17:s2=e(k2+cCA2)mod n
在530,证书机构可向证书管理器提供包括至少P(算式15)的数字证书。另外,证书机构可向证书管理器提供s2。在540,处理单元可计算针对计算机的私钥,该私钥可被标记为“SKey”。在采用算式17来计算s2的示例中,处理器单元可采用算式18来计算SKey。
算式18:SKey=e(s1+r)+s2mod n
在550,证书管理器和/或处理单元可确定被用以产生针对关联的计算机的公钥的公钥数据,该公钥可被标记为“PKey”。公钥数据可包括从证书机构2接收的P。这样,第三方可采用公钥数据来计算PKey。例如,在采用算式18来计算SKey的示例中,第三方可采用算式19和20来计算PKey。
算式19:QCA=QCA1+QCA2
算式20:PKey=e(P+QCA)
在560,证书管理器可产生并且存储组合式数字证书。在一些示例中,组合式数字证书可包括公钥数据。通过采用方法400,可实现存储的减少,因为仅仅一个针对P的值需要存储在计算机处。另外,通过采用ECC可实现附加的存储节省。还有,该方法允许增加安全性,因为组合式数字证书是基于两个不同证书机构的公钥QCA1和QCA1。
图4例示用于产生和管理组合式数字证书602的系统600的另一个示例。系统600可包括主机计算机604,其中存储了加密处理器606。加密处理器606以类似于图1例示的计算机4的方式来实现。例如,加密处理器606可被实现为用于进行加密操作的芯片或者微处理器上的专用计算机,嵌入在具有多个物理安全措施的封装体中,因而向加密处理器606提供一定的程度的防窜改能力。在一个示例中,加密处理器606可被实现为受信平台模块(TPM)。主机计算机604可包括用于存储机器可读指令的存储器607(例如,非瞬时计算机可读介质,诸如RAM、闪速存储器、硬盘驱动器等)。主机计算机604可还包括用于访问存储器607和执行机器可读指令的处理单元608。处理单元608可包括处理器核。在一些示例中,主机计算机604可被实现为智能电话、台式计算机、笔记本计算机、服务器等。
主机计算机604通过网络612可与N个证书机构610通信。网络612可以被实现为例如因特网、私有网络或者其组合。在图4中,详细示出证书机构1的部件。应理解的是2-N个证书机构610以类似方式实现。证书机构1可被实现为计算机,诸如数字证书的受信发行方。
证书机构1可包括用于存储机器可读指令的存储器614。存储器614可被实现为例如RAM、闪速存储器、硬盘驱动器等。认证机构1可还包括用于访问存储器614和执行机器可读指令的处理单元618。存储器614可包括针对认证机构1的私钥、cCA1620。证书机构1还可包括针对认证机构1的公钥、QCA1622。
主机计算机604的存储器607可包括证书管理器616,其可启动产生组合式数字证书602。产生组合式数字证书602的启动可以响应于用户输入。响应于启动产生组合式数字证书602,证书管理器616可请求加密处理器606产生一个或者更多个随机数,诸如相对于图2A、图2B、图3A和图3B描述的随机数。
如关于图2A、图2B、图3A和图3B中例示的方法200或者400描述的,响应于启动产生组合式数字证书602,证书管理器616可从1-N个证书机构610接收至少K个数字证书624,其中K是大于或者等于1的整数,以及来自1-N个证书机构610中的每一个的数据(例如,s1...sn)。证书管理器616可向加密处理器606提供用于产生私钥(SKey)626的数据(例如,证书数据)和用于加密处理器606基于从1-N个证书机构610提供的数据(例如,s1...sn和P1...Pn)产生对应的公钥(PKey)629的公钥数据628。另外,加密处理器606可采用由证书管理器616提供的数据以产生组合式证书602。在一些示例中,组合式证书602可包括公钥数据628。组合式证书602可包括例如组合式数字证书602所基于的N个证书机构610的每一个的标识。
在一些时间点,主机计算机604可采用组合式证书来数字地签署文档630。在这种情形下,证书管理器616可将文档630连同针对数字签名632的请求提供到加密处理器606。在一个示例中,加密处理器606可采用摘要算法来创建摘要,摘要由文档630的一部分组成。加密处理器606可采用SKey626来签署文档630的摘要,经签署的摘要可以是数字签名632。
第三方634(例如,计算机系统)可请求文档630。文档630、组合式证书602连同数字签名632和N个证书机构610的给定证书机构610的公钥(QCAi)一起可被提供到第三方634。组合式证书还可包括用于计算文档630的摘要的摘要算法。另外,第三方634可基于公钥数据628产生PKey629。
第三方634可与给定证书机构610通信以验证给定证书机构610的公钥(QCAi)。这样,第三方634可信任PKey629是基于给定证书机构610的私钥(cCAi)产生的。另外,第三方634可采用摘要算法来重产生文档630的摘要。第三方634可以用组合式数字证书602中包括的PKey629验证数字签名632,其可得到经验证的摘要。第三方634可将重产生的数字摘要与经验证的摘要比较以确定文档630是由加密处理器606签署的并且自从产生针对文档630的数字签名632以来文档630没有改变。
本发明所属领域的技术人员将认识到在要求保护的本发明的范围内,可以对所描述的示例进行修改,并且可能有很多其它实施例。
Claims (12)
1.一种系统,该系统包括:
存储器,其存储计算机可读指令;以及
处理单元,其用于访问所述存储器并且执行所述计算机可读指令;
其中,所述计算机可读指令包括:
证书管理器,该证书管理器被配置以:
请求产生N个随机值,其中N是大于或者等于一的整数;
从各具有相同权力的至少两个不同证书机构中的至少一个证书机构请求数字证书,其中所述请求包括所述N个随机值中的给定一个;
在稍后的时间获取至少一个额外机构的私钥的函数;
产生公私钥对的私钥,其中所述私钥是基于一个机构私钥的函数加上稍后获取的所述至少一个额外机构的私钥的函数产生的,并且其中所述至少两个不同证书机构中的每个为该证书管理器产生的数字证书是相互独立产生的;
其中针对计算机的所述私钥被配置使得:
或
<mrow>
<mi>S</mi>
<mi>K</mi>
<mi>e</mi>
<mi>y</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mo>(</mo>
<mrow>
<msub>
<mi>s</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>r</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>)</mo>
<munder>
<mo>&Pi;</mo>
<mrow>
<mi>j</mi>
<mo>&NotEqual;</mo>
<mi>i</mi>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mi>mod</mi>
<mi> </mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
其中:
SKey表示针对所述计算机的所述私钥;
ri表示由所述计算机产生的所述N个随机值的所述给定一个;
ei表示在N个证书机构中的证书机构i执行哈希函数的结果;
si表示由所述证书机构i提供的整数;以及
n表示在椭圆曲线上的点的数量。
2.根据权利要求1所述的系统,其中所述证书管理器采用椭圆曲线加密法来产生所述私钥。
3.根据权利要求1所述的系统,其中所述至少两个不同证书机构包括至少三个不同证书机构。
4.根据权利要求1所述的系统,其中,所述系统是加密处理器。
5.一种产生组合式数字证书的方法,该方法包括:
在计算机处产生N个随机值,其中N是大于或者等于二的整数;
从所述计算机向对应的N个证书机构提供请求;
响应于所述请求,在所述计算机处,从所述N个证书机构中的每一个接收数字证书;
在所述计算机处,基于从所述N个证书机构的每一个接收到的数据的组合产生针对所述计算机的私钥;
在所述计算机处,基于从所述N个证书机构的每一个接收到的每一个数字证书的组合产生组合式数字证书;
其中从所述N个证书机构的每一个接收到的每一个数字证书是基于椭圆曲线加密法产生的,并且
其中针对所述计算机的所述私钥被配置使得:
或
<mrow>
<mi>S</mi>
<mi>K</mi>
<mi>e</mi>
<mi>y</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mo>(</mo>
<mrow>
<msub>
<mi>s</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>r</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>)</mo>
<munder>
<mo>&Pi;</mo>
<mrow>
<mi>j</mi>
<mo>&NotEqual;</mo>
<mi>i</mi>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mi>mod</mi>
<mi> </mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
其中:
SKey表示针对所述计算机的所述私钥;
ri表示由所述计算机产生的所述N个随机值的给定一个;
ei表示在所述N个证书机构中的证书机构i执行哈希函数的结果;
si表示由所述证书机构i提供的整数;以及
n表示在所述椭圆曲线上的点的数量。
6.根据权利要求5所述的方法,其中,所述计算机被配置为在所述计算机的制造时产生所述N个随机值中的一个,并且所述N个随机值的剩余部分是随后产生的。
7.根据权利要求5所述的方法,其中,从所述N个证书机构的每一个接收到的每一个数字证书是彼此独立地产生的。
8.根据权利要求7所述的方法,其中所述N是至少3。
9.一种产生组合式数字证书的方法,该方法包括:
在计算机处产生随机值;
将所述随机值提供给两个证书机构中的第一个以产生第一数字证书;
在所述计算机处,接收所述第一数字证书和来自所述两个证书机构中的第二个的数字证书,其中所述数字证书基于在所述第一个证书机构处产生的数字证书;
在所述计算机处,基于来自所述两个证书机构的每一个的数字产生针对所述计算机的私钥;以及
在所述计算机处,基于在所述计算机处接收到的所述数字证书中包括的数据产生组合式数字证书;
其中从所述两个证书机构中的第二个接收到的数字证书是基于椭圆曲线加密法,并且
其中针对所述计算机的所述私钥被配置使得:
SKey=e(s1+r)+s2mod n
其中:
SKey表示针对所述计算机的所述私钥;
r表示由所述计算机产生的所述随机值;
s1表示由所述两个证书机构中的第一个证书机构提供的整数;
s2表示由所述两个证书机构中的第二个证书机构提供的整数;
e表示在所述两个证书机构中的第二个证书机构处执行哈希函数的结果;以及
n表示在用于计算s1和s2的椭圆曲线中的点的数量。
10.根据权利要求9所述的方法,所述方法还包括在第三方处产生对应于SKey的公钥。
11.一种产生数字证书的系统,该系统包括:
用于请求产生N个随机值的装置,其中N是大于或者等于一的整数;
用于从具有相同权力的至少两个不同证书机构中的至少一个证书机构请求数字证书的装置,其中所述请求包括所述N个随机值中的给定一个;以及
用于请求产生公私钥对的私钥的装置,其中,所述私钥是基于所述至少两个不同证书机构的每一个的私钥产生的;
其中针对计算机的所述私钥被配置使得:
或
<mrow>
<mi>S</mi>
<mi>K</mi>
<mi>e</mi>
<mi>y</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mo>(</mo>
<mrow>
<msub>
<mi>s</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>r</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>)</mo>
<munder>
<mo>&Pi;</mo>
<mrow>
<mi>j</mi>
<mo>&NotEqual;</mo>
<mi>i</mi>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mi>mod</mi>
<mi> </mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
其中:
SKey表示针对所述计算机的所述私钥;
ri表示由所述计算机产生的所述N个随机值的所述给定一个;
ei表示在N个证书机构中的证书机构i处执行哈希函数的结果;
si表示由所述证书机构i提供的整数;以及
n表示在椭圆曲线上的点的数量。
12.一种非瞬时计算机可读介质,其具有用于执行方法的计算机可执行指令,该方法包括:
请求产生N个随机值,其中N是大于或者等于一的整数;
从具有相同权力的至少两个不同证书机构中的至少一个证书机构请求数字证书,其中所述请求包括所述N个随机值中的给定一个;以及
请求产生公私钥对的私钥,其中,所述私钥是基于所述至少两个不同证书机构的每一个的私钥产生的;
其中针对计算机的所述私钥被配置使得:
或
<mrow>
<mi>S</mi>
<mi>K</mi>
<mi>e</mi>
<mi>y</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mo>(</mo>
<mrow>
<msub>
<mi>s</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>r</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>)</mo>
<munder>
<mo>&Pi;</mo>
<mrow>
<mi>j</mi>
<mo>&NotEqual;</mo>
<mi>i</mi>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mi>mod</mi>
<mi> </mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
其中:
SKey表示针对所述计算机的所述私钥;
ri表示由所述计算机产生的所述N个随机值的所述给定一个;
ei表示在N个证书机构中的证书机构i执行哈希函数的结果;
si表示由所述证书机构i提供的整数;以及
n表示在椭圆曲线上的点的数量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/326,837 US8793485B2 (en) | 2011-12-15 | 2011-12-15 | Combined digital certificate |
US13/326,837 | 2011-12-15 | ||
PCT/US2012/070014 WO2013090881A1 (en) | 2011-12-15 | 2012-12-17 | Combined digital certificate |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104012036A CN104012036A (zh) | 2014-08-27 |
CN104012036B true CN104012036B (zh) | 2017-11-21 |
Family
ID=48611461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280062244.1A Active CN104012036B (zh) | 2011-12-15 | 2012-12-17 | 组合式数字证书 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8793485B2 (zh) |
JP (1) | JP6043804B2 (zh) |
CN (1) | CN104012036B (zh) |
WO (1) | WO2013090881A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364954B2 (en) | 2009-12-16 | 2013-01-29 | Symantec Corporation | Method and system for provisioning multiple digital certificates |
US9055059B1 (en) * | 2009-12-16 | 2015-06-09 | Symantec Corporation | Combining multiple digital certificates |
US8375204B2 (en) | 2009-12-16 | 2013-02-12 | Symantec Corporation | Method and system to combine multiple digital certificates using the subject alternative name extension |
US10171452B2 (en) * | 2016-03-31 | 2019-01-01 | International Business Machines Corporation | Server authentication using multiple authentication chains |
US9660978B1 (en) | 2016-08-08 | 2017-05-23 | ISARA Corporation | Using a digital certificate with multiple cryptosystems |
US10425401B1 (en) | 2018-10-31 | 2019-09-24 | ISARA Corporation | Extensions for using a digital certificate with multiple cryptosystems |
KR102435056B1 (ko) * | 2019-08-26 | 2022-08-22 | (주)라닉스 | 확장함수를 이용한 복수의 인증서 발급 시스템 및 그 발급 방법 |
US20230254300A1 (en) * | 2022-02-04 | 2023-08-10 | Meta Platforms Technologies, Llc | Authentication of avatars for immersive reality applications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096362B2 (en) * | 2001-06-01 | 2006-08-22 | International Business Machines Corporation | Internet authentication with multiple independent certificate authorities |
US7103774B2 (en) * | 2001-12-19 | 2006-09-05 | Diversinet Corp. | Method of establishing secure communications in a digital network using pseudonymic digital identifiers |
CN101521883A (zh) * | 2009-03-23 | 2009-09-02 | 中兴通讯股份有限公司 | 一种数字证书的更新和使用方法及系统 |
WO2010129694A1 (en) * | 2009-05-05 | 2010-11-11 | Certicom Corp. | Self-signed implicit certificates |
US8375204B2 (en) * | 2009-12-16 | 2013-02-12 | Symantec Corporation | Method and system to combine multiple digital certificates using the subject alternative name extension |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2235359C (en) * | 1998-03-23 | 2012-04-10 | Certicom Corp. | Implicit certificate scheme with ca chaining |
JP4071870B2 (ja) * | 1998-08-20 | 2008-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 秘密鍵生成方法 |
GB2357225B (en) | 1999-12-08 | 2003-07-16 | Hewlett Packard Co | Electronic certificate |
JP3479015B2 (ja) * | 1999-12-28 | 2003-12-15 | 日本電信電話株式会社 | 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 |
US7328344B2 (en) | 2001-09-28 | 2008-02-05 | Imagitas, Inc. | Authority-neutral certification for multiple-authority PKI environments |
JP4130575B2 (ja) * | 2002-12-06 | 2008-08-06 | 日本電信電話株式会社 | 署名者装置におけるディジタル署名方法、および署名者装置用ディジタル署名プログラム |
US20060015716A1 (en) | 2003-08-15 | 2006-01-19 | Imcentric, Inc. | Program product for maintaining certificate on client network devices1 |
US8707024B2 (en) | 2006-06-07 | 2014-04-22 | Red Hat, Inc. | Methods and systems for managing identity management security domains |
US20120233457A1 (en) * | 2011-03-08 | 2012-09-13 | Certicom Corp. | Issuing implicit certificates |
EP2533460B1 (en) | 2011-06-10 | 2018-07-11 | Certicom Corp. | Digital signatures with implicit certificate chains |
-
2011
- 2011-12-15 US US13/326,837 patent/US8793485B2/en active Active
-
2012
- 2012-12-17 JP JP2014547543A patent/JP6043804B2/ja active Active
- 2012-12-17 WO PCT/US2012/070014 patent/WO2013090881A1/en active Application Filing
- 2012-12-17 CN CN201280062244.1A patent/CN104012036B/zh active Active
-
2014
- 2014-07-11 US US14/329,237 patent/US9231770B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096362B2 (en) * | 2001-06-01 | 2006-08-22 | International Business Machines Corporation | Internet authentication with multiple independent certificate authorities |
US7103774B2 (en) * | 2001-12-19 | 2006-09-05 | Diversinet Corp. | Method of establishing secure communications in a digital network using pseudonymic digital identifiers |
CN101521883A (zh) * | 2009-03-23 | 2009-09-02 | 中兴通讯股份有限公司 | 一种数字证书的更新和使用方法及系统 |
WO2010129694A1 (en) * | 2009-05-05 | 2010-11-11 | Certicom Corp. | Self-signed implicit certificates |
US8375204B2 (en) * | 2009-12-16 | 2013-02-12 | Symantec Corporation | Method and system to combine multiple digital certificates using the subject alternative name extension |
Also Published As
Publication number | Publication date |
---|---|
WO2013090881A1 (en) | 2013-06-20 |
US20150349963A1 (en) | 2015-12-03 |
CN104012036A (zh) | 2014-08-27 |
US9231770B2 (en) | 2016-01-05 |
US20130159702A1 (en) | 2013-06-20 |
US8793485B2 (en) | 2014-07-29 |
JP2015501112A (ja) | 2015-01-08 |
JP6043804B2 (ja) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11620387B2 (en) | Host attestation | |
US11171791B2 (en) | Systems and methods of aggregate signing of digital signatures on multiple messages simultaneously using key splitting | |
CN104012036B (zh) | 组合式数字证书 | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
CN107810617B (zh) | 机密认证和供应 | |
US9853816B2 (en) | Credential validation | |
Chen et al. | Flexible and scalable digital signatures in TPM 2.0 | |
US9768962B2 (en) | Minimal disclosure credential verification and revocation | |
US9882890B2 (en) | Reissue of cryptographic credentials | |
US9219602B2 (en) | Method and system for securely computing a base point in direct anonymous attestation | |
CN104601605A (zh) | 云存储中基于变色龙哈希函数的高效隐私保护审计方案 | |
CA2543796A1 (en) | Method and apparatus for verifiable generation of public keys | |
CN103490901A (zh) | 基于组合密钥体系的密钥生成和发放方法 | |
US8868910B2 (en) | Elliptic curve cryptographic signature | |
Win et al. | Privacy enabled digital rights management without trusted third party assumption | |
US10158490B2 (en) | Double authentication system for electronically signed documents | |
JP2024539876A (ja) | デジタル署名を保護するための方法およびシステム | |
CN107104793B (zh) | 一种数字签名生成方法及系统 | |
CN105141419A (zh) | 大属性域的属性基签名方法及系统 | |
Fanfara et al. | Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication | |
CN113792282A (zh) | 身份数据验证方法、装置、计算机设备和存储介质 | |
CN116418487A (zh) | 密钥所有权的存证方法、装置及节点设备 | |
CN116418526A (zh) | 密钥所有权的存证方法、装置及节点设备 | |
CN113972984A (zh) | ElGamal密文等价判断方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |