Pembaruan perangkat lunak aman
Keamanan adalah proses; tidak cukup untuk hanya mengandalkan boot versi sistem operasi yang terinstal di pabrik—harus terdapat mekanisme untuk memperoleh pembaruan keamanan terbaru dengan cepat dan aman. Apple secara berkala merilis pembaruan perangkat lunak untuk menyelesaikan masalah keamanan yang muncul. Pengguna perangkat iPhone dan iPad menerima pemberitahuan pembaruan di perangkat. Pengguna Mac menemukan pembaruan yang tersedia di Pengaturan Sistem (macOS 13 atau lebih baru) atau Preferensi Sistem (macOS 12 atau lebih lama). Pembaruan dikirimkan secara nirkabel, untuk pengadopsian perbaikan keamanan terbaru dengan cepat.
Keamanan proses pembaruan
Proses pembaruan menggunakan dasar kepercayaan berbasis perangkat keras yang sama dengan yang digunakan oleh boot aman yang dirancang untuk hanya menginstal kode yang ditandatangani oleh Apple. Proses pembaruan juga menggunakan pengesahan perangkat lunak sistem untuk memeriksa bahwa hanya versi salinan perangkat lunak yang ditandatangani secara aktif oleh Apple yang dapat diinstal di perangkat iPhone dan iPad, atau di komputer Mac dengan pengaturan Keamanan Penuh yang dikonfigurasi sebagai kebijakan boot aman di Utilitas Keamanan Mulai. Dengan proses aman ini, Apple dapat menghentikan penandatanganan versi sistem operasi lama yang memiliki kerentanan yang diketahui dan membantu mencegah serangan penurunan.
Demi keamanan pembaruan perangkat lunak yang lebih andal, jika perangkat yang akan ditingkatkan tersambung secara fisik ke Mac, salinan lengkap iOS atau iPadOS akan diunduh dan diinstal. Namun, untuk pembaruan perangkat lunak secara nirkabel (OTA), hanya komponen yang diperlukan untuk menyelesaikan pembaruan yang diunduh, yang meningkatkan efisiensi jaringan dengan tidak mengunduh keseluruhan sistem operasi. Terlebih lagi, pembaruan perangkat lunak dapat disimpan dalam cache pada Mac yang menjalankan macOS 10.13 atau lebih baru dengan Cache Konten yang dinyalakan, sehingga perangkat iPhone dan iPad tidak perlu mengunduh ulang pembaruan yang diperlukan melalui internet. (Perangkat masih perlu menghubungi server Apple untuk menyelesaikan proses pembaruan.)
Proses pembaruan yang disesuaikan
Selama peningkatan dan pembaruan, informasi tertentu disediakan bagi server pengesahan penginstalan Apple, yang menyertakan daftar pengamanan kriptografis untuk setiap bagian bundel penginstalan yang akan diinstal (misalnya, iBoot, kernel, dan image sistem operasi), nilai anti-pemutaran ulang acak, dan Identifikasi Keping Eksklusif (ECID) unik milik perangkat.
Server pengesahan membandingkan daftar tindakan pengamanan yang disediakan dengan versi yang diizinkan untuk penginstalan dan, jika menemukan kecocokan, akan menambahkan ECID ke tindakan pengamanan dan menandatangani hasilnya. Server meneruskan kumpulan lengkap data yang ditandatangani ke perangkat sebagai bagian dari proses peningkatan. Dengan menambahkan ECID, pengesahan untuk perangkat yang diminta menjadi bersifat "khusus". Dengan hanya mengesahkan dan menandatangani tindakan pengamanan yang diketahui, server membantu memastikan bahwa pembaruan dilakukan sebagaimana mestinya seperti disediakan oleh Apple.
Evaluasi rantai kepercayaan waktu boot memverifikasi bahwa tanda tangan berasal dari Apple dan bahwa pengukuran item dimuat dari perangkat penyimpanan, bersama dengan ECID perangkat, cocok dengan yang tercakup oleh tanda tangan. Langkah ini dirancang untuk memastikan bahwa, di perangkat yang mendukung personalisasi, pengesahan ditujukan bagi perangkat tertentu dan bahwa sistem operasi atau versi firmware yang lebih lama dari perangkat tidak dapat disalin ke perangkat lain. Nilai anti-pemutaran ulang membantu mencegah penyerang untuk menyimpan respons server dan menggunakannya untuk merusak perangkat atau mengubah perangkat lunak sistem.
Proses penyesuaian adalah alasan koneksi jaringan ke Apple selalu diperlukan untuk memperbarui perangkat apa pun dengan silicon rancangan Apple, termasuk Mac berbasis Intel dengan Keping Keamanan T2 Apple.
Di perangkat dengan Secure Enclave, perangkat keras tersebut juga menggunakan pengesahan perangkat lunak sistem untuk memeriksa integritas perangkat lunaknya dan dirancang untuk mencegah penginstalan penurunan versi.