Bagikan melalui


Praktik keamanan untuk produsen perangkat Azure IoT

Karena lebih banyak produsen merilis perangkat IoT, sangat berguna untuk mengidentifikasi panduan seputar praktik umum. Artikel ini merangkum praktik keamanan yang direkomendasikan untuk dipertimbangkan saat Anda memproduksi perangkat untuk digunakan dengan Azure IoT Device Provisioning Service (DPS).

  • Memilih opsi autentikasi perangkat
  • Menginstal sertifikat di perangkat IoT
  • Mengintegrasikan Trusted Platform Module (TPM) ke dalam proses manufaktur

Memilih opsi autentikasi perangkat

Tujuan utama dari setiap langkah keamanan perangkat IoT adalah untuk menciptakan solusi IoT yang aman. Tetapi masalah seperti keterbatasan perangkat keras, biaya, dan tingkat keahlian keamanan semuanya karena dampak opsi yang Anda pilih. Selanjutnya, pendekatan Anda terhadap keamanan memengaruhi bagaimana perangkat IoT Anda terhubung ke cloud. Meskipun ada beberapa elemen keamanan IoT untuk dipertimbangkan, elemen kunci yang ditemui setiap pelanggan adalah jenis autentikasi apa yang digunakan.

Tiga jenis autentikasi yang banyak digunakan adalah sertifikat X.509, Trusted Platform Modules (TPM), dan kunci konten. Sementara jenis autentikasi lainnya ada, sebagian besar pelanggan yang membangun solusi di Azure IoT menggunakan salah satu dari tiga jenis ini. Sisa artikel ini mensurvei pro dan kontra menggunakan setiap jenis autentikasi.

Sertifikat X.509

Sertifikat X.509 adalah jenis identitas digital yang dapat Anda gunakan untuk autentikasi. Standar sertifikat X.509 didokumentasikan dalam IETF RFC 5280. Di Azure IoT, ada dua cara untuk mengautentikasi sertifikat:

  • Thumbprint. Algoritma thumbprint dijalankan pada sertifikat untuk menghasilkan string heksadesimal. String yang dihasilkan adalah pengidentifikasi unik untuk sertifikat.
  • Autentikasi CA berdasarkan rantai penuh. Rantai sertifikat adalah daftar hierarki semua sertifikat yang diperlukan untuk mengautentikasi sertifikat entitas akhir (EE). Untuk mengautentikasi sertifikat EE, perlu untuk mengautentikasi setiap sertifikat dalam rantai termasuk CA akar tepercaya.

Kelebihan untuk X.509:

  • X.509 adalah tipe autentikasi paling aman yang didukung di Azure IoT.
  • X.509 memungkinkan kontrol tingkat tinggi untuk tujuan manajemen sertifikat.
  • Banyak vendor tersedia untuk menyediakan solusi autentikasi berbasis X.509.

Kekurangan untuk X.509:

  • Banyak pelanggan mungkin perlu mengandalkan vendor eksternal untuk sertifikat mereka.
  • Manajemen sertifikat bisa mahal dan menambah total biaya solusi.
  • Manajemen siklus hidup sertifikat bisa sulit jika logistik tidak dipikirkan dengan baik.

Trusted Platform Module (TPM)

TPM, juga dikenal sebagai ISO/IEC 11889, adalah standar untuk menghasilkan dan menyimpan kunci kriptografi dengan aman. TPM juga mengacu pada perangkat I/O virtual atau fisik yang berinteraksi dengan modul yang menerapkan standar. Perangkat TPM dapat ada sebagai perangkat keras diskrit, perangkat keras terintegrasi, modul berbasis firmware, atau modul berbasis perangkat lunak.

Ada dua perbedaan utama antara TPM dan kunci konten:

  • Chip TPM juga dapat menyimpan sertifikat X.509.
  • Pengesahan TPM di DPS menggunakan kunci pengesahan TPM (EK), bentuk autentikasi asimetris. Dengan autentikasi asimetris, kunci umum digunakan untuk enkripsi, dan kunci privat terpisah digunakan untuk dekripsi. Sebaliknya, kunci konten menggunakan autentikasi simetris, di mana kunci privat digunakan untuk enkripsi dan dekripsi.

Kelebihan untuk TPM:

  • TPM disertakan sebagai perangkat keras standar di banyak perangkat Windows, dengan dukungan bawaan untuk sistem operasi.
  • Pengesahan TPM lebih mudah diamankan daripada pengesahan kunci konten berbasis token tanda tangan akses bersama (SAS).
  • Anda dapat dengan mudah menyelesaikan dan memperbarui, atau membatalkan, kredensial perangkat. DPS secara otomatis membatalkan kredensial IoT Hub setiap kali perangkat TPM jatuh tempo untuk disediakan ulang.

Kekurangan untuk TPM:

  • TPM bersifat kompleks dan bisa sulit digunakan.
  • Pengembangan aplikasi dengan TPM sulit kecuali Anda memiliki TPM fisik atau emulator berkualitas.
  • Anda mungkin harus mendesain ulang papan perangkat Anda untuk menyertakan TPM dalam perangkat keras.
  • Jika Anda membatalkan EK pada TPM, akan menghancurkan identitas TPM dan membuat yang baru. Meskipun chip fisik tetap sama, chip ini memiliki identitas baru dalam solusi IoT Anda.

Kunci konten

Dengan kunci konten, kunci yang sama digunakan untuk mengenkripsi dan mendekripsi pesan. Akibatnya, kunci yang sama diketahui oleh perangkat dan layanan yang mengautentikasinya. Azure IoT mendukung koneksi kunci konten berbasis token SAS. Autentikasi kunci simetris memerlukan tanggung jawab pemilik yang signifikan untuk mengamankan kunci dan mencapai tingkat keamanan yang sama dengan autentikasi X.509. Jika Anda menggunakan kunci konten, praktik yang disarankan adalah melindungi kunci dengan menggunakan modul keamanan perangkat keras (HSM).

Kelebihan untuk kunci konten:

  • Menggunakan kunci konten adalah cara biaya paling sederhana dan terendah untuk memulai dengan autentikasi.
  • Menggunakan kunci konten menyederhanakan proses Anda karena tidak ada tambahan yang dihasilkan.

Kekurangan untuk kunci konten:

  • Kunci konten mengambil tingkat upaya yang signifikan untuk mengamankan kunci. Kunci yang sama dibagikan antara perangkat dan cloud, yang berarti kunci harus dilindungi di dua tempat. Sebaliknya, tantangan dengan sertifikat TPM dan X.509 membuktikan kepemilikan kunci umum tanpa mengungkapkan kunci privat.
  • Kunci konten memudahkan untuk mengikuti praktik keamanan yang buruk. Kecenderungan umum dengan kunci konten adalah dengan kode keras kunci yang tidak terenkripsi pada perangkat. Meskipun praktik ini nyaman, itu membuat kunci rentan. Anda dapat mengurangi beberapa risiko dengan menyimpan kunci konten dengan aman pada perangkat. Namun, jika prioritas Anda pada akhirnya adalah keamanan daripada kenyamanan, gunakan sertifikat X.509 atau TPM untuk autentikasi.

Kunci konten bersama

Ada variasi autentikasi kunci simetris yang dikenal sebagai kunci simetris bersama. Pendekatan ini melibatkan penggunaan kunci konten yang sama di semua perangkat. Rekomendasinya adalah menghindari penggunaan kunci konten bersama di perangkat Anda.

Pro untuk kunci konten bersama:

  • Mudah diimplementasikan dan murah untuk diproduksi dalam skala besar.

Cons untuk kunci konten bersama:

  • Sangat rentan terhadap serangan. Manfaat implementasi yang mudah jauh lebih besar dari risikonya.
  • Siapa pun dapat meniru perangkat Anda jika mereka mendapatkan kunci bersama.
  • Jika Anda mengandalkan kunci konten bersama yang menjadi terganggu, Anda mungkin akan kehilangan kendali atas perangkat.

Membuat pilihan yang tepat untuk perangkat Anda

Untuk memilih metode autentikasi, pastikan Anda mempertimbangkan manfaat dan biaya setiap pendekatan untuk proses manufaktur unik Anda. Untuk autentikasi perangkat, biasanya ada hubungan terbalik antara seberapa aman pendekatan yang diberikan, dan seberapa nyaman itu.

Menginstal sertifikat di perangkat IoT

Jika Anda menggunakan sertifikat X.509 untuk mengautentikasi perangkat IoT Anda, bagian ini menawarkan panduan tentang cara mengintegrasikan sertifikat ke dalam proses manufaktur Anda. Anda harus membuat beberapa keputusan. Ini termasuk keputusan tentang variabel sertifikat umum, kapan harus menghasilkan sertifikat, dan kapan menginstalnya.

Jika Anda terbiasa menggunakan kata sandi, Anda mungkin bertanya mengapa Anda tidak dapat menggunakan sertifikat yang sama di semua perangkat Anda, dengan cara yang sama seperti Anda dapat menggunakan kata sandi yang sama di semua perangkat Anda. Pertama, menggunakan kata sandi yang sama di mana-mana berbahaya. Praktik ini telah mengekspos perusahaan terhadap serangan DDoS besar, termasuk yang menjatuhkan DNS di Pantai Timur AS beberapa tahun yang lalu. Jangan pernah menggunakan kata sandi yang sama di mana-mana, bahkan dengan akun pribadi. Kedua, sertifikat bukan kata sandi, ini adalah identitas yang unik. Kata sandi seperti kode rahasia yang dapat digunakan siapa pun untuk membuka pintu di gedung yang aman. Ini adalah sesuatu yang Anda tahu, dan Anda bisa memberikan kata sandi kepada siapa pun untuk mendapatkan pintu masuk. Sertifikat seperti SIM dengan foto Anda dan detail lainnya, yang dapat Anda tunjukkan kepada penjaga untuk masuk ke gedung yang aman. Ini terkait dengan siapa Anda. Asalkan penjaga secara akurat mencocokkan orang dengan SIM, hanya Anda yang dapat menggunakan SIM (identitas) Anda untuk mendapatkan izin masuk.

Variabel yang terlibat dalam keputusan sertifikat

Pertimbangkan variabel berikut, dan bagaimana masing-masing berdampak pada keseluruhan proses manufaktur.

Dari mana akar sertifikat kepercayaan berasal

Bisa mahal dan kompleks untuk mengelola infrastruktur kunci umum (PKI). Terutama jika perusahaan Anda tidak memiliki pengalaman mengelola PKI. Pilihan Anda adalah:

  • Gunakan PKI pihak ketiga. Anda dapat membeli sertifikat penandatanganan menengah dari vendor sertifikat pihak ketiga. Atau Anda dapat menggunakan Certificate Authority privat (CA).
  • Gunakan PKI yang dikelola sendiri. Anda dapat mempertahankan sistem PKI Anda sendiri dan menghasilkan sertifikat Anda sendiri.
  • Gunakan layanan keamanan Azure Sphere. Opsi ini hanya berlaku untuk perangkat Azure Sphere.

Bila sertifikat disimpan

Ada beberapa faktor yang berdampak pada keputusan di mana sertifikat disimpan. Faktor-faktor ini termasuk jenis perangkat, margin keuntungan yang diharapkan (apakah Anda mampu membeli penyimpanan yang aman), kemampuan perangkat, dan teknologi keamanan yang ada pada perangkat yang mungkin dapat Anda gunakan. Pertimbangkan opsi berikut:

  • Dalam modul keamanan perangkat keras (HSM). Menggunakan HSM sangat disarankan. Periksa apakah papan kontrol perangkat Anda sudah memiliki HSM yang terinstal. Jika Anda tahu bahwa Anda tidak memiliki HSM, bekerja samalah dengan produsen perangkat keras untuk mengidentifikasi HSM yang memenuhi kebutuhan Anda.
  • Di tempat yang aman pada disk seperti lingkungan eksekusi tepercaya (TEE).
  • Di sistem file lokal atau penyimpanan sertifikat. Misalnya, penyimpanan sertifikat Windows.

Konektivitas di factory

Konektivitas di factory menentukan bagaimana dan kapan Anda akan mendapatkan sertifikat untuk diinstal pada perangkat. Opsi konektivitas adalah sebagai berikut:

  • Konektivitas. Memiliki konektivitas optimal, ini menyederhanakan proses menghasilkan sertifikat secara lokal.
  • Tidak ada konektivitas. Dalam hal ini, Anda menggunakan sertifikat bertanda tangan dari CA untuk menghasilkan sertifikat perangkat secara lokal dan offline.
  • Tidak ada konektivitas. Dalam hal ini, Anda dapat memperoleh sertifikat yang dihasilkan sebelumnya. Atau Anda dapat menggunakan PKI offline untuk menghasilkan sertifikat secara lokal.

Persyaratan audit

Bergantung pada jenis perangkat yang Anda hasilkan, Anda mungkin memiliki persyaratan peraturan untuk membuat jejak audit tentang bagaimana identitas perangkat diinstal pada perangkat Anda. Audit menambah biaya produksi yang signifikan. Jadi dalam kebanyakan kasus, hanya melakukannya jika perlu. Jika Anda tidak yakin apakah audit diperlukan, tanyakan kepada departemen hukum perusahaan Anda. Opsi audit adalah:

  • Bukan industri yang sensitif. Tidak diperlukan audit.
  • Industri sensitif. Sertifikat harus dipasang di ruang yang aman sesuai dengan persyaratan sertifikasi kepatuhan. Jika Anda memerlukan ruang aman untuk menginstal sertifikat, Anda mungkin sudah mengetahui bagaimana sertifikat diinstal di perangkat Anda. Dan Anda mungkin sudah memiliki sistem audit di tempat.

Panjang validitas sertifikat

Seperti SIM, sertifikat memiliki tanggal kedaluwarsa yang ditetapkan saat dibuat. Berikut adalah opsi untuk panjang masa berlaku sertifikat:

  • Perpanjangan tidak diperlukan. Pendekatan ini menggunakan periode perpanjangan yang panjang, sehingga Anda tidak perlu memperbarui sertifikat selama masa pakai perangkat. Meskipun pendekatan seperti itu nyaman, itu juga berisiko. Anda dapat mengurangi risiko dengan menggunakan penyimpanan aman seperti HSM di perangkat Anda. Namun, praktik yang direkomendasikan adalah menghindari penggunaan sertifikat berumur panjang.
  • Perpanjangan diperlukan. Anda harus memperbarui sertifikat selama masa pakai perangkat. Lamanya masa berlaku sertifikat tergantung pada konteks, dan Anda memerlukan strategi untuk perpanjangan. Strategi ini harus mencakup di mana Anda mendapatkan sertifikat, dan jenis fungsionalitas over-the-air apa yang harus digunakan perangkat Anda dalam proses perpanjangan.

Kapan harus membuat sertifikat

Kemampuan konektivitas internet di factory Anda akan berdampak pada proses Anda untuk menghasilkan sertifikat. Anda memiliki beberapa opsi kapan harus membuat sertifikat:

  • Sertifikat yang telah dimuat sebelumnya. Beberapa vendor HSM menawarkan layanan premium di mana vendor HSM menginstal sertifikat untuk pelanggan. Pertama, pelanggan memberikan akses vendor HSM ke sertifikat penandatanganan. Kemudian vendor HSM memasang sertifikat yang ditandatangani oleh sertifikat penandatanganan ke setiap HSM yang dibeli pelanggan. Yang harus dilakukan pelanggan adalah menginstal HSM pada perangkat. Meskipun layanan ini menambah biaya, ini membantu merampingkan proses manufaktur Anda. Dan itu menyelesaikan pertanyaan kapan menginstal sertifikat.
  • Sertifikat yang dihasilkan perangkat. Jika perangkat Anda menghasilkan sertifikat secara internal, maka Anda harus mengekstrak sertifikat X.509 publik dari perangkat untuk mendaftarkannya di DPS.
  • Factory yang terhubung. Jika factory Anda memiliki konektivitas, Anda dapat menghasilkan sertifikat perangkat kapan pun Anda membutuhkannya.
  • Factory offline dengan PKI Anda sendiri. Jika factory Anda tidak memiliki konektivitas, dan Anda menggunakan PKI Anda sendiri dengan dukungan offline, Anda dapat menghasilkan sertifikat ketika Anda membutuhkannya.
  • Factory offline dengan PKI pihak ketiga. Jika factory Anda tidak memiliki konektivitas, dan Anda menggunakan PKI pihak ketiga, Anda harus menghasilkan sertifikat sebelumnya. Dan perlu untuk menghasilkan sertifikat dari lokasi yang memiliki konektivitas.

Kapan menginstal sertifikat

Setelah Anda membuat sertifikat untuk perangkat IoT Anda, Anda dapat menginstalnya di perangkat.

Jika Anda menggunakan sertifikat pra-muat dengan HSM, prosesnya disederhanakan. Setelah HSM diinstal di perangkat, kode perangkat dapat mengaksesnya. Kemudian Anda akan memanggil API HSM untuk mengakses sertifikat yang disimpan di HSM. Pendekatan ini adalah yang paling nyaman untuk proses manufaktur Anda.

Jika Anda tidak menggunakan sertifikat yang telah dimuat sebelumnya, Anda harus menginstal sertifikat sebagai bagian dari proses produksi Anda. Pendekatan paling sederhana adalah menginstal sertifikat di HSM pada saat yang sama Anda mem-flash gambar firmware awal. Proses Anda harus menambahkan langkah untuk menginstal gambar di setiap perangkat. Setelah langkah ini, Anda dapat menjalankan pemeriksaan kualitas akhir dan langkah-langkah lain, sebelum Anda mengemas dan mengirim perangkat.

Ada alat perangkat lunak yang tersedia yang memungkinkan Anda menjalankan proses instalasi dan pemeriksaan kualitas akhir dalam satu langkah. Anda dapat memodifikasi alat-alat ini untuk menghasilkan sertifikat, atau untuk menarik sertifikat dari penyimpanan sertifikat yang telah dibuat. Kemudian perangkat lunak dapat menginstal sertifikat di mana Anda perlu menginstalnya. Alat perangkat lunak jenis ini memungkinkan Anda untuk menjalankan manufaktur kualitas produksi dalam skala besar.

Setelah Anda memiliki sertifikat yang terinstal di perangkat Anda, langkah selanjutnya adalah mempelajari cara mendaftarkan perangkat dengan DPS.

Mengintegrasikan TPM ke dalam proses manufaktur

Jika Anda menggunakan TPM untuk mengautentikasi perangkat IoT Anda, bagian ini menawarkan panduan. Panduan ini mencakup perangkat TPM 2.0 yang banyak digunakan yang memiliki dukungan kunci kode autentikasi pesan berbasis hash (HMAC). Spesifikasi TPM untuk chip TPM adalah standar ISO yang dikelola oleh Trusted Computing Group. Untuk informasi selengkapnya tentang TPM, lihat spesifikasi untuk TPM 2.0 dan ISO/IEC 11889.

Mengambil alih kepemilikan TPM

Langkah penting dalam memproduksi perangkat dengan chip TPM adalah mengambil kepemilikan TPM. Langkah ini diperlukan agar Anda dapat memberikan kunci kepada pemilik perangkat. Langkah pertama adalah mengekstrak kunci pengesahan (EK) dari perangkat. Langkah selanjutnya adalah benar-benar mengeklaim kepemilikan. Bagaimana Anda mencapai ini tergantung pada TPM dan sistem operasi mana yang Anda gunakan. Jika diperlukan, hubungi produsen TPM atau pengembang sistem operasi perangkat untuk menentukan cara mengeklaim kepemilikan.

Dalam proses manufaktur, Anda dapat mengekstrak EK dan mengeklaim kepemilikan pada waktu yang berbeda, yang menambah fleksibilitas. Banyak produsen memanfaatkan fleksibilitas ini dengan menambahkan modul keamanan perangkat keras (HSM) untuk meningkatkan keamanan perangkat mereka. Bagian ini memberikan panduan tentang kapan mengekstrak EK, kapan harus mengeklaim kepemilikan TPM, dan pertimbangan untuk mengintegrasikan langkah-langkah ini ke dalam garis waktu manufaktur.

Penting

Panduan berikut mengasumsikan Anda menggunakan TPM diskrit, firmware, atau terintegrasi. Di tempat-tempat di mana itu berlaku, panduan menambahkan catatan tentang menggunakan TPM non-diskrit atau perangkat lunak. Jika Anda menggunakan TPM perangkat lunak, mungkin ada langkah tambahan yang tidak disertakan oleh panduan ini. TPM perangkat lunak memiliki berbagai implementasi yang berada di luar lingkup artikel ini. Secara umum, dimungkinkan untuk mengintegrasikan TPM perangkat lunak ke garis waktu manufaktur umum berikut. Namun, meskipun perangkat lunak meniru TPM cocok untuk pembuatan prototipe dan pengujian, hal ini tidak dapat memberikan tingkat keamanan yang sama dengan diskrit, firmware, atau TPM terintegrasi. Sebagai praktik umum, hindari menggunakan TPM perangkat lunak dalam produksi.

Garis waktu manufaktur umum

Garis waktu berikut menunjukkan bagaimana TPM melewati proses produksi dan berakhir di perangkat. Setiap proses manufaktur unik, dan garis waktu ini menunjukkan pola yang paling umum. Garis waktu menawarkan panduan tentang kapan harus mengambil tindakan tertentu dengan kunci.

Langkah 1: TPM diproduksi

  • Jika Anda membeli TPM dari produsen untuk digunakan di perangkat Anda, lihat apakah mereka akan mengekstrak kunci pengesahan publik (EK_pubs) untuk Anda. Sangat membantu jika produsen menyediakan daftar perangkat EK_pubs perangkat yang dikirim.

    Catatan

    Anda dapat memberi produsen TPM menulis akses ke daftar pendaftaran Anda dengan menggunakan kebijakan akses bersama dalam layanan penyediaan Anda. Pendekatan ini memungkinkan mereka menambahkan TPM ke daftar pendaftaran untuk Anda. Tetapi itu adalah awal dalam proses manufaktur, dan membutuhkan kepercayaan pada produsen TPM. Lakukan dengan risiko Anda sendiri.

  • Jika Anda memproduksi TPM untuk dijual ke produsen perangkat, pertimbangkan untuk memberi pelanggan Anda daftar EK_pubs bersama dengan TPM fisik mereka. Memberi pelanggan EK_pubs menghemat langkah dalam proses mereka.

  • Jika Anda memproduksi TPM untuk digunakan dengan perangkat Anda sendiri, identifikasi titik mana dalam proses Anda adalah yang paling nyaman untuk mengekstrak EK_pub. Anda dapat mengekstrak EK_pub di salah satu titik yang tersisa di garis waktu.

Langkah 2: TPM diinstal ke perangkat

Pada titik ini dalam proses produksi, Anda harus tahu instans DPS mana yang akan digunakan perangkat. Akibatnya, Anda dapat menambahkan perangkat ke daftar pendaftaran untuk penyediaan otomatis. Untuk informasi selengkapnya tentang penyediaan perangkat otomatis, lihat dokumentasi DPS.

  • Jika Anda belum mengekstraksi EK_pub, sekarang saat yang tepat untuk melakukannya.
  • Tergantung pada proses pemasangan TPM, langkah ini juga merupakan waktu yang tepat untuk mengambil alih kepemilikan TPM.

Langkah 3: Perangkat memiliki firmware dan perangkat lunak yang diinstal

Pada titik ini dalam proses, instal klien DPS bersama dengan lingkup ID dan URL global untuk penyediaan.

  • Sekarang adalah kesempatan terakhir untuk mengekstrak EK_pub. Jika pihak ketiga akan menginstal perangkat lunak pada perangkat Anda, ada baiknya untuk mengekstrak EK_pub dahulu.
  • Titik ini dalam proses manufaktur sangat ideal untuk mengambil kepemilikan TPM.

    Catatan

    Jika Anda menggunakan TPM perangkat lunak, Anda dapat menginstalnya sekarang. Ekstrak EK_pub pada saat yang sama.

Langkah 4: Perangkat dikemas dan dikirim ke gudang

Perangkat kadang-kadang dapat duduk di gudang hingga setahun sebelum dikerahkan dan disediakan dengan DPS. Jika perangkat berada di gudang untuk waktu yang lama sebelum penyebaran, pelanggan yang menggunakan perangkat mungkin perlu memperbarui firmware, perangkat lunak, atau kredensial yang kedaluwarsa.

Langkah 5: Perangkat diinstal ke lokasi

Setelah perangkat tiba di lokasi akhir, ia melalui penyediaan otomatis dengan DPS.

Untuk informasi selengkapnya, lihat penyediaan dan pengesahan TPM.

Sumber

Selain praktik keamanan yang direkomendasikan dalam artikel ini, Azure IoT menyediakan sumber daya untuk membantu memilih perangkat keras yang aman dan membuat penyebaran IoT yang aman: