Securing Artifacts
Here are the list of requirements for securing artifacts. Each one has a list of tools used to achieve it.
1. Sign Every Step in the Build Process
Tool capability
- sign attestations for every step in the build process
- define all expected steps in the build process with identities
Tools
- SLSA (level 1)
- in-toto
- Tekton (chains)
2. Validate the Signatures Generated at Each Step
Tool capability
- verify attestations of every step
Tools
- in-toto
- Kyverno (signatures of output images are verified before running containers)
3. Use TUF/Notary to manage signing of artefacts
Tool capability
- delegate trust for specific artifacts to specific developers
- enable developer signing of metadata
- prevent rollback attacks on developer signatures
Tools
- TUF
- Tekton (chains uses Sigstore)
- Kyverno (Kyverno supports Sigstore)
4. Use a store to manage metadata from in-toto
Tool capability
- store in-toto metadata
Tools
- Sigstore (Rekor?)
- in-toto (integrated with Rekor, Grafeas, Archivist etc.)
- Tekton (chains)
5. Limit which artefacts any given party is authorized to certify
Tool capability
- specify trusted entities for each artifact in policy
- enforce this limitation
Tools
- in-toto
- TUF
- Kyverno (Kyverno policy on who is trusted for each signature)
6. Build in a system for rotating and revoking private keys
Tool capability
- change policy to revoke a trusted key
- change policy to rotate a trusted key
- communicate these changes to users
Tools
- Sigstore (Fulcio)
- in-toto (in-toto layouts can rotate and revoke keys for attestations, layout keys are managed separately such as by using TUF)
- TUF
- SPIFFE
7. Use a container registry that supports OCI image-spec images
Tool capability
- follow the OCI spec
Tools
- Sigstore (cosign)
- Tekton (Pipelines and Chains)
- Kyverno (Kyverno works with OCI registries)
8. Encrypt artefacts before distribution & ensure only authorized platforms have decryption capabilities
Tool capability
- create policy for which platforms have decryption capabilities
- enforce this policy
Tools
- none
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.