PKCSprovedor #11 - AWS IoT Greengrass

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

PKCSprovedor #11

O componente PKCS #11 provider (aws.greengrass.crypto.Pkcs11Provider) permite que você configure o software AWS IoT Greengrass Core para usar um módulo de segurança de hardware (HSM) por meio da interface PKCS #11. Esse componente permite que você armazene com segurança arquivos de certificado e chave privada para que eles não sejam expostos ou duplicados no software. Para obter mais informações, consulte Integração de segurança de hardware.

Para provisionar um dispositivo principal do Greengrass que armazena seu certificado e chave privada em umHSM, você deve especificar esse componente como um plug-in de provisionamento ao instalar o software Core. AWS IoT Greengrass Para obter mais informações, consulte Instale o software AWS IoT Greengrass principal com provisionamento manual de recursos.

AWS IoT Greengrass fornece esse componente como JAR arquivo que você pode baixar para especificar como um plug-in de provisionamento durante a instalação. Você pode baixar a versão mais recente do JAR arquivo do componente da seguinte formaURL: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

Versões

Esse componente tem as seguintes versões:

  • 2.0.x

Tipo

Este componente é um componente de plug-in (aws.greengrass.plugin). O núcleo do Greengrass executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo reinicia quando você altera a versão desse componente no dispositivo principal.

Esse componente usa o mesmo arquivo de log do núcleo do Greengrass. Para obter mais informações, consulte Monitore AWS IoT Greengrass os registros.

Para obter mais informações, consulte Tipos de componentes.

Sistema operacional

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

Requisitos

Esse componente tem os seguintes requisitos:

  • Um módulo de segurança de hardware que suporta o esquema de assinatura PKCS#1 v1.5 e RSA chaves com tamanho de chave RSA -2048 (ou maior) ou chaves. ECC

    nota

    Para usar um módulo de segurança de hardware com ECC chaves, você deve usar o Greengrass nucleus v2.5.6 ou posterior.

    Para usar um módulo de segurança de hardware e um gerenciador secreto, você deve usar um módulo de segurança de hardware com RSA chaves.

  • Uma biblioteca de provedores PKCS #11 que o software AWS IoT Greengrass Core pode carregar em tempo de execução (usando libdl) para invocar funções PKCS #11. A biblioteca do provedor PKCS #11 deve implementar as seguintes API operações PKCS #11:

    • 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

  • O módulo de hardware deve ser resolvido pelo rótulo do slot, conforme definido na especificação PKCS #11.

  • Você deve armazenar a chave privada e o HSM certificado no mesmo slot, e eles devem usar o mesmo rótulo de objeto e ID de objeto, se o objeto for HSM compatívelIDs.

  • O certificado e a chave privada devem ser resolvidos por rótulos de objetos.

  • A chave privada deve ter as seguintes permissões:

    • sign

    • decrypt

  • (Opcional) Para usar o componente gerenciador de segredos, você deve usar a versão 2.1.0 ou posterior, e a chave privada deve ter as seguintes permissões:

    • unwrap

    • wrap

  • (Opcional) Se você estiver usando a TPM2 biblioteca e executando o núcleo do Greengrass como um serviço, deverá fornecer uma variável de ambiente com a localização da loja PKCS #11. O exemplo a seguir é um arquivo de serviço systemd com a variável de ambiente necessária:

    [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

Dependências

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que você deve atender aos requisitos do componente e de todas as suas dependências para implantá-lo com êxito. Esta seção lista as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Você também pode visualizar as dependências de cada versão do componente no AWS IoT Greengrass console. Na página de detalhes do componente, procure a lista de dependências.

2.0.8

A tabela a seguir lista as dependências da versão 2.0.8 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2,5.3 <2,14,0 Flexível
2.0.7

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2,5,3 <2,13,0 Flexível
2.0.6

A tabela a seguir lista as dependências da versão 2.0.6 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2,5,3 <2,12,0 Flexível
2.0.5

A tabela a seguir lista as dependências da versão 2.0.5 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2.5.3 <2.11.0 Flexível
2.0.4

A tabela a seguir lista as dependências da versão 2.0.4 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2.5.3 <2.10.0 Flexível
2.0.3

A tabela a seguir lista as dependências da versão 2.0.3 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2,5.3 <2,9,0 Flexível
2.0.2

A tabela a seguir lista as dependências da versão 2.0.2 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2,5.3 <2,8,0 Flexível
2.0.1

A tabela a seguir lista as dependências da versão 2.0.1 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2,5,3 <2,7,0 Flexível
2.0.0

A tabela a seguir lista as dependências da versão 2.0.0 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo Greengrass >=2,5,3 <2,6,0 Flexível

Para obter mais informações sobre dependências de componentes, consulte a referência da receita do componente.

Configuração

Esse componente fornece os seguintes parâmetros de configuração que você pode personalizar ao implantar o componente.

name

Um nome para a configuração PKCS #11.

library

O caminho absoluto do arquivo para a biblioteca da implementação PKCS #11 que o software AWS IoT Greengrass Core pode carregar com libdl.

slot

O ID do slot que contém a chave privada e o certificado do dispositivo. Esse valor é diferente do índice do slot ou do rótulo do slot.

userPin

O usuário PIN a ser usado para acessar o slot.

exemplo Exemplo: atualização da mesclagem de configurações
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

Arquivo de log local

Esse componente usa o mesmo arquivo de log do componente do núcleo do Greengrass.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Para ver os registros desse componente
  • Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substituir /greengrass/v2 ou C:\greengrass\v2 com o caminho para a pasta AWS IoT Greengrass raiz.

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

Changelog

A tabela a seguir descreve as alterações em cada versão do componente.

Version (Versão)

Alterações

2.0.8

Versão atualizada para a versão 2.13.0 do Greengrass nucleus.

2.0.7

Versão atualizada para a versão 2.12.0 do Greengrass nucleus.

2.0.6

Versão atualizada para a versão 2.11.0 do Greengrass nucleus.

2.0.5

Versão atualizada para a versão 2.10.0 do Greengrass nucleus.

2.0.4

Versão atualizada para a versão 2.9.0 do Greengrass nucleus.

2.0.3

Versão atualizada para a versão 2.8.0 do Greengrass nucleus.

2.0.2

Versão atualizada para a versão 2.7.0 do Greengrass nucleus.

2.0.1

Versão atualizada para a versão 2.6.0 do Greengrass nucleus.

2.0.0

Versão inicial.