Artifact Signing
Artifact signing attaches a cryptographic signature to a software artifact so consumers can verify who produced it and that it has not been tampered with after creation. It establishes provenance and integrity across the software supply chain.
itSoftware supply chain security | OpenSkills.info
Intro
Artifact Signing
Artifact signing lets you detect changed software and authenticate the identity that approved it. A signer uses a private key to create a digital signature over an artifact or its digest. A verifier uses trusted public information to check that signature.
The signature answers two narrow questions:
- Do these bytes match the signed content?
- Does the signature validate under an identity or key that policy trusts?
It does not prove that the artifact is safe, correct, current, or authorized for every environment. Those decisions belong to verification policy.
The mental model
Think of signing as a relationship among five things:
exact artifact digest
+
cryptographic signature
+
signer identity evidence
+
trusted root and time evidence
+
verification policy
=
accept or reject decision
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://csrc.nist.gov/pubs/cswp/5/security-considerations-for-code-signing/final
Supports
- Digital signatures as software integrity and source-authentication controls
- Code-signing architecture, use cases, security problems, and mitigations
- Applicability to firmware, operating systems, applications, and container images
- Private-key protection and signer security as core trust concerns
- Quiz answers about signature scope and signing-authority compromise
- https://csrc.nist.gov/pubs/sp/800/218/final
Supports
- Release-integrity verification information for software acquirers
- Code signing as one mechanism for release-integrity verification
- Review of certificate renewal, rotation, revocation, and protection
- Retention and protection of release files, integrity evidence, and provenance
- https://docs.sigstore.dev/cosign/signing/overview/
Supports
- Identity-based signing with ephemeral keys and short-lived certificates
- OpenID Connect identity binding through Fulcio
- Rekor transparency-log recording and auditing of signing events
- Verification using artifact, signature, certificate, and log evidence
- Monitoring unexpected use of a signing identity
- Quiz answers about keyless trust and workload identity
- https://docs.sigstore.dev/cosign/verifying/verify/
Supports
- Verification using a public key or certificate identity and issuer
- Cosign signature payloads containing container-image digests
- Default validation that the signed digest matches the verified container
- Bundle-based blob verification
- Transparency-log verification options
- Quiz answers about digest binding and exact identity constraints
- https://docs.sigstore.dev/about/bundle/
Supports
- Bundles as signature content plus required verification material
- Certificates and out-of-band public-key identifiers
- Signed entry timestamps and RFC 3161 timestamps for short-lived certificates
- Transparency-log entries, inclusion promises, and inclusion proofs
- Message signatures over artifact hashes and signed in-toto statements
- Quiz answers about historical and offline verification evidence
- https://slsa.dev/spec/v1.2/verifying-artifacts
Supports
- Verification of artifacts and provenance against expectations
- Artifact digest as the binding between provenance and subject
- Separation of evidence availability from consumer verification
- Package, builder, source, and build-process expectations
- Quiz answers about retaining digest-linked evidence
- https://slsa.dev/spec/v1.2/provenance
Supports
- Provenance as verifiable information about where, when, and how an artifact was produced
- Distinction between provenance claims and a plain artifact signature
- Quiz answer about the purpose of signed provenance
- https://in-toto.io/docs/specs/
Supports
- Stable in-toto supply-chain specification
- Stable in-toto Attestation Framework specification
- Standard formats for signed supply-chain metadata and statements
- https://in-toto.io/docs/getting-started/
Supports
- Signed layouts defining authorized supply-chain steps and functionaries
- Signed link metadata recording materials, products, commands, and functionaries
- Verification of step authorization, expected commands, and material or product rules
- Difference between signed metadata and the policy that evaluates it
- https://github.com/opencontainers/distribution-spec/blob/main/spec.md
Supports
- Blobs and manifests addressable by digest
- Tags as human-readable pointers to manifests
- Client verification of content against requested digests
- Subject relationships and referrers for attached evidence
- Quiz answers about immutable content identity and evidence relationships
