Jawaban:
Isi mirror ditandatangani menggunakan kunci PGP, secara langsung atau tidak langsung. Mulai dari "root" dari distribusi Debian:
Release
, ditandatangani dengan tanda tangan terpisah Release.gpg
, berisi hash (MD5, SHA1, SHA256) dari semua indeks paket dan hash pemasang ( InRelease
sekarang menggabungkan keduanya);binary-amd64
) berisi hash (MD5 dan SHA256) dari paket.Tanda pagar dan tanda tangan diperiksa oleh alat seperti apt-get
menggunakan kunci PGP yang disimpan pada sistem (dikelola oleh apt-key
). Jadi selama sistem penerima tetap sehat, secara default tidak ada paket yang dapat diinstal dari arsip Debian jika belum ditandatangani (secara tidak langsung) oleh kunci PGP arsip. Setiap penyusup di cermin tidak akan dapat menggantikan binari jika mereka juga tidak memiliki kendali atas kunci PGP yang relevan.
Ini berarti bahwa mengkompromikan arsip tidak cukup untuk benar-benar membahayakan sistem pengguna akhir; Anda juga harus berkompromi dengan kunci PGP yang sudah dipercaya sistem-sistem itu. (Sebuah konsekuensi dari ini adalah bahwa menambahkan kunci ke sistem Debian bukan sesuatu yang bisa dianggap enteng.) Itu membahas pertanyaan pertama Anda sampai batas tertentu, karena keamanan arsip tidak terlalu penting. Namun demikian, sistem kritis (di mana penandatanganan terjadi) dipantau dan diawasi secara ketat, dan sangat sedikit orang yang memiliki akses ke sana.
Memastikan bahwa paket-paket itu "sebenarnya adalah paket yang menurut pengelola adalah" sedikit lebih terlibat. Ini adalah jalur yang diambil oleh sebuah paket:
Jika pengelola mengunggah binari bersama dengan sumber paket, ini adalah file yang akhirnya dilayani (untuk saat ini). Karena mengunggah binari sekarang opsional, lebih dan lebih umum untuk melewatkannya, dan akhirnya binari yang diunggah akan dihapus. (Ini selalu terjadi di Ubuntu.) Apakah binari lain sesuai dengan harapan pengelola tergantung pada jaringan buildd; jadi buildd juga merupakan sistem kritis, di bawah pengawasan ketat dan dengan sedikit akses manusia. Karena semua artefak ditandatangani, selalu memungkinkan untuk memverifikasi integritas file: pertama terhadap kunci pengelola, kemudian terhadap kunci buildd, dan akhirnya terhadap kunci arsip.
Seperti yang ditunjukkan oleh plugwash , tanda tangan asli tidak tersedia di mirror, dan setiap DD dapat mengunggah biner yang hilang. Tanda tangan asli dapat diambil dari arsip debian-devel-changes .
Singkatnya , sementara sistem saat ini tidak sempurna, itu memang memberikan keterlacakan untuk semua file yang dapat Anda unduh dari mirror. Ada sejumlah upaya untuk memperbaiki situasi: membangun yang dapat direproduksi (yang akan memungkinkan verifikasi independen korespondensi biner dengan sumber yang dipublikasikan), menjatuhkan biner yang disediakan pengelola ...
apt-get
memverifikasi paket menggunakan kunci pra-tempel lokal ini, karena mempercayai mereka?
debian-archive-keyring
paket. apt-get
memverifikasi Release
file menggunakan kunci itu, dan paket menggunakan hash yang terkandung dalam Release
dan Packages
file.