Oracle TDE 사용 AWS CloudHSM: 데이터베이스 구성 및 마스터 암호화 키 생성 - AWS CloudHSM

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

Oracle TDE 사용 AWS CloudHSM: 데이터베이스 구성 및 마스터 암호화 키 생성

Oracle TDE를 AWS CloudHSM 클러스터와 통합하려면 다음 항목을 참조하십시오.

  1. Oracle 데이터베이스 구성 업데이트하여 클러스터의 HSM을 외부 보안 모듈로 사용합니다. 외부 보안 모듈에 대한 자세한 내용은 오라클 데이터베이스 고급 보안 가이드투명한 데이터 암호화 소개를 참조하십시오.

  2. 클러스터의 HSM에서 Oracle TDE 마스터 암호화 키 생성.

Oracle 데이터베이스 구성 업데이트

클러스터의 HSM을 외부 보안 모듈로 사용하도록 Oracle 데이터베이스 구성을 업데이트하려면 다음 단계를 수행합니다. 외부 보안 모듈에 대한 자세한 내용은 오라클 데이터베이스 고급 보안 가이드투명한 데이터 암호화 소개를 참조하십시오.

Oracle 구성을 업데이트하려면
  1. Amazon EC2 클라이언트 인스턴스에 연결합니다. 이 인스턴스는 Oracle 데이터베이스를 설치한 인스턴스입니다.

  2. sqlnet.ora 파일의 백업 사본을 생성합니다. 이 파일의 위치는 Oracle 문서를 참조하십시오.

  3. 텍스트 편집기를 사용하여 sqlnet.ora 파일을 편집합니다. 다음 행을 추가합니다. 파일에서 기존 행이 encryption_wallet_location으로 시작할 경우 기존 행을 다음과 같이 바꿉니다.

    encryption_wallet_location=(source=(method=hsm))

    파일을 저장합니다.

  4. 다음 명령을 실행하여 Oracle 데이터베이스가 AWS CloudHSM PKCS #11 소프트웨어 라이브러리의 라이브러리 파일을 찾을 것으로 예상되는 디렉토리를 생성합니다.

    sudo mkdir -p /opt/oracle/extapi/64/hsm
  5. 다음 명령을 실행하여 PKCS #11 파일용 AWS CloudHSM 소프트웨어 라이브러리를 이전 단계에서 만든 디렉터리로 복사합니다.

    sudo cp /opt/cloudhsm/lib/libcloudhsm_pkcs11.so /opt/oracle/extapi/64/hsm/
    참고

    /opt/oracle/extapi/64/hsm 디렉터리는 라이브러리 파일을 하나만 포함해야 합니다. 해당 디렉터리에 있는 다른 파일을 제거합니다.

  6. 다음 명령을 실행하여 /opt/oracle 디렉터리와 그 안에 포함된 모든 항목의 소유권을 변경합니다.

    sudo chown -R oracle:dba /opt/oracle
  7. Oracle 데이터베이스를 시작합니다.

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>";