目前在中国主流发展的区块链技术被称为开放许可链,什么叫做许可链呢?就是所有组成许可链的节点所有者,其身份都是被认证过,被许可授权后,才能加入到该区块链网络的。
01 公钥基础设施
1.1 PKI 系统
图1 PKI系统
o 用户申请:
o RA 审核:
o CA 发行证书:
o RA 转发证书:
o 用户证书获取:
1.3 X.509 证书格式
X.509 结构中包括版本号(Version Number)、序列号(Serial Number)、签名算法(Signature Algorithm)、颁布者(Issuer)、有效期(Validity)、主体(Subject)、主体公钥信息(Subject Public Key Info)、主体公钥算法(Public Key Algorithm)、主体公钥(Subject Public Key)、证书签名算法(Certificate Signature Algorithm)和证书签名(Certificate Signature)。
1. 对证书中的明文利用相同的散列函数得到摘要值 H1。
3. 检查客户证书是否有效 (当前时间在证书结构中的所定义的有效期内)。
5. 验证客户证书结构中的证书用途。
02 Ultrain 证书管理体系
2.1 Ultrain 证书体系
根证书:根证书是一个自签名的证书,为所有证书的根,对应的私钥 key 文件由联盟委员会共同管理。
节点证书:节点证书由链证书签发。节点生成并保存自己的私钥文件 node.key,并生成请求文件 node.csr 发送给链管理机构,链管理机构审核通过后签发节点证书 node.crt。节点证书是节点的身份凭证,拥有节点证书的节点能够与区块链网络中节点建立 SSL 链接,实现节点间的加密通信。
Ultrain 提供了一套证书申请签发管理程序,方便各级证书的申请、验证及签发。
2.2 证书使用场景及验证
节点证书验证
图3 Ultrain 节点证书验证流程
在 Ultrain 的证书吊销(CRL)管理体系中,证书的吊销由该证书签发机构完成。节点可以向 CA 管理中心定期获取 CRL 列表。节点间的心跳报文中需携带自己的节点证书,当不携带节点证书或携带的证书在 CRL 列表时,心跳报文检测端会主动拆掉与被检测端的链接,实现实时的接入管理控制。
客户端访问节点提供的链接口时,可以选择校验节点证书,以验证节点身份,此时需使用根证书、链证书组成的证书链对节点证书校验。另外,客户端需提供用户证书给节点,节点的 HTTPS 服务会校验客户端所提供的用户证书(使用根证书、链证书以及节点证书组成的证书链进行校验),同时会检查 CRL 吊销列表,校验通过且该用户证书不在 CRL 列表时,则成功建立 SSL 链接,进行正常通信,否则则不能建立链接,从而保证了客户端与节点间的通信安全。
作者:Ultrain超脑链;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com
