사용 중인 키 제공자에 관계없이, vSphere 가상 시스템 암호화를 통해 암호화된 가상 시스템을 생성하고 기존 가상 시스템을 암호화할 수 있습니다. 중요한 정보가 포함되어 있는 모든 가상 시스템 파일이 암호화되므로 가상 시스템이 보호됩니다. 암호화 권한을 가진 관리자만 암호화 및 암호 해독 작업을 수행할 수 있습니다.
vSphere 가상 시스템 암호화에서 지원하는 스토리지
vSphere 가상 시스템 암호화는 VMware vSAN을 비롯하여 지원되는 모든 스토리지 유형(NFS, iSCSI, Fibre Channel, 직접 연결된 스토리지 등)에서 작동합니다. vSAN 클러스터에서의 암호화 사용에 대한 자세한 내용은 "VMware vSAN 관리" 설명서를 참조하십시오.
vSphere 가상 시스템 암호화 및 vSAN은 동일한 암호화 라이브러리를 사용하지만 서로 다른 프로파일을 가지고 있습니다. 가상 시스템 암호화는 VM별 암호화이고 vSAN은 데이터스토어 수준 암호화입니다.
vSphere 암호화 키 및 키 제공자
vSphere는 KEK(키 암호화 키) 및 DEK(데이터 암호화 키)의 형태로 두 가지 암호화 수준을 사용합니다. 간단히 말해서, ESXi 호스트는 가상 시스템 및 디스크를 암호화하기 위해 DEK를 생성합니다. KEK는 키 서버에서 제공되며 DEK를 암호화(또는 "래핑")합니다. KEK는 AES256 알고리즘을 사용하여 DEK를 암호화하고 DEK는 XTS-AES-256(512비트 키 크기) 알고리즘을 사용하여 VMDK를 암호화합니다. 키 제공자의 유형에 따라 DEK 및 KEK를 생성하고 관리하는 데 다른 방법이 사용됩니다.
- ESXi 호스트는 가상 시스템과 디스크를 암호화하기 위해 내부 키를 생성하고 사용합니다. 이러한 키는 DEK로 사용됩니다.
- vCenter Server는 키 서버(KMS)에 키를 요청합니다. 이러한 키는 KEK로 사용됩니다. vCenter Server는 키 자체가 아니라 각 KEK의 ID만 저장합니다.
- ESXi는 KEK를 사용하여 내부 키를 암호화하고, 암호화된 내부 키를 디스크에 저장합니다. ESXi는 KEK를 디스크에 저장하지 않습니다. 호스트가 재부팅되면 vCenter Server는 해당하는 ID를 가진 KEK를 키 서버에 요청하여 ESXi가 사용할 수 있도록 합니다. 그러면 ESXi는 필요에 따라 내부 키를 암호 해독합니다.
vSphere 신뢰 기관 신뢰할 수 있는 키 제공자는 다음과 같이 작동합니다.
- 신뢰할 수 있는 클러스터의 vCenter Server는 암호화된 가상 시스템이 생성될 ESXi 호스트에서 신뢰할 수 있는 기본 키 제공자에 액세스할 수 있는지 확인합니다.
- 신뢰할 수 있는 클러스터의 vCenter Server가 신뢰할 수 있는 키 제공자를 가상 시스템 ConfigSpec에 추가합니다.
- 가상 시스템 생성 요청이 ESXi 호스트로 전송됩니다.
- ESXi 호스트가 아직 증명 토큰을 사용할 수 없는 경우 증명 서비스에서 하나를 요청합니다.
- 키 제공자 서비스가 증명 토큰을 검증하고 ESXi 호스트로 전송할 하나의 KEK를 생성합니다. KEK가 키 제공자에서 구성되는 기본 키로 래핑(암호화)됩니다. KEK 암호와 KEK 일반 텍스트가 모두 신뢰할 수 있는 호스트로 반환됩니다.
- ESXi 호스트가 가상 시스템 디스크 암호화를 위해 DEK를 생성합니다.
- KEK는 ESXi 호스트에서 생성한 DEK를 래핑하는 데 사용되며, 키 제공자의 암호는 암호화된 데이터와 함께 저장됩니다.
- 가상 시스템이 암호화되고 스토리지에 기록됩니다.
vSphere 클러스터의 ESXi 호스트는 고가용성, vMotion, DRS 등과 같은 가용성 기능을 사용하도록 설정하기 위해 호스트 메모리에 암호화된 가상 시스템에 대한 KEK를 보유합니다. 가상 시스템이 삭제되거나 등록 취소되면 클러스터의 ESXi 호스트가 메모리에서 KEK를 삭제합니다. 따라서 ESXi 호스트에서 더 이상 KEK를 사용할 수 없습니다. 이 동작은 표준 키 제공자 및 신뢰할 수 있는 키 제공자에 대해 동일합니다.
vSphere Native Key Provider는 다음과 같이 작동합니다.
- 키 제공자를 생성하면 vCenter Server가 기본 키를 생성한 후 클러스터의 ESXi 호스트에 푸시합니다. (외부 키 서버는 관여하지 않습니다.)
- ESXi 호스트는 요청 시 DEK를 생성합니다.
- 암호화 작업을 수행하면 데이터가 DEK를 사용하여 암호화됩니다.
암호화된 DEK는 암호화된 데이터와 함께 저장됩니다.
- 데이터를 암호 해독할 때 기본 키가 DEK를 암호 해독한 다음 데이터를 암호 해독하는 데 사용됩니다.
vSphere 가상 시스템 암호화가 암호화하는 구성 요소
- 가상 시스템 파일
-
대부분의 가상 시스템 파일, 특히 VMDK 파일에 저장되지 않는 게스트 데이터가 암호화됩니다. 이 파일 집합에는 NVRAM, VSWP 및 VMSN 파일을 비롯하여 다양한 파일이 포함되나 이에 국한되지 않습니다. 키 제공자의 키가 내부 키와 기타 암호가 포함되어 있는 VMX 파일의 암호화된 번들을 잠금 해제합니다. 키 검색은 키 제공자에 따라 다음과 같이 작동합니다.
- 표준 키 제공자: vCenter Server가 키 서버의 키를 관리하고 ESXi 호스트가 키 제공자에 직접 액세스할 수 없습니다. 호스트가 vCenter Server가 키를 푸시할 때까지 기다립니다.
- 신뢰할 수 있는 키 제공자 및 vSphere Native Key Provider: ESXi 호스트가 키 제공자에 직접 액세스하여 vSphere 신뢰 기관 서비스에서 직접 또는 vSphere Native Key Provider에서 요청된 키를 가져옵니다.
- 가상 디스크 파일
- 암호화된 VMDK(가상 디스크) 파일 내의 데이터는 스토리지 또는 물리적 디스크에 일반 텍스트로 기록되지 않습니다. 또한 네트워크를 통해 일반 텍스트로 전송되는 경우도 절대 없습니다. VMDK 설명자 파일은 대부분 일반 텍스트이지만 암호화된 번들에 KEK의 키 ID와 내부 키(DEK)가 포함됩니다.
- 코어 덤프
- 암호화 모드를 사용하도록 설정된 ESXi 호스트의 코어 덤프는 항상 암호화됩니다. vSphere 가상 시스템 암호화 및 코어 덤프의 내용을 참조하십시오. vCenter Server 시스템의 코어 덤프는 암호화되지 않습니다. vCenter Server 시스템에 대한 액세스를 보호합니다.
- 가상 시스템 스왑 파일
- 가상 시스템에 vTPM을 추가할 때마다 가상 시스템 스왑 파일이 암호화됩니다. RAM이 부족한 환경에서는 암호화 관련 페이징이 발생하여 성능에 영향을 미칠 수 있습니다.
- vTPM
- vTPM을 구성할 때 가상 시스템 파일은 암호화되지만 디스크는 암호화되지 않습니다. 가상 시스템 및 해당 디스크에 대해 명시적으로 암호화를 추가하도록 선택할 수 있습니다. 자세한 내용은 신뢰할 수 있는 가상 플랫폼 모듈로 가상 시스템 보호의 내용을 참조하십시오.
vSphere 가상 시스템 암호화가 암호화하지 않는 구성 요소
암호화 작업을 수행하는 데 필요한 권한
암호화 작업 권한이 할당된 사용자만 암호화 작업을 수행할 수 있습니다. 이 권한 집합은 세분화되어 있습니다. 기본 관리자 시스템 역할에는 모든 암호화 작업 권한이 포함됩니다. [암호화 관리자 없음]이라는 역할은 암호화 작업 권한을 제외한 모든 관리자 권한을 지원합니다.
암호 사용자.* 권한 사용 외에도 vSphere Native Key Provider는 Cryptographer.ReadKeyServersInfo 권한을 사용할 수 있습니다. 이 권한은 vSphere Native Key Provider에 한정됩니다.
자세한 내용은 암호화 작업 권한의 내용을 참조하십시오.
추가적인 사용자 지정 역할을 생성할 수도 있습니다. 예를 들면 사용자 그룹이 가상 시스템을 암호화할 수 있도록 허용하고 가상 시스템을 암호 해독하지 못하게 방지할 수 있습니다.
암호화 작업을 수행하는 방법
vSphere Client에서는 다양한 암호화 작업을 지원합니다. 다른 작업의 경우 PowerCLI 또는 vSphere API를 사용할 수 있습니다.
인터페이스 | 작업 | 정보 |
---|---|---|
vSphere Client | 암호화된 가상 시스템 생성 가상 시스템 암호화 및 암호 해독 가상 시스템의 얕은 이중 암호화 수행(다른 KEK 사용) |
본 설명서 |
PowerCLI | 암호화된 가상 시스템 생성 가상 시스템 암호화 및 암호 해독 vSphere 신뢰 기관 구성 |
"VMware PowerCLI Cmdlets 참조" |
vSphere Web Services SDK | 암호화된 가상 시스템 생성 가상 시스템 암호화 및 암호 해독 가상 시스템의 깊은 이중 암호화 수행(다른 DEK 사용) 가상 시스템의 얕은 이중 암호화 수행(다른 KEK 사용) |
"vSphere Web Services SDK 프로그래밍 가이드" "vSphere Web Services API 참조" |
crypto-util | 암호화된 코어 덤프 암호 해독 파일이 암호화되었는지 여부 확인 ESXi 호스트에서 직접 다른 관리 작업 수행 |
명령줄 도움말 |
암호화된 가상 시스템을 이중 암호화(키 재생성)하는 방법
예를 들어 키가 만료되었거나 손상된 경우 새 키를 사용하여 가상 시스템을 이중 암호화(키 재생성이라고도 함)할 수 있습니다. 다음 키 재생성 옵션을 사용할 수 있습니다.
- KEK(키 암호화 키)만 바꾸는 얕은 이중 암호화
- DEK(디스크 암호화 키) 및 KEK를 모두 바꾸는 깊은 이중 암호화
깊은 이중 암호화를 사용하려면 가상 시스템의 전원이 꺼져 있고 스냅샷이 없어야 합니다. 가상 시스템의 전원이 켜져 있고 가상 시스템에 스냅샷이 있다면 얕은 이중 암호화 작업을 수행할 수 있습니다. 스냅샷이 있는 암호화된 가상 시스템의 얕은 이중 암호화는 단일 스냅샷 분기(디스크 체인)에서만 허용됩니다. 여러 개의 스냅샷 분기는 지원되지 않습니다. 또한 가상 시스템 또는 디스크의 연결된 복제에서는 얕은 이중 암호화가 지원되지 않습니다. 새 KEK를 사용하여 체인에 있는 모든 링크를 업데이트하기 전에 얕은 이중 암호화가 실패하는 경우 이전 및 새 KEK가 있다면 암호화된 가상 시스템에 계속 액세스할 수 있습니다. 하지만 스냅샷 작업을 수행하기 전에 얕은 이중 암호화 작업을 다시 실행하는 것이 좋습니다.
vSphere Client, CLI 또는 API를 사용하여 가상 시스템의 키 재생성을 수행할 수 있습니다. vSphere Client를 사용하여 암호화된 가상 시스템 키 재생성, CLI를 사용하여 암호화된 가상 시스템 키 재생성 및 "vSphere Web Services SDK 프로그래밍 가이드" 의 내용을 참조하십시오.