글 싣는 순서

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을 선택합니다. 


전화기에도 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를 공부하는 사람들이 모인 구글 구룹스) 
정리하고 보니 나도 디지털 네이티브 _____________________________________________________


저작자 표시 비영리
신고
Posted by 라인하트

댓글을 달아 주세요

  1. 암호화 초보 2016.09.07 23:02 신고  댓글주소  수정/삭제  댓글쓰기

    라인하트님 질문이 있습니다.

    아래와 같은 시나리오에서 궁금한점이 있습니다.


    - 완료 상태 -

    1. CUCM 클러스터 구성 후 보안토큰을 통해 암호화를 완료
    (클러스터 내 CUCM의 인증서를 보면 5년 후 만료 예정 상태이나, 이미 지난 것으로 가정함)

    2. 각 단말 모델별 SIP 프로파일을 암호화와 TLS를 사용하도록 설정

    3. 단말을 등록


    - 궁금한 부분 -

    a. 위 3번의 전화기 등록 시점(이미 CUCM의 인증서 정보는 익스파이어 상태)에서 CAPF Informaiton 항목의 날짜를 2050년 12월 31일 24시로 설정한다면, 전화기 등록/사용 및 TLS, SRTP 동작에 문제가 없나요?

    b. a가 불가능 또는 불가 하다면... 만약 콜메니저 인증서 정보가 익스파이어 전이고 전화기 등록시 CAPF Informaiton 항목의 날짜를 2050년 12월 31일 24시로 설정하고 등록되었다면, 인증서 정보 익스파이어 이후엔 어찌 동작되는지요?

    c. a와 b를 떠나 이미 익스파이어 된 인증서를 갱신하는 방법은 어찌 되는지요?
    --> 예상 답변 ) CTL Client를 통해 Non-Secure 상태로 Cluster를 원복 --> Publisher에서 tomcat.pem, ipsec.pem, CallManager.pem, CAPF.pem, TVS.pem 등 클러스터 자체 인증서들을 각각 Regenerate 수행 --> 인증서 복재를 위해 클러스터 재시작 --> CTL Client를 통해 Cluster를 다시 Secure 상태로 전환 --> TFTP 루트에 CTL이 다시 재생성 됨 --> IP-Phone 들은 기존 CTL을 갖고 있으나, 전화기 리셋을 통해 재시작 --> 바뀐 CTL 정보를 전화기가 갱신 --> 바뀐 정보로 전화기 사용 이상무?

    d. CUCM v8.6은 서비스 파라미터 CAPF를 통해 기간을 최대 20년까지 바꿀 수 있는 것으로 보이나, CUCM v8.6의 경우 Duration Of Certificate Validity가 기본 15년 임에도 CUCM 설치시 자체 인증서들이 설치 시점에서 5년으로 생성되는 이유는?

    e. CUCM v11.5의 경우 서비스 파라미터 CAPF의 Duration Of Certificate Validity (in days)가 기본 1825일(약 5년)로 되어 있으나, 그 이상으로 늘릴수 있는 방법이 없는 것인지요? <-- 기본 버전과 달리 맥스 기간을 5년으로 줄인 이유는?

    f. 내부 CA나 외부 공인 인증기관을 사용하면 전화기 인증서가까지 외부에서 인증을 받아야 하므로 무지 불편하고 노가다 작업이다. 그래서 시스코에서 제시하는 보안 토큰을 사용하는 것이 진정한 편한 방법이다가 정답인가요?

    g. 보안 토큰을 한번 구매하게 되면 쭈욱 인식될 때까지(H/W 적으로 문제가 없을 때까지) 사용 가능한가요??? 구글링을 해보면 발주 후 10년이 맥스라는 답변이 있는듯 해서요?


    라인하트님 보안 관련 글을 보고 궁금한 점을 여쭤본다는게 쓰다보니 많아졌네요. 번거롭게 해서 죄송 합니다.

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2016.09.08 10:55 신고  댓글주소  수정/삭제

      a, 여기서 날짜는 CSR을 추출 후 서명받은 인증서를 다시 넣을 때까지 넣는 시간입니다. 따라서 2050년이라고 하면 그때까지 인증서를 업로드하면 됩니다. 바보갔겠죠

      b. 인증서는 유효기간내에서만 유의미합니다.

      c. CUCM 인증서가 유효하여 그대로 사용하고, 전화기 인증서는 CAPF 한다면 재갱신만 하면 됩니다. CTL 클라이언트로 생성되는 것은 전화기의 인증서가 아닙니다. CTL파일의 재갱신이 필요할때 CTL 클라이언트를 이용합니다. 말씀하신대로 보안모드를 변경할 떄도 필요하죠

      d와 e. 은행에서 인터넷 뱅킹용은 1년마다 재생성합니다. 왜일까요? 그게더 안전하기 때문입니다. 보안을 위해 사용하는 인증서입니다. 기기 인증서는 1년은 너무 자주라 일반적으로 5년을 권고합니다.

      f. CUCM이 CA의 역할을 대신하므로 손쉽게 관리할 수가 있습니다. 외부 인증기관을 이용하는 것은 기업의 정책에 따라 선택합니다. 진정한 노가다를 공공기관이 하고 있죠. 보안을 위한 선택이라기 보다는 ....

      g. 보안 토큰은 CTL 파일 갱신 및 생성을 위해 사용합니다. CUCM 11.0 부터는 하드웨어가 아닌 커맨드로 생성할 수 있도록 바뀌었습니다. 보안 토큰 USB를 사거나 커맨드로 하거나 선택입니다.

      처음입니다. 이렇게 장문의 질문을 하시다니...







티스토리 툴바