Конфиденциальные вычисления на платформе решений для здравоохранения

Служба Azure Kubernetes (AKS)

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

Архитектура

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

Скачайте файл Visio этой архитектуры.

Эта диаграмма описывает архитектуру. По всей системе:

  • Передаваемые по сети данные шифруются с помощью протокола TLS.
  • Azure Monitor отслеживает производительность компонентов, а Реестр контейнеров Azure (ACR) управляет контейнерами решения.

Рабочий процесс

Решение включает следующие шаги:

  1. Сотрудник местной больницы открывает веб-портал. Все веб-приложение является Хранилище BLOB-объектов Azure статическим веб-сайтом.
  2. Сотрудник вводит данные на веб-портале больницы, который подключается к веб-API Python на основе Flask, созданному популярным поставщиком медицинских платформ. Конфиденциальный узел в программном обеспечении SCONE для конфиденциальных вычислений защищает данные пациента. SCONE работает в кластере AKS с включенными расширениями Software Guard Extensions (SGX), которые помогают запускать контейнер в анклаве. Веб-API подтвердит то, что конфиденциальные данные и код приложения будут зашифрованы и изолированы в доверенной среде выполнения. Это означает, что никакие пользователи, процессы и журналы не будут иметь доступа к данным в виде открытого текста и к коду приложения.
  3. Клиент веб-приложения больницы запрашивает подтверждение этой защиты данных у службы аттестации (Аттестация Azure) и получает подписанный токен аттестации, который будет проверяться другими приложениями.
  4. Если для веб-API требуются дополнительные компоненты (например, кэш Redis), то он может передать токен аттестации, чтобы убедиться в том, что данные и код приложения находятся в надежном анклаве (см. шаг 6 с описанием проверки).
  5. Веб-API может даже использовать удаленные службы, например модель машинного обучения, размещенную у стороннего поставщика диагностики. При этом он продолжает передавать любые токены аттестации для подтверждения безопасность анклавов. Веб-API также может попытаться получить и проверить токены аттестации для инфраструктуры поставщика диагностики.
  6. Удаленная инфраструктура принимает токен аттестации от веб-API медицинской платформы и проверяет его с помощью общедоступного сертификата в службе "Аттестация Azure". Если проверка токена пройдена, это почти со стопроцентной вероятностью означает, что анклав безопасен и что данные и код приложения не открывались за пределами анклава.
  7. Поставщик диагностики, проверивший надежность данных, отправляет их в собственный анклав на сервере среды выполнения Open Neural Network Exchange (ONNX). Модель ИИ интерпретирует медицинские изображения и возвращает результаты диагностики в конфиденциальное приложение веб-API медицинской платформы. Отсюда программное обеспечение может взаимодействовать с записями пациентов и (или) с другими сотрудниками больницы.

Компоненты

  • Хранилище BLOB-объектов Azure обслуживает статическое содержимое, например HTML, CSS, JavaScript и файлы изображений, непосредственно из контейнера хранилища.

  • Аттестация Azure — это унифицированное решение, которое удаленно проверяет надежность платформы. Аттестация Azure также удаленно проверяет целостность двоичных файлов, выполняемых на платформе. Используйте Аттестацию Azure, чтобы установить отношение доверия с конфиденциальным приложением.

  • Служба Azure Kubernetes упрощает процесс развертывания кластера Kubernetes.

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

  • Платформа SCONE — это решение независимых поставщиков программного обеспечения (ISV) для партнеров Azure от Scontain.

  • Redis — это хранилище структуры данных в памяти с открытым кодом.

  • Безопасная среда контейнеров (SCONE) поддерживает выполнение конфиденциальных приложений в контейнерах, работающих в кластере Kubernetes.

  • Анклав сервера среды выполнения ONNX для конфиденциального вывода (анклав ONNX RT) — это узел, который запрещает субъекту размещения ML доступ как к запросу на вывод, так и к его соответствующему ответу.

Альтернативные варианты

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

  • Graphene — это облегченная гостевая ОС с открытым кодом. В Graphene можно запускать одиночное приложение Linux в изолированной среде с возможностями, сопоставимыми с полноценной ОС. В Graphene есть инструменты для преобразования существующих контейнерных приложений Docker в контейнеры Graphene Shielded Containers (GSC).

Сведения о сценарии

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

Используя конфиденциальные вычисления и контейнеры, решение предоставляет приложению, размещенному у поставщика, возможность безопасной совместной работы с больницей и сторонним поставщиком диагностики. Узлы конфиденциальных вычислений размещаются в Службе Azure Kubernetes (AKS). Аттестация Azure устанавливает отношение доверия с поставщиком диагностики. С помощью этих компонентов Azure архитектура изолирует конфиденциальные данные пациентов больницы во время обработки конкретных общих данных в облаке. После этого данные больницы перестают быть доступны поставщику диагностики. Благодаря этой архитектуре приложение, размещенное у поставщика, также может использовать преимущества расширенной аналитики. Поставщик диагностики предоставляет эту аналитику в виде служб конфиденциальных вычислений для приложений машинного обучения (ML).

Потенциальные варианты использования

Конфиденциальные вычисления используются для защиты данных во многих отраслях для достижения следующих целей:

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

Рекомендации

Эти рекомендации реализуют основные принципы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для повышения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Виртуальные машины Azure общего назначения для конфиденциальных вычислений доступны в семействе размеров D 2-го поколения. Эти размеры называются серией D версии 2 или серией DCsv2. В этом сценарии используются виртуальные машины серии DCs_v2 с поддержкой Intel SGX с образами операционной системы (ОС) 2-го поколения. Обратите внимание, что определенные размеры виртуальных машин можно развертывать только в определенных регионах. Дополнительные сведения см. в разделах Краткое руководство. Развертывание виртуальной машины Azure для конфиденциальных вычислений в Marketplace и Доступность продуктов по регионам.

Оптимизация затрат

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

Чтобы узнать объем затрат на выполнение этого сценария, используйте Калькулятор цен Azure, который выполняет предварительную настройку всех служб Azure.

Пример профиля затрат для медицинской платформы SaaS компании Contoso показан на схеме. Она содержит следующие компоненты:

  • Пул узлов системы и пул узлов SGX: без дисков, только временные
  • Подсистема балансировки нагрузки AKS
  • Виртуальная сеть Azure: номинальная
  • Реестр контейнеров Azure
  • Учетная запись хранения для одностраничного приложения (SPA)

Профиль не включает следующие компоненты:

  • Служба "Аттестация Azure": уровень "Бесплатный"

  • Журналы Azure Monitor: на основе использования

  • Лицензирование ISV SCONE

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

    • Microsoft Defender для облака и Microsoft Defender для Kubernetes
    • Защита от атак DDoS Azure: защита сети
    • Брандмауэр Azure
    • Шлюз приложений Azure и Брандмауэр веб-приложений Azure
    • Хранилище ключей Azure;

Развертывание этого сценария

Развертывание этого сценария включает следующие общие действия:

  • Разверните конфиденциальный сервер вывода в существующем кластере AKS с поддержкой SGX. Сведения об этом шаге см. в проекте конфиденциального сервера вывода ONNX на GitHub.

  • Настройте политики службы "Аттестация Azure".

  • Разверните пул узлов кластера AKS с поддержкой SGX.

  • Получите доступ к курируемым конфиденциальным приложениям (SconeApps). Приложения SconeApps находятся в частном репозитории GitHub, который сейчас доступен только коммерческим клиентам, использующим выпуск Standard SCONE. Перейдите на веб-сайт SCONE и обратитесь в компанию напрямую, чтобы получить этот уровень обслуживания.

  • Установите и запустите службы SCONE в кластере AKS.

  • Установите и протестируйте приложение на основе Flask в кластере AKS.

  • Разверните веб-клиент и получите доступ к нему.

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

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально она была написана следующими участниками.

Основной автор:

Дальнейшие действия