Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Aman AWS IoT Greengrass Nucleus Lite dengan Modul Platform Tepercaya (TPM)
Tutorial ini menjelaskan cara mengaktifkan dan mengkonfigurasi dukungan Trusted Platform Module (TPM) untuk AWS IoT Greengrass nucleus lite. TPM menyediakan root kepercayaan berbasis perangkat keras untuk penyimpanan kunci yang aman. Fitur keamanan ini melindungi operasi kriptografi dan kredenSIAL sensitif, meningkatkan keamanan dan integritas perangkat.
Ketika Anda menyelesaikan integrasi ini, perangkat AWS IoT Greengrass inti Anda akan menggunakan kunci TPM-protected pribadi untuk identitas dan komunikasinya dengan AWS IoT layanan.
Untuk informasi selengkapnya tentang keamanan pada AWS IoT Greengrass perangkat, lihatKeamanan di AWS IoT Greengrass.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda memerlukan hal berikut:
-
Perangkat dengan Linux-compatible perangkat keras TPM 2.0 atau NitroTPM
-
Mesin pengembang dengan Greengrass Nucleus Lite diinstal. Untuk informasi selengkapnya, lihat Menginstal perangkat lunak AWS IoT Greengrass Core (konsol).
-
Instruksi dalam tutorial ini didefinisikan untuk Ubuntu 24.04 LTS.
-
Setiap distribusi Linux yang dapat mendukung Linux TPM2 Software Stack
dapat mendukung mekanisme ini. -
Mesin pengembang yang AWS CLI diinstal dan dikonfigurasi dengan izin untuk:
-
Membuat dan mengelola AWS IoT sumber daya
-
Membuat dan mengelola peran dan kebijakan IAM
-
-
Hak istimewa root atau sudo pada perangkat.
Tutorial ini berisi petunjuk tentang cara menggunakan chip TPM2 sebagai Modul Keamanan Perangkat Keras (HSM) untuk membuat kunci pribadi dan CSR yang digunakan untuk membuat sertifikat benda. AWS IoT
Langkah 1: Siapkan instance NitroTPM
-
Siapkan instance NitroTPM. Untuk informasi selengkapnya, lihat NitroTPM.
-
Luncurkan instance akhir menggunakan AMI khusus yang dibuat pada langkah sebelumnya.
penting
Saat terhubung dengan SSH, gunakan
ubuntupengguna alih-alihroot. -
Periksa apakah perangkat TPM hadir dan berfungsi dengan menjalankan perintah berikut:
ls -la /dev/tpm*Anda harus melihat
/dev/tpm0dan/dev/tpmrm0perangkat.
Langkah 2: Instal dan konfigurasikan alat TPM
-
Instal paket yang diperlukan dengan menjalankan perintah berikut:
sudo apt update sudo apt install tpm2-openssl tpm2-tools tpm2-abrmd libtss2-tcti-tabrmd0 -
Verifikasi izin perangkat TPM dengan menjalankan perintah berikut:
ls -l /dev/tpm0 # Should be owned by tss:root with permissions 0660 ls -l /dev/tpmrm0 # Should be owned by tss:tss with permissions 0660
Langkah 3: Konfigurasikan penyedia OpenSSL TPM2
-
Edit file konfigurasi OpenSSL:
sudo vi /etc/ssl/openssl.cnf -
Tambahkan konfigurasi berikut:
[openssl_init] providers = provider_sect [provider_sect] default = default_sect tpm2 = tpm2_sect [default_sect] activate = 1 [tpm2_sect] identity = tpm2 module = /usr/local/lib64/tpm2.so activate = 1 -
Sesuaikan jalur modul seperlunya. Anda dapat menemukan jalur yang benar menggunakan:
find /usr -name "tpm2.so"
Langkah 4: Hasilkan kunci TPM persisten
-
Buat kunci utama dengan menjalankan perintah berikut:
sudo tpm2_createprimary -C o -c primary.ctx -
Buat objek kunci ECC dengan menjalankan perintah berikut:
sudo tpm2_create -C primary.ctx -g sha256 -G ecc256 -r device.priv -u device.pub -
Muat kunci dengan menjalankan perintah berikut:
sudo tpm2_load -C primary.ctx -r device.priv -u device.pub -c device.ctx -
Jadikan kunci persisten dengan menjalankan perintah berikut:
sudo tpm2_evictcontrol -C o -c device.ctx 0x81000002Ini menciptakan kunci persisten dengan pegangan (seperti
0x81000002).
Langkah 5: Menghasilkan Permintaan Penandatanganan Sertifikat (CSR)
Pada langkah ini, Anda akan menggunakan kunci TPM2-protected pribadi untuk menghasilkan Permintaan Penandatanganan Sertifikat (CSR).
-
Hasilkan CSR menggunakan kunci TPM:
openssl req -new -provider tpm2 -key "handle:0x81000002" \ -out device.csr \ -subj "/CN=TPMThing" -
Ganti
0x81000002dengan nilai pegangan yang Anda pilih danTPMThingdengan nama benda yang Anda inginkan.
Langkah 6: Buat sertifikat dari CSR
-
Di komputer pengembangan Anda, buat folder tempat Anda mengunduh sertifikat untuk AWS IoT hal itu.
mkdir greengrass-v2-certs -
Gunakan file CSR untuk membuat dan mengunduh sertifikat untuk AWS IoT hal tersebut ke komputer pengembangan Anda.
aws iot create-certificate-from-csr \ --set-as-active \ --certificate-signing-request file://path_to_device.csr\ --certificate-pem-outfile greengrass-v2-certs/device.pem.crtJika permintaan berhasil, responsnya terlihat mirip dengan contoh berikut:
{ "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----" }
Langkah 7: Siapkan Greengrass Nucleus Lite dengan dukungan TPM
Untuk mengaktifkan dukungan TPM di Greengrass Nucleus Lite, buat perubahan berikut:
-
Konfigurasikan izin pengguna dengan menambahkan
ggcorepengguna ketssgrup untuk akses TPM:sudo usermod -a -G tss ggcore -
Perbarui direktori kredenSIAL dengan menyelesaikan langkah-langkah berikut:
-
Hapus file kunci pribadi dari direktori kredenSIAL.
-
Karena kami menggunakan kunci TPM persisten, tidak ada file kunci pribadi yang perlu disalin.
-
-
Salin yang baru
device.pem.crtke direktori kredenSIAL itu.
-
-
Edit
config.yamldengan TPM-specific konfigurasi berikut:system: privateKeyPath: "handle:0x81000002" # Use your chosen handle certificateFilePath: "" # Replace with the path of device.pem.crt ... -
Mulai ulang Greengrass Nucleus Lite Anda dengan menjalankan perintah berikut:
systemctl restart greengrass-lite.target
Pemecahan masalah
Jika Anda mengalami masalah selama penyiapan atau pengoperasian TPM2-enabled AWS IoT Greengrass perangkat, coba langkah-langkah pemecahan masalah berikut:
Perangkat TPM tidak ditemukan (saat menggunakan NitroTPM)
Jika /dev/tpm0 tidak ada, lakukan langkah-langkah berikut:
-
Verifikasi bahwa Anda menggunakan jenis NitroTPM-supported instans.
-
Pastikan AMI dibuat dengan
--tpm-support v2.0. -
Verifikasi bahwa instance diluncurkan dari AMI kustom.
Kesalahan ditolak izin
Jika Anda mengalami kesalahan akses TPM, lakukan hal berikut:
-
Verifikasi bahwa pengguna ada dalam
tssgrup:groups $USER. -
Periksa izin perangkat TPM menggunakan perintah berikut:
ls -l /dev/tpm* -
Verifikasi Anda keluar dan masuk kembali setelah menambahkan ke
tssgrup.
Masalah penyedia OpenSSL
Jika penyedia TPM tidak ditemukan, lakukan hal berikut:
-
Veri
tpm2.sofikasi jalur di/etc/ssl/openssl.cnf. -
Periksa instalasi penyedia dengan menjalankan perintah berikut:
openssl list -providers -
Pastikan
tpm2-opensslpaket sudah terpasang dengan benar.
Langkah selanjutnya
Sekarang setelah Anda berhasil mengintegrasikan perangkat AWS IoT Greengrass inti Anda dengan TPM2, Anda dapat:
-
Menyebarkan komponen ke AWS IoT Greengrass perangkat aman Anda
-
Siapkan AWS IoT Greengrass perangkat tambahan dengan integrasi TPM2
Untuk informasi selengkapnya tentang keamanan pada AWS IoT Greengrass perangkat, lihatKeamanan di AWS IoT Greengrass.