
Keamanan proses pengesahan
Keamanan proses pengesahan
Saat konfigurasi ACME menentukan kunci yang terikat perangkat keras, atau saat layanan manajemen perangkat meminta pengesahan DeviceInformation, perangkat menggunakan langkah berikut:
Sistem operasi meminta kunci yang terikat perangkat keras dari Secure Enclave, yang disebut kunci sah. Untuk pengesahan ACME, kunci ini adalah bagian dari identitas sertifikat yang diterbitkan. Untuk pengesahan
DeviceInformation, kunci dibuat oleh sistem operasi dan digunakan kembali untuk semua pengesahanDeviceInformationberikutnya selama pendaftaran.Sistem operasi meminta pengesahan perangkat keras dari Secure Enclave. Kunci sah, kode kesegaran, dan properti mana yang ingin disahkan akan diminta.
Secure Enclave membuat dan menghasilkan pengesahan perangkat keras baru.
Sistem operasi mengirim pengesahan perangkat keras ke server pengesahan Apple.
Server pengesahan memvalidasi permintaan dan menolak untuk menerbitkan sertifikat pengesahan atau membuat pengesahan yang hanya berisi properti dan nilai yang dapat dikonfirmasi. Kunci publik sertifikat pengesahan sesuai dengan kunci sah.
Sistem operasi memberikan hasil sertifikat pengesahan ke layanan manajemen perangkat atau solusi ACME.
Untuk informasi lainnya mengenai validasi sertifikat pengesahan yang disediakan, lihat Memvalidasi Pengesahan Perangkat Terkelola di situs web Pengembang Apple.
Mengenai pengesahan perangkat keras
Saat membuat pengesahan perangkat keras, Secure Enclave menyertakan di antaranya elemen berikut:
Pengenal logic board utama.
Kunci publik dari kunci sah.
Hash dari komponen perangkat lunak berikut yang dikalkulasi selama proses boot dan disimpan di register perangkat keras (mirip dengan Perlindungan Kunci yang Disegel):
Firmware Secure Enclave (sepOS).
Manifes Image4 yang terlampir ke LLB yang juga berisi pengukuran dari semua firmware pasangan sistem lainnya.
Manifes Image4 sistem operasi yang berisi pengukuran dari semua firmware pasangan OS.
Nilai spesifik perangkat lainnya seperti ECID atau ChipID.
Di komputer Mac, detail LocalPolicy.
Kode kesegaran.
Jika Secure Enclave tidak dapat membongkar kunci sah, Secure Enclave akan menolak untuk membuat pengesahan perangkat keras. Ini memastikan bahwa kunci sah terikat pada Secure Enclave itu saja dan semua properti sah lain dikaitkan dengan kunci tersebut.
Semua elemen ini digabung ke struktur biner khusus dan ditandatangani dengan UIK. Ini akan mengikat pengesahan perangkat keras dengan identitas spesifik yang dapat diverifikasi oleh pengesahan Apple, sehingga memungkinkannya untuk mengaitkan permintaan dengan rekaman aktivasi tertentu, dan dengan catatan produksi tertentu.
Membuat sertifikat pengesahan
Saat menerima permintaan pengesahan, server pengesahan Apple akan:
Memvalidasi tanda tangan Kunci Identitas Pengguna (UIK) dari pengesahan perangkat keras. Jika tanda tangan tidak sah, pengesahan tidak akan dibuat.
Cari
ucrtdi rekaman aktivasi Apple yang berhubungan dengan kunci publik UIK. Jikaucrttidak ditemukan, pengesahan tidak akan dibuat.Cari
scrtyang berhubungan denganucrtperangkat.scrtadalah sertifikat yang diterbitkan oleh server Apple selama produksi berdasarkan Kunci Identitas Silikon (SIK). SIK dibuat oleh Secure Enclave dan kunci publiknya dikumpulkan selama produksi dari perangkat. SIK digunakan selama aktivasi untuk memverifikasi bahwa Secure Enclave dari perangkat yang mengaktivasi memiliki kunci pribadi. SIK berlaku selama masa pakai perangkat dan bertindak sebagai pengenal unik. Dengan menggunakanscrt, catatan produksi perangkat akan diterima. Jika rekaman tidak ditemukan, pengesahan tidak akan dibuat.Verifikasi bahwa pengenal komponen perangkat keras sesuai dengan catatan produksi. Jika pengenal komponen tidak sesuai dengan catatan produksi, pengesahan tidak akan dibuat.
Menyalin kode kesegaran ke pengesahan jika ada.
Jika diminta oleh pengesahan:
Bandingkan hash yang dikalkulasi dari komponen perangkat lunak dengan hash yang dikenali dari catatan build. Jika cocok, angka versi resmi akan disisipkan ke pengesahan; jika tidak, OID akan dihapus atau nilainya kosong.
Saat image untuk LLB, Secure Enclave, atau sistem operasi utama dibuat, hash dikalkulasi dan dicatat di database catatan build, beserta angka versi resmi untuk image tersebut.
Kalkulasi UDID dari ECID dan ChipID.
Salin nilai untuk OID yang diminta dari LocalPolicy ke pengesahan jika perangkat adalah Mac.
Hasil praktis dari validasi ini adalah tidak ada pengesahan yang dibuat jika server pengesahan tidak dapat mengenali perangkat sebagai perangkat keras Apple asli. Setiap properti di sertifikat pengesahan hanya disertakan jika server pengesahan dapat memverifikasi nilai properti, kecuali kode kesegaran yang disertakan tanpa validasi apa pun.