PKI (public key infrastructure) ; 공개키 기반구조

PKI는 기본적으로 인터넷과 같이 안전이 보장되지 않 은 공중망 사용자들이, 신뢰할 수 있는 기관에서 부여된 한 쌍의 공개키개인키를 사용함으로써, 안전하고 은밀하게 데이터나 자금을 교환할 수 있게 해준다. PKI는 한 개인이나 기관을 식별할 수 있는 디지털 인증서와, 인증서를 저장했다가 필요할 때 불러다 쓸 수 있는 디렉토리 서비스를 제공한다. 비록 PKI의 구성 요소들이 일반적으로 알려져 있지만, 공급자 별로 많은 수의 서로 다른 접근방식이나 서비스들이 생겨나고 있으며, 그동안에도 PKI를 위한 인터넷 표준은 계속하여 작업이 진행되었다.

PKI는 인터넷 상에서 메시지 송신자를 인증하거나 메시지를 암호화하는데 있어 가장 보편적인 방법인 공개키 암호문을 사용한다. 전통적인 암호문은 대개 메시지의 암호화하고 해독하는데 사용되는 비밀키를 만들고, 또 공유하는 일들이 관여된다. 이러한 비밀키나 개인키 시스템은, 만약 그 키를 다른 사람들이 알게 되거나 도중에 가로채어질 경우, 메시지가 쉽게 해독될 수 있다는 치명적인 약점을 가지고 있다. 이러한 이유 때문에, 인터넷 상에서는 공개키 암호화와 PKI 방식이 선호되고 있는 것이다 (개인키 시스템은 때로 대칭 암호작성법, 그리고 공개키 시스템은 비대칭 암호작성법이라고도 불린다).

PKI는 다음과 같은 것들로 구성된다.

  • 디지털 인증서를 발급하고 검증하는 인증기관
  • 공개키 또는 공개키에 관한 정보를 포함하고 있는 인증서
  • 디지털 인증서가 신청자에게 발급되기 전에 인증기관의 입증을 대행하는 등록기관
  • 공개키를 가진 인증서들이 보관되고 있는 하나 이상의 디렉토리
  • 인증서 관리 시스템
공개키와 개인키 암호화의 동작원리

공개키 암호화에서, 공개키와 개인키는 인증기관에 의해 같은 알고리즘(흔히 RSA라고 알려져 있다)을 사용하여 동시에 만들어진다. 개인키는 요청자에게만 주어지며, 공개키는 모든 사람이 접근할 수 있는 디렉토리에 디지털 인증서의 일부로서 공개된다. 개인키는 절대로 다른 사람과 공유되거나 인터넷을 통해 전송되지 않는다. 사용자는 누군가가 공개 디렉토리에서 찾은 자신의 공개키를 이용해 암호화한 텍스트를 해독하기 위해 개인키를 사용한다. 그러므로, 만약 자신이 누구에겐가 어떤 메시지를 보낸다면, 우선 수신자의 공개키를 중앙 관리자를 통해 찾은 다음, 그 공개키를 사용하여 메시지를 암호화하여 보낸다. 그 메시지를 수신한 사람은, 그것을 자신의 개인키를 이용하여 해독한다. 메시지를 암호화하는 것 외에도, 송신자는 자신의 개인키를 사용하여 디지털 인증서를 암호화하여 함께 보냄으로써, 메시지를 보낸 사람이 틀림없이 송신자 본인이라는 것을 알 수 있게 한다. 아래의 표에 이러한 절차들을 다시 요약하였다.

다음의 일을 하기 위해 ...
누구 것을 사용?
어떤 키를 사용?
암호화된 메시지를 송신
수신자의
공개키
암호화된 서명을 송신
송신자의
개인키
암호화된 메시지의 해독
수신자의
개인키
암호화된 서명의 해독 (그리고 송신자의 인증)
송신자의
공개키

누가 PKI를 제공하나?

회사나 일련의 회사들이 PKI를 구현할 수 있도록 여러 가지 제품들이 제공된다. 인터넷을 통한 전자상거래B2B 거래의 가속화가 PKI 솔루션 요구를 증대시켰다. 이와 관련이 있는 기술들로는 VPNIPsec 표준 등이 있다. PKI 선두주자들로는,

  • PKI 들이 사용하는 주요 알고리즘을 개발했던 RSA,
  • 인증기관으로서 활동하면서, 다른 회사들이 인증기관을 만들 수 있게 해주는 소프트웨어를 판매하는 Verisign,
  • PKI 구현 방법론과 컨설팅 서비스를 제공하는 GTE CyberTrust,
  • 넷스케이프 디렉토리 서버에 기반을 둔 VPN-1 Certificate Manager라는 제품을 공급하는 Check Point,
  • OCSP(Online Certificate Status Protocol)를 사용하여 서버 상의 인증서 폐지 상태를 확인하는 제품인 Web Sentry 개발사인 Xcert,
  • 5,000만개의 객체를 지원하고 초당 5,000개의 질의를 처리한다고 알려져 있는 Directory Server, 기업이나 엑스트라넷 관리자가 디지털 인증서를 관리할 수 있게 해주는 Secure E-Commerce, 그리고 보안관리를 위해 단일 디렉토리 속으로 기업의 모든 디렉토리를 접속할 수 있게 해주는 Meta-Directory 등의 제품을 공급하는 Netscape 등이 있다.

Pretty Good Privacy

PGP 제품들은 전자우편에서 공개키를 가지고 있는 그 누구에게라도 메시지를 암호화하여 보낼 수 있게 해준다. 메시지를 보낼 때 수신자의 공개키를 이용하여 암호화하면, 수신자는 자신의 개인키로 해독한다. PGP 사용자들은 키링이라고 불리는 공개키 디렉토리를 공유한다 (키링에 액세스할 수 없는 사람에게 메시지를 보낼 때에는, 암호화된 메시지를 보낼 수 없다). 또다른 옵션으로서, PGP는 자신의 개인키를 이용하여 디지털 인증서를 가지고 있는 메시지에 서명을 할 수 있게 해준다. 그러면 수신자는 송신자의 공개키를 받아서, 그 메시지를 보낸 사람이 송신자 본인이 틀림없는지를 확인하기 위하여 암호화된 서명을 해독하게 된다.

  • Marc Branchaud의 논문인 "A Survey of Public Key Infrastructures"에는 공개키 암호작성법이 어떻게 동작하는지에 관한 내용과, 일부 PKI 방식들의 비교자료 등이 포함되어 있습니다.
  • RSA Security는 대부분의 PKI 방식의 기초가 되는 시스템과 암호화 알고리즘의 본거지입니다.
  • IETF의 RFC 2693에 SPKI 인증서 이론에 관해 설명되어 있습니다.

+ Recent posts