Oracle Database의 보안은 데이터베이스 관리자의 주요 과제 중 하나입니다. 특히, 민감한 데이터가 저장된 데이터베이스에서는 데이터 보호가 필수적입니다.
Oracle 19c에서는 TDE(Transparent Data Encryption)를 통해 데이터 암호화를 수행할 수 있습니다. 이 글에서는 Oracle 19c에서 TDE를 설정하는 방법에 대해 자세히 안내하겠습니다.
![]()
TDE란 무엇인가요?

TDE(Transparent Data Encryption)는 데이터베이스에 저장된 민감한 데이터를 자동으로 암호화하는 기능입니다. 이 기능은 사용자가 데이터베이스에 접근할 때, 필요한 경우 자동으로 데이터를 복호화하여 제공하며, 데이터가 저장될 때에는 암호화된 상태로 저장됩니다.
TDE는 주로 디스크에 저장된 데이터의 보호를 위해 사용되며, 데이터가 도난 당할 경우를 대비한 중요한 보안 수단입니다. TDE를 사용하면 데이터베이스 파일이 도난당하거나 무단 접근을 당했을 경우에도 데이터가 쉽게 노출되지 않도록 보호할 수 있습니다.
이 기능은 기업의 데이터 보호 정책에 필수적인 요소로 자리잡고 있으며, 특히 금융, 의료, 그리고 개인정보 보호가 중요한 산업에서 널리 사용되고 있습니다.
| TDE의 주요 기능 | 설명 |
|---|---|
| 자동 암호화 | 데이터베이스에 저장되는 데이터는 자동으로 암호화됩니다. |
| 복호화 지원 | 사용자는 암호화된 데이터에 접근할 때 자동으로 복호화됩니다. |
| 보안 키 관리 | 암호화 키는 데이터베이스 외부에서 관리되어 보안성을 높입니다. |
TDE 설정을 위한 준비 단계

TDE를 설정하기 위해서는 몇 가지 준비 단계가 필요합니다. 이러한 단계들은 TDE의 원활한 실행을 위한 기반을 제공합니다.
Wallet 경로 생성
TDE 설정의 첫 번째 단계는 Wallet 경로를 생성하는 것입니다. Oracle TDE는 암호화 키를 저장하기 위한 Wallet이 필요합니다.
이 Wallet은 데이터베이스 외부에서 보호되는 암호화 키를 안전하게 저장합니다. Wallet의 경로를 생성하기 위해서는 Oracle 서버에서 적절한 디렉토리를 선택하여 해당 경로를 설정해야 합니다.
sqlnet.ora 파일 설정
Wallet 경로를 생성한 후, sqlnet.ora 파일에 TDE Wallet 경로를 등록해야 합니다. 이 파일은 Oracle Database의 네트워크 구성에 관한 설정을 포함하고 있으며, TDE를 사용할 수 있도록 Wallet 경로를 정의해야 합니다.
TDE 설정 시 ‘tde’라는 디렉토리가 자동으로 생성되므로, 이 경로를 적절히 등록해 주어야 합니다.
| 설정 항목 | 설명 |
|---|---|
| Wallet 경로 | Wallet이 저장될 디렉토리 |
| sqlnet.ora 파일 | TDE Wallet 경로를 등록하는 파일 |
WALLET_ROOT 파라미터 설정
WALLET_ROOT 파라미터는 Wallet의 경로를 정의하는 데 사용됩니다. 이 파라미터를 설정함으로써 Oracle Database는 해당 경로에서 Wallet을 검색하고 사용할 수 있게 됩니다.
WALLET_ROOT 파라미터는 초기화 파일에서 설정할 수 있으며, 데이터베이스를 재시작한 후에 적용됩니다.
TDE 설정 단계
TDE의 설정 단계는 다음과 같이 진행됩니다. 각 단계에서는 필요한 SQL 명령어를 사용하여 설정을 완료할 수 있습니다.
DB 재기동
TDE 설정을 완료하기 위해서는 데이터베이스를 재시작해야 합니다. 이 과정은 WALLET_ROOT 및 sqlnet.ora 파일의 변경 사항을 시스템에 반영하기 위해 필요합니다.
데이터베이스를 재시작하면 설정한 Wallet 경로와 관련 파라미터가 적용됩니다.
TDE_CONFIGURATION 파라미터 설정
TDE_CONFIGURATION 파라미터는 TDE의 세부 설정을 정의하는 데 사용됩니다. 이 파라미터는 데이터베이스가 TDE를 사용할지 여부를 결정합니다.
적절한 설정을 통해 TDE의 기능을 활성화할 수 있습니다.
| 설정 항목 | 설명 |
|---|---|
| TDE_CONFIGURATION | TDE의 활성화 여부 및 설정 정보를 포함 |
| WALLET_ROOT | Wallet 경로를 정의하는 파라미터 |
Wallet Master Key 생성
Wallet이 설정되면, Wallet Master Key를 생성해야 합니다. 이 키는 TDE의 암호화 및 복호화에 사용되는 주요 키입니다.
생성 후에는 Wallet 경로에 실제로 파일이 생성되었는지 확인하여, Wallet이 정상적으로 작동하는지 확인할 수 있습니다.
Wallet OPEN
Wallet을 열기 위해서는 적절한 SQL 명령어를 사용해야 합니다. Wallet이 열리면, 데이터베이스는 암호화 및 복호화 작업을 수행할 수 있는 상태가 됩니다.
Wallet을 여는 과정은 TDE를 사용하는 데 필수적입니다.
Wallet Key Backup
Wallet Master Key를 생성한 후에는 반드시 백업을 수행해야 합니다. 이는 암호화 키를 안전하게 보관하기 위한 중요 작업입니다.
키 백업은 시스템 장애나 데이터 손실 시 복구를 용이하게 합니다.
| 단계 | 설명 |
|---|---|
| Wallet OPEN | Wallet을 열어 암호화 작업을 준비 |
| Wallet Key Backup | Master Key의 백업을 수행 |
TDE 적용 확인 및 암호화 테이블스페이스 생성
TDE가 정상적으로 설정되었는지 확인하기 위해, 암호화된 테이블스페이스를 생성하고 적용 여부를 확인합니다. 테이블스페이스를 생성할 때 암호화 옵션을 사용하여 생성하면, 해당 테이블스페이스가 자동으로 암호화됩니다.
TDE 적용 확인
암호화가 정상적으로 이루어졌는지 확인하기 위해, 생성된 테이블스페이스의 데이터 파일 내용을 확인할 수 있습니다. strings 명령어를 사용하면, 데이터 파일의 내용을 확인할 수 있으며, 암호화 전후의 변화를 명확히 볼 수 있습니다.
| 확인 방법 | 설명 |
|---|---|
| strings 명령어 | 데이터 파일의 내용을 확인하는 방법 |
| 암호화 적용 여부 | 테이블스페이스의 데이터가 암호화되었는지 확인 |
결론
Oracle 19c에서 TDE를 설정하는 과정은 다소 복잡할 수 있지만, 데이터의 안전성을 확보하기 위해 필수적인 작업입니다. TDE를 통해 데이터베이스에 저장된 민감한 정보를 보호할 수 있으며, 데이터의 도난이나 무단 접근을 방지할 수 있습니다.
사용자는 TDE의 설정 과정을 통해 데이터베이스의 보안을 강화하고, 기업의 데이터 보호 정책을 준수할 수 있습니다. TDE는 현대의 데이터베이스 관리에 있어 필수적인 요소로, 사용자와 기업 모두에게 큰 도움이 될 것입니다.