Implémenter le cryptage au niveau des messages dans Oracle Integration Cloud à l'aide d'OCI Vault

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 la 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.

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 utilisez 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 de Clés d'API, Authentification de base, Jeton JWT à oAuth. Pour des raisons de confidentialité, vous pouvez activer TLS (Transport Level Security), 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 avantages et inconvénients sont pris en charge par Oracle Integration Cloud dès le départ.

Bien que la sécurité au niveau du réseau réponde le plus souvent aux exigences, il est parfois nécessaire d'appliquer le chiffrement au niveau des messages ou des données traitées (par exemple, lorsqu'il inclut des informations sensibles, telles que les informations d'identification personnelle [PII], les numéros de carte de crédit, les détails des comptes bancaires, les dossiers médicaux ou autres). C'est pourquoi de nombreuses passerelles de paiement (Visa, MasterCard, entités gouvernementales) appliquent la MLE pour les API Rest contenant des données sensibles.

Oracle Integration Cloud fournit des fonctionnalités prêtes à l'emploi pour satisfaire aux exigences d'authentification, d'autorisation et de TLS. La MLE peut être obtenue à l'aide d'OCI Vault.

Architecture

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

OCI Vault est un service de gestion du cryptage qui stocke et gère les clés de cryptage et les clés secrètes afin d'accéder en toute sécurité aux ressources. 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 utilisez 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 avoir la même clé secrète qu'ils utilisent pour crypter et décrypter les données. Cela signifie que si quelqu'un intercepte la clé, il peut déchiffrer les données.
  • La cryptographie asymétrique utilise en revanche 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 n'est jamais partagée, ce qui la rend beaucoup plus sûre que la cryptographie symétrique.

La cryptographie symétrique présente l'avantage de la vitesse, mais 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 est uniquement accessible 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 chiffrer les données.
Rivest-Shamir-Adleman (RSA) Les clés RSA sont des clés asymétriques, également appelées paires de clés, composées d'une clé publique et d'une clé privée que vous pouvez utiliser pour chiffrer 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 de la courbe elliptique (ECDSA) Les clés ECDSA sont des clés asymétriques que vous pouvez utiliser pour signer les 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. Le client n'ayant pas partagé sa clé privée RSA, il peut uniquement décrypter les données, d'abord en décryptant la clé AES, puis en l'utilisant pour décrypter les données traitées. Cette opération est effectuée lorsque la taille de votre charge utile est supérieure à celle 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 des éléments de clé importés, vous restez responsable des éléments de clé tout en autorisant OCI Vault à les utiliser. 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 Cloud. Pour en savoir plus sur l'API de gestion des clés Vault, reportez-vous à En savoir plus. Voici certaines 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.
Connexion Crée une signature numérique pour un message ou un condensé 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 que celle 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 Cloud et que vous devez crypter les données traitées 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 souhaitez appliquer des API Rest dans Oracle Integration Cloud pour crypter les données traitées, vous pouvez créer des clés, les partager avec vos clients et utiliser des 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 la 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 Cloud

    Oracle Integration Cloud (OIC) fournit un ensemble complet d'outils et de services permettant aux entreprises d'intégrer leurs différentes applications, services et sources de données, sur site et dans le cloud. OIC offre toute une gamme de fonctionnalités, 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 workflows d'intégration complexes sans avoir besoin 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. Il 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 effectuer régulièrement une rotation de leurs clés pour assurer une sécurité maximale.

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

Considérations

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

  • Sécurité

    Utilisez les 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 un accès de moindre privilège aux types de ressource.

  • limites de service

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

Accusés de réception

Abonnés :

  • Harris Qureshi

Contributeurs :

  • John Sulyok