InfluxData 和 Ockam 合作,为时间序列数据带来信任
作者:社区 / 产品, 用例, 开发者, 公司
2021 年 2 月 22 日
导航至
本文是 Matthew Gregory 撰写并在 Ockam 博客上发表的文章的转载。
让我们来研究如何在零信任环境中构建具有可信时间序列数据的应用程序!要信任应用程序,我们需要信任为其提供支持的数据。越来越多的应用程序依赖于来自数据中心外部、边缘或物联网的时间序列数据。这意味着我们需要以新的方式思考信任和数据。
这就是 InfluxData 和 Ockam 合作的原因,旨在为时间序列数据流和数据仓库带来信任。首先,让我们从应用程序开发人员面临的挑战开始:
网络边界不足以实现数据层信任、安全或隐私。
时间序列数据通常需要遍历多个网络,才能将边缘的机器与云中的 InfluxDB 连接起来。这使得控制网络边界几乎不可能 - 特别是对于应用程序开发人员而言。
零信任网络架构原则为我们如何思考边缘和 InfluxDB 之间的连接提供了指导。零信任架构基于以下假设:
- 网络始终是充满敌意的,
- 外部和内部威胁始终存在于网络上,
- 网络位置不足以确定对网络的信任,
- 每个设备、用户和网络流都必须经过身份验证和授权,
- 安全和隐私策略必须是动态的,并且尽可能从多的数据源计算得出。
对于只想将边缘设备上运行的代理(如 Telegraf)连接到云托管的 InfluxDB 实例的应用程序架构师来说,构建一个对网络边界不信任的应用程序可能具有挑战性。这就是 InfluxData 与 Ockam 合作的原因。Ockam 抽象化了构建此类分布式应用程序所需的复杂性。
让我们看一下构成 Ockam 系统的组件,以及它们如何为时间序列数据流提供安全性和隐私。
什么是 Ockam?
Ockam 是一个开源工具套件、编程库和基础设施,使构建可以与云服务和其他设备安全、私密且可信地通信的设备变得容易。安全、隐私和信任是应用程序层的关注点,物联网开发人员应该拥有简单的工具来精细地控制其应用程序的这些方面。
Ockam 采用了经过验证的密码学构建块,并将其应用于构建解决常见物联网和边缘计算问题的解决方案,例如
- 大规模设备群的安全、快速注册。
- 身份密钥和凭据的可扩展配置、所有权证明、轮换和吊销。
- 通过低带宽、间歇性连接、多协议物联网和边缘网络拓扑的端到端加密通信。
目标是以多种编程语言提供此功能,并提供安全、高级别的应用程序接口,这些接口易于正确使用且难以误用。让我们看一下 Ockam 工具的一些核心功能
端到端加密安全通道
Ockam 的安全通道提供端到端加密和相互身份验证的通信,可安全防范跨多个应用层跃点发送的消息的窃听、篡改和伪造。这使应用程序可以对网络边界不信任,而是将精细控制权交给应用程序开发人员,以控制系统中哪些数据在何处公开。
机器身份和访问管理
应用程序开发人员需要对其系统中的数据访问进行精细控制,这只有在所有交互都经过相互身份验证的情况下才能实现。为了实现这一点,所有设备都必须具有唯一的、可密码学证明的身份,并且必须使用安全凭据来管理访问控制。大规模注册设备群以及管理其密钥和凭据的生命周期可能在规模上具有相当大的挑战性。Ockam 包含易于使用的密码学协议,用于:
- 设备注册
- 策略执行
- 密钥管理、轮换和吊销
- 凭据颁发...等等。
专为 InfluxDB 开发人员构建
Ockam 包含一套强大的密码学协议,可通过易于使用的编程库访问,使应用程序开发人员能够专注于其物联网和时间序列数据依赖型应用程序的信任规则和策略。
Ockam 编程库有助于轻松地将特定于业务的精细访问控制逻辑编码到应用程序中,而无需处理密码学协议的复杂性或退回到基于网络边界的弱而粗粒度的安全性。如果您正在使用 InfluxDB 构建应用程序,则使用 Ockam 添加信任很容易。InfluxDB 和 Telegraf 的 Ockam 插件易于集成
有两种方法可以将 Ockam 与 InfluxDB 一起使用。让我们从 Ockam Hub 开始。
Ockam Hub 是一项托管在云环境中的服务,可以轻松地在边缘的无限数量的机器和 InfluxDB 之间路由消息。虽然它可能在原型中有效,但 TLS 并不是在规模上保护我们的数据流的正确工具。在您在现实世界中可能遇到的多个网络中控制网络边界是不可能的,在企业规模上颁发唯一的令牌或凭据是繁琐的,并且对于典型的应用层开发人员来说并不友好。Ockam Hub 解决了所有这些问题,以及更多问题。
如果您正在将 Telegraf 代理部署到机器中,我们也有一个解决方案供您使用。OckamD 是一个与 Telegraf 并行运行的守护程序,可以从 Github 下载。OckamD 和 Telegraf 经过预配置,可以创建一个端到端加密的消息传递通道,一直到达您云中的 InfluxDB 实例。
就这么简单!