PKI

PKI는 전자상거래의 안전성과 신뢰성을 확보하기 위한 인증, 무결성, 부인봉쇄 등의 요건을 충족하기 위한 인증 기술로써 서비스는 전자서명 기술을 활용한다.

전자서명 기술을 효과적으로 이용하기 위해서는 공개키 암호 방식이 필요하며, 공개키 암호 방식을 이용한 인증 방법을 구현하기 위한 기술적, 제도적 기반이 요구되는데 이를 공개키 기반구조(PKI : Public Key Infrastructure)라고 한다.

전자상거래의 안전성과 신뢰성을 확보하기 위한 인증, 무결성, 부인봉쇄 등의 서비스는 전자서명 기술을 활용함으로써 해결 가능하다. 전자서명 기술을 효과적으로 이용하기 위해서는 공개키 암호 방식이 필요하며, 공개키 암호 방식을 이용한 인증 방법을 구현하기 위한 기술적, 제도적 기반이 요구되는데 이를 공개키 기반구조(PKI : Public Key Infrastructure)라고 한다.

PKI 주요 기능

PKI는 공개키(Public Key)와 개인키(Private Key)로 구성된 한쌍의 키를 이용하여 다음과 같은 기능들을 구현하고 있다.

기능 해결내용 해결방법
기밀성 암호화를 통한 정보보호 (비밀유지) 암호화
접근제어 선택된 수신자만이 정보에 접근할 수 있음
무결성 위/변조 방지 암호화, 전자서명
인증 행위자의 신원확인 전자서명
부인방지 전자서명 통한 신뢰도 향상 (행위자 확인)

기밀성 제공 – 데이터 암호화 이용

기밀성이란 인가되지 않은 방식으로 정보를 획득할 수 없도록 하는 것으로 PKI에서는 기밀성을 보장하기 위해서 상대방에게 메시지 전송 시 수신자의 공개키를 이용하여 메시지를 암호화하여 전송하면 암호화된 메시지를 전송받은 수신자는 자신의 개인키를 이용하여 메시지를 복호화한다.

이를 위해서 송신자는 수신자의 공개키를 보유하고 있어야 하며 이에 대한 구현 과정은 다음과 같다.

공개키를 이용한 암호화 과정(이미지)

무결성 제공 - Hash함수와 Digest 이용

무결성이란 전송된 데이터가 변경/파괴/위조되지 않은 상태를 말하며 PKI에서는 이를 보장하기 위하여 Hash 함수를 이용한다.

Hash함수는 ‘단방향 함수’로써 원본이 1비트만 변경되도록 2개의 문서는 서로 다른 결과값을 가진다는 특징을 가지고 있다.

원본데이터에서 Hash함수를 이용하여 계산된 값을 Digest라고 하며 전자서명 시 이용하는 데이터는 ‘원본데이터 + Digest’가 되며 이에 대한 구현 과정은 다음과 같다.

Hash 함수를 이용한 무결성 보장 과정(이미지)

인증 및 부인방지 제공 – 전자서명 이용

부인방지란 메시지의 송수신이나 교환 후, 또는 통신이나 처리가 실행된 후에 그 사실을 사후에 증명함으로써 사실 부인을 방지하는 것으로 PKI에서는 전자서명을 이용하여 부인방지를 제공하고 있다.

여기서, 전자서명이란 수신자에게 메시지를 보낸 송신자가 유효한 사람이라는 것을 증명하기 위하여 ‘서명’을 하는 것으로 수신자의 개인키를 암호화하여 전송함으로써 구현할 수 있다.

인감과 전자서명 비교(이미지)

개인키는 본인만이 소유하고 있는 것으로써 개인키와 한쌍을 이루는 공개키로만 복호화가 가능하다.
개인키를 이용해서 암호화하는 것(전자서명)은 제3자가 데이터를 열지 못하게 하기 위한 방법은 아니며 상대방에게 자신을 가장한 제3자가 아닌 진짜 자신이 보낸 메시지라는 것을 알려주기 위한 방법일 뿐이며 이에 대한 구현 과정은 다음과 같다.

개인키를 이용한 암호화 과정(이미지)

PKI 구성 요소

시스템 구성 요소

PKI는 CA, RA, 디렉토리, 사용자 등으로 구성되어 있으며 시스템간 구성 현황은 아래와 같다.

기능 설명
인증기관
CA:Certification Authority)
• 인증기관은 암호화, 암호 해독 및 인증을 위한 서명 키 제공 및 할당을 담당하며 공개 키와 특성 집합이 들어 있는 인증서를 사용하여 키를 배포하며 독립된 신뢰기관으로써의 역할 수행
• 인증서 정보의 보관 및 배포를 담당하는 부분으로 다른 인증기관이나 사용자, 등록기관에게 인증서를 발급하고 분배하게 되며 인증서 소유자와 등록기관으로부터 취소요구 수용
• 인증기관은 디렉토리에 인증서 및 인증서 취소목록을 공개하여야 하며 인증기관도 그 진위여부에 따라 명확한 보장을 받기 위하여 계층적인 구조로 운영되며 상위 인증기관이 하위 인증기관을 인증하는 구조임
등록기관(RA:Registration Authority) • CA의 위임을 받아 사용자의 등록 및 인증서 분배 등 CA의 역할 중 사용자와 접촉이 필요한 부분 주로 담당
• 등록기관은 CA에 인증 요청을 전송하고 디렉토리로부터 인증서 목록을 검색할 수 있으며, 인증서 취소 요청을 처리하여 인증서 취소목록 검색 가능
디렉토리(Drectory) • 인증서 및 인증서 취소목록 등 PKI관련 정보들을 저장 및 검색하는 장소임
• 디렉토리에서는 인증서, CRL 보관 및 정보를 제공하며 효율적인 검색을 위해 X.500, DAP, LDAP, FTP 등의 서비스를 제공함
사용자(End Entitry) • PKI의 최종 사용자 및 시스템을 포함하며 인증서와 비공개키를 소지하고 있음
• 서명 생성 및 검증을 위해 인증서 생성, 취소, 갱신을 요구하며 이를 위해 디렉토리로부터 인증서 및 인증서 취소목록 획득
• 인증서를 이용하는 사용자는 응용시스템을 통해 인증서 및 인증서 취소 목록을 요청, 획득, 검증할 수 있음


PKI 구성도(이미지)

인증서(Certificate)

인증서는 일종의 전자신분증으로 개인을 구별할 수 있는 정보와 공개키 및 부가적인 관리 정보에 대해 신뢰할 수 있는 인증기관의 비공개키를 이용하여 전자 서명을 한 결과값 포함되어 있다.

이러한 인증서는 PKI 환경을 구현하는데 가장 필수적인 요소이며 HDD, FDD, CD-Key, SmartCard 등에 저장이 가능하다.

인증서 내역(이미지)

발급기관에 따른 인증서 종류

인증서는 크게 공인된 기관에서 발급하는 공인인증서와 일반 기업 등에서 자체적으로 이용할 수 있는 사설인증서로 구분되며 구현 기능은 동일하며 발급하는 기관에 따라 크게 다음과 같은 차이점이 존재한다.

구분 공인인증서 사설인증서
인증 정책 수립 및 운영 • (구)정보통신부, 공인인증기관 • 자체 관리
인증서 발급시 신원확인 방식 • 직접 대면 방식 • 기존 인사 DB및 사용자 신원 정보 활용 또는 온라인 발급
개인정보 수집/관리 • 공인인증기관 • 자체 관리
관리 감독 • (구)정보통신부 • 자체 관리
적용 분야 • 전자서명 및 신원확인 • 전자서명/암호화 등 기타 모든 부분
분쟁해결 방식 • 전자서명법에 근거하여 해결 • 내규 및 사규에 근거하여 해결 또는 민법/상법/형법에 근거하여 해결

인증서 저장매체

공인/사설인증서는 전자문서의 형태로 구현되기 때문에 이를 저장할 매체가 필요하며 일반적으로 대다수의 사용자들은 PC내의 하드디스크에 저장되어 보관하고 있다.

그러나, 하드디스크 외에 보안성을 강화하기 위하여 스마트카드내에 저장 또는 별도의 USB토큰 등을 이용할 수 있으며 각 저장매체별 주요 특징은 다음과 같다.

구분 하드디스크 스마트카드/USB 토큰
비용 추가 비용 없음 하드웨어 토큰에 대한 추가 비용 소요
공격 위협 키가 암호화되어 저장되나 쉽게 복사 가능 물리적으로 분리되므로 공격자는 키가 저장되어 있는 토큰을 획득하여야 함
보안성 키를 사용하는 시점에 복호화되어 메모리 노출 가능 키를 이용하는 암호학적 연산이 하드웨어 토큰안에서 이루어지므로 노출되지 않음
이동성 디스켓, E-Mail 등으로 복사하여 이동 스마트카드 리더기/USB포트가 있는 곳이면 어디서나 이용 가능