KR101613747B1 - 메시지 인증 방법 및 그를 위한 ip-pbx 시스템 - Google Patents

메시지 인증 방법 및 그를 위한 ip-pbx 시스템 Download PDF

Info

Publication number
KR101613747B1
KR101613747B1 KR1020110139023A KR20110139023A KR101613747B1 KR 101613747 B1 KR101613747 B1 KR 101613747B1 KR 1020110139023 A KR1020110139023 A KR 1020110139023A KR 20110139023 A KR20110139023 A KR 20110139023A KR 101613747 B1 KR101613747 B1 KR 101613747B1
Authority
KR
South Korea
Prior art keywords
stun
message
server
protocol
address
Prior art date
Application number
KR1020110139023A
Other languages
English (en)
Other versions
KR20130085556A (ko
Inventor
이석원
Original Assignee
에릭슨엘지엔터프라이즈 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에릭슨엘지엔터프라이즈 주식회사 filed Critical 에릭슨엘지엔터프라이즈 주식회사
Priority to KR1020110139023A priority Critical patent/KR101613747B1/ko
Publication of KR20130085556A publication Critical patent/KR20130085556A/ko
Application granted granted Critical
Publication of KR101613747B1 publication Critical patent/KR101613747B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 NAT(network address translation) 환경에서 VoIP(voice over internet protocol) 장치들간 송수신되는 패킷들의 무결성 검사, 특히 발신지 IP 주소를 사용하여 패킷 가로채기, 재전송 공격을 감지하기 위한 메시지 인증 방법 및 그를 위한 IP-PBX 시스템에 관한 것이다. 본 발명의 IP-PBX 시스템은, STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하여 IP 주소 기반 메시지의 인증을 수행한다.

Description

메시지 인증 방법 및 그를 위한 IP-PBX 시스템{METHOD FOR AUTHENTICATING OF MESSAGE AND IP-PBX SYSTEM FOR THE SAME}
본 발명은 NAT(network address translation) 환경에서 VoIP(voice over internet protocol) 장치들간 송수신되는 패킷들의 무결성 검사, 특히 발신지 IP 주소를 사용하여 패킷 가로채기, 재전송 공격을 감지하기 위한 메시지 인증 방법 및 그를 위한 IP-PBX 시스템에 관한 것이다.
네트워크 주소 변환(Network Addressable Translation, 이하 NAT라함)은 OSI(open system interconnection) 모델의 3계층인 네트워크 계층에서 사설 IP 주소를 공인 IP 주소로 변환하는데 사용하는 통신망의 주소 변환기로서, 인터넷의 공인 IP 주소는 한정되어 있기 때문에 가급적 이를 공유할 수 있도록 하는 것이 필요한데 NAT를 이용하면 사설 IP 주소를 사용하면서 이를 공인 IP 주소와 상호 변환할 수 있도록 하여 공인 IP 주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약할 수 있는 것이다.
NAT 환경 하에서의 패킷 통신은 NAT 라우터에서의 주소 변환으로 인하여 특정한 구성에 있어서 네트워크 장치 간의 양방향 패킷 교환을 불가능하게 한다. 이를 부분적으로나마 해결하기 위한 방법으로서 STUN (Simple traversal of UDP Through NATs) 프로토콜이 제안되었다.
도 1 내지 도 4는 IP-PBX 시스템의 구성을 보이는 예시도이다.
STUN 시스템은 공인 IP 주소를 갖는 STUN 서버(10)와 NAT 라우터(30) 뒤에 설치되어 사설 IP 주소를 갖는 STUN 클라이언트들(40)로 구성되어 있다. STUN 클라이언트들(40)이 외부로 전송하는 패킷은 NAT 라우터(30)를 거치면서 NAT 라우터(30)의 공인 IP 주소와 함께 동적으로 할당되는 Transport Layer (TCP 또는 UDP) 포트 번호에 매핑(Mapping) 된다. 일 실시예로서, STUN Client-1(40a)으로부터 전송된 패킷이 발신지 IP 주소 192.168.100.1과 발신지 UDP 포트 번호 1000을 가지고 있었다면, 이 패킷은 NAT Router-1(30a)을 지나면서 발신지 IP 주소가 110.110.110.1로 변경되고 발신지 UDP 포트 번호는 동적으로 할당되어 (예를 들면, 2000) 발신지 UDP 포트 번호가 동적으로 할당된 값으로 변경된다.
이러한 주소 변환이 STUN 클라이언트(40)에서 전송되는 첫 패킷이 NAT 라우터(30)를 통과할 때 이루어져 매핑 테이블(Mapping Table) 항목이 생성되기 때문에, STUN Client-1(40a)과 STUN Client-2(40b)는 사전에 어떠한 IP 주소 및 포트 번호로 매핑이 이루어질 것인지 알 수 없고, 이러한 이유로 상대방에게 직접 패킷을 전송하는 것이 불가능해진다.
NAT 라우터(30) 뒤에 설치되어 있는 STUN 클라이언트(40)가 자신의 NAT 매핑 정보를 얻기 위해서 바인딩 요청 메시지(Binding Request message)를 STUN 서버(10)에 보내고, STUN 서버(10)는 MAPPED-ADDRESS 필드에 NAT 라우터(30)에 의해 매핑 및 변경된 IP 주소/포트 번호를 입력하여 바인딩 응답(Binding Response) 메시지를 전송하여 STUN 클라이언트(40)에 주소 매핑(Address Mapping) 정보를 제공한다. 따라서, 이 과정을 거치게 되면 STUN 클라이언트(40)는 자신이 외부로 전송한 패킷이 어떠한 IP 주소 및 포트 번호에 매핑 되는지 알 수 있게 된다.
NAT는 크게 Cone NAT와 Symmetric NAT 분류된다. Cone NAT에서는 STUN 클라이언트의 발신지 IP와 포트만 동일하다면 상대방의 IP 주소와 포트에 관계없이 패킷 교환을 수행할 수 있지만, Symmetric NAT에서는 특정 발신지 IP 주소 및 포트와 목적지 IP 주소 포트에 대해서 주소 매핑이 이루어지기 때문에 서로 다른 목적지 IP 주소 및 포트에 대해서 서로 다른 매핑이 이루어진다.
일 실시예로서, Cone NAT의 경우 상기한 바와 같이 STUN 클라이언트-1(40a)의 192.168.100.1:1000에서 STUN 서버(10)로 전송될 때 생성된 주소 매핑인 110.110.100.1:2000이 STUN 클라이언트-2(40b)로부터의 패킷에도 적용되어 STUN 클라이언트-2(40b)로부터 110.110.100.1:2000으로 전송된 패킷이 STUN 클라이언트-1(40a)에 전달될 수 있다.
Symmetric NAT의 경우 기존의 주소 매핑인 110.110.110.1:2000은 STUN 클라이언트-1(40a)의 192.168.100.1:1000과 STUN 서버(10) 간의 패킷에 대한 것이기 때문에, STUN 클라이언트-2(40b)로부터 110.110.110.1.:2000으로 전송되는 패킷은 NAT 라우터-1(30a) 상에 주소 매핑 테이블 항목이 존재하지 않아 NAT 라우터-1(30a)에서 제거된다(Discard).
실제 네트워크 환경에서는 Cone NAT 보다 Symmetric NAT가 일반적으로 사용되고 있기 때문에, STUN 프로토콜의 적용 범위는 다소 제한적일 수 밖에 없고, VoIP 장치들의 설치 및 운용에 있어서 제한 요소로 작용하는 문제점이 있다.
한국 공개 특허 제10-2004-0058641호 (2004.07.05. 공개)
본 발명은 패킷 보안과 관련된 것으로, NAT(network address translation) 환경에서 VoIP(voice over internet protocol) 장치들간 송수신되는 패킷들의 무결성 검사, 특히 발신지 IP 주소를 사용하여 패킷 가로채기, 재전송 공격을 감지하기 위한 메시지 인증 방법 및 그를 위한 IP-PBX 시스템을 제공한다.
본 발명의 IP-PBX 시스템은, STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하여 IP 주소 기반 메시지의 인증을 수행한다.
또한 본 발명의 메시지 인증 방법은, a) STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하는 단계; 및 b) 상기 통합된 STUN 서버 및 콜 서버를 이용하여 IP 주소 기반 메시지의 인증을 수행하는 단계를 포함한다.
본 발명에 따르면, NAT(network address translation) 환경 하에서 VoIP 장치들간에 송수신되는 패킷들의 무결성 검사, 특히 발신지 IP 주소를 사용하여 패킷 가로채기/재전송 공격을 감지하기에 적당한 메시지 인증(Message Authentication) 을 수행할 수 있다.
도 1 내지 도 4는 IP-PBX 시스템의 구성을 보이는 예시도.
도 5 및 도 6은 본 발명의 실시예에 따른 메시지 인증 방법을 보이는 예시도.
도 7 내지 도 10은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도.
도 11은 본 발명의 실시예에 따른 패킷을 구분하여 호 처리 모듈과 STUN 처리 모듈로 분배하는 방식을 보이는 예시도.
도 12는 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도.
도 13 내지 도 16은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도.
도 17은 본 발명의 실시예에 따른 STUN 서버와 클라이언트가 송수신하는 메시지를 보이는 예시도.
도 18은 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도.
도 19는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도.
도 20은 본 발명의 실시예에 따른 STUN 서버와 클라이언트가 송수신하는 메시지를 보이는 예시도.
도 21은 본 발명의 실시예에 따른 클라이언트에서의 메시지 흐름을 보이는 예시도.
도 22는 본 발명의 실시예에 따른 서버에서의 메시지 흐름을 보이는 예시도.
이하 첨부된 도면을 참조하여 본 발명의 실시예들에 대해 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
메시지 인증(Message Authentication)은 메시지의 무결성 (Integrity)을 검사하기 위한 방법으로 메시지 자체를 암호화하기 보다는 메시지를 대상으로 해쉬 함수(Hash Function)를 이용하여 해당 메시지 특유의 코드(Code) 값을 계산한다. 이러한 코드값 계산을 위해서는 비밀키(Secret Key)를 필요로 하고, 동일한 비밀키를 공유하는 네트워크 장치들이 전송된 메시지에 대하여 동일한 계산을 통해 해당 메시지가 발신자에 의해서 전송된 그대로 수신자에게 도달하였는지 검사한다. 이러한 MAC(Message Authentication Code)의 계산에는 다양한 암호 작성 해쉬 함수(Cryptographic Hash Function)들이 사용될 수 있고, 비밀키의 교환에도 다양한 방법이 사용될 수 있다. 본 실시예는 특정 해쉬 함수나 비밀키 교환 방식에 관계 없이 적용 가능하다.
도 5는 본 발명의 실시예에 따른 메시지 인증 방법을 보이는 예시도이다.
도 5를 참조하면, 메시지가 중간에 변경되었을 경우 발신자에 의해서 계산 및 삽입된 MAC 값과 수신자에 의해서 계산된 MAC 값이 달라지기 때문에 수신자는 이를 감지할 수 있다. 이러한 MAC 값은 발신자와 수신자 사이에서만 공유되는 비밀키 값으로 계산되기 때문에, 중간에 다른 네트워크 장치가 메시지를 가로채어 메시지 변경 후 올바른 MAC 값을 계산하여 재삽입할 수 없다. 이러한 메시지 인증은 메시지를 암호화하는 방법보다 네트워크 장치의 Load를 감소시키기 때문에 무결성 검사로 충분한 경우 단독으로 사용되고, 암호화 자체는 무결성을 보장해 주지 못하기 때문에 암호화와 병행하여 사용하기도 한다.
도 6은 본 발명의 실시예에 따른 메시지 인증 방법을 보이는 예시도이다.
도 6을 참조하면, 발신자의 발신지 IP 주소를 사용하여 MAC을 계산하면 제3자가 패킷을 중간에 가로채어 변경한 후 다시 전송하고, 이후 자신의 IP 주소로 이어지는 패킷을 수신하는 형태의 공격을 감지할 수 있게 된다. 이를 위해서는 메시지 내부에 항상 발신지 IP 주소를 포함시키는 방법도 있지만 이러한 경우 불필요하게 발신지 IP 주소를 추가로 전송해야 하기 때문에, 비밀키와 발신지 IP 주소를 사용하여 새로운 키 값을 생성하는 방법을 사용할 수 있다. 수신측에서는 수신한 패킷의 IP 헤더로부터 발신지 IP 주소를 추출하여, 발신자와 동일하게 새로운 키값을 생성한 후 MAC을 계산 및 비교한다.
- NAT/STUN 환경에서의 발신지 주소 기반 메시지 인증
도 7은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
NAT 환경에서는 발신자 장치에서 전송한 패킷의 발신지 IP 주소가 NAT 라우터에 의해서 변경되기 때문에, 만약 발신자 장치가 자신의 IP 주소 (일반적으로 사설 IP 주소)를 사용하여 MAC을 계산하는 경우, 수신측에서는 NAT 라우터(30)에 의해서 변경된 IP 헤더 내의 발신지 IP 주소 (일반적으로 공인 IP 주소)를 사용하여 MAC을 계산하기 때문에 메시지 인증이 실패하게 된다. 따라서 NAT 환경에서는 STUN을 사용하여 STUN 서버(10)로부터 바인딩 응답(Binding Response)를 통해 전달되는 매핑된 주소(MAPPED-ADDRESS)를 사용하여 MAC을 계산한 후 목적지인 피어(Peer) PC(60)로 패킷을 전달하게 되고, 매핑된 주소가 NAT 라우터(30)에 의해서 변경된 발신지 IP 주소와 동일하기 때문에 수신측인 피어 PC(60) 에서의 메시지 인증은 성공하게 된다.
도 8은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
도 8에서 보이는 바와 같이 NAT 라우터(30a, 30b)가 직렬로 연결되어 있는 경우에는 메시지 인증이 정상적으로 이루어지지 않을 수 있다. STUN 클라이언트(40)가 STUN 서버(10)로부터 바인딩 응답를 받을 때 매핑된 주소에는 STUN 클라이언트(40)와 STUN 서버(10) 사이에 있는 최종 NAT 라우터인 NAT 라우터-1(30a)에서 변경한 발신지 IP 주소가 포함된다. 따라서 STUN 클라이언트(40)에서의 MAC 계산 시에는 매핑된 주소를 사용하게 되지만, 최종 NAT 라우터인 NAT 라우터-1(30a)의 안쪽에 위치한 피어 PC-1(60a)의 경우에는 NAT 라우터-2(30b)에서 변경한 발신지 IP 주소로 MAC을 계산하기 때문에 메시지 인증은 실패하게 된다.
도 9는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
도 9에서 보이는 바와 같이 IP-PBX 시스템(200)은 호 처리 (Call Processing)를 위한 콜 서버(Call Server)(210), 비 NAT 라우터(220, 240), NAT 라우터(230), STUN 클라이언트(250), IP 전화기(260) 및 국선 또는 내선 게이트웨이 등을 포함하는 다양한 종류의 게이트웨이(270, 280)를 포함한다. IP-PBX 시스템(200)은 콜 서버(210)를 중심으로 하는 클라이언트/서버 구조를 갖는다. 호 처리를 위한 호 시그널링(Call Signaling)가 콜 서버(210)와 클라이언트인 IP 전화기(260) 또는 게이트웨이(270, 280) 간에만 이루어진다.
NAT 환경 하에서 콜 서버(210)와 IP 전화기(260) 또는 게이트웨이(270, 280) 간의 양방향 통신을 위해서는 기존 기술의 제약에서 벗어나 콜 서버(210)로의 STUN 서버 통합과 호 처리 메시지 채널과 STUN 메시지 채널의 통합이 필요하다.
NAT의 종류 중 Cone NAT 환경에서의 제약은 기존의 STUN 프로토콜을 사용하여 해결 가능하지만, 일반적으로 많이 사용되는 Symmetric NAT의 경우에는 STUN 프로토콜을 사용할 수 없으며, 이를 해결하기 위해서는 STUN 서버의 IP 주소와 포트 번호가 실제 목적지 네트워크 장치의 IP 주소 및 포트 번호와 일치해야 한다.
도 10은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
도 10에서 보이는 바와 같이 동일한 통신 채널을 호 처리 메시지와 STUN 메시지가 공유할 수 있도록 하기 위해서는 STUN 서버를 콜 서버에 통합시켜야 함과 동시에 STUN 프로토콜 자체를 VoIP 호 시그널링 프로토콜과 같은 통신 채널 (Socket)을 사용하도록 통합해야 한다. 이러한 통합을 위한 방법에는, 호 처리를 위한 모듈과 STUN 처리를 위한 모듈을 별도로 운용하면서 이러한 두 모듈의 앞에서 패킷을 구분하여 분배하는 방식과, 호 처리를 위한 통신 프로토콜에 STUN 프로토콜 메시지 자체를 통합하여 구현하는 방식이 있을 수 있다.
패킷을 구분하여 호 처리 모듈과 STUN 처리 모듈로 분배하는 방식은 SIP (Session Initiation Protocol) 등의 표준 VoIP 시그널링 프로토콜에 적당한 방식으로, STUN 프로토콜과 VoIP 시그널링 프로토콜의 패킷 형태의 차이점 등을 이용하여 패킷을 구분 및 분배한다. 이러한 방법을 사용하면 메시지의 구분과 분배에 시스템의 부하(Load)가 걸리기 때문에 비효율적이나, 기존의 표준 VoIP 프로토콜을 수정하지 않고 적용가능하며, 소스 코드(Source Code)가 제공되지 않아 VoIP 프로토콜 내부를 수정할 수 없는 경우에는 구현을 위한 유일한 방법이 될 수 있다. 도 11은 패킷을 구분하여 호 처리 모듈과 STUN 처리 모듈로 분배하는 방식을 나타낸다.
VoIP 장비 제조사별 비표준 (Non-Standard / Proprietary) 프로토콜을 사용하는 경우에는 STUN 프로토콜 전체 또는 필요한 부분만을 통합하여 이용하는 방법이 효율적이다.
도 12는 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도이다.
도 12에서 보이는 바와 같이 가상의 프로토콜 패킷 헤더는 프로토콜별로 호 처리 메시지의 의미와 데이터를 주고받기 위한 형식이 있는데, 이들 중 메시지의 타입과 종류를 나타내는 필드에 추가적으로 STUN 메시지를 위한 항목들을 정의하여 구현할 수 있다. 이러한 방법을 사용하면 기존의 VoIP 시그널링 프로토콜과 밀결합되어 오버로드(Overload)가 발생되지 않아 호 처리 메시지와 STUN 메시지를 통합 운용할 수 있다.
메시지 인증에 있어서 비밀키와 발신지 IP 주소를 결합하여 새로운 해쉬 함수 키(Hash Function Key) 값을 생성하는 경우, 기존의 기술을 사용하면 인증 실패(Authentication Failure)가 발생하는 경우가 생기게 된다. 이러한 경우 중 일부는 콜 서버와 STUN 서버의 통합으로 해결된다.
도 13은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
도 13에서 보이는 바와 같이 콜 서버와 STUN 서버가 통합되어 있기 때문에 NAT 환경의 어느 위치에서 바인딩 요청(Binding Request)을 보내더라도 적절한 매핑된 주소를 포함한 바인딩 응답이 STUN 클라이언트에게 전달된다. IP-전화기-1(340a)과 IP-전화기-2(340b)의 경우에는 모두 NAT-라우터-2(330b)에서 매핑되어 변경된 IP 주소를 매핑된 주소로 전달받게 되고, IP-전화기-3(340c)의 경우에는 NAT-라우터-3(330c)에서 매핑되어 변경된 IP 주소를 전달받게 된다. 하지만, 여기서 추가적인 요소를 도입하고 구성을 변경하면 콜 서버와 STUN 서버의 통합으로도 해결하지 못하는 경우가 발생하게 된다.
도 14는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
도 14에서 보이는 바와 같이 VoIP 기반 IP-PBX 시스템의 경우 외부와의 패킷 통신을 위하여 퍼블릭 도메인(Public Domain) 상에 위치하고 공인 IP를 부여하기도 하지만, 외부로부터의 공격에 대비하기 위하여 NAT 기반의 방화벽(Firewall)(420a)을 콜 서버(410) 앞에 설치하는 경우가 있다. 이러한 경우에는 동적인 NAT 매핑 문제로 인하여 외부와의 패킷 통신을 수행할 수 없게 되는데, 패킷 통신을 가능하게 하기 위하여 NAT 라우터(방화벽)(420a)에 포트 전송(Port Forwarding) 설정을 한다. NAT 라우터 (방화벽) IP 주소인 110.100.100.50의 포트 1000번으로 들어온 패킷이 콜 서버(410) IP 주소인 192.168.100.50의 포트 1000번으로 목적지 주소만 변경되어 전달됨을 나타낸다. 따라서 이러한 경우에는 원격 네트워크(Remote Network)에 있는 장치들은 콜 서버(410)의 주소를 110.100.100.50:1000으로 알고 패킷을 전송하게 되고, 콜 서버 네트워크(Call Server Network)에 있는 IP-전화기-2(430b)의 경우에는 원래의 콜 서버(410) IP 주소인 192.168.100.50:1000으로 패킷을 전송하게 된다.
도 15는 본 발명의 실시예에 따른 IP-PBX 시스템에서 IP-전화기-1(530a)에서 NAT 라우터(방화벽)(520a)인 110.100.100.50:1000으로 전송한 패킷이 포트 전송되어 콜 서버(510)인 192.168.100.50:1000으로 IP 주소가 변환되어 전달되는 과정을 나타낸다.
도 16은 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
도 16에서 보이는 바와 같이 역방향인 콜 서버에서 IP-전화기로 전송하는 패킷의 MAC 계산에서, NAT 라우터(방화벽)(620a) 외부에 위치한 IP-전화기-1(630a)에 대해서는 MAC 계산을 위한 발신지 IP 주소를 NAT 라우터(방화벽)(620a)에서 변환된 IP 주소를 적용해야 하고, NAT 라우터(방화벽)(620a) 내부에 위치한 IP-전화기-2(630b)에 대해서는 원래의 콜 서버(610) IP 주소를 MAC 계산시 적용해야 한다. 기존의 STUN 프로토콜은 매핑된 주소를 통하여 STUN 클라이언트의 매핑된 IP 주소만을 전달하기 때문에 STUN 서버(610) 측에서의 NAT 매핑 정보는 교환되지 않고, 따라서 STUN 서버(610) 측에서는 자신에 대한 NAT 환경에 대한 판단을 할 수 없다. 이것은 STUN 프로토콜 자체의 제약사항으로, 이 문제를 해결하기 위해서는 추가적인 필드를 정의하여 STUN 클라이언트에서 STUN 서버(610)로 전달해야 한다. 즉, STUN 서버(610) 측의 NAT 매핑된 주소에 대한 정보를 STUN 클라이언트 측에서 STUN 서버(610)로 전달해 줄 수 있는 방법이 필요하다.
NAT 매핑된 주소에 대한 정보 전달은 추가적인 STUN 메시지를 정의하는 방법과 STUN 메시지 교환 이후 VoIP 호 시그널링의 첫 메시지 (대부분의 경우 장치 등록 메시지)를 통하여 해당 정보를 전달하는 방법이 존재한다.
도 17은 본 발명의 실시예에 따른 STUN 서버와 클라이언트가 송수신하는 메시지를 보이는 예시도이다.
도 17에서 보이는 바와 같이 NAT 매핑된 주소에 대한 정보 전달을 위해 추가적인 STUN 메시지 정의는 VoIP 시그널링 프로토콜을 수정하기가 용이치 않은 SIP와 같은 표준 VoIP 프로토콜에 적절하며, 바인딩 리포트(Binding Report)라는 신규 메시지를 정의하여 STUN 클라이언트(SC)가 STUN 서버(SS)로 전송하도록 한다. STUN 클라이언트(SC)는 바인딩 응답으로부터 전달받은 자신의 매핑된 주소와 함께 STUN 서버(SS)로부터 수신한 바인딩 응답 패킷의 IP 헤더로부터 추출한 소스 IP 정보를 SERVER-MAPPED-ADDRESS 라는 신규 필드에 포함시켜 STUN 서버(SS) 측에 전달한다. SERVER-MAPPED-ADDRESS에는 결과적으로 STUN 서버(SS)로부터 전송된 바인딩 응답 메시지가 NAT 라우터(방화벽)에서 주소 변환된 결과이며, 따라서 STUN 서버(SS)는 특정한 매핑된 주소에 대해서 자신의 NAT 변환된 IP 주소를 알 수 있게 된다.
도 18은 본 발명의 실시예에 따른 가상의 프로토콜 패킷 헤더의 구성을 보이는 예시도이다.
도 18에서 보이는 바와 같이 등록 VoIP 시그널링(Proprietary VoIP Signaling) 프로토콜의 경우에는, STUN 메시지 타입에 바인딩 리포트(Binding Report)라는 새로운 명령 또는 이벤트(Command/Event)를 정의하고, 바인딩 리포트 메시지 내에 매핑된 주소와 SERVER-MAPPED-ADDRESS 필드를 포함시켜 전송한다.
도 19는 본 발명의 실시예에 따른 IP-PBX 시스템의 구성을 보이는 예시도이다.
도 19에서 보이는 바와 같이 콜 서버(STUN 서버)(710)에서는 바인딩 리포트 메시지를 수신하면 특정 매핑된 주소에 대한 SERVER-MAPPED-ADDRESS 정보를 별도로 저장 및 관리하고, IP-전화기 및 게이트웨이 (STUN 클라이언트)로 패킷을 전송할 때 각각에 해당하는 SERVER-MAPPED-ADDRESS를 사용하여 MAC을 계산한다.
지금까지 기술한 바와 같이, Call 서버와 STUN 서버의 통합 및 패킷 통신 채널 공유, 그리고 바인딩 리포트 및 SERVER-MAPPED-ADDRESS의 추가적인 정의를 통하여 NAT 환경에서 VoIP 장치들의 발신지 IP 주소 기반 메시지 인증을 위해 필요한 요소들이 설명되었다.
STUN 메시지와 호 처리 메시지를 사용한 프로토콜의 운용 관련 사항은 다음과 같다. 종래의 STUN 메시지는 STUN 클라이언트 측에 NAT 매핑 정보를 전달하는데 목적이 있었으나, 본 발명에서 STUN 메시지는 클라이언트와 서버 각각에 NAT 매핑 정보를 전달함과 동시에, 이후 이루어지게 되는 호 처리 메시지 교환을 위한 패킷 통신 경로를 성립(Establish) 하는데 목적이 있다.
IP-전화기, 게이트웨이 등 클라이언트 장치에서 바인딩 요청(Binding Request)을 콜 서버(STUN 서버)로 전송하면서 클라이언트 측의 NAT 라우터에서 주소 매핑 테이블(Address Mapping Table) 항목이 생성되고, 이후의 STUN 메시지 교환은 생성된 동일한 패킷 통신 채널을 통하여 이루어지게 된다.
본 실시예에서는 STUN 메시지 교환을 통하여 생성된 NAT 통신 채널을 그대로 호 처리 메시지에도 이용하도록 하고 있으며 이와 관련된 메시지의 흐름은 다음과 같다.
도 20은 본 발명의 실시예에 따른 STUN 서버(SS)와 클라이언트(SC)가 송수신하는 메시지를 보이는 예시도이다.
도 20에서 보이는 바와 같이 IP-전화기/게이트웨이(SC)에서 콜 서버(SS)로 바인딩 요청 메시지를 전송하면(S110), 이 패킷이 클라이언트 측 NAT 라우터를 거치면서 발신시 IP 주소가 변경되고, 클라이언트 측 NAT 라우터에 주소 매핑 테이블이 생성되어 IP-전화기/게이트웨이(SC)와 콜 서버(SS) 간의 NAT 패킷 통신 채널이 생성된다. 콜 서버(SS)의 STUN 처리 모듈은 이렇게 변경된 IP 주소를 MAPPED-ADDRESS 필드에 넣어 IP-전화기/게이트웨이(SC)로 바인딩 응답 메시지를 전송한다(S120). IP-전화기/게이트웨이(SC)는 바인딩 응답 메시지 패킷의 IP 헤더에서 발신지 IP 주소를 추출하여 이를 SERVER-MAPPED-ADDRESS 필드에 넣어 바인딩 리포트 메시지를 콜 서버(SS)에 전송한다(S130).
IP-전화기/게이트웨이(SC)와 콜 서버(SS) 간에 NAT 패킷 통신 채널이 성립됨과 동시에 양쪽이 모두 자신에 대한 NAT 주소 매핑 정보를 수신 및 저장하게 된다. 일반적으로 NAT 라우터들은 생성된 NAT 매핑된 채널로 마지막 패킷이 통과한 후 제품마다 다소 차이는 있지만 약 3분~5분 후에는 해당 매핑 테이블 항목을 삭제한다. 즉, 3분~5분 동안 해당 채널로의 트래픽(Traffic)이 없으면 NAT 매칭 채널을 해제시키기 때문에, 주기적으로 패킷을 전송하여 NAT 라우터 내부의 NAT 매핑 테이블을 계속 유지시켜줄 필요가 있다.
따라서, STUN 메시지의 교환이 끝나고 호 처리 메시지의 교환이 시작되기까지의 시간은 이러한 제한 시간 이내에 이루어져야 하고, 이후에도 계속 장치 폴링(Device Polling) 메시지 등을 이용하여 NAT 매핑을 유지시켜 주어야 한다.
STUN 메시지 교환 이후에 대부분의 경우 즉시 호 처리 메시지의 교환이 이루어지겠지만, 호 처리 메시지의 교환이 여의치 않을 경우에라도 본 발명에서는 1분 이내에 호 처리 메시지 교환을 시작하도록 권고한다. 만약 이 시간 내에 호 처리 메시지를 전송하지 못했을 경우에는 STUN 메시지 교환 과정부터 다시 시작한다.
VoIP 기반 IP-PBX 시스템의 경우, 호가 발생하거나 LCD/LED 등의 제어 정보 업데이트(Update)가 필요한 경우에만 메시지 교환이 이루어지기 때문에, NAT 매핑이 해제되는 5분 이상 패킷 교환이 없을 수 있다. 이러한 경우를 대비하여 장치 폴링 메시지 등을 1분 이내의 주기로 전송하여 NAT 매핑을 유지시키도록 하고, 해당 IP-PBX 시스템에 이미 장치 폴링 메시지 계획(Scheme)이 있는 경우에는 그 간격이 1분 이내가 될 수 있도록 설정한다.
IP-전화기/게이트웨이 등 클라이언트 장치와 콜 서버 등 서버 장치 각각에 대한 전체적인 흐름도는 도 21 및 도 22에서 보이는 바와 같다.
각각의 흐름도에는 STUN 메시지 교환과 호 처리 메시지 교환으로 이어지는 과정의 흐름이 나타나 있다. 단, 장치 등록 이후의 과정은 각 제품별로 다를 수 있고, 본 발명에서 기술하는 범위를 벗어나기 때문에 간략히 표시하였다.
도 21은 본 발명의 실시예에 따른 클라이언트에서의 메시지 흐름을 보이는 예시도이다.
도 21에서 보이는 바와 같이 IP-전화기/게이트웨이 등 클라이언트 장치는 초기화 이후 STUN 메시지 교환을 시작한다. 우선 콜 서버로 바인딩 요청 메시지를 전송하고 바인딩 응답 메시지가 수신되기를 기다린다. 1분 내에 오지 않으면 패킷이 유실되었거나 콜 서버에 일시적인 문제가 있는 것으로 판단하고 바인딩 요청 메시지를 재전송하고, 바인딩 응답 메시지가 수신되면 메시지 내부의 매핑된 주소를 찾아 저장하여 차후 호 처리 메시지의 MAC 계산에 사용한다. 또한 바인딩 응답 패킷의 발신지 IP 주소를 추출하여 SERVER-MAPPED-ADDRESS 필드에 넣어 자신의 매핑된 주소와 함께 콜 서버로 전송한다.
이후 전송하는 장치 등록 요청(Device Registration Request) 호 처리 메시지에 대해서는, 바인딩 응답에서 수신 및 저장한 매핑된 주소와 비밀키를 결합하여 새로운 키값을 생성한 후 MAC을 계산한 후 콜 서버에 전송한다. 콜 서버에서 장치 등록 요청 메시지가 수신되면 MAC을 검사하고, 생성된 키값이 잘못되었으면 바인딩 요청 메시지 전송 단계부터 다시 시작한다. 생성된 키값으로 메시지 인증이 성공하면 이후 호 처리 과정을 시작하고, 주기적인 장치 폴링 메시지에 장치 폴링 확인(Device Polling Acknowledgement) 메시지로 응신 및 모든 수신된 메시지에 대해서 MAC을 사용한 메시지 인증을 수행한다.
도 22는 본 발명의 실시예에 따른 서버에서의 메시지 흐름을 보이는 예시도이다.
도 22에서 보이는 바와 같이 콜 서버는 바인딩 요청 메시지가 수신되면 해당 패킷의 IP 헤더에서 발신지 IP 주소를 추출하여 MAPPED-ADDRESS 필드를 구성하고 이를 바인딩 응답 메시지를 통하여 클라이언트 측에 전송한다. 1분간 바인딩 리포트 메시지가 수신되기를 기다리고, 바인딩 리포트 메시지가 수신되면 매핑된 주소와 SERVER-MAPPED-ADDRESS 필드를 검사하여 해당 주소 매핑 정보를 저장 및 관리한다.
이후 장치 등록 요청 메시지가 수신되면 MAC을 검사하여 메시지 인증을 수행하고, 인증에 실패하면 모든 과정을 무효화하고 바인딩 요청 메시지 수신을 기다리는 단계로 돌아간다. 메시지가 정상적으로 인증된 경우에는 장치 등록 응답(Device Registration Response) 메시지를 전송하여 등록을 허용하고, 이후 호 처리 과정을 수행하며 주기적인 장치 폴링 및 모든 호 처리 메시지에 대해서 MAC을 사용한 메시지 인증을 수행한다.
본 발명은 VoIP 기반 IP-PBX 시스템을 대상으로 고안되었지만, NAT 환경에서 발신지 주소 기반 메시지 인증을 필요로 하는 여타 클라이언트/서버 시스템에도 변형 및 적용 가능하다.
상기 방법들은 특정 실시예들을 통하여 설명되었지만, 상기 방법들은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 당업자가 이해할 수 있는 본 발명의 정신 및 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
10, 210, 310, 410, 510, 610, 710: STUN 서버
20, 50, 220, 240, 320: 비 NAT 라우터
30, 230, 330, 420, 520, 620, 720: NAT 라우터
40,250: STUN 클라이언트 60: 피어 PC
260,340,430,530,630,730: IP 전화기 270,280: 게이트웨이
SC: IP 전화기/게이트웨이 SS: 콜 서버

Claims (20)

  1. IP-PBX 시스템으로서,
    STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하여 IP 주소 기반 메시지의 인증을 수행하고,
    상기 STUN 서버와 상기 콜 서버의 통합은,
    상기 STUN 서버와 상기 콜 서버를 통합하기 위하여 상기 호 처리를 위한 통신 프로토콜에 상기 STUN 프로토콜 메시지를 통합하여 수행하는, IP-PBX 시스템.
  2. 제1항에 있어서,
    상기 STUN 서버와 상기 콜 서버의 통합은,
    호 처리를 위한 모듈과 STUN 처리를 위한 모듈을 별도로 운용하고 상기 호 처리를 위한 모듈과 상기 STUN 처리를 위한 모듈의 앞에서 패킷을 구분 및 분배하여 수행하는, IP-PBX 시스템.
  3. 제2항에 있어서,
    상기 패킷의 구분 및 분배는,
    상기 STUN 프로토콜과 상기 호 처리를 위한 통신 프로토콜의 패킷 형태의 차이점을 이용하여 수행하는, IP-PBX 시스템.
  4. 제1항에 있어서,
    상기 호 처리를 위한 통신 프로토콜로서 VoIP 장비 제조사별 비표준 (Non-Standard / Proprietary) 프로토콜을 사용하는 경우 상기 STUN 프로토콜 전체 또는 일부만을 통합하는, IP-PBX 시스템.
  5. 삭제
  6. 제1항에 있어서,
    상기 호 처리를 위한 통신 프로토콜에 상기 STUN 프로토콜 메시지를 통합하는 방법은,
    상기 호 처리를 위한 통신 프로토콜 패킷 헤더(packet header)의 메시지 타입과 종류를 나타내는 필드에 상기 STUN 프로토콜 메시지를 위한 필드를 추가 정의하여 수행하는, IP-PBX 시스템.
  7. 제1항에 있어서,
    NAT(network address translation) 기반의 방화벽을 콜 서버 앞에 설치하는 경우, STUN 서버 측의 NAT 매핑된 주소에 대한 정보를 STUN 클라이언트에서 상기 STUN 서버로 전달하는, IP-PBX 시스템.
  8. 제7항에 있어서,
    상기 NAT 매핑된 주소에 대한 정보는,
    STUN 메시지를 추가로 정의하여 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는, IP-PBX 시스템.
  9. 제8항에 있어서,
    상기 추가로 정의된 STUN 메시지는,
    상기 STUN 클라이언트가 전달받은 자신의 매핑된 주소 및 상기 STUN 서버로부터 수신한 패킷의 IP 헤더로부터 추출한 소스 IP 정보를 신규 필드에 포함하는, IP-PBX 시스템.
  10. 제7항에 있어서,
    상기 NAT 매핑된 주소에 대한 정보는,
    STUN 메시지 교환 이후 호 처리를 위한 시그널링의 처음 메시지를 이용하여 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는, IP-PBX 시스템.
  11. 메시지 인증 방법으로서,
    a) STUN(Simple traversal of UDP Through NATs) 프로토콜 및 호 처리를 위한 통신 프로토콜이 동일한 통신 채널을 사용하도록 STUN 서버와 콜 서버를 통합하는 단계; 및
    b) 상기 통합된 STUN 서버 및 콜 서버를 이용하여 IP 주소 기반 메시지의 인증을 수행하는 단계를 포함하고,
    상기 단계 a)는,
    상기 STUN 서버와 상기 콜 서버를 통합하기 위하여 상기 호 처리를 위한 통신 프로토콜에 상기 STUN 프로토콜 메시지를 통합하는 단계를 포함하는, 메시지 인증 방법.
  12. 제11항에 있어서,
    상기 단계 a)는,
    호 처리를 위한 모듈과 STUN 처리를 위한 모듈을 별도로 운용하고 상기 호 처리를 위한 모듈과 상기 STUN 처리를 위한 모듈의 앞에서 패킷을 구분 및 분배하는 단계를 포함하는, 메시지 인증 방법.
  13. 제12항에 있어서,
    상기 단계 a)는,
    상기 STUN 프로토콜과 상기 호 처리를 위한 통신 프로토콜의 패킷 형태의 차이점을 이용하여 상기 패킷의 구분 및 분배를 수행하는 단계를 포함하는, 메시지 인증 방법.
  14. 제11항에 있어서,
    상기 단계 a)는,
    상기 호 처리를 위한 통신 프로토콜로서 VoIP 장비 제조사별 비표준 (Non-Standard / Proprietary) 프로토콜을 사용하는 경우 상기 STUN 프로토콜 전체 또는 일부만을 통합하는 단계를 포함하는, 메시지 인증 방법.
  15. 삭제
  16. 제11항에 있어서,
    상기 단계 a)는,
    상기 호 처리를 위한 통신 프로토콜 패킷 헤더(packet header)의 메시지 타입과 종류를 나타내는 필드에 상기 STUN 프로토콜 메시지를 위한 필드를 추가 정의하는 단계를 포함하는, 메시지 인증 방법.
  17. 제11항에 있어서,
    상기 단계 a)는,
    NAT(network address translation) 기반의 방화벽을 콜 서버 앞에 설치하는 경우, STUN 서버 측의 NAT 매핑된 주소에 대한 정보를 STUN 클라이언트에서 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
  18. 제17항에 있어서,
    상기 단계 a)는,
    STUN 메시지를 추가로 정의하여 상기 NAT 매핑된 주소에 대한 정보를 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
  19. 제18항에 있어서,
    상기 단계 a)는,
    상기 STUN 클라이언트가 전달받은 자신의 매핑된 주소 및 상기 STUN 서버로부터 수신한 패킷의 IP 헤더로부터 추출한 소스 IP 정보를 상기 추가로 정의된 STUN 메시지의 신규 필드에 포함시켜 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
  20. 제17항에 있어서,
    상기 단계 a)는,
    STUN 메시지 교환 이후 호 처리를 위한 시그널링의 처음 메시지를 이용하여 상기 NAT 매핑된 주소에 대한 정보를 상기 STUN 클라이언트에서 상기 STUN 서버로 전달하는 단계를 포함하는, 메시지 인증 방법.
KR1020110139023A 2011-12-21 2011-12-21 메시지 인증 방법 및 그를 위한 ip-pbx 시스템 KR101613747B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110139023A KR101613747B1 (ko) 2011-12-21 2011-12-21 메시지 인증 방법 및 그를 위한 ip-pbx 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110139023A KR101613747B1 (ko) 2011-12-21 2011-12-21 메시지 인증 방법 및 그를 위한 ip-pbx 시스템

Publications (2)

Publication Number Publication Date
KR20130085556A KR20130085556A (ko) 2013-07-30
KR101613747B1 true KR101613747B1 (ko) 2016-04-20

Family

ID=48995699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110139023A KR101613747B1 (ko) 2011-12-21 2011-12-21 메시지 인증 방법 및 그를 위한 ip-pbx 시스템

Country Status (1)

Country Link
KR (1) KR101613747B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530252B (zh) * 2015-12-16 2019-06-28 瑞斯康达科技发展股份有限公司 一种呼叫处理方法及装置
CN108063921A (zh) * 2017-12-26 2018-05-22 天津天地人和企业管理咨询有限公司 一种嵌入式网络监控设备在p2p中的优化应用方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100758971B1 (ko) 2006-05-09 2007-09-14 주식회사 케이티프리텔 스턴 바인딩 프로토콜을 확장한 스턴 바인딩 메시지를이용하여 서로 다른 ip 도메인 간의 연동을 위한 통신시스템, 응용 계층 게이트웨이 장치, 스턴 서버 및 통신방법
JP2008505580A (ja) 2004-06-29 2008-02-21 ダマカ、インク. ピアツーピアハイブリッド通信のためのシステムおよび方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505580A (ja) 2004-06-29 2008-02-21 ダマカ、インク. ピアツーピアハイブリッド通信のためのシステムおよび方法
KR100758971B1 (ko) 2006-05-09 2007-09-14 주식회사 케이티프리텔 스턴 바인딩 프로토콜을 확장한 스턴 바인딩 메시지를이용하여 서로 다른 ip 도메인 간의 연동을 위한 통신시스템, 응용 계층 게이트웨이 장치, 스턴 서버 및 통신방법

Also Published As

Publication number Publication date
KR20130085556A (ko) 2013-07-30

Similar Documents

Publication Publication Date Title
EP1547344B1 (en) Server, device, and communication system connected to the internet
US20060072569A1 (en) Network address translation protocol for transmission control protocol connections
US8295285B2 (en) Method and apparatus for communication of data packets between local networks
US7949785B2 (en) Secure virtual community network system
US10530903B2 (en) Correlating packets in communications networks
CA2761983C (en) Method and apparatus to permit data transmission to traverse firewalls
US7305546B1 (en) Splicing of TCP/UDP sessions in a firewalled network environment
US7480794B2 (en) System and methods for transparent encryption
US20080141020A1 (en) Method and Apparatus for Providing Secure Streaming Data Transmission Facilities Using Unreliable Protocols
US20170034174A1 (en) Method for providing access to a web server
US20060262916A1 (en) Proxy server for internet telephony
US20050125532A1 (en) Traversing firewalls and nats
US20120113977A1 (en) Vpn device and vpn networking method
US20060187912A1 (en) Method and apparatus for server-side NAT detection
US20060253701A1 (en) Method for providing end-to-end security service in communication network using network address translation-protocol translation
Thornburgh Adobe's Secure Real-Time Media Flow Protocol
JPWO2006120751A1 (ja) 発着呼を可能とするピア・ツー・ピア通信方法及びシステム
Nowaczewski et al. Securing Future Internet and 5G using Customer Edge Switching using DNSCrypt and DNSSEC.
US7992199B1 (en) Method for permitting two parties to establish connectivity with both parties behind firewalls
WO2006071065A1 (en) System and method for detecting and interception of ip sharer
EP1586185B1 (en) System and method for management of passive network devices using convert connections
Richardson et al. Opportunistic encryption using the internet key exchange (ike)
KR101613747B1 (ko) 메시지 인증 방법 및 그를 위한 ip-pbx 시스템
CN110971701B (zh) 物联网通信方法及装置
Ylitalo et al. SPINAT: Integrating IPsec into overlay routing

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190320

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200304

Year of fee payment: 5