IBM Cloud Docs
VHD 이미지 암호화

VHD 이미지 암호화

E2E 암호화 기능을 사용하려면 암호화된 인스턴스의 프로비저닝을 위해 가상 하드 드라이브(VHD) 이미지를 이미지 템플리트로 가져오기 전에 우선 vhd-util 도구를 사용하여 이를 암호화해야 합니다. 두 가지 레벨의 AES 암호화 즉 AES 256비트와 AES 512비트가 지원됩니다.

암호화된 VHD 이미지 요구사항

암호화된 VHD 이미지는 다음 요구사항을 충족해야 합니다.

  • VHD 형식입니다.
  • IBM Cloud® 콘솔 인프라 환경과 호환 가능합니다.
  • 지원되는 OS로 프로비저닝되었습니다.
  • cloud-init이 사용으로 설정되어 있습니다.
  • vhd-util 도구로 암호화되었습니다.

VHD 이미지 암호화

암호화된 VHD 이미지를 작성하려면 다음 단계를 수행하십시오.

  1. IBM Cloud의 가상 디스크 이미지(VHD 파일)를 암호화하려면 CentOS 시스템 버전 7 이상을 선택하십시오. CentOS가 설치된 실제 하드웨어에 액세스할 수 없는 경우에는 공용 또는 전용 호스트를 사용하여 IBM Cloud 내에서 CentOS 7로 가상 서버 인스턴스를 프로비저닝할 수 있습니다. VHD 파일을 암호화하는 데 사용되는 CentOS 시스템 자체는 암호화될 필요가 없습니다.

  2. IBM Cloud에서 암호화 도구를 다운로드한 후 최적의 사용 가능한 옵션을 사용하여 VHD를 암호화하십시오.

    옵션 1 CentOS 시스템이 IBM Cloud에서 실행 중이지 않은 경우에는 고객 VPN에 로그인하여 연결하십시오. VPN 설정에 대한 자세한 정보는 "SSL VPN 연결 설정"을 참조하십시오. VPN에 연결한 후 IBM Cloud 다운로드 사이트로 이동하여 vhd-util 도구 RPM 패키지 파일을 선택하십시오. vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm

    옵션 2 RPM 패키지 파일을 CentOS 시스템으로 직접 다운로드할 수 없는 경우에는 고객 VPN에 연결한 후 현재 작업 중인 워크스테이션에 해당 파일을 다운로드하십시오. 그런 다음 scp(secure copy) 명령을 사용하여 CentOS 시스템에 업로드할 수 있습니다. IBM Cloud에서 가상 서버 인스턴스를 사용 중인 경우에는 다음 명령을 사용하여 업로드에 시스템의 공인 IP 주소를 사용하십시오.

    scp vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm root@<vsi_public_ip>:
    

    옵션 3 1단계에서 IBM Cloud 내에 CentOS 가상 서버 인스턴스를 프로비저닝하기로 선택한 경우에는 고객 VPN에 연결하지 않고도 다음의 curl 명령을 사용할 수 있습니다.

    curl -O http://downloads.service.softlayer.com/citrix/xen/vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
    
  3. 다음 명령을 사용하여 RPM을 설치하십시오.

    rpm -iv vhd-util-standalone-3.5.0-xs.2+1.0_71.2.2.x86_64.rpm
    
  4. 디스크 이미지의 암호화와 복호화에 필요한 AES DEK(data encryption key)를 식별하고 선택한 후 이를 키 파일에 쓰십시오. 이 DEK는 환경 준비에 있는 키 관리 서비스 제공 고객 루트 키를 사용하여 랩핑된 것과 동일한 Base-64로 인코딩된 DEK입니다. 키 파일에 쓰여진 키 자료는 랩핑 해제되어야 하며 인코딩되지 않아야 합니다.

    키 파일은 Base-64 인코딩되지 않으므로, 표준 ASCII 문자를 사용하여 명령행에서 키 파일 컨텐츠를 인쇄하거나 볼 수는 없습니다.

    다음 명령을 사용하여 AES 256비트 또는 AES 512비트 암호화 키로 키 파일을 작성하십시오.

    echo <data_key> | base64 -d - > <keyfile_name>
    

    명령 예제:

    echo Nrfen98EpMxF2B+wdgLfagzrqvgUZfMK4vL2T0NsT20ihrsNC9pUUHtizF6218pze8RLCgQ6kwxuE58IWLzgDA== | base64 -d - > aes512.dek
    
  5. 다음 명령을 사용하여 이전 단계에서 작성한 키 파일을 확인하십시오.

    vhd-util key -C -k <keyfile_name>
    

    예제 명령 및 출력:

    vhd-util key -C -k aes512.dek
    vhd_util_read_key: using keyfile aes512.dek, Size (bytes) 64
    21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
    

    이전 예제 명령의 출력에서 첫 번째 행은 aes512.dek 키 파일에 64바이트 키가 포함되어 있음을 표시합니다. 두 번째 행에 나열되는 숫자는 각 암호화 키에 대한 SHA256 해시 또는 보안 해시입니다. AES 256비트 암호화 키가 포함된 파일의 출력은 32바이트 키를 표시합니다.

  6. 다음 명령을 사용하여 VHD 파일의 암호화된 사본을 작성하십시오. target_vhd은(는) 암호화된 source_vhd 버전을 포함하는 파일의 이름을 나타냅니다.

    vhd-util copy -n <source_vhd> -N <target_vhd> -k <keyfile_name>
    

    명령 예제:

    vhd-util copy -n debian8-ne.vhd -N debian8-aes512.vhd -k aes512.dek
    
  7. 다음 명령을 사용하여 VHD 파일이 암호화되었는지 확인하십시오.

    vhd-util key -p -n <vhd_filename>
    

    예제 명령 및 출력:

    vhd-util key -p -n debian8-aes512.vhd
    0000000000000000000000000000000000000000000000000000000000000000
    21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda
    

VHD 파일이 암호화된 경우 이전 예제에 표시된 대로 출력에 두 개의 해시 값이 표시됩니다. 첫 번째 해시는 모두 0입니다. 두 번째 해시는 AES 암호화 키가 VHD를 암호화하고 복호화하는 데 사용하는 SHA256 해시입니다. VHD 파일의 SHA256 해시가 5단계에 표시된 해시와 동일한지 확인하십시오.

7단계의 예제 명령은 "debian8-aes512.vhd"라는 암호화된 새 VHD 파일을 작성합니다. 이는 이름이 "aes512.dek"인 키 파일에서 AES 512비트 암호화 키로 암호화됩니다. 해당 암호화에 대한 SHA256 해시는 21681bba94f04b33b112f5f90a0faa885a6d1dbf1bd68ed16c5b995143088eda입니다.