Fase pendaftaran perangkat menyiapkan perangkat untuk menyimpan DC dengan mendaftarkan kunci identitas dalam sistem Penerbit.
Alur permintaan
Deskripsi alur
| Langkah | Sumber | Deskripsi |
|---|---|---|
| 1 | Perangkat berteknologi Android |
Permintaan DC baru telah dibuat di perangkat
pengguna. Kunci identitas baru harus dibuat oleh Penerbit. Perangkat
pengguna memanggil getDeviceRegistrationNonce untuk memulai
proses ini.
|
| 2 | Server Google |
Google meneruskan permintaan getDeviceRegistrationNonce ke Penerbit.
|
| 3 | Server penerbit |
Penerbit membuat nonce, menyimpannya dengan
deviceReferenceId, dan menampilkan nonce ke Google.
|
| 4 | Server Google | Google meneruskan nonce ke perangkat pengguna. |
| 5 | Perangkat berteknologi Android |
Perangkat pengguna menandatangani nonce dan menyematkannya dalam sertifikat x509.
Hal ini disertakan dalam panggilan registerDevice untuk memverifikasi
perangkat.
|
| 6 | Server Google | Google meneruskan panggilan registerDevice ke Penerbit. |
| 7 | Server penerbit | Penerbit melakukan pemeriksaan integritas perangkat dan menyimpan kunci identitas yang terkait dengan perangkat. |
Cara memverifikasi integritas perangkat
Pengesahan perangkat adalah fitur keamanan yang memungkinkan penerbit memverifikasi integritas perangkat sebelum mendaftarkannya. Hal ini membantu mencegah pendaftaran perangkat yang telah dimodifikasi atau yang menjalankan software tidak sah.
Untuk memverifikasi integritas perangkat, penerbit harus:
- Memvalidasi rantai sertifikat yang dikirim dalam permintaan
/registerDevice. Sertifikat root dalam rantai harus cocok dengan sertifikat yang disediakan oleh Google. - Pastikan bahwa sertifikat root bukan bagian dari Daftar Pencabutan Sertifikat.
- Parse sertifikat leaf, baca ekstensi, dan verifikasi hal berikut:
- Nilai
attestationChallengecocok dengannonceyang dikirim selama operasi/getDeviceRegistrationNonce. teeEnforced.rootOfTrustmemiliki properti berikut:deviceLocked=TRUEverifiedBootState=VERIFIED
- Nama paket di
softwareEnforced.attestationApplicationIdcocok dengancom.google.android.gmsataucom.google.android.gsf.
- Nilai
Penjelasan tentang berbagai bagian dari proses pengesahan perangkat
- Rantai sertifikat: Rantai sertifikat adalah serangkaian sertifikat yang mengautentikasi identitas perangkat. Sertifikat root dalam rantai adalah sertifikat yang paling tepercaya, dan setiap sertifikat berikutnya dalam rantai ditandatangani oleh sertifikat di atasnya.
- Daftar Pencabutan Sertifikat: Daftar Pencabutan Sertifikat (CRL) adalah daftar sertifikat yang telah dicabut karena alasan tertentu. Jika sertifikat root dalam rantai sertifikat pengesahan perangkat ada di CRL, maka sertifikat tersebut tidak valid dan pengesahan perangkat tidak boleh dipercaya.
- Sertifikat entitas akhir: Sertifikat entitas akhir adalah sertifikat yang khusus untuk perangkat. File ini berisi informasi tentang perangkat, seperti ID hardware dan versi software-nya.
- Ekstensi: Ekstensi adalah informasi tambahan yang disertakan dalam sertifikat. Sertifikat pengesahan perangkat berisi sejumlah ekstensi yang digunakan untuk memverifikasi integritas perangkat. Untuk mengetahui informasi selengkapnya, lihat skema data ekstensi sertifikat.