Implementar Criptografia no Nível da Mensagem no Oracle Integration Usando o OCI Vault

A Criptografia em Nível de Mensagem (MLE) é uma técnica de segurança usada para proteger a confidencialidade e a integridade de uma mensagem durante a transmissão. Envolve o uso de algoritmos de criptografia para embaralhar o conteúdo de uma mensagem para que somente o destinatário pretendido, com as chaves de descriptografia, possa lê-la.

A API Rest é sem monitoramento de estado por arquitetura, o que significa que o servidor não está mantendo uma sessão e não tem informações sobre o cliente. Na solicitação, o cliente precisa enviar todas as informações para permitir que o servidor responda. Ao trabalhar com API Rest e segurança, o foco é na autenticação, autorização e confidencialidade.

Para autenticação e autorização, há protocolos e melhores práticas que variam de Chaves de API, Autenticação Básica, Token JWT a oAuth. Para confidencialidade, você pode ativar o TLS (Transport Level Security), o processo de proteger a comunicação em uma rede criptografando o tráfego. É por isso que a maioria das APIs Rest impõe HTTPS em vez de HTTP simples. Todos eles têm seus próprios prós e contras e são suportados pelo Oracle Integration pronto para uso.

Embora a segurança em nível de rede atenda aos requisitos na maioria das vezes, há momentos em que é necessária a aplicação da criptografia em nível de mensagem ou carga útil (por exemplo, quando ela inclui informações confidenciais, como: informações de identificação pessoal [PII], números de cartão de crédito, detalhes da conta bancária, registros médicos ou similares). É por isso que muitos gateways de pagamento (Visa, MasterCard, entidades governamentais) impõem MLE para APIs Rest que contêm dados confidenciais.

O Oracle Integration fornece recursos prontos para uso para atender a autenticação, autorização e TLS. O MLE pode ser obtido usando o OCI Vault.

Arquitetura

Essa arquitetura de referência demonstra como usar o OCI Vault para obter MLE no Oracle Integration.

O serviço OCI Vault é um serviço de gerenciamento de criptografia que armazena e gerencia chaves de criptografia e segredos para acessar recursos com segurança. Ele fornece APIs para permitir o gerenciamento de chaves, bem como a assinatura, criptografia e decriptografia de dados usando essas chaves.

Ao trabalhar com criptografia, existem dois tipos fundamentais de sistemas para proteger os dados.

  • A criptografia simétrica usa a mesma chave (privada) para criptografia e decriptografia. O remetente e o receptor devem ter a mesma chave secreta, que eles usam para criptografar e descriptografar os dados. Isso significa que, se alguém interceptar a chave, poderá descriptografar os dados.
  • Por outro lado, a criptografia assimétrica usa duas chaves diferentes: uma chave pública e outra privada. O remetente usa a chave pública do destinatário para criptografar os dados, e o destinatário usa sua chave privada para descriptografá-los. A chave privada é mantida em segredo e nunca compartilhada, o que a torna muito mais segura do que a criptografia simétrica.

A criptografia simétrica tem a vantagem da velocidade, mas é menos segura, pois usa a mesma chave para criptografia e descriptografia. A criptografia assimétrica, embora mais lenta, é mais segura porque a chave privada usada para decriptografia nunca é compartilhada e só pode ser acessada pelo destinatário.

O OCI Vault suporta esses algoritmos de forma de chave.

Algoritmo de Forma da Chave Descrição
Advanced Encryption Standard (AES) As chaves AES são chaves simétricas que você pode usar para criptografar dados.
Rivest-Shamir-Adleman (RSA) As chaves RSA são chaves assimétricas, também conhecidas como pares de chaves, que consistem em uma chave pública e uma chave privada que você pode usar para criptografar dados em trânsito, assinar dados e verificar a integridade dos dados assinados.
Algoritmo de assinatura digital de criptografia de curva elíptica (ECDSA) As chaves ECDSA são chaves assimétricas que você pode usar para assinar dados e verificar a integridade dos dados assinados.

Às vezes, você precisa usar simétrico e assimétrico. Por exemplo, um cliente compartilha sua chave pública RSA com você; você gera e usa uma chave privada AES para criptografar os dados; e você criptografa a chave privada com a chave pública RSA do cliente, que você envia na carga útil. Como o cliente não compartilhou sua chave privada RSA, apenas ele pode descriptografar os dados, primeiro descriptografando a chave AES e depois usando-a para descriptografar a carga útil. Isso é feito quando o tamanho da sua carga útil é maior do que uma chave RSA pode criptografar.

O OCI Vault permite importar ou criar suas próprias chaves de criptografia principais. Ao usar o material de chave importado, você permanece responsável pelo material de chave enquanto permite que o OCI Vault use uma cópia dele. Consulte Explorar Mais para obter informações sobre como importar chaves.

O OCI Vault fornece várias APIs que podem ser usadas pelo Oracle Integration. Consulte Explorar Mais para obter a API de gerenciamento de chaves do vault. Aqui estão algumas das APIs que são usadas comumente em cenários de criptografia no nível da mensagem.

API Descrição
Criptografar Criptografa dados usando detalhes de criptografia fornecidos como parte da solicitação.
Descriptografar Decriptografa dados usando detalhes de decriptografia fornecidos como parte da solicitação.
Sign Cria uma assinatura digital para uma mensagem ou compilação de mensagens usando a chave privada de um par de chaves público-privado, também conhecida como chave assimétrica.
Verificar Verifica uma assinatura digital que foi gerada pela operação de assinatura usando a chave pública da mesma chave assimétrica usada para assinar os dados. Se quiser validar a assinatura digital fora do serviço, você pode fazer isso usando a chave pública da chave assimétrica.

Ao trabalhar no Oracle Integration e criptografar o payload antes de enviar a solicitação para uma API Rest, você pode usar o OCI Vault. Se você estiver trabalhando com criptografia simétrica, poderá receber a chave privada AES, fazer upload dela no OCI Vault e usar as APIs do OCI Vault para criptografar os dados e enviar esses dados criptografados para a API Rest. Se você precisar de criptografia assimétrica, poderá receber a chave pública RSA, fazer upload dela no OCI Vault e usar as APIs do OCI Vault para criptografar os dados e enviar esses dados criptografados para a API Rest. Da mesma forma, se você quiser impor APIs Rest no Oracle Integration para ter payload criptografado, poderá criar chaves, compartilhar com seus clientes e usar APIs do OCI Vault para decriptografar os dados e verificar. Além disso, você pode combinar ambas as chaves quando precisar usar criptografia assimétrica e simétrica.

O diagrama a seguir ilustra essa arquitetura de referência.



oci-vault-arquitetura-oracle.zip

A arquitetura tem os seguintes componentes:

  • Oracle Integration

    O Oracle Integration fornece um conjunto abrangente de ferramentas e serviços para ajudar as organizações a integrar seus vários aplicativos, serviços e origens de dados, tanto on-premises quanto na nuvem. O Oracle Integration oferece uma variedade de recursos, incluindo conectores predefinidos para integração com várias aplicações populares, como Oracle Fusion, Salesforce, SAP, Workday e muito mais, bem como conectores personalizados para integração com outras aplicações e serviços. Ele também fornece uma interface visual intuitiva para projetar, testar e implantar integrações, facilitando a criação de fluxos de trabalho de integração complexos sem a necessidade de habilidades de codificação.

  • Oracle Cloud Infrastructure Vault

    O OCI Vault é um serviço de gerenciamento de chaves seguro e escalável oferecido pela Oracle Cloud Infrastructure (OCI). Ele fornece um local centralizado para gerenciar chaves criptográficas e segredos usados para proteger recursos e aplicações da OCI. O OCI Vault oferece uma variedade de recursos, incluindo geração e armazenamento de chaves, distribuição segura de chaves, criptografia e decriptografia. Ele permite que os usuários gerenciem suas próprias chaves ou usem chaves gerenciadas pelo OCI. Os usuários também podem girar suas chaves regularmente para garantir a segurança máxima.

    O OCI Vault também oferece um conjunto avançado de APIs Rest para gerenciar vaults e chaves.

Considerações

Considere os pontos a seguir ao implementar essa arquitetura de referência.

  • Segurança

    Use as políticas do Oracle Cloud Infrastructure Identity and Access Management (IAM) para controlar quem pode acessar seus recursos de nuvem e quais operações podem ser executadas. Designe o acesso de privilégio mínimo para grupos e usuários do serviço IAM aos tipos de recursos.

  • Limites de serviço

    Considere os limites e cotas para os serviços do OCI usados na topologia. Veja Explorar Mais.

Reconhecimentos

Autores:

  • Harris Qureshi

Colaboradores:

  • John Sulyok