AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Integrasi keamanan perangkat keras
Fitur ini tersedia untuk AWS IoT Greengrass Core v1.7 dan yang lebih baru.
AWS IoT Greengrass mendukung penggunaan modul keamanan perangkat keras (HSM) melalui antarmuka PKCS #11 untuk penyimpanan aman dan pembongkaran kunci pribadi. Ini mencegah kunci dari yang terekspos atau terduplikasi dalam perangkat lunak. Kunci pribadi dapat disimpan dengan aman di modul perangkat keras, sepertiHSMs, Trusted Platform Modules (TPM), atau elemen kriptografi lainnya.
Cari perangkat yang memenuhi syarat untuk fitur ini dalam AWS Partner Katalog Perangkat
Diagram berikut menunjukkan arsitektur keamanan perangkat keras untuk AWS IoT Greengrass inti.
![AWS IoT Greengrass Core architecture with hardware security and message routing to AWS IoT Core and local devices.](images/hardware-security-arch.png)
Pada instalasi standar, AWS IoT Greengrass menggunakan dua kunci pribadi. Salah satu kunci digunakan oleh komponen AWS IoT klien (klien IoT) selama jabat tangan Transport Layer Security (TLS) ketika inti Greengrass terhubung ke. AWS IoT Core(Kunci ini juga disebut sebagai kunci privat core.) Kunci lainnya digunakan oleh MQTT server lokal, yang memungkinkan perangkat Greengrass berkomunikasi dengan inti Greengrass. Jika Anda ingin menggunakan keamanan perangkat keras untuk kedua komponen, Anda dapat menggunakan kunci privat bersama atau kunci privat terpisah. Untuk informasi selengkapnya, lihat Praktik penyediaan untuk keamanan perangkat keras AWS IoT Greengrass.
catatan
Pada penginstalan standar, secrets manager lokal juga menggunakan kunci klien IoT untuk proses enkripsi, tetapi Anda dapat menggunakan kunci privat Anda sendiri. Itu harus menjadi RSA kunci dengan panjang minimum 2048 bit. Untuk informasi selengkapnya, lihat Tentukan kunci privat untuk enkripsi rahasia.
Persyaratan
Sebelum Anda dapat mengonfigurasi keamanan perangkat keras untuk core Greengrass, Anda harus memiliki hal berikut:
-
Modul keamanan perangkat keras (HSM) yang mendukung konfigurasi kunci pribadi target Anda untuk klien IoT, MQTT server lokal, dan komponen manajer rahasia lokal. Konfigurasi dapat mencakup satu, dua, atau tiga kunci privat berbasis perangkat keras, tergantung pada apakah Anda mengonfigurasi komponen untuk berbagi kunci. Untuk informasi lebih lanjut tentang mendukung kunci privat, lihat AWS IoT Greengrass prinsip keamanan inti.
Untuk RSA kunci: Ukuran kunci RSA -2048 (atau lebih besar) dan skema tanda tangan PKCS#1 v1.5.
Untuk tombol EC: Kurva NIST P-256 atau NIST P-384.
catatan
Cari perangkat yang memenuhi syarat untuk fitur ini dalam AWS Partner Katalog Perangkat
. -
Modul perangkat keras harus dapat diselesaikan dengan label slot, seperti yang didefinisikan dalam spesifikasi PKCS #11.
-
Kunci pribadi harus dibuat dan dimuat HSM dengan menggunakan alat penyediaan yang disediakan vendor.
-
Kunci privat harus dapat diatasi dengan label objek.
-
Sertifikat perangkat core. Ini adalah sertifikat klien IoT yang sesuai dengan kunci privat.
-
Jika Anda menggunakan agen pembaruan OTA Greengrass, pustaka pembungkus SSLOpen PKCS libp11
#11 harus diinstal. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan.
Sebagai tambahan, pastikan bahwa kondisi berikut terpenuhi:
-
Sertifikat klien IoT yang terkait dengan kunci pribadi terdaftar AWS IoT dan diaktifkan. Anda dapat memverifikasi ini di AWS IoT konsol di bawah Kelola, perluas Semua perangkat, pilih Hal dan pilih tab Sertifikat untuk hal inti.
-
Perangkat lunak AWS IoT Greengrass Core v1.7 atau yang lebih baru diinstal pada perangkat inti, seperti yang dijelaskan dalam Modul 2 dari tutorial Memulai. Versi 1.9 atau yang lebih baru diperlukan untuk menggunakan kunci EC untuk MQTT server.
-
Sertifikat yang melekat pada core Greengrass. Anda dapat memverifikasi ini dari halaman Kelola untuk hal inti di AWS IoT konsol.
catatan
Saat ini, AWS IoT Greengrass tidak mendukung pemuatan sertifikat CA atau sertifikat klien IoT langsung dari file. HSM Sertifikat harus dimuat sebagai file teks biasa pada sistem file di lokasi yang dapat dibaca oleh Greengrass.
Konfigurasi keamanan perangkat keras untuk AWS IoT Greengrass inti
Keamanan perangkat keras dikonfigurasi dalam file konfigurasi Greengrass. Ini adalah file config.json yang terletak di dalam direktori /
ini.greengrass-root
/config
catatan
Untuk berjalan melalui proses pengaturan HSM konfigurasi menggunakan implementasi perangkat lunak murni, lihatModul 7: Mensimulasikan integrasi keamanan perangkat keras.
penting
Konfigurasi simulasi dalam contoh tidak menyediakan manfaat keamanan apa pun. Ini dimaksudkan untuk memungkinkan Anda mempelajari tentang spesifikasi PKCS #11 dan melakukan pengujian awal perangkat lunak Anda jika Anda berencana untuk menggunakan perangkat keras berbasis HSM di masa depan.
Untuk mengonfigurasi keamanan perangkat keras AWS IoT Greengrass, Anda mengedit crypto
objek diconfig.json
.
Saat menggunakan keamanan perangkat keras, crypto
objek digunakan untuk menentukan jalur ke sertifikat, kunci pribadi, dan aset untuk pustaka penyedia PKCS #11 pada inti, seperti yang ditunjukkan pada contoh berikut.
"crypto": { "PKCS11" : { "OpenSSLEngine" : "/
path-to-p11-openssl-engine
", "P11Provider" : "/path-to-pkcs11-provider-so
", "slotLabel" : "crypto-token-name
", "slotUserPin" : "crypto-token-user-pin
" }, "principals" : { "IoTCertificate" : { "privateKeyPath" : "pkcs11:object=core-private-key-label
;type=private", "certificatePath" : "file:///path-to-core-device-certificate
" }, "MQTTServerCertificate" : { "privateKeyPath" : "pkcs11:object=server-private-key-label
;type=private" }, "SecretsManager" : { "privateKeyPath": "pkcs11:object=core-private-key-label
;type=private" } }, "caPath" : "file:///path-to-root-ca
"
Objek crypto
berisi properti berikut:
Bidang | Deskripsi | Catatan |
---|---|---|
caPath |
Jalur absolut ke AWS IoT root CA. |
Harus berupa file URI formulir: catatanPastikan bahwa titik akhir Anda sesuai dengan jenis sertifikat Anda. |
PKCS11 |
||
OpenSSLEngine |
Tidak wajib. Jalur absolut ke |
Harus berupa jalur ke file pada sistem file. Properti ini diperlukan jika Anda menggunakan agen pembaruan OTA Greengrass dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan. |
P11Provider |
Jalur absolut ke library libdl-loadable implementasi PKCS #11. |
Harus berupa jalur ke file pada sistem file. |
slotLabel |
Slot label yang digunakan untuk mengidentifikasi modul perangkat keras. |
Harus sesuai dengan spesifikasi label PKCS #11. |
slotUserPin |
Pengguna PIN yang digunakan untuk mengautentikasi inti Greengrass ke modul. |
Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi. |
principals |
||
IoTCertificate |
Sertifikat dan kunci pribadi yang digunakan inti untuk membuat permintaan AWS IoT. | |
IoTCertificate .privateKeyPath
|
Jalur ke kunci privat core. |
Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 |
IoTCertificate .certificatePath |
Jalur absolut untuk sertifikat perangkat core. |
Harus berupa file URI formulir: |
MQTTServerCertificate |
Tidak wajib. Kunci pribadi yang digunakan inti dalam kombinasi dengan sertifikat untuk bertindak sebagai MQTT server atau gateway. |
|
MQTTServerCertificate .privateKeyPath |
Jalur ke kunci pribadi MQTT server lokal. |
Gunakan nilai ini untuk menentukan kunci pribadi Anda sendiri untuk MQTT server lokal. Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 Jika properti ini dihilangkan, AWS IoT Greengrass putar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci. |
SecretsManager |
Kunci pribadi yang mengamankan kunci data yang digunakan untuk enkripsi. Untuk informasi selengkapnya, lihat Men-deploy rahasia ke AWS IoT Greengrass core. | |
SecretsManager .privateKeyPath |
Jalur ke kunci privat secrets manager lokal. |
Hanya RSA kunci yang didukung. Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 |
Bidang | Deskripsi | Catatan |
---|---|---|
caPath |
Jalur absolut ke AWS IoT root CA. |
Harus berupa file URI formulir: catatanPastikan bahwa titik akhir Anda sesuai dengan jenis sertifikat Anda. |
PKCS11 |
||
OpenSSLEngine |
Tidak wajib. Jalur absolut ke |
Harus berupa jalur ke file pada sistem file. Properti ini diperlukan jika Anda menggunakan agen pembaruan OTA Greengrass dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan. |
P11Provider |
Jalur absolut ke library libdl-loadable implementasi PKCS #11. |
Harus berupa jalur ke file pada sistem file. |
slotLabel |
Slot label yang digunakan untuk mengidentifikasi modul perangkat keras. |
Harus sesuai dengan spesifikasi label PKCS #11. |
slotUserPin |
Pengguna PIN yang digunakan untuk mengautentikasi inti Greengrass ke modul. |
Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi. |
principals |
||
IoTCertificate |
Sertifikat dan kunci pribadi yang digunakan inti untuk membuat permintaan AWS IoT. | |
IoTCertificate .privateKeyPath
|
Jalur ke kunci privat core. |
Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 |
IoTCertificate .certificatePath |
Jalur absolut untuk sertifikat perangkat core. |
Harus berupa file URI formulir: |
MQTTServerCertificate |
Tidak wajib. Kunci pribadi yang digunakan inti dalam kombinasi dengan sertifikat untuk bertindak sebagai MQTT server atau gateway. |
|
MQTTServerCertificate .privateKeyPath |
Jalur ke kunci pribadi MQTT server lokal. |
Gunakan nilai ini untuk menentukan kunci pribadi Anda sendiri untuk MQTT server lokal. Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 Jika properti ini dihilangkan, AWS IoT Greengrass putar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci. |
SecretsManager |
Kunci pribadi yang mengamankan kunci data yang digunakan untuk enkripsi. Untuk informasi selengkapnya, lihat Men-deploy rahasia ke AWS IoT Greengrass core. | |
SecretsManager .privateKeyPath |
Jalur ke kunci privat secrets manager lokal. |
Hanya RSA kunci yang didukung. Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 |
Bidang | Deskripsi | Catatan |
---|---|---|
caPath |
Jalur absolut ke AWS IoT root CA. |
Harus berupa file URI formulir: catatanPastikan bahwa titik akhir Anda sesuai dengan jenis sertifikat Anda. |
PKCS11 |
||
OpenSSLEngine |
Tidak wajib. Jalur absolut ke |
Harus berupa jalur ke file pada sistem file. Properti ini diperlukan jika Anda menggunakan agen pembaruan OTA Greengrass dengan keamanan perangkat keras. Untuk informasi selengkapnya, lihat Konfigurasikan dukungan untuk over-the-air pembaruan. |
P11Provider |
Jalur absolut ke library libdl-loadable implementasi PKCS #11. |
Harus berupa jalur ke file pada sistem file. |
slotLabel |
Slot label yang digunakan untuk mengidentifikasi modul perangkat keras. |
Harus sesuai dengan spesifikasi label PKCS #11. |
slotUserPin |
Pengguna PIN yang digunakan untuk mengautentikasi inti Greengrass ke modul. |
Harus memiliki izin yang memadai untuk melakukan C_Sign dengan kunci privat yang dikonfigurasi. |
principals |
||
IoTCertificate |
Sertifikat dan kunci pribadi yang digunakan inti untuk membuat permintaan AWS IoT. | |
IoTCertificate .privateKeyPath
|
Jalur ke kunci privat core. |
Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 |
IoTCertificate .certificatePath |
Jalur absolut untuk sertifikat perangkat core. |
Harus berupa file URI formulir: |
MQTTServerCertificate |
Tidak wajib. Kunci pribadi yang digunakan inti dalam kombinasi dengan sertifikat untuk bertindak sebagai MQTT server atau gateway. |
|
MQTTServerCertificate .privateKeyPath |
Jalur ke kunci pribadi MQTT server lokal. |
Gunakan nilai ini untuk menentukan kunci pribadi Anda sendiri untuk MQTT server lokal. Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 Jika properti ini dihilangkan, AWS IoT Greengrass putar kunci berdasarkan pengaturan rotasi Anda. Jika ditentukan, pelanggan bertanggung jawab untuk memutar kunci. |
SecretsManager |
Kunci pribadi yang mengamankan kunci data yang digunakan untuk enkripsi. Untuk informasi selengkapnya, lihat Men-deploy rahasia ke AWS IoT Greengrass core. | |
SecretsManager .privateKeyPath |
Jalur ke kunci privat secrets manager lokal. |
Hanya RSA kunci yang didukung. Untuk penyimpanan sistem file, harus URI berupa file formulir: Untuk HSM penyimpanan, harus berupa jalur RFC7512 PKCS #11 |
Praktik penyediaan untuk keamanan perangkat keras AWS IoT Greengrass
Berikut ini adalah praktik penyediaan terkait keamanan dan performa.
- Keamanan
-
-
Hasilkan kunci pribadi langsung pada HSM dengan menggunakan generator nomor acak perangkat keras internal.
catatan
Jika Anda mengonfigurasi kunci pribadi untuk digunakan dengan fitur ini (dengan mengikuti instruksi yang diberikan oleh vendor perangkat keras), ketahuilah bahwa AWS IoT Greengrass saat ini hanya mendukung mekanisme padding PKCS1 v1.5 untuk enkripsi dan dekripsi rahasia lokal. AWS IoT Greengrass tidak mendukung Padding Enkripsi Asimetris Optimal ()OAEP.
-
Konfigurasi kunci privat untuk melarang ekspor.
-
Gunakan alat penyediaan yang disediakan oleh vendor perangkat keras untuk membuat permintaan penandatanganan sertifikat (CSR) menggunakan kunci pribadi yang dilindungi perangkat keras, lalu gunakan AWS IoT konsol untuk membuat sertifikat klien.
catatan
Praktek memutar kunci tidak berlaku ketika kunci pribadi dihasilkan pada fileHSM.
-
- Kinerja
-
Diagram berikut menunjukkan komponen klien IoT dan MQTT server lokal pada intinya. AWS IoT Greengrass Jika Anda ingin menggunakan HSM konfigurasi untuk kedua komponen, Anda dapat menggunakan kunci pribadi yang sama atau kunci pribadi terpisah. Jika Anda menggunakan kunci terpisah, kunci tersebut harus disimpan di dalam slot yang sama.
catatan
AWS IoT Greengrass tidak memaksakan batasan pada jumlah kunci yang Anda simpan diHSM, sehingga Anda dapat menyimpan kunci pribadi untuk klien IoTMQTT, server, dan komponen manajer rahasia. Namun, beberapa HSM vendor mungkin memberlakukan batasan pada jumlah kunci yang dapat Anda simpan di slot.
Secara umum, kunci klien IoT tidak sering digunakan karena perangkat lunak AWS IoT Greengrass Core mempertahankan koneksi jangka panjang ke cloud. Namun, kunci MQTT server digunakan setiap kali perangkat Greengrass terhubung ke inti. Interaksi ini secara langsung memengaruhi performa.
Ketika kunci MQTT server disimpan padaHSM, tingkat di mana perangkat dapat terhubung tergantung pada jumlah operasi RSA tanda tangan per detik yang HSM dapat dilakukan. Misalnya, jika HSM dibutuhkan 300 milidetik untuk melakukan tanda tangan RSASSA - PKCS1 -v1.5 pada kunci pribadi RSA -2048, maka hanya tiga perangkat yang dapat terhubung ke inti Greengrass per detik. Setelah koneksi dibuat, tidak lagi digunakan dan kuota standar untuk AWS IoT Greengrass berlaku. HSM
Untuk mengurangi kemacetan kinerja, Anda dapat menyimpan kunci pribadi untuk MQTT server pada sistem file, bukan di file. HSM Dengan konfigurasi ini, MQTT server berperilaku seolah-olah keamanan perangkat keras tidak diaktifkan.
AWS IoT Greengrass mendukung beberapa konfigurasi penyimpanan kunci untuk klien IoT dan komponen MQTT server, sehingga Anda dapat mengoptimalkan persyaratan keamanan dan kinerja Anda. Tabel berikut mencakup konfigurasi contoh.
Konfigurasi Kunci IoT MQTTkunci Kinerja HSMKunci Bersama HSM: Kunci A HSM: Kunci A Dibatasi oleh HSM atau CPU HSMTombol terpisah HSM: Kunci A HSM: Kunci B Dibatasi oleh HSM atau CPU HSMuntuk IoT saja HSM: Kunci A Sistem File: Kunci B Dibatasi oleh CPU Warisan Sistem File: Kunci A Sistem File: Kunci B Dibatasi oleh CPU Untuk mengonfigurasi inti Greengrass untuk menggunakan kunci berbasis sistem file untuk MQTT server, hilangkan
principals.MQTTServerCertificate
bagianconfig.json
dari (atau tentukan jalur berbasis file ke kunci jika Anda tidak menggunakan kunci default yang dihasilkan oleh). AWS IoT Greengrass Objekcrypto
yang dihasilkan terlihat seperti ini:"crypto": { "PKCS11": { "OpenSSLEngine": "...", "P11Provider": "...", "slotLabel": "...", "slotUserPin": "..." }, "principals": { "IoTCertificate": { "privateKeyPath": "...", "certificatePath": "..." }, "SecretsManager": { "privateKeyPath": "..." } }, "caPath" : "..." }
Chiper suites yang didukung untuk integrasi keamanan perangkat keras
AWS IoT Greengrass mendukung satu set cipher suite ketika inti dikonfigurasi untuk keamanan perangkat keras. Ini adalah bagian dari cipher suites yang didukung ketika core dikonfigurasi untuk menggunakan keamanan berbasis file. Untuk informasi selengkapnya, lihat TLS cipher suite mendukung.
catatan
Saat menghubungkan ke inti Greengrass dari perangkat Greengrass melalui jaringan lokal, pastikan untuk menggunakan salah satu rangkaian sandi yang didukung untuk membuat koneksi. TLS
Konfigurasikan dukungan untuk over-the-air pembaruan
Untuk mengaktifkan over-the-air (OTA) pembaruan perangkat lunak AWS IoT Greengrass Core saat menggunakan keamanan perangkat keras, Anda harus menginstal pustaka pembungkus OpenSC libp11 PKCS #11 dan
Hentikan daemon Greengrass.
cd /
greengrass-root
/ggc/core/ sudo ./greengrassd stopcatatan
greengrass-root
mewakili jalur di mana perangkat lunak AWS IoT Greengrass Core diinstal pada perangkat Anda. Biasanya, adalah direktori/greengrass
ini.Pasang SSL mesin Terbuka. Buka SSL 1.0 atau 1.1 didukung.
sudo apt-get install libengine-pkcs11-openssl
Temukan jalur ke Open SSL engine (
libpkcs11.so
) di sistem Anda:Dapatkan daftar paket yang diinstal untuk perpustakaan.
sudo dpkg -L libengine-pkcs11-openssl
File
libpkcs11.so
terletak diengines
direktori.Salin jalur lengkap ke file (sebagai contoh,
/usr/lib/ssl/engines/libpkcs11.so
).
Buka file konfigurasi Greengrass. Ini adalah file config.json dalam direktori
/
ini.greengrass-root
/config-
Untuk properti
OpenSSLEngine
ini, masukkan path kelibpkcs11.so
file.{ "crypto": { "caPath" : "file:///
path-to-root-ca
", "PKCS11" : { "OpenSSLEngine" : "/path-to-p11-openssl-engine
", "P11Provider" : "/path-to-pkcs11-provider-so
", "slotLabel" : "crypto-token-name
", "slotUserPin" : "crypto-token-user-pin
" }, ... } ... }catatan
Jika properti
OpenSSLEngine
tidak ada di dalam objekPKCS11
ini, maka tambahkan. Mulai daemon Greengrass.
cd /
greengrass-root
/ggc/core/ sudo ./greengrassd start
Kompatibilitas mundur dengan versi sebelumnya dari perangkat lunak AWS IoT Greengrass inti
Perangkat lunak AWS IoT Greengrass Core dengan dukungan keamanan perangkat keras sepenuhnya kompatibel dengan config.json
file yang dihasilkan untuk v1.6 dan sebelumnya. Jika crypto
objek tidak hadir dalam file config.json
konfigurasi, maka AWS IoT Greengrass gunakan berbasis filecoreThing.certPath
,coreThing.keyPath
, dan coreThing.caPath
properti. Kompatibilitas mundur ini berlaku untuk pembaruan OTA Greengrass, yang tidak menimpa konfigurasi berbasis file yang ditentukan. config.json
Perangkat keras tanpa dukungan PKCS #11
Perpustakaan PKCS #11 biasanya disediakan oleh vendor perangkat keras atau open source. Misalnya, dengan perangkat keras yang sesuai standar (seperti TPM1 .2), dimungkinkan untuk menggunakan perangkat lunak open source yang ada. Namun, jika perangkat keras Anda tidak memiliki implementasi pustaka PKCS #11 yang sesuai, atau jika Anda ingin menulis penyedia PKCS #11 kustom, Anda harus menghubungi perwakilan Dukungan AWS Enterprise Anda dengan pertanyaan terkait integrasi.
Lihat juga
-
PKCS#11 Panduan Penggunaan Antarmuka Token Kriptografi Versi 2.40. Diedit oleh John Leiseboer dan Robert Griffin. 16 November 2014. OASISCatatan Komite 02. http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/cn02/pkcs11-ug-v2.40-cn02.html
. Versi terbaru: http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html .