본문 바로가기

Secure UC

[연재] Secure IP Telephony의 이해 - (1) Secure IP Telephony의 개요

글 싣는 순서

1. Secure IP Telephony의 개요 
2. 암호화 (Encryption)와 인증 (Authentication)
3. 전자서명 (Digital Signature)
4. PKI의 이해
5. Cisco Secure IP Telephony의 이해 
6. TLS & SRTP


요즘 공공기관 및 금융 기관에서 인터넷 전화 (IP Telephony)를 구축 시 암호화를 함께 구현하는 사례가 증가하고 있지만, UC 엔지니어들의 보안 용어와 아키택쳐에 대한 이해가 부족하여 장비간 상호 연동과 Secure IPT 구현에 어려움이 예상됩니다.  UC 엔지니어에게 VMware에 대한 클라우드 지식이 필요하다고 한 것이 작년인데 이제는 보안 지식도 필요합니다. 즉, UC 엔지니어는 전 영역에 대한 지식과 이해를 바탕으로 멋진 IP Telephony를 구현하고 제안하길 기대합니다.  

요즘 다시 체계적으로 공부해 보다보니 테크닉보다는 프로토콜 및 원리에 이해가 필요합니다. 넥스퍼트를 방문하는 여러분들도 장비마다의 구성 테크닉보다는 SIP 부터 체계적으로 공부하셔야 시스코외에 다른 장비도 손쉽게 다룰 수 있습니다

이 글은  UC 엔지니어가 알아야 하는 수준의 보안 지식과 시스코 Secure IP Telephony의 동작 방식에 다루는 것을 주 목적으로 하며, 실제 구성하는 방법까지 다루도록 하겠습니다. 분량은 약 10회 정도로 기획하였으며, 초반에는 암호및 인증 알고리즘에 대한 이해, 중반에는 Cisco Secure IP Telephony의 동작방식, 마지막에는 구성 방법에 대해 다루도록 하겠습니다.  약 5-6년 전에 제가 Training Partners에서 교육했던 BcN 강의 자료 의 "Security" 부분과 시스코 Secure IPT 관련 자료를 수정 보완하여 만들었습니다.  


Secure IP Telephony의 개요
인터넷 또는 IP 네트워크에서 신호 (Signaling) 매체 (Voice and Video와 같은 Media)를 암호화하지 않은 상태로 통화하는 기술을 IP Telephony라고 한다면, 암호화된 상태로 통화는 기술을 Secure IP Telephony라고 합니다.  Secure IP Telepony는 암호화를 TLS와 SRTP 프로토콜을 사용합니다.   


TLS는 Transport Layer Security의 약어로 SIP 시그널링 메세지를 암호화하기 위한 프로토콜이며, SRTP는 Secure Real-time Transport Protocol의 약어로 음성과 영상을 암호화하여 전달하는 프로토콜입니다. 두 프로토콜이 적용된 Secure IPT 네트워크에서는 패킷이 중간에 캡쳐되더라도 내용을 복화화할 수 없기 때문에 안전하게 사용할 수 있습니다.  

TLS와 SRTP는 서로 다른 프로토콜이지만 동일한 암호화 매커니즘과 인증 방식을 사용하기 때문에 암호와 인증에 대한 이해가 필요합니다.  


암호(Cryptography)의 개요
암호라는 것은 의미를 쉽게 이해할 수 없는 문자나 기호를 의미합니다. 
암호화란 읽을 수 있는 메세지를 쉽게 이해할 수없는 문자가 기호로 변환하는 것을 의미하며, 복호화란 쉽게 이해할 수 없는 문자나 기호를 읽을 수 있는 메세지로 변환하는 것입니다. 

암호는 아래 그림과 같이 4 가지 서비스를 제공해야 합니다. 이중 어느 하나라도 결여되어 있으면, 보안에 문제가 발생하게 됩니다.    

    • Data Authenticity (신뢰성) :Proof of Source
      메세지를 보낸 송신자를 증명하는 서비스

    • Data Confidentiality (기밀성) : Privacy
      허가되지 않은 사용자가 해독할 수 없도록 하여 정해진 수신자만이 해독할 수 있는 서비스

    • Data integrity (무결성) : detection of unauthorized change
      전송 중에 제 삼자에 의해 메세지가 변경되지 않음을 보장하는 서비스

    • Data nonrepudiation (부인방지) :nondeniability
      송신자는 메세지가 자신의 것이 아님을 부인할 수 없도록 하는 서비스

 

위의 네가지 서비스를 제공하기 위해서 프로토콜은 암호화와 인증을 사용합니다. Data Confidentiality (기밀성)을 제공하기 위해 암호화를 사용하며, Authenticity(신뢰성), integrity (무결성), nonrepudiation (부인방지)를 제공하기 위해 인증을 이용합니다.  


암호화(Encryption)의 개요
암호화는 평문(Cleartext)을 암호문(Cypertext)로 변환하여 데이타 기밀성을 보장하는 것입니다. 아래 그림과 같이 송신자는 암호화 알고리즘과 키값을 이용하여 암호화하여 전송하고, 수신자는 복호화 알고리즘과 키 값을 이용하여 복호화합니다. 암호화 알고리즘은 수학적 알고리즘이므로 모두에게 공개되어 있지만, 키값은 각자 틀리기 떄문에 키 값을 알지 못하면 복호화할 수 없습니다. 

암호화 알고리즘은 크게 대칭 (Symmetric)과 비대칭(Asymmetric) 암호화로 나눌 수 있습니다. 대칭 암호화 암호화키와 복호화 키가 동일한 암호화이고, 비대칭 암호화는 암호화키와 복호화키가 다른 것을 의미합니다.  자세한 사항은 다음 장에서 설명드리겠습니다. 


인증 (Authentication)의 개요
인증은 원문 Verification Data (HMAC 또는 전자서명)을 추가하여 
Authenticity(신뢰성), integrity (무결성), nonrepudiation (부인방지)를 보장합니다. HMAC은 Hash-based Message Authentication Code의 약자입니다.

Verification Data는 원문을 헤싱하여 얻어진 일정한 길이의 값으로, 원문이 별경될 경우 같은 Verification Data를 얻을 수 없습니다. 따라서, 제 삼자에 의해 원문이 변경시 쉽게 확인할 수 있습니다. 인증 알고리즘에 대해서는 다음 장에서 자세히 설명하겠습니다. 


마치며
Secure IPT 네트워크는 TLS와 SRTP가 구현된 전화 시스템을 의미합니다. TLS 및 SRTP를 이해하기 위해서는 암호화 및 인증에 대한 기본적인 이해가 필요합니다. 이 연재의 처음이라 쉬운 내용으로 시작하였습니다. 다음 장부터는 좀 더 깊게 다루도록 하겠습니다. 


----------------- --------------------------------------------------------

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