Public Key Infrastructure
1. 개요
PKI는 인증을 위한 수단.방법 이라기 보다는 전자인증서(digital certiticates)란 도구를 사용하여
인증을 수행할 수 있도록 설계된 인프라입니다.
전자인증서,키(Public Key,Private Key)를 잘 운영.관리하는 것이 PKI의 핵심입니다.

2. PKI란?
가. 전자인증서는 전자인증서에 포함된 소유자(사람,혹은 컴퓨터)와 공개키에 대해서
       "공개키의 소유자는 XXX입니다."라는 주장에 대한 증명서입니다.
나. 공개키 암호는 비밀키 암호보다 훨씬 더 안전합니다.
1) 공개키 암호(비대칭키 암호)는 비밀키 암호(대칭키 암호) 보다 보안측면에서 훨씬 안전합니다.
         비밀키 암호는 암호화 통신시 상대방과 같은 키를 사용해야 합니다.
         통신 상대방이 N명이면 N개의 다른 비밀키가 필요로 합니다.
         N명의 상대방과 겨우 1개의 비밀키만 공유해서 사용한다는 것은 안전하지 않을 수 있습니다.
         상대방에게 키가 공개되는 것이므로 상대방의 배신으로 부터 안전하다고 장담할 수 없습니다.
         반면,공개키는 상대방에게 자신의 공개키만 공개하여 상대방에게는 그 공개키를 사용하게 하고
자신은 비밀키를 사용합니다.
N명의 상대방에게 모두 같은 공개키를 사용하도록 하니까 인터넷 환경에 적합합니다.
물론 서로 다른 키를 가지고 하나는 암호화 하고 다른 하나는 복호화 한다는데 가능할까?
암호 수학적으로 당연히 가능합니다. 공개키,비밀키는 서로 수학적으로 매우 깊은 관련이
있는데, 두개의 키가 데이타의 암호화 및 복호화에 사용될때  어떤게 암호화하는데 쓰이고,
어떤게 복호화하는데 쓰이는 지는 정말 그때 그때 다릅니다.
      참고.
       공개키와 비밀키는 그 사용용도가 확연히 다릅니다.
       공개키는 사용자 인증에 주로 사용하고,비밀키는 데이타의 암호에 주로 사용합니다.
       비밀키(대칭키) 암호화는 공개키 암호화에 비해 속도가 엄청 빠르기 때문에 대량의 데이타를
암호화하는 데는 대부분 비밀키 암호화를 사용합니다.
다. 비밀키는 절대 누구에게 알려주어서도 안되고, 같이 나누어써도 안됩니다.

3. 공인인증서 및 CA
가. 문제
공개키 암호화 방식이 갖는 최대의 어려움은 특정 공개키가 자신것이라고 주장하는 소유자가
있는데 "이게 정말일까?" 확인하는 일입니다.
    나. 다음의 물음에 대한 답을 생각해 보겠습니다.
1) 어떤 사람이 자신의 공개키를 나에게 주고 앞으로 자신과 정보를 주고 받을때 이 공개키로
정보를 암호화하여 주고 받자고 한다면 나는 이 사람이 준 공개키를 가지고 정보를
암호화해서 주고 받는 다면 그 정보교환은 안전한가?
      2) 내가 어떤 사람의 공개키를 이용해서 그 사람에게 자료를 암호화하여 메일을 보냈다면 그
사람을 제외한 어떤 사람도 내가 보낸 자료를 훔쳐 볼 수 없을까?

      3) 예시
여준구씨는 인기 탤런트 공현주씨의 팬카페에 가입했습니다.
그런데 팬카페 운영자인 이동창씨로부터 메일이 도착했는데 메일 내용은 공현주씨에게 보내는
팬레터는 함께 첨부한 공현주씨의 공개키로 암호화해서 보내라는 내용이었습니다.
공현주씨만 볼 수 있도록 말입니다.
실제로 이를 믿은 여준구씨가 팬레터를 작성한 다음 내용을 공현주씨의 공개키로 암호화하여
보냅니다. 공현주씨만이 팬레터의 내용을 볼수 있도록 기대하면서요.
하지만 이때 이동창씨가 공현주씨에게로 전달된 팬레터를 가로챘고(까페 운영자이니까 그럴수
있겠죠) 이동창씨는 자신의 비밀키를 가지고 여준구씨가 공현주씨에게 보낸 팬레터를 훔쳐
보는게 아니겠습니까? 내용을 검열하는 것이지요...

어떻게 이런 일이 일어날 수 있을까요?
위 사건의 실제는 이동창씨가 자신의 공개키를 마치 공현주의 공캐키인양 속였기 때문입니다.
순진하게 이를 믿어버린 여준구씨는 졸지에 이동창씨의 공개키로 팬레터를 암호화한 꼴이
되었습니다.

이 사건의 핵심은 자신의 공개키를 가지고 공현주씨의 공개키라고 속인 이동창씨의 행동에
있습니다. 이 사건의 피해자인 여준구씨의 잘못은 무엇일까요? 글쎄요...

    다. 공인인증서 및 CA의 등장
공개키 관리와 관련하여 이와 같은 사건이 있을 수 있으므로 키를(비밀키,공개키)소유한
소유자의 정체를 확인하는 메카니즘이 반드시 필요합니다.
공인인증서가 여기서 등장합니다. 믿을 만한 제 3자가 끼어드는 것이죠.
이 믿을 만한 3자를 CA(Certificate Authority)라고 합니다.
이 제3자가 하는 일은 키를 소유한 소유자가 누구다라는 것을 확인한 후 인증서를 발급하는
일을 합니다. 인증서에는 소유자에 대한 정보,소유자의 공개키,인증 만료일,발급자(CA)의
전자서명등 중요한 정보가 포함되어 있습니다.

라. PKI의 등장
공인인증서와 이와 관련된 키를 관리하는 것은 매우 복잡한 일중 하나입니다.
이런 일들은 위한 각종 서비스(인증서 발급,갱신,폐기...)를 제공하는 프레임웍을
위해 PKI가 생겼는데, 현재 구현된 PKI는 ISO의 X.509 스펙에 의거한 것이 산업표준입니다.

   4. 공인인증서의 해석
     가. 예시 - 1
백정현씨는 미국에서 물건을 파는 딜러라고 자신을 소개합니다.
한국에 사업을 하는 이미영씨와 비즈니스관계를 만들어 볼려고 하는 중입니다.
백정현씨는 이미영씨에게 메일을 보내는데 자신과 거래를 한다면 다른이와 거래하는 것보다
많은 좋은 점이 있다는 것을 일일히 언급하며, 아주 호의적인 조건을 제시했습니다.
그리고 그는 경쟁자가 이 거래조건을 훔쳐보아서는 안되기 때문에 메일의 내용을 비밀키로
암호화 했고, 자신에 대한 공인인증서를 추가로 보냈습니다.

이미영씨는 백정현씨에 대한 업계의 소문이 좋지 않아서 일단 의심을 하긴 했지만,
첨부된 Verisign.Inc가 발급한 인증서를 확인했고, 그 인증서의 공개키로 메일을 복호화를
시도한 결과 메일의 복호화가 성공적으로 진행됐습니다.
이에 이미영씨는 메일을 보낸 사람이 인증서의 소유자인 백정현씨가 맞고, 믿을 만한
CA인 Verisign Inc가 발급한 인증서를 근거로 백정현씨는 믿을 만한 사람이다라는 것을
확신하고 그와 거래를 하기로 결심했습니다.
과연 이미영씨의 판단은 옳은 것일까요? 아닙니다.
실제 백정현씨는 이미영씨를 상대로 사기를 준비하고 있었던 것입니다.

그렇다면 이미영씨가 잘못 판단한 부분은 무엇일까요?
이미영씨는 공인인증서를 잘못 이해하고 있었습니다.
그는 공인인증서를 해석하는데 있어서 Verisign.Inc(CA)가 발급한 인증서를 갖고 있는
백정현씨를  "Verisign Inc.에서 증명한 믿을 만한 사람이다."라고 판단한데 있습니다.
하지만 실제 공인인증서를 해석은
"공인인증서에 있는 공개키는 진짜 백정현의 공개키이다. 이를 Verisign에서 증명한다"
라는게 전부입니다.
백정현씨가 사기꾼인지,정직한 비즈니스 맨인지 하고는 아무상관이 없습니다.

현실에 있어서 공인인증서는 그 CA가 어떤 형태(어떤 Level)로 인증을 해주느냐에 따라
해석을 다르게 해야합니다.
즉 Verisign Inc.의 경우는 사업자 등록증등의 간단한 정보만 제시하면 레벨 1의 인증서를
발급해줍니다. 레벨 3의 경우는 아주 꼼꼼하게 인력이 파견하여 소유자가 제시한 정보와
실제 소유자의 정보가 일치하는지 매우 꼼꼼하게 판단한다고 합니다.
공인인증서가 Level1의 인증서이면 Level1 만큼의 신뢰를, Level3의 인증서이면 Level3
만큼의 신뢰를 보내면 됩니다.

'기타 잡동사니 > Trends' 카테고리의 다른 글

구글의 성공사례 요약  (0) 2008.03.28
전자서명 (Digital Signature)  (3) 2008.03.25
UCC의 개념  (1) 2008.03.25
web2.0에 대하여  (0) 2008.03.25
SOA (Service Oriented Architecture)  (0) 2008.03.25
Posted by
,