의료 플랫폼의 기밀 컴퓨팅

AKS(Azure Kubernetes Service)

이 문서에서는 사용 중인 데이터를 암호화하기 위해 Azure ACC(기밀 컴퓨팅)에서 제공하는 솔루션을 제공합니다.

아키텍처

기밀 의료 플랫폼 데모 다이어그램. 플랫폼에는 병원, 의료 플랫폼 공급자 및 진단 공급자가 포함됩니다.

이 아키텍처의 Visio 파일을 다운로드합니다.

이 다이어그램은 아키텍처를 설명합니다. 시스템 전체에서:

워크플로

솔루션에는 다음 단계가 포함됩니다.

  1. 지역 병원의 직원이 웹 포털을 엽니다. 전체 웹앱은 Azure Blob Storage 정적 웹 사이트입니다.
  2. 직원은 자주 사용되는 의료 플랫폼 공급업체가 구축한 Python Flask 기반 웹 API에 연결되는 병원의 웹 포털에 데이터를 입력합니다. SCONE 기밀 컴퓨팅 소프트웨어의 기밀 노드는 환자 데이터를 보호합니다. SCONE은 엔클레이브에서 컨테이너를 실행할 수 있도록 하는 SGX(Software Guard Extensions)가 사용하도록 설정된 AKS 클러스터 내에서 작동합니다. 웹 API는 중요한 데이터와 앱 코드가 신뢰할 수 있는 실행 환경에서 암호화되고 격리된다는 증거를 제공합니다. 이는 사람, 프로세스 및 로그가 일반 텍스트 데이터 또는 애플리케이션 코드에 액세스할 수 없음을 의미합니다.
  3. 병원의 웹앱 클라이언트는 증명 서비스(Azure Attestation)가 이 증거의 유효성을 검사하도록 요청하고 다른 앱이 유효성 검사할 서명된 증명 토큰을 받습니다.
  4. 웹 API에 추가 구성 요소(예: Redis Cache)가 필요한 경우 데이터 및 앱 코드가 지금까지 안전한 영역에 남아 있는지 확인하기 위해 증명 토큰을 전달할 수 있습니다(확인은 6단계 참조).
  5. 웹 API는 타사 진단 공급자가 호스팅하는 ML 모델과 같은 원격 서비스도 사용할 수 있습니다. 그렇게 할 때 필요한 엔클레이브가 안전하다는 증거를 위해 모든 증명 토큰을 계속 전달합니다. 웹 API는 진단 공급자의 인프라에 대한 증명 토큰을 수신하고 확인하려고 시도할 수도 있습니다.
  6. 원격 인프라는 의료 플랫폼의 웹 API에서 증명 토큰을 수락하고 Azure Attestation 서비스에 있는 공용 인증서로 확인합니다. 토큰이 확인되면 엔클레이브가 안전하고 데이터나 앱 코드가 엔클레이브 외부에서 열리지 않았다는 것이 거의 확실합니다.
  7. 데이터가 노출되지 않았다고 확신하는 진단 공급자는 데이터를 ONNX(Open Neural Network Exchange) 런타임 서버의 자체 엔클레이브로 보냅니다. AI 모델은 의료 이미지를 해석하고 진단 결과를 의료 플랫폼의 기밀 웹 API 앱으로 반환합니다. 여기에서 소프트웨어는 환자 기록과 상호 작용하거나 다른 병원 직원에게 연락할 수 있습니다.

구성 요소

  • Azure Blob Storage는 HTML, CSS, JavaScript 및 이미지 파일과 같은 정적 콘텐츠를 스토리지 컨테이너에서부터 직접 제공합니다.

  • Azure Attestation은 플랫폼의 신뢰성을 원격으로 확인하는 통합 솔루션입니다. Azure Attestation은 또한 플랫폼에서 실행되는 이진 파일의 무결성을 원격으로 확인합니다. Azure Attestation을 사용하여 기밀 애플리케이션과의 신뢰를 설정합니다.

  • Azure Kubernetes Service는 Kubernetes 클러스터를 배포하는 프로세스를 간소화합니다.

  • 기밀 컴퓨팅 노드 는 사용자 수준 코드가 엔클레이브라고 하는 메모리의 프라이빗 영역을 할당하도록 허용하여 하드웨어 기반 TEE(신뢰할 수 있는 실행 환경) 내에서 AKS에서 중요한 워크로드를 실행할 수 있는 특정 가상 머신 시리즈에서 호스트됩니다. 기밀 컴퓨팅 노드는 기밀 컨테이너 또는 엔클레이브 인식 컨테이너를 지원할 수 있습니다.

  • SCONE 플랫폼은 Scontain의 Azure 파트너 ISV(독립 소프트웨어 공급업체) 솔루션입니다.

  • Redis는 오픈 소스 인메모리 데이터 구조 저장소입니다.

  • SCONE(Secure Container Environment)은 Kubernetes 클러스터 내에서 실행되는 컨테이너의 기밀 애플리케이션 실행을 지원합니다.

  • Confidential Inferencing ONNX Runtime Server Enclave(ONNX RT - Enclave)는 ML 호스팅 당사자가 유추 요청과 해당 응답에 모두 액세스하지 못하도록 제한하는 호스트입니다.

대안

  • SCONE 대신 Fortanix를 사용하여 컨테이너화된 애플리케이션과 함께 사용할 기밀 컨테이너를 배포할 수 있습니다. Fortanix는 기존 애플리케이션, 새로운 엔클레이브 네이티브 애플리케이션, 사전 패키지된 애플리케이션 등 가장 광범위한 애플리케이션 세트를 실행하고 관리하는 데 필요한 유연성을 제공합니다.

  • Graphene은 가벼운 오픈 소스 게스트 OS입니다. Graphene은 완전한 OS를 실행하는 것과 유사한 이점으로 격리된 환경에서 단일 Linux 애플리케이션을 실행할 수 있습니다. 기존 Docker 컨테이너 애플리케이션을 GSC(Graphene Shielded Containers)로 변환하기 위한 우수한 도구 지원이 있습니다.

시나리오 정보

조직이 협업할 때 정보를 공유합니다. 그러나 대부분의 당사자는 다른 당사자에게 데이터의 모든 부분에 대한 액세스 권한을 부여하는 것을 원하지 않습니다. 미사용 데이터와 전송 중인 데이터를 보호하기 위한 메커니즘이 존재합니다. 그러나 사용 중인 데이터를 암호화하면 다른 문제가 발생합니다.

이 솔루션은 기밀 컴퓨팅 및 컨테이너를 사용하여 공급자 호스팅 애플리케이션이 병원 및 타사 진단 공급자와 안전하게 협업할 수 있는 방법을 제공합니다. AKS(Azure Kubernetes Service)는 기밀 컴퓨팅 노드를 호스팅합니다. Azure Attestation은 진단 공급자와 신뢰를 설정합니다. 이러한 Azure 구성 요소를 사용하여 아키텍처는 특정 공유 데이터가 클라우드에서 처리되는 동안 병원 환자의 중요한 데이터를 격리합니다. 그러면 진단 공급자가 병원 데이터에 액세스할 수 없습니다. 이 아키텍처를 통해 공급자 호스팅 애플리케이션은 고급 분석도 활용할 수 있습니다. 진단 공급자는 이러한 분석을 ML(기계 학습) 애플리케이션의 기밀 컴퓨팅 서비스로 사용할 수 있도록 합니다.

잠재적인 사용 사례

많은 산업에서 다음과 같은 목적으로 기밀 컴퓨팅을 사용하여 데이터를 보호합니다.

  • 금융 데이터 보안
  • 환자 정보 보호
  • 중요한 정보에 대한 ML 프로세스 실행
  • 여러 원본의 암호화된 데이터 세트에 대한 알고리즘 수행
  • 컨테이너 데이터 및 코드 무결성 보호

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

Azure 기밀 컴퓨팅 VM(가상 머신)은 범용 요구 사항을 위해 2세대 D 제품군 크기로 제공됩니다. 이러한 크기는 집합적으로 D-시리즈 v2 또는 DCsv2 시리즈로 알려져 있습니다. 이 시나리오에서는 Gen2 OS(운영 체제) 이미지가 있는 Intel SGX 지원 DCs_v2 시리즈 가상 머신을 사용합니다. 그러나 특정 지역에서만 특정 크기를 배포할 수 있습니다. 자세한 내용은 빠른 시작: Marketplace에 Azure Confidential Computing VM 배포지역별 사용 가능한 제품을 참조하세요.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

이 시나리오를 실행하는 비용을 알아보려면 모든 Azure 서비스를 미리 구성하는 Azure 가격 계산기를 사용합니다.

다이어그램에 표시된 것처럼 Contoso Medical SaaS 플랫폼에 대해 샘플 비용 프로필을 사용할 수 있습니다. 다음 구성 요소가 포함되어 있습니다.

  • 시스템 노드 풀 및 SGX 노드 풀: 디스크 없음, 모두 임시
  • AKS Load Balancer
  • Azure Virtual Network: 명목
  • Azure Container Registry
  • SPA(단일 페이지 애플리케이션)용 스토리지 계정

프로필에는 다음 구성 요소가 포함되어 있지 않습니다.

  • Azure Attestation 서비스: 무료

  • Azure Monitor 로그: 사용량 기반

  • SCONE ISV 라이선스

  • 중요한 데이터로 작업하는 솔루션에 필요한 다음을 포함한 규정 준수 서비스:

    • 클라우드용 Microsoft Defender 및 Kubernetes용 Microsoft Defender
    • Azure DDoS Protection: 네트워크 보호
    • Azure Firewall
    • Azure Application Gateway 및 Azure Web Application Firewall
    • Azure Key Vault

시나리오 배포

이 시나리오를 배포하려면 다음과 같은 상위 수준 단계가 필요합니다.

  • 기존 SGX 사용 AKS 클러스터에 기밀 유추 서버를 배포합니다. 이 단계에 대한 정보는 GitHub의 기밀 ONNX 유추 서버 프로젝트를 참조하세요.

  • Azure Attestation 정책을 구성합니다.

  • SGX 사용 AKS 클러스터 노드 풀을 배포합니다.

  • SconeApps라는 큐레이팅된 기밀 애플리케이션에 액세스할 수 있습니다. SconeApps는 현재 SCONE Standard Edition을 통해 상업용 고객에게만 제공되는 프라이빗 GitHub 리포지토리에서 사용할 수 있습니다. 이 서비스 수준을 받으려면 SCONE 웹 사이트로 이동하여 회사에 직접 문의합니다.

  • AKS 클러스터에 SCONE 서비스를 설치하고 실행합니다.

  • AKS 클러스터에 Flask 기반 애플리케이션을 설치하고 테스트합니다.

  • 웹 클라이언트를 배포하고 액세스합니다.

이러한 단계는 엔클레이브 컨테이너에 중점을 둡니다. 보안 인프라는 이 구현을 넘어 확장되며 HIPAA에서 요구하는 추가 보호와 같은 규정 준수 요구 사항을 포함합니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

다음 단계