본문/내용
1.
우리나라에서 사용중인 공인인증서 조사분석
요약
본 내용은 공인인증서의 출현 배경과 기술분석, 현황분석, 활용형태 및 미래전망을 파악한 것이다. 이를 위해 다양한 자료를 참고하여 분석하고 내용을 정리하였다. 본문에서는 동작원리나 인증구조, 한국의 공인인증기관과 그들의 상호 연동현황을 살펴보고 활용형태 및 미래전망에 대해 알아본다. 이 후 마지막에 결론을 유도한다.
서론
공인인증서의 출현배경
정보통신 기술의 발달로 최근 정보통신 네트워크 이용이 급증하고 인터넷을 통한 각종 거래가 국내외적으로 보편화되고 있다. 이러한 정보네트워크를 통해 오가는 데이터의 성격이 과거에는 단순한 문서 위주에서 이제는 사이버 공간에서 이뤄지는 거래 유형은 인터넷 뱅킹, 사이버 증권거래 등 이밖에도 전자상거래, 경매 등에서 그 이용이 더욱 증가함에 따라, 이러한 정보네트워크를 통한 거래 시 발생하는 신원확인 및 메시지 내용에 대한 보안 등이 중요한 이슈로 떠오르고 있다. 이에 따라 정보망의 안전과 개인 정보의 유출을 방지하기 위해 공인인증서(Public Key Infrastructure) 제도가 도입되었다.
전자서명시스템에서 공인인증서는 전자상거래시 사용자의 신원을 확인하고, 문서의 위조와 변조, 거래 사실의 부인 방지 등을 목적으로 공인인증기관(CA)이 발행하는 전자적 정보로서, 일종의 사이버 거래용 인감증명서 역할을 한다.
전자상거래가 본격적으로 발전하기 시작하면서 사업자간 전자상거래에 있어서 거래 자료의 전자적 교부의 필요성이 증대하고 있으며 전통적 상거래에 있어서도, 교부나 보관 등 거래 자료의 관련 업무의 효율화를 위해 도입이 필요하다는 판단 하에 국세청에서는 관련 규정을 정비하여, 2001년 1월부터 전자거래내용을 인터넷을 통해 주고받을 수 있도록 하였다.
정의
공인인증서(公認認證書, 영어: public key certif…
2. 공인인증서 기술분석
① 상용 공인인증서 소프트웨어
② 공인인증서 프로파일
③ 개인키 저장 파일 프로파일
④ 사용자 패스워드를 이용한 개인키의 보호기술
개인키 파일에는 개인키를 암호화할 때 사용되는 비밀키를 생성하는데 쓰이닌 솔트(Salt) 값과 반복횟수 값(Iteration Count)이 저장되며, 마지막으로 SEED 블록 암호 알고리즘으로 암호화가 된 개인키 관련 정보들이 들어있다. 솔트 값은 공인인증서를 발급받을 때마다 랜덤하게 생성되는 것으로 비밀키를 생성할 때 랜덤성을 높여 보안성을 강화시키는 역할을 한다. 솔트 값은 21~28byte 사이의 8byte로 이루어져 있다.
반복횟수 값은 비밀키 생성을 위한 해쉬함수를 몇 번 수행할 것인가를 나타낸다. 반복횟수 값에 관련된 정보는 31~32byte 사이의 2byte로 이루어져 있다.
개인키 정보를 포함하고 있는 필드는 국내 암호화 표준인 SEED 블록 암호 알고리즘으로 암호화되어 있다. SEED 블록 암호 알고리즘에서 사용하는 비밀키는 개인키 암호화 패스워드와 솔트 값, 반복횟수 값 등을 이용하여 만들어 진다.
④ 사용자 패스워드를 이용한 개인키의 보호기술
SEED 블록 암호 알고리즘을 이용한 암/복호화에 필요한 비밀키를 생성하기 위해서 사용자가 설정하는 개인키 암호화 패스워드가 사용된다.
한국의 공인인증서 시스템에서는 패스워드 기반의 안전한 개인키 암호화를 위해서 PKCS#5(Public Key Cryptography Standards #5)에서 정의한 PBES1(Password Based Encryption Scheme 1)암호화 기법을 이용한다. PBES1에서 정의하고 있지 않은 SEED 블록 암호화 알고리즘을 사용하기 위해서 암호화 키(K)와 초기벡터(IV)를 생성하는 방법을 다음과 같은 방법으로 정의된다.
8byte의 솔트 값과 반복횟수 값을 선택하고, PBKDF1에 패스워드(P), 솔트 값(S), 반복횟수 값(C)을 적용하여 20byte의 추출키(Derived Key)를 생성한다. 한국의 공인인증서 시스템에서는 PBKDF1에서 SHA-1 해쉬함수를 사용한다. 간단히 설명하면 P?S값을 SHA-1 해쉬함수에 입력하여 20byte의