I dati, per quanto protetti, durante l’elaborazione su Cpu e Gpu restano vulnerabili perché diventano accessibili in forma diretta almeno ai sistemi operativi di dispositivi e server, alle applicazioni ed in alcuni casi anche a determinati processi specifici eseguiti sugli endpoint o nelle risorse in cloud. Questo accade perché prima che possano essere elaborati nella maggior parte dei casi è richiesto che essi siano disponibili “in chiaro” nella memoria. Prima, durante e dopo l’elaborazione sono quindi esposti a dump, compromissioni di utente root e altre minacce. Proprio l’utilizzo sempre più intensivo dei sistemi multicloud ha contribuito ad estendere ed ampliare l’esposizione delle informazioni in questo senso, ma allo stesso tempo anche in cloud è possibile oggi adottare il paradigma del confidential computing per proteggere i dati nella fase in cui più sono esposti, preservando privacy e conformità attraverso l’utilizzo di tecnologie di crittografia ed isolamento. Spieghiamo come.

Il paradigma del confidential computing

Il confidential computing rende disponibile un ambiente di “execution” protetto come parte isolata di una risorsa hardware. Si parla infatti di Trusted Execution Environments (Tee) per definire un ambiente di esecuzione protetto e isolato all’interno di un dispositivo o di un server. Un esempio concreto al riguardo è il sistema Intel Sgx (Software Guard Extensions), che di fatto genera una sorta di “enclave” all’interno del processore in cui i dati possono essere elaborati senza essere accessibili al sistema operativo o ad altre applicazioni.

Confidential computing - La protezione dei dati in uso anche durante l'elaborazione (fonte: Nvidia)
Confidential computing – La protezione dei dati in uso anche durante l’elaborazione (fonte: Nvidia)

L’ambiente viene protetto utilizzando chiavi di crittografia incorporate e meccanismi che garantiscono che le chiavi siano accessibili soltanto al codice applicativo autorizzato. Un tentativo di accesso non autorizzato a queste chiavi, o la violazione/alterazione del codice, deteriora l’ambiente di esecuzione ritenuto fino a quel punto affidabile che nega il processo di calcolo. In un ambiente “sano” invece i dati restano protetti finché l’applicazione indica all’ambiente di esecuzione affidabile di decrittografarli per l’elaborazione ma, durante il processo di decrittografia e quello di calcolo, essi sono invisibili a sistemi operativi, hypervisor, risorse dello stack, provider e dipendenti.

Tre quindi gli ambiti di protezione del dato
cui i sistemi di confidential computing contribuiscono: la riservatezza dei dati, perché le entità non autorizzate non possono visualizzare i dati mentre sono in uso all’interno del Tee; la loro integrità perché chiunque e qualsiasi componente non è autorizzato all’accesso non potrà nemmeno aggiungere, alterare o rimuovere informazioni in uso nel Tee; ed infine viene assicurata anche l’integrità del codice.

E’ possibile realizzare quella che stiamo definendo come una sorta di elaborazione “riservata”, attraverso l’isolamento delle virtual machine, delle applicazioni (si parla allora di isolamento del processo), o di una singola funzione (e allora si parla di isolamento delle librerie).
Nel primo caso vengono isolati gli elementi gestiti dall’infrastruttura o dal provider cloud, ma è consentito l’accesso ai dati solo agli elementi interni della macchina virtuale, nel secondo caso si autorizzano specifiche applicazioni o processi software – isolati a seconda di come si preferisce – mentre isolare una “funzione” prevede di consentire l’accesso solo ad una specifica subroutine di un’applicazione.

Una soluzione per “collaborare” sui dati

E’ facile comprendere tuttavia come un eccessivo “isolamento” non sia sempre funzionale ad un’effettiva valorizzazione del dato, per quanto protetta. Basterebbe pensare al caso in cui più realtà ed entità hanno bisogno di elaborare congiuntamente le informazioni. In questi casi il paradigma del confidential computing presuppone l’utilizzo di tecnologie di Secure Multiparty Computation (Smc) per cui attraverso protocolli crittografici evoluti, le parti coinvolte possono eseguire calcoli sui dati senza doverli condividere esplicitamente. E’ preservata la privacy delle informazioni quindi anche quando vengono elaborate “in collaborazione”. La terza tecnologia chiave alla base del confidential computing è rappresentata dalle crittografie omomorfiche, sono quelle che consentono di effettuare operazioni direttamente sui dati crittografati senza doverli decifrare. I dati rimangono protetti anche durante l’elaborazione e solo il risultato finale è accessibile. 

Confidential computing, ambiti di utilizzo

Sulla scorta di queste possibilità offerte dalle tecnologie si indirizzano quindi tutti quei casi in cui è necessario proteggere i dati sensibili durante il loro utilizzo, estendendo i vantaggi del cloud anche ai workload di questo tipo, perché il confidential computing rende possibile spostare dataset dalle infrastrutture IT on-premise per l’elaborazione anche sui cloud pubblici con la protezione garantita secondo questi criteri, ovviamente a patto che crittografia dei dati, inattivi e in transito, e controllo esclusivo delle chiavi siano già abilitati. Sulla base dei medesimi criteri il confidential computing permette anche una migliore protezione della proprietà intellettuale, delle applicazioni stesse, così come degli algoritmi di ML preziosi, etc.

Il maggior “beneficio” ed il più importante caso d’uso del confidential computing è da individuare nella sua potenzialità di “sbloccare” le indecisioni tra l’utilizzo del cloud di diversi provider, perché non è più necessario preoccuparsi della memorizzazione ed elaborazione dei dati del cliente, della tecnologia proprietaria e di altri asset sensibili, ma solo della disponibilità di un “ambiente protetto” come quello descritto. Un ultimo caso d’utilizzo del confidential computing non riguarda il cloud ma l’edge. Distribuire infatti questo framework sul perimetro assicura la possibilità di elaborazione protetta delle informazioni anche al di fuori dei data center.

L’impegno delle aziende 

Credono al modello le aziende che già nel 2019 hanno dato vita al Confidential Computing Consortium, tra cui Intel appunto, ma anche Ibm/Red Hat, Google, Oracle, Amd, Microsoft, Vmware, Nvidia e altri ancora. Il consorzio definisce gli standard validi per il settore e promuove gli strumenti open source. Proprio in occasione dell’ultima edizione del Confidential Computing Summit 2023, Vmware ha annunciato l’alleanza con Amd, Samsung e i membri della community Risc-V Keystone per semplificare lo sviluppo e le operation di applicazioni di confidential computing e la volontà di lavorare fianco a fianco per facilitare la transizione verso un confidential computing pratico, collaborando e contribuendo al progetto open source Certifier Framework for Confidential Computing.

I componenti base di Certifier Framework for Confidential Computing
I componenti base di Certifier Framework per il confidential computing (fonte: Vmware)

L’idea alla base è che standardizzando un’Api facile da usare e indipendente dalla piattaforma utilizzata per la creazione e l’utilizzo di applicazioni di confidential computing, si superi uno degli ostacoli più significativi all’adozione del paradigma. Il framework semplifica lo sviluppo di carichi di lavoro cloud sicuri, di servizi di segretezza e di applicazioni che preservano la privacy, compresi i workload di machine learning e di “data economy” che si basano su dati e modelli sensibili aggregati da più fonti.
Il supporto platform-independent, grazie alla standardizzazione dell’Api, abilita l’applicazione di trust policy condivise in grado di proteggere meglio i carichi di lavoro su infrastrutture on-premise e di terze parti, tra cui telco cloud edge, ambienti multicloud e sovereign cloud. Un passo per accelerarne l’adozione non appena sarà disponibile negli ecosistemi x86, Arm e Risc-V.

© RIPRODUZIONE RISERVATA

Condividi l'articolo: