Implémenter le cryptage au niveau du message dans Oracle Integration à l'aide d'OCI Vault

Le chiffrement au niveau des messages (MLE, Message-Level Encryption) est une technique de sécurité utilisée pour protéger la confidentialité et l'intégrité d'un message lors de sa transmission. Il s'agit d'utiliser des algorithmes de chiffrement pour brouiller le contenu d'un message afin que seul le destinataire prévu, avec les clés de déchiffrement, puisse le lire.

Les API Rest sont sans état par architecture, ce qui signifie que le serveur ne gère pas de session et ne dispose d'aucune information sur le client. Dans la demande, le client doit envoyer toutes les informations pour permettre au serveur de répondre. Lorsque vous travaillez avec l'API Rest et la sécurité, l'accent est mis sur l'authentification, l'autorisation et la confidentialité.

Pour l'authentification et l'autorisation, il existe des protocoles et des meilleures pratiques qui vont des clés d'API, de l'authentification de base, du jeton JWT à oAuth. Pour des raisons de confidentialité, vous pouvez activer Transport Level Security (TLS), le processus de sécurisation de la communication sur un réseau en chiffrant le trafic. C'est pourquoi la plupart des API Rest appliquent HTTPS plutôt que HTTP simple. Tous ces éléments ont leurs propres avantages et inconvénients et sont pris en charge par Oracle Integration prêt à l'emploi.

Bien que la sécurité au niveau du réseau réponde aux exigences la plupart du temps, il y a des moments où l'application du chiffrement au niveau des messages ou de la charge utile est requise (par exemple, lorsqu'elle inclut des informations sensibles, telles que : les informations d'identification personnelle, les numéros de carte de crédit, les coordonnées bancaires, les dossiers médicaux, etc.). C'est pourquoi de nombreuses passerelles de paiement (Visa, MasterCard, entités gouvernementales) appliquent les API MLE for Rest contenant des données sensibles.

Oracle Integration fournit des fonctionnalités prêtes à l'emploi pour respecter l'authentification, l'autorisation et TLS. MLE peut être réalisé à l'aide d'OCI Vault.

Architecture

Cette architecture de référence explique comment utiliser OCI Vault pour atteindre MLE dans Oracle Integration.

OCI Vault est un service de gestion du cryptage qui stocke et gère les clés de cryptage ainsi que les clés secrètes afin d'accéder aux ressources en toute sécurité. Il fournit des API permettant de gérer les clés, ainsi que de signer, crypter et décrypter les données à l'aide de ces clés.

Lorsque vous travaillez avec la cryptographie, il existe deux types de systèmes fondamentaux pour sécuriser les données.

  • La cryptographie symétrique utilise la même clé (privée) pour le chiffrement et le déchiffrement. L'expéditeur et le destinataire doivent disposer de la même clé secrète qu'ils utilisent pour chiffrer et déchiffrer les données. Cela signifie que si quelqu'un intercepte la clé, il peut déchiffrer les données.
  • En revanche, la cryptographie asymétrique utilise deux clés différentes : une clé publique et une clé privée. L'expéditeur crypte les données à l'aide de la clé publique du destinataire et ce dernier décrypte les données à l'aide de sa clé privée. La clé privée est gardée secrète et jamais partagée, ce qui la rend beaucoup plus sécurisée que la cryptographie symétrique.

La cryptographie symétrique présente l'avantage de la vitesse, mais elle est moins sécurisée car elle utilise la même clé pour le chiffrement et le déchiffrement. La cryptographie asymétrique, bien que plus lente, est plus sécurisée car la clé privée utilisée pour le décryptage n'est jamais partagée et n'est accessible que par le destinataire.

OCI Vault prend en charge ces algorithmes de forme de clé.

Algorithme de forme de clé Description
Advanced Encryption Standard (AES) Les clés AES sont des clés symétriques que vous pouvez utiliser pour crypter des données.
Rivest-Shamir-Adleman (RSA) Les clés RSA sont des clés asymétriques, également appelées paires de clés, constituées d'une clé publique et d'une clé privée que vous pouvez utiliser pour crypter les données en transit, signer les données et vérifier l'intégrité des données signées.
Algorithme de signature numérique à courbe elliptique (ECDSA) Les clés ECDSA sont des clés asymétriques que vous pouvez utiliser pour signer des données et vérifier l'intégrité des données signées.

Parfois, vous devez utiliser à la fois symétrique et asymétrique. Par exemple, un client partage sa clé publique RSA avec vous ; vous générez et utilisez une clé privée AES pour chiffrer les données ; et vous chiffrez la clé privée avec la clé publique RSA du client, que vous envoyez dans la charge utile. Comme le client n'a pas partagé sa clé privée RSA, il peut uniquement déchiffrer les données, d'abord en déchiffrant la clé AES, puis en l'utilisant pour déchiffrer la charge utile. Cela se fait lorsque la taille de la charge utile est supérieure à ce qu'une clé RSA peut chiffrer.

OCI Vault vous permet d'importer ou de créer vos propres clés de cryptage maître. Lorsque vous utilisez du matériel de clé importé, vous restez responsable du matériel de clé tout en autorisant OCI Vault à en utiliser une copie. Pour plus d'informations sur l'importation de clés, reportez-vous à Explorer davantage.

OCI Vault fournit un certain nombre d'API pouvant être utilisées par Oracle Integration. Reportez-vous à En savoir plus sur l'API de gestion des clés Vault. Voici quelques-unes des API couramment utilisées dans les scénarios de cryptage au niveau des messages.

API Description
Crypter Crypte les données à l'aide des détails de cryptage fournis dans le cadre de la demande.
Décrypter Décrypte les données à l'aide des détails de décryptage fournis dans le cadre de la demande.
Sign Crée une signature numérique pour un message ou une synthèse de message à l'aide de la clé privée d'une paire de clés publique-privée, également appelée clé asymétrique.
Vérifier Vérifie une signature numérique générée par l'opération de signature à l'aide de la clé publique de la même clé asymétrique utilisée pour signer les données. Si vous voulez valider la signature numérique en dehors du service, vous pouvez le faire en utilisant la clé publique de la clé asymétrique.

Lorsque vous travaillez dans Oracle Integration et que vous devez crypter la charge utile avant d'envoyer la demande à une API Rest, vous pouvez utiliser OCI Vault. Si vous utilisez la cryptographie symétrique, vous pouvez recevoir la clé privée AES, la télécharger sur OCI Vault et utiliser les API OCI Vault pour crypter les données et envoyer ces données cryptées à l'API Rest. Si vous avez besoin d'une cryptographie asymétrique, vous pouvez recevoir la clé publique RSA, la télécharger sur OCI Vault et utiliser les API OCI Vault pour crypter les données et les envoyer à l'API Rest. De même, si vous voulez appliquer des API Rest dans Oracle Integration pour avoir des données traitées cryptées, vous pouvez créer des clés, les partager avec vos clients et utiliser les API OCI Vault pour décrypter les données et les vérifier. Vous pouvez également combiner les deux clés lorsque vous avez besoin d'utiliser à la fois une cryptographie asymétrique et symétrique.

Le schéma suivant illustre cette architecture de référence.



oci-vault-architecture-oracle.zip

L'architecture comprend les composants suivants :

  • Oracle Integration

    Oracle Integration fournit un ensemble complet d'outils et de services pour aider les entreprises à intégrer leurs différentes applications, services et sources de données, à la fois sur site et dans le cloud. Oracle Integration offre une gamme de fonctionnalités, y compris des connecteurs prédéfinis pour l'intégration à diverses applications populaires telles qu'Oracle Fusion, Salesforce, SAP, Workday et bien d'autres, ainsi que des connecteurs personnalisés pour l'intégration à d'autres applications et services. Elle fournit également une interface visuelle intuitive pour la conception, le test et le déploiement d'intégrations, ce qui facilite la création de workflows d'intégration complexes sans nécessiter de compétences en codage.

  • Oracle Cloud Infrastructure Vault

    OCI Vault est un service de gestion des clés sécurisé et évolutif proposé par Oracle Cloud Infrastructure (OCI). Il fournit un emplacement centralisé pour la gestion des clés cryptographiques et des clés secrètes utilisées pour sécuriser les ressources et les applications OCI. OCI Vault offre toute une gamme de fonctionnalités, notamment la génération et le stockage de clés, la distribution sécurisée des clés, le cryptage et le décryptage. Elle permet aux utilisateurs de gérer leurs propres clés ou d'utiliser des clés gérées par OCI. Les utilisateurs peuvent également faire pivoter leurs clés régulièrement pour assurer une sécurité maximale.

    OCI Vault offre également un riche ensemble d'API Rest pour gérer les coffres et les clés.

Points à prendre en compte

Tenez compte des points suivants lors de l'implémentation de cette architecture de référence.

  • Sécurité

    Utilisez des stratégies Oracle Cloud Infrastructure Identity and Access Management (IAM) pour contrôler qui peut accéder à vos ressources cloud et quelles opérations peuvent être effectuées. Affectez aux utilisateurs et aux groupes IAM l'accès du moindre privilège aux types de ressource.

  • Limites de service

    Prenez en compte les limites et les quotas des services OCI utilisés dans la topologie. Voir En savoir plus.

Accusés de réception

Auteurs :

  • Harris Qureshi

Contributeurs:

  • John Sulyok