Skip to Content
安全

安全

IronFlock 专为工业和企业 IoT 环境设计,安全不是可选项。系统遵循零信任架构,在每一层——从设备连接到数据隔离——实施纵深防御。

设备无开放端口

运行 IronFlock 的边缘设备不暴露任何开放端口。设备代理向 WAMP 消息路由器发起的所有连接都是出站的。这意味着:

  • 设备网络上不需要入站防火墙规则。
  • 设备无法从互联网发现或直接寻址。
  • 远程访问通过反向隧道工作——设备向外连接,而非接受外部连接。

这消除了 IoT 部署中常见的一整类攻击向量,即设备在开放端口(SSH、HTTP、MQTT)上监听。

身份认证

IronFlock 使用 OpenID Connect (OIDC) 进行用户认证。

多因素认证

所有账户支持基于 TOTP 的双因素认证(基于时间的一次性密码)。用户可以在账户设置中使用任何标准认证器应用(Google Authenticator、Authy、1Password 等)启用 2FA。

API 密钥

对于编程访问,用户可以生成 API 密钥来对 REST API 进行认证。每个请求中的 API 密钥都会通过后端验证,然后才执行任何操作。

设备认证

设备使用 WAMP-CRA(质询-响应认证)配合每设备凭证进行认证。每台设备在烧录过程中获得一个唯一密钥,存储在设备上,用于所有后续连接。

加密传输

IronFlock 中的所有通信都经过加密:

连接协议加密
浏览器到 IronFlockHTTPSTLS 1.2+
设备到路由器WSS (WebSocket Secure)TLS 1.2+
服务到服务WSSTLS(内部)
数据库连接PostgreSQL SSLTLS
远程访问隧道基于 TLS 的反向代理TLS

整个系统中没有明文通信路径。

消息隔离

IronFlock 使用 WAMP(Web Application Messaging Protocol)进行所有实时通信。消息路由器在项目之间强制执行严格隔离:

独立 Realm

每个项目-应用组合在 WAMP 路由器上获得自己的消息 Realm。Realm 是一个完全隔离的命名空间——在一个 Realm 中发布的消息对所有其他 Realm 不可见。

这意味着:

  • 项目 A 的设备无法看到项目 B 的消息。
  • 安装在项目 A 中的应用 X 与安装在项目 B 中的应用 X 拥有不同的 Realm。
  • 即使同一个应用安装在两个项目中,数据流也完全分离。

Realm 认证

每个 Realm 连接都需要认证。设备、后端服务和 UI 客户端必须出示有效凭证才能加入 Realm。未授权的客户端无法订阅主题或调用过程。

数据库隔离

每个项目在 FleetDB (PostgreSQL) 中获得自己的专用数据库资源

  • 独立表 — 每个项目-应用组合都有自己的时间序列表集。不存在不同项目数据可能泄漏的共享表。
  • 独立凭证 — 每个数据后端都有唯一的连接凭证。应用只能访问自己项目的数据。
  • 无跨项目查询 — 数据库层强制查询不能跨越项目边界。

这种隔离在基础设施层面强制执行,而不仅仅是应用层面。即使一个应用被攻破,也无法访问其他项目的数据。

权限系统

IronFlock 实施按资产权限模型,每个项目、设备、组、应用、仪表板和数据后端都有自己的访问控制:

  • 资产的所有者拥有完全控制权,可以向其他用户授予权限。
  • 项目所有者自动对该项目内的所有资产拥有完全控制权。
  • 每个权限是一个离散的布尔标志——不存在授予无限访问权的宽泛”管理员”角色。
  • 所有权限变更都记录在不可变的审计记录中。

完整的按资产类型权限列表请参阅权限

软件供应链安全

安全不止于软件如何运行——它始于软件如何构建和交付。IronFlock Supervisor 是唯一直接运行在您设备上的 IronFlock 组件,它通过一条经过强化、完全自动化的供应链构建,让您能够准确信任到达您设备群的内容。

  • 最小化攻击面 — Supervisor 以单个静态链接的 Go 二进制文件形式发布,没有外部运行时依赖,也没有内嵌的解释器。它没有包管理器、没有动态库树,也没有任何监听入站连接的进程——大幅减少了攻击者可以瞄准的目标。
  • 持续漏洞扫描 — 每个发布版本都会对我们自己的代码以及所有依赖项扫描已知漏洞(CVE),并采用可达性感知分析,聚焦于二进制文件实际可执行的代码路径。扫描还会按每周计划运行,因此在某个版本发布之后才披露的漏洞仍会针对已部署的构建被发现。
  • 软件物料清单(SBOM) — 每个发布版本都会发布一份完整的 CycloneDX SBOM——一份记录进入该二进制文件的每个组件及版本的完整清单。这为您和您的审计人员提供了关于您所运行内容的精确透明度。
  • 签名、可验证的构建 — 每个发布二进制文件都附带一份 sigstore 签名的来源证明(provenance attestation),以密码学方式绑定到其确切内容。该签名可防篡改且可独立验证,因此您可以确认某个二进制文件确由 IronFlock 的流水线生成,且在传输过程中未被更改。
  • 受控、自动化的发布 — 构建、签名和发布都在受控的 CI 流水线中进行——绝不在某个开发者的个人机器上进行。除非完整的自动化测试和安全套件通过,否则不会发布任何内容,从而确保发布的产物正是经过测试和证明的那一个。
  • 安全的空中下载(OTA)更新 — OTA 更新通过加密通道交付,且仅来源于 IronFlock 发布的、已签名的构建——因此设备可以自我更新,而无需打开任何入站端口或信任未经验证的产物。

这些控制措施共同为您提供了一条可验证的责任链,从源代码一直到运行在每台设备上的二进制文件。

合规

IronFlock 的安全架构支持以下合规标准:

  • IEC 62443 — 工业自动化和控制系统安全
  • ISO 27001 — 信息安全管理
  • SOC 2 — 数据安全的服务组织控制
  • GDPR — 数据存储在欧盟数据中心(可配置),数据访问有审计记录
  • EU Cyber Resilience Act (CRA) — 每个发布版本的 SBOM 以及一套有文档记录、持续运作的漏洞处理流程,直接满足了 CRA 针对含数字元素产品的核心义务。
  • SLSA / NIST SSDF — 签名的构建来源证明和受控的 CI 流水线,符合公认的供应链完整性与安全软件开发框架。

加密传输、身份认证、按项目数据隔离、细粒度权限、全面审计日志以及经过强化的软件供应链的组合,提供了这些框架所要求的控制措施。

Last updated on