一. HyperLedge Fabric的CA支撑环境
利用数字签名技术和hash实现交易的抗抵赖
1.CA是Membership的重要组件之一
- 满足于Fabric的安全需求,为参与各方实现:
• 用户注册
• 证书签发
• 证书吊销
• 发布证书链
– 基于RESTful/CLI等多种接口方式,服务于Blockchain的各个环节,包括:
• T-Cert – Transaction Certificate (交易证书证书),执行交易时使用
每个交易时生成,用于交易的签名
• E-Cert – Enrollment Certificate (注册证书),携带实体信息的证书
长期持有,携带或可以追溯使用者信息
用于身份认证
• CSR – 证书吊销列表
2. PKI相关的密码学在BlockChain中的应用保障单个Peer上数据的完整性
• 数字签名
– 不可抵赖,防篡改
• Hash
• 加密
– 事务隐私保护
– 数据访问控制
– 共识机制及BlockChain数据分布化,可以防止某个Peer造假,达到高度自治
3. 如何既保障交易私密,又可以实现监管
采用“加密密钥对”和“签名密钥对”分离的做法,加密密钥对在监管方备案
“监管”是指无需交易方授权,监管者可以解密交易
– 但监管不能侵犯“不可抵赖性”,即,监管者不可以伪造别人的交易
– 采用PKI体系的“ 双密钥对---签名密钥对和加密密钥对 ”模式来实现:
• 证书持有者有一对签名用途的密钥对
• 证书持有者有一对加密用途的密钥对
• CA签发证书时,对加密用途的密钥对进行备案,交由密钥管理中心存放
– 特定的情况下,提取某用户的解密私钥,解密相关的交易数据
• 签名用途的密钥对仍然在用户端产生,不做备案
– 无私钥的情况下,无法伪造签名,因此无法伪造别人的交易
– 从证书申请,到证书生成,常规意义的CA/RA体系都可以保障签名密钥的用户私密性
非对称加密算法(公钥算法) | ECC/国密SM2 | RSA |
---|---|---|
计算结构 | 基于椭圆曲线 | 基于特殊的可逆模幂运算 |
计算复杂度 | 完全指数级 | 亚指数级 |
相同的安全性能下所需的公钥位数 | 较少,(160位的ECC与1024位的RSA具有相同的安全等级) | 较多 |
密钥生成速度 | 较RSA算法快百倍以上 | 慢 |
解密加密速度 | 较快 | 一般 |
安全性难度 | 基于离散对数问题ECDLP数学难题 | 基于分解大整数的难度 |
对称加密算法 | AES | 国密SM4 | 3DES |
---|---|---|---|
计算结构 | 数据块长度和密钥长度都可变的分组加密RIJNDAEL算法 | 基本轮函数加迭代,含非线性变换 | 使用标准的算法和逻辑运算,先替换后置换,不含非线性变换 |
计算轮数 | 10/12/14轮 | 32轮 | 16*3轮 |
分组长度 | 128/192/256位 | 128位 | 64位 |
密钥长度/有效密钥长度 | 128位/112位 | 128位/128位 | 128位/112位 |
实现性能 | 软件、硬件实现都较快 | 软件、硬件实现都较快 | 软件慢、硬件快 |
安全性 | 较高 | 较高 | 较高 |
国密SM3对应sha算法
PKI体系的组成要素:用户,认证机构,仓库(证书目录)
二.分布式一致性算法
是联盟链和私有链常用的共识算法
- 1.拜占庭容错算法
- 2.解决非拜占庭问题的分布式一致性算法(Paxos,Raft)