AWS CloudHSM을 사용하는 Oracle Database TDE(Transparent Data Encryption) - AWS CloudHSM

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS CloudHSM을 사용하는 Oracle Database TDE(Transparent Data Encryption)

TDE(Transparent Data Encryption)는 데이터베이스 파일을 암호화하는 데 사용됩니다. TDE를 사용하면 데이터베이스 소프트웨어는 데이터를 디스크에 저장하기 전에 암호화합니다. 데이터베이스의 테이블 열 또는 테이블스페이스의 데이터는 테이블 키 또는 테이블스페이스 키로 암호화됩니다. Oracle Database 소프트웨어의 일부 버전은 TDE를 제공합니다. Oracle TDE에서, 이 키는 TDE 마스터 암호화 키로 암호화됩니다. AWS CloudHSM 클러스터의 HSMs에 TDE 마스터 암호화 키를 저장하여 보안을 강화할 수 있습니다.

AWS CloudHSM에 Oracle TDE 마스터 암호화 키를 저장합니다.

이 솔루션에서는 Amazon EC2 인스턴스에 설치된 Oracle Database를 사용합니다. Oracle Database는 PKCS #11용AWS CloudHSM 소프트웨어 라이브러리와 통합되어 클러스터의 HSM에 TDE 마스터 키를 저장합니다.

중요
  • Amazon EC2 인스턴스에 Oracle Database를 설치하는 것이 좋습니다.

Oracle TDE를 AWS CloudHSM과 통합하려면 다음 단계를 완료하십시오.

1단계. 사전 조건 설정

Oracle TDE와의 통합을 수행하려면 다음이 AWS CloudHSM필요합니다.

  • 하나 이상의 HSM이 있는 활성 AWS CloudHSM 클러스터입니다.

  • 다음 소프트웨어가 설치된 Amazon Linux 운영 체제를 실행하는 Amazon EC2 인스턴스:

    • AWS CloudHSM 클라이언트 및 명령줄 도구입니다.

    • PKCS #11용 AWS CloudHSM 소프트웨어 라이브러리입니다.

    • Oracle Database.는 Oracle TDE 통합을 AWS CloudHSM 지원합니다. Client SDK 5.6 이상은 Oracle Database 19c용 Oracle TDE를 지원합니다. Client SDK 3은 Oracle Database 버전 11g 및 12c용 Oracle TDE를 지원합니다.

  • 클러스터의 HSM에서 TDE 마스터 암호화 키를 소유하고 관리할 CU(Cryptographic User)입니다.

다음 단계를 완료하여 사전 조건을 모두 설정합니다.

와 Oracle TDE 통합을 위한 사전 조건을 설정하려면 AWS CloudHSM
  1. 시작의 단계를 수행하세요. 이렇게 하면 HSM이 하나 있는 활성 클러스터가 생깁니다. 또한 Amazon Linux 운영 체제를 실행하는 Amazon EC2 인스턴스도 있습니다. AWS CloudHSM 클라이언트 및 명령줄 도구도 설치 및 구성됩니다.

  2. (선택 사항) 클러스터에 HSM을 더 추가합니다. 자세한 내용은 AWS CloudHSM 클러스터에 HSM 추가 단원을 참조하십시오.

  3. Amazon EC2 클라이언트 인스턴스에 연결하고 다음을 수행합니다.

    1. PKCS #11용 AWS CloudHSM 소프트웨어 라이브러리를 설치합니다.

    2. Oracle Database를 설치합니다. 자세한 내용은 Oracle Database 설명서를 참조하십시오. Client SDK 5.6 이상은 Oracle Database 19c용 Oracle TDE를 지원합니다. Client SDK 3은 Oracle Database 버전 11g 및 12c용 Oracle TDE를 지원합니다.

    3. cloudhsm_mgmt_util 명령줄 도구를 사용하여 클러스터에서 CU(Cryptographic User)를 생성합니다. CU 생성에 대한 자세한 내용은 CMU를 사용하여 HSM 사용자를 관리 방법HSM 사용자 항목을 참조하십시오.

3단계: Oracle TDE 마스터 암호화 키 생성

클러스터의 HSM에서 Oracle TDE 마스터 키를 생성하려면 다음 절차의 단계를 수행합니다.

마스터 키를 생성하려면
  1. 명령을 사용하여 Oracle SQL*Plus를 엽니다. 메시지가 표시되면 Oracle 데이터베이스를 설치할 때 설정한 시스템 암호를 입력합니다.

    sqlplus / as sysdba
    참고

    Client SDK 3의 경우 마스터 키를 생성할 때마다 CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE 환경 변수를 설정해야 합니다. 이 변수는 마스터 키 생성에만 필요합니다. 자세한 내용은 타사 애플리케이션 통합에 대해 알려진 문제에서 "문제: Oracle은 마스터 키 생성 중에 PCKS #11 속성 CKA_MODIFIABLE을 설정하지만 HSM은 이를 지원하지 않습니다"를 참조하십시오.

  2. 다음 예제와 같이 마스터 암호화 키를 생성하는 SQL 문을 실행합니다. Oracle 데이터베이스의 버전에 해당하는 문을 사용하십시오. <CU user name>을 CU(Cryptographic User)의 사용자 이름으로 바꿉니다. <password>를 CU 암호로 바꿉니다.

    중요

    다음 명령은 한 번만 실행하십시오. 명령이 실행될 때마다 새 마스터 암호화 키가 생성됩니다.

    • Oracle 데이터베이스 버전 11의 경우, 다음 SQL 문을 실행합니다.

      SQL> alter system set encryption key identified by "<CU user name>:<password>";
    • Oracle 데이터베이스 12버전 및 19c버전의 경우 다음 SQL문을 실행합니다.

      SQL> administer key management set key identified by "<CU user name>:<password>";

    응답이 System altered 또는 keystore altered일 경우 Oracle TDE의 마스터 키가 성공적으로 생성 및 설정된 것입니다.

  3. (선택 사항) 다음 명령을 실행하여 Oracle wallet의 상태를 확인합니다.

    SQL> select * from v$encryption_wallet;

    Oracle wallet이 열리지 않은 경우 다음 명령 중 하나를 실행하여 엽니다. <CU user name>을 CU(Cryptographic User)의 이름으로 바꿉니다. <password>를 CU 암호로 바꿉니다.

    • Oracle 11의 경우, 다음 명령을 실행하여 Oracle Wallet을 엽니다.

      SQL> alter system set encryption wallet open identified by "<CU user name>:<password>";

      수동으로 Oracle wallet을 닫으려면 다음 명령을 실행합니다.

      SQL> alter system set encryption wallet close identified by "<CU user name>:<password>";
    • Oracle 12 및 Oracle 19c의 경우 지갑을 열기 위해 다음 명령을 실행합니다.

      SQL> administer key management set keystore open identified by "<CU user name>:<password>";

      수동으로 Oracle wallet을 닫으려면 다음 명령을 실행합니다.

      SQL> administer key management set keystore close identified by "<CU user name>:<password>";