공개키 기반 구조(PKI)

Network/보안 | 2006/06/09 18:06 | adioshun
공개키 기반 구조(PKI)

정보를 다루는 주체들이 서로 신뢰할 수 있는 관계라고 하더라도 ‘인터넷’이라는 신뢰할 수 없는 공간을 통해 커뮤니케이션이 이루어지는 한 각각의 서비스 형태나 어플리케이션에 따라 적절한 정보 보호 체계를 구축해야 한다. 미국의 ITAA(Information Technology Association of America)가 105개의 미국 IT 담당 임원을 대상으로 조사한 자료에 따르면 응답자의 62%가 전자상거래의 발전을 가로막는 요인이 신뢰할 수 없는 시스템이라고 지적했다. 정보 보호는 정보 인프라에 신뢰를 제공하고 질서를 바로 잡는 체계이다.

정보 보호 기술은 여러 가지 형태와 목적을 지니고 있다. 방화벽, 침입탐지, 접근제어, 취약성 분석부터 바이러스 백신에 이르기까지 각각의 독특한 시스템과 시장을 창조해 내었다. 그런데, 향후 익스트라넷이나 전자상거래 서비스를 인터넷 기반 IT 환경에서 구축할 때에 필수적으로 요구되는 정보보호 기술은 공개키 기반 구조(Public Key Infrastructure,약칭 PKI)라고 할 수가 있다. PKI는 본래 공개키를 이용해 인증 체계를 구축해 가는 전체 인프라로서 정의되지만 이제는 그 자체가 하나의 독립적인 서비스이며 상품적 개념으로 발전했다.

PKI는 앞으로 전자메일, 그룹웨어, 데이터베이스 검색, 데이터웨어하우징(Data Warehousing), 자바 애플릿 (Java applet) 서비스 등 모든 인터넷 기반 IT 서비스에서 핵심적인 플랫폼(platform) 역할을 하게 된다. 따라서, PKI는 정보 보호 산업에 전념하는 일부 업체만의 관심사가 아니고 IT 사업에 참여하고 있는 모두가 궁극적으로 다루게 될 주제라고 하겠다.

국내에서도 금년 7월 1일부터 전자서명법이 공시되면서 인증관리센터와 공인 인증 기관들이 금년 내로 서비스를 개시하게 된다. 이제 인증 프로세스는 자연스럽게 인프라로서 자리잡게 될 것이고, 그렇게 되면 IT업에 참여하는 모든 기업들은 PKI에 대한 개념과 기술적 이해 없이는 전자상거래나 기업 전산 시스템을 구축한다는 자체가 거의 불가능해진다.

본 기고에서는 4회에 걸쳐 PKI의 개념과 기술, 그리고 현황에 대해 설명하고자 한다. 패러다임이 급속도로 변하는 상황에서 PKI에 대한 마인드 확산과 기술적 숙성은 시급한 문제이며, 그런 점에서 본 기고가 다루는 내용이 새로운 서비스를 준비하는 이들에게 도움이 되기를 바란다. 첫 회에서는 IT 환경의 변화를 이해하기 위해 인터넷 패러다임의 영향에 대해 살펴보고, 이어서 PKI에 관련된 정보 보안 개념, 응용 분야의 순으로 언급이 될 것이다.

인터넷 패러다임

인터넷은 새로운 밀레니엄을 맞이하는 과정에서 전 세계의 경제 활동에 영향을 미치는 중심 개념으로서 확고한 위상을 갖추었다. 인터넷은 그 자체가 여러 개의 패러다임을 거치면서 발전하고 있는데 그림 1은 대표적인 모델과 각 시점에서 적용되는 정보 보호 기술에 대해 설명하고 있다.

초기 단계에는 전자우편(E-mail)이나 웹(WWW)이라고 하는 비교적 단순한 기술로 보편적인 인터넷 서비스들이 구축될 수가 있다. 더 발전된 개념인 인트라넷(Intranet)은 이러한 서비스를 기업 내부 네트워크에 적용하는 구조로서, 제어가 가능한 내부망과 신뢰할 수 없는 외부 인터넷 망을 기술적으로 차단하는 방화벽(firewall)이 대표적인 정보 보호 시스템으로 자리 잡았다. 아울러 내부 정보 유출자를 모니터링하는 침입탐지시스템(Intrusion Detection System), 사용자의 정보 접근을 효율적으로 제어하는 접근제어시스템(Access Control System), 내부 시스템/네트워크의 취약성(vulnerability)을 점검하는 취약성 점검 시스템이 기본적으로 요구되는 정보 보호 인프라이다.
그림 2는 내부 보안에서 고려되어야 하는 요소를 표시하고 있다.

더 발전해서 인터넷 망을 통해 협력사나 다른 부서와의 업무 영역을 확장하기 위해서 익스트라넷(Extranet)의 개념이 소개되었는데, 익스트라넷 환경에서는 ‘인터넷’이라는 개방적이고 불안정한 통로(medium)를 지나가야 하는 관계로 더 정교한 보안 기술들이 적용된다. PKI나 VPN이 이에 해당하는 개념으로서 소위 B2B (Business-to-Business) 환경을 구성하는 기본 요소이다.

전자상거래(EC) 환경에서는 서비스 주체나 사용자 모두 인터넷을 기반으로 가상공간에서 커뮤니케이션을 해야 한다. 여러 형태의 위험을 극복하기 위해서는 end-to-end 개념의 복합적이고 세밀한 수준의 보안 기술이 적용되어야 한다. 또한 사이버 공간에서 정보의 내용과 커뮤니케이션 자체를 입증해 주고 중재해 줄 수 있는 공공성을 지닌 기관을 필요로 한다. 이 서비스의 주체는 신뢰받을 수 있어야 하는데 인증기관 (Certification Authority)이 바로 그러한 역할을 수행한다.

PKI는 어느 한 단계에만 속하는 개념이 아니다. PKI가 적용되는 영역은 인트라넷부터 전자상거래에 걸쳐 있으며, 그 자체가 기본 인프라이다.
PKI 기반 위에 신뢰(Trust)의 고리가 거미줄처럼 연결되며, PKI를 구성하는 모든 요소는 상호 유기적으로 작동하여 신 기술이 끊임없이 적용되는 탄력적인 아키텍처를 지니고 있다. 인터넷 기반의 서비스 체제는 PKI에 의해 신뢰의 프레임워크(Framework)가 구성된다고 해도 과언이 아니다.

PKI 관련 보안 서비스

정보 보안은 각종 위협(threat)으로부터 안전지대(safeguard)를 구축하는 개념으로 정의된다. 컴퓨터에 저장된 정보는 문서나 데이터의 형태로 저장되고, 이러한 정보에 대해 정당하지 않게 행위를 가하는 것을 위협이라고 정의할 수가 있다. 위협의 종류는 여러 가지가 있는데 대표적인 몇 가지를 열거하면 다음과 같다.

- 도청 (Evasdropping) - 권한위조 (Authorization violation)
- 변조 (Tampering) - 서비스 거부 (Denial of Service, DoS)
- 위장 (Masquerade) - 행위거부 (Repudiation) - 스푸핑(Spoofing)

이러한 위협에 대응하는 보안 정책을 설정하는 것을 보안 서비스라고 하는데, PKI는 그 중에서 대표적으로 다음 서비스를 실현하는 체계이다.

1) 인증 (Authentication)

인증 서비스는 자신의 신분과 행위를 증명하는 행위를 의미한다. 이미 실생활에서는 우리가 주민등록증이나 운전면허증, 사원증 등을 통해서 자신의 신분을 밝힐 수가 있다. 사이버 공간에서 어떠한 종류의 서비스를 구현하든 가장 중요하고 기본적으로 도입해야 하는 보안 개념이라고 할 수가 있다. 인증은 주로 위장(masquerade), 스푸핑(spoofing) 과 같은 위협에 대해 효과적으로 대응할 수가 있다.

인증 서비스는 실체 인증(Entity authentication)과 송신자 인증 (Data origin authentication)의 2가지로 분류할 수가 있다. 실체 인증은 사이버 공간에서 자신이 합법적이고 정당한 실체임을 나타내는 것이다. 예를 들어 SSL로 운영되는 웹서버(Web server)는 여기에 연결되는 웹브라우저(Web browser)에게 자신의 신분을 입증할 수가 있다. 송신자 인증은 문서나 전자우편이 특정인에게서 온 것임을 증명하는 행위로서 디지털 서명이 대표적으로 이를 구현하는 서비스이다.
PKI의 인증 절차 과정은 그림 3에 잘 나타나 있다. 구체적인 동작 원리에 대해서는 다음 호에서 상세히 설명하도록 한다.

2) 무결성 (Integrity)

무결성은 문서나 메시지가 전달되는 과정에서 변조되지 않도록 실현하는 서비스이다. 실제 서비스를 구성하는데 있어서는 무결성이 기밀성보다 더욱 중요시 된다. 비즈니스에서는 신뢰성이 가장 중요한 문제이기 때문이다. 무결성 서비스는 문서 위조나 되돌이 공격(replay attack)의 위협에 대해 대응할 수가 있다.

3) 기밀성 (Confidentiality)

정보가 교환될 때에 제 3 자에게 노출되지 않는 기능은 정보 보호의 기본이다. 사실상 암호이론은 기밀성을 보장하는 데에서 출발하였다고 할 수가 있다. 보통 메시지는 그 양이 많기 때문에 거래에 참여한 양자가 동일한 비밀키를 통해 암호/복호 통신을 사용함으로서 비밀성을 보장받게 한다.

4) 부인방지 (Nonrepudiation)

거래에 참여한 당사자가 나중에 자신이 관여했던 행위를 어떠한 형태로든 부인하게 되면 상거래의 질서가 무너지게 된다. 부인할 수 있는 대상은 거래 자체, 거래가 일어난 시점, 거래의 내용 등 여러 가지가 있다. 피해를 받지 않기 위해서는 거래의 근원지나 거래가 전달된 행위에 대해서 상세하게 입증할 자료를 갖추는 것이 필요하다.

PKI의 응용 분야

PKI는 광범위한 기업 응용프로그램에 보안 솔루션을 제공한다.  솔루션은 웹 보안, 전자우편 보안, 원격접속, 전자문서, 전자상거래 어플리케이션 등 매우 다양한 분야에서 사용될 수 있다.  어플리케이션 내에서의 보안기능은 엔드유저에게 사용의 편리성뿐만 아니라 투명성을 제공한다.

다음은 PKI를 이용한 어플리케이션의 예이다.

1) 안전한 전자우편 어플리케이션

기업활동의 글로벌화로 인하여 안전하고 저렴한 통신 수단 방식이 요구되어 왔다.  과거의 통신수단으로는 팩스, 디스켓, 직접 만남 등이 주가 되었었다.  그러나 이러한 방식은 시간적이나 비용면에 있어 매우 비효율적이었다.  안전한 전자우편(현재 또는 기존에 사용하던 전자우편 시스템 활용)은 기업, 고객, 고용자, 협력사 모두가 만족하는 안전한 통신 수단을 제공한다.

2) 웹 기반 보안

웹(WWW) 서비스 사용의 증가에 따라 기업이나 개인은 좀더 효과적인 방법으로 웹 서비스를 제공받기를 원한다.  웹 서비스를 이용한 온라인 서비스 업체들에게 있어서 보안에 대한 확신을 심어준다.  일반 기업들은 데이터의 도청이나 파괴없이 안전한 인터넷을 통하여 그들의 직원, 협력업체, 고객과 함께 정보를 공유하는데 사용할 수 있다.

3) 전자상거래 (E-Commerce)

전자상거래는 세계적으로 활성화되고 있다.  인터넷 환경에서의 전자우편, 전자서식, 전자문서교환(EDI), 금융업무 처리 등이 전자상거래로 불리운다.  EC 데이터 보안을 위하여 조직은 보안책을 구현시켜야 한다.  데이터의 기밀성, 접근제어, 무결성, 인증 기능으로 식별하고 부인방지로 처리기능의 거부를 방지한다.

4) 접근제어 (Access Control)

접근제어 기능으로 인하여 오직 허용된 사용자 만이 데이터를 볼 수 있다.  PKI의 관점에서의 접근제어 기능은 모든 사용자에게 유효성을 인식시켜 특정 사용자를 식별함으로써 접근제어 디바이스처럼 기능을 수행한다. 기존의 시스템 보안 도구들은 호스트 시스템에 설치되어 접근제어 기능을 수행하였는데, 앞으로 PKI 솔루션에 의해 더 발전될 것으로 예상된다.

5) 데스크탑 보안

가끔 안전한 통신방식을 거친 중요한 데이터가 캐비닛이나 창고에 산더미처럼 쌓여있는 것을 목격한다.  그런 후에 자물쇠로 채우고 자리를 비운다.  그러나 데스크탑이나 랩탑 컴퓨터의 경우는 그렇지 않는 경우가 많다.  컴퓨터에 저장된 정보는 파일 및 폴더의 자동 암호화/복호화, 허용되지 않는 사용자의 정보접근/삭제 제한(템포러리 파일 및 Windows SWAP 파일 포함), 컴퓨터 시동시 접근제어(부트업 보호), 사용자 부재시 보안(스크린세이버) 등을 포함한 다양한 방식으로 보호된다.

6) 가상사설망 (Virtual Private Networks)

가상사설망으로 인터넷을 경유한 서로 다른 두 개의 네트워크를 사설망처럼 안전하게 정보를 주고 받을 수 있도록 가상으로 구축해놓을 수 있다.  서로 다른 네트워크에서 전송되는 자료를 암호화시켜 전송함으로써 자료의 변조나 스니핑(sniffing) 등의 공격을 차단한다.  설령, 자료가 유출될지라도, 세션 키 없이는 암호화된 자료를 해독할 수 없다.

공개키기반구조(PKI)의 구성요소 I
- 대칭키,공개키의 암호기술과 디지털 서명의 원리, 그리고 인증서 -

지난 호에서는 PKI의 일반 개념과 더불어서 적용 분야에 대해 소개를 하였다. 이번 호에서는 PKI를 구성하는 기술 요소들을 설명하고자 한다. 무엇보다도 PKI에서 암호 기술을 빼놓을 수가 없다. PKI를 파악하려면 대칭키, 공개키 암호 기술의 개념과 디지털 서명의 원리, 그리고 인증서의 개념을 이해해야 한다. 참고로 암호 기술을 설명하는 과정에서 송신자는 갑돌이로, 수신자는 갑순이로 명명되곤 하는데 여기서도 같은 관례를 따르도록 한다.

1. 대칭키 암호 기술 대칭키(Symmetric Key)에 기반한 암호 알고리즘은 그림 1과 같이 동일한 키로 암호(encryption) 및 복호(decryption)를 하는 기술이다. 송신자와 수신자는 이 키를 절대로 제 3 자에게 노출해서는 안된다. 대칭키 방식은 메시지의 전송 과정의 비밀성 유지를 보장해 주는 대표적인 암호 기술이다.

(그림 1) 대칭키 암호기술

대칭키 암호 기술은 키관리 및 분배에 있어서 어려움이 있다. 예를 들어 그룹 A에 속한 5명의 개인과 그룹 B에 속한 3명의 개인들이 개인별로 대칭키 기반의 암호 커뮤니케이션을 하려고 할 경우, 모두 합해서 15개의 키를 필요로 한다. 참여하는 대상이 늘어날수록 키의 숫자는 급속도로 증가하게 된다.  (그림 2)

(그림 2) 대칭키의 조합

특히 동일한 키가 암호와 복호 과정에 사용되므로 암호 공격의 대상이 키로 집중된다. 그래서, 만일 키가 예측되면 메시지가 그대로 노출이 되는 위험이 있다. 이미 대칭키 방식에 대해서는 이를 크래킹(cracking)하려는 많은 노력들이 이루어졌으며, 끊임없이 현실에 적합한 알고리즘을 찾고 있다. 대칭키에 기반한 알고리즘의 대표적인 예는 DES(Data Encryption Standard)이다. 미국의 금융기관에서 가장 널리 사용되었던 알고리즘으로서 56비트 키를 사용한다. 최근에는 DES 알고리즘을 암호-복호-암호의 과정으로 연달아 적용해서 보안성을 강화한 Triple-DES가 많이 사용되고 있다. DES는 비교적 오랜 기간 연구가 되어서 안전성 측면에서는 검증이 많이 이루어진 반면, 비교적 암복호에 걸리는 시간이 오래 걸린다는 단점이 있다. 한편 컴퓨팅 환경이 좋아짐에 따라 DES 알고리즘을 깨뜨리는 시간도 점차 단축되고 있는데 금년도 1월달에 미국 산호세에서 거행되었던 RSA 컨퍼런스에서는 56비트 DES가 22시간 만에 깨져서 컨퍼런스에 참석한 많은 이들을 놀라게 했다. 따라서, 키 길이에 있어서 64비트 이하의 알고리즘에 대한 불안감이 증대하였으며, 현재로서는 128 비트 알고리즘이 주로 권고되고 있다. DES 이외에도 RSA사에서 만든 RC4, RC5가 널리 사용되고 있으며 유럽 지역에서는 IDEA(International Data Encryption Algorithm)가 광범위하게 사용되고 있다. 국내에서는 한국정보보호센터 주관으로 128비트 알고리즘인 SEED가 배포되고 있는데, 앞으로 민간용으로 널리 사용될 것으로 예상된다.

2. 공개키 암호 기술 앞에서도 지적하였듯이 대칭키 암호 기술의 가장 큰 문제점은 키분배의 어려움에 있다. 이를 극복하는 방안으로 스탠포드 대학의 Whitfield Diffie와 Martin Hellman은 공개키 방식라는 새로운 암호 모델을 1976 년에 제안했다. 이 기술은 비밀키(private key)와 공개키(public key)라는 2개의 키의 쌍을 구성해서 각 키가 암호화와 복호화에 사용되는 것을 의미한다. 비밀키는 소유한 사람 이외에는 절대로 알 수가 없는 키이고, 공개키는 원하는 누구에게나 공개된다. 만일에 공개키로 암호해서 메시지를 보내고 나서 이를 비밀키로 해독한다면 (그림 3), 메시지의 비밀성은 유지됨을 알 수가 있다. 이 경우 갑순이는 하나의 키쌍(key pair)만 가지고 N명의 송신자로부터 비밀 메시지를 받을 수가 있다.

(그림 3) 공개키 방식 : 암호모드

공개키 방식은 대칭키에 비해 키관리는 편리하지만 알고리즘이 더 복잡하기 때문에 처리속도가 더 걸린다. 메시지가 커질 경우 부담은 더욱 크게 증가한다. 그러므로 공개키가 많이 사용되는 응용 분야는 그림 4와 같이 비밀키로 암호화해서 메시지를 보내면 공개키로서 수신측에서 암호를 해독하는 인증 모드(authentication mode)이다. 이 경우 메시지의 비밀성은 보장되지 않는다. 왜냐하면, 공개키는 누구든지 가질 수가 있으며, 이는 다시 말해서 누구든지 이 메시지를 읽을 수가 있다는 것을 의미하기 때문이다. 그렇지만 갑돌이는 자신의 비밀키를 통해서 암호화했고, 갑순이는 비밀키에 해당하는 공개키로 메시지를 해독할 수 있기 때문에 갑순이는 받은 메시지가 갑돌이로부터 온 것임을 확신할 수가 있다. 결국 송신자 인증이라는 보안 서비스가 구현되며, 바로 이 특성이 디지털 서명의 기본 원리가 된다.

(그림 4) 공개키 방식 : 인증모드

공개키 방식으로 가장 널리 사용되는 알고리즘은 RSA이다. RSA는 MIT의 Rivest, Shamir, Adleman이라는 3사람 암호학자의 이름을 따서 만든 공개키 기반 암호 기술로서 그 자체가 알고리즘의 이름이자 회사의 이름이 되었다. RSA는 민간 기업의 알고리즘이지만 실질적인 표준으로서 업계에서 자리잡고 있다. 그러나, RSA는 키 길이가 상당히 길어서 많은 제약이 따른다. 특히 스마트 카드 같은 소용량 하드웨어에서 사용하려고 할 경우 RSA알고리즘은 적합하지 않다.
아직은 RSA 알고리즘을 내장한 스마트 카드가 많이 있지만, 키 길이가 길어지면 길어질수록 그 한계가 명확하게 드러날 것이다. 이에 대응하는 새로운 공개키 방식이 제시되고 있는데, 바로 타원 곡선의 원리를 이용한 ECC(Elliptic Curve Cryptosystem) 알고리즘이다. ECC는 키 길이를 혁신적으로 줄일 수가 있는데, 그림 5는 양 알고리즘의 키 길이를 비교하고 있다.

타원곡선 알고리즘

RSA

RSA/타원곡선의 키크기 비교

106 132 160 211 600

512 768 1024 2048 21000

4.83:15.82:1 6.40:1 5.71:1 35.0:1

(표 1) 공개키 알고리즘의 키길이 비교

3. 해쉬 함수 (Hash Function) 해쉬 함수는 일방향 함수(one-way function)로서 큰 용량의 메시지를 축약된 수치로 나타내는데 사용된다. 그림 6에서 볼 수 있는 해쉬 함수의 특성은 다음과 같다.

(그림 5) 해쉬함수

1) X로부터 함수 f를 거쳐서 Y를 만드는 것은 쉽다. 2) Y로부터 X를 유추하는 것은 거의 불가능하다. 3) X에서 단 한 개의 비트만 바뀌어도 전혀 다른 Y값을 생성해낸다. 4) 동일한 Y 값을 가지는 서로 다른 X라는 메시지를 찾는 것은 불가능하다. 위의 특성들을 살펴보면 해쉬함수가 메시지의 무결성을 구현하는데 사용되는 이유를 발견할 수가 있다. 즉, 메시지의 단 한 비트만 바뀌어도 전혀 다른 결과를 생성하므로, 수신측에서 송신자와 동일한 해쉬함수를 적용해서 그 결과값을 비교해 보면 메시지가 전달되는 도중에 변조되었는지의 여부를 알 수가 있다. 해쉬 함수를 거쳐 나온 값 Y를 메시지 다이제스트(Message Digest)라고 정의한다. 무결성을 입증하기 위해서는 RSA Data Security의 MD5와 미국 정부에서 만든 SHA-1 (Secure Hash Algorithm)이 널리 사용되는데, 메시지 다이제스트 값으로 MD5는 128 비트 값을, SHA-1은 160 비트 값을 사용한다.

4. 디지털 서명 디지털 서명은 다음 3가지의 보안 서비스를 구현한다. - 송신자 인증 - 메시지 무결성 - 부인방지. (그림 6)은 디지털 서명을 구성하는 개념도를 보여주고 있다.
이 그림에서 우리는 앞서 언급했던 내용 중에서 공개키 방식의 암호 기술과 해쉬 함수 기술이 사용되고 있음을 알 수가 있다.

(그림 6) 디지털 서명

전송되는 메시지는 기존의 메시지에 디지털 서명을 첨부한 내용으로 구성된다. 디지털 서명은 메시지에 해쉬 함수를 적용해서 나온 결과인 다이제스트(digest)를 비밀키로 암호화한 결과로 정의된다. 수신측에서는 다이제스트 값을 비교해서 무결성을 구현한다. 즉, 메시지에 해쉬함수를 적용한 결과와 전송된 디지털 서명 값을 공개키로 복호화해서 얻은 결과가 동일하면 무결성이 입증된다. 만일에 메시지가 중간에 변조가 되었다면 다른 결과가 나오게 될 것이다. 결론적으로 디지털 서명 값은 무결성을 입증하는데 사용된다. 한편 수신자는 송신자의 비밀키에 부합하는 공개키로 디지털 서명을 풀기 때문에 본 메시지의 송신자를 확인할 수가 있다. 비밀키는 메시지를 보낸 사람만이 사용할 수가 있기 때문이다. 한편 송신자의 공개키로 디지털 서명을 읽을 수가 있으므로 나중에 송신자가 메시지를 보낸 사실을 부인할 수가 없게 된다. 결론적으로 비밀키-공개키 쌍의 사용은 송신자 인증과 부인방지를 구현한다. 주목할 것은 디지털 서명 과정에서 메시지가 전혀 암호화되지 않고 보내진다는 사실이다. 다시 말해서 디지털 서명을 통해 메시지의 비밀성은 보장되지 않는다. 디지털 서명의 목적은 문서를 보낸 주체에 대한 확인과 그 문서가 변조되지 않고 전송되었는가를 규명하는데 주요 목적이 있다. 아울러 디지털 서명은 나중에 분규의 방지를 위한 부인방지도 구현한다.

4. 디지털 인증서 (Digital Certificate) 그런데, 공개키는 어떻게 분배가 되는가? 만일 갑돌이가 아닌 철수가 다음과 같이 말한다면 어떻게 할 것인가?  내가 갑돌이인데 이 공개키는 갑돌이의 공개키이므로, 내가 비밀키로 서명해서 보내면 확인이 가능함.  이럴 경우 갑순이는 모든 커뮤니케이션을 갑돌이와 하고 있다고 착각할 수가 있다. 갑돌이가 아닌 다른 실체인 철수는 이와 같이 갑돌이로 위장이 가능하게 된다. 이를 해소하기 위해서 디지털 인증서(Digital Certificate)의 개념이 소개된다. 인증서는 우리가 실제 세계에서 계약서에 인감으로 도장을 찍은 후에 인감증명을 첨부하는 것과 같은 이치이다. 우리가 계약서에 도장을 찍고 나서 인감 증명을 첨부하는 이유는, 동회에 등록한 인감을 사용하였음을 증명함으로써 인감 소지자인 본인에 의해 날인된 계약임을 입증하기 위함이다. 사이버 세계에서도 같은 원리가 사용되는데 바로 인증서가 여기에 해당하는 개념이다. 디지털 인증서는 표준 형식으로 X.509라는 형태로 정의되는데 그림 8은 인증서에 포함되는 내용을 설명하고 있다.

(그림 7) 디지털 인증서

인증서는 양자간의 커뮤니케이션을 입증해 줄 수 있는 제 3의 기관에서 발부해야 한다. 즉, 공공성을 지니고 신뢰받을 수 있는 기관이 그러한 업무를 수행해야 하는데 이를 인증기관 (Certification Authority)이라고 한다. 인증기관은 일반 기업이 될 수도 있고 공공 기관이 될 수도 있다. 만일 자기 회사 내의 문서 교환이라면 자체가 CA를 운영할 수도 있다. 어쨌든 거래 당사자의 커뮤니케이션을 입증해 줄 수가 있는 제 3의 기관이 되어야 한다. 다음 호에서는 인증 기관의 성격과 구조, 그리고 이를 뒷받침하는 인프라에 대해서 살펴보도록한다.

공개키기반구조(PKI)의 구성요소 II
- 인증 기관, 등록기관, 디렉토리 구성 객체와 구성방법 -

지난호에서는 PKI를 구성하는 기술 요소중의 하나인 인증서에 대해 소개하였다. 이번 호에서는 PKI의 시스템 성립에 필요한 구성 요소들과 이에 대한 구성 방법에 대하여 설명하고자 한다. PKI 시스템을 구성하는 객체는 크게 인증기관, 등록기관, 그리고 디렉토리로 분류될 수 있으며, 인증기관들의 포함 관계에 의해 PKI 구성 방법을 설정할 수 있다. 각 구성 객체와 구성 방법을 이해함으로써 PKI에 대한 개괄적인 사항을 이해하도록 한다.

PKI 시스템 구성 요소 PKI시스템을 구성하는 요소로는 인증서를 발행하고 취소하는 인증기관, 인증서 등록 및 사용자 신원확인을 대행하는 등록기관, 인증서 및 인증서 취소 목록을 저장하고 사용자에게 서비스하는 디렉토리, 그리고 인증서를 신청하고 인증서를 사용하는 사용자로 분류될 수 있다.

다음의 [그림 1]은 PKI 시스템 구성 요소간의 관계를 나타낸 것이다

[그림 1] PKI 시스템 구성요소간의 관계

인증기관(CA : Certification Authority) 인증기관이란 PKI의 핵심 객체로서 인증서 등록발급조회시 인증서의 정당성에 대한 관리를 총괄하는 시스템을 일컫는다. 역할에 따라 계층적으로 구성할 수 있으며, 각 계층 마다 다른 명칭을 가지고 있다.

가. 정책승인기관(PAA : Policy Approving Authority)PKI 전반에 사용되는 정책을 수립하고 최상위 인증기관의 역할을 수행한다.   - PKI 전반에 사용되는 정책과 절차를 생성  수립한다.   - 하위 기관들의 정책 준수 상태 및 적정성을 감사한다.   - PKI 내외에서의 상호 인증을 위한 정책을 수립하고 이를 승인한다.   - 하위 기관의 공개키를 인증하고 인증서 및 인증서 취소 목록 등을 관리한다.

나. 정책인증기관(PCA : Policy Certification Authority)PAA 하위 계층으로 자체 도메인 내의 사용자와 인증기관이 따라야 할 정책을 수립하고 하위 인증기관의 공개키를 인증하며, 인증서와 CRL등을 관리하는 역할을 수행한다.

다. 인증기관(CA : Certification Authority)PCA 하위 기관으로 다음과 같은 기능을 수행한다.   - 사용자의 공개키 인증서를 발급취소한다.   - 자신의 공개키와 상위 인증기관의 공개키를 사용자에게 전달한다.   - 등록기관의 요청에 따라 인증서를 발급한다.   - 상호 인증서를 발급한다.   - 인증서와 인증서 소유자의 정보를 관리한다.      - 최소한의 정책 책임을 진다.   - 인증서, 인증서 취소 목록, 감사 파일들을 보관한다.

등록기관(RA : Registration Authority) 인증기관과 물리적으로 멀리 떨어져 있는 사용자들을 위해 인증기관과 인증서 요청 객체 사이에 등록 기관을 둠으로써, 사용자들의 인증서 신청시 인증기관 대신 그들의 신분과 소속을 확인하는 기능을 수행한다. 조직등록기관(Organization Registration Authority)이라고도 한다. 등록기관의 기능은 다음과 같다.   - 인증 요청을 승인하고 정당성을 확인한다.   - 인증기관에게 인증서 요청서를 전송한다.   - 디렉토리로부터 인증서와 인증서 취소 목록을 검색한다.   - 인증서 취소를 요청한다.

디렉토리(Directory) 인증서와 사용자 관련 정보, 상호 인증서 쌍 및 인증서 취소 목록 등을 저장  검색하는 장소로 응용에 따라 이를 위한 서버를 설치하거나 인증기관에서 관리한다. 디렉토리를 관리하는 서버(인증기관)는 DAP(Directory Access Protocol) 또는 LDAP(Lightweight DAP)을 이용하여 X.500 디렉토리 서비스를 제공한다. 인증서와 상호 인증서 쌍은 유효기간이 경과된 후에 일정기간 동안 서명 검증의 응용을 위해  디렉토리에 저장된다.

사용자(User) PKI내의 사용자는 사람뿐만 아니라 사람이 이용하는 시스템 모두를 의미하며, 다음의 기능을 수행한다.   - 자신의 비밀키/공개키 쌍을 생성한다.     - 인증기관에 공개키 인증서를 요청하고 인증서를 받는다.   - 전자서명을 생성검증한다.   - 특정 사용자의 인증서를 획득하고 그 상태를 확인한다.   - 인증경로를 해석한다.   - 디렉토리를 이용하여 자신의 인증서를 타 사용자에게 제공한다.   - 인증서 취소 목록을 이용한 인증서 상태를 검증한다.   - 비밀키의 손상 및 분실로 인한 긴급상황 발생시 인증기관에 인증서를 취소하고 새로운 인증서를 받급받아야 한다.

PKI 구성방법

계층 구조(Hierarchical Infrastructure) 인증기관은 한 개의 루트 인증기관 하위에 계층적으로 연결되어진다. 각각의 인증기관은 자신의 상위 또는 하위 인증기관과 인증서를 교환한다. 계층 구조에서 모든 인증서 사용자는 루트 인증기관의 공개키를 소유하고 있어서, 원하는 인증서가 존재할 경우 루트의 공개키로 전자서명을 검증해야만 사용자가 사용할 수 있는 인증서가 된다. 아래의 [표 1]은 계층 구조의 장단점을 비교한 것이며, [그림 2]는 계층 구조의 구성 방법을 나타내고 있다.  

장 점

단 점

o 원하는 인증서의 획득이 용이하다.  o 인증경로에 대한 검증이 용이하다.  o 계층적인 조직에 적합하다.

o 현실적으로 전세계적인 구성이 불가능하다.  o 루트 인증기관의 비밀키 안정성이 모든 인증서의 안전성과 관계가 있다.

[표 1] 계층 구조의 장단점

[그림 2] PKI 시스템의 계층구조

[그림 2]에서 루트 인증기관 (1)의 공개키는 모든 사용자들에게 공개된다. 사용자 B의 인증서를 받은 사용자 A가 사용자 B의 인증서를 검증하는 과정은 다음과 같다.

단계 1  :

사용자 A는 사용자 B의 인증기관 (4)의 인증서를 검증한다.

단계 2  :

사용자는 인증기관 (4)의 인증서를 검증하기 위해 인증기관 (2)의 인증서를 검증한다.

단계 3  :

루트 인증기관 (1)의 공개키를 이용해 인증기관 (2)의 인증서를 검증한다.


네트워크 구조(Network Infrastructure) 네트워크 구조는 일반적인 네트워크 환경에서 근접한 인증기관에 대해 상호인증을 할 수 있는 구조이다. 인증기관이 각각의 도메인을 형성하여 독립적으로 존재하는 구조로서, 인증기관들이 상호 인증하며 인증서를 발급한다. 사용자는 인증서를 발행한 인증기관의 공개키만을 알고 있다. 이 구조에서 인증서를 얻기 위한 인증 경로는 일반적으로 사용되는 라우팅 방법과 동일하게 최단 거리 알고리즘이 적용되며, 경로는 하나 이상이 될 수 있다. 다음의 [표 2]는 네트워크 구조의 장단점을 비교한 것이며,  [그림 3]은 네트워크 구조의 구성 방법을 나타내고 있다.  

장점

단점

o 인증기관 간의 상호인증  o 상업적 상호신뢰 관계 유리  o 융통성 있는 정택과 처리부하의 경감  o CA의 비밀키 손상에 대한 복구 용이

o 원하는 인증서를 찾기위한 인증경로체계와 관리의 복잡성  o 단일 인증경로 불가능

[표 2]는 네트워크 구조의 장단점

[그림 3] PKI 시스템의 네트워크 구조

[그림 3]에서 사용자 A가 사용자 B의 인증서를 검증하는 과정은 다음과 같다. 

단계 1 :

사용자 A는 자신의 인증서를 발행한 인증기관 (3)의 공개키를 알고 있고, 사용자 B 역시 자신의 인증서를 발행한 인증기관 (4)의 공개키를 알고 있으며, 사용자 B에서 사용자 A에 이르는 여러 인증 경로 중에서 최단 경로를 통해 사용자의 인증서를 검증한다.

단계 2 :

사용자 A는 인증기관 (4)의 공개키를 이용해 사용자 B의 인증서를 검증한다.

단계 3 :

인증기관 (5)를 통해 인증기관 (4)를 검증한다.

단계 4 :

사용자 A는 자신이 신뢰하는 인증기관 의 공개키를 통해 인증기관 의 인증서를 검증한다.

혼합형 구조(Hybrid Infrastructure) 혼합형 구조는 계층 구조와 네트워크 구조를 혼합한 구조이다. 구조적인 특징으로, 커다란 조직에 대해서 각각 루트 인증기관이 존재하고, 각 루트 인증기관은 자신의 하위 인증기관에 대해서 인증하며, 동일 계층에 존재하는 기관은 다른 루트 인증기관과 상호 인증을 한다. 루트 인증기관의 하위 인증기관은 동일 계층의 인증기관간의 상호 인증이 가능하여 자신의 하위 및 상위 인증기관과의 인증이 가능하다. 따라서, 계층 구조처럼 하나의 인증서를 갖고 있으며, 다른 인증기관에 대한 인증서는 디렉토리에 저장된다. 네트워크와 계층적인 인증 경로의 좋은 요소를 결합하여 구성되면 위 두 가지의 인증 경로보다 더 유용하다. [그림 4]는 혼합형 구조를 나타내고 있다.

[그림 4] 혼합형 구조

[그림 4]에서 사용자 A가 사용자 B의 인증서를 검증하는 과정은 다음과 같다. 첫번째 방식으로 사용자 A는 계층 구조에서 사용한 방식으로 사용자 B의 인증서를 검증할 수 있고, 두번째 방식으로 네트워크 구조에서처럼 상호 인증을 이용한 검색 방법을 사용할 수 있다. 이 상호 인증을 이용한 방식에는 혼합형 구조가 계층 구조를 기본으로 하기 때문에, [그림 4]에서와 같이  인증기관 (2)와 인증기관 (3)사이에서처럼 같은 계층의 일반 상호 인증과 인증기관 과 인증기관  사이에서처럼 서로 다른 계층의 특별 상호 인증이 있다.  


출처 : http://www.securesoft.co.kr/  [시사컴퓨터 99년]
2006/06/09 18:06 2006/06/09 18:06
TAG
Trackback address :: http://4ellene.net/tt/trackback/918

Comments List

  1. red vaginal bleeding 2008/05/23 07:41

Write a comment.

[로그인][오픈아이디란?]