CN114726544A - 获取数字证书的方法以及系统 - Google Patents
获取数字证书的方法以及系统 Download PDFInfo
- Publication number
- CN114726544A CN114726544A CN202210401774.XA CN202210401774A CN114726544A CN 114726544 A CN114726544 A CN 114726544A CN 202210401774 A CN202210401774 A CN 202210401774A CN 114726544 A CN114726544 A CN 114726544A
- Authority
- CN
- China
- Prior art keywords
- digital certificate
- attribute information
- user
- target
- certificate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000008569 process Effects 0.000 claims description 25
- 238000012795 verification Methods 0.000 claims description 9
- 239000006185 dispersion Substances 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000010130 dispersion processing Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000006854 communication Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供获取数字证书的方法以及系统,应用在数字证书生成端,所述方法包括:接收来自于用户A的获取数字证书的申请,并获取与所述用户A相关的至少一个属性信息;生成至少一个属性保护密钥,其中,一个属性保护密钥用于对一个属性信息进行加密处理;根据各属性保护密钥对相应的属性信息进行加密处理,得到密文属性信息;根据所述密文属性信息生成目标数字证书,并向所述用户A提供所述目标数字证书和至少部分解密参数值。通过本申请的实施例能够支持用户控制和选择性披露数字证书上部分或者全部个人信息,这是一种隐私保护的机制提升了用户属性信息的安全性。
Description
技术领域
本申请涉及信息安全领域,具体而言本申请实施例涉及获取数字证书的方法以及系统。
背景技术
数字证书也称公钥证书,由证书认证机构CA(即数字证书生成端)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构(GM/Z4001-2013《密码术语》2.115定义)。CA将数字证书颁发给用户后,用户(即数字证书申请方)可通过向其它业务系统或其它实体(即证书应用依赖方)出示证书以表明身份,或对数据电文进行电子签名以识别签名人身份并表明签名人认可其中内容的数据。因而,数字证书中应明确表达证书拥有者的身份信息或其它必须的属性信息,按照GB/T 20518-2006《信息安全技术公钥基础设施数字证书格式》标准,证书的持有者主体名称Subject甄别名称DN字段中“用户名称(Common Name)”通常会被设置为自然人的姓名,而扩展域中个人身份标识码identifyCode通常会被设置为证书主体在相关信息系统中的唯一标识,例如身份证号等其他敏感个人信息。
在信息系统应用越来越多元化的今天,数字证书中的身份信息在发挥作用的同时也带来一些隐私被暴露的隐患。由于公钥证书是公开发布并能被所有实体通过公开的手段(如LDAP查询)得到,同时证书也是网络中明文传输。例如,CA可能通过证书仓库公开发布用户的证书信息,用户证书在明文通道上进行交换等。因而,用户的身份信息存在被扩散甚至被恶意收集和利用的风险。
发明内容
本申请实施例的目的在于提供获取数字证书的方法以及系统,通过本申请的实施例能够支持用户控制和选择性披露数字证书上部分或者全部个人信息,这是一种隐私保护的机制提升了用户属性信息的安全性。
第一方面,本申请的一些实施例提供一种获取数字证书的方法,应用在数字证书生成端,所述方法包括:接收来自于用户A的获取数字证书的申请,并获取与所述用户A相关的至少一个属性信息;生成至少一个属性保护密钥,其中,一个属性保护密钥用于对一个属性信息进行加密处理;根据各属性保护密钥对相应的属性信息进行加密处理,得到密文属性信息;根据所述密文属性信息生成目标数字证书,并向所述用户A提供所述目标数字证书和至少部分解密参数值。
本申请的一些实施例的数字证书生成端生成的是包含密文属性信息的数字证书,且数字证书生成端会将加密密钥相关的参数提供给数字证书申请方,由该申请方控制向不同证书应用依赖方披露的个人属性信息,与现有技术方案相比,一方面提升了数字证书上携带的个人属性信息的安全性,另一方面也可以使得证书持有者有选择的向不同的证书应用依赖方公开不同部分的个人属性信息,提升技术方案的灵活性和通用性。
在一些实施例中,所述至少一个属性信息包括第i属性信息,其中,所述生成至少一个属性保护密钥,包括:获取共享主密钥;根据所述共享主密钥和与所述用户A相关的用户标识号得到用户主密钥;通过所述用户主密钥与所述第i属性信息得到第i保护密钥因子,并获取第i随机数;根据所述第i保护密钥因子以及所述第i随机数生成第i属性保护密钥;所述根据各属性保护密钥对相应的属性信息进行加密处理,得到密文属性信息,包括:根据所述第i属性保护密钥对所述第i属性信息进行加密处理得到第i密文属性信息。
本申请的一些实施例生成的属性保护密钥即可以区分不同用户(即根据共享主密钥和用户A的用户标识号,该用户标识号与用户A唯一对应)也可以区分该用户得到的数字证书上各个属性信息(即第i保护密钥因子是与各属性信息相关的),因此可以理解的是,通过这种方式的属性保护密钥可以更好的服务于不同的用户以及同一用户在不同业务场景中所欲公开的属性信息。
在一些实施例中,所述用户标识号为证书序列号,其中,所述根据所述共享主密钥和所述用户A的用户标识号得到用户主密钥,包括:使用所述共享主密钥和所述证书序列号进行密钥分散处理,得到所述用户主密钥。
本申请的一些实施例中采用证书序列号作为用户标识号,之后再根据密钥分散算法得到用户主密钥,使得该主密钥与一个用户唯一对应,提升技术方案的通用性和灵活性。
在一些实施例中,所述通过所述用户主密钥与第i属性信息得到第i保护密钥因子,包括:获取与所述第i属性信息对应的第i属性标识号;使用所述用户主密钥与所述第i属性标识号进行分散运算,得到所述第i保护密钥因子。
本申请的一些实施例通过各个属性信息的属性标识号,得到与该属性信息对应的保护密钥因子,使得针对不同属性信息可以采用不同的保护密钥因子,因此可以实现不同密文属性信息可以分别解密展示,提升了技术方案的通用性。
在一些实施例中,所述根据所述第i保护密钥因子以及所述第i随机数生成第i属性保护密钥,包括:根据如下公式计算所述第i属性保护密钥:
UAPK=η(K,R)
其中,η可选择xor()、HMAC()、密码杂凑或者对称加密,k用于表征所述第i保护密钥因子,R用于表征所述第i随机数。
本申请的一些实施例提供了一种计算任意一种属性保护密钥的表达式。
在一些实施例中,所述方法还包括:获取原始数字证书;其中,所述根据所述密文属性信息生成目标数字证书包括:用所述密文属性信息替换所述原始数字证书包括的属性信息,并生成数字签名,得到所述目标数字证书。
本申请的一些实施例通过用密文属性信息替换原始数字证书上各明文标识的属性信息,基于替换后的内容重新打包、生成数字签名,得到目标数字证书,因此生成的目标数字证书可以更好的保护用户的个人隐私。
在一些实施例中,所述生成数字签名,包括:根据所述属性信息生成所述数字签名;或者,根据所述密文属性信息生成所述数字签名。
本申请的一些实施例提供了两种计算数字证书上数字签名的方式。
在一些实施例中,所述向所述用户A提供所述目标数字证书和至少部分解密参数值,包括:向所述用户A提供所述目标数字证书和由所述任一随机数构成的随机数集合,其中,所述随机数集合中的各随机数用于生成一个属性保护密钥。
本申请的一些实施例通过向申请证书的一方提供用于生成各属性保护密钥的随机数集合,可以进一步提升密文属性信息的安全性,即使窃听到了该信息也无法解密密文属性部分,且申请证书的一方还可以选择性的向不同的证书应用依赖方提供不同的随机数实现差异化展示不同的属性信息的目的。
在本申请的一些实施例中,所述向所述用户A提供所述目标数字证书和解密参数值,包括:向所述用户A提供所述目标数字证书和所有属性保护密钥。
本申请的一些实施例通过向申请证书的一方提供用于解密不同属性信息的属性保护密钥,可以使得申请证书的一方选择性的向不同的证书应用依赖方提供不同的随机数实现差异化展示不同的属性信息的目的。
第二方面,本申请的一些实施例提供一种获取数字证书的方法,应用在证书应用依赖方,所述方法包括:从目标数字证书拥有者处获取用户A的目标数字证书,并获取与待解密的密文属性信息对应的目标随机数,其中,所述目标数字证书包括密文属性信息,所述密文属性信息是根据各属性保护密钥对相应的属性信息进行加密处理得到的,所述目标随机数是由所述用户A根据自己的意愿从随机数集合中选择的若干随机数;根据所述目标随机数对所述待解密的密文属性信息进行解密处理,得到目标明文属性信息。
在一些实施例中,所述目标随机数是和所述目标数字证书是一同提供给所述证书应用依赖方的。
在一些实施例中,所述获取与待解密的密文属性信息对应的目标随机数,包括:向所述目标数字证书拥有者发送询问解密随机数的请求;接收由所述目标证书拥有者返回的所述目标随机数,其中,所述目标数字证书拥有者对所述证书应用依赖方进行可信度确认后从所有随机数中筛选得到的所述目标随机数。
在一些实施例中,所述根据所述目标随机数对所述待解密的密文属性信息进行解密处理,包括:从数字证书生成端获取共享主密钥;根据所述共享主密钥和所述用户A的用户标识号得到用户主密钥;根据所述用户主密钥与所述待解密的密文属性信息得到目标保护密钥因子;根据所述目标保护密钥因子和所述目标随机数对所述待解密的密文属性信息进行解密处理。
在一些实施例中,所述共享主密钥是在所述数字证书生产端对所述证书应用依赖方的可信度评估通过后由所述数字证书生产端发送的。
在一些实施例中,所述目标数字证书包括数字签名,且所述数字签名是根据所述密文属性信息计算得到的,其中,所述方法包括:根据所述密文属性信息完成对所述数字签名的验证。
在一些实施例中,所述目标数字证书包括数字签名,且所述数字签名是根据所述属性信息计算得到的,其中,所述方法包括:根据共享主密钥和所述目标随机数对与所述目标数字证书上包括的密文属性信息进行解密处理,得到所述属性信息;根据所述属性信息对所述数字签名进行验证。
第三方面,本申请的一些实施例提供一种数字证书个人信息隐私保护的系统,所述系统包括:数字证书生成端,被配置为:接收来自于用户A的获取数字证书的申请,并获取与所述用户A相关的至少一个属性信息,其中,所述属性信息是采用明文形式表征的;生成至少一个属性保护密钥,其中,一个属性保护密钥用于对一个属性信息进行加密处理;根据各属性保护密钥和一个随机数对相应的属性信息进行加密处理,得到密文属性信息,其中,用于加密不同的属性信息的随机数不同;根据所述密文属性信息生成目标数字证书,并向所述用户A提供所述目标数字证书和所有随机数;接收来自于证书应用依赖方使用所述目标数字证书的请求,并向所述证书应用依赖方提供共享密钥;证书申请设备,被配置为:接收所述用户A输入的向所述数字证书生产端发送的所述申请;接收来自于所述数字证书生成端得到的所述目标数字证书和所述所有随机数;接收来自于证书应用依赖方发送的使用所述目标数字证书的请求,从所述所有随机数(即随机数集合)中选择目标随机数并向所述证书应用依赖方提供所述目标数字证书和目标随机数,其中,所述目标随机数是根据证书应用依赖方的可信度选取的,所述目标随机数是由所述用户A根据自己的意愿从随机数集合中选择的若干随机数;所述证书应用依赖方,被配置为:向所述数字证书生成端发送使用所述目标数字证书的请求,并接收由所述数字证书生成端发送的共享主密钥;向所述证书申请设备发送使用所述目标数字证书的请求,并接收由所述证书申请设备发送的所述目标数字证书和所述目标随机数;根据所述目标随机数和所述共享主密钥对所述目标数字证书上待解密的密文属性信息进行解密处理,得到目标明文属性信息。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为相关技术提供的数字证书系统的组成框图;
图2为本申请实施例提供的数字证书系统的组成框图之一;
图3为本申请实施例提供的获取数字证书的方法流程图之一;
图4为本申请实施例提供的获取数字证书的方法流程图之二;
图5为本申请实施例提供的获取数字证书的方法流程图之三;
图6为本申请实施例提供的获取数字证书系统的组成框图之二;
图7为本申请实施例提供的用户与CA交互图之一;
图8为本申请实施例提供的用户与证书应用对端交互图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
数字证书应用通常有“一证多用”的情况,即申请数字证书的一方希望一张数字证书能够用于多种业务系统,以降低证书管理的代价、缩减成本,这就使得一张数字证书中通常包含一个用户的多项属性信息(属性信息即与用户隐私数据相关的信息),而这些属性是多个业务系统分别需要的。通常这些属性均以明文的形式出现在数字证书中,在出示数字证书时就会一并透露给所有的业务系统,这就使业务系统有更多机会收集用户的多个隐私信息,这显然违背了《中华人民共和国个人信息保护法》中第六条数据收集中“收集个人信息,应当限于实现处理目的的最小范围,不得过度收集个人信息”要求。
目前,传统应对上述风险的方法有以下几种:
(1)减少证书信息的暴露的方法:
(A)例如CA不再提供公开的证书仓库查询服务,或对证书仓库访问进行严格的身份鉴别和访问控制。从而降低CA证书仓库中的证书被恶意读取的风险。
(B)在交互过程中,如果交互双方需要交换证书同时需要保护隐私,例如个人通过浏览器和web服务端通信,可以采用的一种方式是,认证交互过程中,首先验证服务器身份无误后,完成密钥协商,在会话密钥的保护下传递用户证书。这样保证网络上的窃听者及时获取到网络流量,也无法解密得到用户证书,因而也无法窃取用户隐私信息。
(2)对证书中的隐私信息进行变换
例如,CA在签发证书时,对用户的隐私信息如用户身份证号、姓名进行摘要计算,摘要计算的防碰撞特性,可以保证无法用其它用户的身份证号计算得到同样摘要结果,摘要函数的单向特性可保证获取到证书的任何实体均无法计算逆向得到真实的身份信息。
可以理解的是,上述传统应对风险的方法,能够在一定程度上缓解隐私暴露的风险,但同时也有一些使用局限性的问题,这主要包括:针对方法(1)中的(A)来看,目前有些应用,需要CA提供证书仓库的公开查询服务,例如加密邮件场景。在该场景中,Alice需要给Bob发送加密邮件,就需要从CA的证书仓库中检索得到Bob在用的加密证书,从而给Bob发送加密证书。针对方法(1)中的(B)来看,这种方式仅能够用于特定的业务交互过程。而对更多的基于证书的身份鉴别、电子签名、电子签章、电子合同类应用则无法提供任何保护。例如Alice使用证书登录某网站、通过网络完成某项业务所需的电子签名,未必都能有安全通道和加密机制的保护。更为重要的是,在“一证多用”的情况下,用户并不希望业务系统了解到其证书中与该业务无关的个人信息,这一诉求并不是(1)中(A)和(B)方法所能实现的。针对方法(2)来看,很多新设计的系统,可以考虑将用户的敏感信息进行运算再使用,但在很多应用场景中,必须要原始信息才能完成业务。例如网络购物必须提供用户的住址才能完成物品的配送等。对于一些和线下业务对接的场景更是需要有实际身份的物理信息。
请参看图1,图1为相关技术提供的数字证书系统的组成框图,该系统包括:数字证书申请端100、数字证书生成端200以及数字证书应用端300。
图1的用户A通过数字证书申请端向数字证书生成端200发送数字证书申请101,数字证书生成端200收到该申请后生成数字证书201,可以理解的是该数字证书201包括一条或多条以明文形式展示的属性信息(例如,用户A的身份证号或者家庭住址等)。若数字证书应用端300需要数字证书201时,该数字证书应用端300向数字证书申请端100发送请求获取用户A的数字证书,之后数字证书应用端就可以得到用户A的所有属性信息。
可以理解的是,采用图1的相关技术方案时,所有数字证书应用端均会看到数字证书上用户A的所有属性信息,这样会导致用户A的隐私信息被泄露。
至少为了解决上述问题,本申请的一些实施例提供一种获取数字证书的方法,该方法涉及的证书认证机构CA(certification authority)即数字证书生成端在签发证书时,对包含在数字证书中的各种个人隐私信息(即属性信息)进行加密,同时将用以解密的密钥分发给申请数字证书的用户,该用户在使用其证书时,可通过是否将解密密钥(或者将部分解密密钥)分享给其它实体来达到“证书中的个人信息只能在该用户的许可下访问”的目标。
如图2所示,本申请的一些实施例的数字证书系统的组成框图,该图的数字证书生成端200基于来自于数字证书申请端100的数字证书申请101,生成目标数字证书以及解密参数值301。需要说明的本申请实施例的目标数字证书中包括的部分或者全部与用户隐私信息相关的属性信息是用密文形式展示的,且解密参数值用于对该数字证书上所有密文属性信息进行解密。若数字证书使用端300需要使用该目标数字证书时,该数字证书使用端会向数字证书申请端发送请求,该数字证书申请端基于收到的请求向数字证书使用端300发送目标数字证书以及第一部分解密参数值302。可以理解的是,本申请的实施例可以通过传输部分解密参数值来由目标数字证书的持有者选择向数字证书使用端300公开部分的属性信息。为了进一步提升安全性,在本申请的一些实施例中,数字证书使用端300还需要从数字证书生成端200获得第二部分解密参数值,之后由数字证书使用端300根据第一部分解密参数值和第二部分解密参数值完成对目标数字证书上以密文形式展示的属性信息。需要说明的是,第一部分解密参数值是与第二部分解密参数值不同的解密参数,且第一部分解密参数值属于解密参数值的一部分或者全部,且由目标数字证书持有者确定将那一部分的解密参数值作为第一部分解密参数值,这样可以由目标数字证书持有者自己选择向数字证书使用端300公开哪些属性信息。
需要说明的是,上述用户A可以是一个个人也可以一个企业等,本申请的实施例并不限定用户A的具体类型。
下面结合图3示例性阐述由图3的数字证书生成端执行的获取数字证书的方法。
如图3所示,本申请的一些实施例提供一种获取数字证书的方法,应用在数字证书生成端,该方法包括:S110,接收来自于用户A的获取数字证书的申请,并获取与所述用户A相关的至少一个属性信息。S120,生成至少一个属性保护密钥,其中,一个属性保护密钥用于对一个属性信息进行加密处理。S130,根据各属性保护密钥对相应的属性信息进行加密处理,得到密文属性信息。S140,根据所述密文属性信息生成目标数字证书,并向所述用户A提供所述目标数字证书和至少部分解密参数值。
需要说明的是,在本申请的一些实施例中,所述解密参数值用于证书应用解密获得用户证书中的用户属性信息,证书应用依赖方只有分别获得CA持有的部分解密参数值信息分类和用户持有的分量才能最终完成对属一个或多个属性信息的解密。
下面示例性阐述图3的各步骤。
数字证书生成端通过有线或者无线网络接收来自于用户A的用于获取数字证书的申请。
S110涉及的至少一个属性信息包括与用户A相关的隐私数据。例如,若用户A为个人,则所述至少一个属性信息包括:用户A的姓名、身份证号以及家庭住址等多个属性信息,可以理解的是,一个属性信息可以作为一个可单独加密的对象;若用户A为一个企业,则所述至少一个属性信息包括:企业A的名称、地址、企业统一信用代码、企业法人信息、企业经营范围、开户行等等。
下面结合对任一个属性信息进行加密的过程示例性阐述S120以及S130的实现过程。
在本申请的一些实施例中,S110所述的至少一个属性信息包括第i属性信息,则S120所述生成至少一个属性保护密钥的过程示例性包括:
第一步,获取共享主密钥。
例如,数字证书生成端在密码设备中提前产生个人信息保护的系统共享主密钥MK(Master Key)并妥善保管,即对应图4的S131。
第二步,根据所述共享主密钥和所述用户A的用户标识号得到用户主密钥。
例如,在一些实施例中,所述用户标识号为证书序列号,其中,该第二步示例性包括:使用所述共享主密钥和所述证书序列号进行密钥分散处理,得到所述用户主密钥,即对应图4的S132。
也就是说,在数字证书生成端在为用户A签发证书之前,使用共享主密钥MK和用户标识号(即用户ID)进行密钥分散,产生针对该用户的主密钥UMK(User Master Key),需要说明的是,本申请的实施例不限定密钥分散的具体方法。例如,密钥分散方法包括:例如可采用JR/T 0025.17-2013《中国金融集成电路(IC)卡规范第17部分:借贷记应用安全增强规范》8.1.3节的方法,或与之类似的方法。
第三步,通过所述用户主密钥与所述第i属性信息得到第i保护密钥因子(对应图4的S133),并获取第i随机数。
例如,在本申请的一些实施例中,所述通过所述用户主密钥与第i属性信息得到第i保护密钥因子示例性包括:获取与所述第i属性信息对应的第i属性标识号;使用所述用户主密钥与所述第i属性标识号进行分散运算,得到所述第i保护密钥因子。
也就是说,使用用户主密钥UMK和每个属性标识如对象标识符OID(ObjectIdentifier),其中,一个属性信息对应一个属性标识,该属性标识可以是由数字证书生成端预先确定的,分散产生与每个属性信息分别对应的保护密钥因子K,即对应图4的S133。在密码设备中产生随机数R,即生成对应图4的用户属性保护随机数R。
第四步,根据所述第i保护密钥因子以及所述第i随机数生成第i属性保护密钥(即得到图4的S135示出的用户属性保护密钥UAPK)。
例如,在本申请的一些实施例中,所述根据所述第i保护密钥因子以及所述第i随机数生成第i属性保护密钥,包括:根据如下公式(即属性保护密钥生成函数)计算所述第i属性保护密钥,对应图4的S134:
UAPK=η(K,R)
其中,η可选择xor()、HMAC()、密码杂凑或者对称加密,k用于表征所述第i保护密钥因子,R用于表征所述第i随机数。也就是说,只要UAPK是K和R的组合,xor()、HMAC()、密码杂凑或者对称加密这几种方法都是可以的,甚至若干基本方法相互组合也都可以。
也就是说,根据一个保护密钥因子以及一个随机数计算一个属性保护密钥(或称为用户个人信息属性保护密钥)UAPK=η(K,R),如图4的S134所示,在具体实施例中,η可根据CA的管理策略选择,可选择η=xor()、η=HMAC()或密码杂凑、对称加密等。
S130示例性包括:根据所述第i属性保护密钥对所述第i属性信息进行加密处理得到第i密文属性信息。
例如,在本申请的一些实施例中,使用一个UAPK对一个属性信息原文AttrValue加密,得到密文属性信息AttrValue'i,即密文属性信息AttrValue'i=E(AttrValue,UAPK),其中E为常用的对称分组密码算法。
需要说明的是,如果证书中有多个需要保护的属性信息,则按照上述步骤第三步、第四步以及第五步分别针对每个属性信息AttrValuei,形成每个Ki、随机数Ri,以及各个属性加密密钥UAPKi=η(Ki,Ri),并用UAPKi对AttrValuei个加密,形成密文属性信息AttrValue'i,并将证书TBSCertificate中原有AttrValuei的内容替换为密文属性信息AttrValue'i,得到所有密文属性信息。
需要说明的是,在本申请的一些实施例中,所述方法还包括:获取原始数字证书,在该原始证书中包括各条属性信息(正如上文所描述的属性信息是以明文形式展示的用户隐私信息),则S140所述根据所述密文属性信息生成目标数字证书示例性包括:用所述密文属性信息替换所有属性信息,并生成数字签名,得到所述目标数字证书。也就是说,将原始数字证书TBSCertificate中原有的各个属性原文AttrValue的内容替换为属性密文AttrValue',得到所有密文属性信息。
可以理解的是,生成目标数字证书还需要得到数字签名。在本申请的一些实施例中直接根据属性信息生成所述数字签名,在本申请的另一些实施例中,根据对属性信息加密之后的密文属性信息生成所述数字签名。相应的,数字证书应用端对这两类数字签名的验证方式将在下文描述,为避免重复在此不做过多赘述。
在本申请的一些实施例中,S140所述向所述用户A提供所述目标数字证书以及解密参数值示例性包括:向所述用户A提供所述目标数字证书和随机数集合,其中,所述随机数集合中的各随机数用于生成一个属性保护密钥(即每个随机数用以和证书生成端S140共同产生一个属性密钥;多个随机数,配合证书生成端产生多个属性保护密钥)。可以理解的是,在本申请的另一些实施例中,S140所述向所述用户A至少提供所述目标数字证书示例性包括:向所述用户A提供所述目标数字证书和所有属性保护密钥。在本申请的另一些实施例中,S140所述向所述用户A至少提供所述目标数字证书示例性包括:向所述用户A提供所述目标数字证书和所有保护密钥因子。
也就是说,执行S140包括:对原始数字证书TBSCertificate进行数字签名签发处理,形成目标数字证书Cert,该目标数字证书Cert中包含用户公钥、用户DN,以及上述用户属性密文AttrValue'或各个AttrValue'i。之后,该数字证书生成端将目标数字证书Cert,通过正常证书下载通道发放给用户,将各个加密运算的随机数R集合{R1,R2,...Ri}通过下载通道或者安全通道发给用户,也可根据用户需要将加密密钥集合{UAPK1,UAPK2,…UAPKi…}通过安全通道发给用户。
可以理解的是,用户(即数字证书申请方)妥善保管接收的目标数字证书Cert、与该目标数字证书对应的私钥、以及参与属性加密运算的随机数R集合{R1,R2,...Ri},若收到各个属性加密密钥集合{UAPK1,UAPK2,…UAPKi…},可采用口令对{UAPK1,UAPK2,…UAPKi…}进行加密存储。
需要说明的是,在使用目标数字证书Cert的过程中,用户采用与普通数字证书一致的方法进行身份鉴别、数字签名、消息加密、安全通信等网络活动。
下面结合图5示例性阐述由证书应用依赖方执行的获取数字证书的方法,即使用生成的目标数字证书的过程。
如图5所示,本申请的一些实施例提供一种获取数字证书的方法,应用在证书应用依赖方,该方法包括:
S201,从目标数字证书拥有者处获取用户A的目标数字证书,并获取与待解密的密文属性信息对应的目标随机数,其中,所述目标数字证书包括密文属性信息,所述密文属性信息是根据各属性保护密钥对相应的属性信息进行加密处理得到的,所述目标随机数是由所述用户A根据自己的意愿从随机数集合中选择的若干随机数。
需要说明的是,在本申请的一些实施例中,所述目标随机数是和所述目标数字证书是一同提供给所述证书应用依赖方的。在本申请的一些实施例中,所述从所述目标证书拥有者处获取目标随机数,包括:向所述目标数字证书拥有者发送询问解密随机数的请求;接收由所述目标证书拥有者返回的所述目标随机数,其中,所述目标数字证书拥有者对所述证书应用依赖方进行可信度确认后并根据可信度等级从所有随机数中筛选得到的所述目标随机数。
也就是说,用户可根据应用的交互设计提交目标数字证书Cert以及用以解密的R值。例如,用户可将“允许证书应用依赖方使用的属性”相关的R值,随着目标数字证书一并提交给依赖方,也可以与目前通用的模式相同的方式提交证书,在证书应用依赖方询问属性解密的R值时,对证书应用依赖方身份和可信度进行确认后再提交R。
S202,根据所述目标随机数对所述待解密的密文属性信息进行解密处理,得到目标明文属性信息。
在本申请的一些实施例中,S202示例性包括:
第一步,从数字证书生成端获取共享主密钥。
例如,所述共享主密钥是在所述数字证书生产端对所述证书应用依赖方的可信度评估通过后由所述数字证书生产端发送的。
也就是说,证书应用依赖方在使用某个目标数字证书时,可向数字证书生成端申请,该数字证书生成端根据对应用的可信度进行评估,评估通过可以将共享主密钥MK发放给应用,可采用硬件密码设备等方式对MK进行保护。
第二步,根据所述共享主密钥和所述用户A的用户标识号得到用户主密钥。
第三步,通过所述用户主密钥与所述待解密的密文属性信息对应的所有保护密钥因子。
第四步,根据所述所有保护密钥因子和所述目标随机数进行解密处理。也就是说,计算UAPK=η(K,R),η与CA保持一致,使用UAPK解密得到用户属性。
从用户的交互数据中得到一个或多个目标随机数R,若用户交互数据中未提供R,可向用户询问,采用何种模式由用户的业务交互模式决定。
针对第二步、第三步和第四步的实现方式与上述对属性信息加密的过程相反,具体可参考上文为避免重复在此不多过多赘述。
可以理解的是,在执行上述S202之前,所述方法还包括:证书应用依赖方得到目标数字证书并验证证书中的数字签名之后,如果发现用户证书中包含了需要用户同意才能访问的属性(即包括密文属性信息),可按照上述解密过程进行处理。
下面示例性阐述对数字签名验证的过程。
在本申请的一些实施例中,所述目标数字证书包括数字签名,且所述数字签名是根据密文属性信息计算得到的,其中,所述方法包括:根据所述密文属性信息完成对所述数字签名的验证。
在本申请的一些实施例中,所述目标数字证书包括数字签名,且所述数字签名是根据明文属性信息计算得到的,其中,所述方法包括:根据共享主密钥和所述目标随机数对与所述目标数字证书上包括的密文属性信息进行解密处理,得到所述明文属性信息;根据所述明文属性信息对所述数字签名进行验证。
也就是说,在本申请的一些实施例中,数字证书生成端在签发目标数字证书时,包含在证书中的用户属性信息是密文(即对属性信息加密得到密文属性信息),由于目标数字证书是在包含了属性信息密文的“tbsCertificate”上进行签名得到数字签名的,所以这种签发方式使验证证书的实体能够在密文的基础上完成验证,在后续的操作中解密得到属性。与之相对应的在本申请的另一些实施例中,数字证书生成端基于属性信息(即明文用户属性信息)“tbsCertificate”得到数字签名,但目标数字证书中的tbsCertificate则是加密后的各种属性信息(即密文属性信息)。这样,不能使用上级CA证书通过验证数字签名直接验证,需要结合数字证书生成端(即CA侧)给出的MK和用户给出的R解密之后,重新构造tbsCertificate才能验证。
不难理解的是,本申请的一些实施例能够有效对数字证书中的用户信息进行保护,同时支持用户控制的包含个人信息的证书属性选择性披露给其它实体。证书应用的依赖方(例如某个信息系统)仅在得到用户的授权(即用户同意将自己保存的一个或多个R值提交给信息系统)的情况下才能访问证书中的用户信息属性。同时,本申请一些实施例还通过CA(即数字证书生成端)和用户的双重控制,使网络上的中间人无法通过窃听等方式非法访问用户隐私。
如图6所示,本申请一些实施例的技术方案涉及证书认证机构CA(即数字证书生成端)、用户(即申请数字证书的数字证书申请端)及证书应用依赖方这三方,由各参与者分别两两通信,完成本申请实施例的用户个人信息的保护控制和选择性披露使用。图6的数字证书申请端向CA发出证书申请CertReq,CA在收到该申请后按照上述方式生成目标数字证书Cert,并生成用于加密各属性信息的UAPK集和随机数集,之后数字证书申请端会进行证书下载并获取UAPK集或者随机数集。之后,证书应用依赖方向数字证书申请端发送使用证书的请求,该数字证书申请端会向该证书应用依赖方发送目标数字证书Cert以及部分随机数(即目标随机数,用于披露部分属性信息),且证书应用依赖方还需要从CA端获取共享主密钥MK,最后该证书应用依赖方会依据共享主密钥以及目标随机数完成对目标数字证书Cert上部分密文属性信息的解密,得到该证书应用依赖方可以看到的目标明文属性信息。
可以理解的是,用户证书中个人信息的保护是在用户向CA申请数字证书过程中,由CA和用户共同完成用户证书个人信息属性的分项保护。证书应用依赖方在使用数字证书并需要用户选择性披露证书中某项个人信息属性时,依赖方需要分别与CA和用户通信,以获得用户证书个人信息属性保护因子,通过计算来对证书中相应的个人信息密文进行解密恢复得到个人信息属性明文。
不难理解的是,本申请一些实施例的数字证书个人信息属性保护,包括属性保护密钥UAPK的生成过程和用UAPK对个人信息属性AttrValue加密保护两个过程。UAPK的生成过程,在系统共享主密钥作用下,引入用户标识、个人信息属性标识,通过两次密钥分散,并利用属性保护密钥生成函数η(K,R),产生用户个人信息属性保护密钥UAPK=η(K,R),在具体实施例中,η可根据CA的管理策略配置,可选择η=xor()、η=HMAC()或密码杂凑、对称加密等算法作为生成函数;然后再用UAPK对属性原文AttrValue加密,得到AttrValue',即AttrValue'=E(AttrValue,UAPK),其中E为常用的对称分组密码算法。
可以理解的是,本申请一些实施例的数字证书个人信息属性保护,可以针对不同个人信息属性,分别产生多个属性保护密钥因子Ki、随机数Ri,以及各个属性加密密钥UAPKi=η(Ki,Ri),并用UAPKi对AttrValuei个加密,形成AttrValue'i,从而对用户证书个人信息属性进行分项保护,实现了对个人信息的细粒度保护。
本申请的一些实施例用户选择性披露目标数字证书中某项个人信息属性过程包括,首先,依赖方需要提前与CA通信获得个人信息保护的系统共享主密钥MK,其次用户将含个人信息密文的证书提供给依赖方并选择披露证书中具体某项个人信息属性时,由用户将个人信息属性保护因子随机数Ri分发给依赖方,依赖方利用MK、Ri,按照属性保护密钥UAPK的生成过程,计算出用户个人信息属性保护密钥UAPKi,然后对证书中相应的个人信息密文进行解密恢复得到个人信息属性明文,从而实现用户选择性披露证书中某项个人信息属性。
本申请的一些实施例采用保护密钥因子K和随机数R双因素组成密钥进行加密,且K和R共享给不同的实体,能够有效对抗窃听者窃取证书中的隐私。一是CA给用户可以只分发R而不分发K、UMK、MK等信息,给对端只分发MK,双通道方式防止下载证书时用户和对端通道上的窃听者;二是用户给对端提供证书时仅需提供R,其K、UMK、MK等信息由CA提供,能够防止证书使用(下载和使用时通道上的窃听者)时通道上的窃听者。相比于用户直接自行将属性信息提交给应用系统,本申请的实施例也能防止用户与应用系统之间通道上的窃听者。
下面结合图7和图8示例性阐述三方的交互个过程。
下面结合图7示例性阐述用户(即数字证书申请方)与CA(即数字证书生成端)的交互过程。如图7所示,假设CA端已经产生共享主密钥MK。用户生成申请证书并向CA发送该申请证书。CA接收该申请证书后依次如下操作:接收请求并进行处理,使用MK与证书序列号(作为用户标识号的一个示例)分散得到UMK(即用户主密钥),使用用户主密钥UMK与属性标识分散得到保护密钥因子K的集合(K),对(K)中的每一个保护密钥因子产生一个随机数R并计算UAPK=η(K,R)得到属性保护密钥UAPK,对每个要加密的属性使用对应的属性保护密钥UAPK加密,打包签发证书,向用户进行证书回复和(R)(即将生成的目标数字证书和随机数集合反馈用户)。用户安全保存证书、私钥以及随机数集合。
下面结合图8示例性阐述用户(即数字证书申请方)与证书应用对端(即证书应用依赖方)的通信过程。如图8所示,假设证书应用对端已经从CA处获取了共享主密钥MK。用户回复证书应用对端的证书使用请求,发送其持有的目标数字证书。证书应用对端执行如下操作:接收到数字证书(即接收到来自于用户的目标数字证书),进行常规的验证方法(即常规的对数字证书的验证方法,例如验证数字证书上的数字签名),取出需要访问的加密属性集合即密文属性信息{EncAttr},使用共享主密钥MK与证书序列号分散得到UMK,使用UMK与各属性标识分散得到保护密钥因子集合{K},从用户交互中获得目标随机数集合{R}(即属于所有随机数集合的子集,该子集用于解密可以对该证书应用依赖方进行明文展示的属性信息),计算UAPK=η(K,R),使用UAPK解密{EncAttr}得到证书属性,获取到需要的信息(即获取到目标明文属性信息)。
本申请的一些实施例提供一种数字证书个人信息隐私保护的系统,所述系统包括:数字证书生成端,被配置为:接收来自于用户A的获取数字证书的申请,并获取与所述用户A相关的至少一个属性信息,其中,所述属性信息是采用明文形式表征的;生成至少一个属性保护密钥,其中,一个属性保护密钥用于对一个明文属性信息进行加密处理;根据各属性保护密钥和一个随机数对相应的明文属性信息进行加密处理,得到密文属性信息,其中,用于加密不同的明文属性信息的随机数不同;根据所述密文属性信息生成目标数字证书,并向所述用户A提供所述目标数字证书和所有随机数;接收来自于证书应用依赖方使用所述目标数字证书的请求,并向所述证书应用依赖方提供共享密钥;证书申请设备,被配置为:接收所述用户A输入的向所述数字证书生产端发送的所述申请;接收来自于所述数字证书生成端得到的所述目标数字证书和所述所有随机数;接收来自于证书应用依赖方发送的使用所述目标数字证书的请求,从所述所有随机数中选择目标随机数并向所述证书应用依赖方提供所述目标数字证书和目标随机数,其中,所述目标随机数是根据证书应用依赖方的可信度选取的;所述证书应用依赖方,被配置为:向所述数字证书生成端发送使用所述目标数字证书的请求,并接收由所述数字证书生成端发送的共享主密钥;向所述证书申请设备发送使用所述目标数字证书的请求,并接收由所述证书申请设备发送的所述目标数字证书和所述目标随机数;根据所述目标随机数和所述共享主密钥对所述目标数字证书上待解密的密文属性信息进行解密处理,得到目标明文属性信息。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (17)
1.一种获取数字证书的方法,应用在数字证书生成端,其特征在于,所述方法包括:
接收来自于用户A的获取数字证书的申请,并获取与所述用户A相关的至少一个属性信息;
生成至少一个属性保护密钥,其中,一个属性保护密钥用于对一个属性信息进行加密处理;
根据各属性保护密钥对相应的属性信息进行加密处理,得到密文属性信息;
根据所述密文属性信息生成目标数字证书,并向所述用户A提供所述目标数字证书和至少部分解密参数值。
2.如权利要求1所述的方法,其特征在于,所述至少一个属性信息包括第i属性信息,其中,
所述生成至少一个属性保护密钥,包括:
获取共享主密钥;
根据所述共享主密钥和与所述用户A相关的用户标识号得到用户主密钥;
通过所述用户主密钥与所述第i属性信息得到第i保护密钥因子,
并获取第i随机数;
根据所述第i保护密钥因子以及所述第i随机数生成第i属性保护密钥;
所述根据各属性保护密钥对相应的属性信息进行加密处理,得到密文属性信息,包括:
根据所述第i属性保护密钥对所述第i属性信息进行加密处理得到第i密文属性信息。
3.如权利要求2所述的方法,其特征在于,所述用户标识号为证书序列号,其中,
所述根据所述共享主密钥和所述用户A的用户标识号得到用户主密钥,包括:
使用所述共享主密钥和所述证书序列号进行密钥分散处理,得到所述用户主密钥。
4.如权利要求2-3任一项所述的方法,其特征在于,所述通过所述用户主密钥与第i属性信息得到第i保护密钥因子,包括:
获取与所述第i属性信息对应的第i属性标识号;
使用所述用户主密钥与所述第i属性标识号进行分散运算,得到所述第i保护密钥因子。
5.如权利要求2-3任一项所述的方法,其特征在于,所述根据所述第i保护密钥因子以及所述第i随机数生成第i属性保护密钥,包括:
根据如下公式计算所述第i属性保护密钥:
UAPK=η(K,R)
其中,η可选择xor()、HMAC()、密码杂凑或者对称加密,K表征任一保护密钥因子,R表征任一随机数。
6.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取原始数字证书;其中,
所述根据所述密文属性信息生成目标数字证书包括:
用所述密文属性信息替换所述原始数字证书包括的属性信息,并生成数字签名,得到所述目标数字证书。
7.如权利要求6所述的方法,其特征在于,所述生成数字签名,包括:根据所述属性信息生成所述数字签名;或者,根据所述密文属性信息生成所述数字签名。
8.如权利要求5所述的方法,其特征在于,所述向所述用户A提供所述目标数字证书和至少部分解密参数值,包括:向所述用户A提供所述目标数字证书和由所述任一随机数构成的随机数集合。
9.如权利要求1所述的方法,其特征在于,
所述向所述用户A提供所述目标数字证书和解密参数值,包括:向所述用户A提供所述目标数字证书和所有属性保护密钥。
10.一种获取数字证书的方法,应用在证书应用依赖方,其特征在于,所述方法包括:
从目标数字证书拥有者处获取用户A的目标数字证书,并获取与待解密的密文属性信息对应的目标随机数,其中,所述目标数字证书包括密文属性信息,所述密文属性信息是根据各属性保护密钥对相应的属性信息进行加密处理得到的,所述目标随机数是由所述用户A根据自己的意愿从随机数集合中选择的若干随机数;
根据所述目标随机数对所述待解密的密文属性信息进行解密处理,得到目标明文属性信息。
11.如权利要求10所述的方法,其特征在于,所述目标随机数是和所述目标数字证书是一同提供给所述证书应用依赖方的。
12.如权利要求10所述的方法,其特征在于,所述获取与待解密的密文属性信息对应的目标随机数,包括:
向所述目标数字证书拥有者发送询问解密随机数的请求;
接收由所述目标证书拥有者返回的所述目标随机数,其中,所述目标数字证书拥有者对所述证书应用依赖方进行可信度确认后从所有随机数中筛选得到的所述目标随机数。
13.如权利要求10-12任一项所述的方法,其特征在于,所述根据所述目标随机数对所述待解密的密文属性信息进行解密处理,包括:
从数字证书生成端获取共享主密钥;
根据所述共享主密钥和所述用户A的用户标识号得到用户主密钥;
根据所述用户主密钥与所述待解密的密文属性信息得到目标保护密钥因子;
根据所述目标保护密钥因子和所述目标随机数对所述待解密的密文属性信息进行解密处理。
14.如权利要求13所述的方法,其特征在于,所述共享主密钥是在所述数字证书生产端对所述证书应用依赖方的可信度评估通过后由所述数字证书生产端发送的。
15.如权利要求10-12任一项所述的方法,其特征在于,所述目标数字证书包括数字签名,且所述数字签名是根据所述密文属性信息计算得到的,其中,
所述方法包括:根据所述密文属性信息完成对所述数字签名的验证。
16.如权利要求10-12任一项所述的方法,其特征在于,所述目标数字证书包括数字签名,且所述数字签名是根据所述属性信息计算得到的,其中,
所述方法包括:
根据共享主密钥和所述目标随机数对所述目标数字证书上包括的密文属性信息进行解密处理,得到所述属性信息;
根据所述属性信息对所述数字签名进行验证。
17.一种获取数字证书的系统,其特征在于,所述系统包括:
数字证书生成端,被配置为:
接收来自于用户A的获取数字证书的申请,并获取与所述用户A相关的至少一个属性信息,其中,所述属性信息是采用明文形式表征的;
生成至少一个属性保护密钥,其中,一个属性保护密钥用于对一个属性信息进行加密处理;
根据各属性保护密钥和一个随机数对相应的属性信息进行加密处理,得到密文属性信息,其中,用于加密不同的属性信息的随机数不同;
根据所述密文属性信息生成目标数字证书,并向所述用户A提供所述目标数字证书和所有随机数;
接收来自于证书应用依赖方使用所述目标数字证书的请求,并向所述证书应用依赖方提供共享密钥;
证书申请设备,被配置为:
接收所述用户A输入的向所述数字证书生产端发送的所述申请;
接收来自于所述数字证书生成端得到的所述目标数字证书和所述所有随机数;
接收来自于证书应用依赖方发送的使用所述目标数字证书的请求,从所述所有随机数中选择目标随机数并向所述证书应用依赖方提供所述目标数字证书和目标随机数,其中,所述目标随机数是根据证书应用依赖方的可信度选取的;
所述证书应用依赖方,被配置为:
向所述数字证书生成端发送使用所述目标数字证书的请求,并接收由所述数字证书生成端发送的共享主密钥;
向所述证书申请设备发送使用所述目标数字证书的请求,并接收由所述证书申请设备发送的所述目标数字证书和所述目标随机数;
根据所述目标随机数和所述共享主密钥对所述目标数字证书上待解密的密文属性信息进行解密处理,得到目标明文属性信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210401774.XA CN114726544B (zh) | 2022-04-18 | 2022-04-18 | 获取数字证书的方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210401774.XA CN114726544B (zh) | 2022-04-18 | 2022-04-18 | 获取数字证书的方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726544A true CN114726544A (zh) | 2022-07-08 |
CN114726544B CN114726544B (zh) | 2024-02-09 |
Family
ID=82243316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210401774.XA Active CN114726544B (zh) | 2022-04-18 | 2022-04-18 | 获取数字证书的方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726544B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005311772A (ja) * | 2004-04-22 | 2005-11-04 | Ntt Data Corp | 属性情報管理システム、情報集計システム、端末装置、認証機関サーバ、管理サーバ、プログラム |
JP2008011100A (ja) * | 2006-06-28 | 2008-01-17 | Ntt Docomo Inc | 属性認証方法、属性証明書生成装置、サービス提供先装置、サービス提供元装置、及び属性認証システム |
CN104618093A (zh) * | 2015-01-16 | 2015-05-13 | 深圳市中兴物联科技有限公司 | 数据加密方法和装置 |
CN104639322A (zh) * | 2013-11-13 | 2015-05-20 | 航天信息股份有限公司 | 带有证书的含有属性的基于身份加密的方法 |
CN111600900A (zh) * | 2020-05-26 | 2020-08-28 | 牛津(海南)区块链研究院有限公司 | 基于区块链的单点登录方法、服务端及系统 |
CN113114458A (zh) * | 2021-04-20 | 2021-07-13 | 中国工商银行股份有限公司 | 加密证书生成、解密方法及装置、加密证书系统 |
CN113901424A (zh) * | 2021-09-10 | 2022-01-07 | 苏州长通互联科技有限公司 | 一种数字身份属性的选择性披露方法和装置 |
US20220020003A1 (en) * | 2020-07-18 | 2022-01-20 | The Boeing Company | Private key security in the cloud |
-
2022
- 2022-04-18 CN CN202210401774.XA patent/CN114726544B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005311772A (ja) * | 2004-04-22 | 2005-11-04 | Ntt Data Corp | 属性情報管理システム、情報集計システム、端末装置、認証機関サーバ、管理サーバ、プログラム |
JP2008011100A (ja) * | 2006-06-28 | 2008-01-17 | Ntt Docomo Inc | 属性認証方法、属性証明書生成装置、サービス提供先装置、サービス提供元装置、及び属性認証システム |
CN104639322A (zh) * | 2013-11-13 | 2015-05-20 | 航天信息股份有限公司 | 带有证书的含有属性的基于身份加密的方法 |
CN104618093A (zh) * | 2015-01-16 | 2015-05-13 | 深圳市中兴物联科技有限公司 | 数据加密方法和装置 |
CN111600900A (zh) * | 2020-05-26 | 2020-08-28 | 牛津(海南)区块链研究院有限公司 | 基于区块链的单点登录方法、服务端及系统 |
US20220020003A1 (en) * | 2020-07-18 | 2022-01-20 | The Boeing Company | Private key security in the cloud |
CN113114458A (zh) * | 2021-04-20 | 2021-07-13 | 中国工商银行股份有限公司 | 加密证书生成、解密方法及装置、加密证书系统 |
CN113901424A (zh) * | 2021-09-10 | 2022-01-07 | 苏州长通互联科技有限公司 | 一种数字身份属性的选择性披露方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114726544B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11900368B2 (en) | Method and system for zero-knowledge and identity based key management for decentralized applications | |
US9882728B2 (en) | Identity-based certificate management | |
US7028180B1 (en) | System and method for usage of a role certificate in encryption and as a seal, digital stamp, and signature | |
US6247127B1 (en) | Method and apparatus for providing off-line secure communications | |
CN101521569B (zh) | 实现服务访问的方法、设备及系统 | |
US7937584B2 (en) | Method and system for key certification | |
US7475250B2 (en) | Assignment of user certificates/private keys in token enabled public key infrastructure system | |
US6092201A (en) | Method and apparatus for extending secure communication operations via a shared list | |
CN100580657C (zh) | 分布式单一注册服务 | |
US7146009B2 (en) | Secure electronic messaging system requiring key retrieval for deriving decryption keys | |
EP3345372B1 (en) | Secure key management and peer-to-peer transmission system with a controlled, double-tier cryptographic key structure and corresponding method thereof | |
CN109450843B (zh) | 一种基于区块链的ssl证书管理方法及系统 | |
US20010020228A1 (en) | Umethod, system and program for managing relationships among entities to exchange encryption keys for use in providing access and authorization to resources | |
US20050152542A1 (en) | Public key encryption for groups | |
US20030115452A1 (en) | One time password entry to access multiple network sites | |
GB2382425A (en) | Anonymous transactions based on distributed processing | |
WO2008020991A2 (en) | Notarized federated identity management | |
WO2020176950A1 (en) | Systems, methods and devices for provision of a secret | |
EP1164745A2 (en) | System and method for usage of a role certificate in encryption, and as a seal, digital stamp, and a signature | |
CN114726544B (zh) | 获取数字证书的方法以及系统 | |
Patel et al. | The study of digital signature authentication process | |
Yau et al. | Anonymous service usage and payment in service-based systems | |
CN114005190B (zh) | 用于课堂考勤系统的人脸识别方法 | |
CN113556236B (zh) | 一种基于代理签名的能源数据中台敏感内容委托授权方法 | |
EP1288830A1 (en) | Anonymous processing of usage rights with variable degrees of privacy and accuracy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |