Implementare la cifratura a livello di messaggio in Oracle Integration Cloud utilizzando OCI Vault

La cifratura a livello di messaggio (MLE, Message-Level Encryption) è una tecnica di sicurezza utilizzata per proteggere la riservatezza e l'integrità di un messaggio durante la trasmissione. Richiede l'uso di algoritmi di cifratura per eseguire lo scrapping del contenuto di un messaggio in modo che solo il destinatario previsto, con le chiavi di decifrazione, possa leggerlo.

Le API Rest sono senza conservazione dello stato in base all'architettura, ossia che il server non gestisce una sessione e non dispone di informazioni relative al client. Nella richiesta, il client deve inviare tutte le informazioni per consentire al server di rispondere. Quando si lavora con l'API Rest e la sicurezza, l'attenzione si concentra sull'autenticazione, l'autorizzazione e la riservatezza.

Per l'autenticazione e l'autorizzazione sono disponibili protocolli e procedure ottimali che variano da chiavi API, autenticazione di base, token JWT a oAuth. Per la riservatezza, è possibile abilitare TLS (Transport Level Security), il processo di protezione della comunicazione su una rete cifrando il traffico. Per questo motivo, la maggior parte delle API Rest applica HTTPS invece che HTTP semplice. Tutti questi prodotti hanno vantaggi e svantaggi e sono supportati da Oracle Integration Cloud immediatamente all'uso.

Sebbene la sicurezza a livello di rete soddisfi i requisiti per la maggior parte del tempo, ci sono momenti in cui è necessario applicare la cifratura a livello di messaggio o payload (ad esempio, quando include informazioni riservate, quali: informazioni di identificazione personale [PII], numeri di carta di credito, dati del conto bancario, cartelle cliniche o simili). Per questo motivo molti gateway dei pagamenti (Visa, MasterCard, enti governativi) applicano MLE per le API Rest contenenti dati riservati.

Oracle Integration Cloud offre funzioni pronte all'uso per soddisfare l'autenticazione, l'autorizzazione e TLS. È possibile ottenere MLE utilizzando OCI Vault.

Architettura

Questa architettura di riferimento illustra come utilizzare OCI Vault per ottenere MLE in Oracle Integration Cloud.

OCI Vault è un servizio di gestione della cifratura che memorizza e gestisce chiavi e segreti di cifratura per accedere in modo sicuro alle risorse. Fornisce API per consentire la gestione delle chiavi, nonché la firma, la cifratura e la decifrazione dei dati utilizzando queste chiavi.

Quando si lavora con la crittografia, esistono due tipi fondamentali di sistemi per proteggere i dati.

  • La crittografia simmetrica utilizza la stessa chiave (privata) per la cifratura e la decifrazione. Il mittente e il destinatario devono avere la stessa chiave segreta utilizzata per cifrare e decifrare i dati. Ciò significa che se qualcuno intercetta la chiave, può decifrare i dati.
  • La crittografia asimmetrica invece utilizza due chiavi diverse: una chiave pubblica e una chiave privata. Il mittente utilizza la chiave pubblica del destinatario per cifrare i dati, mentre il destinatario utilizza la propria chiave privata per decifrarli. La chiave privata viene mantenuta segreta e non viene mai condivisa, il che la rende molto più sicura della crittografia simmetrica.

La crittografia simmetrica ha il vantaggio della velocità, ma è meno sicura in quanto utilizza la stessa chiave sia per la cifratura che per la decifrazione. La crittografia asimmetrica, mentre più lenta, è più sicura in quanto la chiave privata utilizzata per la decifrazione non viene mai condivisa e può essere accessibile solo dal destinatario.

OCI Vault supporta questi algoritmi di forma della chiave.

Algoritmo della forma della chiave Descrizione
AES (Advanced Encryption Standard) Le chiavi AES sono chiavi simmetriche che puoi usare per cifrare i dati.
Rivest-Shamir-Adleman (RSA) Le chiavi RSA sono chiavi asimmetriche, note anche come coppie di chiavi, composte da una chiave pubblica e una chiave privata che puoi utilizzare per cifrare i dati in transito, firmare i dati e verificare l'integrità dei dati firmati.
Algoritmo di firma digitale della curva ellittica (ECDSA) Le chiavi ECDSA sono chiavi asimmetriche che puoi utilizzare per firmare i dati e verificare l'integrità dei dati firmati.

A volte, è necessario utilizzare sia simmetrico che asimmetrico. Ad esempio, un cliente condivide la propria chiave pubblica RSA con l'utente; è possibile generare e utilizzare una chiave privata AES per cifrare i dati; inoltre, la chiave privata viene cifrata con la chiave pubblica RSA del cliente, che viene inviata nel payload. Poiché il cliente non ha condiviso la propria chiave privata RSA, solo può decifrare i dati, in primo luogo decifrando la chiave AES e quindi utilizzandola per decifrare il payload. Questa operazione viene eseguita quando la dimensione del payload è maggiore della capacità di cifratura di una chiave RSA.

OCI Vault consente di importare o creare chiavi di cifratura principali personalizzate. Quando si utilizza il materiale chiave importato, si rimane responsabili del materiale chiave consentendo al Vault OCI di utilizzarne una copia. Per informazioni sull'importazione delle chiavi, vedere Esplora altro.

OCI Vault fornisce una serie di API che possono essere utilizzate da Oracle Integration Cloud. Scopri di più sull'API di gestione delle chiavi del vault. Di seguito sono riportate alcune delle API utilizzate comunemente negli scenari di cifratura a livello di messaggio.

API Descrizione
Cifra Cifra i dati utilizzando i dettagli di cifratura forniti nell'ambito della richiesta.
Decifra Decifra i dati utilizzando i dettagli della decifrazione forniti come parte della richiesta.
Firma Crea una firma digitale per un messaggio o un messaggio digest utilizzando la chiave privata di una coppia di chiavi pubblica-privata, nota anche come chiave asimmetrica.
Verifica Verifica una firma digitale generata dall'operazione del segno utilizzando la chiave pubblica della stessa chiave asimmetrica utilizzata per firmare i dati. Se vuoi convalidare la firma digitale al di fuori del servizio, puoi farlo utilizzando la chiave pubblica della chiave asimmetrica.

Quando si utilizza Oracle Integration Cloud e si deve cifrare il payload prima di inviare la richiesta a un'API Rest, è possibile utilizzare OCI Vault. Se si sta utilizzando la crittografia simmetrica, è possibile ricevere la chiave privata AES, caricarla nel vault OCI e utilizzare le API ult OCI per cifrare i dati e inviare questi dati cifrati all'API Rest. Se hai bisogno di crittografia asimmetrica, puoi ricevere la chiave pubblica RSA, caricarla su OCI Vault e utilizzare le API OCI Vault per cifrare i dati e inviare questi dati cifrati all'API Rest. Analogamente, se desideri applicare le API Rest in Oracle Integration Cloud in modo che il payload cifrato, puoi creare chiavi, condividere con i tuoi client e utilizzare le API OCI Vault per decifrare i dati e verificare. Inoltre, puoi combinare entrambe le chiavi quando hai bisogno di utilizzare sia la crittografia asimmetrica che quella simmetrica.

Il diagramma riportato di seguito illustra questa architettura di riferimento.



architettura oci-vault-oracle.zip

L'architettura è dotata dei componenti elencati di seguito.

  • Oracle Integration Cloud

    Oracle Integration Cloud (OIC) offre un set completo di strumenti e servizi per aiutare le organizzazioni a integrare le proprie varie applicazioni, servizi e origini dati, sia on premise che nel cloud. OIC offre una vasta gamma di funzioni, tra cui connettori predefiniti per l'integrazione con varie applicazioni più diffuse come Oracle Fusion, Salesforce, SAP, Workday e molti altri, nonché connettori personalizzati per l'integrazione con altre applicazioni e servizi. Inoltre, offre un'interfaccia visiva intuitiva per la progettazione, il test e la distribuzione delle integrazioni. Semplifica la creazione di flussi di lavoro di integrazione complessi senza richiedere competenze di codifica.

  • Oracle Cloud Infrastructure Vault

    OCI Vault è un servizio di gestione delle chiavi sicuro e scalabile offerto da Oracle Cloud Infrastructure (OCI). Fornisce una posizione centralizzata per la gestione delle chiavi e dei segreti crittografici utilizzati per proteggere le risorse e le applicazioni OCI. OCI Vault offre una gamma di funzioni, tra cui la generazione e lo storage delle chiavi, la distribuzione sicura delle chiavi, la cifratura e la decifrazione. Consente agli utenti di gestire le proprie chiavi o di utilizzare chiavi gestite da OCI. Gli utenti possono anche ruotare regolarmente le chiavi per garantire la massima sicurezza.

    Inoltre, OCI Vault offre un ricco set di API Rest per gestire i vault e le chiavi.

Considerazioni

Considerare i seguenti punti quando si implementa questa architettura di riferimento.

  • Sicurezza

    Utilizza i criteri Oracle Cloud Infrastructure Identity and Access Management (IAM) per controllare chi può accedere alle tue risorse cloud e quali operazioni è possibile eseguire. Assegnare l'accesso con privilegi minimi per utenti e gruppi IAM ai tipi di risorsa.

  • Limite del servizio

    Considerare i limiti e le quote per i servizi OCI utilizzati nella topologia. Visualizza altro.

Conferme

Autori:

  • Harris Qureshi

Redattori:

  • John Sulyok