arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2406.15596cs.CRcs.SE
收藏

DiVerify:通过多情境范围增强基于身份的软件签名

Context-Aware Trust Verification for Identity-Based Software Signing

Purdue University(普渡大学)

Chinenye Okafor, James C. Davis, Santiago Torres-Arias

AI总结:

DiVerify通过多实体验证和增强上下文保证,提升基于身份的软件签名的可信度与可验证性。

摘要:

基于身份的代码签名使软件开发者能够使用加密密钥对代码进行数字签名。该密钥随后与身份(例如通过身份提供者)链接,使签名者能够验证代码的来源和完整性。然而,这种代码-身份绑定的可信程度取决于其强制机制。最先进的基于身份的代码签名方案存在重大缺陷:这些方案未能提供关于签名生成上下文的可验证信息。鉴于现代攻击者已经颠覆了长期确立的安全假设,即身份提供者生态系统以及签名软件本身是可信的,这种可验证性至关重要。为了解决这些问题,本文引入了一个多样化的身份验证框架,DiVerify,它将基于身份的验证分布在多个实体上,并加强了关于签名上下文的保证。DiVerify使能够提供端到端的可验证性,不仅包括签名者的身份(通过多种信号),还包括签名者的软件堆栈(例如,验证签名时系统中不存在恶意软件)。DiVerify旨在易于部署,并利用一个元协议来收集各种信任信号,并利用一种绑定机制来解决上述新的软件供应链攻击向量。我们评估了DiVerify的性能,并确认其部署成本低廉且对开发者不具侵入性:它只增加了几千字的额外存储(小于PyPI等广泛使用的生态系统中平均包大小的0.4%),并在服务器级部署上签名时间在100毫秒以内完成。

英文摘要:

Modern software release infrastructure uses identity-based software signing to associate software artifacts with a known identity. For example, registries such as npm and Docker Hub rely on Sigstore's identity-based software signing in their artifact provenance workflows. However, existing verification procedures only provide evidence of a signer's identity, but not the conditions under which signing occurred. As a result, compromised credentials, identity providers, or signing tools can still produce signatures that pass verification. This gap prevents software engineering tools (e.g., package registries, dependency analysis tools, deployment systems, and CI/CD verification stages) from enforcing verifiable context-aware trust policies for software signing. We present DiVerify, a framework for automated verification of software signing conditions. A DiVerify signature binds identity claims from multiple independent scope providers, signing-environment attestation from a TEE-isolated daemon, and the signing key into a single verifiable object. A machine-checkable policy language specifies the identity, authentication, and environment conditions required for accepting a signature. We formally analyze DiVerify and show that it is sound, prototype it across three deployment modes, and demonstrate overhead under 400ms, with storage overhead of less than 1.6% of average PyPI package size. Case study integrations with existing systems confirm DiVerify composes well.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑