CN117081736A - 密钥分发方法、密钥分发装置、通信方法及通信装置 - Google Patents
密钥分发方法、密钥分发装置、通信方法及通信装置 Download PDFInfo
- Publication number
- CN117081736A CN117081736A CN202311074314.1A CN202311074314A CN117081736A CN 117081736 A CN117081736 A CN 117081736A CN 202311074314 A CN202311074314 A CN 202311074314A CN 117081736 A CN117081736 A CN 117081736A
- Authority
- CN
- China
- Prior art keywords
- certificate
- key
- client
- private key
- server
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 150
- 238000004891 communication Methods 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000002457 bidirectional effect Effects 0.000 claims description 31
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 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/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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/321—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 a third party or a trusted authority
-
- 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
-
- 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/3265—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 chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书一个或多个实施例公开了一种密钥分发方法,适用于密钥分发装置,包括:获取第三方可信机构分发的至少一个中间证书、中间证书对应的私钥及证书链;响应于用户端的密钥申请请求,生成用户公钥和用户私钥;利用中间证书对应的私钥对用户端的用户信息及用户公钥进行签名,得到用户端证书;通过第一白盒加密模型加密用户私钥得到私钥密文;将中间证书、证书链、用户端证书和私钥密文发送给用户端,以使用户端根据预先存储的根证书验证中间证书和证书链,并在验证通过后,采用第二白盒加密模型解密私钥密文得到用户私钥,以及基于用户端证书获取用户公钥。相应地,本说明书公开了密钥分发装置、通信方法及通信装置。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种密钥分发方法、密钥分发装置、通信方法及通信装置。
背景技术
安全切面体系技术架构日趋成熟,在切面服务提供过程中,需要将切面服务部署到公有云上,提供给公有云租户甚至是云下用户进行使用。但是,非法用户可能冒用客户身份来获取云上切面服务,甚至是进行恶意攻击;攻击者也可能冒充服务端,从而对大量的切面客户端和用户进行攻击,造成重大安全问题。
发明内容
本说明书一个或多个实施例描述了一种密钥分发方法、密钥分发装置、通信方法及通信装置,能够为用户端分发身份凭证,并基于身份凭证实现切面客户端和切面服务端的双向身份认证以及通信密钥协商,从而在安全可靠的环境下进行高效的保密通信。
根据第一方面,提供了一种密钥分发方法,适用于密钥分发装置,所述方法包括:
获取第三方可信机构分发的至少一个中间证书、所述中间证书对应的私钥及证书链;
响应于用户端的密钥申请请求,为所述用户端生成用户公钥和用户私钥;
选取所述中间证书,利用该中间证书对应的私钥对所述用户端的用户信息及所述用户公钥进行签名,得到用户端证书;
通过第一白盒加密模型对所述用户私钥进行白盒加密,得到私钥密文;
将所述中间证书、所述证书链、所述用户端证书和所述私钥密文发送给所述用户端,以使所述用户端根据预先存储的根证书验证所述中间证书和所述证书链,并在验证通过后,采用第二白盒加密模型对所述私钥密文进行解密,得到所述用户私钥,以及基于所述用户端证书获取所述用户公钥;所述第一白盒加密模型与所述第二白盒加密模型相同。
作为第一方面所述方法的一种可选实施方式,所述密钥分发装置采用在线或离线方式将所述中间证书、所述证书链、所述用户端证书和所述私钥密文发送给所述用户端。
根据第二方面,提供了一种密钥分发装置,包括:
非对称密钥生成模块,配置为响应于用户端的密钥申请请求,生成用户公钥和用户私钥;
数字证书签发模块,配置为存储第三方可信机构分发的至少一个中间证书、所述中间证书对应的私钥及证书链;以及响应于所述用户公钥生成,选取一个所述私钥对所述用户端的用户信息及所述用户公钥进行签名,得到所述用户端证书;
白盒加密模块,配置为响应于所述用户私钥生成,通过第一白盒加密模型对所述用户私钥进行白盒加密,得到私钥密文;
数据发送模块,配置为将所述私钥对应的中间证书、所述证书链、所述用户端证书和所述私钥密文发送给所述用户端,以使所述用户端根据预先存储的根证书验证所述中间证书和所述证书链,并在验证通过后,采用第二白盒加密模型对所述私钥密文进行解密,得到所述用户私钥,以及基于所述用户端证书获取所述用户公钥;所述第一白盒加密模型与所述第二白盒加密模型相同。
根据第三方面,提供了一种通信方法,适用于切面客户端,所述方法包括:
获取第三方可信机构分发的根证书;
采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取客户端证书、客户端公钥、客户端私钥和客户端证书链;
基于所述根证书、所述客户端证书、所述客户端私钥和所述客户端证书链,与切面服务端进行双向身份认证及通信密钥协商。
作为第三方面所述方法的一种可选实施方式,所述双向身份认证具体包括:
基于所述客户端私钥,生成第一签名信息;
向所述切面服务端发送所述客户端证书、所述客户端证书链和所述第一签名信息作为第一认证数据;
获取所述切面服务端在对所述第一认证数据认证通过后发送的第二认证数据,所述第二认证数据包括所述切面服务端的服务端证书、服务端证书链和第二签名信息;
基于所述根证书和所述服务端证书中记载的服务端公钥,对所述第二认证数据进行认证,并向所述切面服务端反馈认证结果。
进一步地,在一些实施方式中,基于所述客户端私钥生成所述第一签名信息,具体包括:
对所述客户端证书和所述客户端证书链进行摘要计算,得到第一摘要信息;
用所述客户端私钥对所述第一摘要信息进行签名,得到所述第一签名信息。
进一步地,在一些实施方式中,所述第二签名信息由所述切面服务端用服务端私钥对第二摘要信息签名得到;所述第二摘要信息由所述切面服务端对所述服务端证书和服务端证书链进行摘要计算得到。
作为第三方面所述方法的一种可选实施方式,所述通信密钥协商具体包括:
获取所述切面服务端发送的对称加密密文和对所述对称加密密文的摘要的签名信息;所述对称加密密文由所述切面服务端利用所述客户端公钥对生成的对称密钥和生成所述对称密钥的对称加密算法进行加密得到;
在与所述切面服务端进行双向认证后,用所述客户端私钥对所述对称加密密文进行解密,获得所述对称密钥和生成所述对称密钥的对称加密算法;
基于所述对称密钥,与所述切面服务端进行保密通信。
进一步地,在一些实施方式中,在与所述切面服务端进行双向认证并认证通过之后,在每一次通信之前都与所述切面服务端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
根据第四方面,提供了一种通信方法,适用于切面服务端,所述方法包括:
获取第三方可信机构分发的根证书;
采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取服务端证书、服务端公钥、服务端私钥和服务端证书链;
基于所述根证书、所述服务端证书、所述服务端私钥和所述服务端证书链,与切面客户端进行双向身份认证及通信密钥协商。
作为第四方面所述方法的一种可选实施方式,所述双向身份认证具体包括:
获取所述切面客户端发送的第一认证数据,所述第一认证数据包括客户端证书、客户端证书链和所述切面客户端的第一签名信息;
基于所述根证书和所述客户端证书中记载的客户端公钥,对所述第一认证数据进行认证,并向所述切面客户端反馈认证结果;
在对所述第一认证数据认证通过后,基于所述服务端私钥,生成第二签名信息;
向所述切面客户端发送所述服务端证书、所述服务端证书链和所述第二签名信息作为第二认证数据;
获取所述切面客户端反馈的认证结果。
进一步地,在一些实施方式中,基于所述服务端私钥生成所述第二签名信息,具体包括:
对所述服务端证书和所述服务端证书链进行摘要计算,得到第二摘要信息;
用所述服务端私钥对所述第二摘要信息进行签名,得到所述第二签名信息。
进一步地,在一些实施方式中,所述第一签名信息由所述切面客户端用所述客户端私钥对第一摘要信息进行签名得到;所述第一摘要信息由所述切面客户端对所述客户端证书和所述客户端证书链进行摘要计算得到。
作为第四方面所述方法的一种可选实施方式,所述通信密钥协商具体包括:
在对所述第一认证数据认证通过后,生成对称密钥;
用所述切面客户端的客户端公钥对所述对称密钥和生成所述对称密钥的对称加密算法进行加密,得到对称加密密文;
对所述对称加密密文进行摘要,并用所述服务端私钥对摘要信息进行签名,得到签名信息;
向所述切面客户端发送所述对称加密密文和所述签名信息,以进行通信密钥协商;
在协商完成后,基于所述对称密钥,与所述切面客户端进行保密通信。
作为第四方面所述方法的一种可选实施方式,在与所述切面客户端进行双向认证并认证通过之后,在每一次通信之前都与所述切面客户端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
根据第五方面,提供了一种通信装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行以下步骤:
获取第三方可信机构分发的根证书;
采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取客户端证书、客户端公钥、客户端私钥和客户端证书链;
基于所述根证书、所述客户端证书、所述客户端私钥和所述客户端证书链,与切面服务端进行双向身份认证及通信密钥协商。
根据第六方面,提供了一种通信装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行以下步骤:
获取第三方可信机构分发的根证书;
采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取服务端证书、服务端公钥、服务端私钥和服务端证书链;
基于所述根证书、所述服务端证书、所述服务端私钥和所述服务端证书链,与切面客户端进行双向身份认证及通信密钥协商。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的密钥分发方法及通信方法。
本说明书的一个或多个实施例所提供的密钥分发方法首先从第三方可信机构获取中间证书以给用户端分发身份凭证,可以采用在线或者离线的方式将中间证书、证书链、用户端证书和私钥密文等身份凭证发送给用户端,其中私钥密文的真实内容全程不可见,能够很大程度地保障用户端身份凭证信息的安全性。
本说明书的一个或多个实施例所提供的通信方法采用上述密钥分发方法分别为切面服务端和切面客户端获取公私钥对以及身份证书,进而生成第一认证数据和第二认证数据以使切面服务端和切面客户端完成双向身份认证,有效防止恶意攻击,从而安全而高效地实现双方之间的通信密钥协商以及保密通信;此外通信过程中不需要用到数据库和I/O操作,在节约存储成本和时间成本的同时,具备较高的性能。
本说明书的一个或多个实施例所提供的密钥分发装置以及通信装置同样具有上述有益效果。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性地示出了本说明书一个或多个实施例提供的通信系统的结构图。
图2示例性地示出了本说明书一个或多个实施例提供的一种密钥分发方法的流程示意图。
图3示例性地示出了本说明书一个或多个实施例提供的一种密钥分发装置的结构框图。
图4示例性地示出了本说明书一个或多个实施例提供的一种通信方法的流程示意图。
图5示例性地示出了本说明书一个或多个实施例提供的另一种通信方法的流程示意图。
图6为本说明书一个或多个实施例提供的一种电子设备的结构图。
具体实施方式
切面指在不修改目标程序的情况下被注入框架注入到目标程序方法中的代码块,以给目标程序动态添加功能,进行代码增强。而安全切面技术能够建立一套和服务相交织且平行的安全防御层,使安全检测能够深入服务逻辑,在与重点安全问题相关的接口处提供安全保护,实现细致的观测和攻防;同时安全切面能保持独立运行的规则引擎和升级能力,保证服务和安全的解耦合,使二者能够各自独立地发展。安全切面在判断程序调用是否合理时,能够追溯链路调用信息,以做出全面、准确的判断。
随着安全切面体系技术架构日趋成熟,在切面服务提供过程中,需要将切面服务部署到公有云上,通过服务调用接口OpenAPI等形式提供给公有云租户甚至是云下用户进行使用。但在用户的客户端与云上的服务端通信时存在一些安全漏洞,比如,非法用户可能冒用用户身份来获取云上切面服务,甚至是进行恶意攻击;攻击者也可能冒充服务端,从而对大量的切面客户端和用户进行攻击,造成重大安全问题。
通常公有云服务端在提供服务前,会对接受服务的用户进行身份认证,比如将用户凭证加密后发送给用户保管,由服务端对客户端进行单向认证,需要维护用户凭证数据库来认证客户端的身份。为了降低包含身份凭证的密文泄露导致的服务端与客户端受到攻击的风险,密文的存储方式需要更严谨,同时服务端的身份也需要进行认证。
因此,希望提出一种更安全可靠的身份认证和保密通信的方法,能够实现服务端和客户端的双向认证。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
本领域技术人员可以理解,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本说明书的一个或多个实施例提供了一种密钥分发方法及通信方法,请参考图1,图1示例性地显示了一种通信系统,可以用于实现该密钥分发方法及通信方法。需要说明的是,本申请的一个或多个实施例所述的密钥分发方法及通信方法,可以依赖图1所示的通信系统实现,但不限于该通信系统。
如图1所示,通信系统包括密钥分发装置10、切面服务端12、切面客户端14以及第三方可信机构16。密钥分发装置通过通信链路与切面服务端、切面客户端连接,切面服务端与切面客户端之间也通过通信链路连接,所述通信链路可以为有线网络,也可以是无线网络。例如,密钥分发装置可以采用WIFI、蓝牙、红外等通信方式与切面服务端、切面客户端建立通信连接。或者,密钥分发装置也可以通过移动网络与切面服务端、切面客户端建立通信连接,其中,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax等中的任意一种。
密钥分发装置10配置为响应于用户端的密钥申请请求,生成用户端的公私钥对并加密后分发给用户端,用户端可以是切面服务端12或者切面客户端14。密钥分发装置10可以是任何具有计算、处理能力的装置、设备、平台、设备集群。本实施例中,并不限制密钥分发装置10的实现形态,例如,其可以是单个的服务器,也可以是由多个服务器组成的服务器集群,还可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品。
切面服务端12可以是公有云上的云服务器,用于为切面客户端14提供服务以及相应的数据。切面客户端14可以是公有云租户甚至是云下用户,例如智能手机、平板电脑、笔记本电脑等移动设备,配置为向切面服务端12请求服务。
第三方可信机构16可以是权威的根证书颁发机构(Certificate Authority,CA)或者中间CA,提供证书发放服务。中间CA负责为密钥分发装置签发中间证书以及发放相应的证书链,而密钥分发装置可以利用中间证书为用户端签发用户端证书。根CA为用户端发放根证书,以验证证书链以及密钥分发装置所签发的用户端证书的合法性和有效性。根证书一般不直接用于签发用户端证书,而是通过根CA向中间CA发放中间证书,再利用中间证书来签发用户端证书,而这一系列签发中间证书的过程构成第三方可信机构的证书链,以作为中间证书的签发记录;在密钥分发过程中,用户端的根证书通过检验证书链中是否存在密钥分发装置内的中间证书,以及该中间证书是否最终来源于该发放根证书的根CA,从而判断密钥分发装置是否可信,以避免中间证书被窃取或者伪造。
在进行双向身份认证之前,密钥分发装置向第三方可信机构申请中间证书、中间证书对应的私钥以及证书链,以证明其具有签发用户端证书的权威,用于为切面服务端或者切面客户端等用户端签发用户端证书;用户端向密钥分发装置申请密钥分发请求,该请求内包含用户端的身份信息等内容。密钥分发装置自动生成用户端的公私钥对,基于中间证书的私钥签发用户端证书,该用户端证书内包含用户端公钥;密钥分发装置将用户私钥进行白盒加密,获得私钥密文;密钥分发装置将用户端证书、私钥密文和证书链发送给用户端。
用户端接收密钥分发装置所发送的数据,利用根CA发放的根证书验证证书链以判断密钥分发装置的可靠性,验证通过后采用相应的白盒加密算法对私钥密文解密,得到用户端私钥,基于用户端证书获得用户端公钥。用户端之间利用获得的这些信息生成认证数据以进行身份认证以及保密通信。
在一些其他实施方式中,密钥分发装置可以是第三方可信机构,其可以自己发放中间证书用于签发用户端证书,也可以自己为用户端发放根证书以验证所获得的用户端证书的合法性和有效性。
对应于上述通信系统,在一些实施例中,本说明书提供了一种密钥分发方法,适用于密钥分发装置,请参考图2,包括:
S100:获取第三方可信机构分发的至少一个中间证书、中间证书对应的私钥及证书链。
第三方可信机构可以是权威的中间CA机构,其提供身份签发服务。中间CA负责为密钥分发装置签发中间证书以及发放相应的私钥和证书链,密钥分发装置可以进一步利用该中间证书为用户端签发用户端证书。中间证书可以由根CA向中间CA签发证书得到,以作为中间CA的身份凭证;根证书一般不直接用于签发用户端证书,而是利用下发中间证书来签发用户端证书,而这一系列签发中间证书的过程构成第三方可信机构的证书链,以作为中间证书的签发记录;在密钥分发过程中,通过检验证书链中是否存在密钥分发装置内的中间证书可以判断密钥分发装置是否可信,以表示该密钥分发装置具备合法签发用户端证书并分发密钥的权力,避免中间证书被窃取或者伪造。
用户端证书的作用是证明证书中列出的用户合法拥有证书中列出的公钥。
S102:响应于用户端的密钥申请请求,为用户端生成用户公钥和用户私钥。
用户端的密钥申请请求中可以包含用户端的身份信息以及申请原因等信息。收到用户端的密钥申请请求后,密钥发放装置生成用户端的公私钥对,为了保证密钥不会泄露,采用非对称加密保护用户信息,将算法与密钥结合起来保障信息安全,进一步对用户端的公私钥对进行加密后再发送给用户端。
S104:选取中间证书,利用该中间证书对应的私钥对用户端的用户信息及用户公钥进行签名,得到用户端证书。
用户端证书可以证明对应的用户端身份的合法性和有效性,且证书中包含该用户端的公钥,在后续与其他用户端通信的过程中可以用于获得其他用户端的信任,进而互相传递信息。第三方可信机构提供的中间证书的私钥拥有较强的保密性和安全性,用其进行数字签名可以确保获得的用户端证书不能被伪造和篡改。
S106:通过第一白盒加密模型对用户私钥进行白盒加密,得到私钥密文。
白盒加密模型体系结构和部分细节是公开的,其在敌人攻入系统、了解全部系统内容的情况下,也能确保密文的安全。白盒加密的重点是混淆信息而不是隐藏信息,经过白盒加密模型处理的用户私钥以攻击者无法理解的形式存在,让人无法明白用户私钥转换为私钥密文的过程,但不会影响私钥本身发挥的作用;即使私钥密文和白盒加密模型的结构被窃取,攻击者能够破译密文的难度依然很大。因此,白盒加密技术拥有很强的安全性,能够保障用户私钥在十分保密的环境下发送给用户端。
S108:将中间证书、证书链、用户端证书和私钥密文发送给用户端,以使用户端根据预先存储的根证书验证中间证书和证书链,并在验证通过后,采用第二白盒加密模型对私钥密文进行解密,得到用户私钥,以及基于用户端证书获取用户公钥;第一白盒加密模型与第二白盒加密模型相同。
用户端预先向第三方可信机构申请了权威的根证书,以通过验证证书链判断密钥分发装置对应的中间证书的合法性与有效性,从而可以证明所分发到的用户端证书以及密钥是安全可信的。验证通过后,再采用相同的白盒加密模型对接收到的私钥密文解密,获得明文的用户私钥;从用户端证书中可以获得对应的用户公钥。
在一些实施例中,密钥分发装置采用在线或离线方式将中间证书、证书链、用户端证书和私钥密文发送给用户端。
在线分发密钥是常用的方式,而密钥分发离线化可以使明文的用户端私钥全程不可见,避免很多方面的数据泄露,独立地进行密钥分发装置与用户端之间一对一的通信,而限制其他来源的访问,较大程度地保障了密钥的安全性和可靠性。
本说明书一个或多个实施例首先从第三方可信机构获取中间证书以给用户端分发用户端证书,利用中间证书的私钥签发用户端证书,对用户公钥进行加密;采用白盒加密模型对用户私钥进行加密和解密,加强了密钥传输的安全性。接着可以采用在线或者离线的方式将中间证书、证书链、用户端证书和私钥密文等身份凭证发送给用户端,能够很大程度地保障用户端身份凭证信息的安全性。
图3示例性地示出了本说明书一个或多个实施例提供的一种密钥分发装置的结构框图。
在一些实施例中,如图3所示的,本说明书提供了一种密钥分发装置10,包括:
非对称密钥生成模块20,配置为响应于用户端的密钥申请请求,生成用户公钥和用户私钥;
数字证书签发模块22,配置为存储第三方可信机构分发的至少一个中间证书、中间证书对应的私钥及证书链;以及响应于用户公钥生成,选取一个私钥对用户端的用户信息及用户公钥进行签名,得到用户端证书;
白盒加密模块24,配置为响应于用户私钥生成,通过第一白盒加密模型对用户私钥进行白盒加密,得到私钥密文;
数据发送模块26,配置为将私钥对应的中间证书、证书链、用户端证书和私钥密文发送给用户端,以使用户端根据预先存储的根证书验证中间证书和证书链,并在验证通过后,采用第二白盒加密模型对私钥密文进行解密,得到用户私钥,以及基于用户端证书获取用户公钥;第一白盒加密模型与第二白盒加密模型相同。
用户端的密钥申请请求中可以包含用户端的身份信息以及申请原因等信息。收到用户端的密钥申请请求后,非对称密钥生成模块生成用户端的公私钥对,为了保证密钥不会泄露,采用非对称加密保护用户信息,将算法与密钥结合起来保障信息安全,进一步对用户端的公私钥对进行加密后再发送给用户端。
第三方可信机构可以是权威的中间CA机构,其提供身份签发服务。中间CA负责为密钥分发装置签发中间证书以及发放相应的私钥和证书链,数字证书签发模块可以进一步利用该中间证书为用户端签发用户端证书。中间证书可以由根CA向中间CA签发证书得到,以作为中间CA的身份凭证;根证书一般不直接用于签发用户端证书,而是利用下发中间证书来签发用户端证书,而这一系列签发中间证书的过程构成第三方可信机构的证书链,以作为中间证书的签发记录;在密钥分发过程中,通过检验证书链中是否存在密钥分发装置内的中间证书可以判断密钥分发装置是否可信,以表示该密钥分发装置具备合法签发用户端证书并分发密钥的权力,避免中间证书被窃取或者伪造。
数字证书签发模块存储获取到的中间证书、中间证书对应的私钥及证书链以作为密钥分发装置的身份凭证,表示该密钥分发装置具备合法签发用户端证书并分发密钥的权力。
用户端证书可以证明对应的用户端身份的合法性和有效性,且证书中包含该用户端的公钥,在后续与其他用户端通信的过程中可以用于获得其他用户端的信任,进而互相传递信息。第三方可信机构提供的中间证书的私钥拥有较强的保密性和安全性,数字证书签发模块用其进行数字签名可以确保获得的用户端证书不能被伪造和篡改。
白盒加密模型体系结构和部分细节是公开的,其在敌人攻入系统、了解全部系统内容的情况下,也能确保密文的安全。白盒加密的重点是混淆信息而不是隐藏信息,经过白盒加密模块处理的用户私钥以攻击者无法理解的形式存在,让人无法明白用户私钥转换为私钥密文的过程,但不会影响私钥本身发挥的作用;即使私钥密文和所使用的白盒加密模型的结构被窃取,攻击者能够破译密文的难度依然很大。因此,白盒加密模块能够保障用户私钥在十分保密的环境下发送给用户端。
用户端预先向第三方可信机构申请了权威的根证书,以通过验证证书链判断密钥分发装置对应的中间证书的合法性与有效性,从而可以证明所分发到的用户端证书以及密钥是安全可信的。验证通过后,再采用相同的白盒加密模型对接收到的私钥密文解密,获得明文的用户私钥;从用户端证书中可以获得对应的用户公钥。
在一些实施例中,数据发送模块采用在线或离线方式将中间证书、证书链、用户端证书和私钥密文发送给用户端。
在线分发密钥是常用的方式,而密钥分发离线化可以使明文的用户端私钥全程不可见,避免很多方面的数据泄露,独立地进行密钥分发装置与用户端之间一对一的通信,而限制其他来源的访问,较大程度地保障了密钥的安全性和可靠性。
对应于上述通信系统,在一些实施例中,本说明书还提供了一种通信方法,适用于切面客户端,请参考图4,包括:
S300:获取第三方可信机构分发的根证书。
S302:采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取客户端证书、客户端公钥、客户端私钥和客户端证书链。
S304:基于根证书、客户端证书、客户端私钥和客户端证书链,与切面服务端进行双向身份认证及通信密钥协商。
切面客户端接收到密钥分发装置发送的客户端证书、客户端公钥、客户端私钥和客户端证书链后,利用获取到的根证书验证这些身份信息的合法性和有效性,若验证通过,则进一步与切面服务端互相进行身份认证;待双向认证成功,双方将协商通信时所要用到的密钥,利用该密钥进行进一步的保密通信。
在一些实施例中,双向身份认证具体包括:
基于客户端私钥,生成第一签名信息;
向切面服务端发送客户端证书、客户端证书链和第一签名信息作为第一认证数据;
获取切面服务端在对第一认证数据认证通过后发送的第二认证数据,第二认证数据包括切面服务端的服务端证书、服务端证书链和第二签名信息;
基于根证书和服务端证书中记载的服务端公钥,对第二认证数据进行认证,并向切面服务端反馈认证结果。
第一签名信息是由切面客户端私钥解密后得到的具体的切面客户端身份信息内容,相应的,第二签名信息也包含具体的切面服务端身份信息内容。切面服务端基于第一认证数据对切面客户端认证通过后,切面客户端再认证切面服务端的身份;基于切面客户端获取到的根证书通过服务端证书链验证服务端证书的合法性、有效性,基于服务端证书中记载的服务端公钥验证第二签名信息的有效性,若验证通过,则向切面服务端反馈认证结果,双方完成双向身份认证。
在一些更具体的实施例中,基于客户端私钥生成第一签名信息,具体包括:
对客户端证书和客户端证书链进行摘要计算,得到第一摘要信息;
用客户端私钥对第一摘要信息进行签名,得到第一签名信息。
客户端证书和客户端证书链内包含可以证明切面客户端身份的信息,例如客户端公钥,获得的第一摘要信息则可以作为切面客户端的身份凭证;用客户端私钥对第一摘要信息进行签名保证了第一摘要信息不会被篡改或者伪造。
在一些更具体的实施例中,第二签名信息由切面服务端用服务端私钥对第二摘要信息签名得到;第二摘要信息由切面服务端对服务端证书和服务端证书链进行摘要计算得到。
在一些实施例中,通信密钥协商具体包括:
获取切面服务端发送的对称加密密文和对对称加密密文的摘要的签名信息;对称加密密文由切面服务端利用客户端公钥对生成的对称密钥和生成对称密钥的对称加密算法进行加密得到;
在与切面服务端进行双向认证后,用客户端私钥对对称加密密文进行解密,获得对称密钥和生成对称密钥的对称加密算法;
基于对称密钥,与切面服务端进行保密通信。
对称加密密文由切面服务端利用客户端公钥加密后发送到切面客户端,再由切面客户端通过客户端私钥解密,获得双方进行保密通信时所需要的对称密钥和生成对称密钥的对称加密算法,基于此,切面客户端可以在安全性有保障的环境下获得切面服务端提供的切面服务。
在一些更具体的实施例中,可以采用分组加密的方法获得对称密钥,例如DES或者AES。整个加密过程中只使用一个密钥,该密钥既用于加密信息,也用于解密信息,具有较高的加解密效率。
在一些实施例中,通信密钥协商可以在双向身份认证过程中展开。切面客户端向切面服务端发送第一认证数据并通过验证后,在接收切面服务端发送的对称加密密文和对对称加密密文的摘要的签名信息的同时,也接受切面服务端的服务端证书以及服务端证书链,并行验证切面服务端的身份以及解密对称加密密文,从而在双向身份认证期间就协商好了通信密钥,待双向身份认证完成,可以立即使用协商好的密钥进行保密通信,有利于提高通信效率。
在另一些实施例中,通信密钥协商也可以在双向身份认证完成后展开。在双向身份认证完成后再协商通信密钥有利于减轻切面服务端与切面客户端的工作负担,保障身份认证结果的准确性以及通信密钥的使用率,避免双向身份认证未成功而通信密钥已经协商好,利用时间成本换取空间成本。
在一些更具体的实施例中,在与切面服务端进行双向认证并认证通过之后,在每一次通信之前都与切面服务端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
为了加强通信安全,通信密钥可以采用一次一密的形式,即在双向身份认证完成后,切面服务端和切面客户端每次通信之前都协商出新的对称密钥,即使存在密钥泄露的情况,也能降低其他通信信息受牵连的风险。
对应于上述通信系统,在一些实施例中,本说明书还提供了一种通信方法,适用于切面服务端,请参考图5,包括:
S400:获取第三方可信机构分发的根证书。
S402:采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取服务端证书、服务端公钥、服务端私钥和服务端证书链。
S404:基于根证书、服务端证书、服务端私钥和服务端证书链,与切面客户端进行双向身份认证及通信密钥协商。
切面服务端接收到密钥分发装置发送的服务端证书、服务端公钥、服务端私钥和服务端证书链后,利用获取到的根证书验证这些身份信息的合法性和有效性,若验证通过,则进一步与切面客户端互相进行身份认证;待双向认证成功,双方将协商通信时所要用到的密钥,利用该密钥进行进一步的保密通信。
在一些实施例中,双向身份认证具体包括:
获取切面客户端发送的第一认证数据,第一认证数据包括客户端证书、客户端证书链和切面客户端的第一签名信息;
基于根证书和客户端证书中记载的客户端公钥,对第一认证数据进行认证,并向切面客户端反馈认证结果;
在对第一认证数据认证通过后,基于服务端私钥,生成第二签名信息;
向切面客户端发送服务端证书、服务端证书链和第二签名信息作为第二认证数据;
获取切面客户端反馈的认证结果。
第一签名信息包含切面客户端的身份信息内容,相应的,第二签名信息也是由切面服务端的服务端私钥解密后得到的具体的切面服务端身份信息内容。切面服务端基于提前内置的根证书通过客户端证书链验证客户端证书的合法性、有效性,基于客户端证书中记载的客户端公钥验证第一签名信息的有效性;切面服务端对切面客户端的认证通过后,再发送第二认证数据,接受切面客户端的身份认证;若验证通过,则接收切面客户端反馈的认证结果,双方完成双向身份认证。
双向身份认证完成后,切面服务端读取切面客户端的客户端证书信息以获取切面客户端的身份并存储,用于后续的服务鉴权。
在一些更具体的实施例中,基于服务端私钥生成第二签名信息,具体包括:
对服务端证书和服务端证书链进行摘要计算,得到第二摘要信息;
用服务端私钥对第二摘要信息进行签名,得到第二签名信息。
服务端证书和服务端证书链内包含可以证明切面服务端身份的信息,例如服务端公钥,获得的第二摘要信息则可以作为切面服务端的身份凭证;用服务端私钥对第二摘要信息进行签名保证了第二摘要信息不会被篡改或者伪造。
在一些更具体的实施例中,第一签名信息由切面客户端用客户端私钥对第一摘要信息进行签名得到;第一摘要信息由切面客户端对客户端证书和客户端证书链进行摘要计算得到。
在一些实施例中,通信密钥协商具体包括:
在对第一认证数据认证通过后,生成对称密钥;
用切面客户端的客户端公钥对对称密钥和生成对称密钥的对称加密算法进行加密,得到对称加密密文;
对对称加密密文进行摘要,并用服务端私钥对摘要信息进行签名,得到签名信息;
向切面客户端发送对称加密密文和签名信息,以进行通信密钥协商;
在协商完成后,基于对称密钥,与切面客户端进行保密通信。
在一些更具体的实施例中,切面服务端可以采用分组加密的方法获得对称密钥,例如DES或者AES。整个加密过程中只使用一个密钥,该密钥既用于加密信息,也用于解密信息,具有较高的加解密效率。
在对第一认证数据认证通过后,切面服务端随机生成对称密钥,利用客户端公钥对对称密钥和生成对称密钥的对称加密算法加密得到对称加密密文,再用服务端私钥对对称加密密文的摘要签名,以保证对称加密密文不会被篡改或者伪造。切面服务端发送的对称加密密文和签名信息被切面客户端解密后完成通信密钥协商,基于此,切面服务端可以在安全性有保障的环境下为切面客户端提供切面服务。
可选地,可以用服务端私钥对对称加密密文、服务端证书以及服务端证书链的摘要进行签名,再将签名信息、对称加密密文、服务端证书以及服务端证书链一起发送给切面客户端,使得切面服务端在接收切面客户端的身份认证的同时传递通信密钥,从而通信密钥协商在双向身份认证过程中展开,待双向身份认证完成,可以立即使用协商好的密钥进行保密通信,有利于提高通信效率。
在另一些实施例中,通信密钥协商也可以在双向身份认证完成后展开。在双向身份认证完成后再协商通信密钥有利于减轻切面服务端与切面客户端的工作负担,保障身份认证结果的准确性以及通信密钥的使用率,避免双向身份认证未成功而通信密钥已经协商好,利用时间成本换取空间成本。
在一些更具体的实施例中,在与切面客户端进行双向认证并认证通过之后,在每一次通信之前都与切面客户端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
为了加强通信安全,通信密钥可以采用一次一密的形式,即在双向身份认证完成后,切面服务端和切面客户端每次通信之前都协商出新的对称密钥,即使存在密钥泄露的情况,也能降低其他通信信息受牵连的风险。
本说明书中的一种实施方式还提供了一种通信装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行以下步骤:
获取第三方可信机构分发的根证书;
采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取客户端证书、客户端公钥、客户端私钥和客户端证书链;
基于根证书、客户端证书、客户端私钥和客户端证书链,与切面服务端进行双向身份认证及通信密钥协商。
在一些实施例中,处理器进行双向身份认证具体包括:
基于客户端私钥,生成第一签名信息;
向切面服务端发送客户端证书、客户端证书链和第一签名信息作为第一认证数据;
获取切面服务端在对第一认证数据认证通过后发送的第二认证数据,第二认证数据包括切面服务端的服务端证书、服务端证书链和第二签名信息;
基于根证书和服务端证书中记载的服务端公钥,对第二认证数据进行认证,并向切面服务端反馈认证结果。
第一签名信息是由切面客户端私钥解密后得到的具体的切面客户端身份信息内容,相应的,第二签名信息也包含具体的切面服务端身份信息内容。切面服务端基于第一认证数据对切面客户端认证通过后,切面客户端再认证切面服务端的身份;基于切面客户端获取到的根证书通过服务端证书链验证服务端证书的合法性、有效性,基于服务端证书中记载的服务端公钥验证第二签名信息的有效性,若验证通过,则向切面服务端反馈认证结果,双方完成双向身份认证。
在一些更具体的实施例中,处理器基于客户端私钥生成第一签名信息,具体包括:
对客户端证书和客户端证书链进行摘要计算,得到第一摘要信息;
用客户端私钥对第一摘要信息进行签名,得到第一签名信息。
在一些更具体的实施例中,第二签名信息由切面服务端用服务端私钥对第二摘要信息签名得到;第二摘要信息由切面服务端对服务端证书和服务端证书链进行摘要计算得到。
在一些实施例中,处理器进行通信密钥协商具体包括:
获取切面服务端发送的对称加密密文和对对称加密密文的摘要的签名信息;对称加密密文由切面服务端利用客户端公钥对生成的对称密钥和生成对称密钥的对称加密算法进行加密得到;
在与切面服务端进行双向认证后,用客户端私钥对对称加密密文进行解密,获得对称密钥和生成对称密钥的对称加密算法;
基于对称密钥,与切面服务端进行保密通信。
对称加密密文由切面服务端利用客户端公钥加密后发送到切面客户端,再由切面客户端通过客户端私钥解密,获得双方进行保密通信时所需要的对称密钥和生成对称密钥的对称加密算法,基于此,切面客户端可以在安全性有保障的环境下获得切面服务端提供的切面服务。
在一些更具体的实施例中,处理器在与切面服务端进行双向认证并认证通过之后,在每一次通信之前都与切面服务端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
为了加强通信安全,通信密钥可以采用一次一密的形式,即在双向身份认证完成后,切面服务端和切面客户端每次通信之前都协商出新的对称密钥,即使存在密钥泄露的情况,也能降低其他通信信息受牵连的风险。
本说明书中的一种实施方式还提供了一种通信装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行以下步骤:
获取第三方可信机构分发的根证书;
采用上述密钥分发方法所述的步骤,向密钥分发装置申请获取服务端证书、服务端公钥、服务端私钥和服务端证书链;
基于根证书、服务端证书、服务端私钥和服务端证书链,与切面客户端进行双向身份认证及通信密钥协商。
在一些实施例中,处理器进行双向身份认证具体包括:
获取切面客户端发送的第一认证数据,第一认证数据包括客户端证书、客户端证书链和切面客户端的第一签名信息;
基于根证书和客户端证书中记载的客户端公钥,对第一认证数据进行认证,并向切面客户端反馈认证结果;
在对第一认证数据认证通过后,基于服务端私钥,生成第二签名信息;
向切面客户端发送服务端证书、服务端证书链和第二签名信息作为第二认证数据;
获取切面客户端反馈的认证结果。
第一签名信息包含切面客户端的身份信息内容,相应的,第二签名信息也是由切面服务端的服务端私钥解密后得到的具体的切面服务端身份信息内容。切面服务端基于提前内置的根证书通过客户端证书链验证客户端证书的合法性、有效性,基于客户端证书中记载的客户端公钥验证第一签名信息的有效性;切面服务端对切面客户端的认证通过后,再发送第二认证数据,接受切面客户端的身份认证;若验证通过,则接收切面客户端反馈的认证结果,双方完成双向身份认证。
双向身份认证完成后,切面服务端读取切面客户端的客户端证书信息以获取切面客户端的身份并存储,用于后续的服务鉴权。
在一些更具体的实施例中,处理器基于服务端私钥生成第二签名信息,具体包括:
对服务端证书和服务端证书链进行摘要计算,得到第二摘要信息;
用服务端私钥对第二摘要信息进行签名,得到第二签名信息。
在一些更具体的实施例中,第一签名信息由切面客户端用客户端私钥对第一摘要信息进行签名得到;第一摘要信息由切面客户端对客户端证书和客户端证书链进行摘要计算得到。
在一些实施例中,处理器进行通信密钥协商具体包括:
在对第一认证数据认证通过后,生成对称密钥;
用切面客户端的客户端公钥对对称密钥和生成对称密钥的对称加密算法进行加密,得到对称加密密文;
对对称加密密文进行摘要,并用服务端私钥对摘要信息进行签名,得到签名信息;
向切面客户端发送对称加密密文和签名信息,以进行通信密钥协商;
在协商完成后,基于对称密钥,与切面客户端进行保密通信。
在一些更具体的实施例中,处理器在与切面客户端进行双向认证并认证通过之后,在每一次通信之前都与切面客户端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
为了加强通信安全,通信密钥可以采用一次一密的形式,即在双向身份认证完成后,切面服务端和切面客户端每次通信之前都协商出新的对称密钥,即使存在密钥泄露的情况,也能降低其他通信信息受牵连的风险。
本说明书中的一种实施方式还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的密钥分发方法及通信方法。
图6为本说明书一个或多个实施例提供的一种电子设备的结构图。其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统500的结构示意图。图6示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
在一个典型的配置中,计算机500包括一个或多个处理器(CPU)502、输入接口508、输出接/510、网络接口506和存储器504。
存储器504可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。
Claims (17)
1.一种密钥分发方法,适用于密钥分发装置,所述方法包括:
获取第三方可信机构分发的至少一个中间证书、所述中间证书对应的私钥及证书链;
响应于用户端的密钥申请请求,为所述用户端生成用户公钥和用户私钥;
选取所述中间证书,利用该中间证书对应的私钥对所述用户端的用户信息及所述用户公钥进行签名,得到用户端证书;
通过第一白盒加密模型对所述用户私钥进行白盒加密,得到私钥密文;
将所述中间证书、所述证书链、所述用户端证书和所述私钥密文发送给所述用户端,以使所述用户端根据预先存储的根证书验证所述中间证书和所述证书链,并在验证通过后,采用第二白盒加密模型对所述私钥密文进行解密,得到所述用户私钥,以及基于所述用户端证书获取所述用户公钥;所述第一白盒加密模型与所述第二白盒加密模型相同。
2.如权利要求1所述的方法,所述密钥分发装置采用在线或离线方式将所述中间证书、所述证书链、所述用户端证书和所述私钥密文发送给所述用户端。
3.一种密钥分发装置,包括:
非对称密钥生成模块,配置为响应于用户端的密钥申请请求,生成用户公钥和用户私钥;
数字证书签发模块,配置为存储第三方可信机构分发的至少一个中间证书、所述中间证书对应的私钥及证书链;以及响应于所述用户公钥生成,选取一个所述私钥对所述用户端的用户信息及所述用户公钥进行签名,得到所述用户端证书;
白盒加密模块,配置为响应于所述用户私钥生成,通过第一白盒加密模型对所述用户私钥进行白盒加密,得到私钥密文;
数据发送模块,配置为将所述私钥对应的中间证书、所述证书链、所述用户端证书和所述私钥密文发送给所述用户端,以使所述用户端根据预先存储的根证书验证所述中间证书和所述证书链,并在验证通过后,采用第二白盒加密模型对所述私钥密文进行解密,得到所述用户私钥,以及基于所述用户端证书获取所述用户公钥;所述第一白盒加密模型与所述第二白盒加密模型相同。
4.一种通信方法,适用于切面客户端,所述方法包括:
获取第三方可信机构分发的根证书;
采用权利要求1或2所述的方法,向密钥分发装置申请获取客户端证书、客户端公钥、客户端私钥和客户端证书链;
基于所述根证书、所述客户端证书、所述客户端私钥和所述客户端证书链,与切面服务端进行双向身份认证及通信密钥协商。
5.如权利要求4所述的方法,所述双向身份认证具体包括:
基于所述客户端私钥,生成第一签名信息;
向所述切面服务端发送所述客户端证书、所述客户端证书链和所述第一签名信息作为第一认证数据;
获取所述切面服务端在对所述第一认证数据认证通过后发送的第二认证数据,所述第二认证数据包括所述切面服务端的服务端证书、服务端证书链和第二签名信息;
基于所述根证书和所述服务端证书中记载的服务端公钥,对所述第二认证数据进行认证,并向所述切面服务端反馈认证结果。
6.如权利要求5所述的方法,基于所述客户端私钥生成所述第一签名信息,具体包括:
对所述客户端证书和所述客户端证书链进行摘要计算,得到第一摘要信息;
用所述客户端私钥对所述第一摘要信息进行签名,得到所述第一签名信息。
7.如权利要求5所述的方法,所述第二签名信息由所述切面服务端用服务端私钥对第二摘要信息签名得到;所述第二摘要信息由所述切面服务端对所述服务端证书和服务端证书链进行摘要计算得到。
8.如权利要求4所述的方法,所述通信密钥协商具体包括:
获取所述切面服务端发送的对称加密密文和对所述对称加密密文的摘要的签名信息;所述对称加密密文由所述切面服务端利用所述客户端公钥对生成的对称密钥和生成所述对称密钥的对称加密算法进行加密得到;
在与所述切面服务端进行双向认证后,用所述客户端私钥对所述对称加密密文进行解密,获得所述对称密钥和生成所述对称密钥的对称加密算法;
基于所述对称密钥,与所述切面服务端进行保密通信。
9.如权利要求8所述的方法,在与所述切面服务端进行双向认证并认证通过之后,在每一次通信之前都与所述切面服务端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
10.一种通信方法,适用于切面服务端,所述方法包括:
获取第三方可信机构分发的根证书;
采用权利要求1或2所述的方法,向密钥分发装置申请获取服务端证书、服务端公钥、服务端私钥和服务端证书链;
基于所述根证书、所述服务端证书、所述服务端私钥和所述服务端证书链,与切面客户端进行双向身份认证及通信密钥协商。
11.如权利要求10所述的方法,所述双向身份认证具体包括:
获取所述切面客户端发送的第一认证数据,所述第一认证数据包括客户端证书、客户端证书链和所述切面客户端的第一签名信息;
基于所述根证书和所述客户端证书中记载的客户端公钥,对所述第一认证数据进行认证,并向所述切面客户端反馈认证结果;
在对所述第一认证数据认证通过后,基于所述服务端私钥,生成第二签名信息;
向所述切面客户端发送所述服务端证书、所述服务端证书链和所述第二签名信息作为第二认证数据;
获取所述切面客户端反馈的认证结果。
12.如权利要求11所述的方法,基于所述服务端私钥生成所述第二签名信息,具体包括:
对所述服务端证书和所述服务端证书链进行摘要计算,得到第二摘要信息;
用所述服务端私钥对所述第二摘要信息进行签名,得到所述第二签名信息。
13.如权利要求11所述的方法,所述第一签名信息由所述切面客户端用所述客户端私钥对第一摘要信息进行签名得到;所述第一摘要信息由所述切面客户端对所述客户端证书和所述客户端证书链进行摘要计算得到。
14.如权利要求10所述的方法,所述通信密钥协商具体包括:
在对所述第一认证数据认证通过后,生成对称密钥;
用所述切面客户端的客户端公钥对所述对称密钥和生成所述对称密钥的对称加密算法进行加密,得到对称加密密文;
对所述对称加密密文进行摘要,并用所述服务端私钥对摘要信息进行签名,得到签名信息;
向所述切面客户端发送所述对称加密密文和所述签名信息,以进行通信密钥协商;
在协商完成后,基于所述对称密钥,与所述切面客户端进行保密通信。
15.如权利要求10所述的方法,在与所述切面客户端进行双向认证并认证通过之后,在每一次通信之前都与所述切面客户端进行通信密钥协商,并基于本次协商出的对称密钥进行本次保密通信。
16.一种通信装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行以下步骤:
获取第三方可信机构分发的根证书;
采用权利要求1或2所述的方法,向密钥分发装置申请获取客户端证书、客户端公钥、客户端私钥和客户端证书链;
基于所述根证书、所述客户端证书、所述客户端私钥和所述客户端证书链,与切面服务端进行双向身份认证及通信密钥协商。
17.一种通信装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行以下步骤:
获取第三方可信机构分发的根证书;
采用权利要求1或2所述的方法,向密钥分发装置申请获取服务端证书、服务端公钥、服务端私钥和服务端证书链;
基于所述根证书、所述服务端证书、所述服务端私钥和所述服务端证书链,与切面客户端进行双向身份认证及通信密钥协商。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311074314.1A CN117081736A (zh) | 2023-08-23 | 2023-08-23 | 密钥分发方法、密钥分发装置、通信方法及通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311074314.1A CN117081736A (zh) | 2023-08-23 | 2023-08-23 | 密钥分发方法、密钥分发装置、通信方法及通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117081736A true CN117081736A (zh) | 2023-11-17 |
Family
ID=88705744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311074314.1A Pending CN117081736A (zh) | 2023-08-23 | 2023-08-23 | 密钥分发方法、密钥分发装置、通信方法及通信装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117081736A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688620A (zh) * | 2024-01-29 | 2024-03-12 | 江苏悉宁科技有限公司 | 基于大数据信息安全的证书验证优化方法及系统 |
CN117714066A (zh) * | 2023-12-11 | 2024-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 密钥处理方法、装置及可读存储介质 |
-
2023
- 2023-08-23 CN CN202311074314.1A patent/CN117081736A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714066A (zh) * | 2023-12-11 | 2024-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 密钥处理方法、装置及可读存储介质 |
CN117714066B (zh) * | 2023-12-11 | 2024-05-28 | 大唐高鸿信安(浙江)信息科技有限公司 | 密钥处理方法、装置及可读存储介质 |
CN117688620A (zh) * | 2024-01-29 | 2024-03-12 | 江苏悉宁科技有限公司 | 基于大数据信息安全的证书验证优化方法及系统 |
CN117688620B (zh) * | 2024-01-29 | 2024-04-23 | 江苏悉宁科技有限公司 | 基于大数据信息安全的证书验证优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11757662B2 (en) | Confidential authentication and provisioning | |
CN107743133B (zh) | 移动终端及其基于可信安全环境的访问控制方法和系统 | |
RU2715163C1 (ru) | Способ, устройство и система передачи данных | |
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
US10601801B2 (en) | Identity authentication method and apparatus | |
USH2270H1 (en) | Open protocol for authentication and key establishment with privacy | |
US10972272B2 (en) | Providing high availability computing service by issuing a certificate | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
JP5954609B1 (ja) | 電子署名トークンの私有鍵のバックアップ方法およびシステム | |
WO2015158172A1 (zh) | 一种用户身份识别卡 | |
CN102811224A (zh) | 一种ssl/tls连接的实现方法、装置及系统 | |
CN103546289A (zh) | 一种基于USBKey的安全传输数据的方法及系统 | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN117081736A (zh) | 密钥分发方法、密钥分发装置、通信方法及通信装置 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN113726733B (zh) | 一种基于可信执行环境的加密智能合约隐私保护方法 | |
CN110098925B (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统 | |
CN110176989B (zh) | 基于非对称密钥池的量子通信服务站身份认证方法和系统 | |
CN114697113B (zh) | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 | |
CN110176997B (zh) | 一种量子通信服务站aka密钥协商方法和系统 | |
CN114928491A (zh) | 基于标识密码算法的物联网安全认证方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |