AMD ha recuperato tanto terreno con i suoi nuovi processori Ryzen ed EPYC, non solo sul piano della potenza pura ma anche per ciò che concerne le caratteristiche accessorie. Una delle funzionalità maggiormente richieste, ad esempio, è la possibilità di abilitare la cifratura del contenuto della memoria principale del sistema. Ciò è già permesso da alcuni processori AMD per il mercato professionale (tecnologie AMD SME, Secure Memory Encryption, e SEV, Secure Encrypted Virtualization) mentre Intel fa affidamento alle estensioni SGX (Software Guard Extensions) che consentono la gestione di un’enclave sicura da parte della CPU.
In vista del suo Security Day, Intel ha annunciato che i suoi futuri processori integreranno la possibilità di crittografare interamente la memoria principale a livello di processore, un po’ come già avviene per le unità a stato solido che supportano la crittografia in hardware.
Mentre infatti la crittografia sui processori AMD non ha un impatto significativo sulle prestazioni, come evidenzia una ricerca accademica firmata dagli esperti della Wayne State University e dell’Università di Houston, la cifratura software mediante SGX comporta comunque conseguenze negative sul versante delle performance.
Parte della perdita di prestazioni è dovuta al fatto che nella memoria principale viene creato un ambiente sicuro per la cifratura e la decifratura delle informazioni mentre ciò non avviene utilizzando una soluzione in hardware. Il tempo di elaborazione aggiuntivo, necessario per la gestione delle informazioni cifrate, è causa della riduzione delle performance.
I prossimi processori Intel aggiungeranno la possibilità di utilizzare la crittografia completa della memoria (TME, Total Memory Encryption) e utilizzeranno la tecnologia (MKTME, Multi-Key Total Memory Encryption).
Entrambe sono state definite da molti, per adesso, vapoware perché sebbene i tecnici di Microsoft abbiano condiviso una vasta mole di aggiornamenti per il kernel Linux al fine di supportarle, ad oggi non esistono processori compatibili.
A differenza di SGX, AMD SME permette a qualsiasi pagina della memoria RAM di essere crittografata e decifrata in hardware. Ciascuna pagina viene cifrata con una chiave AES a 128 bit generata tramite RNG (generatore di numeri casuali) ad ogni riavvio del sistema.
Tali chiavi risultano accessibili solo all’hardware della CPU stessa e non possono essere esposte agli utenti (compresi gli utenti root o gli amministratori di sistema).
MKTME è un’estensione di Intel TME che permetterà di crittografare pagine della memoria multiple con differenti chiavi crittografiche (fino a 64 in totale).
Le applicazioni saranno in grado di crittografare i loro dati con nuove chiavi generate a livello di kernel del sistema operativo: ciò significa che le informazioni saranno mantenute private e isolati da altre applicazioni di terze parti così come dai vari componenti software del sistema.
La nuova architettura crittografica consentirà di cifrare il contenuto delle tradizionali memorie DRAM volatili così come quello della memoria persistente/non volatile (si pensi ai dispositivi 3D Xpoint).