바로가기 메뉴
메인메뉴 바로가기
본문내용 바로가기
  1. HOME  >
  2.   Case Management  >
  3.   Knowledge Search

Knowledge Search

Knowledge search

Title

[ORACLE] KO16KSC5601 DB의 한글 data를 암호화 한 후 UTF8 DB로 이관 TEST

Product

Plug-In

Phenomenon

KO16KSC5601에서 암호화 된 한글 data를 UTF8 DB로 이관 후 암호화 된 한글 data가 깨지는 현상

Cause

평문인 ‘곽경철’을 KO16KSC5601 DB에 입력을 하면 6byte로 DB에 입력이 되고 해당 Data를
UTF8 DB로 migration시(exp/imp or dblink를 통한 CTAS) 오라클 내부적으로 2byte의 한글을
3byte로 변환하는 characterset conversion이 발생하여 6byte던 ‘곽경철’이 9byte의 ‘곽경철’ 로
자동 변환 되어 DB에 저장됨.


평문인 ‘곽경철’을 KO16KSC5601 DB에 입력 후 AES-128로 암호화하면 숫자와 영문으로 조합된 ASCII 값 (0E3D293EC57993333EFCF88EDE8E9941)이 생성되고 이 값을 UTF8 DB로 migration을 하면 숫자와 영문으로 조합된 암호화 값은 별다른 characterset conversion 없이 UTF8 DB에 저장됨.

Solution

기존 KO16KSC5601 DB에 한글 data가 들어 있는 컬럼을 암호화하여 사용하는 경우 UTF8로 migration시 한글이 깨지는 현상이 발생하므로 DB upgrade 및 migration시 반드시 AS-IS와 TO-BE 쪽 characterset을 확인해 보아야 한다.

위의 TEST와 같이 miration시 한글이 깨지는 현상을 방지하기 위해서는 아래의 방법으로 Data를 이관하여야 한다.

- 기존 KO16KSC5601 DB에 암호화 컬럼 중 한글 Data가 포함된 table에 대해서는 복호화 후
Exp/imp로 data를 migration하고 다시 암호화 하는 방법


- view에서 view로 dblink를 통해 insert into select로 data를 넘기는 방법

위의 2가지 방법이 가장 일반적인 방법이지만 작업 시간이 많이 소요된다는 단점이 있다.



상세 TEST 내용은 첨부 파일 참조

file KO16KSC5601 DB의 한글 data를 암호화 한 후 UTF8 DB로 이관 TEST.docx
  • 리스트

사이트정보

서울특별시 강남구 역삼동 703-5 일환빌딩 9층 (주)이글로벌시스템  TEL : 02-6447-6988  FAX : 02-6447-6989

Copyright 2013 (주)이글로벌시스템 All Rights Reserved.