Tentang pembaruan over-the-air

Updates adalah bagian penting dari model keamanan Azure Sphere, karena mewujudkan properti keamanan terbarukan. Memastikan bahwa pembaruan berlangsung secara rutin membantu menjaga perangkat Anda tetap sesuai dengan 7 properti . Perangkat Azure Sphere memeriksa pembaruan saat pertama kali tersambung ke internet setelah diaktifkan atau setelah tombol Reset ditekan. Setelah itu, pemeriksaan terjadi pada interval rutin (saat ini 20 jam).

Ada tiga jenis pembaruan: pembaruan prasyarat, pembaruan OS, dan pembaruan penyebaran. Pembaruan prasyarat digunakan untuk memastikan bahwa komponen yang diandalkan oleh proses pembaruan—saat ini Bursa Kunci Tepercaya (TKS) dan penyimpanan sertifikat—telah diperbarui. TKS digunakan untuk mengautentikasi gambar yang akan diunduh dan diinstal, sementara toko sertifikat memvalidasi koneksi internet. Pembaruan OS menargetkan perangkat lunak yang disediakan Microsoft pada perangkat, termasuk sistem operasi dunia normal yang dijalankan aplikasi Anda, tetapi juga firmware tingkat bawah seperti subsistem Pluton dan Monitor Keamanan. Pembaruan penyebaran menargetkan perangkat lunak Anda sendiri—aplikasi berkemampuan real-time dan gambar konfigurasi papan (jika ada). Pembaruan prasyarat dan OS dikelola oleh Azure Sphere; pembaruan aplikasi dikoordinasikan oleh Azure Sphere berdasarkan penyebaran yang dibuat oleh organisasi Anda.

Agar perangkat apa pun menerima pembaruan prasyarat atau OS:

Agar perangkat apa pun dapat memperbarui gambar konfigurasi aplikasi dan papannya:

  • Tidak boleh memilikikapabilitas pengembangan aplikasi.
  • Katalog harus diklaim oleh katalog.
  • Grup harus tergabung dalam grup perangkat.
  • Grup perangkat tempatnya harus ditargetkan oleh penyebaran.
  • Penyebaran harus berisi gambar aplikasi (dan secara opsional gambar konfigurasi papan) yang dibuat oleh atau atas nama organisasi Anda.
  • Grup perangkat harus memiliki kebijakan pembaruan UpdateAll. Anda dapat menonaktifkan pembaruan aplikasi untuk grup perangkat tertentu menggunakan perintah pembaruan grup perangkat bola az .

Untuk semua perangkat dalam grup perangkat tertentu, penyebaran yang menargetkan grup perangkat tersebut dianggap sebagai sumber kebenaran untuk pencitraan perangkat tersebut. Gambar apa pun pada perangkat yang tidak ada dalam penyebaran akan dihapus dari perangkat. Satu pengecualian, seperti Azure Sphere OS 21.04, adalah bahwa gambar konfigurasi papan tidak dihapus kecuali gambar tersebut diganti dengan gambar konfigurasi papan baru.

Pemeriksaan pembaruan perangkat terjadi dalam tiga fase yang terkait dengan tiga jenis pembaruan:

  • Pada tahap pertama, Azure Sphere mendapatkan manifes yang mencantumkan versi TKS dan penyimpanan sertifikat saat ini. Jika TKS dan penyimpanan sertifikat di perangkat sudah diperbarui, pembaruan akan dilanjutkan dengan tahap kedua. Jika tidak, gambar saat ini diunduh dan diinstal.
  • Pada fase kedua, Azure Sphere memperoleh manifes yang mencantumkan versi terbaru dari berbagai gambar komponen OS. Jika gambar di perangkat sudah kedaluarsa, gambar saat ini diunduh bersama dengan gambar pembatalan yang dapat digunakan untuk mengembalikan perangkat ke keadaan yang diketahui baik jika proses pembaruan gagal. Gambar OS dan rollback diunduh dan disimpan di area pementasan di perangkat, kemudian gambar OS diinstal dan perangkat di-boot ulang.
  • Pada fase ketiga, Azure Sphere memeriksa pembaruan penyebaran jika grup perangkat menerimanya. Seperti pembaruan OS, gambar pembatalan untuk aplikasi juga ditahapkan sesuai kebutuhan. Gambar aplikasi dan pembatalan diunduh dan disimpan di area pementasan, lalu gambar aplikasi diinstal.

Perbarui pembatalan

Setiap bagian dari proses pembaruan menyertakan opsi pembatalan. Dalam pembaruan prasyarat, gambar pembatalan hanyalah cadangan dari status pra-pembaruan. Jika pembaruan gagal, status pra-pembaruan akan dipulihkan.

Pembatalan pada tingkat apa pun memaksa pembatalan di semua tingkat yang lebih tinggi: jika ada gambar firmware yang gagal di-boot, baik partisi firmware maupun aplikasi digulung kembali.

Untuk pembaruan OS, kegagalan verifikasi tanda tangan atau kesulitan runtime dapat memicu pembatalan. Jika terjadi kegagalan verifikasi tanda tangan, upaya dilakukan untuk memperbaiki gambar; jika gagal, rollback penuh akan dipicu. Dalam rollback penuh, gambar rollback bertahap diinstal untuk OS dan aplikasi.

Pembaruan dan penyebaran OS memiliki siklus rilis independen, sehingga dimungkinkan untuk beberapa penyebaran terjadi di antara pembaruan OS. Jika ini terjadi, penting untuk diperhatikan bahwa target rollback untuk penyebaran bukanlah penyebaran terbaru, melainkan penyebaran pada saat pembaruan OS terakhir. Hal ini memastikan bahwa OS dan aplikasi bekerja sama dalam keadaan bergulir kembali.

Pembaruan terganggu

Jika pembaruan terganggu, misalnya oleh pemadaman listrik atau hilangnya konektivitas, ada empat kemungkinan skenario untuk setiap tipe pembaruan:

  • Jika kumpulan gambar lengkap berhasil diunduh dan bertahap tetapi belum diinstal, penginstalan akan selesai ketika daya dipulihkan.
  • Jika beberapa tetapi tidak semua gambar diunduh dan ditahapkan, pembaruan akan terus mengunduh gambar yang hilang lalu melanjutkan ke penginstalan.
  • Jika pembaruan terganggu selama penginstalan setelah pengunduhan selesai, penginstalan akan dimulai ulang saat boot.
  • Jika tidak ada gambar yang benar-benar diunduh, proses pembaruan akan mulai segar ketika daya dipulihkan, karena tidak akan ada yang siap untuk diinstal.

Updates dalam skenario power-down

Azure Sphere mendukung skenario daya rendah yang memungkinkan perangkat dimatikan untuk waktu yang lama guna menghemat masa pakai baterai. Dalam skenario seperti itu, penting agar perangkat diizinkan untuk memeriksa pembaruan secara berkala. Aplikasi sampel Power Down menunjukkan cara mengurangi pemakaian daya dengan benar sambil tetap memastikan perangkat akan tetap terjaga secara berkala untuk memeriksa pembaruan OS dan aplikasi.

Pembaruan yang ditunda

Untuk mencegah tugas penting terganggu oleh pembaruan, aplikasi tingkat tinggi dapat menggabungkan pembaruan yang ditunda. Fitur ini memungkinkan aplikasi menyelesaikan tugas pentingnya lalu mempersiapkan shutdown agar pembaruan dapat dilanjutkan. Sampel DeferredUpdate menunjukkan cara mengimplementasikan pembaruan yang ditunda tersebut.