Pendaftaran perangkat

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:

  1. Memvalidasi rantai sertifikat yang dikirim dalam permintaan /registerDevice. Sertifikat root dalam rantai harus cocok dengan sertifikat yang disediakan oleh Google.
  2. Pastikan bahwa sertifikat root bukan bagian dari Daftar Pencabutan Sertifikat.
  3. Parse sertifikat leaf, baca ekstensi, dan verifikasi hal berikut:
    • Nilai attestationChallenge cocok dengan nonce yang dikirim selama operasi /getDeviceRegistrationNonce.
    • teeEnforced.rootOfTrust memiliki properti berikut:
      • deviceLocked=TRUE
      • verifiedBootState=VERIFIED
    • Nama paket di softwareEnforced.attestationApplicationId cocok dengan com.google.android.gms atau com.google.android.gsf.

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.