Procedimentos para importação de chaves criptográficas e objetos para dentro dos namespaces 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. |
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) 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. |
2. | 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. |
3. | 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 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 FIPS 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 do namespace do HSM.
Desde que o usuário autenticado tenha permissão de criar objetos em outro(s) namespace(s), a operação pode ser executada indicando o nome do namespace e o nome do objeto com a regra de formação:
namespace/objeto
Importante: quando operando em modo FIPS 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) o método PKCS#8 com derivação de chave de cifragem AES 256 por senha de 16 caracteres.
Menu Import
Pocket - 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
Pocket - 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
Pocket - Remote Management Console v. 1.81.0.20 2007 (c) Dinamo Networks
HSM 10.0.62.16 e - Engine (UL) 1.1.2.9 - 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
Pocket - Remote Management Console v. 1.81.0.20 2007 (c) Dinamo Networks
HSM 10.0.62.16 e - Engine (UL) 1.1.2.9 - 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...
|
|