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.