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

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. Implica l'utilizzo di algoritmi di crittografia per scomporre il contenuto di un messaggio in modo che solo il destinatario previsto, con le chiavi di decifrazione, possa leggerlo.

Rest API sono stateless per architettura, il che significa che il server non sta mantenendo una sessione e non ha informazioni sul 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 è rivolta all'autenticazione, all'autorizzazione e alla riservatezza.

Per l'autenticazione e l'autorizzazione, esistono protocolli e procedure ottimali che variano da chiavi API, autenticazione di base, token JWT a oAuth. Per motivi di riservatezza, è possibile abilitare TLS (Transport Level Security), il processo di protezione della comunicazione su una rete mediante la cifratura del traffico. Per questo motivo, la maggior parte delle API Rest applica HTTPS anziché HTTP semplice. Tutti questi hanno i propri pro e contro e sono supportati da Oracle Integration.

Mentre la sicurezza a livello di rete soddisfa i requisiti per la maggior parte del tempo, ci sono momenti in cui è richiesta l'applicazione della crittografia a livello di messaggio o payload (ad esempio, quando include informazioni sensibili, come: informazioni di identificazione personale [PII], numeri di carta di credito, dettagli del conto bancario, cartelle cliniche o simili). Per questo motivo, molti gateway di pagamento (Visa, MasterCard, enti governativi) applicano MLE per le API Rest contenenti dati sensibili.

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

Architettura

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

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

Quando si lavora con la crittografia, ci sono 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 e il destinatario utilizza la propria chiave privata per decifrarli. La chiave privata viene mantenuta segreta e mai condivisa, il che la rende molto più sicura della crittografia simmetrica.

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

OCI Vault supporta questi algoritmi di forme delle chiavi.

Algoritmo forma chiave Descrizione
Acronimo di Advanced Encryption Standard (AES) Le chiavi AES sono chiavi simmetriche che è possibile utilizzare per cifrare i dati.
Rivest-Shamir-Adleman (RSA) Le chiavi RSA sono chiavi asimmetriche, note anche come coppie di chiavi, costituite da una chiave pubblica e una chiave privata che è possibile utilizzare per cifrare i dati in transito, firmare i dati e verificare l'integrità dei dati firmati.
Algoritmo di firma digitale della crittografia della curva ellittica (ECDSA) Le chiavi ECDSA sono chiavi asimmetriche che è possibile utilizzare per firmare i dati e per 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, genera e utilizza una chiave privata AES per cifrare i dati e cifra la chiave privata con la chiave pubblica RSA del cliente, che viene inviata nel payload. Poiché il cliente non ha condiviso la propria chiave privata RSA, solo lui può decifrare i dati, prima decifrando la chiave AES e poi usandola per decifrare il payload. Questa operazione viene eseguita quando la dimensione del payload è maggiore di quella consentita da una chiave RSA.

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

OCI Vault fornisce una serie di API che possono essere utilizzate da Oracle Integration. Scopri di più sull'API di gestione delle chiavi vault. Di seguito sono riportate alcune delle API utilizzate di frequente 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 di decifrazione forniti nell'ambito della richiesta.
Sign Crea una firma digitale per un messaggio o un messaggio digest utilizzando la chiave privata di una coppia di chiavi pubblico-privato, nota anche come chiave asimmetrica.
Verifica Verifica una firma digitale generata dall'operazione di firma utilizzando la chiave pubblica della stessa chiave asimmetrica utilizzata per firmare i dati. Se si desidera convalidare la firma digitale esterna al servizio, è possibile farlo utilizzando la chiave pubblica della chiave asimmetrica.

Quando si utilizza Oracle Integration e si deve cifrare il payload prima di inviare la richiesta a un'interfaccia API Rest, è possibile utilizzare Vault OCI. Se si utilizza la crittografia simmetrica, è possibile ricevere la chiave privata AES, caricarla in OCI Vault e utilizzare le API di OCI Vault per cifrare i dati e inviare questi dati cifrati all'API Rest. Se è necessaria la crittografia asimmetrica, è possibile ricevere la chiave pubblica RSA, caricarla in OCI Vault e utilizzare le API OCI Vault per cifrare i dati e inviare questi dati cifrati all'API Rest. Analogamente, se si desidera applicare le interfacce API Rest in Oracle Integration per avere un payload cifrato, è possibile creare chiavi, condividere con i client e utilizzare le interfacce API di OCI Vault per decifrare i dati e verificarli. Inoltre, è possibile combinare entrambe le chiavi quando è necessario utilizzare sia la crittografia asimmetrica che quella simmetrica.

Il seguente diagramma illustra questa architettura di riferimento.



oci-vault-architecture-oracle.zip

L'architettura presenta i seguenti componenti:

  • Oracle Integration

    Oracle Integration offre un set completo di strumenti e servizi che consentono alle organizzazioni di integrare le varie applicazioni, servizi e origini dati, sia on premise che nel cloud. Oracle Integration offre una vasta gamma di funzioni, inclusi i connettori predefiniti per l'integrazione con varie applicazioni popolari come Oracle Fusion, Salesforce, SAP, Workday e molte altre, nonché connettori personalizzati per l'integrazione con altre applicazioni e servizi. Fornisce inoltre un'interfaccia visiva intuitiva per la progettazione, il test e la distribuzione delle integrazioni, semplificando 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 vasta 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 utilizzare le chiavi gestite da OCI. Gli utenti possono anche ruotare le loro chiavi regolarmente per garantire la massima sicurezza.

    OCI Vault offre anche un ricco set di API Rest per gestire vault e chiavi.

Considerazioni

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

  • Sicurezza

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

  • Limiti del servizio

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

conferme

Autori:

  • Harris Qureshi

Redattori:

  • John Sulyok