기술 정보
home
채널 소개
home

Tibero 데이터 암호화 설정 방법

문서 유형
기술 정보
분야
기타
보안
키워드
암호화
encryption
tde
tte
wallet
적용 제품 버전
6F S06
6F S07
6F S07PS
7F S01
7F S02
7F S02PS

개요

Tibero에서는 테이블 스페이스, 컬럼 등 암호화할 데이터(테이블의 컬럼 또는 테이블 스페이스)를 지정할 경우, 해당 데이터를 저장할 때 내부적으로 암호화하여 저장되며 검색시 복호화하여 조회 됩니다.
이 문서에서는 암호화 설정 방법과 암호화 알고리즘에 대해 설명합니다.

방법

테이블 스페이스 암호화

테이블 스페이스 단위로 암호화 합니다. (디폴트: AES128 알고리즘)
티베로 지원 알고리즘 중, 3DES168, AES128, AES192, AES256 만 사용 가능합니다.
예시) 암호화된 테이블 스페이스 생성 - 3DES168 알고리즘 지정
SQL> CREATE TABLESPACE encrypted_space DATAFILE '/usr/tibero/data/encrypted001.dtf' SIZE 50M AUTOEXTEND ON NEXT 1M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ENCRYPTION USING '3DES168' DEFAULT STORAGE (ENCRYPT); Tablespace 'ENCRYPTED_SPACE' created.
SQL
복사

컬럼 암호화

테이블 , 컬럼 단위로 암호화 합니다. (디폴트: AES192 알고리즘 : 옵션 SALT)
컬럼 암호화 시, 암호화 알고리즘과 함께 SALT 옵션 사용 여부도 명시할 수 있습니다.
참고
SALT 옵션은 같은 값의 데이터를 암호화할 때 항상 같은 암호로 암호화되지 않도록 하는 기능입니다. 이 옵션을 사용할 경우 보안의 수준을 높일 수 있으나, SALT 옵션을 사용하여 암호화한 컬럼에는 인덱스를 생성할 수 없습니다
예시) 암호화 컬럼을 갖는 테이블 생성 - 디폴트 암호화 옵션(AES192 알고리즘, SALT)
SQL> CREATE TABLE customer ( cust_id CHAR(4) CONSTRAINT cust_id_pk PRIMARY KEY NOT NULL, cust_name VARCHAR(20) NULL, cust_type VARCHAR(18) NULL, cust_addr VARCHAR(40) NULL, cust_tel VARCHAR(15) ENCRYPT NULL, reg_date DATE NULL ); Table 'CUSTOMER' created.
SQL
복사
예시) 암호화 컬럼을 갖는 테이블 생성 - AES256 알고리즘, NO SALT 옵션 설정
SQL> CREATE TABLE customer ( cust_id CHAR(4) CONSTRAINT cust_id_pk PRIMARY KEY NOT NULL, cust_name VARCHAR(20) NULL, cust_type VARCHAR(18) NULL, cust_addr VARCHAR(40) ENCRYPT USING 'AES256' NULL, cust_tel VARCHAR(15) ENCRYPT NO SALT NULL, reg_date DATE NULL ); Table 'CUSTOMER' created.
SQL
복사

티베로 지원 알고리즘

키워드
알고리즘명
설명
DES
Data Encryption Standard
64비트 키(실제 유효 키는 56비트)를 사용하는 고전적인 대칭키 암호화 알고리즘입니다. 현재는 보안이 약하다고 평가되어 거의 사용되지 않습니다.
3DES168
Triple DES (3DES)
DES를 3번 적용하는 방식으로, 세 개의 56비트 키를 사용해 총 168비트 키 길이를 가집니다. DES보다 보안성이 높지만, 처리 속도는 느립니다.
AES128 / AES192 / AES256
Advanced Encryption Standard
현재 가장 널리 사용되는 대칭키 암호화 표준입니다. 128, 192, 256비트 키 길이에 따라 보안 수준이 다릅니다. 고속이고 강력한 보안성을 자랑합니다.
SEED
SEED
한국인터넷진흥원(KISA)에서 개발한 블록 암호 알고리즘입니다. 128비트 키를 사용하며, 주로 국내 금융 및 공공기관에서 사용됩니다.
ARIA128 / ARIA192 / ARIA256
ARIA
한국에서 개발된 또 다른 블록 암호입니다. AES와 구조가 유사하고, 128/192/256비트 키를 지원합니다. 국가 표준 암호로 지정되어 있습니다.
GOST
GOST (ГОСТ)
러시아에서 개발된 블록 암호로, 256비트 키를 사용합니다. 과거 소련의 국가 표준 암호였으며, 현재는 현대 GOST(R 34.12-2015 등)로 발전하고 있습니다.

Wallet 설정 방법

암호화 기능 사용하기위해 wallet 설정이 필요하며, wallet 생성 및 설정 방법은 아래와 같습니다.
1.
wallet 생성
$ cd $TB_HOME/config $ tbwallet_gen -- 아래 name, passwd는 예시이며 원하는대로 사용 가능 name: WALLET passwd: tibero
SQL
복사
2.
$TB_SID.tip에서 경로와 이름 설정 및 db 재기동
$ vi $TB_HOME/config/$TB_SID.tip WALLET_FILE="[wallet 경로]" -- ex) /tibero_engine/tibero7/config/WALLET $ tbdown; tbboot
SQL
복사
3.
ALTER SYSTEM SET ENCRYPTION [wallet명] OPEN IDENTIFIED BY '[password]'; 수행
$ tbsql [user/[passwd] SQL > ALTER SYSTEM SET ENCRYPTION [wallet name] OPEN IDENTIFIED BY '[passwd]'; -- 1번에서 설정한 wallet 정보 ex) ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY 'tibero'; -- 만약, 6 FS06 이하 버전 중, 138447a 패치 미포함 시 (tbboot -p | grep 138447, tbboot -cs | grep 138447로 확인 시 둘 중 하나에도 존재하지 않을 시) SQL > ALTER SYSTEM SET ENCRYPTION [wallet name] OPEN IDENTIFIED BY "[passwd]";
SQL
복사