1.概述

Hyperchain是一个联盟链级别的区块链服务平台,拥有精确的权限控制粒度,需要通过多级的CA证书来进行权限控制。权限控制主要分为两个方面:

  • 节点权限控制
  • 交易权限控制

首先我们需要知道的是,权限控制是Namespace级别的,即每个Namespace就会拥有一个相应CaManager来进行CA证书的管理以及Namespace级别的权限控制。以下是我们的PKI体系(证书体系)图:

image0

  • root.ca(根证书颁发机构):它代表PKI体系中的信任锚。数字证书的验证遵循信任链。根CA是PKI层次结构中最上层的CA,用于签发证书认证机构以及角色证书准入认证机构。
  • eca.ca(准入证书颁发机构):用于给节点颁发节点准入证书(ecert)和sdk证书(sdkcert)。
  • rca.ca(角色证书颁发机构):用于给节点颁发角色证书(rcert)。
  • ecert.cert(准入证书):准入证书是长期证书,是颁发给节点的,用于节点的准入,若无准入证书,则该节点无法加入此Namespace,同时准入证书也作为交易证书的颁发机构用于颁发交易证书。
  • rcert.cert(角色证书):角色证书是长期证书,是颁发给节点的,用于节点的角色的认证,若无角色证书,则此节点为NVP,无法参与共识,反之则为VP节点。
  • sdkcert.cert(sdk证书):SDK证书时颁发给SDK的,用于进行SDK的身份认证,同时SDK证书时获取交易证书的(Tcert)的判别依据。
  • tcert.cert(交易证书):SDK发送交易时需携带交易证书,若无交易证书或证书验证失败,则抛弃交易。