> > > > AMD Opteron: Zen-Architektur verschlüsselt Daten im RAM für einzelne VMs

AMD Opteron: Zen-Architektur verschlüsselt Daten im RAM für einzelne VMs

Veröffentlicht am: von

Auf modernen Server-Prozessoren wird meist nicht mehr nur ein Betriebssystem bzw. eine Instanz ausgeführt, sondern mithilfe von virtuellen Maschinen laufen darauf gleich mehrere. Diese teilen sich nicht nur die Ressourcen des Prozessors, sondern auch die darauf befindlichen Daten. Um diese besser schützen können, bietet AMD bei der Zen-Architektur eine teilweise und gänzliche Verschlüsselung des Arbeitsspeichers.

Auf dem KVM Forum 2016 sprach Linux-Entwickler Thomas Lendacky von AMD über die Secure Memory Encryption (SME) und Secure Encrypted Virtualization (SEV). Ziel beider Technologien ist die Verschlüsselung der Daten im Arbeitsspeicher. Dazu verwendet AMD eine AES128-Verschlüsselung mit einem geheimen Schlüssel. Dieser soll nicht ausgelesen oder manipuliert werden können. SME und SEV arbeiten aber auf unterschiedlichen Ebenen der Verschlüsselung.

SME dient vor allem dem Schutz vor physischen Attacken auf das System, bei denen der Arbeitsspeicher direkt ausgelesen wird. Dies ist möglich, wenn der Angriff physikalisch am Speicherbus stattfindet oder aber per Cold-Boot-Attacke die Daten sprichwörtlich eingefroren werden. In Zukunft werden aber auch mehr und mehr NVDIMMs in Servern zum Einsatz kommen, die solche Angriffe noch einmal erleichtern, da sie nichtflüchtige Speicherkomponenten beinhalten. SME kann aber nicht nur den kompletten Arbeitsspeicher schützen, sondern auch bestimmte RAM-Adressbereiche. Dazu muss der Hypervisor bestimmte Befehle setzen und die Daten in diesem Bereich werden per SME geschützt. Aus dem ungeschützten Speicherbereich kann nicht auf den per SME geschützten Bereich zugegriffen werden.

SEV bietet eine komplette Abschottung der Daten auf dem Arbeitsspeicher für jede einzelne virtuelle Maschine. Das Betriebssystem muss dies allerdings aktiv unterstützen, was bei SME nicht notwendig ist. Auch bei SEV können bestimmte Bereiche des Arbeitsspeicher unverschlüsselt bleiben und dieser Speicherbereich kann dann als Shared Memory zum Datenaustausch zwischen den VMs genutzt werden. Der Linux-Kernel soll in Kürze die Unterstützung für SEV erhalten.

Die Schlüssel für die Verschlüsselung sind auf dem Secure Processor abgelegt, der sich in allen AMD-Prozessoren befindet. AMD verwendet dazu einen Cortex A5 von ARM, der wiederum über die Trust Zone verfügt. Apple verwendet bei seinen SoCs genau wie Samsung und andere Hersteller ein ähnliches Konzept eines Secure Processors. Intel nennt dies ab den Skylake-Prozessoren Software Guard Extension (SGX). Skylake-EP bzw. Purley soll im kommenden Jahre mit Memory Encryption Extensions (MEE) eine ähnliche Funktion wie AMD zur Verschlüsselung des Arbeitsspeichers bieten. Weitere Details hält das AMD64-Handbuch (PDF) bereit.