PKCS#11 供應商 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

PKCS#11 供應商

PKCS#11 提供者元件 (aws.greengrass.crypto.Pkcs11Provider) 可讓您透過 PKCS#11 界面設定 AWS IoT Greengrass Core 軟體以使用硬體安全模組 (HSM)。此元件可讓您安全地存放憑證和私有金鑰檔案,使其不會在軟體中公開或複製。如需詳細資訊,請參閱硬體安全整合

若要佈建將憑證和私有金鑰存放在 HSM 中的 Greengrass 核心裝置,您必須在安裝 AWS IoT Greengrass Core 軟體時將此元件指定為佈建外掛程式。如需詳細資訊,請參閱使用手動資源佈建安裝 AWS IoT Greengrass 核心軟體

AWS IoT Greengrass 提供此元件做為 JAR 檔案,您可以在安裝期間下載此檔案以指定 做為佈建外掛程式。您可以下載最新版本的元件 JAR 檔案做為下列 URL:https://https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar

版本

此元件具有下列版本:

  • 2.0.x

Type

此元件是外掛程式元件 (aws.greengrass.plugin)。Greengrass 核會在與核相同的 Java 虛擬機器 (JVM) 中執行此元件。當您在核心裝置上變更此元件的版本時,核會重新啟動。

此元件使用與 Greengrass 核相同的日誌檔案。如需詳細資訊,請參閱監控 AWS IoT Greengrass 日誌

如需詳細資訊,請參閱元件類型

作業系統

此元件只能安裝在 Linux 核心裝置上。

要求

此元件有下列需求:

  • 支援具有 RSA-2048 金鑰大小 (或更新版本) 或 ECC 金鑰的 PKCS#1 v1.5 簽章結構和 RSA 金鑰的硬體安全模組。 RSA-2048

    注意

    若要搭配 ECC 金鑰使用硬體安全模組,您必須使用 Greengrass nucleus v2.5.6 或更新版本。

    若要使用硬體安全模組和秘密管理員,您必須使用具有 RSA 金鑰的硬體安全模組。

  • AWS IoT Greengrass 核心軟體可在執行時間 (使用 libdl) 載入的 PKCS#11 提供者程式庫,以叫用 PKCS#11 函數。PKCS#11 提供者程式庫必須實作下列 PKCS#11 API 操作:

    • 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

  • 硬體模組必須可透過插槽標籤根據 PKCS#11 規格中的定義來解析。

  • 您必須將私有金鑰和憑證存放在相同插槽的 HSM 中,如果 HSM 支援物件 ID,則必須使用相同的物件標籤和物件 IDs。

  • 憑證和私有金鑰必須可由物件標籤解析。

  • 私有金鑰必須具有下列許可:

    • sign

    • decrypt

  • (選用) 若要使用秘密管理員元件,您必須使用 2.1.0 版或更新版本,且私有金鑰必須具有下列許可:

    • unwrap

    • wrap

  • (選用) 如果您使用 TPM2 程式庫並以服務方式執行 Greengrass 核心,則必須提供具有 PKCS#11 存放區位置的環境變數。下列範例是具有必要環境變數的系統化服務檔案:

    [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

相依性

當您部署元件時, AWS IoT Greengrass 也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的要求,才能成功部署元件。本節列出此元件發行版本的相依性,以及為每個相依性定義元件版本的語意版本限制。您也可以在AWS IoT Greengrass 主控台中檢視每個版本元件的相依性。在元件詳細資訊頁面上,尋找相依性清單。

2.0.9

下表列出此元件 2.0.9 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.15.0 軟式
2.0.8

下表列出此元件 2.0.8 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.14.0 軟式
2.0.7

下表列出此元件 2.0.7 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.13.0 軟式
2.0.6

下表列出此元件 2.0.6 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.12.0 軟式
2.0.5

下表列出此元件 2.0.5 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.11.0 軟式
2.0.4

下表列出此元件 2.0.4 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.10.0 軟式
2.0.3

下表列出此元件 2.0.3 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.9.0 軟式
2.0.2

下表列出此元件 2.0.2 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.8.0 軟式
2.0.1

下表列出此元件 2.0.1 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.7.0 軟式
2.0.0

下表列出此元件 2.0.0 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.5.3 <2.6.0 軟式

如需元件相依性的詳細資訊,請參閱元件配方參考

組態

此元件提供下列組態參數,您可以在部署元件時自訂這些參數。

name

PKCS#11 組態的名稱。

library

AWS IoT Greengrass 核心軟體可以使用 libdl 載入的 PKCS#11 實作程式庫的絕對檔案路徑。

slot

包含私有金鑰和裝置憑證的插槽 ID。此值與槽索引或槽標籤不同。

userPin

用來存取插槽的使用者 PIN。

範例:組態合併更新
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

本機日誌檔案

此元件使用與 Greengrass 核元件相同的日誌檔案。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
檢視此元件的日誌
  • 在核心裝置上執行下列命令,以即時檢視此元件的日誌檔案。將 /greengrass/v2C:\greengrass\v2 取代為 AWS IoT Greengrass 根資料夾的路徑。

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

變更記錄

下表說明每個版本的元件的變更。

版本

變更

2.0.9

針對 Greengrass nucleus 2.14.0 版更新版本。

2.0.8

針對 Greengrass nucleus 2.13.0 版更新版本。

2.0.7

針對 Greengrass nucleus 2.12.0 版更新版本。

2.0.6

針對 Greengrass nucleus 2.11.0 版更新版本。

2.0.5

針對 Greengrass nucleus 2.10.0 版更新版本。

2.0.4

針對 Greengrass nucleus 2.9.0 版更新版本。

2.0.3

針對 Greengrass nucleus 2.8.0 版更新版本。

2.0.2

針對 Greengrass nucleus 2.7.0 版更新版本。

2.0.1

針對 Greengrass nucleus 2.6.0 版更新版本。

2.0.0

初始版本。