Fabric CA官方文档翻译——Planning for a CA

原文https://hyperledger-fabric-ca.readthedocs.io/en/latest/deployguide/ca-deploy-topology.html

读者:架构师,网络运营,设置Fabric网络生产环境且熟悉Transport Layer Security (TLS),Public Key Infrastructure (PKI) 和Membership Service Providers (MSPs)的用户。

本文的提供了生产环境的CA部署说明。如果你为了学习和测试可以参考文档 Fabric test network。尽管CA是Hyperledger的首选证书颁发机构,但你可以将来自非CA证书用于Fabric;但是,本文集中介绍使用CA。本文集中在重要的配置部分并提供最好的CA练习教程。

这教程旨在部署CA之前告知你的决策,并提供如何根据这些决策配置CA参数的指导。在需要做决策前需要知道这些内容。

回想使用CA执行以下功能:

  • 注册身份,或链接到LDAP来注册用户身份。
  • 签发登记证书(ECerts).签发是一个过程,CA发布一个证书秘钥对,由签名证书和形成身份的私钥组成。私钥和公钥首先由Fabric CA客户端在本地生成,然后将公钥发送到CA,后者返回一个编码证书,即签名证书。
  • 证书更新和吊销。

你可以定制这些函数。第一次启动CA时,会寻找文件fabric-ca-server-config.yaml file包含了CA的配置参数。如果文件不在这,会产生一个默认的文件。在部署CA之前,本文提供该文件中的参数指导,以及根据你的用例定制CA所需的决策。

使用CA的哪种架构图

CA的架构图由多少组织参与和如果管理CA来决定。

需要多少CA

在配置CA之前,需要了解你的网络上需要多少CA。如果你读了部署过程概述,你应该还记得,建议你为每个组织部署两个CA,一个组织CA一个TLS CA。TLS通信在生产环境中非常必要,来保证节点间通信的安全。因此,需要TLS CA来签发TLS证书。另一方面,组织CA用于生成组织和节点标识。另外,由于这是一个分布式账本,orderer不应与peer组织是同一组织的一部分,因此需要为peer组织和orderer组织提供单独组织和CA。当多个组织贡献节点到orderer,每个orderer节点会有它自己的组织CA。所有这些隔离对于orderer和channel的分布式管理至关重要,并会挫败不良行为者破坏网络的能力。

为什么建议使用单独的TLS CA?

TLS提供了一个独立的信任链来保护通信。大多数组织都希望TLS通信由单独的加密材料来保护——来自不同的根,或者来自单独的结构TLS CA或其他外部证书颁发机构。

Fabric提供的一个选项是配置双头CA的能力,一个单独的CA在幕后包括组织的身份注册CA(以下称为组织CA)和TLS CA。它们在同一个CA节点和端口运行,但可以通过不同的CA名称寻址。后面会详细讨论cafiles参数允许每个CA有自己的配置,但是当你希望两个CA共享一个后端数据库时,这个很有用。因此,使用此选项,在部署组织CA时,TLS CA会自动部署在它旁边。还需要注意的是,从功能的角度来看,Fabric组织CA和Fabric TLS CA之间没有区别。区别在于他们生成的证书类型。

什么时候需要中间CA?

中间CA是可选的。为了增加安全性,组织可以部署一个中间CA。中间CA的根证书由父CA(根CA)或另一个中间颁发机构(成为父CA)颁发,后者为链中任何CA颁发的任何证书建立“信任链”。因此有一个或多个中间CA允许你保护你的信任根。这种溯源到根CA的能力不仅允许CA的功能扩展,同时还提供了安全性——允许使用证书的组织安全的使用中间证书——它避免了CA的暴露,如果泄露将威胁整个信任链。如果一个中间CA泄露了,另一方面,也只是一个小威胁。一个键的好处是一个中间CA安装和运行,和根CA没有关系,从而进一步限制漏洞。

另一个使用中间CA的情况是,当一个组织有多个部门,且不想使用单一的根CA来为所有组织产生证书时。中间CA提供了一种机制,用于将CA管理的证书范围限定到较小的部门或自组织。中间CA不是必须的,但可以有效降低风险和管理难度。如果组织只有少量成员,这种模式会增加很多成本。一个可替代的部署方案,使用affiliations (更小的部门)。稍后会讨论affiliations 。

此外,在一个TLS CA用于颁发证书以确保整个组织的通信安全的情况下,中间CA使用与根CA相同的TLS CA是合理的,而不是拥有自己的专用TLS CA。

CA要按什么顺序部署?

如果双头CA没有配置组织CA和TLS CA,则TLS CA将单独部署,并且需要在组织CA之前部署,以便为组织生成TLS证书。部署TLS CA之后,可以部署组织CA,然后部署任何中间CA(如需要)。

决定用户的注册表

因为Fabric CA控制组织的标识,所以在配置CA之前,需要确定你的用户注册表。Fabric CA服务器可以配置为使用数据库作为用户注册表,也可以配置为轻量级目录访问协议(LDAP)服务器进行读取。LDAP是服务器数据存储和检索的行业标准,其中的信息表示为层次树。LDAP协议用于在服务器上查找数据,在这种情况下,数据是用户和组,因此服务器是用户存储库。当使用LDAP服务器成为存储数据库时,需要提供链接和配置详细信息。LDAP配置好之后,它将在为该用户生成证书之前根据LDAP用户注册中心验证身份,这一过程成为注册。此外,从LDAP注册表检索的用户属性对于智能合约中的访问控制决策非常有用。查看Configuring LDAP仔细了解LDAP的配置。

本文展示的是使用数据库的配置过程。

关于配置的说明

有三种方式来配置CA server和client。设置的有限顺序是

1.使用 Fabric CA server CLI commands

2.使用环境变量

3.修改配置文件

但是不鼓励使用环境变量来修改配置设置,因为这些更改不会持久化,并且在以后忘了设置时会出问题。了解配置文件中的参数及其对文件中其他参数设置的依赖性非常重要。使用环境变量盲目重写一个设置可能会影响另一个设置的功能。因此,建议在启动服务器之前,对配置文件中的设置进行修改,以熟悉可用的设置及其工作方式。

请注意,某些配置设置存储在CA数据库中,这意味着在CA启动后,无法再通过编辑配置文件或设置环境变量来覆盖这些设置。受影响的参数在这些说明中都有,在这些情况下,需要使用CLI命令进行修改,并且还具有不需要重启服务器的额外好处。

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值