Bagikan melalui


Siklus hidup dan perpanjangan sertifikat

Pasangan kunci sertifikat klien dan sertifikat CA kedaluwarsa secara rutin. Infrastruktur dan perangkat jaringan Anda harus dapat menangani sertifikat kedaluwarsa dan menyajikan sertifikat baru tanpa kehilangan konektivitas. Sertifikat CA Akar, yang digunakan dalam autentikasi server RADIUS, dan sertifikat klien, yang digunakan dalam autentikasi perangkat, memerlukan pendekatan yang berbeda untuk memperbarui.

Hati

Karena ID sertifikat berskala sistem, perintah bola az atau panggilan fungsi yang menambahkan sertifikat baru dapat menimpa sertifikat yang ditambahkan oleh perintah atau panggilan fungsi yang lebih lama, berpotensi menyebabkan kegagalan koneksi jaringan. Kami sangat menyarankan agar Anda mengembangkan prosedur pembaruan sertifikat yang jelas dan memilih ID sertifikat dengan hati-hati.

Lihat ID Sertifikat untuk informasi selengkapnya tentang cara Azure Sphere menggunakan ID sertifikat.

Memperbarui sertifikat CA Akar

Sertifikat CA adalah CA Akar sertifikat autentikasi di server RADIUS. Jika sertifikat CA kedaluwarsa atau PKI untuk server berubah—misalnya, jika server memperoleh CA Akar baru dari otoritas sertifikat yang berbeda—perangkat Azure Sphere tidak dapat lagi mengautentikasi server autentikasi RADIUS. Namun, perangkat perlu terus berfungsi.

Pada jaringan nirkabel pada umumnya, Anda tidak dapat melakukan cutover "knife-edge"; yaitu, Anda tidak dapat memperbarui semua perangkat Azure Sphere secara tepat saat CA Akar menjadi tidak valid. Perangkat mungkin sedang offline pada saat kritis atau akurasi penukaran waktu dapat bervariasi di seluruh penginstalan. Aplikasi tingkat tinggi Anda harus bisa mendapatkan sertifikat CA Akar baru sebelum yang saat ini kedaluwarsa atau berubah, sehingga sertifikat baru siap digunakan saat diperlukan.

Pendekatan yang disarankan adalah membuat dan mengaktifkan jaringan kedua yang memiliki konfigurasi yang sama dengan jaringan yang sudah ada tetapi menggunakan sertifikat CA Akar yang baru. Ketika sertifikat CA Akar yang sudah ada gagal di jaringan asli, OS akan secara otomatis mencoba menyambungkan ke jaringan kedua. Aplikasi kemudian dapat mengganti sertifikat pada jaringan asli dengan CA Akar baru dan menghapus jaringan kedua. Perangkat kemudian dapat tersambung menggunakan jaringan asli, yang sekarang memiliki CA Akar baru. Gambar berikut ini merangkum pendekatan ini.

Alur aplikasi untuk memperbarui sert CA Akar

Aplikasi tingkat tinggi harus mengikuti langkah-langkah ini untuk menangani pembaruan dengan mulus ke sertifikat CA Akar:

  1. Sebagai bagian dari operasi normal, aplikasi mengonfigurasi Jaringan1 tipe WifiConfig_Security_Wpa2_EAP_TLS. Jaringan ini ditautkan ke sertifikat klien untuk perangkat dan ke Root CA1, yang merupakan CA Akar asli untuk server RADIUS.

  2. Sekitar 90 hari sebelum RootCA kedaluwarsa, perangkat menerima pemberitahuan cloud-to-device bahwa sertifikat Root CA baru untuk server RADIUS akan segera diperlukan. Pemberitahuan dapat dipicu oleh administrator jaringan atau operator lain; mekanisme pemberitahuan yang mungkin mencakup pesan Azure IoT Hub atau Azure IoT Central cloud-to-device.

    Administrator jaringan bertanggung jawab untuk memperbarui sertifikat di server RADIUS dan untuk memastikan bahwa perangkat Azure Sphere akan diperbarui dengan tepat.

  3. Aplikasi ini memperoleh CA Akar baru dan memanggil CertStore_InstallRootCACertificate untuk menyimpannya sebagai Akar CA2.

  4. Aplikasi ini membuat jaringan baru, Network2, dengan memanggil WifiConfig_AddDuplicateNetwork untuk menduplikasi konfigurasi Network1. Kemudian menautkan Root CA2 ke Jaringan 2 dan mengaktifkan Network2. Jika Jaringan2 diaktifkan pada perangkat dan dapat tersambung ke internet, perangkat akan menggunakannya jika Jaringan1 tidak tersedia.

  5. Aplikasi melakukan polling setiap hari dengan menghubungi WifiConfig_GetConnectedNetworkId untuk menentukan jaringan mana perangkat tersambung.

    Jika pemeriksaan harian jaringan tersambung gagal, kesalahan tersebut dapat disebabkan oleh masalah sertifikat di sisi server atau perangkat, atau dari beberapa masalah lainnya. Lihat Memecahkan masalah jaringan untuk bantuan.

    Jika perangkat tersambung ke Jaringan1, artinya sertifikat belum kedaluwarsa dan semuanya berfungsi dengan benar. Aplikasi mengulangi langkah ini hingga perangkat tersambung ke Jaringan2.

    Jika perangkat tersambung ke Jaringan2, artinya sertifikat lama telah kedaluwarsa, PKI yang diperbarui disiapkan di server RADIUS, dan perangkat dapat mengautentikasi server menggunakan Root CA2.

  6. Ketika perangkat berfungsi dengan benar dengan Network2, aplikasi menyelesaikan perubahan pada konfigurasi jaringan:

Memperbarui sertifikat klien

Sertifikat klien terdiri dari pasangan kunci publik dan privat yang digunakan untuk mengautentikasi perangkat Azure Sphere. Seperti sertifikat CA Akar, sertifikat klien akan kedaluwarsa dari waktu ke waktu, dan perangkat harus dapat menyajikan sertifikat baru. Aplikasi tingkat tinggi Anda bertanggung jawab untuk mendapatkan sertifikat baru sebelum sertifikat yang sudah ada kedaluwarsa. Aplikasi bisa mendapatkan tanggal dan waktu kedaluwarsa sertifikat dengan menghubungi CertStore_GetCertificateNotAfter.

Gambar berikut ini merangkum prosedur ini. Pola ini memungkinkan kode pembaruan sertifikat Anda menggunakan ID sertifikat konstanta, seperti ClientCert1 dan ClientCert2, bukan membuat nama unik untuk setiap sertifikat baru. Selain itu, tidak memerlukan swap jaringan atau pembersihan sertifikat klien.

Alur aplikasi untuk memperbarui sert klien

Aplikasi tingkat tinggi harus mengikuti langkah-langkah ini untuk menangani pembaruan dengan mulus ke sertifikat klien:

  1. Sebagai bagian dari operasi normal, aplikasi mengonfigurasi Jaringan1 tipe WifiConfig_Security_Wpa2_EAP_TLS. Jaringan ini ditautkan ke sertifikat klien untuk perangkat (ClientCert1) dan ke CA Akar untuk server RADIUS. Sebelum aplikasi memulai prosedur pembaruan, aplikasi memverifikasi bahwa perangkat tersambung ke Jaringan1 dengan memanggil WifiConfig_GetNetworkIdByConfigName dan WifiConfig_GetConnectedNetworkId. Jika ID jaringan cocok, aplikasi dapat dipastikan tersambung ke jaringan yang dimaksud.

  2. Aplikasi memanggil CertStore_GetCertificateNotAfter secara berkala untuk menentukan kapan sertifikat klien akan kedaluwarsa. Alternatifnya, aplikasi dapat menyimpan tanggal kedaluwarsa dalam penyimpanan yang stabil; namun, masih harus memeriksa tanggal kedaluwarsa setiap hari dan setelah setiap boot ulang.

    Aplikasi membandingkan tanggal dan waktu kedaluwarsa dengan tanggal dan waktu saat ini. Jika sertifikat kedaluwarsa dalam periode ambang batas yang telah ditentukan sebelumnya, aplikasi akan mendapatkan sertifikat baru. Panjang periode ambang batas adalah pilihan Anda. Sebagai praktik terbaik, sebaiknya dapatkan sertifikat baru setidaknya empat minggu sebelum kedaluwarsa jika perangkat offline untuk jangka waktu yang lama atau mengalami masalah jaringan atau server berulang. Semakin lama Anda memeriksa, semakin banyak waktu Anda harus menyelesaikan masalah apa pun.

  3. Aplikasi ini mendapatkan sertifikat baru dari penerbit sertifikat yang sesuai. Pilihan penerbit sertifikat adalah tanggung jawab administrator jaringan lokal.

  4. Aplikasi menyimpan sertifikat baru sebagai ClientCert2 dengan memanggil CertStore_InstallClientCertificate, dan menambahkannya ke konfigurasi Wi-Fi Network1 dengan memanggil WifiConfig_SetClientCertStoreIdentifier.

  5. Aplikasi memuat ulang konfigurasi Wi-Fi dengan memanggil WifiConfig_ReloadConfig. Langkah ini membuat ClientCert2 tersedia untuk perangkat untuk digunakan dalam koneksi jaringan.

  6. Periksa apakah koneksi jaringan berhasil.

    • Koneksi yang berhasil berarti ClientCert2 sekarang valid.

      • Ganti nama ClientCert2 menjadi ClientCert1 dengan menghubungi CertStore_MoveCertificate.

      • Nonaktifkan Jaringan1 dengan memanggil WifiConfig_SetNetworkEnabled untuk mengatur status Diaktifkan jaringan menjadi false, lalu aktifkan kembali Jaringan1 dengan memanggil WifiConfig_SetNetworkEnabled untuk mengatur status Diaktifkan ke true. Menonaktifkan dan mengaktifkan kembali konfigurasi membuat konten sertifikat yang diganti namanya tersedia untuk aplikasi.

    • Kegagalan untuk menyambungkan berarti ClientCert2 belum valid atau beberapa kesalahan lain terjadi.

      • Jika sertifikat belum valid, lanjutkan dengan langkah 7 untuk mengembalikan konfigurasi jaringan ke status aslinya.
      • Jika terjadi kesalahan lain, lihat Memecahkan masalah jaringan untuk mendapatkan bantuan dan mencoba kembali koneksi.
  7. Terlepas dari apakah koneksi jaringan berhasil, muat ulang konfigurasi Wi-Fi dengan memanggil WifiConfig_ReloadConfig. Jika koneksi berhasil, konfigurasi yang dimuat ulang akan menggunakan ClientCert1 baru, yang digantikan oleh ClientCert2. Jika koneksi gagal, konfigurasi yang dimuat ulang akan menggunakan ClientCert1.