Implementar a Criptografia no Nível da Mensagem no Oracle Integration Cloud Usando o OCI Vault
A Criptografia no Nível da Mensagem (MLE) é uma técnica de segurança usada para proteger a confidencialidade e a integridade de uma mensagem durante a transmissão. Ele envolve o uso de algoritmos de criptografia para alterar o conteúdo de uma mensagem de modo que apenas o destinatário desejado, com as chaves de decriptografia, possa lê-lo.
A API Rest não tem monitoramento de estado pela 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 a API Rest e a segurança, o foco está 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. Por 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 têm suporte do Oracle Integration Cloud predefinido.
Embora a segurança em nível de rede atenda aos requisitos na maior parte do tempo, há momentos em que é necessária a imposição de criptografia em nível de carga útil (por exemplo, quando inclui informações confidenciais, como: informações de identificação pessoal [PII], números de cartão de crédito, detalhes de conta bancária, registros médicos ou similares). É por isso que muitos gateways de pagamento (Visa, MasterCard, entidades governamentais) impõem o MLE para APIs Rest que contêm dados confidenciais.
O Oracle Integration Cloud 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 o MLE no Oracle Integration Cloud.
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, a criptografia e a decriptografia de dados usando essas chaves.
Ao trabalhar com criptografia, há dois tipos fundamentais de sistemas para proteger dados.
- Criptografia simétrica usa a mesma chave (privada) para criptografia e decriptografia. O remetente e o destinatário devem ter a mesma chave secreta usada para criptografar e decriptografar os dados. Isso significa que, se alguém interceptar a chave, poderá decriptografar os dados.
- Criptografia assimétrica, por outro lado, usa duas chaves diferentes: uma chave pública e uma chave privada. O remetente usa a chave pública do destinatário para criptografar os dados, e o destinatário usa a chave privada para descriptografá-los. A chave privada é mantida secreta 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 decriptografia. 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 |
---|---|
AES (Advanced Encryption Standard) | As chaves AES são chaves simétricas que você pode usar para criptografar dados. |
Rivest-Shamir-Adleman (RSA) | 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) | 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 com você sua chave pública RSA; 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, só eles podem decriptografar os dados, primeiro descriptografando a chave AES e depois usando-a para decriptografar a carga útil. Isso é feito quando o tamanho do payload é maior que uma chave RSA pode criptografar.
O OCI Vault permite importar ou criar suas próprias chaves de criptografia principais. Quando você usa material de chave importado, permanece responsável pelo material de chave, permitindo que o OCI Vault use uma cópia dele. Consulte Explorar Mais para obter informações sobre a importação de chaves.
O OCI Vault fornece várias APIs que podem ser usadas pelo Oracle Integration Cloud. Veja Explore Mais para 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 | Descriptografa dados usando detalhes de decriptografia fornecidos como parte da solicitação. |
Assinar | Cria uma assinatura digital para uma mensagem ou compilação de mensagens usando a chave privada de um par de chaves pública-privada, 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 que foi usada para assinar os dados. Se quiser validar a assinatura digital fora do serviço, você poderá fazer isso usando a chave pública da chave assimétrica. |
Ao trabalhar no Oracle Integration Cloud e você precisa 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 Cloud 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 as duas 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 Cloud
O Oracle Integration Cloud (OIC) fornece um conjunto abrangente de ferramentas e serviços para ajudar as organizações a integrar seus diversos aplicativos, serviços e origens de dados, tanto locais quanto na nuvem. O OIC oferece uma variedade de recursos, incluindo conectores predefinidos para integração com vários aplicativos populares, como Oracle Fusion, Salesforce, SAP, Workday e muito mais, além de conectores personalizados para integração com outros aplicativos e serviços. Ele também oferece uma interface visual intuitiva para criação, teste e implantação de integrações, facilitando a criação de workflows de integração complexos sem exigir habilidades de codificação.
- Oracle Cloud Infrastructure Vault
O OCI Vault é um serviço de gerenciamento de chaves seguro e escalável oferecido pelo OCI (Oracle Cloud Infrastructure). Ele fornece um local centralizado para gerenciar chaves criptográficas e segredos usados para proteger recursos e aplicativos do 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 rotacionar suas chaves regularmente para garantir a segurança máxima.
O OCI Vault também oferece um rico conjunto de APIs Rest para gerenciar vaults e chaves.
Considerações
Considere os seguintes pontos ao implementar essa arquitetura de referência.
- Segurança
Use 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 acesso de privilégio mínimo para usuários e grupos do IAM a tipos de recursos.
- Limites de serviço
Considere os limites e as cotas dos serviços do OCI usados na topologia. Veja Explorar Mais.