Penyedia PKCS #11 - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penyedia PKCS #11

Komponen penyedia PKCS #11 (aws.greengrass.crypto.Pkcs11Provider) memungkinkan Anda mengonfigurasi perangkat lunak AWS IoT Greengrass Core untuk menggunakan modul keamanan perangkat keras (HSM) melalui antarmuka PKCS #11. Komponen ini memungkinkan Anda menyimpan file sertifikat dan kunci pribadi dengan aman sehingga tidak terekspos atau digandakan dalam perangkat lunak. Untuk informasi selengkapnya, lihat Integrasi keamanan perangkat keras.

Untuk menyediakan perangkat inti Greengrass yang menyimpan sertifikat dan kunci privatnya di HSM, Anda harus menentukan komponen ini sebagai plugin penyediaan saat Anda menginstal perangkat lunak Core. AWS IoT Greengrass Untuk informasi selengkapnya, lihat Instal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya manual.

AWS IoT Greengrassmenyediakan komponen ini sebagai file JAR yang dapat Anda unduh untuk ditentukan sebagai plugin penyediaan selama instalasi. Anda dapat mengunduh versi terbaru dari file JAR komponen sebagai URL berikut: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

Versi

Komponen ini memiliki versi berikut:

  • 2.0.x

Tipe

Komponen ini adalah komponen plugin (aws.greengrass.plugin). Inti Greengrass menjalankan komponen plugin dalam Java Virtual Machine (JVM) yang sama sebagai inti. Nukleus dimulai ulang saat Anda mengubah versi komponen ini di perangkat inti.

Komponen plugin menggunakan file log yang sama seperti inti Greengrass. Untuk informasi selengkapnya, lihat Memantau AWS IoT Greengrass log.

Untuk informasi selengkapnya, lihat Jenis komponen.

Sistem operasi

Komponen ini hanya dapat diinstal pada perangkat inti Linux.

Persyaratan

Komponen ini memiliki persyaratan sebagai berikut:

  • Modul keamanan perangkat keras yang mendukung skema tanda tangan PKCS #1 v1.5 dan kunci RSA dengan ukuran kunci RSA-2048 (atau lebih besar) atau kunci ECC.

    catatan

    Untuk menggunakan modul keamanan perangkat keras dengan kunci ECC, Anda harus menggunakan Greengrass nucleus v2.5.6 atau yang lebih baru.

    Untuk menggunakan modul keamanan perangkat keras dan manajer rahasia, Anda harus menggunakan modul keamanan perangkat keras dengan kunci RSA.

  • Pustaka penyedia PKCS #11 yang dapat dimuat oleh perangkat lunak AWS IoT Greengrass Core saat runtime (menggunakan libdl) untuk menjalankan fungsi PKCS #11. Pustaka penyedia PKCS #11 harus mengimplementasikan operasi API PKCS #11 berikut:

    • C_Initialize

    • C_Finalize

    • C_GetSlotList

    • C_GetSlotInfo

    • C_GetTokenInfo

    • C_OpenSession

    • C_GetSessionInfo

    • C_CloseSession

    • C_Login

    • C_Logout

    • C_GetAttributeValue

    • C_FindObjectsInit

    • C_FindObjects

    • C_FindObjectsFinal

    • C_DecryptInit

    • C_Decrypt

    • C_DecryptUpdate

    • C_DecryptFinal

    • C_SignInit

    • C_Sign

    • C_SignUpdate

    • C_SignFinal

    • C_GetMechanismList

    • C_GetMechanismInfo

    • C_GetInfo

    • C_GetFunctionList

  • Modul perangkat keras harus dapat diatasi dengan label slot, sebagaimana ditentukan di dalam spesifikasi PKCS#11.

  • Anda harus menyimpan kunci pribadi dan sertifikat di HSM di slot yang sama, dan mereka harus menggunakan label objek dan ID objek yang sama, jika HSM mendukung ID objek.

  • Sertifikat dan kunci pribadi harus dapat diselesaikan dengan label objek.

  • Kunci pribadi harus memiliki izin berikut:

    • sign

    • decrypt

  • (Opsional) Untuk menggunakan komponen manajer rahasia, Anda harus menggunakan versi 2.1.0 atau yang lebih baru, dan kunci pribadi harus memiliki izin berikut:

    • unwrap

    • wrap

  • (Opsional) Jika Anda menggunakan pustaka TPM2 dan menjalankan inti Greengrass sebagai layanan, Anda harus menyediakan variabel lingkungan dengan lokasi penyimpanan PKCS #11. Contoh berikut adalah file layanan systemd dengan variabel lingkungan yang diperlukan:

    [Unit] Description=Greengrass Core After=network.target [Service] Type=simple PIDFile=/var/run/greengrass.pid Environment=TPM2_PKCS11_STORE=/path/to/store/directory RemainAfterExit=no Restart=on-failure RestartSec=10 ExecStart=/bin/sh /greengrass/v2/alts/current/distro/bin/loader [Install] WantedBy=multi-user.target

Dependensi

Saat Anda men-deploy komponen, AWS IoT Greengrass juga men-deploy versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass tersebut. Pada halaman detail komponen, cari daftar Dependensi.

2.0.7

Tabel berikut mencantumkan dependensi untuk versi 2.0.7 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.13.0 Lunak
2.0.6

Tabel berikut mencantumkan dependensi untuk versi 2.0.6 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.12.0 Lunak
2.0.5

Tabel berikut mencantumkan dependensi untuk versi 2.0.5 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.11.0 Lunak
2.0.4

Tabel berikut mencantumkan dependensi untuk versi 2.0.4 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.10.0 Lunak
2.0.3

Tabel berikut mencantumkan dependensi untuk versi 2.0.3 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.9.0 Lunak
2.0.2

Tabel berikut mencantumkan dependensi untuk versi 2.0.2 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.8.0 Lunak
2.0.1

Tabel berikut mencantumkan dependensi untuk versi 2.0.1 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.7.0 Lunak
2.0.0

Tabel berikut mencantumkan dependensi untuk versi 2.0.0 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.5.3 <2.6.0 Lunak

Untuk informasi selengkapnya tentang dependensi komponen, lihat referensi resep komponen.

Konfigurasi

Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.

name

Nama untuk konfigurasi PKCS #11.

library

Jalur file absolut ke pustaka implementasi PKCS #11 yang dapat dimuat oleh perangkat lunak AWS IoT Greengrass Core dengan libdl.

slot

ID slot yang berisi kunci pribadi dan sertifikat perangkat. Nilai ini berbeda dari indeks slot atau label slot.

userPin

PIN pengguna yang digunakan untuk mengakses slot.

contoh Contoh: Pembaruan gabungan konfigurasi
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

File log lokal

Komponen ini menggunakan file log yang sama dengan komponen inti Greengrass.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Untuk melihat log komponen ini
  • Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti /greengrass/v2 atau C:\greengrass\v2 dengan jalur ke folder AWS IoT Greengrass root.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.

Versi

Perubahan

2.0.7

Versi diperbarui untuk Greengrass nucleus versi 2.12.0 rilis.

2.0.6

Versi diperbarui untuk Greengrass nucleus versi 2.11.0 rilis.

2.0.5

Versi diperbarui untuk Greengrass nucleus versi 2.10.0 rilis.

2.0.4

Versi diperbarui untuk Greengrass nucleus versi 2.9.0 rilis.

2.0.3

Versi diperbarui untuk Greengrass nucleus versi 2.8.0 rilis.

2.0.2

Versi diperbarui untuk Greengrass nucleus versi 2.7.0 rilis.

2.0.1

Versi diperbarui untuk Greengrass nucleus versi 2.6.0 rilis.

2.0.0

Versi awal.