Estou usando o AWS CloudHSM baseado em Cavium e estou tentando descobrir como os HSMs são apresentados aos aplicativos por meio da biblioteca PKCS #11.
Pela minha experiência, parece que a biblioteca oferece apenas um slot e token para o aplicativo, independentemente do número de HSMs disponíveis. No entanto, eu esperava que alguém pudesse confirmar isso (e, assim, descartar uma configuração incorreta da minha parte). Estou assumindo que este é um slot com balanceamento de carga que compartilhará o trabalho entre os HSMs.
Para o experimento, comissionei dois HSMs em um cluster e configurei minha instância do EC2 usando estes comandos:
sudo /opt/cloudhsm/bin/configure -a <IP address of HSM 1>
sudo start cloudhsm-client
sudo /opt/cloudhsm/bin/configure -m // which I think informs it of the second HSM
Se eu executar o getHSMInfo
comando, vejo dois HSMs. No entanto, quando inspeciono a configuração do slot PKCS #11, há apenas um slot (e seu serial num
campo corresponde ao primeiro HSM).
Alguém pode confirmar como isso deve funcionar?
(NB: levantei um problema nos documentos solicitando mais clareza aqui ).
Está correto. Um cluster inteiro aparecerá como um único slot e token único.
Em termos de balanceamento de carga:
Quaisquer chaves de token criadas serão replicadas em todos os HSMs no cluster; quaisquer chaves de sessão existirão apenas em um único HSM.
Quaisquer operações em chaves de token terão balanceamento de carga nos HSMs no cluster, mas as operações de chave de sessão não serão devido às chaves de sessão existentes apenas em um único dispositivo.