Notary 项目宣布重大发布


8 月 26 日「源创会」北京站,聊聊 AI 大模型与底层技术 >>>

Notary 项目维护人员宣布了一项重大发布,包括 Notary 项目规范 v1.0.0、notation v1.0.0、notation-go v1.0.0 和notation-core-go v1.0.0,已经可以用于生产环境!

Notation 是 Notary 项目的一个子项目,包括 notation CLI 和两个实现最新Notary 项目规范的 Golang 库。Notation 项目始于2019 年 12 月,经过几年的小版本和 RC 版本的发布,代码已经成熟;CLI 和库的第一个版本 v0.7.0-alpha.1 在 2021 年 10 月发布。经过几个 alpha、beta 和 RC 版本的发布,二进制文件最终在 2023 年 5 月发布了最终版本 v1.0.0-RC.7。

以下是此版本中包含的一些主要功能和特性:

规范

Notary 项目规范达到了重大发布。所有规范、要求、场景、威胁模型和安全审计报告都可在此发布中获取。希望与 Notary 项目签名和工具进行互操作的独立软件供应商和工具开发人员应使用规范确保兼容性。

  • Notary Project OCI signature specification
  • Notary Project OCI COSE signature envelope
  • Notary Project OCI JWS signature envelope
  • Notary Project OCI signing and verification workflow
  • Notary Project signing scheme
  • Notary Project Trust Store and Trust Policy
  • Notation Plugin specification

签名和验证功能

从软件生产者的角度来看,对软件制品进行签名可以帮助消费者检测篡改,并确保制品的真实性。签名软件还可以增加在向消费者分发软件制品时的信任度。Notary 项目为签名体验提供以下核心功能:

  • 使用安全地存储在密钥管理系统(key management system,KMS)或签名服务中的签名密钥对制品进行签名。请参阅“可扩展性”部分中的可用插件,以了解对 Notation 的插件支持情况。

  • 对符合 OCI 规范的注册表中存储的制品进行签名、列出和检查签名

    • 符合image-spec v1.0.2
    • 符合distribution-spec v1.0.1
    • 符合image-spec v1.1.0-rc4
    • 符合distribution-spec v1.1.0-rc3 (仅限 referrers tag schema)
  • 支持两种签名封包格式

    • COSE:COSE 是一种高效的二进制封包格式,可用于签名传统软件到低功耗设备上运行的物联网工作负载等各种场景。

    • JWS:JWS 是一种广泛使用的基于 JSON 的封包格式,可用于与现有应用程序和各种身份验证方案(包括 OIDC)进行互操作。

从软件消费者的角度来看,验证已签名制品的签名可以确保其完整性和真实性。Notary 项目为验证体验提供以下核心功能:

  • 使用信任存储和信任策略进行签名验证。这还包括针对 OCI 仓库的细粒度信任策略和支持各种执行级别(例如强制执行 enforce、宽松执行 permissive、审计 audit)以支持各种场景。

  • 可以使用 notation policy 命令来简化导入和检查信任策略的体验。

实验性功能

实验性功能仅用于测试和评估目的,不应在生产环境中使用。用户可以通过设置环境变量 NOTATION_EXPERIMENTAL 为 1 来在 Notation CLI 中启用实验性功能,示例如下:

export NOTATION_EXPERIMENTAL=1

有两个主要功能被标记为实验性功能。

  • 在将制品推送到注册表之前,使用 OCI 镜像布局(layout)对制品进行签名、列出和验证。这使用户可以对存储在本地文件系统上的制品进行签名和验证。

  • OCI 分发引用 API。这允许 Notation CLI 以高效和清晰的方式获取签名列表。

可扩展性:对 Notation 的插件支持

Notation基于插件框架具有可扩展的设计。该框架为用户和供应商提供了插件接口,以实现与密钥/证书管理解决方案或签名服务的集成。目前,Notation 提供以下插件。

  • Notation 的 AWS Signer 插件

  • Notation 的 Azure Key Vault 插件

用于 Kubernetes 的准入控制器的集成

为了使用户能够在 Kubernetes 上验证和保护镜像部署,Notary 项目维护人员与Ratify和Kyverno团队合作,为在部署到 Kubernetes 之前验证 Notation 签名的镜像提供解决方案。用户有两种不同的选择来构建完整的端到端镜像完整性工作流程。详细信息请参阅:

  • 使用 Notation、Ratify 和 OPA Gatekeeper 进行镜像签名和验证

  • 使用 Kyverno 验证 CNCF Notary 项目签名

 

内置安全性

作为对安全性的承诺的一部分,Notary 项目维护人员与 CNCF 合作,建立了源代码的持续模糊测试,并于 2023 年完成了安全审计。在测试和审计过程中发现的所有漏洞都已在库和 CLI 的发布之前修复。以下是安全报告的链接:

  • Notation Security Audit Report 2023
  • Notary Project fuzzing audit report 22-23

接下来的计划

Notary 项目维护人员正在考虑未来里程碑的以下功能。

  • 对任意的二进制大块进行签名和验证
  • 用于签名和验证的 GitHub Actions 和其他 CI/CD 集成
  • HashiCorp Vault 插件(实验性)
  • 插件生命周期管理
  • 时间戳支持
  • 通过 CLI 命令管理信任策略

详情可查看官方公告。


相關推薦

2022-11-12

客中庆祝 Go 开源 13 周年。2009 年 11 月 10 日,Go 作为开源项目正式宣布推出,目前已开源 13 周年。   对于 Go 来说,2022 是非常重要的一年,这一年  Go 发布了 Go 1.18 和 Go 1.19 版本,下面回顾一下今年 Go 发布

2022-11-15

rcuits 的人来说,这是一个不错的选择。 MicroPython 成为该项目历史上第二个官方支持的 Arduino 语言,不过目前它还不会很快在官方 Arduino IDE 作为一个选项出现。Arduino 与开发人员 Murilo Polese 合作推出新的了 Arduino Lab for MicroPyt

2022-08-24

ck API 和功能将首先在 Kotlin 中提供。如果你要开始一个新项目,你应该使用 Kotlin 编写,用 Kotlin 可以大量减少代码量,同时也减轻了测试和维护的负担。” 2020:Kotlin 成为第二受欢迎的 JVM 语言 在这年的调查中,Kotlin

2022-03-28

并率先登陆第一代 Nest Hub 设备。在这个过程中,Fuchsia OS 项目一直是由 Chris McKillop 负责。 随着 Fuchsia OS 正式推出,团队本应在 Chris McKillop 的带领下继续开发 Fuchsia OS 并让系统适配更多设备的时候,团队发生了重大人事变动。Ch

2023-07-23

队感到不舍和犹豫,但现在的 React 已成为一个多公司项目,团队中也存在有多名独立工程师可以担当重任。 接下来,他将作为一名独立工程师留在 React 团队。这意味着他不会被任何公司积极赞助全职从事 React 工作,但他

2022-09-14

化 JVM 上并发和分布式应用的构建的工具包和运行时。该项目宣布了许可证的变更,由 Apache 2.0 更换为 BSL v1.1(Business Source License)。BSL 是一个 "源代码可用" 的许可证,未来开发者如需在生产中使用 Akka(2.7+ 版本)都需要获

2023-09-13

配。 在此次适配 Qt6 后,开发者可直接在基于 Qt6 开发的项目上接入 DTK,无需单独对 Qt5 & DTK 进行二次适配,极大地减少了开发资源的重复和浪费。已在使用 Qt6 进行开发的应用也可以接入 DTK 框架进行深入开发更符合 DDE 样

2022-10-11

升级到 Beta 意味着该技术几乎完成并且可以安全地在你的项目中使用。这也意味着我们将积极努力,尽量减少你可能遇到的任何迁移问题。” Kotlin Multiplatform Mobile (KMM) 是由 JetBrains 创建的跨平台移动开发 SDK,它应用了 Kotlin 的

2022-09-15

ames 还将通过捐赠、培养人才和代码贡献来直接支持 Godot 项目。

2022-07-21

7 月 19 日,谷歌宣布开源量子编程框架 Cirq 的第一个完整版本 :Cirq 1.0 正式发布。 Cirq 是一个 Python 框架,用于编写、操作和优化量子电路。它专为近期的量子计算机设计,这些计算机具有几百个量子比特和几千个量子门,而 C

2023-07-23

Vite实现了初步兼容。开发者现在可以使用Bun直接运行Vite项目,享受热更新等方便功能,无需进行额外配置。不过由于Bun和Vite内部机制不同,Vite目前仍未使用Bun的打包和转译优势。但这为未来的深度集成创造了条件。 然后,Bun

2021-11-18

致力于支持 Rust 项目的独立非营利组织 Rust 基金会宣布,正式任命 Rebecca Rumbul 为该组织的执行董事兼 CEO。公告指出,这是该组织为支持 Rust 编程语言的快速创新和采用而努力迈出的重要一步。在 Rumbul 的领导下,他们将继

2022-09-21

上发布动态称,开发人员是时候停止使用 C/C++ 来启动新项目,并建议可在需要使用 non-GC 语言的场景中使用 Rust。 “说到语言,现在是时候停止用 C/C++ 启动任何新项目了,并在那些需要使用 non-GC 语言的场景中使用 Rust。

2023-11-15

谷歌宣布收紧在 Google Play 商店发布应用程序的 Android 开发者规则,引入了一些新的政策和计划,以提高整个平台的应用程序质量。 公告指出,现在将要求拥有新创建的个人 Play Console 帐户的开发者在发布前,至少 2 周内与至少