Mettre en oeuvre le chiffrement au niveau des messages dans Oracle Integration à l'aide du service de chambre forte OCI

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

L'API Rest est sans état par architecture, ce qui signifie que le serveur ne gère pas de session et n'a 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 varient des clés d'API, de l'authentification de base, du jeton JWT et de oAuth. Pour des raisons de confidentialité, vous pouvez activer Transport Level Security (TLS), le processus de sécurisation des communications sur un réseau en cryptant le trafic. C'est pourquoi la plupart des API Rest appliquent HTTPS plutôt que HTTP simple. Tous ces avantages et inconvénients sont pris en charge par Oracle Integration prêt à l'emploi.

Bien que la sécurité au niveau du réseau réponde la plupart du temps aux exigences, il arrive que l'application d'un chiffrement au niveau des messages ou des données utiles soit requise (par exemple, lorsqu'elle inclut des informations sensibles, telles que des informations d'identification personnelle, des numéros de carte de crédit, des détails de compte bancaire, des dossiers médicaux, etc.). C'est pourquoi de nombreuses passerelles de paiement (Visa, MasterCard, entités gouvernementales) appliquent le MLE pour les API Rest contenant des données sensibles.

Oracle Integration fournit des fonctions prêtes à l'emploi pour l'authentification, l'autorisation et TLS. Pour ce faire, utilisez la chambre forte OCI.

Architecture

Cette architecture de référence montre comment utiliser la chambre forte OCI pour exécuter MLE dans Oracle Integration.

Le service de chambre forte OCI est un service de gestion du chiffrement qui stocke et gère les clés de chiffrement et les clés secrètes permettant d'accéder en toute sécurité aux ressources. Il fournit des API pour permettre la gestion des clés ainsi que la signature, le chiffrement et le déchiffrement des 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 chiffrement symétrique utilise la même clé (privée) pour le chiffrement et le déchiffrement. L'expéditeur et le destinataire doivent avoir 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.
  • La cryptographie asymétrique, quant à elle, utilise deux clés différentes : une clé publique et une clé privée. L'expéditeur utilise la clé publique du destinataire pour chiffrer les données, et le destinataire utilise sa clé privée pour les déchiffrer. La clé privée est gardée secrète et jamais partagée, ce qui la rend beaucoup plus sûre que la cryptographie symétrique.

La cryptographie symétrique a 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échiffrement n'est jamais partagée et n'est accessible que par le destinataire.

Le service de chambre forte OCI prend en charge ces algorithmes de forme de clé.

Algorithme de forme de clé Description
Norme de chiffrement avancé (AES) Les clés AES sont des clés symétriques que vous pouvez utiliser pour chiffrer 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 chiffrer les données en transit, pour signer des données et pour vérifier l'intégrité des données signées.
Algorithme de signature numérique par cryptographie à courbe elliptique 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 les données utiles. 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 les données utiles. Cela se fait lorsque la taille de vos données utiles est supérieure à celle qu'une clé RSA peut chiffrer.

Le service de chambre forte OCI vous permet d'importer ou de créer vos propres clés de chiffrement principales. Lorsque vous utilisez du matériel de clé importé, vous restez responsable du matériel de clé tout en permettant à la chambre forte OCI d'en utiliser une copie. Voir Explorer davantage pour plus d'informations sur l'importation de clés.

Le service de chambre forte OCI fournit un certain nombre d'API pouvant être utilisées par Oracle Integration. Voir Explorer davantage pour l'API de gestion des clés du service de chambre forte. Voici quelques-unes des API couramment utilisées dans les scénarios de chiffrement au niveau des messages.

API Description
Chiffrer Chiffre les données à l'aide des détails de chiffrement fournis dans le cadre de la demande.
Déchiffrer Déchiffre les données à l'aide des détails de déchiffrement fournis dans le cadre de la demande.
Sign Crée une signature numérique pour un condensé de message ou 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 qui a été utilisée pour signer les données. Si vous souhaitez valider la signature numérique en dehors du service, vous pouvez le faire à l'aide de la clé publique de la clé asymétrique.

Lorsque vous travaillez dans Oracle Integration et que vous devez chiffrer les données utiles avant d'envoyer la demande à une API Rest, vous pouvez utiliser le service de chambre forte OCI. Si vous utilisez la cryptographie symétrique, vous pouvez recevoir la clé privée AES, la charger dans la chambre forte OCI et utiliser les API de la chambre forte OCI pour chiffrer les données et envoyer ces données chiffrées à l'API Rest. Si vous avez besoin d'une cryptographie asymétrique, vous pouvez recevoir la clé publique RSA, la charger dans le service de chambre forte OCI et utiliser les API du service de chambre forte OCI pour chiffrer les données et envoyer ces données chiffrées à l'API Rest. De même, si vous voulez imposer des API Rest dans Oracle Integration pour des données utiles chiffrées, vous pouvez créer des clés, les partager avec vos clients et utiliser les API du service de chambre forte pour OCI pour déchiffrer les données et les vérifier. Vous pouvez également combiner les deux clés lorsque vous devez utiliser à la fois une cryptographie asymétrique et symétrique.

Le diagramme 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 jeu complet d'outils et de services pour aider les organisations à intégrer leurs différentes applications, services et sources de données, sur place et en nuage. Oracle Integration offre une gamme de fonctions, notamment 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 permet aux utilisateurs de créer facilement des flux de travail d'intégration complexes sans avoir à maîtriser le codage.

  • Service de chambre forte pour Oracle Cloud Infrastructure

    Le service de chambre forte OCI est un service de gestion des clés sécurisé et évolutif offert par Oracle Cloud Infrastructure (OCI). Il fournit un emplacement centralisé pour gérer les clés cryptographiques et les clés secrètes utilisées pour sécuriser les ressources et les applications OCI. Le service de chambre forte OCI offre un large éventail de fonctions, notamment la génération et le stockage de clés, la distribution sécurisée des clés, le chiffrement et le déchiffrement. Les utilisateurs peuvent gérer leurs propres clés ou utiliser des clés gérées par OCI. Les utilisateurs peuvent également effectuer une rotation régulière de leurs clés pour assurer une sécurité maximale.

    Le service de chambre forte OCI offre également un jeu étoffé d'API Rest pour gérer les chambres fortes et les clés.

Points à considérer

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

  • Sécurité

    Utilisez les politiques Oracle Cloud Infrastructure Identity and Access Management (IAM) pour contrôler qui peut accéder à vos ressources en nuage et quelles opérations peuvent être effectuées. Affecter l'accès avec privilège minimal pour les utilisateurs et les groupes IAM aux types de ressource.

  • Limites de service

    Tenez compte des limites et des quotas pour les services OCI utilisés dans la topologie. Voir Explorer davantage.

Confirmation

Auteurs :

  • Harris Qureshi

Contributeurs :

  • John Sulyok