암호화 키 관리 법
- 컬럼 레벨 암호화
컬럼 레벨 암호화(Column-Level Encryption)는 데이터베이스에서 민감한 데이터를 특정 컬럼 단위로 암호화하여 저장하는 방법입니다.
이는 전체 데이터베이스나 테이블을 암호화하는 방법인 **TDE(Transparent Data Encryption)**와 달리,
지정된 컬럼의 데이터만 암호화하므로, 필요하지 않은 다른 데이터는 암호화하지 않아 성능을 최적화할 수 있습니다.
컬럼 레벨 암호화는 개인정보 보호법이나 보안 정책을 준수해야 하는 경우 유용하게 사용될 수 있습니다.
예를 들어, 고객의 신용카드 번호나 주민등록번호 등 민감한 정보를 암호화하여 저장하고,
그 외의 데이터는 암호화하지 않고 빠르게 접근할 수 있게 할 수 있습니다.
1. 암호화 과정
컬럼 레벨 암호화에서는 일반적으로 대칭 키 암호화 방식을 사용합니다. 대칭 키 암호화는 데이터를 암호화하는 데 사용되는 키와 복호화하는 데 사용되는 키가 동일한 방식입니다. 오라클에서는 DBMS_CRYPTO 패키지를 이용해 암호화를 처리합니다.
2. 암호화 및 복호화 방법
암호화와 복호화는 다음과 같은 절차로 진행됩니다:
암호화: 데이터를 암호화할 때는 사용자가 제공하는 키를 사용하여 데이터를 암호화합니다.
복호화: 데이터를 조회할 때는 암호화된 데이터를 복호화하여 원본 데이터를 확인할 수 있도록 합니다.
- TDE (Transparent Data Encryption)
TDE는 오라클 데이터베이스에서 전체 데이터 파일을 암호화하는 방식입니다.
사용자가 암호화를 명시적으로 처리하지 않고도 데이터베이스가 자동으로 데이터를 암호화하여 저장합니다.
TDE는 데이터베이스 파일을 암호화하므로, 디스크에서 데이터를 안전하게 보호할 수 있습니다.
이 방식은 특히 물리적인 데이터 유출에 대한 방어를 제공합니다.
TDE는 데이터베이스에서 사용하는 암호화 키를 관리하는 방법이 매우 중요합니다.
암호화된 데이터는 키 없이 복호화할 수 없기 때문에, 이 암호화 키를 안전하게 관리해야 합니다.
■ HSM(하드웨어 보안 모듈) vs KMS(키 관리 시스템)
- HSM (Hardware Security Module):
HSM은 물리적 장치로, 암호화 키를 생성하고 저장하며, 암호화 작업을 하드웨어적으로 처리합니다.
오라클에서는 HSM을 사용하여 TDE의 키 관리를 수행할 수 있습니다.
HSM은 암호화 키를 물리적으로 안전한 장소에 저장하고, 암호화 작업을 "하드웨어" 내에서 수행하여 보안성을 높입니다.
HSM은 키의 탈취나 유출을 방지하는 데 매우 효과적입니다.
암호화 키가 HSM 내에 안전하게 저장되며, 키가 HSM 내부에서만 처리되기 때문에
데이터베이스 서버와 연결된 사람이나 프로세스는 암호화 키에 직접 접근할 수 없습니다.
-KMS (Key Management System):
KMS는 암호화 키를 생성하고 관리하는 소프트웨어 시스템입니다. 클라우드 서비스나 온프레미스 시스템에서 제공하는 다양한 KMS가 있습니다.
KMS는 오라클 TDE와 연동하여 암호화 키의 생성, 저장, 관리를 담당할 수 있습니다.
오라클에서는 Oracle Key Vault와 같은 솔루션을 사용하여 TDE의 암호화 키를 관리하거나,
AWS KMS, Azure Key Vault 등 클라우드 기반의 KMS와 통합하여 키를 관리할 수 있습니다.
KMS는 암호화 키를 "소프트웨어적"으로 관리하고, 키가 어떻게 사용되는지,
언제 교체해야 하는지 등의 정책을 설정할 수 있습니다. KMS는 여러 시스템 간에 키를 안전하게 전송하고, 키의 수명 주기를 관리하는 데 유용합니다.
요약 :
1. 암호화 키 생성: TDE에서는 데이터베이스 파일을 암호화하는데 필요한 암호화 키를 생성합니다.
이 키는 master key로, TDE master encryption key라고도 불립니다.
2. 암호화 키 저장: 이 master key는 HSM이나 KMS에 안전하게 저장됩니다.
3. 암호화 및 복호화: 데이터베이스에 저장된 데이터를 읽고 쓸 때, 암호화 및 복호화 작업은 master key를 이용하여 자동으로 이루어집니다.
4. 키 관리: master key의 교체, 백업, 복구 등의 작업은 HSM이나 KMS에서 처리됩니다.
키의 관리 및 교체는 데이터베이스 관리자(DBA)가 설정한 정책에 따라 이루어집니다.
HSM은 키를 하드웨어적으로 보호하는 반면, KMS는 키를 소프트웨어적으로 관리합니다.
클라우드 환경에서는 KMS가 더 일반적이고, 온프레미스 환경에서는 HSM을 많이 사용합니다.
'DB' 카테고리의 다른 글
[CS] 데이터 무결성과 정합성 (0) | 2025.03.15 |
---|