有没有办法(比如,加密地)证明 Web 服务中使用了特定的软件代码?

Is there a way to (say, cryptographically) prove, that a specific software code is used in a web service?

假设我有一个开源 github 存储库,并且我使用该存储库中的解决方案提供付费服务。

有什么方法可以证明在线服务确实使用了那个 repo 中的 code/release,没有 modifications/additions 等?

理想情况下,我正在寻找某种形式的密码证明,而不是“第三方审查”或“赏金计划”。这是有价值的,因为这些服务的性质是安全的,并且每个用户都希望能够审查代码并确保特定的、未更改的代码版本正在为服务提供支持。我们可以假设 运行 AWS ECS 或类似服务中的 docker 图像,这样我们就可以避免所有平台相关的差异。

这取决于你所说的“证明”是什么意思。 Notary v2 project 旨在扩展 OCI 规范以包含容器镜像的加密签名。这将允许容器镜像的用户独立验证特定镜像是否由私钥持有者发布(类似于 TLS 证书与 https 的工作方式)。但是,您似乎要求服务的最终用户也能够验证您是 运行 的软件。您可以共享图像的签名,但除非您允许用户访问您正在使用的实际容器编排系统,否则他们将无法知道您是 运行 您声称的图像 运行.