Kunci penandatanganan dan pembaruan

Semua artefak biner, commit ostree, dan citra OS yang termasuk Fedora dan Fedora CoreOS (FCOS) ditandatangani menggunakan GPG. Kumpulan kunci penandatanganan tepercaya saat ini tersedia di [https://fedoraproject.org/security/](https://fedoraproject.org/security/).

Rotasi kunci dan penghalang pembaruan

Pada awal setiap siklus rilis utama Fedora yang baru, kunci penandatanganan baru akan dibuat dan bagian publiknya diterbitkan di situs web Fedora. Kunci baru ini nantinya akan digunakan untuk menandatangani artefak baru, menggantikan kunci yang digunakan saat ini. Hal ini dilakukan untuk membangun rantai kepercayaan otomatis dari rilis lama ke rilis yang lebih baru, yang kemungkinan ditandatangani oleh kunci baru yang berbeda.

In order to make automatic updates of Fedora CoreOS work across major Fedora releases, the above set of embedded signing keys is refreshed at least once per Fedora release cycle. When that happens, an update barrier is put in place in the FCOS update graph.

Alasan utama adanya penghalang pembaruan tersebut adalah untuk memastikan bahwa instance lama (dan mungkin usang) secara otomatis menerima dan mempercayai kunci yang baru dibuat. Hal ini dicapai dengan memaksa mesin tersebut untuk secara bertahap mengejar pembaruan perantara (yang ditandatangani oleh kunci yang sudah tepercaya) sebelum melompat ke rilis terbaru yang diterbitkan.

Contoh

Dengan mengambil contoh siklus rilis Fedora 32, pada awalnya citra FCOS hanya mengenal kunci penandatanganan untuk Fedora 32 dan 33:

$ grep OSTREE /etc/os-release
OSTREE_VERSION='32.20200615.3.0'

$ ls -v /usr/etc/pki/rpm-gpg/*primary | tail -3
/usr/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-31-primary
/usr/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-32-primary
/usr/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-33-primary

Kemudian dalam siklus rilis tersebut, kunci penandatanganan untuk rilis Fedora 34 mendatang dibuat dan ditambahkan ke FCOS. Sebuah penghalang ditempatkan pada grafik pembaruan FCOS, misalnya pada rilis 32.20200907.3.0. Memeriksa citra tersebut menunjukkan hal berikut:

$ grep OSTREE /etc/os-release
OSTREE_VERSION='32.20200907.3.0'

$ ls -v /usr/etc/pki/rpm-gpg/*primary | tail -3
/usr/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-32-primary
/usr/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-33-primary
/usr/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-34-primary

Dengan penghalang ini diterapkan, instance lama harus terlebih dahulu melakukan peningkatan ke 32.20200907.3.0 untuk memastikan bahwa mereka mengenal (dan mempercayai) kunci penandatanganan Fedora 34, sebelum dapat ditingkatkan ke rilis baru yang didasarkan padanya.