Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Komputasi awan

Memanfaatkan Keamanan Arm TrustZone dalam Seri Mikrokontroler LPC5500 NXP

Pelajari bagaimana Arm TrustZone meningkatkan keamanan mikrokontroler NXP LPC5500 dan cara mengimplementasikan aplikasi aman dan non-aman.

Seiring berkembangnya perangkat terhubung, ancaman yang canggih juga berkembang. NXP telah mengatasi hal ini dengan menyematkan primitif keamanan yang kuat dalam keluarga mikrokontroler LPC5500, termasuk generator angka acak yang kompatibel FIPS, mesin enkripsi "Prince" untuk menjalankan kode terenkripsi, dan kunci on-chip 4096-bit yang dihasilkan melalui teknologi PUF. Digabungkan dengan akselerator kriptografi on-chip "CASPER," mikrokontroler ini ideal untuk penerapan IoT di tepi jaringan yang memerlukan penyediaan kunci ujung-ke-ujung dan keamanan siber yang tangguh.

Pusat dari kemampuan ini adalah Arm TrustZone for Cortex-M. Bagian-bagian berikut memandu Anda melalui dasar-dasarnya dan cara memanfaatkannya dalam proyek Anda.

Arm TrustZone for Cortex-M

TrustZone menciptakan dua konteks eksekusi terisolasi: dunia aman yang menampung kode proprietary atau sensitif, dan dunia non-aman untuk aplikasi pengguna. Pustaka proprietary produsen dapat tinggal di ROM, terlindungi dari reverse engineering, sementara masih dapat dipanggil oleh kode aplikasi melalui antarmuka yang terkontrol.

Gambar 1 menggambarkan coexistensi ROM aman dan kode pengguna non-aman pada silikon yang sama.

Memanfaatkan Keamanan Arm TrustZone dalam Seri Mikrokontroler LPC5500 NXP
Gambar 1. ROM aman dan kode pengguna non-aman berbagi mikrokontroler yang sama tetapi terisolasi.

Transisi antara kedua dunia diatur oleh ekstensi keamanan TrustZone, memastikan bahwa aplikasi non-aman hanya dapat memanggil fungsi aman yang diekspos, tidak pernah mengakses memori aman secara langsung.

Mode Prosesor dengan TrustZone

Sementara inti Cortex-M3 dan M4 menawarkan mode thread dan handler dengan level privileged/unprivileged, Cortex-M33 menambahkan TrustZone, menghasilkan empat mode: thread non-aman, thread aman, handler non-aman, dan handler aman. Pembagian ini juga memperkenalkan timer SysTick terpisah untuk setiap domain.

Memanfaatkan Keamanan Arm TrustZone dalam Seri Mikrokontroler LPC5500 NXP
Gambar 2. TrustZone memperluas Cortex-M33 menjadi empat mode prosesor.

Partisi Memori

TrustZone menetapkan atribut keamanan ke rentang alamat: Aman (S), Non-Aman (NS), dan Non-Aman Callable (NSC). Akses ke setiap area tergantung pada status saat ini inti. LPC55S69, misalnya, memperlakukan alamat dengan bit 28 rendah sebagai non-aman dan sisanya sebagai aman, kecuali memori program yang dapat dikonfigurasi melalui Security Attribution Unit (SAU).

Memanfaatkan Keamanan Arm TrustZone dalam Seri Mikrokontroler LPC5500 NXP
Gambar 3. Akses CPU bervariasi antara mode aman dan non-aman.

Membangun Aplikasi Aman

Kode aman tidak mengekspos internalnya secara langsung. Sebaliknya, ia menerbitkan veneer table—lapisan tipis dari fungsi non-aman callable yang meneruskan panggilan ke dunia aman. Veneer table tinggal di memori NSC, sementara implementasi asli tinggal di memori aman.

Proyek aman biasanya dikompilasi menjadi perpustakaan objek dan file header yang mendeklarasikan fungsi veneer. Aplikasi non-aman hanya menyertakan header; pada waktu runtime veneer table memediasi panggilan ke layanan aman.

Transisi Antara Dunia

Dua instruksi khusus mengelola pergantian status:

Urutan panggilan non-aman terlihat seperti ini:

 // Kode non-aman SG(); // Masuk ke dunia aman SecureFunc(); // Panggil layanan aman melalui veneer BXNS(); // Kembali ke non-aman 

Akses ilegal memicu Secure Fault exception, memelihara integritas sistem.

Contoh Secure Hello World

LPCXpresso55S69 SDK menyertakan demo TrustZone yang membagi build menjadi proyek aman dan non-aman. Proyek aman dimulai dengan panggilan inisialisasi awal:

__attribute__((cmse_nonsecure_entry)) void BOARD_InitTrustZone(void); 

Fungsi ini mengonfigurasi SAU, IDAU, dan partisi memori. Fungsi main non-aman tetap ringkas karena semua penyiapan ditangani di domain aman:

int main(void) { // Kode non-aman minimal return 0; } 

Saat sisi non-aman membutuhkan layanan aman, ia memanggil fungsi veneer, misalnya PRINTF_NSE():

void PRINTF_NSE(const char *format, ...) __attribute__((cmse_nonsecure_entry)); 

Implementasi aman yang sesuai tinggal di proyek aman dan diekspor ke veneer table.

Alat Partisi Memori

Dalam MCUXpresso, perspektif TEE menawahkan editor visual untuk konfigurasi SAU dan IDAU:

Memanfaatkan Keamanan Arm TrustZone dalam Seri Mikrokontroler LPC5500 NXP
Gambar 5. Alat MCUXpresso untuk melihat dan mengedit atribut keamanan peta memori.

Gunakan tabel di sebelah kiri untuk menetapkan tingkat keamanan untuk setiap wilayah, dan peta di sebelah kanan akan mencerminkan partisi yang dihasilkan.

Mengapa TrustZone Penting untuk LPC5500

TrustZone memberikan LPC5500 pemisahan tugas yang jelas: dunia aman melindungi kode proprietary dan kunci kriptografi, sementara dunia non-aman menampung aplikasi pengguna. Hardware menjamin bahwa akses memori ilegal diblokir, dan infrastruktur perangkat lunak (veneer tables, instruksi SG/BXNS, dan alat TEE) menyederhanakan pengembangan aplikasi aman.

Untuk wawasan lebih dalam, tonton webinar NXP TrustZone: Calling the Secure World atau jelajahi dokumentasi resmi.

Industry Articles adalah bentuk konten yang memungkinkan mitra industri untuk berbagi berita, pesan, dan teknologi yang berguna dengan pembaca All About Circuits dengan cara yang konten editorial tidak cocok untuk. Semua Industry Articles tunduk pada pedoman editorial yang ketat dengan niat untuk memberikan pembaca berita yang berguna, keahlian teknis, atau cerita. Pandangan dan opini yang diekspresikan dalam Industry Articles adalah milik mitra dan tidak harusnya milik All About Circuits atau penulisnya.

Komputasi awan

  1. Revolusi Cloud: Bagaimana Komputasi Cloud Mengubah IT, Keamanan, dan Karir
  2. Mengapa Keamanan Cloud adalah Sumbu Pertahanan Siber Modern
  3. Jalur untuk Menjadi Cloud Security Engineer: Keterampilan, Tanggung Jawab, dan Sertifikasi
  4. Mengapa Keamanan Data Cloud Semakin Dapat Diprogram
  5. Mengamankan Teknologi Cloud: Praktik Terbaik untuk Perlindungan Data dan Mitigasi Risiko
  6. Menguasai Keamanan Cloud: Strategi Teruji untuk Mengurangi Risiko dan Melindungi Organisasi
  7. Cara Hacker Menargetkan Lingkungan Cloud – Memperkuat Keamanan AWS Anda
  8. Kuasai Sertifikasi Google Cloud Engineer: Strategi Belajar Teruji & Tips Insider
  9. Menerapkan DevOps di Cloud: Blueprint Teruji untuk Transformasi Digital
  10. Bermigrasi ERP ke Cloud: Peta Jalan Teruji untuk Sukses