• Nenhum resultado encontrado

A utilização de criptografia em larga escala, em cenários de alta segurança, tem de ser suportada por dispositivos que assegurem uma alta disponibilidade e medidas de proteção adequadas face a ataques e ameaças que possam surgir.

Os Hardware Security Modules(HSMs) são dispositivos seguros dedicados ao processamento cripto- gráfico, sendo capazes de executar operações criptográficas com elevado desempenho e de proteger a confidencialidade e a integridade de material sensível. OsHSMs estão na base daPKI, visto que as chaves

privadas dasACs são geradas e armazenadas nestes dispositivos, que as protegem do uso não autorizado

ou divulgação, mantendo assim aPKIsegura. Podem também ser integrados em sistemas em que seja

necessário assegurar a execução de operações criptográficas computacionalmente exigentes, em tempo útil: no setor bancário, são utilizados para proteger a integridade de um grande número de transações; na transmissão de dados em massa, por satélite, são utilizados para garantir a confidencialidade dos dados. Podem ainda ser simplesmente utilizados para reforçar a segurança de uma base de dados, cifrando dados

sensíveis que nela tenham de ser armazenados. Os tipos mais comuns deHSMs são placas PCI, que se

anexam a um computador anfitrião, e dispositivos que se conectam diretamente à rede (network attached).

As características dos HSMs variam consoante o seu tipo e com seu o fabricante, sendo a Safenet e a

Thales, os dois principais fabricantes.

3.3.1 Segurança dos HSMs

A construção deste tipo de dispositivos é orientada pelos requisitos de segurança especificados no

Federal Information Processing Standard 140-2 (FIPS), que se estendem por onze diferentes áreas. Para

serem validados perante oFIPS140-2, osHSMs são submetidos a uma série de testes que determinam

o nível de segurança que ele oferece, que vai de 1, o nível mais baixo, a 4. A validação doHSMé muito

importante, visto que qualquer fornecedor pode afirmar que o dispositivo cumpre os requisitos doFIPS, no entanto isso não significa que foi efetivamente validado.

O nível de segurança dá-nos uma ideia dos mecanismos de proteção física e lógica implementados peloHSM. Quanto maior for o nível, mais características de segurança o dispositivo oferece, e consequen- temente maior é a probabilidade do dispositivo conseguir detetar e reagir a tentativas de violação.

Fisicamente, osHSMs podem estar sujeitos a ataques como a perfuração da sua própria caixa, a ata-

ques que interfiram com o normal funcionamento do dispositivo, como a exposição a baixas temperaturas,

variações de corrente ou tensão, ou ainda a ataques mais sofisticados, designados por side channel at-

tacks, como a análise do tempo de execução de algoritmos ou a análise do consumo energético. Qualquer

3.3. HARDWARE SECURITY MODULES

que seja o ataque, para assegurar a proteção do material armazenado, oHSMtem de ser capaz de resistir

a todos eles.

Os mecanismos de proteção física conferem-lhes uma característica designada portamper-resistance.

Um dispositivotamper-resistantutiliza sensores para detetar a ocorrência de um ataque(tamper-detective), causa danos visíveis na sua superfície caso seja violado(tamper-evident)e elimina, com segurança, todos

os dados sensíveis armazenados na memória do dispositivo(zeroisation), de modo impedir a fuga ou a

manipulação da informação que nele esteja armazenada(tamper-responsive). Para reforçar ainda mais a

proteção e tornar os ataques inviáveis, osHSMs são tipicamente colocados em instalações de alta segu-

rança e a interação com o dispositivo pode exigir a autenticação de pelo menos dois, ou mais responsáveis,

designados porkey holders(autenticação M de N).

OsHSMs estão também sujeitos a ataques lógicos, isto é, ataques através da interface de comandos

que tiram proveito de anomalias lógicas para expor informação sensível, nomeadamente sequências de comandos inesperadas, comandos desconhecidos, execução de comandos num modo de operação er- rado, passagem de dados ou parâmetros errados. A possibilidade de ocorrência destes ataques é bastante reduzida com as restrições físicas, regras procedimentais, definições de configuração do computador anfi- trião e registos de auditoria. Para mitigar os ataques, oHSMdeve ser configurado com as características

que sejam estritamente necessárias para o objetivo pretendido, visto que quanto menos comandos oHSM

suportar, menor será o número de preocupações de segurança. Em particular, deve-se configurar oHSM

com algoritmos criptográficos abertos e seguros, já com provas dadas e recomendados pelos standards,

e evitar o uso de algoritmos proprietários. A política de segurança doHSMdeve ser configurada da forma

mais condicionada possível, tendo em conta os requisitos das aplicações que utilizem o HSM. Deve-se

também garantir que nenhum acesso não autorizado à porta do computador anfitrião doHSMé possível,

e que os registos de auditoria das transações são regularmente monitorizados.

Uma gestão apropriada ao longo do seu ciclo de vida reveste-se de grande importância, por isso, as

atividades de gestão de umHSMdevem ser orientadas por procedimentos detalhados e rigorosos. Essas

atividades incluem: a instalação e inicialização doHSM; a definição dos utilizadores e permissões; a gera- ção, importação/exportação e instalação de chaves, através de um procedimento designado por cerimónia de chaves; a configuração das políticas de segurança; ativação e desativação de comandos; funções de auditoria; diagnóstico e resolução de problemas.

Para interagir com o HSM e desempenhar tarefas administrativas, podemos ligar-nos diretamente a

ele, através dispositivos de input/output, como PIN Entry Devices (PEDs), utilizandoPED keyspara nos

autenticarmos. Tipicamente, na instalação e configuração doHSM, na inicialização de partições, bem na

cerimónia de chaves, utilizam-se os PEDs e asPED keys, que são atribuídas aos diferentes utilizadores.

CAPÍTULO 3. TECNOLOGIAS

partições, através de uma ferramenta de administração na linha de comandos. Certos comandos podem, no entanto, continuar a exigir autenticação do utilizador no PED.

Para que aplicações cliente possam aceder a uma determinada partição e nela realizar operações criptográficas, utilizando aAPIdoHSM, tem de lhes ser fornecida a password de acesso a essa partição.

3.3.2 PKCS #11: Cryptographic Token Interface Standard

O PKCS#11 [7] foi inicialmente concebido para aceder a smartcards, mas acabou por se tornar também

naAPIde referência para osHSMs, apesar da maior complexidade do dispositivo. Devido à conceção inicial do standard, a sua terminologia acabou por ser influenciada por conceitos utilizados nos smartcards: um token (ex: smartcard) é um dispositivo que armazena objetos (chaves, certificados) e realiza operações criptográficas, que pode ser acedido a partir de um slot (ex: smartcard reader). Segundo esta terminologia,

podemos dizer que os HSMs estão divididos em slots, que contêm tokens, e que por sua vez contêm

múltiplos objetos (chaves).

O standard define dois tipos de utilizadores: o agente de segurança (administrador doHSM) e o utiliza- dor. O agente de segurança é responsável por gerir utilizadores, criando os tokens e definindo os respetivos

PINs. NosHSMs, o agente de segurança é tipicamente autenticado por meio de um smartcard.

Para aceder aos seus objetos e para realizar operações, um utilizador tem de autenticar-se perante o token que lhe foi atribuído, utilizando o seu PIN. A autenticação resulta no estabelecimento de uma sessão com o token, através da qual o utilizador pode usufruir da funcionalidade oferecida pelo token, fazendo chamadas através da interface ou daAPI.

Existem dois tipos de objetos: aqueles que estão armazenados na memória não volátil do token, e aqueles que são voláteis, tendo apenas a duração da sessão entre a aplicação e o token.

Cada objeto possui um conjunto de propriedades que o descrevem e controlam o seu uso. Por exemplo,

cada chave possui uma propriedade designada porkey type, que indica se uma chave é pública ou privada.

Uma chave privada possui uma propriedade que indica se pode ou não ser extraída do token.

3.3.3 Critérios para a seleção de um HSM

Para escolher umHSM, devemos ter em consideração:

• Número de chaves suportado;

• Os algoritmos e as operações que oferece, bem como a qualidade do gerador de números aleatórios; • Desempenho nas operações criptográficas;

• AAPIcriptográfica que oferece; • Gestão M de N;

3.3. HARDWARE SECURITY MODULES

• Certificação do dispositivo (FIPS140-2,CCEAL4+);

• Possibilidade de integração numcluster deHSMs, para se obter alta disponibilidade e balancea-

mento de carga;

• O sistema operativo suportado;

CAPÍTULO 3. TECNOLOGIAS

Documentos relacionados