O uso de criptografia para proteção de dados em repouso ou de meios de comunicação é uma realidade para as empresas e os usuários de serviços como armazenamento na nuvem, troca de mensagens e muitos outros.
Porém, para os responsáveis por estes serviços, são apresentadas muitas opções de mecanismos criptográficos e, consequentemente, há muitas escolhas a serem feitas.
Escolhas inadequadas podem resultar em pouco ou nenhum ganho, criando uma falsa sensação de segurança.
Neste artigo, pretendemos abordar alguns aspectos relevantes para a segurança da informação que estão relacionados às chaves criptográficas para mostrar a importância do correto gerenciamento delas para a programação dos serviços criptográficos.Para facilitar o entendimento, dividiremos este artigo em três partes, iniciando com os conceitos básicos sobre criptografia, serviços criptográficos e, por último, gerenciamento de chaves criptográficas.
1. Conceitos básicos de criptografia
A criptografia consiste em um conjunto de princípios utilizados para garantir a segurança da informação.
Para isso, emprega técnicas para transformar uma informação (cifrar) em outra (criptograma) que é legível apenas para quem conheça o segredo (chave secreta).
Mantendo este segredo seguro, impedimos que pessoas não autorizadas tenha acesso à informação original (decifrar).
Segredo
A segurança dos serviços criptográficos é baseada no segredo da chave criptográfica, que permite cifrar e decifrar, e não no método de transformar a informação, ou seja o algoritmo utilizado, que deve ser público.
Chaves simétricas e assimétricas
Em criptografia, existem dois tipos básicos de algoritmos: os de chave simétrica e assimétrica. Os primeiros utilizam uma única chave para cifrar e decifrar os dados e os segundos adotam par de chaves, sendo uma para cifrar e a outra para decifrar.
O diagrama a seguir mostra o uso de uma chave simétrica para a cifra de uma mensagem. Podemos ver que a chave utilizada por João é a mesma adotada por Alice.
O próximo diagrama mostra o uso de uma chave assimétrica. A chave utilizada por Alice para cifrar é a chave pública de João, que usa a sua chave privada para decifrar.
Um ponto interessante deste tipo de algoritmo é que, após cifrar com a chave pública, apenas a privada pode decifrar.
Como exemplos de uso para estes algoritmos, podemos citar uma base de dados que utiliza o algoritmo AES (chave simétrica) para cifrar uma determinada informação no banco de dados e a assinatura digital de documentos que usa o algoritmo RSA (chave assimétrica).
Também gostaríamos de ressaltar que o segredo nestes dois tipos de algoritmos está em proteger a chave simétrica e a privada (no caso das chaves assimétricas).
Outro aspecto é que estes algoritmos são complementares e servem como base para a programação dos serviços criptográficos.
Resumo criptográfico e assinatura digital
O resumo criptográfico é um valor que representa uma informação e que é gerado por meio de um algoritmo, como o SHA256, que analisa os dados bit-a-bit e cria um valor que não pode ser falsificado na prática.
Porém, o resumo criptográfico não pode ser usado sozinho, pois apesar de não ser viável falsificá-lo, é possível substitui-lo.
Então, para ser utilizado na prática, o resumo criptográfico é cifrado com a chave privada (assimétrica), gerando uma assinatura digital.
Assim, todos que têm a chave pública podem gerar o resumo criptográfico e compara-lo com o presente na assinatura digital, verificando se os dados são válidos.
Um exemplo é o SHA256withRSA, que utiliza o algoritmo de resumo SHA256 e o algoritmo de criptografia RSA para gerar a assinatura digital. Porém, isso ainda não é suficiente, pois não temos como identificar a quem pertence uma determinada chave pública.
Para isso, é necessário um novo elemento: o certificado digital.
O certificado digital consiste basicamente em uma informação textual que identifica uma entidade (pessoa, empresa ou servidor), uma chave pública e um propósito de uso. Ele tem uma assinatura digital.
Um ponto importante aqui é que a assinatura do certificado digital deve ser feita por uma entidade terceira (autoridade certificadora digital) confiável.
Assim, introduzimos o conceito de relação de confiança. De acordo com ele, se confiamos em uma entidade A e esta confia em uma entidade B, então também confiamos na entidade B.
Assim, concluímos os conceitos básicos de criptografia. Na próxima parte, falaremos sobre os serviços criptográficos que podem ser criados a partir deles.
2. Serviços criptográficos
Os mecanismos criptográficos básicos, como criptografia simétrica e resumo criptográfico, são utilizados para suportar serviços de confidencialidade, integridade, autorização e irretratabilidade ou não-repúdio.
Assim, temos que um mecanismo criptográfico pode ser utilizado para suportar vários serviços. Outro fator importante é que os serviços criptográficos devem ser utilizados em conjunto para garantir a segurança.
A seguir, descreveremos brevemente os serviços criptográficos básicos:
Confidencialidade
Este serviço provê a confidencialidade dos dados por meio de criptografia, garantindo que não possam ser visualizados por terceiros e que apenas pessoas autorizadas tenham acesso a eles.
Como exemplo, temos a cifra de arquivos, sistemas de arquivos e bases de dados com chaves simétricas.
Ou também temos, informações cifradas com a chave pública do certificado, assim só quem têm a chave privada correspondente poderá abrir a informação.
Integridade
O serviço de integridade deve garantir que uma determinada informação não foi modificada de maneira não autorizada após a sua criação, durante a transmissão ou o armazenamento.
Seja a alteração acidental ou intencional, a inserção, remoção ou substituição de dados deve ser detectada. Mecanismos criptográficos como o resumo criptográfico, também conhecido como hash e a assinatura digital fornecem o suporte para este serviço.
Autenticação
O serviço de autenticação verifica a identidade de um usuário ou sistema que solicita autorização para acesso a uma informação.
A assinatura digital é um mecanismo criptográfico geralmente utilizado para suportar este serviço, pois já foi validado a identificação do antes da emissão do certificado digital, seja feito por uma Autoridade Certificadora confiável ICP-Brasil ou outra que a organização confie, tal como, Autoridade Certificadora Interna.
Nas Autoridades Certificadoras ICP-Brasil, é no processo de emissão do certificado digital que a pessoa necessita comparecer a uma validação presencial, com documentos originais que comprovem a identidade do requerente.
Irretratabilidade
O serviço de irretratabilidade fornece os meios para garantir que quem criou uma informação não possa negar a autenticidade dela.
Neste sentido, está ligada à assinatura digital, na qual o proprietário da chave privada não pode negar que a realizou para um determinado fim.
Assim, terminamos a descrição dos serviços criptográficos. Na próxima parte, apresentaremos os principais fatores a serem considerados no gerenciamento de chaves criptográficas.
Autorização
Adicionalmente, após a autenticação, é possível utilizar a informações do usuário autenticado no sistema para definir a autorização as informações. O serviço de autorização fornece a aprovação ou permissão para a execução de uma atividade.
Como exemplo, o serviço de autorização pode ser empregado para definir as permissões de uso de uma chave criptográfica que, consequentemente, permitiria o acesso a uma determinada informação.
3. Gerenciamento de chaves criptográficas
As chaves criptográficas são o fundamento da criptografia e nestas reside a segurança dos dados cifrados. Brechas podem levar ao comprometimento das chaves e, consequentemente, ao vazamento de informações sigilosas.
O aumento no uso da criptografia para proteção de dados, principalmente devido à regulamentação do governo, faz com que as empresas tenham que lidar com múltiplas soluções para cifra.
Por conta da diversidade de fornecedores, as organizações também precisam definir vários procedimentos para gerenciar as chaves criptográficas, sendo que nem sempre eles são adequados.
O gerenciamento de chaves criptográficas consiste em armazenar, proteger, organizar, garantir o uso adequado delas, gerir seu ciclo de vida e manter cópias de segurança de forma segura e consistente.
No gerenciamento de chaves, devemos levar em consideração alguns pontos que descreveremos a seguir:
Armazenamento seguro das chaves
As chaves devem ser armazenadas de forma segura, ou seja, cifradas e com controle de acesso.
A criptografia deve preferencialmente ser realizada por meio de chaves (KEK) protegidas em um hardware criptográfico.
Identificação das chaves
Deve ser possível identificar uma chave, seu tipo, a sua finalidade, quem está autorizado a utiliza-la e o período de uso.
Autenticação de usuário e autorização de uso
O uso das chaves criptográficas deve ser permitido apenas após a identificação do usuário.
Assim, para o gerenciamento adequado das chaves, o sistema deve fornecer mecanismos de autenticação e autorização ou permitir a integração com sistemas já existentes, como o Active Directory da Microsoft.
Ciclo de vida das chaves criptográficas
O ciclo de vida das chaves criptográficas deve ser controlado para que elas sejam utilizadas de forma adequada durante o período de validade — ou seja, somente pessoas ou sistemas autorizados podem utiliza-las durante um tempo pré-definido e com mecanismos seguros para que não haja comprometimento.
Assim, descreveremos o ciclo de vida das chaves, segundo recomendação NIST.
O ciclo de vida de uma chave inicia com a geração e finaliza com a destruição, passando por um ou mais dos estados descritos a seguir:
- geração: momento de criação da chave, que ainda não está pronta para uso;
- pré-ativação: a chave foi gerada, mas ainda não está pronta para uso, porque aguarda o período de utilização ou a emissão de um certificado;
- ativada: a chave está disponível para uso;
- suspensa: o uso da chave está suspenso temporariamente. Neste estado, ela não pode mais realizar operações de cifra ou assinatura, mas pode ser utilizada para recuperação de dados ou verificação de assinaturas realizadas anteriormente.
- inativada: a chave não pode ser mais utilizada para cifra ou assinatura digital, sendo mantida para o processamento de dados cifrados ou assinados antes da inativação.
- comprometida: indica que a chave tem a sua segurança afetada e não pode mais ser usada em operações criptográficas. Em alguns casos, como nas chaves simétricas, pode ser utilizada para recuperar os dados cifrados para posterior cifra com outra chave.
- destruída: este estado indica que uma chave não é mais necessária. A destruição da chave é o estágio final e pode ser atingido devido ao fim do ciclo de uso dela ou do comprometimento de sua segurança.
Cópias de segurança das chaves criptográficas
A função principal das cópias de segurança é garantir a recuperação das chaves e, consequentemente, dos dados cifrados em caso de perda ou devido a falhas.
Assim como as chaves, que devem ser armazenadas de forma segura durante o uso, as cópias de segurança também precisam ser protegidas. Elas podem ser guardadas em arquivos cifrados ou hardwares criptográficos próprios para esta finalidade, que devem ficar em locais seguros.
Fonte: Blog e-Val Tecnologia
veja nossa coluna da e-val tecnologia