IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 区块链证书管理组件:区块链世界的“身份证\" -> 正文阅读

[区块链]区块链证书管理组件:区块链世界的“身份证\"

区块链历经10余年的发展,基础技术框架逐渐完善,链上承载的业务越来越丰富,参与方越来越多。多方协作能否顺畅进行、业务摩擦能否得到有效解决、既往治理策略和实践能否满足日后高速发展的需求……行业关注的重点逐步聚焦到这些更具挑战性的难题上。

2021年1月,微众银行区块链在多年技术研究和应用实践的基础上,重磅发布了《面向区块链的多方协作治理框架》白皮书,即MCGF(Multilateral Collaborative Governance Framework)。作为区块链治理的参考架构,MCGF全面覆盖区块链治理的设计规范、参与角色、核心系统架构、功能流程及应用场景等领域。

区块链多方协作治理组件(WeBankBlockchain-Governance)MCGF框架的实做基础和原子性构件,可复用、可定制,由私钥管理组件(Governance-Key)、账户治理组件(Governance-Account)、权限治理组件(Governance-Authority)、证书管理组件(Governance-Cert)等子组件构成。它们嵌入和运行在整个MCGF大框架的各部分,宛如高速行驶的汽车上的车轮、齿轮、传动组、传感器,协同助力构建治理框架和提升开发效率。

我们通过系列文章,抽丝剥茧地解析每一个子组件的关键特性和使用方式。本篇文章是区块链多方协作治理组件系列文章的最后一篇,介绍证书管理组件(Governance-Cert),欢迎大家积极体验并将使用诉求或优化建议反馈给我们。

??Governance-Cert介绍

CA(Certificate Authority)是互联网及企业级应用的重要安全基础支撑。CA是负责发放和管理数字证书的权威机构,且是交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

在联盟链中,多采用面向CA的准入机制,通过证书来验证身份信息,保证信息的保密性、可认证性、完整性和不可抵赖性。如FISCO BCOS使用X509协议的证书格式,支持任意多级的证书结构。

证书内容包括了证书版本号、序列号、证书的签名算法、消息摘要算法等生成信息;同时包括了证书的颁发者、有效期、使用者、公钥信息、SSL通信需要用到的密码套件等信息。区块链节点通过加载证书,在接受数据包时,根据证书规定的密码套件和其消息字段,对数据包中携带的证书进行验证。

但在现有的联盟链应用实践中,证书的管理仍存在着一定的痛点。例如:

  • 在流程上,证书的签发缺乏统一的管理,且过程效率较低。当子证书签发时,需与根证书持有机构沟通后,才能将证书请求文件发送给对方机构,签发后再传回。

  • 证书无法被有效托管,一旦丢失,无法找回。

  • 集团或总部公司,需要统一管理和保存本机构内部的所有证书,但缺乏完整的工具组件。

    ……

为了提升证书签发和使用的效率,我们开发了WeBankBlockchain-Governance-Cert组件,该组件提供了证书生命周期管理的解决方案,规范证书签发流程,支持证书托管,支持多种签名算法,有效提升个人和企业用户的使用体验。

??关键特性

覆盖证书的全生命周期

为了助力用户方便地使用证书,Governance-Cert提供了证书生成、证书托管、证书使用等一系列功能,覆盖了整个证书的生命周期,尽可能满足使用者的各项需求。

支持多种密钥和签名算法

不仅支持RSA,EC等密钥算法,还支持SM2等国密算法。

在签名算法方面,除了支持SHA256WITHRSA、SHA256WITHECDSA,还支持SM3WITHSM2等国密签名算法。

支持证书托管

支持将证书和子证书请求持久化在数据库中。同时,证书相关的私钥也会被安全保存。此外,提供了统一的平台,来对证书信息统一管理。最后,支持对证书进行多维度查询,并支持证书的多格式导出。

支持多级证书签发

证书可进行多级签发,可选择上级证书并请求签发,生成证书链,使用方便,操作便捷。

支持证书吊销、重置

支持对证书进行吊销、重置等操作。重置信息包括有效时间、证书用途等。

??设计概要

Governance-Cert包含两个模块,cert-toolkit和cert-mgr。cert-toolkit作为证书生成工具,可作为独立工具包使用,cert-mgr则基于cert-toolkit工具包,更进一步提供了证书的托管能力,并支持证书的生命周期管理,统一规范了签发流程。

cert-toolkit工具包提供了证书签发的多种接口,包括根证书生成、子证书请求生成、子证书签发等接口,并提供多种入参方式,可按需调用。

证书签发的基本流程为:

  • 构建证书元数据:包括签发人(Issuer)、地址、签发时间、有效期等,还包括证书持有者(Owner)基本信息、Owner 公钥等信息;

  • 使用通用的 Hash 算法(如SHA-256)对证书元数据计算生成数字摘要;

  • 使用 Issuer 的私钥对该数字摘要进行加密,生成一个加密的数字摘要,也就是Issuer的数字签名;

  • 将数字签名附加到数字证书上,则成为一个签名完成的数字证书。

另外,在证书读写方面,cert-toolkit中提供了对证书crt和pfx格式文件的读写。在证书管理上,提供证书验证、吊销的接口。

cert-mgr借助cert-toolkit工具包和数据库,完成了对证书全生命周期的管理,其中通过数据库构建对应的存储模型来实现对证书的持久化和托管。存储模型包括证书表、子证书请求表和用户私钥表,表结构和关系如下:

其中证书表用来保存管理证书信息,包括签发用户、证书数据,颁发时间等信息。证书请求信息表保存了子证书的申请信息,包括申请用户、所有者数据等信息。用户表则用来保存用户ID和私钥等信息。上述模型实现了对证书的托管和生命周期的管理。

??应用场景

根证书管理

链上节点证书的签发统一由Governance-Cert来完成。Governance-Cert可以被集成或者独立部署,并由权威机构进行管理服务。从根证书到所有子证书,均由权威机构统一管理和托管存储。

在链初始化时,可由部署者调用接口完成根证书的生成。新增机构或节点可以通过Governance-Cert提供的查询接口,来查询根证书,并提交子证书请求。根证书管理者可从查询请求列表,来获取准入请求,并选择签发子证书。子证书签发完成,下一级证书采取同样逻辑处理。

通过Governance-Cert对于证书的管理,可以规范流程,提升效率,并保证证书安全。

多级证书托管

当集团或机构的参与者需要为旗下多个分支机构签发、存储、管理和重置私钥等。

在这种场景中,Governance-Cert提供了开箱可用的服务。集团或机构的参与者可以使用Governance-Cert来搭建一个集团或机构内部统一的证书托管平台,集中管理集团或机构内部所有的证书。当分支机构需要申请签发证书时,可以向集团或机构提出专有的证书管理服务请求。

证书工具包

Governance-Cert中cert-toolkit可作为独立的Java工具包在Java项目中被引用,代替命令行完成证书的生成和签发。企业或个人项目可集成Governance-Cert作为证书签发工具包。通过SDK的形式,开发者可在自己的Java项目中,扩展和定制个性化的需求功能,灵活满足各种证书相关的场景。

??即刻使用

文档地址:?

https://governance-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-Governance-Cert/index.html

GitHub代码库地址:

https://github.com/WeBankBlockchain/Governance-Cert

gitee代码库地址:

https://gitee.com/WeBankBlockchain/Governance-Cert?

欢迎参与WeBankBlockchain的社区建设:

  • 如项目对您有帮助,欢迎点亮我们的小星星(点击项目右上方Star按钮)。

  • 欢迎提交代码(Pull requests)。

  • 提问和提交BUG。

  • 如果发现代码存在安全漏洞,可通过https://security.webank.com/上报。

如需咨询技术问题,欢迎关注本公众号,对话框回复【小助手】进技术交流群。


  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-07-09 17:32:56  更:2021-07-09 17:33:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 10:55:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计