PKCS #11 供應商 - AWS IoT Greengrass

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

PKCS #11 供應商

PKCS #11 提供者元件 (aws.greengrass.crypto.Pkcs11Provider) 可讓您將AWS IoT Greengrass核心軟體設定為透過 PK CS #11 介面使用硬體安全性模組 (HSM)。此元件可讓您安全地儲存憑證和私密金鑰檔案,以便在軟體中不會公開或複製這些檔案。如需詳細資訊,請參閱 硬體安全整合

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

AWS IoT Greengrass將此元件提供為 JAR 檔案,您可以下載該檔案,以便在安裝期間指定為佈建外掛程式。您可以透過下列網址下載最新版本的元件 JAR 檔案: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 核心裝置上。

要求

此元件具有下列需求:

  • 一種硬體安全性模組,支援 PKCS #1 v1.5 簽章配置,以及具有 RSA-2048 金鑰大小 (或更大) 或 ECC 金鑰的 RSA 金鑰。

    注意

    若要搭配 ECC 金鑰使用硬體安全性模組,您必須使用 Greengrass 核心 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 支援物件 ID,則必須使用相同的物件標籤和物件 ID。

  • 憑證和私密金鑰必須可透過物件標籤來解析。

  • 私密金鑰必須具有下列權限:

    • sign

    • decrypt

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

    • unwrap

    • wrap

  • (選擇性) 如果您使用 TPM2 程式庫並將 Greengrass 核心作為服務執行,則必須提供環境變數,其中包含 PKCS #11 儲存區的位置。下列範例是具有必要環境變數的 systemd 服務檔案:

    [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.7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

組態

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

name

PKCS #11 組態的名稱。

library

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

slot

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

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
若要檢視此元件的記錄
  • 在核心裝置上執行下列命令,即時檢視此元件的記錄檔。以AWS IoT Greengrass根資料夾的路徑取代/greengrass/v2C:\greengrass\v2

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

變更記錄

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

版本

變更

2.0.7

版本更新了 Greengrass 核 2.12.0 版本釋放。

2.0.6

版本更新了 Greengrass 核 2.11.0 版本釋放。

2.0.5

版本更新了 Greengrass 2.10.0 版本。

2.0.4

版本更新 Greengrass 2.9.0 版本釋放。

2.0.3

版本更新 Greengrass 2.8.0 版本的版本。

2.0.2

版本更新了 Greengrass 核 2.7.0 版本釋放。

2.0.1

版本更新 Greengrass 2.6.0 版本的版本。

2.0.0

初始版本。