Signering af dependencies og artefakter
Verificér oprindelsen med SLSA og Sigstore.
Signering af dependencies og artefakter er en gratis Cyber Security Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Cyber Security Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cyber Security Academy-kurset indeholder 4 lektioner i alt.
Hvorfor proveniens er vigtig
En SBOM fortæller dig, hvad der er i et artefakt. Proveniens fortæller dig, hvor det kommer fra, og hvordan det blev bygget. Signering knytter et artefakt til en verificerbar oprindelse, så forbrugere kan afvise alt, der ikke er produceret af dit betroede byggeforløb.
Uden proveniens kan en angriber, der udskifter en tarball i dit register, ikke skelnes fra en legitim udgivelse.
Digestværdier, ikke tags
Grundlaget for integritet er indholdsadressering. En kryptografisk hashværdi (digest) af et artefakt identificerer entydigt præcis disse bytes. Foranderlige tags som latest kan peges om; det kan en digest ikke.
# pull by immutable digest, not a tag
docker pull my-app@sha256:1d52838af602b4b5a831beb13a0e4d073280665ea7be7f69ce2382f29c5a613f
# compute a file digest
sha256sum release-1.4.0.tar.gzGrundlæggende om digitale signaturer
En digital signatur bruger en privat nøgle til at signere artefaktets hashværdi. Alle, der har den tilsvarende offentlige nøgle, kan verificere den. Det giver to garantier:
- Integritet — artefaktet blev ikke ændret efter signeringen
- Autenticitet — det blev signeret af indehaveren af den private nøgle
Det svære er ikke matematikken, men nøglehåndtering og distribution af tillid: Hvordan ved en verifikator, hvilken offentlig nøgle der er tillid til?
Nøglefri signering med Sigstore
Traditionel signering tvinger teams til at beskytte langlivede private nøgler, som kan lække. Sigstore tilbyder nøglefri signering: Den udsteder et kortlivet certifikat, der er knyttet til en OIDC-identitet (f.eks. en CI-arbejdsbelastning eller en udviklers e-mailadresse), signerer og registrerer hændelsen i en offentlig transparenslog med navnet Rekor.
Der er ingen langlivet nøgle, der kan stjæles, og alle signaturer kan revideres offentligt.
Signering med Cosign
Cosign er Sigstore-værktøjet til signering af containerimages og andre artefakter. I nøglefri tilstand bruger det byggeforløbets OIDC-token, så ingen nøglefil ligger på disken.
# keyless sign in CI (uses ambient OIDC identity)
COSIGN_EXPERIMENTAL=1 cosign sign my-registry/my-app@sha256:1d5283...
# verify, asserting the expected signer identity
cosign verify my-registry/my-app@sha256:1d5283... \
--certificate-identity-regexp '.*@my-org\.com' \
--certificate-oidc-issuer https://accounts.google.comTransparensloggen
Sigstore registrerer hver signeringshændelse i Rekor, en manipulationssikker, offentlig log, hvor der kun kan tilføjes poster. Det er en effektiv kontrol til at opdage hændelser:
- Du kan bevise, hvornår noget blev signeret
- En angriber, der stjæler en identitet, kan ikke signere hemmeligt — hændelsen logges offentligt
- Usædvanlige signaturer (uventet identitet, uden for arbejdstid) bliver mulige at opdage
Transparens gør et skjult kompromis til observerbare beviser.
SLSA: Niveauer for byggeintegritet
SLSA (Supply-chain Levels for Software Artifacts) er en ramme, der vurderer, hvor troværdig din byggeproces er. Højere niveauer kræver stærkere garantier mod manipulation.
- L1 — proveniens findes og er dokumenteret
- L2 — signeret proveniens fra en hostet byggetjeneste
- L3 — hærdede, isolerede builds; proveniens kan ikke forfalskes, heller ikke af en insider i byggeforløbet
SLSA er en køreplan: Vælg et målniveau, og luk hullerne.
Attestering af byggeproveniens
En proveniensattestering er en signeret erklæring, der beskriver, hvordan et artefakt blev bygget: kildecommit, byggeridentitet, byggeparametre og inddata. Formatet in-toto standardiserer dette.
# generate and attach SLSA provenance for an image
cosign attest --type slsaprovenance \
--predicate provenance.json \
my-registry/my-app@sha256:1d5283...
# verify provenance matches expected source repo
cosign verify-attestation --type slsaprovenance my-registry/my-app@sha256:1d5283...Håndhævelse af signaturer ved optagelse
Signering er kun nyttig, hvis noget afviser usignerede artefakter. I Kubernetes kan en optagelseskontroller blokere alle images, der mangler en gyldig signatur og proveniens fra din betroede identitet.
- Politikkontrollere verificerer cosign-signaturer, før en pod starter
- Afvis images, der er signeret af uventede identiteter
- Kræv proveniens, der peger på dit godkendte kildekodelager
Det lukker kredsløbet: Ubetroede artefakter kører aldrig.
Signering af afhængigheder opstrøms
Proveniens er mest værdifuld, når den også omfatter det, du forbruger, og ikke kun det, du leverer. Økosystemer tilføjer indbygget signering og proveniens:
- npm-proveniens knytter en udgivet pakke til dens kildecommit og CI-kørsel
- Containerbasisbilleder leveres i stigende grad med cosign-signaturer
- Sprogregistre afprøver Sigstore-baseret verifikation
Foretræk afhængigheder, der offentliggør verificerbar proveniens, og verificér den under installation, hvor det understøttes.
Sæt verifikation først
En praktisk signeringsstrategi er lagdelt og verificeret fra ende til anden:
- Fastlås inddata med en digest
- Signér artefakter nøglefrit, og tilknyt SBOM- samt proveniensattesteringer
- Registrér alt i en transparenslog
- Håndhæv verifikation under udrulning med en optagelsespolitik
Kæden er kun så stærk som sit svageste unverificerede led, så verificér ved hvert sted, hvor den bruges.
Hurtigt tjek: Nøglefri signering
Overvej, hvorfor nøglefri signering forbedrer sikkerheden i softwareforsyningskæden.
Opsummering: Signering af afhængigheder og artefakter
Du har lært at bevise proveniens og håndhæve den.
- Fastlås med en digest, ikke med foranderlige tags
- Digitale signaturer giver integritet og autenticitet; udfordringen er nøglehåndtering
- Sigstore + cosign muliggør nøglefri signering med en offentlig Rekor-transparenslog
- SLSA vurderer byggeintegritet; proveniensattesteringer registrerer, hvordan artefakter blev bygget
- Optagelsespolitikker afviser alt, der er usigneret eller ubetroet, under udrulningen
Næste emne: hærdning af det CI/CD-byggeforløb, der producerer disse artefakter.
Lær Cyber Security Academy med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 76
- Lektioner
- 303
Ofte stillede spørgsmål
Er lektionen “Signering af dependencies og artefakter” gratis?
Ja — alle 3 lektioner i læringssporet Cyber Security Academy, inklusive “Signering af dependencies og artefakter”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Cyber Security Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Signering af dependencies og artefakter”?
Verificér oprindelsen med SLSA og Sigstore. Du øver dig i Cyber Security Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Cyber Security Academy?
Der kræves ingen tidligere erfaring. Cyber Security Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Signering af dependencies og artefakter”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Cyber Security Academy-lektion?
Ja. Alle Cyber Security Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Trusler i supply chain
- Software Bill of Materials (SBOM)
- Signering af dependencies og artefakter
- Sikring af CI/CD-pipelines