Поделиться через


Модели шифрования данных

Знакомство с различными моделями шифрования, их преимуществами и недостатками необходимо для понимания реализации шифрования неактивных данных в Azure различными поставщиками ресурсов. Эти определения являются общими для всех поставщиков ресурсов в Azure для обеспечения общей среды и таксономии.

Существует три сценария для шифрования на стороне сервера:

  • Шифрование на стороне сервера с помощью управляемых службой ключей

    • поставщики ресурсов Azure выполняют операции шифрования и расшифровки;
    • ключами управляет Майкрософт;
    • все возможности облака.
  • Шифрование на стороне сервера с помощью управляемых пользователем ключей в Azure Key Vault

    • поставщики ресурсов Azure выполняют операции шифрования и расшифровки;
    • пользователь управляет ключами через Azure Key Vault;
    • все возможности облака.
  • Шифрование на стороне сервера с использованием администрируемых пользователем ключей на управляемом пользователем оборудовании:

    • поставщики ресурсов Azure выполняют операции шифрования и расшифровки;
    • пользователь администрирует ключи на управляемом оборудовании;
    • все возможности облака.

Модели шифрования на стороне сервера относятся к шифрованию, выполняемому службой Azure. В этой модели поставщик ресурсов выполняет операции шифрования и расшифровки. Например, служба хранилища Azure могут получать данные в операциях обычного текста и выполнять шифрование и расшифровку внутри системы. Поставщик ресурсов может использовать ключи шифрования, управляемые Майкрософт или пользователем, в зависимости от конфигурации.

Снимок экрана: сервер.

Каждая из моделей шифрования неактивных данных на стороне сервера подразумевает отличные характеристики управления ключами, в частности то, где и как создаются и хранятся ключи шифрования, а также модели доступа и процедуры смены ключей.

Для шифрования на стороне клиента учтите следующее:

  • расшифрованные данные недоступны службам Azure;
  • управление ключами и их хранение доступно в локальной среде или других безопасных хранилищах. Ключи недоступны для служб Azure
  • возможности облака ограничены.

Поддерживаемые модели шифрования в Azure разделены на две основные группы: "Шифрование на стороне клиента" и "Шифрование на стороне сервера", как упоминалось ранее. Независимо от используемой модели шифрования неактивных данных службы Azure всегда рекомендуют использовать безопасный канал транспорта, например TLS или HTTPS. Таким образом, шифрование на транспортном уровне должно определяться транспортным протоколом и не должно быть основным фактором при определении используемой модели шифрования неактивных данных.

Модель шифрования клиентом

Модель шифрования клиентом — это шифрование, выполняемое службой или вызывающим приложением за пределами поставщика ресурсов или Azure. Это шифрование можно выполнить с помощью приложения службы в Azure или приложения, работающего в центре обработки данных пользователя. В любом случае при использовании этой модели шифрования поставщик ресурсов Azure принимает зашифрованный большой двоичный объект данных без возможности расшифровки этих данных каким-либо образом, а также без доступа к ключам шифрования. В этой модели ключами управляют вызывающие приложение или служба. Этот процесс является непрозрачным для службы Azure.

Снимок экрана: клиент.

Шифрование на стороне сервера с помощью управляемых службой ключей

Для многих пользователей существенным требованием является гарантия шифрования неактивных данных. Шифрование на стороне сервера с помощью управляемых службой ключей позволяет реализовать эту модель, давая пользователям возможность помечать конкретный ресурс (учетную запись хранения, базу данных SQL и т. д.) для шифрования и передает все аспекты управления ключами, например выдачу, смену и резервное копирование ключей, корпорации Майкрософт. Большинство служб Azure, которые поддерживают шифрование в состоянии хранения, обычно поддерживают эту модель передачи задач управления ключами шифрования в Azure. Поставщик ресурсов Azure создает ключи и помещает их в надежное хранилище, извлекая их при необходимости. Это означает, что служба имеет полный доступ к ключам и полностью контролирует жизненный цикл учетных данных.

Снимок экрана: управляемый.

Таким образом, шифрование на стороне сервера с помощью управляемых службой ключей быстро выполняет шифрование неактивных данных с низкими издержками для пользователя. Откройте целевую подписку и поставщика ресурсов на портале Azure и установите флажок, указывающий, что данные требуется зашифровать. В некоторых диспетчерах ресурсов шифрование на стороне сервера с помощью управляемых службой ключей включено по умолчанию.

Шифрование на стороне сервера с помощью ключей, управляемых Майкрософт, подразумевает, что служба имеет полный доступ к хранению ключей и управлению ими. Хотя некоторым клиентам может потребоваться управлять ключами, так как они чувствуют, что они получают большую безопасность, затраты и риски, связанные с пользовательским решением хранилища ключей, следует учитывать при оценке этой модели. Во многих случаях организация может определить, что ограничения ресурсов или риски локального решения могут быть больше, чем риск управления облачными ключами шифрования неактивных ключей. Однако этой модели может быть недостаточно для организаций, у которых есть требования к управлению созданием или жизненным циклом ключей шифрования или к тому, чтобы ключами шифрования службы управляли другие специалисты, не те, кто управляет службой (т. е. использование для службы модели управления с разделением управления ключами и общего управления).

Доступ к ключам

При использовании шифрования на стороне сервера с ключами, управляемыми службой, созданием и хранением ключей, а также доступом к ним службами управляет служба. Как правило, основные поставщики ресурсов Azure хранят ключи шифрования данных в хранилище рядом с данными для быстрого доступа, в то время как ключи шифрования ключей хранятся в защищенном внутреннем хранилище.

Преимущества

  • Простая настройка
  • Корпорация Майкрософт управляет сменой, резервным копированием и избыточностью ключей.
  • Пользователь не несет затраты, связанные с реализацией, и для него нет риска использования пользовательской схемы управления ключами.

Недостатки

  • Пользователь не управляет ключами шифрования (спецификацией, жизненным циклом, отзывом ключей и т. д.).
  • Отсутствует возможность отделить управление ключами от общей модели управления для службы.

Шифрование на стороне сервера с помощью управляемых пользователем ключей в Azure Key Vault

Для сценариев, в которых требуется шифровать неактивные данные и управлять ключами шифрования, можно использовать шифрование на стороне сервера с помощью управляемых пользователем ключей в хранилище ключей. Некоторые службы могут хранить только корневой ключ шифрования ключей в Azure Key Vault и хранить зашифрованный ключ шифрования данных в внутреннем расположении ближе к данным. В таком сценарии пользователи могут переносить свои собственные ключи (BYOK) в хранилище ключей или создать ключи и использовать их для шифрования нужных ресурсов. Когда поставщик ресурсов выполняет операции шифрования и расшифровки, он использует настроенный ключ шифрования ключей в качестве корневого ключа для всех операций шифрования.

Потеря ключей шифрования ключей означает потерю данных. По этой причине ключи не следует удалять. Необходимо создавать резервные копии ключей при создании или смене. В любом хранилище, в котором находятся ключи шифрования ключей, должна быть включена защита от обратимого удаления и очистки для защиты от случайного или злонамеренного удаления криптографических ключей. Вместо удаления ключа рекомендуется присвоить параметру enabled в ключе шифрования ключей значение false. Используйте элементы управления для отмены доступа к отдельным пользователям или службам в Azure Key Vault или управляемом модуле HSM.

Доступ к ключам

В модели шифрования на стороне сервера с хранением в Azure Key Vault ключей, управляемых пользователем, служба при необходимости получает доступ к ключам для шифрования и расшифровки. Ключи для шифрования неактивных данных становятся доступными для службы благодаря политике управления доступом. Эта политика предоставляет службе доступ на основе удостоверения для получения ключа. Службу Azure, запущенную от имени связанной подписки, можно настроить с помощью удостоверения в рамках этой подписки. Служба может выполнять проверку подлинности Microsoft Entra и получать маркер проверки подлинности, определяющий себя как эта служба, выступающая от имени подписки. Затем этот токен может быть предоставлен хранилищу ключей для получения ключа, доступ к которому был получен.

Для операций с использованием ключей шифрования удостоверению службы можно предоставить доступ к любой из следующих операций: расшифровка, шифрование, упаковка, распаковка, проверка, подписывание, получение, перечисление, обновление, создание, импорт, удаление, резервное копирование и восстановление.

Чтобы получить ключ для шифрования или расшифровки неактивных данных, удостоверение службы, запущенное экземпляром службы диспетчера ресурсов, должно иметь ключ распаковки (чтобы получить ключ для расшифровки) и ключ упаковки (чтобы вставить ключ в хранилище ключей при создании нового ключа).

Примечание.

Дополнительные сведения об авторизации в хранилище ключей см. в статье Защита хранилища ключей.

Преимущества

  • Полный контроль над используемыми ключами – управление ключами шифрования производится в хранилище ключей клиента под его контролем.
  • Возможность шифрования нескольких служб с помощью главного ключа.
  • Возможность отделить управление ключами от общей модели управления для службы.
  • Возможность определить службу и расположение ключа в нескольких регионах.

Недостатки

  • Пользователь полностью отвечает за управление доступом к ключам.
  • Пользователь полностью отвечает за управление жизненным циклом ключей.
  • Дополнительные издержки в процессе установки и конфигурации.

Шифрование на стороне сервера с использованием администрируемых пользователем ключей на управляемом пользователем оборудовании

Некоторые службы Azure допускают использование модели управления с размещением собственного ключа (HYOK). Этот режим управления рекомендуется для использования в сценариях, в которых необходимо шифровать данные в состоянии хранения и управлять ключами в собственном репозитории без участия корпорации Майкрософт. В этой модели служба должна использовать ключ из внешнего сайта для расшифровки ключа шифрования данных (DEK). Затрагиваются гарантии производительности и доступности, а конфигурация сложнее. Кроме того, так как служба имеет доступ к ключу шифрования данных во время операции шифрования и расшифровки, общие гарантии безопасности этой модели аналогичны модели, в которой ключами управляют пользователи в Azure Key Vault. В результате эта модель не подходит для большинства организаций, если они не имеют конкретных требований к управлению ключами. Из-за этих ограничений большинство служб Azure не поддерживают шифрование на стороне сервера с помощью ключей, управляемых клиентом, в оборудовании, управляемом клиентом. Один из двух ключей в шифровании двойных ключей следует этой модели.

Доступ к ключам

При использовании шифрования на стороне сервера с помощью ключей, управляемых клиентом, в оборудовании, управляемом клиентом, ключи шифрования ключей сохраняются в системе, настроенной клиентом. Службы Azure, которые поддерживают эту модель, предоставляют средства для создания безопасного подключения к хранилищу ключей, предоставленному пользователем.

Преимущества

  • Полный контроль над корневым ключом. Ключи шифрования управляются в хранилище пользователя.
  • Возможность шифрования нескольких служб с помощью главного ключа.
  • Возможность отделить управление ключами от общей модели управления для службы.
  • Возможность определить службу и расположение ключа в нескольких регионах.

Недостатки

  • Полная ответственность за хранение ключей, безопасность, производительность и доступность.
  • Полная ответственность за управление доступом к ключам.
  • Полная ответственность за управление жизненным циклом ключей.
  • Значительные расходы на установку, настройку и текущее обслуживание.
  • Повышенная зависимость от доступности сети между центрами обработки данных Azure и центром обработки данных пользователя.

Службы, поддерживающие управляемые клиентом ключи (CMKs)

Ниже приведены службы, поддерживающие шифрование на стороне сервера с помощью ключей, управляемых клиентом:

продукт, функция или служба Key Vault Управляемое устройство HSM Документация
ИИ и Машинное обучение
Поиск по искусственному интеллекту Azure Да
Службы ИИ Azure Да Да
Azure AI Studio Да Пакеты УПРАВЛЕНИЯ для шифрования
Машинное обучение Azure Да
Azure OpenAI Да Да
Content Moderator Да Да
Dataverse Да Да
Dynamics 365 Да Да
Распознавание лиц Да Да
Распознавание речи Да Да
Персонализатор Да Да
Power Platform Да Да
QnA Maker Да Да
Служба "Речь" Да Да
Перевод текстов Да Да
Аналитика
Обозреватель данных Azure Да
Фабрика данных Azure Да Да
Azure Data Lake Store Да, 2048-разрядный RSA
Azure HDInsight Да
Azure Monitor Application Insights Да
Azure Monitor Log Analytics Да Да
Azure Stream Analytics Да** Да
Центры событий Да
Функции Да
Microsoft Fabric Да Шифрование CMK
Power BI Embedded Да BYOK для Power BI
Контейнеры
Конфигурация приложений Да Использование cmKs для шифрования данных Конфигурация приложений
Служба Azure Kubernetes Да Да
Azure Red Hat OpenShift Да Шифрование CMK
Экземпляры контейнеров Да
Реестр контейнеров Да
Среда выполнения приложений
Служба приложений Да** Да
Служба автоматизации Да
Функции Azure Да** Да
Портал Azure Да** Да
Решение Azure VMware Да Да
Управляемые Azure приложения Да** Да
Пакетная обработка Да Настройка cmKs
Логические приложения Да
SAP HANA Да
Служебная шина Да
Site Recovery Да
масштабируемый набор виртуальных машин; Да Да
Виртуальные машины Да Да
Базы данных
Azure Cosmos DB Да Да Настройка cmKs (Key Vault) и настройка cmKs (Managed HSM)
База данных Azure для MySQL Да Да
База данных Azure для PostgreSQL Да Да
Миграция баз данных Azure Н/Д*
Azure Databricks Да Да
Управляемый экземпляр Azure для Apache Cassandra Да Пакеты управления облачными клиентами
База данных SQL Azure Да, 3072-разрядный RSA Да
Управляемый экземпляр SQL Azure Да, 3072-разрядный RSA Да
Azure Synapse Analytics (только выделенный пул SQL (ранее — хранилище данных SQL) Да, 3072-разрядный RSA Да
SQL Server на виртуальных машинах Да
SQL Server Stretch Database Да, 3072-разрядный RSA
Хранилище таблиц Да
Гибридная и многооблачная среда
Azure Stack Edge Да Azure Stack Edge: базовые показатели безопасности
Identity
Доменные службы Microsoft Entra Да
Интеграция
Службы Azure для работы с медицинскими данными Да Настройка CMKs для DICOM, настройка CMKs для FHIR
Служебная шина Да
Службы Интернета вещей
Центр IoT Да
подготовка устройств Центр Интернета вещей Да
Управление
Миграция Azure Да
Azure Monitor Да Пакеты управления облачными клиентами
Медиа
Службы мультимедиа Да
Безопасность
Microsoft Defender для облака Да Базовые показатели безопасности: пакеты УПРАВЛЕНИЯ
Microsoft Defender для Интернета вещей Да
Microsoft Sentinel Да Да
Память
Архивирование хранилища Да
Azure Backup Да Да
Кэш Azure для Redis Да** Да
Управляемый Lustre в Azure Да Пакеты управления облачными клиентами
Azure NetApp Files Да Да
Azure Stack Edge Да
Хранилище BLOB-объектов Да Да
Data Lake Storage 2-го поколения Да Да
Хранилище дисков Да Да
Хранилище класса Premium файла Да Да
Хранилище файлов Да Да
Синхронизация файлов Да Да
Управляемое хранилище дисков Да Да
Хранилище BLOB-объектов класса Premium Да Да
Хранилище очередей Да Да
StorSimple Да
Хранилище дисков ценовой категории "Ультра" Да Да
Другое
Диспетчер данных Azure для энергетики Да

* Эта служба не сохраняет данные. Временные кэши, если они имеются, зашифрованы с помощью ключа Майкрософт.

** Эта служба поддерживает хранение данных в собственном хранилище Key Vault, учетной записи хранения или другой службе хранения данных, которая уже поддерживает шифрование на стороне сервера с ключом, управляемым клиентом.

Все временные данные, хранящиеся временно на диске, такие как страницы или файлы буферов, шифруются с помощью ключа Майкрософт (всех уровней) или ключа, управляемого клиентом (с помощью уровней Enterprise и Enterprise Flash). Дополнительные сведения см. в разделе "Настройка шифрования дисков в Кэш Azure для Redis".