Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На платформе Microsoft Azure доступны средства для защиты данных, позволяющие организациям соблюдать требования безопасности и обязательные стандарты. В этой статье основное внимание уделяется следующим вопросам:
- Как обеспечивается защита неактивных данных в Microsoft Azure
- описание различных компонентов, обеспечивающих защиту данных;
- анализ преимуществ и недостатков основных подходов к защите управления.
Шифрование неактивных данных — обычное требование безопасности. В Azure организации могут зашифровать неактивные данные без пользовательских решений для управления ключами, которые создают дополнительный риск и затраты. Организации могут предоставить Azure возможность полностью управлять шифрованием неактивных данных. Кроме того, им доступны различные параметры точного управления шифрованием или ключами шифрования.
Что такое шифрование неактивных данных?
Шифрованием называется кодирование данных с целью защиты их конфиденциальности. Схемы шифрования неактивных данных в Azure используют симметричное шифрование для быстрого шифрования и расшифровки больших объемов данных на основе простой концептуальной модели:
- Симметричный ключ шифрования используется для шифрования данных во время их записи в хранилище.
- Этот же ключ используется для расшифровки данных при подготовке к использованию в памяти.
- Данные могут быть секционированы, а для каждой секции могут использоваться разные ключи.
- Ключи должны храниться в безопасном месте с применением доступа на основе удостоверений и политик аудита. Ключи шифрования данных, которые хранятся вне защищенных расположений, шифруются с помощью ключа шифрования ключей, хранящегося в безопасном месте.
На практике основные сценарии управления и регулирования, а также гарантии масштабирования и доступности требуют дополнительных конструкций. Ниже приведены основные понятия и компоненты шифрования неактивных данных в Microsoft Azure.
Цель шифрования неактивных данных
Шифрование при хранении обеспечивает защиту хранимых данных (в покое). Атаки на данные в состоянии покоя включают попытки получить физический доступ к оборудованию, на котором хранятся данные, и последующий взлом этих данных. При такой атаке во время обслуживания может наблюдаться неправильное управление жестким диском сервера, что дает возможность злоумышленнику его извлечь. Позже злоумышленник может поместить жесткий диск в компьютер, находящийся под его контролем, чтобы попытаться получить доступ к данным.
Шифрование неактивных данных предназначено для предотвращения доступа злоумышленника к незашифрованным данным за счет шифрования данных на диске. Если злоумышленник получит жесткий диск с зашифрованными данными, но не ключи шифрования, злоумышленнику придется взломать шифр для получения доступа к данным. Такая атака намного сложнее и требует больше ресурсов, чем доступ к незашифрованным данным на жестком диске. По этой причине мы настоятельно рекомендуем использовать шифрование неактивных данных, которое имеет приоритетное значение для многих организаций.
Шифрование неактивных данных также требуется, если организации важно управлять данными и обеспечивать соответствие стандартам. В отраслевых и государственных нормативах, например HIPAA, PCI и FedRAMP, описываются меры по обеспечению безопасности на основе требований к шифрованию и защите данных. Шифрование при хранении является обязательной мерой, необходимой для соблюдения некоторых нормативов. Дополнительные сведения о подходе корпорации Майкрософт к проверке FIPS 140-2 см. в статье Федеральный стандарт обработки информации (FIPS) 140-2.
Шифрование данных в состоянии покоя не только позволяет выполнить нормативные требования и требования к соответствию, но и обеспечивает защиту в глубину. Microsoft Azure предоставляет соответствующую стандартам платформу для служб, приложений и данных. Также обеспечивается всесторонняя защита объектов и физическая безопасность, управление доступом к данным и аудит. Тем не менее очень важно обеспечить дополнительные "перекрывающие" меры безопасности на случай сбоя других мер безопасности. Шифрование неактивных данных предоставляет именно этот уровень безопасности.
Microsoft стремится обеспечить варианты шифрования данных в состоянии покоя для всех облачных служб и предоставить клиентам возможность управлять ключами шифрования и журналами их использования. Кроме того, корпорация Майкрософт активно работает над тем, чтобы такое шифрование применялось по умолчанию для всех неактивных данных пользователей.
Компоненты шифрования данных в состоянии покоя в Azure
Как было описано выше, цель шифрования неактивных данных — выполнить шифрование данных, хранящихся на диске, с помощью секретного ключа шифрования. Для достижения этой цели необходимы безопасное создание ключей, хранилище, управление доступом и ключами шифрования. Хотя детали могут различаться, реализации шифрования данных в состоянии покоя в службах Azure можно описать, как показано на диаграмме.
Azure Key Vault
Место хранения ключей шифрования и управление доступом к этим ключам имеет принципиально важное значение в отношении модели шифрования неактивных данных. Ключи должны быть надежно защищены, при этом определенные пользователи должны иметь возможность управлять ими, а доступ к ним должен предоставляться определенным службам. Для служб Azure рекомендуемым решением хранилища ключей является хранилище Azure Key Vault, предоставляющее общие возможности управления в службах. Для хранения ключей и управления ими используются хранилища ключей, доступ к которым можно предоставить пользователям или службам. Azure Key Vault поддерживает создание пользователем ключей или импорт пользовательских ключей для использования в сценариях ключей шифрования, управляемых пользователем.
Microsoft Entra ID
Разрешения на использование ключей, хранящихся в Azure Key Vault, для управления или доступа к ним для шифрования неактивных данных и расшифровки, можно предоставить учетным записям Microsoft Entra.
Конвертное шифрование с использованием иерархии ключей
При реализации шифрования неактивных данных используется несколько ключей шифрования. Хранение ключа шифрования в Azure Key Vault обеспечивает безопасный доступ к ключам и централизованное управление ими. Однако локальный доступ службы к ключам шифрования позволяет эффективнее выполнять массовое шифрование и расшифровку, чем взаимодействие с Key Vault при каждой операции с данными. Так можно повысить надежность шифрования и производительность систем. Ограничение использования ключа шифрования снижает риск его компрометации, а также затраты на повторное шифрование при необходимости замены ключа. В моделях Azure для шифрования неактивных данных используется конвертное шифрование, при котором ключ шифрования ключей шифрует ключ шифрования данных. Такая модель создает иерархию ключей и позволяет лучше выполнять требования к производительности и безопасности.
- Ключ шифрования данных (DEK) — это симметричный ключ AES256, который используется для шифрования секции или блока данных. Иногда его называют просто ключом данных. Один ресурс может включать много секций и много ключей шифрования данных. Шифрование каждого блока данных другим ключом создает дополнительные сложности для выполнения атак в отношении зашифрованных данных. Сохранение DEK в локальной службе, где выполняется шифрование и расшифровка данных, позволяет добиться максимальной производительности.
- Ключ шифрования ключа (KEK) используется для шифрования ключей шифрования данных с помощью конвертного шифрования, также называемого заворачиванием. Использование ключа шифрования ключей, который всегда остается в Key Vault, позволяет зашифровать непосредственно ключи шифрования данных и контролировать доступ к ним. Сущность, у которой есть доступ к KEK, может быть отличной от сущности, требующей DEK. Сущность может посредничать в доступе к DEK, чтобы ограничить доступ каждого DEK к определенному разделу. Поскольку KEK требуется для расшифровки DEK, клиенты могут криптографически удалять ключи DEK и данные, просто отключая KEK.
Поставщики ресурсов и экземпляры приложений хранят ключи шифрования данных в формате метаданных. Расшифровать эти ключи шифрования данных может только сущность с доступом к ключу шифрования ключей. Поддерживаются различные модели хранилища ключей. Дополнительные сведения см. в статье Модели шифрования данных.
Шифрование неактивных данных в облачных службах Майкрософт
Облачные службы Майкрософт используются во всех трех облачных моделях: IaaS, PaaS, SaaS. Ниже приведены примеры их размещения в каждой модели.
- Программные службы SaaS ("программное обеспечение как услуга"), которые включают приложения, предоставленные облачной службой, например, Microsoft 365.
- Службы платформы, в которых пользователи используют облако для таких задач, как хранение, аналитика и функциональность служебной шины в своих приложениях.
- Службы инфраструктуры (инфраструктура как услуга (IaaS)), в которых пользователь развертывает операционные системы и приложения, размещенные в облаке, и в которых может использовать другие облачные службы.
Шифрование данных в состоянии покоя для клиентов SaaS
Для клиентов сервиса программного обеспечения (SaaS) шифрование данных в состоянии покоя обычно активировано или доступно в каждой службе. В Microsoft 365 предоставляется несколько вариантов для клиентов, чтобы проверить или включить шифрование данных в состоянии покоя. Дополнительные сведения о службах Microsoft 365 см. в статье о шифровании в Microsoft 365.
Шифрование данных в состоянии покоя для клиентов PaaS
Данные клиента в формате PaaS (платформа как услуга) обычно находятся в службе хранилища, например в Хранилище BLOB-объектов, но также могут кэшироваться или храниться в среде выполнения приложений, например в виртуальной машине. Чтобы просмотреть доступные для вас параметры шифрования, изучите модели шифрования данных для используемых платформ хранилища и приложений.
Шифрование данных в состоянии покоя для клиентов IaaS
Пользователи, использующие инфраструктуру как услугу (IaaS), могут использовать ряд служб и приложений. Службы IaaS могут включить шифрование неактивных данных на своих размещенных в Azure виртуальных машинах и виртуальных жестких дисках с помощью шифрования дисков Azure.
Зашифрованное хранилище
Аналогично решениям PaaS, решения IaaS могут использовать другие службы Azure, которые хранят данные в зашифрованном виде. В таких случаях можно включить поддержку зашифрованных данных в состоянии покоя для каждой используемой службы Azure. Модели шифрования данных перечисляют основные платформы хранения, службы и платформы приложений и поддерживаемую модель шифрования данных в состоянии покоя.
Зашифрованные вычисления
Все управляемые диски, моментальные снимки и образы шифруются с использованием Шифрования службы хранилища с помощью служебного ключа. Более полное решение для шифрования неактивных данных гарантирует, что данные никогда не сохраняются в незашифрованном виде. При обработке данных на виртуальной машине данные могут сохраняться в файле подкачки операционной системы (Windows или Linux), в аварийном дампе или в журнале приложения. Чтобы убедиться, что эти данные шифруются при хранении, приложения IaaS могут использовать службу "Шифрование дисков Azure" на виртуальной машине Azure IaaS (Windows или Linux) и виртуальном диске.
Пользовательское шифрование данных в состоянии покоя
Рекомендуется, чтобы приложения IaaS использовали шифрование дисков Azure и параметры шифрования неактивных данных, предоставляемые любой используемой службой Azure. В некоторых случаях, например, при нестандартных требованиях к шифрованию или использовании хранилища, которое не основано на Azure, разработчику приложения IaaS может потребоваться самостоятельно заняться шифрованием данных в состоянии покоя. Разработчики решений IaaS могут обеспечивать лучшую интеграцию с управлением Azure и удовлетворять ожидания пользователей за счет использования определенных компонентов Azure. В частности разработчикам следует использовать службу Azure Key Vault, чтобы обеспечить безопасное хранение ключей, а также предоставить своим пользователям согласованные параметры управления ключами большинства служб платформы Azure. Кроме того, пользовательские решения должны использовать удостоверения управляемых служб Azure, чтобы учетные записи служб могли получать доступ к ключам шифрования. Сведения для разработчиков об Azure Key Vault и удостоверениях управляемых служб смотрите в соответствующих наборах средств разработки.
Поддержка модели шифрования поставщиками ресурсов Azure
Каждая служба Microsoft Azure поддерживает одну или несколько моделей шифрования неактивных данных. Тем не менее для некоторых служб одна или несколько моделей шифрования могут быть неприменимы. Для служб, которые поддерживают управляемые клиентами сценарии использования ключей, они могут поддерживать только несколько типов ключей, которые поддерживает хранилище Azure Key Vault для ключей шифрования ключей. Кроме того, службы могут добавлять поддержку этих сценариев и типов ключей в разное время. В этом разделе описывается поддержка шифрования неактивных данных на момент написания этой статьи для основных служб хранения данных Azure.
Шифрование дисков Azure
Любой пользователь, который использует функции инфраструктуры как услуги (IaaS) Azure, может включить шифрование неактивных данных на виртуальных машинах IaaS и дисках с помощью шифрования дисков Azure. См. сведения в статьях Шифрование дисков Azure для виртуальных машин Linux и Шифрование дисков Azure для виртуальных машин Windows.
Служба хранилища Azure
Все службы хранилища Azure (Хранилище BLOB-объектов, Хранилище очередей, Хранилище таблиц и Файлы Azure) поддерживают шифрование данных при хранении на стороне сервера; некоторые службы также поддерживают ключи, управляемые клиентом, и шифрование на стороне клиента.
- На стороне сервера: все службы хранилища Azure используют шифрование на стороне сервера по умолчанию с использованием управляемых службой ключей, которые являются прозрачными для приложения. Дополнительные сведения см. в статье Шифрование службы хранилища Azure для неактивных данных (предварительная версия). Хранилище BLOB-объектов Azure и служба файлов Azure также поддерживают 2048-битные управляемые клиентом ключи RSA в Azure Key Vault. Дополнительные сведения см. в статье Шифрование службы хранилища с помощью управляемых клиентом ключей в Azure Key Vault.
- Клиентское шифрование: объекты BLOB, таблицы и очереди Azure поддерживают шифрование на стороне клиента. При использовании шифрования на стороне клиента данные шифруются и передаются в виде зашифрованного большого двоичного объекта. Управление ключами осуществляется пользователем. Дополнительные сведения см. в статье Шифрование на стороне клиента для службы хранилища Microsoft Azure.
База данных SQL Azure
В настоящее время База данных SQL Azure поддерживает шифрование неактивных данных в сценариях шифрования на стороне клиента и на стороне управляемых служб Майкрософт.
Поддержка шифрования на стороне сервера в настоящее время предоставляется с помощью функции SQL, которая называется прозрачным шифрованием данных. Когда клиент База данных SQL Azure включает TDE, ключи автоматически создаются и управляются ими. Шифрование неактивных данных можно включить на уровне базы данных и на уровне сервера. Начиная с июня 2017 г. прозрачное шифрование данных (TDE) включается по умолчанию для всех новых баз данных. База данных SQL Azure поддерживает управляемые клиентом 2048-битные ключи RSA в Azure Key Vault. Дополнительные сведения см. в статье Прозрачное шифрование данных с поддержкой использования собственных ключей для Базы данных SQL Azure и хранилища данных SQL Azure.
Шифрование на стороне клиента Базы данных SQL Azure поддерживается с помощью функции Always Encrypted. Always Encrypted использует ключ, который создается и хранится клиентом. пользователь может хранить главный ключ в хранилище сертификатов Windows, Azure Key Vault или аппаратном модуле безопасности (HSM), размещенном локально. В SQL Server Management Studio пользователи SQL могут выбрать ключи для шифрования отдельных столбцов.
Заключение
Защита данных пользователя, хранимых в службах Azure, представляет особую важность для Майкрософт. Все службы, размещенные в Azure, обязуются предоставлять параметры шифрования неактивных данных. Службы Azure поддерживают ключи, управляемые службой или клиентом, а также шифрование на стороне клиента. Службы Azure постоянно расширяют поддержку шифрования неактивных данных, так что в предварительной и общедоступной версиях в ближайшее время появятся новые возможности.
Следующие шаги
- Дополнительные сведения о ключах, управляемых службой и клиентом, см. в статье Модели шифрования данных.
- Сведения о том, как в Azure используется двойное шифрование для устранения угроз, возникающих при шифровании данных.
- Узнайте, какие меры корпорация Майкрософт предпринимает, чтобы обеспечить безопасность и целостность платформы для узлов на таких этапах конвейеров оборудования и встроенного ПО, как сборка, интеграция, эксплуатация и восстановление.