SEV, la tecnologia chiave di AMD EPYC nasce sulle console

Forrest Norrod, vicepresidente di AMD per le soluzioni embedded e datacenter, ha spiegato che SEV (Secure Encrypted Virtualization) è una funzionalità nata grazie a PS4 e Xbox One.

Avatar di Fabio Meazza

a cura di Fabio Meazza

Forrest Norrod, vicepresidente di AMD per le soluzioni embedded e datacenter, ha spiegato al sito CRN che è stato il lavoro svolto dall'azienda su Xbox One e Playstation 4 a portare allo sviluppo di SEV (Secure Encrypted Virtualization), una funzionalità molto importante presente nei processori EPYC per i server.

Norrod sostiene che SEV diventerà una funzionalità fondamentale, un vero e proprio must-have, per le aziende impegnate nel settore datacenter nei prossimi anni: "Credo che fra tre o quattro anni, sarà ridicolo pensare di implementare una macchina virtuale nel cloud senza controllarla e isolarla crittograficamente dal provider cloud".

AMD ha iniziato a lavorare su SEV mentre stava progettando i chip semi-custom di Xbox One e PS4, nel 2014. Norrod ha spiegato che le precedenti console erano facilmente hackerabili, perciò la pirateria era così diffusa.

L'isolamento crittografico implementato da AMD per le console ha permesso agli sviluppatori di giochi di tirare un bel sospiro di sollievo sul fronte della pirateria. Dopodiché l'azienda ha deciso d'implementarla anche nei chip EPYC per i server, recentemente giunti alla seconda generazione.

Norrod ha infatti visto potenziale per questa tecnologia anche sui server, per le macchina virtuali e i container ospitatati nel cloud - allo stesso modo in cui gli sviluppatori di giochi non hanno fiducia dei possessori di console, anche gli sviluppatori di applicazioni cloud non dovranno più preoccuparsi di esporre dati sensibili dalle loro applicazioni, perpetrati dai proprietari dei datacenter.

Cos’è AMD SEV?

La Secure Encrypted Virtualization nei processori AMD EPYC consente di cifrare l’intero memoria di macchine virtuali su server con chip AMD senza richiedere agli sviluppatori cambiamenti del codice delle applicazioni virtualizzate - la funzione deve però essere abilitata dal sistema operativo host e dall'hypervisor.

La differenza tra AMD SEV e Intel SGX (Software Guard eXtensions) è che SGX cifra solo una piccola parte del codice dell'applicazione, come quella dove sono immagazzinate le chiavi crittografiche. AMD SEV cifra invece tutto il codice in funzione di un'applicazione virtualizzata.

Entrambi gli approcci presentano vantaggi e svantaggi: sebbene in teoria l'approccio di AMD risulti migliore, in pratica la cifratura completa del codice potrebbe non risultare così efficace. Grazie a questo infatti la superficie di attacco è nettamente maggiore.

Intel sta tuttavia lavorando su una tecnologia simile, MKTME (Multi-Key Total Memory Encryption), ma il debutto è ancora lontano. Con la seconda generazione di processori EPYC (Rome) AMD ha migliorato di molto il livello di sicurezza: si passa da un limite di 15 chiavi di cifratura generabili fino a 509. Tali chiavi sono generate dal PSP (Platform Security Processor) di AMD, un coprocessore ARM non accessibile dall’hypervisor o dalla VM.

Norrod ha affermato che AMD ha lavorato con VMWare per i processori EPYC di seconda generazione, quindi SEV sarà supportata dalla prossima versione del software di virtualizzazione VSphere. Anche Red Hat di IBM ed alcune distribuzioni Linux supporteranno questa tecnologia presto.