Шифрование данных в наше время используется почти везде. Сложнее всего, однако, зашифровать данные, с которыми нужно работать — приложение должно иметь доступ к данным. Программные решения этой проблемы — токенизация, многостороннее шифрование, шифрование с сохранением формата, с возможностью поиска, гомоморфное (сохраняющее возможность математических операций) — сложны, громоздки и не всегда применимы. Поэтому создаются аппаратные способы шифрования. Они уже широко применяются в смартфонах — платежные и идентификационные данные хранятся в безопасных областях памяти, недоступных остальному устройству.
На серверах используются аналогичные методы. Один из них предлагает Intel. Это SGX — защищенная область памяти в процессоре. Объем ее невелик, и приложения для работы с ней нужно специально адаптировать. Другой подход применяют IBM и AMD. В процессорах IBM S390 в мэйнфреймах Z System и серверах LinuxOne, а также в процессорах AMD EPYC защищенная область гораздо больше, и в ней умещается не только приложение, но и вся виртуальная машина.
Процессоры IBM S390 используются в задачах, требующих особенно высокого уровня безопасности — например, в работе с криптовалютой, которой занимается гонконгская компания Hex Trust. Недостаточно хранить в защищенной области несколько ключей шифрования, считает технический директор Hex Trust. Нужно обеспечивать масштаб — с одними ключами может работать несколько сервисов, нужно иметь возможность перенести процесс на другой сервер, и так далее. Технология IBM позволяет это реализовать как локально, так и в облачной системе. Объем защищенной области в Z System может доходить до 16 терабайт, и защитить можно сразу все. Ключи для нее закладываются при изготовлении и никогда не покидают защищенной области, а сам процессор обладает средствами защиты от вскрытия и уничтожения информации.
Процессоры AMD EPYC предназначены для серверов публичных облачных систем. В середнине июля Google Cloud первой стала предлагать сервисы на базе AMD EPYC. Французская компания iExec, занимающаяся облачными приложениями на основе блокчейна, применяет их для передачи медицинских данных по заказам одного из клиентов. Другой клиент iExec ведет на них обработку видео — защищенная область AMD EPYC достаточно велика для того, чтобы вместить весь процесс обработки, хотя и меньше, чем у IBM S390 — она может достигать только 896 гигабайт. Приложения при этом не надо модифицировать. Менять приходится только код гипервизора, а их существует не так много. Однако в нынешней технологии AMD гипервизор имеет доступ к защищенной области и, теоретически, может проникнуть внутрь виртуальной машины. AMD планирует решить эту проблему в будущем.
Microsoft в своей облачной системе Azure предпочитает использовать технологию Intel SGX. Объем защищенной области в ней не может быть больше 256 килобайт, но, как подчеркивают представители Microsoft Azure, клиенты получают полную защиту как от логического, так и от физического доступа. Программы и данные не зависят ни от каких аппаратных или программных средств Microsoft. SGX предназначается в первую очередь для небольших рабочих станций, но Microsoft и Intel реализуют ее в облачных центрах на однопроцессорных серверах. Конечно, проще, когда есть возможность загрузить в защищенную область целую виртуальную машину, но это увеличивает и возможность атак по побочным каналам. Microsoft готовит технологии и наборы средств разработки, упрощающие адаптацию приложений к работе с SGX.