Microsoft Azure 회사의 보안 및 규정 준수 요구 사항에 따라 데이터를 보호하는 도구가 포함되어 있습니다. 이 문서에서는 다음 사항에 중점을 둡니다.
- Microsoft Azure에서 정지된 상태의 데이터를 보호하는 방법.
- 데이터 보호 구현에 참여하는 다양한 구성 요소입니다.
- 다양한 키 관리 보호 접근법의 장점과 상충점.
정지 시 암호화는 일반적인 보안 요구 사항입니다. Azure는 기본적으로 플랫폼 관리 키를 사용해 데이터를 암호화합니다. 이 방법은 사용자 지정 키 관리 솔루션의 위험이나 비용 없이 조직에 자동 암호화를 제공합니다. 조직은 플랫폼 관리 키를 사용해 Azure가 휴지 시 암호화를 관리할 수 있고, 암호화 키와 키 관리 정책에 대한 추가 제어가 필요할 때는 고객이 관리하는 키를 사용할 수 있습니다.
미사용 데이터 암호화란?
암호화는 데이터의 기밀성을 보호하는 데 사용되는 데이터의 보안 인코딩입니다. Azure의 미사용 데이터 암호화 설계는 대칭 암호화를 활용하여 간단한 개념적 모델에 따라 대량의 데이터를 효율적으로 빠르게 암호화하고 암호 해독합니다.
- 대칭 암호화 키는 스토리지에 기록되는 데이터를 암호화합니다.
- 같은 암호화 키가 메모리에서 준비된 데이터를 복호화합니다.
- 서로 다른 파티션은 서로 다른 키를 사용할 수 있습니다.
- 키를 신원 기반 접근 제어 및 감사 정책이 적용된 안전한 위치에 저장합니다. 데이터 암호화 키가 안전한 위치 밖에 저장되어 있다면, 안전한 위치에 보관된 키 암호화 키를 사용해 암호화하세요.
실제로 키 관리 및 제어 시나리오, 그리고 규모 및 가용성 보장은 추가적인 구조를 요구합니다. 다음 섹션에서는 Microsoft Azure의 정적 데이터 암호화 개념 및 구성 요소에 대해 설명합니다.
미사용 데이터 암호화의 목적
정지 시 암호화는 저장된 데이터를 보호합니다. 정지 상태의 데이터에 대한 공격에는 데이터를 저장하는 하드웨어에 물리적으로 접근한 후 포함된 데이터를 유출하려는 시도가 포함됩니다. 이러한 공격에서 서버의 하드 드라이브가 유지 관리 중에 잘못 처리되어 공격자가 하드 드라이브를 제거할 수 있습니다. 공격자는 나중에 하드 드라이브를 자신의 제어 하에 있는 컴퓨터에 배치하여 데이터에 액세스하려고 시도합니다.
정지 시 암호화는 디스크 내 데이터가 암호화되어 있는지 확인함으로써 공격자가 암호화되지 않은 데이터에 접근하는 것을 방지합니다. 데이터가 암호화된 하드 드라이브를 공격자가 획득했지만 암호화 키를 획득하지 못한 경우 공격자는 데이터를 읽으려면 암호화를 풀어야 합니다. 이 공격은 하드 드라이브의 암호화되지 않은 데이터에 접근하는 것보다 훨씬 복잡하고 자원을 많이 소모합니다. 이 때문에 많은 조직이 정지 시 암호화를 최우선 과제로 삼고 있습니다.
조직의 데이터 거버넌스 및 컴플라이언스 노력도 정지 시 암호화를 요구할 수 있습니다. HIPAA, PCI, FedRAMP와 같은 산업 및 정부 규제는 데이터 보호 및 암호화 요구사항에 대한 구체적인 안전장치를 규정하고 있습니다. 그 중 일부 규정은 정지 시 암호화를 요구합니다. Microsoft의 FIPS 140 검증 접근법에 대한 자세한 내용은 연방정보처리 표준(FIPS) 140을 참조하십시오.
규정 준수 및 규제 요구 사항 충족 외에도, 저장 데이터 암호화는 심층 방어 보호를 제공합니다. Microsoft Azure 서비스, 애플리케이션 및 데이터에 대한 규정 준수 플랫폼을 제공합니다. 또한 포괄적인 시설 및 물리적 보안, 데이터 접근 제어, 감사 기능을 제공합니다. 하지만 다른 보안 조치 중 하나가 실패할 경우를 대비해 추가적인 '중첩' 보안 조치를 제공하는 것이 중요합니다. 미사용 데이터 암호화는 이러한 보안 조치를 제공합니다.
Microsoft는 클라우드 서비스 전반에 걸쳐 정지 시 암호화 옵션을 제공하며, 암호화 키와 키 사용 기록을 통제할 수 있게 합니다. Microsoft는 또한 모든 고객 데이터를 기본적으로 정지 상태에서 암호화하는 작업을 진행 중입니다.
키 관리 옵션
Azure 암호화 키를 관리하기 위한 두 가지 주요 방법을 제공합니다.
플랫폼 관리 키(기본값) (때때로 서비스 관리 키라고도 함): Azure는 키 생성, 저장, 회전, 백업 등 암호화 키 관리의 모든 측면을 자동으로 처리합니다. 이 방법은 설정 없이 암호화 상태를 제공하며, Azure는 기본적으로 Azure 서비스 전반에 이를 지원합니다. 플랫폼 관리 키는 최고 수준의 편리함을 제공하며 추가 비용이나 관리 오버헤드가 필요하지 않습니다.
고객 관리 키(선택 사항): 암호화 키에 대한 더 큰 통제가 필요한 조직은 Azure Key Vault 또는 Azure Key Vault Managed HSM을 사용하여 자체 키를 관리할 수 있습니다. 이 접근법은 키 수명 주기, 접근 정책, 암호 작업을 제어할 수 있게 해줍니다. 고객 관리 키는 관리 책임과 복잡성이 증가하는 대신 추가적인 제어를 제공합니다. 규제 또는 계약상 핵심 자료가 Microsoft 인프라 외부에 물리적으로 존재하도록 요구하는 조직의 경우, Azure Key Vault Managed HSM은 외부 키 관리(미리보기)도 지원하며, 이는 고객 운영 하드웨어 보안 모듈(HSM) 내 키 암호화 키(KEK)를 완전히 Azure 외부에 보관합니다.
이러한 방법 중에서 선택하는 방법은 조직의 보안 요구 사항, 규정 준수 요구 사항 및 운영 기본 설정에 따라 달라집니다. 대부분의 조직은 강력한 암호화 보호를 위해 플랫폼 관리 키를 사용할 수 있지만, 특정 규제 또는 보안 요구사항이 있는 조직은 고객 관리 키를 선택할 수 있습니다.
Azure 미사용 데이터 암호화 구성 요소
앞서 설명했듯이, 정지 암호화는 디스크에 저장된 데이터를 비밀 암호화 키를 사용해 유지합니다. 이 목표를 달성하기 위해 Azure 서비스는 안전한 키 생성, 저장, 접근 제어, 암호화 키 관리가 필요합니다. 세부 사항은 다를 수 있지만, Azure 서비스 휴지 시 암호화 구현은 아래 도표에 나타난 용어를 사용합니다.
Azure Key Vault
암호화 키의 스토리지 위치와 해당 키에 대한 액세스 제어는 미사용 데이터 암호화 모델의 핵심입니다. 키를 매우 안전하게 보호해야 하지만 지정된 사용자가 키를 관리할 수 있고 특정 서비스에서 사용할 수 있도록 해야 합니다. Azure 서비스의 경우, Azure Key Vault(프리미엄 계층) 또는 Azure Key Vault Managed HSM이 추천되는 키 저장소 솔루션이며, 서비스 간 공통 관리 경험을 제공합니다. 키 자격 증명 모음에 키를 저장하고 관리하며 사용자 또는 서비스에 키 자격 증명 모음에 대한 액세스 권한을 부여할 수 있습니다. Azure Key Vault는 고객이 직접 만든 키와 가져온 고객 키를 지원하여 고객이 관리하는 암호화 키 시나리오에서 사용합니다.
Microsoft Entra ID
Microsoft Entra 계정에 Azure Key Vault에 저장된 키를 사용할 권한을 부여하여 관리하거나 암호화 및 복호화 작업에 접근할 수 있습니다.
키 계층을 사용한 봉투 암호화
암호화된 데이터 저장 구현에서 둘 이상의 암호화 키를 사용합니다. 암호화 키를 Azure Key Vault에 저장하면 안전한 키 접근과 중앙 키 관리를 보장합니다. 하지만 서비스 로컬 접근이 모든 데이터 작업에 대해 Key Vault와 상호작용하는 것보다 대량 암호화 및 복호화에 더 효율적입니다. 이 방법은 더 강력한 암호화와 향상된 성능을 가능하게 합니다. 단일 암호화 키의 사용을 제한하면 키가 손상될 위험이 줄어들고 키를 교체해야 할 때 다시 암호화하는 비용이 줄어듭니다. Azure 미사용 데이터 암호화 모델은 엔벌로프 암호화 방식을 사용하며, KEK는 데이터 암호화 키(DEK)를 암호화합니다. 이 모델은 성능 및 보안 요구사항을 더 잘 다루는 핵심 계층 구조를 형성합니다:
- 데이터 암호화 키(DEK) - 데이터 파티션이나 블록을 암호화하는 대칭형 AES-256 키로, 때로는 데이터 키라고도 불립니다. 하나의 자원은 여러 파티션과 여러 DEK를 가질 수 있습니다. 각 데이터 블록을 서로 다른 키로 암호화하면 암호 해독 공격이 더 어려워집니다. DEK를 데이터를 암호화하고 복호화하는 서비스에 로컬로 두면 성능이 극대화됩니다.
- 키 암호화 키(KEK) - DEK를 봉투 암호화(래핑이라고도 함)를 사용하여 암호화하는 암호화 키입니다. Key Vault를 떠나지 않는 KEK를 사용하면 DEK를 암호화하고 제어할 수 있습니다. KEK에 대한 액세스 권한이 있는 엔터티는 DEK가 필요한 엔터티와 다를 수 있습니다. 엔터티는 DEK에 대한 액세스를 조정하여 각 DEK의 액세스를 특정 파티션으로 제한할 수 있습니다. DEK를 복호화하려면 KEK이 필요하기 때문에, KEK를 비활성화하면 DEK와 데이터를 암호화적으로 지울 수 있습니다. KEK을 비활성화하면 Azure SQL 투명한 데이터 암호화(TDE) 데이터베이스, 고객 관리 키가 있는 Azure Storage 계정, Azure Disk Encryption 보호 VM 등 모든 의존 서비스가 접근 불가능해집니다. 비활성화도 해당 키가 있는 볼트에만 영향을 미칩니다. 키가 백업되어 다른 금고에 복원되었다면, 복원된 복사본은 완전히 작동하며 비활성화 작업은 영향을 주지 않습니다. 자세한 내용은 백업 보안 고려사항을 참조하세요.
리소스 제공자와 애플리케이션 인스턴스는 암호화된 DEK를 메타데이터로 저장합니다. KEK에 대한 액세스 권한을 가진 엔터티만 이러한 DEK를 해독할 수 있습니다. Azure는 다양한 키 저장 모델을 지원합니다. 자세한 내용은 데이터 암호화 모델을 참조하세요.
서비스가 DEK를 로컬에 캐시하여 능동적 암호화 작업을 수행할 때, Azure 플랫폼의 보안 제어는 호스트 수준의 컴퓨팅 격리와 프로세스 수준의 보호를 포함하여 캐시된 키를 보호합니다. 캐시된 운영 키는 가용성과 성능 메커니즘이며, Key Vault의 KEK는 신뢰의 루트이며, 키 취소는 암호화된 데이터에 대한 접근을 통제합니다.
Microsoft 클라우드 서비스에서의 미사용 데이터 암호화
Microsoft 클라우드 서비스는 인프라 서비스(IaaS), 플랫폼 서비스(PaaS), 소프트웨어 서비스(SaaS) 세 가지 클라우드 모델 모두에서 사용됩니다. 다음 예제에서는 각 모델에 맞는 방법을 보여 줍니다.
- 소프트웨어 서비스, 즉 SaaS는 Microsoft 365와 같은 클라우드 호스팅 애플리케이션을 제공합니다.
- 플랫폼 서비스(PaaS)는 고객 애플리케이션에 스토리지, 분석, 서비스 버스 기능과 같은 클라우드 기능을 제공합니다.
- 인프라 서비스(IaaS)는 고객이 배포한 운영체제와 애플리케이션을 호스팅하며, 이들은 다른 클라우드 서비스도 사용할 수 있습니다.
SaaS 조직에 대한 미사용 데이터 암호화
SaaS(서비스형 소프트웨어) 조직은 일반적으로 정지 시 암호화를 활성화하거나 각 서비스에서 암호화를 제공합니다. Microsoft 365는 정지 시 암호화를 검증하거나 활성화할 수 있는 여러 옵션을 제공합니다. Microsoft 365 서비스에 대한 자세한 내용은
PaaS 조직에 대한 미사용 데이터 암호화
플랫폼 서비스(PaaS) 조직은 일반적으로 Blob Storage와 같은 스토리지 서비스에 데이터를 저장합니다. 그러나 데이터는 가상 머신과 같은 애플리케이션 실행 환경에 캐시되거나 저장될 수도 있습니다. 사용 가능한 미사용 데이터 암호화 옵션을 보려면 사용하는 스토리지 및 애플리케이션 플랫폼에 대한 데이터 암호화 모델을 검사합니다.
IaaS 조직에 대한 미사용 데이터 암호화
인프라 서비스(IaaS) 조직은 다양한 서비스와 애플리케이션을 사용할 수 있습니다. IaaS 서비스는 Azure 호스팅 가상 머신에서 호스팅 시 암호화를 사용하여 정지 시 암호화를 가능하게 할 수 있습니다.
암호화된 스토리지
PaaS와 마찬가지로 IaaS 솔루션은 미사용 시 암호화된 데이터를 저장하는 다른 Azure 서비스를 사용할 수 있습니다. 이 경우, 각 Azure 서비스가 제공하는 정지 시 암호화 지원을 활성화할 수 있습니다. 데이터 암호화 모델은 주요 스토리지, 서비스 및 애플리케이션 플랫폼과 지원되는 저장 데이터 암호화 모델을 나열합니다.
암호화된 컴퓨팅
Azure 관리형 디스크, 스냅샷, 이미지는 기본적으로 Azure Storage Service Encryption과 플랫폼 관리 키를 사용하여 암호화됩니다. 이 기본 암호화는 고객 설정이나 추가 비용이 전혀 필요하지 않습니다. 더 포괄적인 암호화 솔루션은 VM 호스트가 암호화되지 않은 형태의 데이터를 영속성으로 저장하지 않도록 보장합니다. 가상 머신에서 데이터를 처리하는 동안 시스템은 데이터를 Windows 페이지 파일, Linux 스왑 파일, 크래시 덤프 또는 애플리케이션 로그에 유지할 수 있습니다. 이 데이터가 정지 상태에서도 암호화되도록 하기 위해, IaaS 애플리케이션은 Azure IaaS 가상 머신에서 호스트 시 암호화를 사용할 수 있습니다. 기본적으로 호스트 암호화는 플랫폼 관리 키를 사용하지만, 추가 제어를 위해 선택적으로 고객 관리 키를 구성할 수도 있습니다.
사용자 지정 미사용 데이터 암호화
가능한 경우 IaaS 애플리케이션은 사용하는 Azure 서비스에서 제공하는 호스트 수준 암호화 및 미사용 데이터 암호화 옵션을 사용해야 합니다. 불규칙한 암호화 요구사항이나 Azure 기반이 아닌 스토리지와 같은 경우, IaaS 애플리케이션 개발자는 정지 시 암호화를 구현해야 할 수도 있습니다. IaaS 솔루션 개발자는 특정 Azure 구성 요소를 사용하여 Azure 관리 및 고객 기대치와 더 잘 통합할 수 있습니다. 구체적으로, 개발자는 Azure Key Vault를 사용하여 안전한 키 저장을 제공하고 사용자에게 Azure 플랫폼 서비스와 일치하는 키 관리 옵션을 제공해야 합니다. 맞춤형 솔루션은 또한 서비스 계정이 암호화 키에 접근할 수 있도록 Azure 관리 신원을 사용해야 합니다. 개발자 정보는 Azure Key Vault 개발자 가이드와 Azure 리소스에 대한 관리 신원을 참조하세요.
Azure 리소스 공급자 암호화 모델 지원
Microsoft Azure 서비스는 각각 하나 이상의 암호화 at rest(정지 시 암호화) 모델을 지원합니다. 하지만 일부 서비스에서는 하나 이상의 암호화 모델이 적용되지 않을 수도 있습니다. 고객 관리 키 시나리오를 지원하는 서비스는 Azure Key Vault가 키 암호화 키에 지원하는 키 유형 중 일부만 지원할 수 있습니다. 서비스들은 이러한 시나리오와 키 유형에 대한 지원을 서로 다른 일정에 따라 공개할 수도 있습니다. 이 섹션에서는 각 주요 Azure 데이터 저장 서비스에 대한 현재 암호화 시 정지 지원을 설명합니다.
Azure VM 디스크 암호화
Azure 인프라 서비스(IaaS) 기능을 사용하는 조직은 호스팅 시 암호화를 통해 IaaS VM 디스크를 레스트 상태에서 암호화할 수 있습니다. 자세한 내용은 호스트의 암호화 - VM에 대한 엔드투엔드 암호화를 참조하세요.
Azure Storage
모든 Azure Storage 서비스(Blob Storage, Queue Storage, Table Storage 및 Azure Files)는 저장 데이터에 대한 서버 쪽 암호화를 지원합니다. Blob Storage와 Queue Storage도 현재 클라이언트 측 암호화를 지원합니다.
- 서버 측(기본): 모든 Azure Storage 서비스는 플랫폼 관리 키를 사용해 기본적으로 서버 측 암호화를 자동으로 활성화합니다. 이 암호화는 애플리케이션에 투명하며 구성이 필요하지 않습니다. 자세한 내용은 미사용 데이터에 대한 Azure Storage 암호화를 참조하세요. 추가적인 제어를 위해 Azure Key Vault에서 고객 관리 키를 선택할 수도 있습니다. 자세한 내용은 Azure Storage 암호화용 고객 관리형 키를 참조하세요.
- 클라이언트 측(선택 사항): Blob Storage와 Queue Storage 클라이언트 라이브러리는 데이터가 Azure에 도달하기 전에 암호화해야 하는 조직을 위해 클라이언트 측 암호화를 지원합니다. 클라이언트 측 암호화를 사용할 때는 데이터를 암호화하고 암호화된 데이터로 업로드합니다. 열쇠는 네가 관리해. 자세한 내용은 블롭에 대한 클라이언트 측 암호화 와 큐에 관한 클라이언트 측 암호화를 참조하세요.
Azure SQL Database
Azure SQL Database는 플랫폼 관리 키를 사용하여 서비스 측 암호화와 클라이언트 측 암호화 시나리오를 위한 휴지 암호화를 지원합니다.
Azure SQL은 투명한 데이터 암호화(TDE)을 통해 서버 측 암호화를 제공합니다. 서비스 관리 TDE의 경우, Azure가 키를 자동으로 생성하고 관리합니다. 데이터베이스 및 서버 수준에서 미사용 데이터 암호화를 사용하도록 설정할 수 있습니다. 투명한 데이터 암호화(TDE)은 새로 생성된 데이터베이스에서 기본적으로 활성화되어 있습니다. Azure SQL 비대칭 RSA 또는 RSA-HSM 2048비트 및 3072비트 고객 관리 TDE 프로텍터를 Azure Key Vault 또는 Azure Key Vault 관리 HSM에서 지원합니다. 자세한 내용은 고객 관리형 키를 사용하여 Azure SQL 투명한 데이터 암호화를 참조하세요.
Azure SQL Database는 Always Encrypted 기능을 통해 클라이언트 측 암호화를 지원합니다. Always Encrypted는 클라이언트가 만들고 저장하는 키를 사용합니다. 마스터 키를 Windows 인증서 저장소, Azure Key Vault, 또는 로컬 HSM에 저장할 수 있습니다. SQL 사용자는 SQL Server Management Studio를 사용하여 각 열을 암호화하는 키를 선택할 수 있습니다.
결론
Azure 서비스에 저장된 고객 데이터를 보호하는 것은 Microsoft에게 매우 중요합니다. Azure 호스팅 서비스는 휴지 시 암호화 옵션을 제공합니다. Azure 서비스는 플랫폼 관리 키, 고객 관리 키, 또는 클라이언트 측 암호화를 지원합니다. Azure 서비스는 휴지 시 암호화 가용성을 계속 향상시키고 있습니다.
다음 단계
- 플랫폼 관리형 키 및 고객 관리형 키에 대한 자세한 내용은 데이터 암호화 모델을 참조하세요.
- Azure 더블 암호화를 사용하여 데이터 암호화와 함께 제공되는 위협을 완화하는 방법을 알아봅니다.
- 하드웨어 및 펌웨어 빌드 아웃, 통합, 운영화 및 복구 파이프라인을 트래버스하는 호스트의 플랫폼 무결성 및 보안을 보장하기 위해 Microsoft 수행하는 작업을 알아봅니다.