Importação

Opção do menu principal: 4 - Import

Importa chaves e objetos para dentro das partiçõess de usuários do HSM. A importação é sempre feita a partir de um arquivo na estação ou servidor onda roda o programa de console remoto, ou ainda por entrada do usuário.

Através da interfaces do console podem ser importados os seguintes tipos de objetos:

  1. Chaves simétricas: chaves tipo DES e 3DES.

  2. Chaves assimétricas: chave tipo RSA.

  3. Outros objetos:

Chaves Simétricas

As chaves simétricas podem ser importadas com os seguintes métodos:

  1. Protegidas por uma chave de cifragem de chave (Key Encryption Key - KEK) DES ou 3DES. Vide o item Exportação sobre detalhes do método adotado.

  2. Protegidas por uma chave de cifragem de chave (Key Encryption Key - KEK) RSA. O método de envelopamento utilizado é o padrão PKCS#1 versão 2.1, com esquema de cifragem RSAES-OAEP. As chaves simétricas devem ser importadas para o HSM cifradas com uma chave pública, e o HSM deverá possuir a chave privada equivalente para abrir o envelope digital seguindo as regras do esquema de cifragem.

  3. Usando o método de três componentes, com KCV (Key Check Value) de cada parte e também um KCV final; este método normalmente é usado para importação de ZCMK (Zone Control Master Key) utilizada em sistemas de autorização de transferência eletrônica de fundos (por exemplo a Visa ou Mastercard), onde cada componente é entregue a um custodiante, e somente com a reunião das três partes componentes é possível reconstruir a chave dentro do HSM; o conhecimento de dois componentes do ponto de vista criptográfico não traz qualquer informação sobre a chave. Os componentes são gerados com operações XOR e partes randômicas, que são depois consumidas e descartadas no momento de reconstrução da chave. O KCV é um valor de seis dígitos hexadecimais obtido com a criptografia de um bloco de zeros com determinada chave; os primeiros seis dígitos do criptograma resultante são o KCV daquela chave, conforme padrão ANSI X9.24. O processo de geração dos componentes e cálculo do KCV está conforme o documento VISA Payment Technology Standards Manual, october 2007. Vide o item Exportação sobre detalhes do método adotado.

  4. Em texto claro (entrada direta do material da chave); este método é recomendado apenas para ambientes altamente controlados e protegidos por outras medidas de segurança, pois o material da chave estará totalmente exposto.

Chaves Assimétricas

As chaves assimétricas podem ser importadas para o HSM através dos métodos:

  1. Padrão PKCS#8; nesta opção a chave privada (RSA ou ECC/ECDSA) pode ser importada em texto claro ou protegida por envelope digital. Para detalhes sobre os padrões, consulte os documentos Public-Key Cryptography Standards (PKCS) da RSA Labs. No modo restrito as chaves RSA só podem ser importadas via o padrão PKCS#8 com uso de envelope digital, derivando uma chave AES 256 a partir de uma senha de no mínimo 01 caracter, sendo a derivação feita conforme o padrão PKCS#5 versão 2.0.

  2. Padrão PKCS#12; é importado o certificado e a chave privada correspondente contidos num arquivo PKCS#12 (normalmente arquivos com extensão pfx ou p12, protegidos por criptografia derivada de uma senha) para dentro do HSM; a chave e o certificado são importados como objetos independentes, podendo ser posteriormente removidos separadamente sem interferir um no outro. Para detalhes sobre os padrões, consulte os documentos Public-Key Cryptography Standards (PKCS) da RSA Labs

  3. Padrão PKCS#1; a chave pública e/ou privada RSA é importada em texto claro com a representação DER. No caso de importação de chave privada o formato do arquivo de entrada será uma concatenação dos formatos ASN.1 de chave pública e chave privada definidos no padrão PKCS#1 v1.5, nas seções 7.1 e 7.2, com DER enconding. Na exportação da chave pública o arquivo de entrada conterá a representação da seção 7.2.

Importação das chaves pública e privada concatenadas:

RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e }
RSAPrivateKey ::= SEQUENCE {
version Version,
modulus INTEGER, -- n
publicExponent INTEGER, -- e
privateExponent INTEGER, -- d
prime1 INTEGER, -- p
prime2 INTEGER, -- q
exponent1 INTEGER, -- d mod (p-1)
exponent2 INTEGER, -- d mod (q-1)
coefficient INTEGER -- (inverse of q) mod p }

Importação da chave pública:

RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e }

Outros Objetos

Em outros objetos podem ser importados os seguintes tipos de objetos:

  1. File: objetos opacos para o HSM, interpretado como apenas uma sequência de bytes. O HSM sempre vai tentar identificar o tipo do objeto importado, portanto caso o arquivo indicado seja por exemplo um certificado X.509, uma CRL ou uma cadeia de certificados padrão PKCS#7 válidos (arquivos em formato BASE64 ou DER) o HSM identificará o tipo e indicará nos atributos do objeto o tipo correto.

  2. Certificado: o arquivo indicado deve ser um certificado X.509, como por exemplo um certificados padrão ICP-Brasil;

  3. Cadeias de certificado: o arquivo indicado deve ser uma cadeia de certificados X.509;

Os objeto importado segue as mesmas regras de criação de objetos, consulte Criação. Nas operações de importação e exportação a indicação (local) refere-se sempre a um nome de arquivo na estação ou servidor onde roda o programa console e a indicação (hsm) refere-se a um nome de objeto dentro da partição do HSM.

Desde que o usuário autenticado tenha permissão de criar objetos em outra(s) partição(ões), a operação pode ser executada indicando o nome da partição e o nome do objeto com a regra de formação:

partição/objeto

Quando operando em modo restrito estão disponíveis para importação de chave simétrica (3DES e AES) o método com KEK RSA e para exportação de chave assimétrica (RSA ou ECC) o método PKCS#8 com derivação de chave de cifragem AES 256 por senha de 16 caracteres.

Menu Import

Dinamo - Remote Management Console v. 1.92.0.8 2007 (c) Dinamo Networks
HSM 10.0.62.44 e - Engine 1.6.0.37 (DXP) - SN TCA0000000 - ID master
Keys/Objects - Export
1 - Symmetric Keys
2 - Asymmetric Keys
3 - Others
0 - Main Menu
Option:

Importação de chave simétrica usando componentes

Dinamo - Remote Management Console v. 1.93.0.0 2007 (c) Dinamo Networks
HSM 10.0.62.44 e - Engine 1.6.0.37 (DXP) - SN TCA0000000 - ID master
Keys/Objects - Import - Symmetric Keys - Key Components
Name : ZoneKey_001
Exportable : No
Key material Part 1 (16 hexadecimal characters) :
7F5445AD5BD58F6B
Key Check Value (6 hexadecimal characters) :
4AD95E
Key material Part 1 entered ok.
Press ENTER key to continue...

Importação de chave assimétrica usando arquivo PKCS#12

Dinamo - Remote Management Console v. 1.81.0.20 2007 (c) Dinamo Networks
HSM 10.0.62.16 e - Engine 1.1.2.9 (DXP) - SN TCA0115876 - ID master
Keys/Objects - Import - PKCS#12
File path (local) : mypkcs12.pfx
Private key password : ********
Exportable (y/[n]):
Encrypted ([y]/n):
Private key name : myimpRSA
X.509 certificate name (HSM) : myimpCert
File loaded successfully.
Press ENTER key to continue...

Importação de Arquivo Opaco

Dinamo - Remote Management Console v. 1.81.0.20 2007 (c) Dinamo Networks
HSM 10.0.62.16 e - Engine 1.1.2.9 (DXP) - SN TCA0115876 - ID master
Keys/Objects - Import - File
File path (local) : myfile.bin
File name (HSM) : myfile_bin
File loaded successfully.
Press ENTER key to continue...