CITA 加密通信

为了客户的数据安全,我强烈推荐大家在 生产境中部署 CITA 时,考虑使用 CITA 的通信加密。那本周就和大家聊聊通信加密。

首先,从 CITA 的系统架构图可以看到,在 CITA 系统中,主要有两部分是跨网络的通信:

在这里插入图片描述

Application <-> RPC, 即应用与 RPC 的通信。
node <-> node,即 CITA 节点间的通信。
下面分开讲。

节点间通信加密

可以网络抓包与分析工具 (我这里使用 tcpdump 与 wireshark)先看一下,使用了通信加密与不使用通信加密的差别。

在这里插入图片描述

上图是在节点间没开启通信加密抓到的数据包,可以看到,里面的信息是明文,很容易被工具读取并分析。那接下来再看看开启了通信加密后,同样相近的数据包是怎么样子:

在这里插入图片描述

可以看到,里面的通信信息经过了加密,抓包工具是不可读取并分析里面的数据的。

如何开启节点通信加密

可以在创建网络 ( create ) 或添加节点 ( append ) 时传入选项 --enable_tls 来开启。如

创建网络:

$ bin/cita create --enable_tls --super_admin “0x37d1c7449bfe76fe9c445e626da06265e9377601” --nodes “127.0.0.1:4000,127.0.0.1:4001”
添加节点:

$ bin/cita append --chain_name test-chain --enable_tls --node “127.0.0.1:4004”
应用与 RPC 通信加密

首先,也先看一下添加通信加密与没有通信加密的情况下的数据包情况,大家有个直观的感受。

没有通信加密的数据包情况:

在这里插入图片描述
有通信加密的数据包情况:

在这里插入图片描述
可以看到,有通信加密时的数据包完全不可读!

如何开启应用与 RPC 间通信加密

由于 RPC 是 http 协议,所以只需要使用 Nginx 将 http 反向代理成 https 就可以了。然后应用使用 https 与 RPC 进行加密通信。

大家可以看到,现在 CITA 的测试链 (访问地址 https://node.cryptape.com 1) 访问就是使用了这个技术进行通信加密。

关于如何配置 Nginx ,网络上有很多材料,在此不打算展开描述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值