Компания Intel представила свои планы на дальнейшее развитие функций безопасности в новых процессорах. В дополнение к новым возможностям расширений Intel SGX (Software Guard Extensions), компания также намерена обеспечить полное шифрование памяти в своих новых чипах.
Технология Intel SGX, впервые представленная в 2014 году и реализованная в 2015 году с поколением процессоров Skylake, представляет собой одну из первых попыток внедрения аппаратного шифрования для защиты участков памяти от неавторизованного доступа. Будучи набором инструкций процессора x86_64, SGX обеспечивает аппаратное шифрование участков (анклавов) памяти, которые можно дешифровать только в центральном процессоре, и только по запросу инструкций из соответствующего участка памяти.
Таким образом, даже сисадмин не сможет считывать или изменять защищенные SGX анклавы памяти. Именно так обеспечивается безопасная обработка конфиденциальных данных в системах вроде хостов облачных виртуальных машин.
Среди очевидных проблем Intel SGX — закрытость технологии и вытекающая из него привязка к процессорам Intel, а также необходимость создания приложения на основе SGX для использования технологии. Кроме того, анклавы SGX ограничены в размерах и должны вмещаться в кэш страниц общим объемом 128 Мб — даже не 128 МБ на процесс. Кроме того, SGX может оказывать серьезное влияние производительность.
Что касается новой технологии полного шифрования памяти — TME (Total Memory Encryption), или MKTME (Multi-Key Total Encryption), она пока реализована лишь в лабораторных условиях и не внедрялась в массовых процессорах. Что-то подобное по функциональности сегодня предлагает AMD в виде SME (Secure Memory Encryption) и SEV (Secure Encrypted Virtualization), впервые предложенные компанией в 2016 году.
В отличие от Intel SGX, AMD SME обеспечивает аппаратное шифрование и дешифровку любой страницы оперативной памяти со 128-битным ключом AES, генерируемым аппаратным генератором случайных чисел при каждой перезагрузке. Эти ключи доступны только процессору, без какой-либо возможности доступа пользователя любого уровня, даже с доступом root или сисадмина.
Более строгий вариант SME под названием Transparent Secure Memory Encryption («прозрачный» SME), позволяет шифровать всю системную оперативную память с использованием SME. TSME можно включать через BIOS или UEFI, он не требует никаких усилий со стороны разработчиков приложений — просто шифрует все после включения системы.
Технология шифрования памяти AMD имеет меньшее влияние на производительность, чем Intel SGX. Ряд нагрузок и вовсе не подвержен влиянию Secure Encryption Virtualization (подмножество SME AMD для шифрования виртуальных машин отдельным ключом для каждой ВМ).
Поскольку технологии Intel TME и MKTME все еще не вышли за пределы лаборатории и помечаются на слайдах как «инновации», говорить об их влиянии на производительность пока рано. Однако пример AMD говорит о том, что исключить или снизить такое влияние до минимума вполне возможно — в отличие от SGX.
Похоже, Intel в области полного шифрования памяти еще только предстоит в ближайшие годы реализовать свой общесистемный подход к шифрованию памяти, уже реализованный в процессорах AMD Epyc, и даже в некоторых чипах компании для настольных ПК.