이 절에서는 웹 사이트에서 SSL(Secure Sockets Layer)을 사용할 때 사이트에 필요한 각각의 주 구성 요소를 설명합니다. 이 절은 사용자가 보유해야 할 항목과 구성 요소의 상호 작용 방식을 개관합니다. SSL 구성 절차 목록은 "SSL 구성 프로시저"에 수록되어 있습니다.
웹 사이트에서 SSL을 사용하려면, 먼저 클라이언트에 제공할 수 있는 암호화 공용 및 전용 키와 X.509 보증서가 있어야 합니다. 이 보증서에는 웹 사이트 ID(고유 이름), 발행자 ID, 웹 사이트의 공용 키 및 발행자의 디지털 서명이 들어 있습니다. 공용 웹 사이트는 보통 보증서의 서명을 VeriSign 같은 협력업체 보증 기관(CA:certificat authority)에서 받습니다.; 클라이언트 역시 협력업체 CA의 공용 키가지면, 클라이언트는 사이트 ID를 확인 및 인증된 것으로 신뢰할 수 있습니다.
본 설명서에서 "증명서"는 키 패키지--공용 및 전용 암호화 키-와 관련 보증서를 말합니다.
Sun WebServer에는 CA 실행용 소프트웨어가 들어 있습니다. CA에서는 웹 사이트의 SSL 증명서를 작성할 수 있습니다. 다른 도구들은 Sun WebServer 인스턴스에서 사용할 수 있도록 웹 사이트 증명서를 설치하고, 증명서에 협력업체의 서명을 받으며, 협력업체 보증서를 설치합니다.
SSL을 실행하려면 사이트에서 다음 작업을 완료해야 합니다.
루트 보증 기관(Root CA)을 작성합니다.
연합 명명 시스템(FNS)을 설치합니다.
Sun WebServer를 SSL과 함께 설치합니다.
SSL을 사용하는 웹 사이트용 고유 IP 주소를 사용합니다.
(권장) 독립 CA에 보증서 서명을 요청합니다.
웹 사이트의 증명서를 작성하려면 사이트에 루트 CA를 작성해야 합니다. 루트 CA 사용자는 자체적으로 증명서를 작성한 다음, 이 증명서로 키 패키지를 작성하고 네트워크의 웹 서버용 보증서에 서명합니다. 이 증명서를 연합 명명 서비스(FNS)에 저장하면 다른 시스템에서 쉽게 액세스할 수 있으며, 액세스를 제한하려면 루트 CA 시스템의 파일에만 저장합니다. 기본적으로 증명서는 /var/fn에 저장됩니다.
증명서를 작성하는 루트 CA 호스트는 Sun WebServer와 동일한 시스템이 아니어도 되며, 보안을 위해 다른 시스템이나 네트워크 액세스를 전혀 할 수 없는 시스템에서 루트 CA를 실행할 수도 있습니다.
앞의 단계는 자체 서명한 보증서에만 필요하며 협력업체 보증서만을 사용한다면 필요 없습니다.
루트 CA 사용자가 되려면, 사용자 이름으로 루트 CA 호스트의 root
(UID 0)를 제외한 모두를 사용할 수 있습니다. 루트 CA 사용자는 웹 사이트의 증명서를 작성할 수 있는 유일한 사용자입니다. 루트 CA 사용자는 암호로 보호된 자체 증명서를 가지고 있으며 이를 사용하여 자신이 작성하는 모든 보증서에 서명합니다.
루트 CA 증명서는 고유 이름(DN) 항목에 국한됩니다. 모든 증명서는 DN에 국한됩니다. 루트 CA 고유 이름에는 다음과 같은 속성을 사용합니다.
속성 유형 | 약어 | 예제 |
---|---|---|
공통 이름 | cn | cn=rootca |
전자 우편 주소 | em | em=rootca@A.net |
일련 번호 | serial | serial=no12345 |
조직 단위 이름 | ou | ou=web |
조직 이름 | o | o=A.net |
지역 이름 | l | l=internet |
주 또는 지방 이름 | st | st=California |
국가 이름 | c | c=US |
속성의 순서가 DN에서 중요합니다. DN은 가장 구체적인 속성부터 시작하여 가장 포괄적인 속성으로 끝나야 합니다. 테이블에 가장 구체적인 속성(공통 이름)에서 가장 포괄적인 속성(국가) 순으로 나열합니다.
모든 증명서는 루트 CA 사용자의 디렉토리에 저장되며, 공용으로 읽을 수 없습니다. 각 웹 사이트의 증명서와 마찬가지로 루트 CA 사용자의 증명서는 연합 명명 서비스(FNS)를 통해 사용할 수 있습니다.
SSL 또는 키 패키지를 사용하는 모든 컴퓨터에는 보안 도구 패키지를 설치해야 합니다. 컴퓨터에는 최소한 시스템 하나(루트 CA 호스트)는 있어야 합니다. 이 시스템에는
루트 CA의 사용자 이름이 있습니다.
루트 CA 증명서가 저장됩니다.
FNS가 적절하게 설치됩니다.
루트 CA는 이 호스트의 웹 사이트용 증명서를 작성하고 저장합니다.
Sun WebServer는 루트 CA 호스트에서 실행하지 않아도 됩니다. Sun WebServer 시스템은 루트 CA 호스트의 파일을 복사함으로써 호스트하는 웹 사이트의 증명서에 액세스할 수 있습니다.
FNS는 SSL 보안 도구가 증명서에 액세스할 때 사용하는 인터페이스입니다. Sun WebServer 보안 패키지에서는 파일의 증명서를 저장하고 검색할 이름 서비스 컨텍스트를 작성합니다.
기존 FNS 패키지를 제거하고 Sun WebServer와 함께 제공된 SUNWfns
패키지를 설치합니다.
이 단계는 Sun WebServer 설치 전에 수행합니다. SUNWfns
를 제거하지 않고 제공된 패키지를 설치하였다면, 루트 CA 호스트를 포함하여 SSL을 사용할 호스트에서 지금 그와 같이 실행합니다.
Solaris 2.6의 일부인 SUNWfns
패키지는 SSL과 함께 작동하지 않습니다. 패키지를 제거한다고 해서 데이터가 소실되지는 않으며, 일단 새SUNWfns
패키지를 설치하면 기존의 FNS 컨텍스트를 보존합니다. 양 패키지는 모두 11.6.0 버전이지만 pkginfo -l SUNWfns
의 완전 VERSION
은 지원 패키지용 11.6.0,REV=1998.02.08.15.10
입니다.
웹 사이트에 SSL을 지원하려면 Sun WebServer의 인스턴스가 필요합니다. Sun WebServer에는 사용할 수 있는 모든 SSL 패키지와 라이브러리가 있으며, SSL을 사용할 각 IP 주소의 포트에서 SSL이 활성화되어 있어야 합니다.
루트 CA에서 증명서를 작성하면, 증명서를 사이트를 호스트하는 Sun WebServer 시스템에 설치해야 합니다.
루트 CA 사용자는 웹 사이트의 호스트 이름과 IP 주소를 사용하여 웹 사이트의 증명서를 작성합니다. 증명서는 고유 호스트 이름 및 IP 주소에만 국한되어야 하며, 따라서 각 SSL 활성 사이트의 SSL 포트에는 고유 IP 주소가 있어야 합니다.
클라이언트가 웹 사이트의 SSL 활성 포트에 연결할 때 사이트의 증명서를 요구합니다. 클라이언트에서 공용 키를 가지며 신뢰하는 CA에서 서명을 받아야만 증명서를 확인할 수 있습니다.
대부분의 클라이언트는 사용자 지역 루트 CA의 공용키를 가지고 있지 않기 때문에, 사용자는 VeriSign 같이 잘 알려진 CA에서 사이트 증명서 서명을 받습니다.