다음을 통해 공유


휴지 상태의 Azure 데이터 암호화

Microsoft Azure에는 회사의 보안 및 규정 준수 요구 사항에 따라 데이터를 보호하는 도구가 포함되어 있습니다. 이 문서에서는 다음 사항에 중점을 둡니다.

  • Microsoft Azure에서 미사용 데이터가 보호되는 방식
  • 데이터 보호 구현에 참여하는 다양한 구성 요소입니다.
  • 다양한 키 관리 보호 접근 방식의 장단점입니다.

정지 시 암호화는 일반적인 보안 요구 사항입니다. Azure에서 데이터는 기본적으로 플랫폼 관리형 키를 사용하여 미사용 시 암호화됩니다. 이 방법은 사용자 지정 키 관리 솔루션의 위험이나 비용 없이 조직에 자동 암호화를 제공합니다. 조직은 Azure를 사용하여 플랫폼 관리형 키를 사용하여 미사용 데이터 암호화를 완전히 관리하거나 암호화 키 및 키 관리 정책에 대한 추가 제어가 필요할 때 고객 관리형 키를 사용할 수 있습니다.

미사용 데이터 암호화란?

암호화는 데이터의 기밀성을 보호하는 데 사용되는 데이터의 보안 인코딩입니다. Azure의 미사용 데이터 암호화 디자인은 대칭 암호화를 사용하여 간단한 개념적 모델에 따라 대량의 데이터를 신속하게 암호화하고 암호 해독합니다.

  • 대칭 암호화 키는 스토리지에 기록되는 데이터를 암호화합니다.
  • 동일한 암호화 키는 메모리에서 사용할 수 있도록 준비한 데이터 암호를 해독합니다.
  • 데이터를 분할할 수 있으며 각 파티션에 대해 서로 다른 키를 사용할 수 있습니다.
  • 키는 ID 기반 액세스 제어 및 감사 정책으로 안전하게 보호되는 위치에 저장해야 합니다. 데이터 암호화 키가 보안 위치 외부에 저장되는 경우 보안 위치에 유지되는 키 암호화 키를 사용하여 암호화됩니다.

실제로 확장성과 가용성 보장뿐만 아니라 키 관리 및 제어 시나리오에는 추가 구성이 필요합니다. 다음 섹션에서는 Microsoft Azure의 정지 상태 암호화 개념 및 구성 요소에 대해 설명합니다.

미사용 암호화의 목적

미사용 데이터 암호화는 저장된 데이터(미사용 데이터)를 보호합니다. 미사용 데이터에 대한 공격에는 데이터가 저장된 하드웨어에 물리적으로 액세스한 다음 포함된 데이터를 손상시키려는 시도가 포함됩니다. 이러한 공격에서 서버의 하드 드라이브가 유지 관리 중에 잘못 처리되어 공격자가 하드 드라이브를 제거할 수 있습니다. 공격자는 나중에 하드 드라이브를 자신의 제어 하에 있는 컴퓨터에 배치하여 데이터에 액세스하려고 시도합니다.

미사용 데이터 암호화는 디스크에 있을 때 데이터를 암호화하여 공격자가 암호화되지 않은 데이터에 액세스하지 못하도록 설계되었습니다. 데이터가 암호화된 하드 드라이브를 공격자가 획득했지만 암호화 키를 획득하지 못한 경우 공격자는 데이터를 읽으려면 암호화를 풀어야 합니다. 이 공격은 하드 드라이브의 암호화되지 않은 데이터에 액세스하는 것보다 훨씬 복잡하고 더 많은 리소스를 소모합니다. 이러한 이유로 미사용 데이터 암호화는 적극적으로 권장되며 많은 조직에서 우선 순위가 높은 요구 사항입니다.

조직의 데이터 거버넌스와 규정 준수를 위한 필요에 따라 데이터가 유휴 상태에 있을 때 암호화가 필요할 수도 있습니다. HIPAA, PCI 및 FedRAMP와 같은 업계 및 정부 규정은 데이터 보호 및 암호화 요구 사항에 대한 구체적인 안전 장치를 마련합니다. 미사용 데이터 암호화는 이러한 규정 중 일부를 사용하는 규정 준수에 필수적인 조치입니다. FIPS 140-2 유효성 검사에 대한 Microsoft의 접근 방식에 대한 자세한 내용은 FIPS(Federal Information Processing Standard) 간행물 140-2를 참조하세요.

규정 준수 및 규제 요구 사항 충족 외에도, 저장 데이터 암호화는 심층 방어 보호를 제공합니다. Microsoft Azure는 서비스, 애플리케이션 및 데이터를 위한 규격 플랫폼을 제공합니다. 또한 포괄적인 시설과 물리적 보안, 데이터 액세스 제어 및 감사를 제공합니다. 그러나 다른 보안 조치 중 하나가 실패할 경우 추가 "겹치는" 보안 조치를 제공하는 것이 중요합니다. 미사용 데이터 암호화는 이러한 보안 조치를 제공합니다.

Microsoft는 클라우드 서비스에서 저장 데이터 암호화 옵션을 제공하고 고객에게 암호화 키 및 키 사용 로그를 제공하기 위해 최선을 다하고 있습니다. 또한 Microsoft는 기본적으로 고객의 모든 저장 데이터를 암호화하기 위해 노력하고 있습니다.

키 관리 옵션

Azure는 암호화 키를 관리하기 위한 두 가지 기본 방법을 제공합니다.

플랫폼 관리형 키(기본값)( 서비스 관리형 키라고도 함): Azure는 키 생성, 스토리지, 회전 및 백업을 포함하여 암호화 키 관리의 모든 측면을 자동으로 처리합니다. 이 방법은 고객에게 필요한 구성이 0인 미사용 암호화를 제공하며 Azure 서비스에서 기본적으로 사용하도록 설정됩니다. 플랫폼 관리형 키는 가장 높은 수준의 편의를 제공하며 추가 비용 또는 관리 오버헤드가 필요하지 않습니다.

고객 관리형 키(선택 사항): 암호화 키를 보다 세밀하게 제어해야 하는 고객은 Azure Key Vault 또는 Azure Managed HSM을 사용하여 자체 키를 관리하도록 선택할 수 있습니다. 이 방법을 통해 고객은 키 수명 주기, 액세스 정책 및 암호화 작업을 제어할 수 있습니다. 고객 관리형 키는 관리 책임 증가 및 복잡성을 희생하여 추가 제어를 제공합니다.

이러한 방법 중에서 선택하는 방법은 조직의 보안 요구 사항, 규정 준수 요구 사항 및 운영 기본 설정에 따라 달라집니다. 대부분의 조직은 강력한 암호화 보호를 위해 플랫폼 관리형 키를 사용할 수 있지만 특정 규제 또는 보안 요구 사항이 있는 조직은 고객 관리형 키를 선택할 수 있습니다.

휴지 상태의 Azure 암호화 구성 요소

앞에서 설명한 대로 미사용 데이터 암호화의 목표는 디스크에 유지되는 데이터가 비밀 암호화 키로 암호화된다는 것입니다. 이 목표를 달성하려면 보안 키 생성, 스토리지, 액세스 제어 및 암호화 키 관리가 제공되어야 합니다. 세부 정보는 다를 수 있지만 Azure 서비스 미사용 데이터 암호화 구현은 다음 다이어그램에 설명된 용어로 설명할 수 있습니다.

구성 요소

Azure Key Vault (애저 키 볼트)

암호화 키의 스토리지 위치와 해당 키에 대한 액세스 제어는 미사용 데이터 암호화 모델의 핵심입니다. 키를 매우 안전하게 보호해야 하지만 지정된 사용자가 키를 관리할 수 있고 특정 서비스에서 사용할 수 있도록 해야 합니다. Azure 서비스의 경우 Azure Key Vault는 권장되는 키 스토리지 솔루션이며 서비스 전반에서 공통된 관리 환경을 제공합니다. 키 자격 증명 모음에 키를 저장하고 관리하며 사용자 또는 서비스에 키 자격 증명 모음에 대한 액세스 권한을 부여할 수 있습니다. Azure Key Vault는 고객이 관리하는 암호화 키 시나리오에서 사용할 고객 키 생성 또는 고객 키 가져오기를 지원합니다.

Microsoft Entra ID (마이크로소프트 엔트라 ID)

Microsoft Entra 계정에 Azure Key Vault에 저장된 키를 사용하기 위해 데이터 정지 상태 암호화 및 해독을 위한 권한을 부여받아 관리하거나 액세스할 수 있습니다.

키 계층을 사용한 봉투 암호화

미사용 암호화 구현에서 둘 이상의 암호화 키를 사용합니다. Azure Key Vault에 암호화 키를 저장하면 안전하게 키에 액세스하고 키를 중앙에서 관리할 수 있습니다. 그러나 암호화 키에 대한 서비스 로컬 액세스는 모든 데이터 작업에 대해 Key Vault와 상호 작용하는 것보다 대량 암호화 및 암호 해독에 더 효율적이므로 암호화와 성능이 향상됩니다. 단일 암호화 키의 사용을 제한하면 키가 손상될 위험이 줄어들고 키를 교체해야 할 때 다시 암호화하는 비용이 줄어듭니다. Azure 미사용 데이터 암호화 모델은 키 암호화 키가 데이터 암호화 키를 암호화하는 봉투 암호화를 사용합니다. 이 모델은 성능 및 보안 요구 사항을 보다 잘 해결할 수 있는 키 계층 구조를 형성합니다.

  • DEK(데이터 암호화 키) – 데이터의 파티션 또는 블록을 암호화하는 데 사용되는 대칭 AES256 키(간단히 데이터 키라고도 함). 단일 리소스에는 많은 파티션과 많은 데이터 암호화 키가 있을 수 있습니다. 서로 다른 키로 각 데이터 블록을 암호화하면 암호 분석 공격이 더욱 어려워집니다. 데이터를 암호화하고 해독하는 서비스에 DEK를 로컬로 유지하면 성능이 최대화됩니다.
  • KEK(키 암호화 키) – 봉투 암호화를 사용하여 데이터 암호화 키를 암호화하는 데 사용되는 암호화 키(래핑이라고도 함). Key Vault를 벗어나지 않는 키 암호화 키를 사용하여 데이터 암호화 키를 암호화하고 제어할 수 있습니다. KEK에 대한 액세스 권한이 있는 엔터티는 DEK가 필요한 엔터티와 다를 수 있습니다. 엔터티는 DEK에 대한 액세스를 조정하여 각 DEK의 액세스를 특정 파티션으로 제한할 수 있습니다. KEK는 DEK의 암호를 해독해야 하므로 고객은 KEK를 사용하지 않도록 설정하여 DEK 및 데이터를 암호화적으로 지울 수 있습니다.

리소스 공급자 및 애플리케이션 인스턴스는 암호화된 데이터 암호화 키를 메타데이터로 저장합니다. 키 암호화 키에 대한 액세스 권한이 있는 엔터티만 이러한 데이터 암호화 키를 해독할 수 있습니다. 다양한 키 스토리지 모델이 지원됩니다. 자세한 내용은 데이터 암호화 모델을 참조하세요.

Microsoft Cloud 서비스 내 미사용 데이터 암호화

IaaS, PaaS 및 SaaS의 세 가지 클라우드 모델에서 모두 Microsoft Cloud 서비스를 사용합니다. 다음 예제에서는 각 모델에 맞는 방법을 보여 줍니다.

  • Software as a Server 또는 SaaS라고 하는 소프트웨어 서비스에는 Microsoft 365와 같은 클라우드 제공 애플리케이션이 있습니다.
  • 고객이 애플리케이션의 스토리지, 분석 및 서비스 버스 기능과 같은 용도로 클라우드를 사용하는 플랫폼 서비스입니다.
  • 고객이 클라우드에 호스팅되어 다른 클라우드 서비스를 활용할 수 있는 운영 체제 및 애플리케이션을 배포하는 인프라 서비스 또는 IaaS(Infrastructure as a Service)

SaaS 고객에 대한 미사용 데이터 암호화

소프트웨어 서비스(SaaS) 고객은 일반적으로 각 서비스에서 데이터의 정지 시 암호화를 사용하도록 설정하거나 사용할 수 있습니다. Microsoft 365에는 고객이 미사용 상태의 암호화를 확인하거나 사용할 수 있는 여러 가지 옵션이 있습니다. Microsoft 365 서비스에 대한 자세한 내용은 Microsoft 365의 암호화를 참조하세요.

PaaS 고객에 대한 미사용 데이터 암호화

PaaS(Platform as a Service) 고객은 일반적으로 Blob Storage와 같은 스토리지 서비스에 데이터를 저장합니다. 그러나 데이터는 가상 머신과 같은 애플리케이션 실행 환경에 캐시되거나 저장될 수도 있습니다. 사용 가능한 미사용 데이터 암호화 옵션을 보려면 사용하는 스토리지 및 애플리케이션 플랫폼에 대한 데이터 암호화 모델을 검사합니다.

IaaS 고객에 대한 미사용 데이터 암호화

IaaS(Infrastructure as a Service) 고객은 다양한 서비스 및 애플리케이션을 사용할 수 있습니다. IaaS 서비스는 호스트에서 암호화를 사용하여 Azure 호스팅 가상 머신에서 미사용 시 암호화를 사용하도록 설정할 수 있습니다.

암호화된 스토리지

PaaS와 마찬가지로 IaaS 솔루션은 암호화된 미사용 데이터를 저장하는 다른 Azure 서비스를 활용할 수 있습니다. 이러한 경우 사용된 각 Azure 서비스에서 제공하는 대로 미사용 데이터 암호화 지원을 사용하도록 설정할 수 있습니다. 데이터 암호화 모델은 주요 스토리지, 서비스 및 애플리케이션 플랫폼과 지원되는 미사용 데이터 암호화 모델을 열거합니다.

암호화된 컴퓨팅

모든 Managed Disks, Snapshots 및 Images는 기본적으로 플랫폼 관리형 키와 함께 Storage Service Encryption을 사용하여 암호화됩니다. 이 기본 암호화에는 고객 구성 또는 추가 비용이 필요하지 않습니다. 보다 포괄적인 암호화 솔루션은 모든 데이터가 암호화되지 않은 형태로 유지되지 않도록 합니다. 가상 머신에서 데이터를 처리하는 동안 시스템은 Windows 페이지 파일 또는 Linux 스왑 파일, 크래시 덤프 또는 애플리케이션 로그에 데이터를 유지할 수 있습니다. 이 데이터가 미사용 시 암호화되도록 하기 위해 IaaS 애플리케이션은 기본적으로 플랫폼 관리형 키를 사용하지만 필요에 따라 고객 관리형 키를 사용하여 추가 제어를 위해 구성할 수 있는 Azure IaaS 가상 머신의 호스트에서 암호화를 사용할 수 있습니다.

사용자 지정 미사용 데이터 암호화

가능하면 IaaS 애플리케이션은 호스트 암호화 기능과 사용 중인 Azure 서비스에서 제공하는 비활성 데이터 암호화 기능을 활용해야 합니다. 불규칙한 암호화 요구 사항 또는 Azure 기반이 아닌 스토리지와 같은 어떤 경우에는 IaaS 애플리케이션 개발자가 자체적으로 미사용 데이터 암호화를 구현해야 할 수도 있습니다. IaaS 솔루션 개발자는 특정 Azure 구성 요소를 활용하여 Azure 관리 및 고객 기대와 더 잘 통합될 수 있습니다. 특히 개발자는 Azure Key Vault 서비스를 사용하여 보안 키 스토리지를 제공하고 고객에게 Azure 플랫폼 서비스와 일치하는 키 관리 옵션을 제공해야 합니다. 또한 사용자 지정 솔루션은 Azure 관리되는 서비스 ID를 사용하여 서비스 계정에서 암호화 키에 액세스할 수 있도록 설정해야 합니다. Azure Key Vault 및 Managed Service Identities에 대한 개발자 정보는 해당 SDK를 참조하세요.

Azure 리소스 공급자 암호화 모델 지원

Microsoft Azure 서비스마다 하나 이상의 미사용 데이터 암호화 모델을 지원합니다. 그러나 일부 서비스의 경우 하나 이상의 암호화 모델을 적용할 수 없습니다. 고객 관리형 키 시나리오를 지원하는 서비스의 경우 Azure Key Vault에서 키 암호화 키에 대해 지원하는 키 유형의 하위 집합만 지원할 수 있습니다. 또한 서비스는 다양한 일정에 따라 이러한 시나리오 및 주요 유형에 대한 지원을 릴리스할 수 있습니다. 이 섹션에서는 이 문서 작성 시점에서의 주요 Azure 데이터 스토리지 서비스마다의 미사용 데이터 암호화 지원에 대해 설명합니다.

Azure VM 디스크 암호화

Azure IaaS(Infrastructure as a Service) 기능을 사용하는 모든 고객은 호스트에서 암호화를 통해 미사용 IaaS VM 디스크를 암호화할 수 있습니다. 자세한 내용은 호스트의 암호화 - VM에 대한 엔드투엔드 암호화를 참조하세요.

Azure Storage

모든 Azure Storage 서비스(Blob Storage, Queue Storage, Table Storage 및 Azure Files)는 미사용 서버 쪽 암호화를 지원하며 일부 서비스는 클라이언트 쪽 암호화를 추가로 지원합니다.

  • 서버 쪽(기본값): 모든 Azure Storage 서비스는 기본적으로 플랫폼 관리형 키를 사용하여 서버 쪽 암호화를 자동으로 사용하도록 설정합니다. 이 암호화는 애플리케이션에 투명하며 구성이 필요하지 않습니다. 자세한 내용은 미사용 데이터에 대한 Azure Storage 서비스 암호화를 참조하세요. 고객은 필요에 따라 추가 제어를 위해 Azure Key Vault에서 고객 관리형 키를 사용하도록 선택할 수 있습니다. 자세한 내용은 Azure Key Vault의 고객 관리 키를 사용하는 Storage 서비스 암호화를 참조하세요.
  • 클라이언트 쪽(선택 사항): Azure Blob, 테이블 및 큐는 Azure에 도달하기 전에 데이터를 암호화해야 하는 고객을 위해 클라이언트 쪽 암호화를 지원합니다. 클라이언트 쪽 암호화를 사용하는 경우 고객은 데이터를 암호화하고 암호화된 Blob으로 데이터를 업로드합니다. 키 관리는 고객이 수행합니다. 자세한 내용은 Microsoft Azure Storage용 클라이언트 쪽 암호화 및 Azure Key Vault를 참조하세요.

Azure SQL 데이터베이스

Azure SQL Database는 현재 플랫폼 관리 서비스 암호화 및 클라이언트 측 암호화 시나리오에 대해 저장 시 암호화를 지원합니다.

서버 암호화 지원은 현재 투명한 데이터 암호화라는 SQL 기능을 통해 제공됩니다. Azure SQL Database 고객이 TDE 키를 사용하도록 설정하면 해당 키가 자동으로 만들어지고 관리됩니다. 데이터베이스 및 서버 수준에서 미사용 데이터 암호화를 사용하도록 설정할 수 있습니다. 2017년 6월 현재 TDE(투명한 데이터 암호화)는 새로 만든 데이터베이스에서 기본적으로 사용하도록 설정되어 있습니다. Azure SQL Database는 Azure Key Vault의 RSA 2048비트 고객 관리 키를 지원합니다. 자세한 내용은 Azure SQL Database 및 데이터 웨어하우스에 대한 BYOK(Bring Your Own Key) 지원을 사용한 투명한 데이터 암호화를 참조하세요.

Azure SQL Database 데이터의 클라이언트 쪽 암호화는 Always Encrypted 기능을 통해 지원됩니다. Always Encrypted는 클라이언트가 만들고 저장하는 키를 사용합니다. 고객은 Windows 인증서 저장소, Azure Key Vault 또는 로컬 HSM(하드웨어 보안 모듈)에 마스터 키를 저장할 수 있습니다. SQL Server Management Studio를 사용하는 경우 SQL 사용자는 열 암호화에 사용할 키를 선택합니다.

결론

Azure 서비스에 저장된 고객 데이터의 보호는 Microsoft에 매우 중요합니다. 모든 Azure 호스티드 서비스는 미사용 시 암호화 옵션을 제공하기 위해 최선을 다하고 있습니다. Azure 서비스는 플랫폼 관리형 키, 고객 관리형 키 또는 클라이언트 쪽 암호화를 지원합니다. Azure 서비스는 미사용 시 암호화 가용성을 광범위하게 향상시키고 있으며 향후 몇 달 안에 미리 보기 및 일반 공급에 대한 새로운 옵션이 계획되어 있습니다.

다음 단계

  • 플랫폼 관리형 키 및 고객 관리형 키에 대한 자세한 내용은 데이터 암호화 모델을 참조하세요.
  • Azure에서 이중 암호화를 사용하여 데이터 암호화와 제공되는 위협을 완화하는 방법에 대해 알아보세요.
  • 하드웨어 및 펌웨어 빌드, 통합, 운영화 및 파이프라인 복구 등의 호스트 플랫폼 무결성 및 보안을 보장하기 위해 Microsoft가 수행하는 작업에 대해 알아보세요.