본 문서는 UMS 시스템에서 개인정보 보호를 위해 모바일 번호를 암호화하여 관리하고 발송하는 두 가지 방법에 대해 설명합니다.
UMS는 기본적으로 엔드포인트(발송기 및 발송 채널 공급사) 간의 직접적인 암/복호화 처리를 권고하지만, 발송 단계에서 별도의 암호화가 필요한 경우 아래 설정을 참조하십시오.
발송 요청 시 모바일 번호가 평문으로 전달될 경우, 시스템 내부 DB 저장 시점 또는 외부 벤더사 전송 시점에 암호화를 적용할 수 있습니다.
공급사(벤더) 측에서 복호화 로직을 수행할 수 없는 환경에서, 내부 DB의 발송 이력 정보에 포함된 모바일 번호만 암호화하여 저장하는 방식입니다.
유라클 기본 라이브러리를 사용하여 DB 저장 시 암호화를 활성화합니다.
# 유라클 기본 암호화 라이브러리 사용 여부 (Y: 사용)
ENCRYPT.USE_URACLE=Y
# 암호화 적용 대상 옵션 설정 (PHONENUM: 모바일번호, NAME: 이름)
# 미설정 시 모바일 번호와 이름 모두 암호화되어 저장됨
ENCRYPT.OPTION=["PHONENUM"]
에이전트에서도 동일하게 암호화 옵션을 활성화하여 DB 처리를 수행합니다.
<ENCRYPT>
<PHONENUM_ENC_YN>Y</PHONENUM_ENC_YN>
<USE_URACLE>Y</USE_URACLE>
<URACLE_ENC_OPTION>["PHONENUM"]</URACLE_ENC_OPTION>
</ENCRYPT>
요청받은 번호를 암호화하여 DB에 저장할 뿐만 아니라, 채널 공급사(벤더)에게도 암호화된 상태로 전달하는 방식입니다.
주의사항: 반드시 채널 공급사 측에서 해당 암호화 데이터를 복호화할 수 있는 로직이 준비되어 있어야 합니다.
제3사(3rd Party) 암호화 라이브러리를 연동하여 외부 전송용 암호화를 구성하는 예시입니다.
# 벤더사 전송 시까지 암호화 처리 (A 설정 시 모바일 번호만 암호화됨)
ENCRYPT.USE_URACLE=A
# 제3사 암/복호화 확장 클래스 지정
CUSTOM.ENCRYPT.CLASS=kr.uracle.ums.extention.util.sample.SampleEncryptUtil
# 암호화 도메인 또는 키 정보
CUSTOM.ENCRYPT.DOMAIN=TESTABC123
# 암호화 대상 설정
ENCRYPT.OPTION=["PHONENUM"]
주의: 엔진 단계에서 이미 암호화된 모바일 번호이므로, 에이전트에서의 중복 암호화를 방지하기 위해 반드시 N으로 설정해야 합니다.
<ENCRYPT>
<PHONENUM_ENC_YN>N</PHONENUM_ENC_YN>
<USE_URACLE>Y</USE_URACLE>
<URACLE_ENC_OPTION>["PHONENUM"]</URACLE_ENC_OPTION>
</ENCRYPT>
사용 환경에 따라 아래 옵션을 조합하여 암호화 범위를 설정할 수 있습니다.
| 옵션 항목 | 설정값 | 설명 |
|---|---|---|
| ENCRYPT.USE_URACLE | Y | 유라클 기본 라이브러리를 사용하여 DB 저장 시 암호화 수행 |
| A | 모바일 번호를 벤더사 전송 단계까지 암호화하여 처리 (신규 옵션) | |
| N | 암호화 처리를 하지 않음 (기본값) | |
| ENCRYPT.OPTION | PHONENUM | 모바일 번호(핸드폰 번호)를 암호화 대상으로 지정 |
| NAME | 수신자 이름을 암호화 대상으로 지정 |
CUSTOM.ENCRYPT.CLASS에 정의한 클래스 파일이 시스템 라이브러리 경로에 정상적으로 로드되어 있는지 반드시 확인하십시오.<PHONENUM_ENC_YN>을 Y로 설정하면 번호가 이중으로 암호화되어 최종 수신자에게 메시지가 도달하지 않을 수 있습니다. 반드시 N으로 설정하십시오.