제7장 통신 암호화

내용 목차

7.1. 개요
7.2. 환경설정
7.2.1. 개인 키 및 인증서 생성
7.2.2. 개인 키 및 인증서 위치 설정
7.2.3. 클라이언트 설정

본 장에서는 Tibero에서 통신 암호화 기능을 사용하고 관리하기 위한 방법을 설명한다.

Tibero는 서버와 클라이언트 간에 송수신되는 메시지에 대한 기밀성을 보장하기 위하여 통신 암호화 기능을 제공한다. Tibero의 통신 암호화 기능은 Netscape사의 SSL 통신 프로토콜을 채택하였으며 Openssl Project에서 제공하는 라이브러리를 사용하여 개발되었다. 참고로 Windows 운영체제의 경우 현재 통신 암호화 기능을 제공하지 않는다.

통신 암호화 기능을 사용하기 위해서는 통신 양자 간에 보안 통신을 위한 설정이 필요하다. 서버에서는 보안 통신에 사용될 인증서와 개인 키를 미리 소지하고 있거나 없으면 새로 생성해야 한다. 그 다음 인증서와 개인 키의 위치를 환경설정 파일에 지정해주게 되면 보안 통신 전용 포트가 열리게 된다.

클라이언트에서는 보안 통신 사용 여부를 환경설정 파일에 지정해준다. 이에 따라 일반 또는 보안 접속이 이루어지게 된다.

개인 키 및 인증서 생성은 X.509 v3(PKI ITU-T 표준)을 따른다. 개인키 및 인증서를 생성할 때 입력하는 주요 정보는 다음과 같다.

  • password

    해당 암호는 개인키 및 인증서를 생성하는 데에만 쓰인다.

  • basename to make a certificate and a private key

    개인키 및 인증서 파일의 이름을 결정하는데 쓰이며, 이외의 용도는 없다.

  • the number of days to make a certificate valid for

    해당 기간 만료 후에는 개인키 및 인증서를 사용할 수 없기 때문에 재생성해야 하며 재생성은 온라인 중에도 가능하다. 세션이 새로 로그인할 때 하나의 ssl 단위가 새로 생성되기 때문에, 온라인 중에 인증서 및 개인키를 갱신할 경우 기존과 동일한 파일명으로 갱신한 후 ssl 옵션으로 세션을 새로 붙이면 된다.

실제 개인 키 및 인증서를 생성하는 방법은 다음과 같다.


입력을 마치면 전자지갑 저장소($TB_HOME/config/tb_wallet/)에 다음과 같은 파일이 생성된다. 만약 원하는 폴더에 개인 키 및 인증서를 생성하고 싶다면 다음과 같이 -p나 -P 옵션을 통해 생성 가능하다.

./tb_cert_manager -p $TB_HOME/config/[생성을 원하는 폴더이름]

이때, 경로는 절대경로를 입력한다.

공개 키 기반 개인 키: [$TB_SID].key
인증서 생성 요청서: [$TB_SID].csr
인증서: [$TB_SID].crt     

추가로 TAC인 경우는 노드별로 각각 개인키 및 인증서를 생성할 필요가 없고 한번 만든 개인키 및 인증서를 공유해서 사용할 수 있다. 혹은 -p 또는 -P 옵션으로 개인키 및 인증서를 생성하여 다중 인스턴스에서 사용 가능하다.