Windows 및 Linux VM 보호를 위한 암호화 옵션

완료됨

회사의 거래 업체에 강력한 암호화를 통해 거래 데이터를 보호해야 하는 보안 정책이 있는 경우를 가정해 보겠습니다. Windows 서버에서 실행되며 서버 데이터 디스크에 데이터를 저장하는 B2B 애플리케이션을 사용하고 있습니다. 이제 클라우드로 전환할 예정이므로, 권한이 없는 사용자/디바이스/애플리케이션이 Azure VM에 저장되는 데이터에 액세스할 수 없음을 거래 업체에 보여 주어야 합니다. B2B 데이터의 암호화를 구현하기 위한 전략을 결정해야 합니다.

감사 요구 사항에 따라 암호화 키는 타사가 아닌 내부에서 관리해야 합니다. 또한 Azure 기반 서버의 성능과 관리 효율성이 기본 확인하려고 합니다. 따라서 암호화를 구현하기 전에 성능이 저하되지 않도록 해야 합니다.

암호화란?

암호화는 의미 있는 정보를 무작위 문자 및 숫자 시퀀스와 같이 의미가 없어 보이는 내용으로 변환하는 과정입니다. 암호화 프로세스에서는 암호화된 데이터를 만드는 알고리즘의 일부로 형식을 사용합니다. 암호 해독을 수행하기 위해서도 키가 필요합니다. 키는 암호화 및 암호 해독에 동일한 키가 사용되는 대칭 또는 다른 키가 사용되는 비대칭일 수 있습니다. 후자의 예로는 디지털 인증서에 사용되는 퍼블릭-프라이빗 키 쌍이 있습니다.

대칭 암호화

AES(Advanced Encryption Standard)와 같이 대칭 키를 사용하는 알고리즘은 대개 공개 키 알고리즘에 비해 속도가 빠르며 대형 데이터 저장소를 보호하는 데 사용되는 경우가 많습니다. 키가 하나뿐이므로 키 공개를 방지하는 절차가 마련되어 있어야 합니다.

비대칭 암호화

비대칭 알고리즘의 경우에는 키 쌍 중에서 프라이빗 키 멤버만 프라이빗 상태로 안전하게 유지하면 됩니다. 그리고 이름에서도 알 수 있듯이 퍼블릭 키의 경우 암호화된 데이터가 손상되지만 않는다면 누구에게나 제공할 수 있습니다. 그러나 공개 키 알고리즘의 단점은 대칭 알고리즘보다 훨씬 느리고 많은 양의 데이터를 암호화하는 데 사용할 수 없다는 것입니다.

키 관리

Azure에서 Microsoft 또는 고객은 암호화 키를 관리할 수 있습니다. HIPAA 또는 기타 규정 준수를 입증해야 하는 조직에서 고객 관리 키를 요청하는 경우가 많습니다. 이러한 규정 준수를 위해서는 키에 대한 액세스가 기록되고 정기적인 키 변경이 수행되고 기록되어야 할 수 있습니다.

Azure Disk Encryption 기술

Azure VM의 기본 암호화 기반 디스크 보호 기술은 다음과 같습니다.

  • Azure SSE(스토리지 서비스 암호화)
  • ADE(Azure Disk Encryption)

SSE는 데이터 센터의 실제 디스크에서 수행됩니다. 누군가 실제 디스크에 직접 액세스할 경우 데이터가 암호화됩니다. 누군가가 디스크의 데이터에 액세스하면 데이터가 암호 해독되어 메모리에 로드됩니다.

ADE는 VHD(가상 머신의 가상 하드 디스크)를 암호화합니다. VHD가 ADE로 보호되는 경우 디스크 이미지는 디스크를 소유한 가상 머신에서만 액세스할 수 있습니다.

두 서비스를 모두 사용하여 데이터를 보호할 수 있습니다.

스토리지 서비스 암호화

SSE는 미사용 데이터를 보호하는 데 사용되는 Azure의 기본 제공 암호화 서비스입니다. Azure 스토리지 플랫폼에서는 데이터가 Azure Managed Disks를 비롯한 여러 스토리지 서비스에 저장되기 전에 자동으로 암호화합니다. 암호화는 256비트 AES 암호화를 통해 기본적으로 사용하도록 설정되며, 스토리지 계정 관리자가 관리합니다.

SSE는 모든 신규 및 기존 스토리지 계정에 대해 사용하도록 설정되며 사용하지 않도록 설정할 수 없습니다. 사용자 데이터는 기본적으로 보호되므로 SSE를 활용하도록 코드 또는 애플리케이션을 수정할 필요가 없습니다.

SSE는 Azure Storage 서비스의 성능에 영향을 주지 않습니다.

Azure 디스크 암호화

VM 소유자는 ADE를 관리합니다. Windows VM의 BitLocker 및 Linux VM의 DM-Crypt를 사용하여 Windows 및 Linux VM 제어 디스크의 암호화를 제어합니다. 운영 체제와 통합된 데이터 보호 기능인 BitLocker 드라이브 암호화는 분실, 도난 또는 부적절하게 서비스 해제된 컴퓨터에서 데이터가 노출되거나 도용될 위협을 해결합니다. 마찬가지로 DM-Crypt는 Linux의 미사용 데이터를 스토리지에 쓰기 전에 암호화합니다.

ADE를 사용하는 경우 Azure Storage에서 미사용 상태인 VM 디스크의 모든 데이터가 암호화됩니다. Recovery 자격 증명 모음에 백업된 VM을 사용하려면 ADE가 필요합니다.

ADE를 사용하면 VM은 고객 제어 키와 정책에 따라 부팅됩니다. ADE는 이러한 디스크 암호화 키 및 비밀을 관리하기 위해 Azure Key Vault와 통합됩니다.

참고 항목

ADE는 기본 계층 VM 암호화를 지원하지 않으며 ADE와 함께 온-프레미스 키 관리 서비스(KMS)를 사용할 수 없습니다.

암호화를 사용하는 경우

컴퓨터 데이터는 전송 중(인터넷 또는 기타 네트워크를 통해 전송)일 때와 미사용(스토리지 디바이스에 스토리지)일 때 위험합니다. Azure VM 디스크의 데이터를 보호할 때는 미사용 데이터 보호를 기본적으로 설정해야 합니다. Azure VM과 연결된 VHD(가상 하드 디스크) 파일을 다운로드하여 노트북에 저장하는 경우를 예로 들어 보겠습니다. 이때 VHD가 암호화되어 있지 않으면 컴퓨터에 VHD 파일을 탑재할 수 있는 모든 사용자가 VHD의 콘텐츠에 액세스할 수 있게 됩니다.

운영 체제(OS) 디스크의 경우 암호와 같은 데이터가 자동으로 암호화되므로 VHD 자체가 암호화되지 않더라도 해당 정보에 액세스하기가 쉽지 않습니다. 애플리케이션은 자체 데이터를 자동으로 암호화할 수도 있습니다. 그러나 이러한 보호를 사용하더라도 악의적인 의도가 있는 사용자가 데이터 디스크에 액세스하고 디스크 자체가 암호화되지 않은 경우 해당 애플리케이션의 데이터 보호에서 알려진 약점을 악용할 수 있습니다. 디스크 암호화가 적용되어 있으면 이러한 악용은 불가능합니다.

SSE는 Azure 자체의 일부이며 SSE를 사용할 때 VM 디스크 I/O에 눈에 띄는 성능 영향을 주지 않아야 합니다. 이제 SSE가 있는 관리 디스크가 기본값이므로 이를 변경할 이유가 없습니다. ADE는 VM 운영 체제 도구(BitLocker 및 DM-Crypt)를 사용하므로 VM 디스크에서 암호화 또는 암호 해독이 수행될 때 VM 자체가 일부 작업을 수행해야 합니다. 일반적으로는 특정 상황을 제외하면 이러한 추가 VM CPU 활동으로 인한 영향은 거의 없습니다. 예를 들어 CPU를 많이 사용하는 애플리케이션이 있는 경우 성능을 최대화하기 위해 OS 디스크를 암호화되지 않은 상태로 두는 경우가 있을 수 있습니다. 이 경우 애플리케이션 데이터를 별도의 암호화된 데이터 디스크에 저장할 수 있으므로 보안을 손상시키지 않으면서 필요한 성능을 얻을 수 있습니다.

Azure에서는 Azure VM 디스크를 보호하는 데 사용되는 두 가지 보조 암호화 기술을 제공합니다. 이러한 기술(SSE 및 ADE)은 서로 다른 계층에서 암호화되고 다양한 용도로 사용됩니다. 둘 다 AES 256비트 암호화를 사용합니다. 이 두 기술을 모두 사용하면 Azure 스토리지 및 특정 VHD에 대한 무단 액세스를 심층 방어하는 보호 기능이 제공됩니다.