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:
Chaves simétricas: chaves tipo DES e 3DES.
Chaves assimétricas: chave tipo RSA.
Outros objetos:
As chaves simétricas podem ser importadas com os seguintes métodos:
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.
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.
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.
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.
As chaves assimétricas podem ser importadas para o HSM através dos métodos:
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.
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
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, -- npublicExponent INTEGER -- e }RSAPrivateKey ::= SEQUENCE {version Version,modulus INTEGER, -- npublicExponent INTEGER, -- eprivateExponent INTEGER, -- dprime1 INTEGER, -- pprime2 INTEGER, -- qexponent1 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, -- npublicExponent INTEGER -- e }
Em outros objetos podem ser importados os seguintes tipos de objetos:
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.
Certificado: o arquivo indicado deve ser um certificado X.509, como por exemplo um certificados padrão ICP-Brasil;
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.
Dinamo - Remote Management Console v. 1.92.0.8 2007 (c) Dinamo NetworksHSM 10.0.62.44 e - Engine 1.6.0.37 (DXP) - SN TCA0000000 - ID masterKeys/Objects - Export1 - Symmetric Keys2 - Asymmetric Keys3 - Others0 - Main MenuOption:
Importação de chave simétrica usando componentes
Dinamo - Remote Management Console v. 1.93.0.0 2007 (c) Dinamo NetworksHSM 10.0.62.44 e - Engine 1.6.0.37 (DXP) - SN TCA0000000 - ID masterKeys/Objects - Import - Symmetric Keys - Key ComponentsName : ZoneKey_001Exportable : NoKey material Part 1 (16 hexadecimal characters) :7F5445AD5BD58F6BKey Check Value (6 hexadecimal characters) :4AD95EKey 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 NetworksHSM 10.0.62.16 e - Engine 1.1.2.9 (DXP) - SN TCA0115876 - ID masterKeys/Objects - Import - PKCS#12File path (local) : mypkcs12.pfxPrivate key password : ********Exportable (y/[n]):Encrypted ([y]/n):Private key name : myimpRSAX.509 certificate name (HSM) : myimpCertFile loaded successfully.Press ENTER key to continue...
Importação de Arquivo Opaco
Dinamo - Remote Management Console v. 1.81.0.20 2007 (c) Dinamo NetworksHSM 10.0.62.16 e - Engine 1.1.2.9 (DXP) - SN TCA0115876 - ID masterKeys/Objects - Import - FileFile path (local) : myfile.binFile name (HSM) : myfile_binFile loaded successfully.Press ENTER key to continue...