글 싣는 순서
1. CTL Client 개요 및 설치
2. CTL Client 설정하기
3. 전화기를 보안모드로 설정하기
4. 외부 CA 서버에서 CUCM 인증서 받기
5. 외부 CA 서버에서 IP Phone 인증서 받기
6. 외부 CA 서버에서 CUBE 인증서 받기
7. CUCM과 CUBE간 TLS 연동
CTL Client를 이용하여 CUCM을 Mixed Mode (보안모드)로 전환시켰습니다. 이제 전화기가 보안 모드로 동작하도록 설정하도록 하겠습니다.
CAPF 서비스 확인
CAPF (Certificate Authority Proxy Function)는 전화기가 생성한 Public Key에 대한 Self-signing을 하거나 External CA를 이용한 Signing을 지원합니다. 즉, CAPF는 인증서 발행기관으로써의 역할 수행도 가능합니다. 아래 그림은 CAPF 서버스에서 제공하는 파라미터의 기본 값입니다.
각각의 파라미터의 의미가 중요하므로 자세히 살펴보겠습니다.
Duration of Certificate Validity (인증서 유효기간) : 5년
CAPF가 발행한 인증서의 유효기간을 명시한 것으로 기본값은 5년이며, 최대 20년까지 설정할 수 있습니다.
Key SIze (키 길이) : 1024 bits
CAPF가 자신의 Public Key와 Private Key를 생성 시에 키 길이를 정합니다. 최대 2048 bit까지 설정할 수 있습니다.
Maximum Allowable Time For Key (최대 키 생성 시간) : 30분
CAPF가 키를 생성 시 걸리는 최대 시간을 명시합니다. 또한, 전화기가 키 생성 프로세스를 마칠 때까지 기다리는 시간을 명시합니다. CAPF나 전화기는 키 생성 프로세스가 가장 우선 순위가 낮기 때문에 시간이 오래 걸릴 수 있습니다.
Maximum Allowable Attempts for Key Generation (키 생성을 위한 시도 횟수) : 3회
키 생성을 시도하는 최대 횟수를 명기합니다.
위의 파라미터 가운데 중요한 것은 인증서의 유효기간이 5년이라는 것과 키 길이가 1024 bits 라는 것입니다.
Phone Security Profile 생성
전화기에 적용할 Security Profile을 설정하겠습니다. Security Profile 세부 설정은 메뉴바에서 "System >> Security >> Phone Security Profile"에 있습니다. 모든 단말별로 개별 Security Profile을 확인할 수 있습니다.
현재 보안을 적용할 시스코 전화기 기종을 선택한 후에 "복사(Copy)"를 선택합니다. 여기에서는 Cisco 9971 - Standard SIP Non-Secure Profile 을 선택해서 복사힙니다.
시스템에서 제공하는 Security Profile은 Non-Secure이므로 Security를 적용할 새로운 Security Profile을 아래 그림과 같이 생성하고, 이름은 "Cisco 9971 - Standard SIP Secure Profile" 이라고 하였습니다.
위의 그림에서 "Device Security Mode"는 다음과 같은 세가지를 제공하고, 완벽한 암호화를 위해 "Encrypted"를 선택합니다.
Non-Secure
보안이 적용되지 않은 상태
Authenticated
CUCM은 전화기를 위한 무결성(Integrity)과 신뢰성(Authentication) 만을 제공합니다. CUCM과 IP Phone은 시그널링을 위해 TLS로 통신합니다.
Encrypted
CUCM은 전화기를 위한 무결성(Integrity)과 신뢰성(Authentication) 뿐만 아니라 기밀성(Encryption)을 제공합니다. 시그널링을 위한 TLS 및 미디어를 위한 SRTP를 제공합니다.
위의 그림에서 Key Size는 512, 1024, 2048 비트 세가지를 제공하지만, 기본값은 1024입니다. 2048을 선택할 수 있지만, 추천하지 않습니다. 기하급수적으로 키 생성 시간이 증가하여 최대 30분 이상이 걸릴 수 있습니다.
위의 그림에서 중요한 파라미터인 "Authentication Mode"를 살펴보겠습니다. "Authentication Mode"는 전화기의 키에 대한 생성 및 업그레이드, 삭제, 트러블슈팅 등에 대한 인증 방식을 결정하는 것입니다.
By Authentication String
전화기에서 사용자가 직접 CAPF 인증번호를 기입해서 인증합니다. 전화기의 Device Profile 설정시에 무작위로 인증번호가 생성됩니다.
By Null String (시스코 추천)
사용자의 간섭없이 자동으로 인증됩니다.
By Existing Certificate (Precedence to LSC)
MIC (Manufacture-installed certificate) 나 LSC(Locally significant certificate)가 전화기 있을 경우에 해당합니다. MIC보다 LSC를 우선하여 사용한다는 설정입니다. 만일 전화기에 MIC나 LSC가 없는 상태에서 이 옵션을 설정하면 Fail이 발생합니다.
By Existing Certificate (Precedence to MIC)
MIC나 LSC가 전화기에 있을 경우에 MIC를 우선하여 사용합니다. 만일 전화기에 MIC나 LSC가 없는 상태에서 이 옵션을 설정하면 Fail이 발생합니다.
Security Profile 파라미터 중에서 필요한 부분에 대해서만 설명하였습니다. 다른 것도 중요하긴 하지만, 실제 우리가 할려는 Secure IP Telephony에서는 사용하지 않을 것이므로 설명을 생략합니다.
전화기에 보안 설정
아래 그림과 같이 전화기 설정에서 Protocol Specific Information 부분에서 "Device Security Profile" 파라미터를 위의 Phone Security Profile을 선택합니다.
06 changing Device Security Profile on Protocol Specific Infoma
전화기에도 Security Profile과 마찬가지로 "CAPF Information" 설정 부분이 있습니다. Phone Security Profile과 달리 설정하고자 할 경우에는 "CAPF Information" 부분을 설정할 수 있습니다.
이제 모든 설정을 하였으므로 "Save"와 " Apply Config"를 클릭합니다.
"OK"를 클릭하여 구성정보를 전화기에 적용합니다. 전화기는 자동으로 리셋될 것입니다.
전화기는 재부팅 후에 아래 그림과 같이 정상적으로 CUCM에 등록을 합니다.
전화기의 인증서 탑재 확인
아래 사진은 전화기의 보안 설정 부분입니다. Security Mode 는 "Encrypted"로 설정되었습니다. LSC는 Locally Significant Certificate의 약자이며, 전화기가 직접 생성한 보안키입니다. 아래와 같이 CAPF에 의해 서명을 기다리고 있으면, Pending이라고 표시됩니다.
Trust List를 클릭하고 보시면, ITL 및 CTL File을 확인할 수 있습니다. 여기에는 CTL Client에 의해 생성된 CUCM 및 TFTP 서버와 CAPF Server에 대한 인증서 (Certificate)가 포함되어 있습니다. 이 것에 대한 자세한 사항은 "[연재] Secure IP Telephony의 이해"에서 다룰 것입니다.
정상적으로 Certification을 다운로드 받게 되면, 아래 그림과 같이 "Installed"라고 표시가 됩니다.
CUCM상에서 전화기 인증 정보 확인
전화기에서 인증 상태를 확인하기 위해서는 아래의 그림처럼 가능합니다. 우선은 "LSC Status"를 선택하고, 우측 상단의 Related Links에서 "CAPF Report in File"을 선택하시고, Go를 클릭하시면 액셀파일로 현재 전화기의 인증 상태 여부를 쉽게 확인할 수 있습니다.
TLS 및 SRTP를 이용한 전화 통화
모든 전화기가 정상적으로 인증서를 탑재하였으므로 아래의 사진에서 처럼 통화중 표시 위에 아주조그만 "열쇠" 표시를 확인할 수 있습니다.
마치며
이제 CUCM과 전화기는 보안 모드를 이용하여 TLS 및 SRTP로 동작하는 것을 확인하였습니다. 다음 글에서는 External CA를 이용하여 CUCM과 IP Phone에 인증서를 탑재하는 것을 살펴보겠습니다.
----------------- --------------------------------------------------------
라인하트 (CCIEV #18487)
ucwana@gmail.com (라인하트의 구글 이메일)
http://twitter.com/ucwana (라인하트의 트위터 )
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항)
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스)
http://groups.google.com/group/ucforum (벤더에 상관없이 UC를 공부하는 사람들이 모인 구글 구룹스)
정리하고 보니 나도 디지털 네이티브 _____________________________________________________