Evoluzioni

Confidential Computing: rendere disponibili i dati senza svelarli

In un recente articolo il New York Times sottolinea come il crescente valore economico dei dati esige rigide tutele della privacy per poter utilizzare questi dati anche per il bene pubblico. È un apparente paradosso, ma occorre rendere disponibili i dati senza svelarli. Questa strategia aiuterebbe non solo un loro uso sociale ma anche una collaborazione competitiva tra imprese.

Come “opacizzare” i dati per un utilizzo anche condiviso ma efficace e sicuro?

Per avere una sicurezza completa, i dati devono essere protetti durante tutte le fasi del loro utilizzo: quando sono memorizzati, quando sono in transito e quando sono elaborati.

Negli anni si sono sviluppate tecniche efficaci per proteggere i dati memorizzati attraverso la crittografia e, quando sono in transito, sfruttando protocolli sicuri come l’HTTPS e il TLS.

Meno sicuro è il momento dell’elaborazione. Anche se i dati sono crittografati nel database, ad esempio, quando vengono inseriti nella memoria di lavoro del processore devono essere “in chiaro” e questo li rende vulnerabili agli attacchi.

Due tecniche sono state sviluppate negli ultimi tempi per ovviare a questo punto debole nel ciclo di vita dei dati: la computazione o informatica riservata (“computing confidential”) e la computazione omomorfica. Riservandoci di parlare della seconda in un prossimo post, occupiamoci di definire e illustrare la prima strategia.

Il concetto della computazione riservata è semplice: isolare una porzione del processore e della memoria per creare un ambiente sicuro per la computazione (“trusted execution environment” o TEE). Questa “enclave” (o bunker) contiene sia i dati che il codice, garantendo la loro riservatezza e integrità attraverso la sua separazione dal sistema operativo, da eventuali macchine virtuali o da altri processi privilegiati.

Un esempio banale. In un’enclave sono custodite le transazioni bancarie dei clienti. Un’app autorizzata richiede il saldo di ogni cliente: le operazioni di somma vengono svolte all’interno della stessa enclave, in modo che non vi sia modo, all’esterno, di avere ulteriori informazioni come il numero o l’entità delle singole transazioni del cliente.

Schema Confidential Computing

L’architettura confidential computing permette di spostare dati e carichi di lavoro sensibili in ambienti come cloud pubblici, data center e architetture di edge computing (microcalcolo distribuito). L’informatica riservata fornisce anche una piattaforma sicura a disposizione di più parti per combinare e analizzare dati mantenendoli riservati; questa possibilità risulta particolarmente interessante nel campo del machine learning in quanto consente di utilizzare dataset e algoritmi tra diverse entità o organizzazioni senza doverli condividere “in chiaro”. Un algoritmo di apprendimento automatico o un’applicazione di analisi come una piattaforma di trading azionario può vivere all’interno del TEE che protegge dati e codice: l’utente non rivela il suo portafoglio e l’azienda il suo algoritmo.

Altri usi del confidential computing si hanno nel trattamento dati, assicurando la conformità a direttive come il GDPR e nello sviluppo di applicazioni che possano essere usati in diversi ambienti cloud.

Sono due gli approcci per implementare soluzioni legate alla filosofia del confidential computing: Il primo, “morbido”, prevede la realizzazione di contenitori docker-type con linguaggi come Python o Java e partner come Scone, Fortanix, o Anjuna così come software open source come Graphene o Occlum.

Il secondo approccio, più specifico, richiede soluzioni software legate al sistema operativo e/o all’hardware; queste permettono un pieno controllo del codice all’interno contenitore/enclave.

I server Intel con Intel Software Guard Extension (SGX) e Microsoft’s Virtual Secure Mode per Hyper-V (Windows 10 e Windows Server 2016) sono due esempi di queste soluzioni. Recentemente R3 ha lanciato Conclave, la sua soluzione per il confidential computing vista anche come complemento della blockchain enterprise Corda.

Il Confidential Computing Consortium, nato sotto l’egida della Linux Foundation, riunisce produttori di hardware, fornitori di servizi cloud e piattaforme come Red Hat, Microsoft, Intel, Oracle, Google, Alibaba, Arm, VMware, Facebook, Tencent, Swisscom, AMD.

Questo attivismo giustifica la previsione di Gartner che elenca il “privacy-enhancing computation” come uno dei principali trend tecnologici per il 2021.


Fonti

The rise of Confidential computing(pdf) (RSAConference 2018)

Confidential Computing Consortium — Defining and Enabling Confidential Computing (pdf) (Linux Foundation)

Confidential Computing: Hardware-Based Trusted Execution for Applications and Data (pdf) (Confidential Computing Consortium)

What Is Confidential Computing? (IEEE Spectrum)

Confidential computing: the final frontier of data security(Protocol)

L’informatique confidentielle se dévoile (ICT Journal)

Originariamente pubblicato su Medium