458  
JSON-RPC API 安全性
作者: 姜天雨 于 2021年07月15日 发布在分类 / 区块链基础知识 / 底层框架资料 / GoQuorum 下,并于 2021年07月15日 编辑

保护 JSON RPC

概述

JSON RPC 服务器通过 security plugin interface 得到保护。官方实现是 Quorum Security Plugin ,它使 GoQuorum 客户端能够保护 JSON RPC API ,具有以下功能 :

本机传输层安全

本机传输层安全性 (TLS) HTTP Web Web Socket 监听 JSON-RPC 请求 / 响应通信通道引入了加密层。通过使用简单的配置标志,允许自动生成用于测试环境的自签名证书,或与证书颁发机构的平稳集成以进行企业部署。

企业授权协议集成

企业授权协议集成引入了一个访问控制层,该层使用行业标准 OAuth 2.0   协议和 JSON Web Token (JWT)   方法将每个 JSON RPC 调用授权到原子模块功能级别(例如, personal_OpenWallet )。此功能允许以有效的方法管理分布式应用程序 (dApps) Quorum Clients 访问控制。

配置

有关更多详细信息,请参阅插件实现并 plugin implementation 查找有关如何配置插件以 使用不同 OAuth2 授权服务器的示例

客户端使用

在调用受保护的 JSON RPC API 之前,客户端必须通过与授权服务器进行身份验证来请求访问令牌。访问令牌可以是不透明的或 JWT 。客户有责任在其生命周期内保持这个预先验证的令牌有效。

调用 JSON RPC API 时,客户端必须在 Authorization 发送预先验证的令牌,并要求头域 Bearer  认证方案。所有主要的 HTTP 客户端库都允许进行此类自定义的扩展。

示例

以下是有关如何与受保护的 JSON RPC API 交互的一些示例:

网络 3

使用 Web3.js JavaScript 库:

粘贴图片

curl

通过与授权服务器进行身份验证,获取预身份验证的不记名令牌。

粘贴图片

Geth 附上

使用其他标志来允许安全的 GoQuorum 节点连接:

粘贴图片

例如使用 --rpcclitls.insecureskipverify 连接到节点以忽略服务器的证书验证。

粘贴图片

客户端

ethclient  Ethereum RPC API 提供了一个 Go 客户端。 增强以支持特定于 Quorum API 和调用受保护 API 的能力。

粘贴图片

对于 HTTP 端点,预先验证的令牌填充在 Authorization  HTTP 在每次调用请求标头。 令牌值从 rpc.HttpCredentialsProviderFunc 中获得,该执行是在 rpc.Client 实例化后配置的。

粘贴图片

要自定义 TLS 客户端配置:

粘贴图片



 推荐知识

 历史版本

修改日期 修改人 备注
2021-07-15 17:12:02[当前版本] 姜天雨 修改内容
2021-07-15 17:11:20 姜天雨 创建版本

 附件

附件类型

PNGPNG

  目录
    区块链服务网络发展联盟