Penandatanganan Dependensi dan Artefak
Memverifikasi asal-usul dengan SLSA dan Sigstore.
Penandatanganan Dependensi dan Artefak adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Mengapa Asal-Usul Penting
SBOM memberi tahu Anda apa yang terdapat di dalam artefak. Asal-usul memberi tahu Anda dari mana artefak itu berasal dan bagaimana artefak tersebut dibuat. Penandatanganan mengikat artefak pada asal-usul yang dapat diverifikasi, sehingga pengguna dapat menolak apa pun yang tidak dihasilkan oleh alur kerja tepercaya Anda.
Tanpa asal-usul, penyerang yang menukar arsip tar di registri Anda tidak dapat dibedakan dari rilis yang sah.
Ringkasan, Bukan Label
Dasar integritas adalah pengalamatan berbasis konten. Nilai hash kriptografis (ringkasan) suatu artefak mengidentifikasi byte yang persis sama secara unik. Label yang dapat berubah seperti latest dapat diarahkan ulang; ringkasan tidak dapat.
# pull by immutable digest, not a tag
docker pull my-app@sha256:1d52838af602b4b5a831beb13a0e4d073280665ea7be7f69ce2382f29c5a613f
# compute a file digest
sha256sum release-1.4.0.tar.gzDasar-Dasar Tanda Tangan Digital
Tanda tangan digital menggunakan kunci privat untuk menandatangani hash artefak; siapa pun yang memiliki kunci publik yang sesuai dapat memverifikasinya. Hal ini memberikan dua jaminan:
- Integritas — artefak tidak diubah setelah ditandatangani
- Keaslian — artefak ditandatangani oleh pemegang kunci privat
Bagian yang sulit bukanlah matematikanya, melainkan pengelolaan kunci dan distribusi kepercayaan: bagaimana pemeriksa mengetahui kunci publik mana yang harus dipercaya?
Penandatanganan Tanpa Kunci dengan Sigstore
Penandatanganan tradisional memaksa tim untuk menjaga kunci privat yang berumur panjang, yang dapat bocor. Sigstore menawarkan penandatanganan tanpa kunci: Sigstore menerbitkan sertifikat berumur singkat yang terikat pada identitas OIDC (seperti beban kerja CI atau email pengembang), menandatangani artefak, dan mencatat peristiwa tersebut dalam catatan transparansi publik bernama Rekor.
Tidak ada kunci berumur panjang yang dapat dicuri, dan setiap tanda tangan dapat diaudit secara publik.
Menandatangani dengan Cosign
Cosign adalah alat Sigstore untuk menandatangani citra kontainer dan artefak lainnya. Dalam mode tanpa kunci, Cosign menggunakan token OIDC alur kerja, sehingga tidak ada berkas kunci yang tersimpan di disk.
# 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.comCatatan Transparansi
Sigstore mencatat setiap peristiwa penandatanganan dalam Rekor, yaitu catatan publik yang menunjukkan perubahan dan hanya dapat ditambahi. Ini adalah pengendalian detektif yang kuat:
- Anda dapat membuktikan kapan sesuatu ditandatangani
- Penyerang yang mencuri identitas tidak dapat menandatangani sesuatu secara diam-diam — peristiwa tersebut dicatat secara publik
- Tanda tangan yang tidak lazim (identitas tak terduga, di luar jam kerja) dapat dideteksi
Transparansi mengubah kompromi yang senyap menjadi bukti yang dapat diamati.
SLSA: Tingkatan Integritas Pembuatan
SLSA (Tingkatan Rantai Pasokan untuk Artefak Perangkat Lunak) adalah kerangka kerja yang menilai tingkat kepercayaan proses pembuatan Anda. Tingkat yang lebih tinggi menuntut jaminan yang lebih kuat terhadap manipulasi.
- L1 — asal-usul tersedia dan didokumentasikan
- L2 — asal-usul bertanda tangan dari layanan pembuatan terkelola
- L3 — proses pembuatan yang diperkuat dan terisolasi; asal-usul tidak dapat dipalsukan bahkan oleh orang dalam alur kerja
SLSA adalah peta jalan: pilih tingkat sasaran dan tutup kesenjangannya.
Pengesahan Asal-Usul Pembuatan
Pengesahan asal-usul adalah pernyataan bertanda tangan yang menjelaskan bagaimana artefak dibuat: komit sumber, identitas pembuat, parameter pembuatan, dan masukan. Format in-toto menstandarkan hal ini.
# 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...Menegakkan Tanda Tangan saat Penerimaan
Penandatanganan hanya berguna jika ada sesuatu yang menolak artefak tanpa tanda tangan. Di Kubernetes, pengontrol penerimaan dapat memblokir citra apa pun yang tidak memiliki tanda tangan sah dan asal-usul dari identitas tepercaya Anda.
- Pengontrol kebijakan memverifikasi tanda tangan Cosign sebelum pod dimulai
- Menolak citra yang ditandatangani oleh identitas tak terduga
- Mewajibkan asal-usul yang menunjuk ke repositori sumber yang disetujui
Ini menuntaskan siklus: artefak yang tidak tepercaya tidak pernah dijalankan.
Menandatangani Dependensi di Hulu
Asal-usul paling berharga jika mencakup apa yang Anda konsumsi, bukan hanya apa yang Anda kirimkan. Ekosistem mulai menambahkan penandatanganan dan asal-usul bawaan:
- Asal-usul npm mengaitkan paket yang diterbitkan dengan komit sumber dan eksekusi CI-nya
- Citra dasar kontainer semakin sering disertai tanda tangan cosign
- Registri bahasa sedang menguji coba verifikasi berbasis Sigstore
Utamakan dependensi yang menerbitkan asal-usul yang dapat diverifikasi, lalu verifikasi asal-usul tersebut saat pemasangan jika didukung.
Mengutamakan Verifikasi
Strategi penandatanganan yang praktis bersifat berlapis dan diverifikasi dari awal hingga akhir:
- Kunci masukan berdasarkan ringkasan
- Tanda tangani artefak tanpa kunci dan lampirkan SBOM serta pengesahan asal-usul
- Catat semuanya dalam catatan transparansi
- Tegakkan verifikasi saat penerapan dengan kebijakan penerimaan
Rantai ini hanya sekuat mata rantai terlemahnya yang belum diverifikasi, jadi lakukan verifikasi di setiap titik penggunaan.
Pemeriksaan Singkat: Penandatanganan Tanpa Kunci
Pahami alasan penandatanganan tanpa kunci meningkatkan keamanan rantai pasokan.
Ringkasan: Penandatanganan Dependensi dan Artefak
Anda telah belajar membuktikan asal-usul dan menegakkannya.
- Kunci berdasarkan ringkasan, bukan label yang dapat berubah
- Tanda tangan digital memberikan integritas dan keaslian; tantangannya adalah pengelolaan kunci
- Sigstore + cosign memungkinkan penandatanganan tanpa kunci dengan catatan transparansi publik Rekor
- SLSA menilai integritas pembuatan; pengesahan asal-usul mencatat bagaimana artefak dibuat
- Kebijakan penerimaan menolak apa pun yang tidak bertanda tangan atau tidak tepercaya saat penerapan
Berikutnya: memperkuat alur kerja CI/CD yang menghasilkan artefak-artefak ini.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penandatanganan Dependensi dan Artefak” gratis?
Ya — teks lengkap “Penandatanganan Dependensi dan Artefak” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penandatanganan Dependensi dan Artefak”?
Memverifikasi asal-usul dengan SLSA dan Sigstore. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Penandatanganan Dependensi dan Artefak” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Ancaman Rantai Pasokan
- Daftar Bahan Perangkat Lunak (SBOM)
- Penandatanganan Dependensi dan Artefak
- Mengamankan Pipeline CI/CD