Verschlüsselung auf Nachrichtenebene in Oracle Integration Cloud mit OCI Vault implementieren

Die MLE (Message-Level Encryption) ist eine Sicherheitstechnik, mit der die Vertraulichkeit und Integrität einer Nachricht während der Übertragung geschützt wird. Dabei werden Verschlüsselungsalgorithmen verwendet, um den Inhalt einer Nachricht zu scrampeln, sodass nur der beabsichtigte Empfänger mit den Entschlüsselungsschlüsseln sie lesen kann.

Rest-API ist nach Architektur zustandslos. Das bedeutet, dass der Server keine Session verwaltet und keine Informationen zum Client enthält. In der Anforderung muss der Client alle Informationen senden, damit der Server antworten kann. Bei der Arbeit mit Rest API und Sicherheit liegt der Schwerpunkt auf Authentifizierung, Autorisierung und Vertraulichkeit.

Für Authentifizierung und Autorisierung gibt es Protokolle und Best Practices, die von API-Schlüsseln, Basisauthentifizierung, JWT-Token und oAuth abweichen. Für die Vertraulichkeit können Sie Transport Level Security (TLS) aktivieren, den Prozess zur Sicherung der Kommunikation über ein Netzwerk, indem Sie den Datenverkehr verschlüsseln. Aus diesem Grund setzen die meisten Rest-APIs HTTPS anstelle von einfachem HTTP durch. All diese Services verfügen über eigene Vor- und Nachteile und werden von Oracle Integration Cloud out-of-the-box unterstützt.

Während die Sicherheit auf Netzwerkebene den Anforderungen am meisten entspricht, ist eine Verschlüsselung auf Nachrichten- oder Payload-Ebene erforderlich (z.B. wenn vertrauliche Informationen enthalten sind, wie z.B. persönliche Identifikationsinformationen [PII], Kreditkartennummern, Bankkontendetails, Krankenakten oder dergleichen). Aus diesem Grund setzen viele Zahlungsgateways (Visa, MasterCard, Behörden) MLE für Rest-APIs mit sensiblen Daten durch.

Oracle Integration Cloud stellt Out-of-the-box-Funktionen bereit, um Authentifizierung, Autorisierung und TLS zu erfüllen. MLE kann mit OCI Vault erreicht werden.

Architektur

Diese Referenzarchitektur zeigt, wie Sie mit OCI Vault MLE in Oracle Integration Cloud erreichen.

OCI Vault ist ein Verschlüsselungsverwaltungsservice, der Verschlüsselungsschlüssel und Secrets für den sicheren Zugriff auf Ressourcen speichert und verwaltet. Es stellt APIs bereit, mit denen Sie Schlüssel verwalten sowie Daten mit diesen Schlüsseln signieren, verschlüsseln und entschlüsseln können.

Bei der Arbeit mit Kryptografie gibt es zwei grundlegende Arten von Systemen zum Sichern von Daten.

  • Symmetrische Kryptografie verwendet denselben (privaten) Schlüssel für Verschlüsselung und Entschlüsselung. Absender und Empfänger müssen denselben Secret Key aufweisen, mit dem sie die Daten verschlüsseln und entschlüsseln. Wenn also jemand den Schlüssel abfängt, kann er die Daten entschlüsseln.
  • Asymmetrische Kryptografie hingegen verwendet zwei verschiedene Schlüssel: einen Public Key und einen Private Key. Der Absender verwendet den Public Key des Empfängers, um die Daten zu verschlüsseln, und der Empfänger verwendet seinen Private Key, um sie zu entschlüsseln. Der Private Key wird geheim gehalten und nie geteilt, was ihn viel sicherer macht als symmetrische Kryptographie.

Symmetrische Kryptographie hat den Vorteil der Geschwindigkeit, ist aber weniger sicher, da sie denselben Schlüssel sowohl für Verschlüsselung als auch Entschlüsselung verwendet. Asymmetrische Kryptografie ist zwar langsamer, ist aber sicherer, da der für die Entschlüsselung verwendete Private Key nie freigegeben wird und nur vom Empfänger aufgerufen werden kann.

OCI Vault unterstützt diese Schlüsselausprägungsalgorithmen.

Schlüsselformalgorithmus Beschreibung
Advanced Encryption Standard (AES) AES-Schlüssel sind symmetrische Schlüssel, mit denen Sie Daten verschlüsseln können.
Rivest-Shamir-Adleman (RSA) RSA-Schlüssel sind asymmetrische Schlüssel, auch Schlüsselpaare genannt, die aus einem Public Key und einem Private Key bestehen, mit denen Sie Daten während der Übertragung verschlüsseln, Daten signieren und die Integrität der signierten Daten prüfen können.
Elliptischer Kurven-Algorithmus für digitale Signatur (ECDSA) ECDSA-Schlüssel sind asymmetrische Schlüssel, mit denen Sie Daten signieren und die Integrität signierter Daten prüfen können.

Manchmal müssen Sie sowohl symmetrisch als auch asymmetrisch verwenden. Beispiel: Ein Kunde gibt seinen RSA-Public Key für Sie frei. Sie generieren und verwenden einen AES-Private Key zur Verschlüsselung der Daten und verschlüsseln den Private Key mit dem RSA-Public Key des Kunden, den Sie in der Payload senden. Da der Kunde seinen RSA-Private Key nicht gemeinsam verwendet hat, können nur er die Daten entschlüsseln, indem er zuerst den AES-Schlüssel entschlüsselt und dann die Payload entschlüsselt. Dies geschieht, wenn Ihre Payload-Größe größer ist als ein RSA-Schlüssel verschlüsselt werden kann.

Mit OCI Vault können Sie eigene Masterverschlüsselungsschlüssel importieren oder erstellen. Wenn Sie importiertes Schlüsselmaterial verwenden, bleiben Sie für das Schlüsselmaterial verantwortlich, während OCI Vault eine Kopie davon verwenden kann. Weitere Informationen zum Importieren von Schlüsseln finden Sie unter "Weitere Informationen".

OCI Vault stellt eine Reihe von APIs bereit, die von Oracle Integration Cloud verwendet werden können. Weitere Informationen zur Vault-Schlüsselverwaltungs-API finden Sie unter "Weitere Informationen". Im Folgenden werden einige der APIs aufgeführt, die häufig in Verschlüsselungsszenarios auf Nachrichtenebene verwendet werden.

API Beschreibung
Verschlüsseln Verschlüsselt Daten mit Verschlüsselungsdetails, die im Rahmen der Anforderung angegeben werden.
Löschen Entschlüsselt Daten mit Entschlüsselungsdetails, die im Rahmen der Anforderung angegeben werden.
Signieren Erstellt eine digitale Signatur für einen Nachrichten- oder Nachrichtendigest mit dem Private Key eines Public/Private-Key-Paares, das auch als asymmetrischer Schlüssel bezeichnet wird.
Verifizieren Prüft eine digitale Signatur, die vom Vorzeichenvorgang generiert wurde, indem der Public Key desselben asymmetrischen Schlüssels verwendet wird, der zum Signieren der Daten verwendet wurde. Wenn Sie die digitale Signatur außerhalb des Service validieren möchten, können Sie dazu den Public Key des asymmetrischen Schlüssels verwenden.

Wenn Sie in Oracle Integration Cloud arbeiten und die Payload verschlüsseln müssen, bevor Sie die Anforderung an eine Rest-API senden, können Sie OCI Vault verwenden. Wenn Sie mit symmetrischer Kryptografie arbeiten, können Sie den AES-Private Key empfangen, in OCI Vault hochladen und OCI Vault-APIs verwenden, um die Daten zu verschlüsseln und diese verschlüsselten Daten an die Rest-API zu senden. Wenn Sie asymmetrische Kryptografie benötigen, können Sie den RSA-Public Key empfangen, in OCI Vault hochladen und die OCI Vault-APIs verwenden, um die Daten zu verschlüsseln und diese verschlüsselten Daten an die Rest-API zu senden. Wenn Sie Rest-APIs in Oracle Integration Cloud für verschlüsselte Payload durchsetzen möchten, können Sie Schlüssel erstellen, mit Ihren Clients teilen und OCI Vault-APIs verwenden, um die Daten zu entschlüsseln und zu prüfen. Außerdem können Sie beide Schlüssel kombinieren, wenn Sie sowohl asymmetrische als auch symmetrische Kryptografie verwenden müssen.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.



OCI-vault-Architektur-oracle.zip

Die Architektur umfasst die folgenden Komponenten:

  • Oracle Integration Cloud

    Oracle Integration Cloud (OIC) bietet zahlreiche Tools und Services, mit denen Unternehmen ihre verschiedenen Anwendungen, Services und Datenquellen sowohl On Premise als auch in der Cloud integrieren können. OIC bietet eine Reihe von Features, darunter vorgefertigte Connectors für die Integration in verschiedene gängige Anwendungen wie Oracle Fusion, Salesforce, SAP, Workday und viele weitere sowie benutzerdefinierte Connectors für die Integration mit anderen Anwendungen und Services. Außerdem bietet es eine intuitive visuelle Oberfläche zum Entwerfen, Testen und Bereitstellen von Integrationen. So können Benutzer komplexe Integrationsworkflows einfach erstellen, ohne dass Programmierkenntnisse erforderlich sind.

  • Oracle Cloud Infrastructure Vault

    OCI Vault ist ein sicherer und skalierbarer Schlüsselverwaltungsservice, der von Oracle Cloud Infrastructure (OCI) angeboten wird. Es stellt einen zentralen Speicherort für die Verwaltung kryptografischer Schlüssel und Secrets bereit, mit denen OCI-Ressourcen und -Anwendungen gesichert werden. OCI Vault bietet eine Reihe von Features, darunter Schlüsselgenerierung und -speicher, sichere Verteilung von Schlüsseln, Verschlüsselung und Entschlüsselung. Damit können Benutzer ihre eigenen Schlüssel verwalten oder von OCI verwaltete Schlüssel verwenden. Benutzer können ihre Schlüssel auch regelmäßig rotieren, um maximale Sicherheit zu gewährleisten.

    OCI Vault bietet außerdem zahlreiche Rest-APIs zur Verwaltung von Vaults und Schlüsseln.

Überlegungen

Beachten Sie bei der Implementierung dieser Referenzarchitektur Folgendes.

  • Sicherheit

    Mit Oracle Cloud Infrastructure Identity and Access Management-(IAM-)Policys können Sie kontrollieren, wer auf Ihre Cloud-Ressourcen zugreifen kann und welche Vorgänge ausgeführt werden können. Weisen Sie Ressourcentypen die geringste Zugriffsberechtigung für IAM-Benutzer und -Gruppen zu.

  • Servicebeschränkungen

    Berücksichtigen Sie die Limits und Quoten für die OCI-Services, die in der Topologie verwendet werden. Siehe "Mehr anzeigen".

Bestätigungen

Autoren:

  • Harris Qureshi

Beitragende:

  • John Sulyok