개인정보

이용기관은 본인인증 검증(verifyIdentity) 함수를 호출하여 Base64 인코딩 되어 있는 CI(Connection Information)를 응답 받을 수 있습니다. 응답 받은 CI는 Base64 디코딩 이후 복호화하여 회원식별 용도로 활용할 수 있습니다. 카카오써트는 프로그램 공급사의 연동개발 편의를 위하여 CI 복호화를 위한 자체 개발한 모듈 및 가이드를 지원합니다. [검증모듈 신청]

전자서명 검증 및 CI 복호화 프로세스
CI 수집 증빙자료를 제출하여 카카오의 승인을 받은 이용기관만 CI 수집이 가능하며, 제공된 CI는 회원식별 용도 외 저장 및 활용이 불가합니다. [CI수집 증빙자료 제출]

알고리즘 규격

알고리즘 키 길이 운영모드 패딩
AES 256 bit CTR NoPadding

환경 설정

복호화 모듈은 JDK v1.6 이상에서 정상작동을 보장합니다. 하위 버전을 이용하실 경우 추가문의가 필요합니다. 보안성 강화를 위해 256 bit 길이의 암호화 키를 사용하며, JDK v1.7 이하 버전에서는 256 bit 길이의 암호화 키를 지원하지 않기 때문에 JCE 설정이 필요합니다.

JCE 세팅 방법
1. Oracle 사이트에서 JDK 버전에 맞는 압축 파일을 다운로드 합니다.
JDK 6: https://www.oracle.com/java/technologies/jce-6-download.html
JDK 7: https://www.oracle.com/java/technologies/jce-7-download.html
2. 압축파일을 해제하여 “local_policy.jar”, “US_export_policy.jar”파일을 복사 합니다.
3. 사용하고 있는 JDK 디렉토리의 jre/lib/security 디렉토리에 위에서 확인한 압축 jar파일을 붙여넣기 합니다.

기능 구현

기능 구현은 복호화 모듈의 복호화 함수를 호출하는 예제입니다. 개발자료 신청을 통해서 복호화 모듈을 제공합니다. [검증모듈 신청]

public class Main {
	public static void main(String[] args){
		// 복호화 키
		String secretKey = "ngLuIsOvtgCjiXtrCHeTq2hw11hK7p2/hqijiEOZcWI=";
		// 초기화 벡터
		String iv = "LqPCk23cZpWZh4YKtPIaBg==";
		// 암호문
		String cipherText = "6wDC13nZMOVMcrvLxhQyXqZ57XbM/LDLAoL4FvSa45jXBmGfKoz2Yp2T";
		try {
			// 복호화
			Decryptor decryptor = new Decryptor();
			String decryptedCI = decryptor.decrypt(secretKey, iv, cipherText);
			System.out.println(decryptedCI);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}