Establishing Provenance Before Coding: Traditional and Next-Gen Software Signing
Taylor R. Schorlemmer, Ethan H. Burmane, Kelechi G. Kalu, Santiago Torres-Arias, James C. Davis
TL;DR
The paper addresses the vulnerability of software supply chains arising from reliance on third-party components and argues that provenance—provenance being a blend of validity and transparency—can be established primarily through software signing. It contrasts traditional signing, with its key-management and transparency challenges, against next-generation signing platforms like Sigstore that use ephemeral keys, identity-provider binding, and public transparency logs. It outlines the architecture, components, and workflows of next-gen signing, and surveys current adoption trends and platform examples, while cautioning that provenance does not guarantee correctness. The work emphasizes integrating provenance into component selection and highlights regulatory and industry momentum toward widespread signing adoption, alongside the need for formal methods to certify software correctness.
Abstract
Software engineers integrate third-party components into their applications. The resulting software supply chain is vulnerable. To reduce the attack surface, we can verify the origin of components (provenance) before adding them. Cryptographic signatures enable this. This article describes traditional signing, its challenges, and the changes introduced by next-generation signing platforms.
