Sarà il Confidential Computing a dare ulteriore impulso all’AI?

Un insieme di tecnologie che permettono di elevare sensibilmente il livello di sicurezza delle computazioni sembra essere la chiave per scatenare il potenziale dell’intelligenza artificiale e della data analysis abilitando, tra l’altro, nuovi paradigmi di collaborazione, anche in settori “delicati” tra cui l’healthcare.

Cos’è il confidential computing

Per Confidential computing si intende una famiglia di tecnologie che permettono di mantenere privati i dati durante lo svolgimento delle elaborazioni. L’approccio consiste nell’elaborare e immagazzinare informazioni (anche sensibili) in un ambiente sicuro e fidato, di fatto proteggendo privacy ed integrità di codice/dati durante l’elaborazione.

I vantaggi che questo approccio offre sono essenzialmente due:

  1. Crittografia dei dati “in use”, in aggiunta alla crittografia dei dati “at rest” (es. quando sono immagazzinati negli storage) ed alla crittografia “in transit” (es. quando viaggiano sulla rete). Proteggere i dati “in use” vuol dire schermare dati e programmi durante il lasso di tempo in cui sono in elaborazione dagli eventuali attacchi sferrati da hacker mediante altri processi in esecuzione nello stesso ambiente (es. ambienti cloud pubblici).
  2. Possibilità di attuare strategie di collaborazione con altri partner interessati a mettere in comune i propri dati al fine di estrarre conoscenza utile ma senza doverli necessariamente condividere “in chiaro”. Sostanzialmente il principio è quello di sfruttare i dati di tutti senza condividerli con tutti.

Da queste due caratteristiche discendono altri vantaggi, che vedremo in seguito.

Come realizzare le computazioni confidenziali?

Gli approcci disponibili sono due, il primo è basato su tecniche avanzate di crittografia quali la crittografia omomorfa combinata anche alle computazioni multi-party, mentre la seconda prevede di realizzare delle enclavi crittografate (detti TEE – Trusted Execution Environment) con il supporto diretto dell’hardware.

Approccio crittografico

Approccio è estremamente elegante e supportato da solide basi matematiche, ma purtroppo scarsamente applicabile in contesti dove il carico computazionale è importante (es. allenamento di una rete neurale o altri strumenti di machine learning, esecuzione di interrogazioni complesse su archivi e database, etc.).

Uno dei vantaggi dell’approccio crittografico è quello di non avere necessità di hardware dedicato, tuttavia la fase di messa in campo delle applicazioni è piuttosto farraginosa.

Approccio supportato dall’hardware

Il secondo approccio prevede di sfruttare un nuovo componente hardware presente nei processori delle ultime generazioni (il MEE – Memory Encryption Engine). Questo componente ha lo scopo di crittografare i dati che vanno dalla memoria di sistema alla CPU e viceversa, rendendo impossibile anche all’amministratore di sistema con pieni privilegi leggere tali dati, se non in forma cifrata. Il meccanismo viene usato per implementare i TEE con lo scopo di proteggere il codice ed i dati dell’applicazione da qualsiasi altro processo che giri sulla stessa macchina.

I vantaggi sono evidenti:

  • Gestione delle enclavi crittografate senza impatto negativo sulle prestazioni
  • I fornitori principali di servizi cloud offrono già supporto ai TEE
  • Deployment delle applicazioni abbastanza agevole

Hai bisogno di integrare l’AI nella tua azienda?

Esempio: Confidential Computing + AI = ConfidentialAI

Oggi disponiamo di modelli di reti neurali in grado di aiutare concretamente gli utenti nel lavoro giornaliero, scrivendo e riassumendo testi, estraendo dati, scrivendo codice, etc.

Prendiamo l’esempio di ChatGPT: gli utenti hanno ricevuto questa tecnologia incredibile direttamente nel loro smartphone e, come è normale che sia, stanno cercando il modo di usarla per ottimizzare le proprie attività giornaliere.

Ora siamo di fronte ad un problema:

OpenAI (che ha sviluppato ChatGPT) mantiene il modello confidenziale, ovvero questo è segregato all’interno della propria infrastruttura di erogazione e gli utenti possono solo interrogarlo e ricevere i risultati.

Tuttavia non c’è alcuna garanzia che l’input che l’utente invia a ChatGPT (il cosiddetto “prompt”) sia mantenuto confidenziale.

Facciamo un esempio:

Un medico vuole semplificare il testo di un referto per renderlo comprensibile al paziente ed ai suoi familiari (in alcuni paesi questa pratica fa parte del codice di comportamento dei medici di medicina generale).

Apre l’app di ChatGPT, imposta la sua richiesta e carica il referto inclusi i dati personali, o comunque sensibili, del paziente.

ChatGPT non da alcuna garanzia tecnica su come vengano trattati i dati inclusi nel prompt (richiesta di semplificazione + referto). Questi dati sono certamente importanti per chi sviluppa il modello e rappresentano un’ulteriore sorgente utile per raffinarlo mediante operazioni di retraining.

I dati sensibili raccolti tramite i prompt degli utenti sono quindi potenzialmente a rischio di diffusione incontrollata, con tutte le conseguenze che ne derivano. I referti del nostro esempio potrebbero infatti arrivare, a seguito magari di un data-breach, a entità interessate a conoscerli, come per esempio le assicurazioni, che avrebbero quindi accesso a dati sensibili completi.

Il confidential computing ha le caratteristiche giuste per garantire la privacy agli utenti che vogliono usare strumenti di intelligenza artificiale sui dati sensibili.

Grazie ai Trusted Execution Environment infatti si può inviare dati sensibili e ricevere risposte da un modello senza che questi due elementi possano essere monitorati, salvati e poi usati per altri scopi, ne dal proprietario dell’applicazione ne dai fornitori di servizi cloud su cui l’applicazione gira.

L’impiego di soluzioni basate sui TEEs permettono quindi di:

  • rassicurare gli utenti che sono sempre più riluttanti a fornire i propri dati sensibili ai fornitori di servizi
  • ridurre, o quasi annullare, i rischi a cui si espongono i fornitori di servizi quando trattano dati sensibili aumentando di fatto la compliance con le normative del settore (es. GDPR)

Potenziale enorme

Il potenziale della tecnologia è enorme e sembra avere le caratteristiche adatte a rivoluzionare interi settori favorendo la nascita di nuovi modelli di business.

Collaborazione flessibile

Mantenere i dati in silos sigillati e segregati all’interno del proprio perimetro sicuro è la strategia più diffusa tra le compagnie per proteggere i dati. Purtroppo questo limita enormemente le capacità di stabilire relazioni con altri soggetti con lo scopo di mettere a fattor comune i propri dati per estrarre conoscenza utile alla crescita di entrambi.

Il confidential computing permette di superare queste limitazioni mediante strumenti che impediscono, in modo concreto e sostanziale, la diffusione incontrollata delle informazioni. (es. BeeKeeperAI )

Edge computing

Nelle soluzioni che fanno uso di Edge computing (computazioni effettuate su dispositivi dislocati sul campo) è possibile garantire l’elaborazione in sicurezza dei dati personali come dati biometrici oppure dati relativi alla localizzazione ed altre informazioni sensibili. Ricordiamo che tali dispositivi sono spesso installati in ambienti ostili o non presidiati e quindi è necessario essere preparati a fronteggiare attacchi anche diretti all’hardware stesso. Anche in questo caso l’impiego dei TEEs innalza notevolmente il livello di sicurezza preservando l’integrità del software e dei dati.

Protezione proprietà intellettuale

Il confidential computing supporta la protezione della proprietà intellettuale di software proprietario, sia quando è in esecuzione su piattaforme cloud che quando è dislocato su dispositivi Edge, per esempio nelle installazioni IoT.

Blockchain

Anche il mondo delle tecnologie basate su blockchain guarda alla tecnologie di confcomp con crescente interesse.

L’obiettivo è dotare le applicazioni distribuite realizzate su piattaforme blockchain di strumenti per preservare la privacy ed abilitare un’economia dei dati più etica e giusta.

E’ questa la proposta del progetto Oasis che impiega la tecnologia dei TEE per realizzare smart contract confidenziali.

Conclusioni

Il confidential computing è una tecnologia utile e necessaria. E’ solo una questione di tempo e la protezione dei dati “in use” sarà richiesta dai regolatori, proprio come oggi chi tratta dati sensibili ha l’obbligo di integrare tecniche di crittografia per trasferire o immagazzinare i dati. Il potenziale della tecnologia tuttavia va molto oltre ed è in grado di abilitare la realizzazione di nuovi ed interessanti modelli di business.

Buon brainstorming

Hai bisogno di integrare l’AI nella tua azienda?