项目组使用的PKI技术采用双密钥、双证书机制,请简述双密钥证书的生成过程。-----------建立了以技术为基础的信任机制。
(1)用户使用客户端产生签名密钥对。 (2)用户的签名私钥保存在客户端。 (3)用户将签名密钥对的公钥传送给CA中心。 (4) CA中心为用户的公钥签名,产生签名证书。 (5) CA中心将签名证书传回客户端进行保存。 (6) KMC (密钥管理中心)为用户生成加密密钥对。 (7)在KMC中备份加密密钥以备以后进行密钥恢复。 (8) CA中心为加密密钥对生成加密证书。 (9) CA中心将用户的加密私钥和加密证书打包成标准格式PKCS#12。 (10)将打包后的文件传回客户端。 (11)用户的客户端装入加密公钥证书和加密私钥。
参考原文:https://blog.csdn.net/xiaornshuo/article/details/126579002
一、单向加密
二、双向加密
==============
1.PKI体系 1.1 PKI(Public Key Infrastructure,公钥基础架构)
PKI是一套以公钥技术为基础、提供安全服务的架构, 由认证机构(CA), 数字证书库, 密钥备份和恢复, 证书作废系统, 应用接口等组成。CA是PKI的核心,CA的主要功能有:证书发放、证书管理(更新、撤消、验证)。
几个基本概念:
- 证书(Certificate):数字证书证明证书主题所描述的主体对公钥的拥有关系。
- 根证书:位于证书层次的最高层,所有证书链均终结于根证书。 >从属证书:由上一级认证机构颁发的证书。
- 自签名证书:证书中的公钥和用于验证证书的密钥是相同的。自签名证书都是根证书。
- 认证中心(Certificate Authority/Certification Authority):颁发数字证书的机构。
- 根CA:一种特殊的CA,受到无条件地信任,位于证书层次结构的最高层。根CA必须对自己的证书签名,因为在证书层次结构中不存在更高的认证机构。常见根CA有:VeriSign, GlobalSign, Thawte, GeoTrust等。
- 从属CA:拥有上一级CA的CA。从属CA的证书中公钥和用于验证证书的密钥是不相同的。
- CA/证书的层级结构:PKI架构中,从根CA开始,CA体系表现为自上而下的层次结构。下级CA信任上一级CA;下级CA由上一级CA颁发证书并认证。
- 公钥(Public Key):不对称密钥加密体系中,可以提供给他人使用的密钥。一般包含在证书中。
- 私钥(Private Key):不对称密钥加密体系中,仅供自己使用的密钥。
- 证书撤消列表(Certificate Revocation List, CRL):CRL给出了证书颁发者认定为无效的证书的序列号列表。
=================================
四、
常见证书相关文件名后缀
- .csr :X.509证书请求文件(Certificate Signing Request)。CA签名后生成.crt证书文件
- .cer, .crt, .der : DER二进制编码的X.509证书,不包含私钥
- .pem : PEM Based64编码的DER证书(或证书链,可包含私钥)
- .p7b, .p7c : PKCS#7标准证书(或证书链,不包含私钥). Win平台下常被用来存储证书链. 证书存放在”—–BEGIN PKCS7—–“和”—–END PKCS7—–“之间.
- .p7r : PKCS#7证书请求
- .p10:PKCS#10证书签名请求文件。CA签名后以p7r文件回复。
- .p12 : PKCS#12标准证书. 通常包含证书, 公钥, 以及使用了密码保护的私钥
- .pfx : PKCS#12格式的前身. 通常包含有PKCS#12格式的数据. Win平台下常用作导入/导出证书及私钥.
- .pvk : 微软用于存放私钥的文件格式
- .spc(Software Publishing Certificate) : 微软软件发布证书,用于给软件进行签名。
- .key : Base64编码私钥文件,可以使用或不使用密码保。
======================
五、参考 https://zhuanlan.zhihu.com/p/377562137
一、公钥基础设施 公钥基础设施 PKI(Public Key Infrastructure)是通过使用公钥技术和数据证书来提供信息系统安全服务,并负责验证数字证书持有者身份的一种体系。PKI 基础设施采用证书管理公钥,通过第三方可信任认证中心,把用户的公钥和用户的身份信息捆绑在一起,它是具有通用性的安全基础设施,是一套服务体系。 PKI 的功能是通过答发数据证书来绑定证书持有者的身份和相关的公开密钥,为用户获取证书、访问证书和撤销证书提供方便的途径。同时利用数字证书及相关的各种服务(证书发布、黑名单发布等)实现通信过程中实体的身份认证,保证了通信数据的机密性、完整性、不可否认性和认证性。 二、PKI 体系架构 PKI 体系架构由证书申请者、注册机构RA、认证中心CA、证书撤销列表CRL组成。 (1)CA(Certification Authority):负责证书的颁发和吊销(Revoke),接收来自 RA 的请求,是最核心的部分。 (2)RA(Registration Authority):对用户身份进行验证,校验数据合法性,负责登记,审核过了就发给 CA。 (3)证书存储库:存放证书,多采用 X.500 系列标准格式。 常见的操作流程为,用户通过 RA 登记申请证书,提供身份和认证信息等;CA 审核后完成证书的制造,颁发给用户。用户如果需要撤销证书则需要再次向 CA 发出申请。 三、证书的签发 CA 对用户签发证书实际上是对某个用户公钥,使用 CA 的私钥对其进行签名,这样任何人都可以用 CA 的公钥对该证书进行合法性验证,验证成功则认可该证书中所提供的用户公钥内容,实现用户公钥的安全分发。 用户证书的签发可以有两种方式。一般可以由 CA 直接来生成证书(内含公钥)和对应的私钥发给用户;也可以由用户自己生成公钥和私钥,然后由 CA 来对公钥内容进行签名。 PKI实体向CA申请本地证书有以下两种方式:(1)在线申请 (2)离线申请 四、证书的撤销 证书超出有效期后会作废,用户也可以主动向 CA 申请撤销某证书文件,由于 CA 无法强制收回已经颁发出去的数字证书,因此为了实现证书的作废,往往还需要维护一个撤销证书列表(Certificate Revocation List,CRL),用于记录已经撤销的证书序号。 因此,通常情况下,当第三方对某个证书进行验证时,需要首先检查该证书是否在撤销列表中。如果存在,则该证书无法通过验证。如果不在,则继续进行后续的证书验证过程。
参考阅读:
区块链技术可以简单理解为一种分布式的加密账本,这个账本按照时间记录了各类信息,且信息分布在各个分布式的节点上,如果各个节点没有按照约定的规则达成一定的共识,这个信息将不能被修改。