KR20070012266A - 정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터프로그램 - Google Patents

정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR20070012266A
KR20070012266A KR20060068572A KR20060068572A KR20070012266A KR 20070012266 A KR20070012266 A KR 20070012266A KR 20060068572 A KR20060068572 A KR 20060068572A KR 20060068572 A KR20060068572 A KR 20060068572A KR 20070012266 A KR20070012266 A KR 20070012266A
Authority
KR
South Korea
Prior art keywords
value
ttl
information communication
exchange procedure
maximum
Prior art date
Application number
KR20060068572A
Other languages
English (en)
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 소니 가부시끼 가이샤
Publication of KR20070012266A publication Critical patent/KR20070012266A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

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

Abstract

정보 통신 시스템에서, 정보 통신 디바이스들은 IP 네트워크를 통해 IP 패킷들을 교환한다. 라우터 홉들의 수가 미리 결정된 제어값이나 그 이하에 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때, 정보 통신 디바이들의 각각은, 상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간 기간에 걸쳐 수신된 IP 패킷들의 헤더(header)에 지정된 타임-투-리브(Time-To-Live;TTL) 값들을 모니터링하여, 상기 모니터링된 TTL 값들 중의 최대 TTL 값을 계속 갱신하고, 상기 최대 TTL 값이 상기 제어값을 초과하지 않는지의 여부를 검사한다.
정보 통신 시스템, IP 패킷, 라우터 홉, 패킷 교환 프로시져, 타임-투-리브(TTL) 값, AKE 프로시져, DTCP-IP, 소스/싱크 디바이스

Description

정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터 프로그램{INFORMATION COMMUNICATION SYSTEM, INFORMATION COMMUNICATION APPARATUS AND METHOD, AND COMPUTER PROGRAM}
도 1은 본 발명의 일 실시예에 따른 정보 통신 시스템의 일 구조예를 나타내는 개략도이다.
도 2는 도 1에 도시된 정보 통신 시스템에서 클라이언트(즉, 싱크 디바이스(sink device))로서 동작하는 정보 통신 장치의 기능 구조를 도시하는 개략도이다.
도 3은 도 1에 도시된 정보 통신 시스템에서 서버(즉, 소스 디바이스(source device))로서 동작하는 정보 통신 장치의 기능 구조를 도시하는 개략도이다.
도 4는 AKE(authentication and key exchange) 커맨드의 패킷 형식을 나타내는 다이어그램이다.
도 5는 AKE 커맨드를 사용하여 인증과 키 교환을 하는 동작 시퀀스를 나타내는 다이어그램이다.
도 6은 소스 디바이스 A와 싱크 디바이스 B 사이의 DTCP-IP에 따른 AKE 프로시져를 수행하는 동작 시퀀스의 일례를 나타내는 다이어그램이다.
도 7은 소스 디바이스가, AKE 커맨드를 전달하는 IP 패킷의 TTL 필드값이 3 을 초과하지 않음을 검사하면서 AKE 프로시져를 수행하기 위한 프로세싱 프로시져를 나타내는 흐름도이다.
도 8은 싱크 디바이스가, AKE 커맨드를 전달하는 IP 패킷의 TTL 필드값이 3을 초과하지 않음을 검사하면서 AKE 프로시져를 수행하기 위한 프로세싱 프로시져를 나타내는 흐름도이다.
도 9는 IPv6에 의해 정의된 헤더(header) 구조를 나타내는 다이어그램이다.
(특허 문헌1) PCT 일본특허공개번호 제2003-521138호
(비특허문헌1) DTCP 사양 1권 보정본 1.4(정보 버젼), http://www.dtcp.com
(비특허문헌2) RFC(Request For Comment) 791 인터넷 프로토콜
(비특허문헌3) DTCP 사양 1권 부록 E DTCP에서 IP로의 매핑, 보정본 1.1(정보 버젼), http://www.dtcp.com
(비특허문헌4) RFC 1812 - IP 버젼 4 라우터에 대한 필수사항, 1995년 6월
(비특허문헌5) http://www.jp.redhat.com/manual/Doc73/RH-DOCS/rhl-rg-ja/ch-iptables.html
(비특허문헌6) RFC 2460 인터넷 프로토콜, 버전 6(IPv6) 사양
본 발명은, IP(Internet Protocol) 네트워크에서 저작권에 의해 보호되는 정 보 컨텐츠의 전송을 위한 정보 통신 시스템, 정보 통신 장치 및 방법, 및 그것들의 컴퓨터 프로그램에 관한 것이다. 더 구체적으로, 본 발명은, 제한된 수의 라우터 홉(router hops)을 갖춘 IP 네트워크에서 IP 패킷들을 전송하기 위한 정보 통신 시스템, 정보 통신 장치 및 방법, 및 그것들의 컴퓨터 프로그램에 관한 것이다.
더 구체적으로, 본 발명은, IP 네트워크에서 정보 디바이스들 사이에 DTCP-IP(Digital Transmission Content Protection over Internet Protocol) 표준에 따른 인증 및 키 교환(authentication and key exchange;AKE) 프로시져를 수행하기 위한 정보 통신 시스템, 정보 통신 장치 및 방법, 및 그것들의 컴퓨터 프로그램에 관한 것이다. 더 구체적으로, 본 발명은 제한된 수의 라우터 홉들을 갖춘 IP 네트워크에서 디바이스들 간에 인증과 키 교환을 위한 AKE 커맨드들을 전송하고 수신하기 위한 정보 통신 시스템, 정보 통신 장치와 방법, 및 그것들의 컴퓨터 프로그램에 관한 것이다.
최근에, 네트워크를 통해, 비디오와 음악과 같은, 컨텐츠를 제공하기 위한 컨텐츠 배포와 배달 서비스가 증대하여 수행되어왔다. 그런 서비스들은, CDs(Compact Disks) 및 DVDs(Digital Versatile Disks)와 같은 미디어를 이동시킬 필요가 없이 네트워크를 통해 원격 터미널들 간에 컨텐츠 배포가 수행되도록 한다.
네트워크 상에서 핸들링되는 컨텐츠는, 비승인된 복제나 탬퍼링(tampering)과 같은 비승인된 사용에 대해 저작권 보호된 제품들의 하나로서 저작권법 하에 보호된다. 일본 저작권법에서는, 사용자가 개인적으로나 집에서의 사용 목적으로 사용자 자신에 의한 제품의 복사는 30조항 하에 허용될 것이고, 반면 개인적이나 사 적인 사용 이외의 다른 목적을 위한 제품의 복사본들의 사용은 49조(1) 하에 금지될 것이다.
그런 컨텐츠가 디지털 데이터이고 복사와 탬퍼링과 같은 비승인된 액세스와 수정에 취약하므로, 법적으로 뿐만이 아니라 기술적 해결책의 관점에서도 비승인된 사용에 대한 보호가 필요하다.
그러므로, 디지털 컨텐츠의 비승인된 사용에 대한 저작권 보호 목적으로 다수의 기술들이 개발되어왔다. 예를 들어, 디지털 전송 컨텐츠를 보호하기 위한 산업 표준인 DTCP 표준은 저작권이 보호된 환경에서 컨텐츠 전송을 위한 메커니즘을 정의한다(예를 들어, 비특허문헌1 참조).
DTCP에서, 컨텐츠 전송을 위해 디바이스들 간의 인증을 위한 프로토롤과 암호화된 컨텐츠의 전송을 위한 프로토콜이 명시된다. 요약하면, 사양(specification)은, DTCP-순응형 디바이스가, MPEG(Moving Picture Experts Group) 컨텐츠와 같은, 임의의 사용이 용이하고 압축된 컨텐츠를 암호화되지 않은 형태로 디바이스 외부로 송신하지 말 것, 암호화된 컨텐츠의 복호화를 위해 필요한 키 교환이 미리 결정된 AKE 알고리즘에 따라 수행되어야 할 것, 및 AKE 커맨드들을 사용하여 키 교환이 수행되는 디바이스들의 범위가 제한되어야 할 것을 정의한다.
컨텐츠 제공자, 또는 서버(DTCP 소스), 및 컨텐츠 소비자, 또는 클라이언트(DTCP 싱크)는 AKE 커맨드들을 송신하고 수신하여 인증 프로시져를 통해 키를 공유한다. 컨텐츠 전송을 수행하기 위해 전송 라인을 암호화하기 위한 키가 사용된다. 비승인된 클라이언트가 서버에 성공적으로 인증되지 않는 한 비밀 키를 얻을 수 없으므로, 컨텐츠를 수신할 수 없다. 또한, AKE 커맨드들을 송수신하는 디바이스들의 수와 범위를 제한하여, 저작권법에 정의된 바와 같이, 컨텐츠의 사용이 개인이나 가정에서의 사용으로 제한될 수 있다.
초기에, DTCP는 IEEE 1394와 같은 전송 라인을 사용하는 홈 네트워크를 통해 디지털 컨텐츠의 전송을 정의한다. 홈 네트워크 상에서의 컨텐츠의 전송은, 저작권법에 정의된 것처럼, 개인이나 가정에서의 사용에 속한다.
최근에, IEEE 1394-기반의 DTCP 기술이 IP 네트워크 기술에 병합되는, DTCP-IP라고 지칭되는, 세련된 기술의 개발이 달성되었다. 대부분의 홈 네트워크들이 라우터들을 통해 인터넷과 같은 외부 WAN(wide area network)에 접속되므로, DTCP-IP 기술의 확립은 컨텐츠를 보호하면서 IP 네트워크 상에서 디지털 컨텐츠의 유연하고 효율적인 사용을 제공한다. DTCP-IP 기술이 기본적으로 DTCP 표준과 관련있지만, DTCP-IP 기술은, IP 네트워크가 전송 라인으로서 사용된다는 점, 및 암호화된 컨텐츠가 HTTP 또는 RTP 프로토콜을 사용하여 전송된다는 점에서, 원래의 IEEE 1394-기반의 DTCP 기술과는 상이하다.
IP 자체는, TCP(Transmission Control Protocol)와 같은, 상위 전송층으로부터 인입 데이터 스트림이 미리 결정된 단위로서 사용되는 패킷 크기에 의해 패킷들로 분리되어 그 패킷들에 헤더들을 첨가하여 IP 패킷들을 생성하고, 그 IP 패킷들은 명시된 IP 주소로 전달되는 네트워크층이다. IP는 라우팅 기능을 갖는다(예를 들어, 비특허문헌2 참조).
개인용 컴퓨터들(PCs)과 같은, 다양한 디바이스들이 IP 네트워크에 접속되므 로, 데이터를 이베스드롭핑(eavesdropping)하거나 탬퍼링(tampering)하는 높은 위험이 존재한다. 그러므로, DTCP-IP가 기본적으로 DTCP 기술이 IP 네트워크 기술에 병합된 DTCP-유사 기술이지만, 그것은 컨텐츠를 보호하면서 네트워크 상에서 컨텐츠의 전송을 위한 방법을 더 명시한다(예를 들어, 비특허문헌3 참조).
DTCP-IP에 따른 컨텐츠 전송 프로시져가 기재될 것이다. DTCP-순응형 디바이스들은 2개의 유형으로 범주화된다, 즉, 하나는 "DTCP_Source"라고 지칭되고 다른 하나는 "DTCP_Sink"로서 지칭된다. 서버 디바이스로서 동작을 하는 DTCP_Source 디바이스는 컨텐츠에 대한 요청을 수신하여, 그 컨텐츠를 전송한다. 클라이언트 디바이스로서 동작하는 DTCP_Sink 디바이스는 컨텐츠를 요청하고, 컨텐츠를 수신하여, 컨텐츠를 재생하거나 또는 기록한다.
먼저, DTCP_Source 디바이스와 DTCP_Sink 디바이스는 한 개의 TCP/IP 접속을 개설하여, 서로를 인증한다. 이 인증은 "DTCP 인증" 또는 "AKE"로서 일컬어진다. DTCP-순응형 디바이스는 DTLA(Digital Transmission Licensing Administrator)로 지칭되는 증명서 기관에 의해 고유한 디바이스 ID 그리고 거기에 임베딩된 키를 갖는다. DTCP 인증 프로시져에서, DTCP_Source 디바이스와 DTCP_Sink 디바이스가 그런 정보를 사용하여 그들이 승인된 DTCP-순응형 디바이스들임을 확인한 후에, DTCP_Source 디바이스에 의해 관리되는, 컨텐츠 암호화 또는 복호화를 위한 키가 DTCP_Source 디바이스와 DTCP_Sink 디바이스 사이에 공유될 수 있다.
DTCP-순응형 디바이스들 사이의 AKE-기반 인증 프로시져를 수행한 후에, DTCP_Sink 디바이스는 DTCP_Source 디바이스의 컨텐츠를 요청한다. DTCP_Source 디바이스는, 컨텐츠 디렉토리 서비스(content directory service;CDS) 등을 통해 DTCP_Source 디바이스의 컨텐츠를 액세스하는 컨텐츠 위치를 DTCP_Sink 디바이스에게 미리 통지할 수 있다. DTCP_Sink 디바이스는, HTTP(Hyper Text Transfer Protocol) 또는 RTP(Real Time Protocol)와 같은, 프로토콜을 사용하여 컨텐츠를 요청할 수 있다. HTTP 프로시져에 따라 컨텐츠가 요청될 때, DTCP_Source 디바이스는 HTTP 서버로서 동작하고, DTCP_Sink 디바이스는 HTTP 클라이언트로서 동작하여, 이들 사이에 컨텐츠의 전송이 시작된다. RTP-기반 전송이 요청될 때, DTCP_Source 디바이스는 RTP 송신자로서 동작하고, DTCP_Sink 디바이스는 RTP 수신자로서 동작하여, 이들 사이에 컨텐츠의 전송이 시작된다. RSTP(Real Time Streaming Protocol)와 같은, 다른 전송 프로토콜들이 또한 채택될 수 있다.
HTTP에 따른 컨텐츠 전송이 수행될 때, HTTP 클라이언트는, DTCP 인증을 위한 TCP/IP 접속과는 상이한, HTTP를 위한 TCP/IP 접속을 생성한다. HTTP 클라이언트는 표준 HTTP 프로시져와 유사한 동작 프로시져에 따라 HTTP 서버 상의 컨텐츠를 요청한다. 그 요청에 따라, HTTP 서버는 HTTP 응답으로서 요청된 컨텐츠를 반환한다. HTTP 응답으로서 전송된 데이터는, HTTP 서버, 즉, DTCP_Source 디바이스가 AKE 인증을 통해 공유된 키를 사용하여 컨텐츠를 암호화하는 데이터이다. 암호화된 데이터를 수신시, 클라이언트(DTCP_Sink 디바이스)는 상술된 인증을 통해 공유된 키를 사용하여 데이터를 복호화하여 그 컨텐츠를 재생하거나 기록한다.
따라서, DTCP-IP는, DTCP-인증된 디바이스들 간에 키를 공유하기 위해 DTCP-순응형 디바이스들 간의 인증을 수행하고 전송 컨텐츠를 암호화와 복호화하여, 컨 텐츠가 전송 라인 중간에서 이베스드롭핑되거나 탬퍼링되는 것을 보호하도록 하는, IP 네트워크에서도 안전한 컨텐츠 전송 프로토콜을 제공할 수 있다.
DTCP는, 저작권법에 의해 정의된 것처럼, 컨텐츠를 암호화하여 컨텐츠 전송 라인의 보안을 관리할 뿐만이 아니라 또한 개인이나 가정에서의 컨텐츠 사용으로 제한하는 것과도 관련이 있다. 초기 DTCP 기술은, IEEE 1394-기반의 네트워크와 같은, 홈 네트워크를 가정하고, 이 경우, 컨텐츠의 사용은 개인이나 가정에서의 사용으로 실질적으로 제한된다. 그러나, DTCP 기술이 IP 네트워크 기술에 병합되는 DTCP-유사 기술인 DTCP-IP에서, 디바이스들이 라우터들을 통해 인터넷과 같은 광역 IP 네트워크에 접속될 수 있으므로, 컨텐츠 전송 범위의 제한에 대한 필요가 있다.
예를 들어, IP 네트워크에서, TTL(Time-To-Live)라고 지칭되는 파라미터는 각 IP 패킷의 헤더에 정의되어 IP 패킷의 수명을 제한한다(예를 들어, 비특허문헌2 참조). IP 패킷을 전달할 때마다, IP 라우터는 헤더의 TTL 필드값을 감소시켜서(예를 들어, 비특허문헌4 참조), IP 패킷의 수명이나 만기가 TTL 값에 의해 표현될 수 있다(예를 들어, 특허문헌1 참조).
예를 들어, DTCP-IP에서, TTL 필드값 "3"이 설정되고, 각 IP 패킷은 TTL 필드값이 3을 초과하지 않았는지의 여부를 검사한다. 즉, 예를 들어, 키 교환과 같은 AKE 커맨드들의 전송과 수신이 수행되는 사용자와 상대편 사이의 라우터 홉들의 수는 3개 또는 그 이하로 제한되어서(예를 들어, 비특허문헌3 참조), 컨텐츠의 사용을 개인과 가정에서의 사용으로 제한한다.
그러나, DTCP 애플리케이션이 IP 패킷들의, TTL과 같은, 헤더 정보를 얻고 검사하는 것과 같은 프로세싱을 구현할 때 일부 기술적 문제들이 존재한다.
해당 분야에서 잘 공지된 바와 같이, 통신 프로토콜은, TCP와 IP와 같은, 프로토콜들의 스택을 가지고 있고, 애플리케이션층은 최상위층으로서 정의된다.
기존 IP 프로토콜층은 IP 패킷이 라우터를 통과할 때마다 TTL 필드값을 1만큼 감소시키는 함수만을 구현한다. 환언하면, IP 프로토콜층은, IP 패킷을 수신시, IP 패킷의 헤더로부터 TTL 필드값을 추출하여 상위 애플리케이션층에 통지하도록 구성되지 않는다. 이것은 DTCP 애플리케이션이, AKE 커맨드를 수신시, IP 패킷의 TTL 필드값이 3이거나 그 이하인지를 검사하지 못하도록 한다.
기존 IP 프로토콜이 복수 개의 라우터 홉들로 인해 TTL 필드값이 만기된 IP 패킷을 버리는 함수를 가지지만, TTL 필드값이 미리 결정된 값을 초과하는 IP 패킷은 버려지지는 않는다. AKE 커맨드의 전송 목적지가 IP 패킷의 헤더를 검사하여 TTL 필드값이 3을 초과했을 때 IP 패킷을 버리면, AKE 커맨드의 전송 소스는 TCP/IP 통상적 재전송 제어 기능 때문에 AKE 커맨드를 재전송하는 시간소비적 프로세스를 수행한다.
DTCP-IP ****사양에 따라서 홉이 발생할 때마다 라우터에 의해 감소되는 TTL 필드값을 사용하여 AKE 커맨드가 도달하는 범위를 제한하는 동작을 구현하는 일 방법은 IP 프로토콜층을 수정하는 것이다. 그러나, TTL 필드값들을 얻어서 검사하는 기능을 병합하는 TCP/IP 프로토콜층의 모든 프로세싱 모듈들을 특정하게 개발하는 것은 비용이 든다.
Linux 또는, Microsoft사의 등록 상표인 Windows와 같은, 대부분의 현재 주 운영 시스템(OS)들에서, TCP와 IP와 같은, 통신을 위한 프로토콜 스택이 OS에 설치된다. IP 프로토콜이 수정되면, 그 OS에 깊게 관련된 소스 코드가 수정되어, 다양한 결함의 원인이 된다.
예를 들어, Windows®과 같이, 소스 코드가 릴리스(release)되지 않은 OS들인 경우, 수정 자체가 거의 불가능하다.
Linux와 같은, 소위 개방-소스 OS들의 경우, 소스 코드가 공개되므로, 개인들이 IP 프로토콜층의 상술된 기능들을 추가할 수 있다. 반면, 모든 관련된 코드들이 GPL(General Public License) 하에 라이센스되므로 개인들은 소스 코드를 릴리스해야 한다. 즉, 개방-소스 제품의 수정은 미래에 개발자들이 그 제품들을 관리하는 것을 시간소비적으로 만든다. 또한, OS의 코어(core)와 깊게 관련된 커널 소스 코드의 수정은 추가적 테스트 프로세스와 관련되어, 비용의 증가를 초래한다.
또한, OS는 TCP/IP 프로토콜층의 프로세싱 모듈의 기능으로서 네트워크 필터를 설치했다. Linux에서, "iptable"은 그런 네트워크 필터의 일례이다. 이 표준 네트워크 필터를 설정하여, TTL 필드값들을 얻어서 검사하는 프로세싱은 기존 TCP/IP 프로세싱 모듈을 사용하여 구현될 수 있다.
네트워크 필터의 사용에서의 문제점들은 다음과 같다: (1) 설정된 네트워크 필터는 다른 통신(또는 서비스들)을 방해하는 부작용을 발생시킬 수 있고, (2) 네트워크 필터가 표준이므로, 설정된 네트워크 필터는 임의의 다른 사용자나 프로세스에 의해 쉽게 탬퍼링될 수 있다.
또한, 당업자라면, 네트워크 필터에 따른 프로세싱 모듈을 특정하게 개발하 여 TTL 필드값들을 얻고 검사하기 위해 사용하는 것이 가능하다. 그러나, 개발은 많은 비용을 부과하고, 설정된 네트워크 필터는 다른 통신(또는 서비스들)을 방해하는 부작용을 초래할 수 있다.
그러므로, 저작권에 의해 보호되는 정보 컨텐츠가 IP 네트워크를 통해 적절히 전송되는, 정보 통신 시스템, 정보 통신 장치 및 방법, 및 그것들의 컴퓨터 프로그램을 제공하는 것이 바람직하다.
또한, 제한된 수의 라우터 홉들을 갖는 IP 네트워크 상에서 IP 패킷들이 적절하게 전송될 수 있는 정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터 프로그램을 제공하는 것이 바람직하다.
또한, 제한된 수의 라우트 홉들을 갖는 IP 네트워크 상에서 디바이스들 간에 인증과 키 교환을 위한 DTCP-IP AKE 커맨드들이 적절히 전송되어 수신될 수 있는 정보 통신 시스템, 정보 통신 방법 및 장치, 및 그것들의 컴퓨터 프로그램을 제공하는 것이 바람직하다.
또한, 인증과 키 교환을 위한 AKE 커맨드들을 전달하는 IP 패킷들의 헤더들에 포함된 TTL 필드값들을 모니터링하면서, 인증과 키 교환이 수행되는 디바이스들의 범위가 미리 결정된 수의 라우터 홉들에 제한될 수 있는, 정보 통신 시스템, 정보 통신 방법 및 장치, 및 그것들의 컴퓨터 프로그램을 제공하는 것이 바람직하다.
본 발명의 제1 실시예에 따라서, IP 네트워크 상에서 IP 패킷을 교환하는 정 보 통신 디바이스들을 포함하는 정보 통신 시스템이 제공된다. 라우터 홉들의 수가 미리 결정된 제어값이나 그 이하로 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때, 정보 통신 디바이스들의 각각은 미리 결정된 패킷 교환 프로시져의 시작으로부터 미리 결정된 패킷 교환 프로시져의 종료 바로 전까지의 시간 기간에 수신되는 IP 패킷들의 헤더들에 지정된 TTL 값들을 모니터하여, 모니터된 TTL 값들 중의 최대 TTL 값을 계속하여 갱신하고, 미리 결정된 패킷 교환 프로시져의 종료 바로 전에 최대 TTL 값이 제어값을 초과하지 않는지의 여부를 검사한다.
"시스템"이라는 용어는, 본 명세서에 사용되는 바와 같이, 복수 개의 장치들(또는 특정 기능을 성취하는 함수 모듈들)의 논리적 집합을, 장치나 함수 모듈들이 한 개의 하우징(housing)에 포함되는지의 여부에 무관하게, 일컫는다(동일한 것이 아래 설명에 적용됨).
본 발명의 일 실시예는, 배포된 컨텐츠의 사용을 개인이나 사적인 사용에 제한하기 위해 라우터 홉들의 수를 명시하기 위해 IP 패킷의 헤더들에 지정된 TTL 필드값들이 사용되는 IP 네트워크, 특히, 정보 통신 시스템 상에서 저작권에 의해 보호되는 정보 컨텐츠 전송을 위한 정보 통신 시스템을 제공한다. 더 구체적으로, AKE를 위한 AKE커맨드들이 DTCP-IP-순응형 정보 통신 디바이스들 간에 송수신될 때, AKE가 수행되는 디바이스들의 범위는, AKE 커맨드들을 수행하는 IP 패킷들의 헤더들에 포함되는 TTL 필드값들을 모니터링하는 동안, 라우터 홉들의 수 또는 그 이하에 제한된다.
DTCP-IP에서, 예를 들어, TTL 필드값 3이 설정되고, 각 IP 패킷의 TTL 필드 값이 만기되었는지의 여부가 검사된다. 그러므로, 예를 들어, 키 교환과 같은 AKE 커맨드들의 전송과 수신이 수행되는 DTCP 디바이스들 간의 라우터 홉들의 수가 3이나 그 이하로 제한되어서, 컨텐츠가 개인이나 가정에서의 사용으로 제한될 수 있다.
기존 IP 프로토콜층은 단지 패킷이 라우터를 통과할 때마다 TTL 필드값을 1만큼씩 감소시키는 기능만을 구현한다. 그러므로, TTL 필드값이 제어값과 동일하거나 그 이하인지에 대해 각 수신된 IP 패킷을 검사하여, TTL 필드값이 제어값을 초과하는 IP 패킷을 후속적으로 버리기 위해, 상위층 DTCP 애플리케이션은 AKE 커맨드를 수행하는 IP 패킷을 수신할 때마다 TTL 필드값을 얻어야 하고, 이것은 IP 프로토콜층의 수정을 필요로 한다.
그러나, 다수의 OS들이 병합된 TCP/IP 프로토콜층을 가지므로, 복잡한 문제가 발생한다. 우선, 소스 코드가 릴리스되지 않은 OS들에서, IP 프로토콜층을 수정하는 것은 불가능하다. 소스 코드가 릴리스된 OS들에서, IP 프로토콜층을 수정하는 것이 가능하지만, 그런 OS들의 소스 코드가 릴리스되어야 하고, 이것은 미래에 관리하기에 시간소비적이다.
TCP/IP 프로토콜층을 특정하게 개발할 수 있지만, 이것은 비용이 든다. 또한, TTL 필드값들을 얻기 위해, OS에 병합된 TCP/IP 프로토콜층의 프로세싱 모듈의 기능인 네트워크 필터를 설정하는 것도 가능하다. 그러나, 다른 통신을 방해하고 다른 사용자들이나 프로세스들에 의해 설정된 네트워크 필터가 고장날 수 있는 부작용에 대한 염려가 있다.
본 발명의 실시예에 따른 정보 통신 시스템에서, 정보 통신 디바이스들의 각각은, 미리 결정된 패킷 교환 프로시져의 시작으로부터 미리 결정된 패킷 교환 프로시져의 종료의 바로 전까지의 시간 기간 동안 수신된 IP 패킷들의 헤더들에 지정된 TTL 필드값들을 모니터링하여, 미리 결정된 패킷 교환 프로시져의 종료 직전에 최대 TTL 필드값이 제어값을 초과하지 않는지의 여부를 검사한다.
아래 기재된 바와 같이, 최상위층으로서 애플리케이션층은 패킷의 TTL 필드값을 추출하는 프로세싱을 구현하는 기존 라이브러리를 사용한다. 본 발명의 실시예에 따른 정보 통신 시스템에서, 그러므로, 패킷들이 교환되는 동안의 미리 결정된 시간 동안 TTL 필드값들을 계속 모니터링하는 동작을 구현하기 위해, IP 프로토콜층을 수정하고, TCP/IP 프로토콜층을 특정하게 개발하고, 그리고 OS를 수정하는 것과 같은 동작들을 수행하는 것이 불필요하다.
미리 결정된 패킷 교환 프로시져를 수행하는 정보 통신 디바이스는, 미리 결정된 패킷 교환 프로시져의 시작으로부터 미리 결정된 패킷 교환 프로시져의 종료 바로 전까지의 시간 기간 동안 모니터링되는 패킷들로부터 추출되는 TTL 필드값들중의 최대값이 제어값과 같거나 그 이하일 때, 미리 결정된 패킷 교환 프로시져를 계속하여, 미리 결정된 패킷 교환 프로시져를 완료하기 위해 후속적 패킷 전송과 수신 프로세싱을 수행할 수 있고, 또는 최대값이 제어값을 초과할 때 후속적 패킷 전송과 수신 프로세싱을 수행하지 않고 미리 결정된 패킷 교환 프로시져를 중단하여, 패킷 교환 프로시져가 수행되는 통신 상대방들의 수가 TTL 필드값의 미리 결정된 범위로 제한될 수 있다.
본 발명의 실시예가 DTCP-IP 인증에 적용될 때, 인증이 수행되는 정보 통신 장치들은, DTCP-IP 인증의 시작으로부터 종료 바로 전까지의 시간 동안 수신된 인증에 대한 제어 커맨드들 또는 AKE 커맨드들을 계속 모니터링하여, 수신된 AKE 커맨드들의 TTL 필드값들 중의 최대값을 계속 갱신하고, 인증 프로시져의 종료 바로 전에 최대값을 검사하여, 최대값이 미리 결정된 제어값(예를 들어, 3)과 같거나 그 이하이면 키 교환을 수행하여 인증 프로시져를 완료하거나, 또는 최대값이 미리 결정된 제어값을 초과하면 키 교환을 수행하지 않고 인증 프로시져를 중단한다.
예를 들어, DTCP-IP에 따라서 싱크 디바이스로서 동작하는 정보 통신 디바이스에 컨텐츠를 배포하는 소스 디바이스로서 동작하는 정보 통신 디바이스는, AKE 커맨드들을 전송하고 수신하는 TCP 접속 직후에서부터, 즉, 싱크 디바이스로부터 수신된 connect() 요청에 응답하여 accept()를 반환한 직후에서부터, IP 패킷들의 각각에 대한 TTL 필드값을 얻기 위해 TCP 접속을 통해 전송되어 수신되는 IP 패킷들을 모니터링하여, 얻어진 TTL 필드값들 중의 최대값을 계속 갱신한다. 그 다음, 소스 디바이스는 Exchaneg_Key 하위기능 커맨드의 전송 직전에 최대 TTL 필드값이 제어값과 같거나 또는 그 이하인지의 여부를 검사한다. 최대 TTL 필드값이 제어값과 같거나 또는 그 이하이면, 소스 디바이스는 EXCHANGE_KEY 하위기능 커맨드의 전송을 진행한다. 최대 TTL 필드값이 제어값을 초과하면, 소스 디바이스는 EXCHANGE_KEY 하위기능 커맨드를 전송하지 않고 AKE 프로시져를 중단한다.
소스 디바이스로서 동작하는 정보 통신 디바이스로부터의 컨텐츠를 얻는 싱크 디바이스로서 동작하는 정보 통신 디바이스는, AKE 커맨드들을 전송하고 수신하 는 TCP 접속 직전부터, 즉, 소스 디바이스로 connect() 요청의 전송 직전부터, TCP 접속 상에서 전송되고 수신되는 IP 패킷들을 모니터링하여 IP 패킷들의 각각에 대한 TTL 필드값을 얻고, 얻어진 TTL 필드값들 중의 최대값을 갱신한다. 그 다음, 싱크 디바이스는, EXCHANGE_KEY 하위기능 커맨드를 수신한 직후에, 최대 TTL 필드값이 제어값과 동일하거나 그 이하인지의 여부를 검사한다. 최대 TTL 필드값이 제어값과 동일하거나 그 이하이면, 싱크 디바이스는 EXCHANGE_KEY 하위기능 커맨드에 응답하여 ACCEPTED 응답의 전송을 진행한다. 최대 TTL 필드값이 제어값을 초과하면, 싱크 디바이스는 AKE 프로시져를 즉시 중단한다.
이전에 논의된 바와 같이, DTCP 애플리케이션이 AKE 커맨드를 수행하는 각 IP 패킷에 대한 TTL 필드값을 추출하는 프로세싱을 구현하여 추출된 TTL 필드값이 제어값을 초과하는지의 여부를 검사하여, TTL 필드값이 제어값을 초과하는 IP 패킷을 후속적으로 버릴 때, TCP/IP 프로토콜층을 특정하게 개발하거나 거기에 병합된 프로토콜 스택을 갖는 OS를 수정하는 것과 같은 어려운 동작이 필요하다. 이와 비교하여, 개별적 IP 패킷들의 TTL 필드값들을 추출하고 추출된 TL 필드값들을 계속 모니터링하는 프로세싱은 "pcap"이라고 지칭되는, 즉, libpcap, MAC 프레임을 모니터링하는 패킷 캡쳐 능력을 갖는 기존 라이브러리를 사용하여 쉽게 구현될 수 있다.
그러므로, DTCP 애플리케이션은, libpcap를 사용하여 DTCP-IP 인증의 시작으로부터 DTCP-IP 인증의 종료의 직전까지의 시간에 걸쳐 수신된 AKE 커맨드들을 계속 모니터링하여 최대 TTL 필드값을 계속 갱신할 수 있다. 그 다음, 최대 TTL 필 드값은 인증 프로시져의 종료 직전에 검사된다. 최대값이 미리 결정된 제어값(예를 들어, 3)과 같거나 그 이하이면, 인증 프로시져를 완료하기 위해 키 교환이 수행된다. 최대값이 제어값을 초과하면, 인증 프로시져는 최종 단계에서 프로세싱을 수행하지 않고 중단된다. 그러므로, IP 프로토콜층의 수정이 없이, DTCP 애플리케이션은 TTL 필드값들의 미리 결정된 범위까지 인증과 키 교환이 수행되는 통신 상대방들의 범위를 제한할 수 있다. Pcap는 MAC 프레임이 모니터링되도록 하는 패킷 캡쳐 기능이고, Windows®의 libpcap인 "WinPcap"을 포함한다(예를 들어, http://www.winpcap.org를 참조).
본 발명의 제2 실시예에 따르면, IP 네트워크 상에서 다른 정보 통신 장치와 컴퓨터 시스템 상에서 IP 패킷들을 교환하는 프로세스를 실행하는 컴퓨터-판독가능 컴퓨터 프로그램이 제공된다. 라우터 홉들의 수가 미리 결정된 제어값이나 그 이하에 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때, 컴퓨터 프로그램은, 미리 결정된 패킷 교환 프로시져의 시작으로부터 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 모니터링 시간에 걸쳐 수신된 IP 패킷들의 헤더들에 나타난 TTL 필드값들을 모니터링하는 단계들을 컴퓨터 시스템이 실행하도록 하여; 모니터링 시간 동안에 모니터된 TTL 필드값들 중의 최대 TTL 필드값을 계속하여 갱신하면서 저장하고; 최대 TTL 필드값이 제어값을 초과하지 않는지의 여부를 검사하고; 후속적 패킷 전송과 수신 프로세싱을 수행하여 미리 결정된 패킷 교환 프로시져를 계속하여, 미리 결정된 패킷 교환 프로시져의 시작으로부터 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간에 걸쳐 모니터링된 패킷들로부터 추출된 TTL 필 드값들 중의 최대 TTL 필드값이 제어값과 같거나 작을 때 미리 결정된 패킷 교환 프로시져를 완료하고; 그리고, 미리 결정된 패킷 교환 프로시져의 시작으로부터 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간 동안 모니터링된 패킷들로부터 추출된 TTL 필드값들 중의 최대 TTL 필드값이 제어값을 초과할 때 후속적 패킷 전송과 수신 프로세싱을 수행하지 않고 미리 결정된 패킷 교환 프로시져를 중단한다.
본 발명의 제2 실시예에 따른 컴퓨터 프로그램은 컴퓨터-판독가능 형식으로 작성된 컴퓨터 프로그램이어서, 컴퓨터 시스템 상에서 미리 결정된 프로세싱이 실행될 수 있다. 환언하면, 본 발명의 제2 실시예에 따른 컴퓨터 프로그램은 컴퓨터 시스템에 설치되어서, 컴퓨터 시스템 상에서 협력적 효과를 발휘하여 본 발명의 제1 실시예에 따른 정보 통신 시스템의 정보 통신 디바이스로서 동작한다. 복수 개의 그런 정보 통신 장치들이 소스 디바이스와 싱크 디바이스로서 동작하기 위해 활성화되어서 IP 패킷들을 교환하는 시스템은 본 발명의 제1 실시예에 따른 정보 통신 시스템의 것들과 유사한 장점들을 얻을 수 있다.
그러므로, 본 발명의 일 실시예에 따르면, 제한된 수의 라우터 홉들을 갖는 IP 네트워크 상에서 IP 패킷들이 적절히 전송될 수 있는, 우수한 정보 통신 시스템, 정보 통신 장치 및 방법, 및 그들의 컴퓨터 프로그램이 제공될 수 있다.
또한, 본 발명의 일 실시예에 따라서, DTCP-IP에 따라서 AKE를 위한 AKE 커맨드들이 제한된 수의 라우터 홉들을 갖는 IP 네트워크 상에서 디바이스들 간에 적절히 전송되고 수신될 수 있는, 우수한 정보 통신 시스템, 정보 통신 장치 및 방 법, 및 그들의 컴퓨터 프로그램이 제공될 수 있다.
또한, 본 발명의 일 실시예에 따라서, 인증과 키 교환을 위한 AKE 커맨드들을 전달하는 IP 패킷들의 헤더에 포함되는 TTL 필드값들을 모니터링하는 동안 인증과 키 교환이 수행되는 디바이스들의 범위가 미리 결정된 수의 라우터들의 홉 또는 그 이하에 제한될 수 있는 우수한 정보 통신 시스템, 정보 통신 장치 및 방법, 및 그들의 컴퓨터 프로그램이 제공될 수 있다.
본 발명의 실시예가 DTCP-IP 인증에 적용될 때, 인증이 수행되는 정보 통신 장치들 모두는, 추출된 TTL 필드값이 미리 결정된 제어값을 초과하는지의 여부를 검사하기 위해 각 AKE 커맨드에 대해 헤더로부터의 TTL 필드값을 추출하여 TTL 필드값이 제어값을 초과하는 AKE 커맨트를 후속적으로 버리는 대신에, DTCP-IP 인증 시작으로부터 DTCP-IP 인증 종료의 직전까지의 모니터링 시간에 걸쳐 수신된 AKE 커맨드들을 속 모니터링하는 프로세싱을 수행하여 수신된 AKE 커맨드들의 TTL 필드값들 중의 최대값을 계속 갱신한다. 그 다음, 최대 TTL 필드값은 인증 프로시져 종료의 직전에 검사된다. 최대값이 미리 결정된 값을 초과하면, 인증 프로시져는 키 교환을 수행함이 없이 중단하여, 미리 결정된 수의 라우터 홉들이나 그 이하에 키 교환이 수행되는 상대방들의 범위를 제한한다.
DTCP 애플리케이션은, 패킷 캡쳐 기능을 구현하는, libpcap를 사용하여 TTL 필드값들을 얻을 수 있다. 그러므로, GPL 라이센싱 쟁점을 논의하지 않는 개발이 가능하다. libpcap이 BSD(Berkeley software distribution) 라이센스 하에 라이센싱되었으므로, 이 라이브러리를 사용하는 바이너리의 배포를 위해 저작권 표시의 사용이면 충분하다.
그러므로, 본 발명의 실시예들에 따라서, DTCP-IP에 따라서 AKE 프로시져에 구현되는 TTL 필드값 검사 기능은 외부 라이브러리를 사용하여 구현될 수 있다. 그러므로, OS와 깊이 관련된 커널과 같은 코드를 수정하는 것이 필요치 않다. 제조 단계들의 수는 OS의 코드가 수정될 때보다 훨씬 적은 수이다. 또한, TTL 필드값 검사 프로세싱과 관련된 제어가 다른 사용자들이나 프로세스들과 공유되지 않고 구현될 수 있으므로, 다른 사용자들 등에 의한 비승인 제어에 대한 염려는 없다.
본 발명의 다른 목적, 특징, 및 장점은 본 발명의 다음 실시예들과 동반된 도면들을 참조하는 더 상세한 설명으로부터 명백해질 것이다.
<실시예>
본 발명의 일 실시예는 도면들을 참조하여 상세히 설명될 것이다.
본 발명의 일 실시예는 IP 네트워크 상에서 저작권에 의해 보호되는 정보 컨텐츠를 전송하는 정보 통신 시스템에 관한 것이고, 더 구체적으로는 DTCP-IP-순응형 정보 통신 디바이스들 사이에 인증과 키 교환을 위한 AKE 커맨드들이 전송되고 수신되고, 인증과 키 교환을 통해 공유되는 키가 암호화된 컨텐츠를 안전하게 전송하기 위해 사용되는 정보 통신 시스템에 관한 것이다. DTCP-IP-순응형 정보 통신 디바이스들 사이에서 인증과 키 교환에서, AKE 커맨드들을 전달하는 IP 패킷들의 헤더에 포함되는 TTL 필드값들이 3을 초과하지 않도록 제어되고, 인증과 키 교환이 수행되는 디바이스들의 범위는 미리 결정된 수의 라우터 홉들이나 그 이하로 제한된다.
<시스템 구성>
도 1은 본 발명의 일 실시예에 따른 정보 통신 시스템의 구조의 일례를 개략적으로 도시한다.
컨텐츠 요청을 수신하고 그 컨텐츠를 전송하는 서버로서 동작하는 소스 디바이스와, 컨텐츠를 수신하고 그 컨텐츠를 재생하거나 기록하는 컨텐츠를 요청하는 클라이언트로서 동작하는 싱크 디바이스 사이에 DTCP-IP-기반 컨텐츠 전송이 수행된다. 도시된 예에서, DTCP-IP-순응형 인증 서버인 소스 디바이스 A와, DTCP-IP-순응형 인증 클라이언트인 싱크 디바이스 A는 라우터 A와 B를 통해 네트워크 상에서 접속된다.
DTCP-IP-순응형 인증 서버인 소스 디바이스 B와, DTCP-IP-순응형 인증 클라이언트인 싱크 디바이스 B는 또한 라우터 A, B, 및 C를 통해 IP 네트워크 상에서 접속된다.
기존 IP 프로토콜은, IP 라우터가 IP 패킷을 전달할 때마다 1만큼씩 IP 헤더에 임베딩된 TTL 필드값을 감소시켜야 하고, TTL 필드값이 만기되는 IP 패킷을 버려야 하는 것을 정의한다. 즉, IP 패킷의 라우팅시, 라우터들의 각각이 1만큼 IP 패킷의 TTL 필드값을 감소시켜야 하고, TTL 필드값이 0인 IP 패킷을 수신시, 라우터들의 각각이 IP 패킷을 버려야 하는 것을 정의한다.
도 1에 도시된 예에서, IP 패킷이 소스 디바이스 A로부터 싱크 디바이스 A로 송신될 때, IP 패킷은 라우터 A와 B를 통과하고, TTL 필드값이 2만큼 감소된 IP 패킷이 싱크 디바이스 A에 의해 수신된다.
예를 들어, TTL 필드값 3을 갖는 IP 패킷이 소스 디바이스 A에 의해 생성되어 싱크 디바이스 B로 송신되면, IP 패킷은 라우터 A와 B를 통해서 라우터 C에 도달한다. 그러나, TTL 필드값이 1에서 0으로 감소하므로 라우터 디바이스 C는 IP 패킷을 버린다. 결과적으로, IP 패킷은 싱크 디바이스 B에 도달하지 못한다.
TTL 필드값 3을 갖는 IP 패킷이 싱크 디바이스 A에서 소스 디바이스 B로 송신되면, TTL 필드값이 1인 IP 패킷이 소스 디바이스 B에 도달한다. TTL 필드값이 0인 IP 패킷은 네트워크를 통해 전파되지 않는다.
본 실시예에 따른 정보 통신 시스템에서, 소스 디바이스 A와 B, 싱크 디바이스 A와 B, 및 라우터 A, B, 및 C의 개체들은 DTCP-IP AKE 시스템을 구성한다. DTCP-IP에 따르면, 암호화된 컨텐츠의 전송에 사용되는 키 교환, 즉, AKE가 수행되는 범위는 TTL 필드값이 3을 초과하지 않는 범위, 즉, 라우터 홉들의 수가 3을 초과하지 않는 범위로 제한된다. 그러므로, 소스 디바이스들은 싱크 디바이스 A와 B 모두와 AKE를 수행하도록 허용된다. 소스 디바이스 B는 싱크 디바이스 A와 B 모두와 AKE를 수행할 수 있다.
한편, 라우터 D를 통해 네트워크와 접속된 싱크 디바이스 C는 패킷들을 교환하기 위한 라우터 홉들의 수가 3을 초과하므로 소스 디바이스와 AKE를 수행하도록 허용되지 않는다. 환언하면, 싱크 디바이스 C는 도 1에 도시된 DTCP-IP AKE 시스템의 외부에 있다.
도 2와 도 3은 도 1에 도시된 정보 통신 시스템에 클라이언트(즉, 싱크 디바이스)와 서버(즉, 소스 디바이스)로서 동작하는 정보 통신 장치들의 기능 구조를 각각 개략적으로 도시한다. 싱크 디바이스와 소스 디바이스는, 인터넷과 같은, TCP/IP 네트워크(도시 생략)을 통해 접속을 개설할 수 있고, 그 접속을 사용하여 인증 프로시져와 컨텐츠 전송 프로시져를 수행할 수 있다.
싱크 디바이스와 소스 디바이스로서 동작하는 정보 통신 장치들은 전용 하드웨어 장치들로서 설계되어 제조될 수 있거나, 또는 개인용 컴퓨터와 같은 범용 컴퓨터 시스템에 미리 결정된 클라이언트 애플리케이션과 서버 애플리케이션을 설치하고, 각각 애플리케이션들을 실행하여 구현될 수 있다.
도 2에 도시된 싱크 디바이스는 DTCP-IP 표준에 따르고, DTCP_Sink 디바이스로서 동작한다. 도시된 클라이언트 디바이스에 DTCP-IP 인증 블록, DTCP-IP 컨텐츠 수신 블록, 및 컨텐츠 재생/기록 블록을 포함하는 기능 블록들이 제공된다.
DTCP-IP 인증 블록은 인증 프로시져 실행 수단에 대응하고, AKE 블록, 메시지 다이제스트 생성 블록, 및 컨텐츠 복호화 블록을 포함한다.
AKE 블록은 DTCP-IP(DTCP_Sink 측에)의 AKE 메커니즘을 구현하는 블록이다. 또한, AKE 블록은, 아래 기재된, 메시지 다이제스트 생성 블록에 의해 요청되는 파라미터를 전달하는 기능을 갖는다.
메시지 다이제스트 생성 블록은 지정된 알고리즘에 따라 파라미터로 메시지 다이제스트를 생성하는 블록이다. 미리 결정된 알고리즘은 메시지 다이제스트가 생성되는 알고리즘으로서 지정될 수 있다. 미리 결정된 알고리즘은, MD5 또는 SHA-1과 같은, 일방 해시 함수와 연관된 알고리즘일 수 있다(SHA-1은, MD5와 같이, MD4의 향상된 변형이지만, SHA-1은 160 비트의 해시 값들을 생성하고 MD 시리즈보 다 더욱 강력함).
메시지 다이제스트 생성 블록은, DTCP-IP 인증 블록 외부에 릴리스되어서는 안되는, AKE 블록에 의해 유지되는 파라미터로 메시지 다이제스트를 생성하기 위해 AKE 블록 가까이에 위치된다. 메시지 다이제스트 생성 블록은 AKE 블록에 요청을 제출하여 파라미터를 얻을 수 있고, 얻어진 파라미터, 또는 외부로부터 주어진 파라미터로 메시지 다이제스트를 생성할 수 있다.
컨텐츠 복호화 블록은 AKE로써 교환된 키를 사용하여 서버로부터 수신된 암호화된 컨텐츠 데이터를 해독하는 블록이다. 복호화된 컨텐츠는 컨텐츠 재생/기록 블록으로 전달된다.
컨텐츠 재생/기록 블록은 재생 모드에서 전달된 컨텐츠를 재생하거나, 또는 기록 모드에서 컨텐츠를 저장한다.
DTCP-IP 컨텐츠 수신 블록은 AKE를 수행한 후에 컨텐츠 전송 프로시져를 실행하는 프로세싱 모듈이다. DTCP-IP 컨텐츠 수신 블록은 HTTP 클라이언트 블록을 포함하고, HTTP 클라이언트로서 동작하여 HTTP 서버에게 컨텐츠에 대한 요청을 제출하여 그 요청에 응답하여 HTTP 서버로부터 컨텐츠를 수신한다.
HTTP 클라이언트 블록은 HTTP 요청 관리 블록과 HTTP 응답 관리 블록으로 분리된다. HTTP 요청 관리 블록은 HTTP 요청 전송 블록과 HTTP 요청 생성 블록으로 더 분리된다.
HTTP 요청 생성 블록은 전송될 컨텐츠 전송 요청(HTTP 요청)을 생성한다. 생성된 HTTP 요청은 HTTP 요청 전송 블록에 의해 서버로 전송된다.
HTTP 응답 관리 블록은 HTTP 응답 수신 블록과 HTTP 응답 해석 블록으로 분리된다. 서버로부터 반환된 HTTP 응답과 암호화된 컨텐츠는 HTTP 응답 수신 블록에 의해 수신된다. 수신된 HTTP 응답은 HTTP 응답 해석 블록에 의해 검사된다. 검사결과가 좋으면, 수신된 암호화된 컨텐츠는 컨텐츠 복호화 블록으로 전달된다. 검사결과가 나쁘면, 에러(error) 응답을 제공하는 프로세싱이 수행된다.
DTCP-IP 인증 블록과 DTCP-IP 컨텐츠 수신 블록은 서버 디바이스와 분리된 TCP/IP 접속을 개설하고, 개별적으로 인증 프로시져와 컨텐츠 전송 프로시져를 수행한다.
도 3에 도시된 소스 디바이스는 DTCP-IP 표준에 따르고, DTCP_Source 디바이스로서 동작한다. 서버 디바이스에는 DTCP-IP 인증 블록, DTCP-IP 컨텐츠 전송 블록, 및 컨텐츠 관리 블록을 포함하는 기능 블록들이 제공된다.
DTCP-IP 인증 블록은 인증 프로시져 실행 수단에 대응하고, AKE 블록, 메시지 다이제스트 생성 블록, 및 컨텐츠 암호화 블록을 포함한다.
AKE 블록은 DTCP-IP(DTCP_Source 측)에 AKE 메커니즘을 구현하는 블록이다. AKE 블록은 또한, 아래 기재된, 메시지 다이제스트 생성 블록에 의해 요청되는 파라미터를 전달하는 기능을 갖는다. AKE 블록은 인증된 DTCP_Sink 디바이스에 인증된 디바이스들의 수에 대응하는 수의 정보를 유지하고, 그 정보를 사용하여 컨텐츠가 요청되었을 때 그 요청하는 클라이언트가 인증된 클라이언트인지의 여부를 판정한다.
메시지 다이제스트 생성 블록은 지정된 알고리즘에 따라 파라미터로 메시지 다이제스트를 생성하는 블록이다. 메시지 다이제스트가 생성되는 알고리즘은 미리 결정된 알고리즘, 즉, MD5 또는 SHA-1과 같은 일방 해시 함수와 연관된 알고리즘일 수 있다(상술된 것과 동일한 것이 적용됨).
메시지 다이제스트 생성 블록은, DTCP-IP 인증 블록 외부에 릴리스되지 않아야 하는, AKE 블록에 의해 유지되는 파라미터로 메시지 다이제스트를 생성하기 위해 AKE 블록에 가까이 위치된다. 메시지 다이제스트 생성 블록은 AKE 블록에 요청을 제출하여 파라미터를 얻을 수 있고, 얻어진 파라미터 또는 외부로부터 주어진 파라미터로 메시지 다이제스트를 생성할 수 있다.
컨텐츠 암호화 블록은 DTCP-IP 컨텐츠 전송 블록으로부터의 요청에 응답하여 AKE로써 교환된 키를 사용하여 컨텐츠 관리 블록으로부터 수취되는 컨텐츠 데이터를 암호화하는 블록이다. 암호화된 컨텐츠는 DTCP-IP 컨텐츠 전송 블록으로 전달되어 그 컨텐츠를 클라이언트에게 전송한다.
컨텐츠 관리 블록은 DTCP-IP 메커니즘을 사용하여 컨텐츠가 보호되도록 관리하는 블록이다. 컨텐츠 암호화 블록에 의한 수취에 응답하여, 컨텐츠 관리 블록은 컨텐츠의 데이터를 전달한다.
DTCP-IP 컨텐츠 전송 블록은 컨텐츠 전송 프로시져 실행 수단에 대응한다. DTCP-IP 컨텐츠 전송 블록은 HTTP 서버 블록을 포함하고, HTTP 서버로서 동작하여 클라이언트로부터 요청을 수신하여 그 요청에 따른 프로세싱을 수행한다.
HTTP 서버 블록은 HTTP 요청 관리 블록과 HTTP 응답 관리 블록으로 분리된다. HTTP 요청 관리 블록은 또한 HTTP 요청 수신 블록과 HTTP 요청 해석 블록으로 분리된다.
HTTP 요청 수신 블록은 클라이언트로부터 HTTP 요청을 수신한다. 수신된 HTTP 요청은 HTTP 요청 해석 블록으로 전달되어 그 요청을 검사한다. HTTP 요청 해석 블록의 검사결과가 좋으면, DTCP-IP 인증 블록은 HTTP 요청에 대한 정보를 통보 받는다.
HTTP 응답 관리 블록은 HTTP 응답 생성 블록과 HTTP 응답 전송 블록으로 분리된다.
HTTP 응답 생성 블록은, HTTP 요청 해석 블록에 의한 검사결과가 좋을 때 암호화된 컨텐츠를 반환하기 위한 HTTP 응답을 생성한다. HTTP 요청 해석 블록에 의한 검사결과가 나쁘면, HTTP 응답 생성 블록은 에러를 반환하는 HTTP 응답을 생성한다.
HTTP 응답 전송 블록은 요청하는 클라이언트에게 생성된 HTTP 응답을 전송한다. HTTP 요청 해석 블록에 의한 검사결과가 좋으면, HTTP 응답 전송 블록은 또한 HTTP 응답 헤더와 그 뒤에 암호화된 컨텐츠를 전송한다.
DTCP-IP 인증 블록과 DTCP-IP 컨텐츠 전송 블록은 싱크 디바이스와 분리된 TCP/IP 접속을 개설하고, 개별적으로 인증 프로시져와 컨텐츠 전송 프로시져를 수행한다.
DTCP_Sink 디바이스와 DTCP_Source 디바이스에 제공된 DTCP-IP 인증 블록들의 메시지 다이제스트 생성 블록들은 DTCP-IP 자체에 의해 명시된 기능 모듈들이 아니고, 본 발명의 본질과 직접적으로 관련은 없다. 예를 들어, 본 양수인에게 양 수된, 일본특허출원번호 제2004-113459호는 메시지 다이제스트 생성 블록을 개시한다.
<DTCP-IP-기반 컨텐츠 전송>
소스 디바이스와 싱크 디바이스 사이에 DTCP-IP 컨텐츠 전송을 수행하기 위해, 우선, 소스 디바이스와 싱크 디바이스는 한 개의 TCP/IP 접속을 개설하고나서, 그 디바이스들은 AKE 커맨드들을 전송하고 수신하여 서로를 인증한다. AKE 프로시져는, 소스 디바이스에 의해 관리되는, 컨텐츠를 암호화하고 복호화하는 키를 소스 디바이스와 클라이언트 디바이스 사이에 공유하도록 한다.
AKE 커맨드는, IEEE 1394 표준의 상층 프로토콜인, AV/C 일반 사양의 부분집합을 구현하기 위해 기본적으로 설계된다. 도 4는 AKE 커맨드의 패킷 형식을 도시한다. 도 4에 도시된 바와 같이, AKE 커맨드는, Type 필드 1 바이트, BLC(Byte Length of Control) 필드 2 바이트, BLC 필드에 명시된 바이트 길이의 Control 필드, 및 AKE_Info 필드를 포함한다.
Type, BLC, 및 Control 필드들의 바이트 0은 DTCP에서 IP로 매핑하기 위해 사용된다. Type 필드는 이 AKE 커맨드에 대한 패킷이 AKE 제어 패킷 버젼 1임을 나타낸다.
Ctype/response는 이 AKE 커맨드의 커맨드 유형이나 응답 코드가 기재되는 필드이고, DTCP 사양의 8장에서 참조되고 AV/C 디지털 인터페이스 커맨드에 의해 명시되는 것들과 동일한 값들을 갖는다.
Control 필드의 1 내지 7 바이트는, 그들이 IP 프로토콜에서 사용되지 않으 면, Control 필드의 MSB(most significant bit)인 7 바이트를 제외하고, 섹션 8.3.1에 명시된 바와 같이 0 내지 6 오퍼랜드 바이트들과 동일하다.
AKE 커맨드는 하위기능들로서 지칭되는 부분들로 분리될 수 있다. 하위기능들은 AKE 커맨드의 6번째 바이트에 "하위기능" 필드에 기재된다.
AKE_Info 필드는 섹션 8.3.1에 명시된 데이터 필드와 유사하다.
각 제어 커맨드의 AKE_label과 소스 소켓들은 그들이 적절한 제어기로부터 유도되었슴을 확인하기 위해 검사되어야 한다.
도 5는 AKE 커맨드를 사용하여 인증과 키 교환을 수행하는 동작 시퀀스를 도시한다. 이 시퀀스에서, "요청"은 타겟되는 디바이스를 제어하기 위해 사용되고, "응답"은 "요청"을 수신한 디바이스로부터 응답을 식별하기 위해 사용된다. 커맨드 유형을 갖는 AKE 커맨드는 AKE 커맨드 요청이고, 응답 코드를 갖는 AKE 커맨드는 AKE 커맨드 응답이다. DTCP-IP에서, EXCHANGE_KEY 하위기능 커맨드는 단지 소스 디바이스에서 싱크 디바이스로 송신되는 AKE 커맨드이고, 그 역방향으로는 송신되지 않음을 주목해야 한다.
AKE 상태 커맨드는 소스 디바이스(또는 싱크 디바이스)에서 싱크 디바이스(또는 소스 디바이스)로 송신된다. AKE 상태 커맨드에 응답하여, AKE 상태 응답은 싱크 디바이스(또는 소스 디바이스)로부터 반환된다. 그 다음, CHALLENGE 하위기능은 소스 디바이스(또는 싱크 디바이스)에서 싱크 디바이스(또는 소스 디바이스)로 송신되고, CHALLENGE 하위기능에 응답하여 싱크 디바이스(또는 소스 디바이스)로부터 응답이 반환된다.
후속적으로, 소스 디바이스(또는 싱크 디바이스)에서 싱크 디바이스(또는 소스 디바이스)로 RESPONSE 하위기능이 송신되고, RESPONSE 하위기능에 응답하여 싱크 디바이스(또는 소스 디바이스)로부터 응답이 반환된다.
그 다음, 소스 디바이스에서 싱크 디바이스로 EXCHANGE_KEY 하위기능이 송신되고, EXCHANGE_KEY 하위기능에 응답하여 싱크 디바이스로부터 응답이 반환된다.
그 다음, 소스 디바이스에서 싱크 디바이스로 SRM 하위기능이 송신되고, SRM 하위기능에 응답하여 싱크 디바이스로부터 응답이 반환된다.
후속적으로, 소스 디바이스에서 싱크 디바이스로 CONTENT_KEY_REQUEST 하위기능이 송신되고, CONTENT_KEY_REQUEST 하위기능에 응답하여 싱크 디바이스로부터 응답이 반환된다.
DTCP-IP에서, AKE를 위한 트리거(trigger) 방법이 정의되지 않았지만, AKE를 트리거링하는 정보(이하에서, 또한 "AKE 트리거 정보"로서 지칭됨)가 정의된다. AKE 트리거 정보는, AKE가 수용되는 소스 디바이스의 IP 주소와 포트 번호 세트를 포함하는 형태로 정의된다. AKE 트리거 정보는 소스 디바이스에서 싱크 디바이스로 전달되고, 그 후에 AKE 트리거 정보에 기초하여 싱크 디바이스에서 소스 디바이스로 TCP 접속이 개설되어, AKE를 트리거링한다. AKE 트리거 정보의 특성에서 명백한 것처럼, 소스 디바이스는 일반적으로 싱크 디바이스로 TCP 접속을 개설하려고 의도한다.
다음 설명에서, 소스 디바이스가 네트워크를 통해 싱크 디바이스로 AKE의 트리거를 전달한다고 가정한다(실제로, UPnP(Universal Plug and Play) CDS를 사용하 여 트리거가 전달됨). 또한, AKE 트리거 정보가 소스 디바이스에서 싱크 디바이스로 전달되기 전에 소스 디바이스는 싱크 디바이스로부터 AKE를 수용할 준비가 되었슴을 가정한다.
DTCP-순응형 디바이스들 간의 AKE 프로시져를 수행한 후에, 싱크 디바이스는 소스 디바이스에게 컨텐츠를 제공하도록 요청한다. 소스 디바이스는 CDS 등을 통해 소스 디바이스 상의 컨텐츠를 액세스하는 컨텐츠 위치에 대해 미리 싱크 디바이스에게 통지할 수 있다. 싱크 디바이스는, HTTP 또는 RTP와 같은, 프로토콜을 사용하여 컨텐츠를 요청할 수 있다.
예를 들어, 소스 디바이스는 HTTP 서버로서 동작하고, 싱크 디바이스는 HTTP 클라이언트로서 동작하여, 이들 간에 컨텐츠의 전송이 시작된다. 이 경우, DTCP 인증을 위해 TCP/IP 접속으로부터 분리된, HTTP를 위한 TCP/IP 접속이 HTTP 클라이언트에 의해 생성된다. HTTP 클라이언트는 정상적 HTTP 프로시져와 유사한 동작 프로시져에 따라 HTTP 서버 상의 컨텐츠를 요청한다. 요청에 응답하여, HTTP 서버는 HTTP 응답으로서 요청된 컨텐츠를 반환한다. HTTP 응답으로서 전송된 데이터는, HTTP 서버, 즉, 소스 디바이스가 AKE 인증을 통해 공유되는 키를 사용하여 컨텐츠를 암호화하는 데이터이다. 암호화된 데이터를 수신시, 클라이언트, 즉, 싱크 디바이스는 상술된 인증을 통해 공유되는 키를 사용한 데이터를 해독하여 컨텐츠를 재생하거나 기록한다.
따라서, DTCP-IP는 IP 네트워크를 통해서도 안전한 컨텐츠 전송 프로토콜을 제공할 수 있고, 이것은 인증된 디바이스들 간의 키를 공유하고 전송 컨텐츠를 암 호화하고 복호화하여 전송 라인의 중간에서 이베스드롭핑하거나 탬퍼링하는 것에 대해 컨텐츠가 보호되도록 한다.
<TTL 검사에 의한 컨텐츠 전송 범위의 제한>
IP 프로토콜에서, IP 패킷을 전달할 때, IP 라우터가 IP 헤더에 임베딩된 TTL 필드값을 1만큼 감소시켜야 하고, TTL 필드값이 만기된 IP 패킷을 네트워크 상에서 전파하지 말아야 하는 것(버려야 함)이 정의된다.
DTCP-IP에서, 또한 IP 패킷을 AKE 커맨드로서 송신할 때, TTL 필드값은 3이나 그 이하로 설정되는 것이 정의된다. 또한, IP 패킷을 AKE 커맨드로서 수신할 때, IP 패킷의 TTL 필드값이 3을 초과하면 IP 패킷이 버려지는 것이 정의된다. 이것은, AKE 커맨드들의 송신과 수신, 즉, 키 교환이 수행되는 사용자와 다른 상대방 간의 라우터 홉들의 수가 3개 또는 그 이하로 제한되어, 컨텐츠의 사용이 개인이나 가정에서의 사용으로 실질적으로 제한되기 때문이다.
기존 IP 프로토콜은 복수 개의 라우터 홉들 때문에 TTL 필드값이 만기되는 IP 패킷을 버리는 기능을 갖지만, TTL 필드값이 미리 결정된 값을 초과하는 IP 패킷은 버려지지 않는다. 그러므로, 특정한 TCP/IP 프로토콜이 개발되거나 또는, DTCP 애플리케이션이 AKE 커맨드를 전달하는 IP 패킷을 수신할 때마다 TTL 필드값을 검사할 수 있고 TTL 필드값이 미리 결정된 값을 초과하는 IP 패킷을 버릴 수 있도록 TCP/IP를 설치하는 OS의 커널에 대응하는 코드가 수정될 수 있고, 이것은 시간소비적이다.
이 실시예에서, 수신된 패킷이 버려지는지의 여부를 하나씩 판정하기 위해 AKE 커맨드를 수신할 때마다 TTL 필드값을 검사하는 대신에, DTCP-IP-순응형 정보 통신 디바이스는 AKE 프로시져의 시작에서부터 그 종료 직전까지의 시간 기간에 걸쳐 수신된 IP 패킷들의 헤더들에 기록된 TTL 필드값들을 모니터하고, 계속 최대 TTL 필드값을 갱신한다. 키 교환을 수행하기 직전에, 최대 TTL 필드값이 3을 초과하지 않는지의 여부가 검사된다. 최대값이 3을 초과하면, DTCP-IP 애플리케이션은 후속적 키 교환 프로세싱을 중단한다.
예를 들어, DTCP-IP 애플리케이션은 libpcap와 같은 라이브러리를 사용하여 AKE 커맨드들을 모니터하여 IP 헤더들의 TTL 필드값들을 얻을 수 있다. 그러므로, TCP/IP 프로토콜층을 특정하게 개발하거나 OS를 수정하는 것과 같은 작업이 불필요하다. Libpcap는 Linux를 위한 라이브러리이고, 예를 들어, http://www.tcpdump.org/가 참조된다.
도 6은 소스 디바이스 A와 싱크 디바이스 B 사이의 DTCP-IP에 따른 AKE 프로시져를 수행하는 동작 시퀀스의 일례를 도시한다. 도시된 예에서, 소스 디바이스 A와 싱크 디바이스 B 사이의 라우터 홉들의 수는 3이나 또는 그 이하로 설정되고, 디바이스들 각각은 TTL 필드값이 3으로 설정된 AKE 커맨드를 송신하여, AKE 커맨드는 전송 중간에 버려지지 않고 다른 디바이스에 도달하여, 프로시져가 성공적으로 수행될 수 있다. 소스 디바이스 A가 네트워크를 통해 싱크 디바이스 B로 AKE의 트리거를 전달하고, 소스 디바이스 A에서 싱크 디바이스 B로 AKE 트리거 정보가 전달되기 전에 소스 디바이스 A가 싱크 디바이스 B로부터 AKE를 수용할 준비가 되었다는 것을 가정한다.
소스 디바이스 A가 AKE 트리거 정보에 지정된 포트 번호에 TCP 접속 개설 요청을 수신할 수 있는 모드로 소스 디바이스 A가 스위칭된다. 더 구체적으로, 소스 디바이스 A는 소켓 오브젝트를 생성하여 bind() 메소드와 listen() 메소드를 실행하고, 그것이 싱크 디바이스 B로부터 connect() 요청을 대기하는 모드로 스위칭된다.
후속적으로, 소스 디바이스 A는 싱크 디바이스 B로 AKE 트리거 정보를 전달한다.
AKE 트리거 정보를 수신시, 싱크 디바이스 B는 TCP 접속의 개설을 준비하고, IP 패킷의 TTL 필드값을 검사하는 프로세스를 활성화시킨다. 더 구체적으로, 싱크 디바이스 B는 소켓 오브젝트를 생성하고, 소켓과 연관하여 TTL 필드값 검사 프로세스를 활성화시킨다.
그 다음, 싱크 디바이스 B는 AKE 트리거 정보에 지정된 IP 주소와 포트 번호를 사용하여 소스 디바이스 A로 TCP 접속 개설 요청을 발생시킨다. 더 구체적으로, 싱크 디바이스 B는 connect() 메소드를 실행시킨다.
싱크 디바이스 B로부터 TCP 접속 개설 요청을 수신시, 소스 디바이스 A는 TCP 접속을 개설하고, IP 패킷의 TTL 필드값을 검사하는 프로세스를 활성화시켜서 소스 디바이스 A가 싱크 디바이스 B와 TCP/IP 통신을 수행할 수 있는 모드로 진입한다. 더 구체적으로, 소스 디바이스 A는 accept() 메소드를 실행하여 소켓 오브젝트를 얻고, 소켓과 연관된 TTL 필드값 검사 프로세스를 활성화시켜서 소스 디바이스 A가 recv()/send() 메소드로 싱크 디바이스 B로(부터) 바이트 데이터를 송수 신할 수 있는 모드로 진입한다.
그러므로, 싱크 디바이스 B가 소스 디바이스 A와 TCP/IP 통신을 수행할 수 있는 모드로 스위칭된다. 더 구체적으로, 소스 디바이스 A가 TCP 접속 개설 요청을 수신할 수 있는 모드로 스위칭할 때 생성된 소켓 오브젝트에 대해, 싱크 디바이스 B가 소스 디바이스 A로(부터) recv()/send() 메소드에 의해 바이트 데이터를 송수신할 수 있는 모드로 스위칭된다.
이 시점에서 AKE로써 인증 및 키 교환 프로시져의 종료 직전까지의 시간 기간 동안, 소스 디바이스 A와 싱크 디바이스 B는 DTCP-IP AKE에 의해 명시된 AKE 커맨드들을 송수신한다. AKE의 종료 직전까지의 시간 기간은, 소스 디바이스 A가 EXCHANGE_KEY 하위기능 커맨드를 송신할 준비가 될 때까지의 시간 기간에 대응하고, 싱크 디바이스 B가 EXCHANGE_KEY 하위기능 커맨드를 수신할 때까지의 시간 기간에 대응한다.
즉, 소스 디바이스 A와 싱크 디바이스 B의 각각은 AKE 커맨드를 전달하는 IP 패킷의 헤더로부터 TTL 필드값을 얻기 위해 수신된 AKE 커맨드에 프로세싱을 적시에 수행하고, 그 얻어진 TTL 필드값과 거기에 저장된 최대 TTL 필드값을(이하에 "최대 저장된 TTL 필드값"으로 지칭됨) 비교한다. 수신된 AKE 커맨드에 대한 TTL 필드값이 더 크면, 최대 저장된 TTL 필드값이 그 값으로 갱신된다. 최대 저장된 TTL 필드값이 더 크면, 변화가 없다. 소스 디바이스 A와 싱크 디바이스 B의 각각은 AKE 커맨드를 수신할 때마다 상술된 프로세싱을 반복적으로 수행한다.
소스 디바이스 A는, EXCHANGE_KEY 하위기능 커맨드의 송신 직전에 최대 저장 된 TTL 필드값이 3을 초과하지 않는지의 여부를 검사한다.
최대 저장된 TTL 필드값이 3을 초과하면, 이것은, 접속의 다른 쪽의 싱크 디바이스로부터 수신된 AKE 커맨드들의 적어도 일부에 대해 TTL 필드값이 3을 초과하고, 즉, 싱크 디바이스가 라우터 홉들의 수가 3을 초과하는 위치에 있다는 것을 의미한다. 그러므로, TTL 필드값이 3이나 그 이하로 설정되고 TTL 필드값이 3을 초과하는 IP 패킷이 버려지는 DTCP-IP 사양을 만족시키기 위해, 본 실시예에서, 소스 디바이스 A는 EXCHANGE_KEY 하위기능 커맨드를 송신하지 않고, 인증 실패로 인해 그 AKE 프로시져를 중단한다. 그러므로, 싱크 디바이스 B와의 인증은 성공적으로 완료되지 않았고, 전송 컨텐츠를 암호화와 복호화하는 키는 공유되지 않아서, 임의의 수신된 AKE 커맨드가 버려질 때의 것들과 유사한 장점들을 얻는다.
싱크 디바이스 B에게 인증 실패를 통지하는 메소드들로는 "개설된 TCP 접속을 단절하는" 메소드와 "싱크 디바이스 B로 AKE_CANCEL 하위기능 커맨드를 전송하는" 메소드를 포함한다. 통지된 싱크 디바이스 B는 AKE 커맨드를 전달하는 IP 패킷을 위한 재전송 프로시져를 활성화시키지 않는다.
최대 저장된 TTL 필드값이 3을 초과하지 않으면, 이것은, 접속의 다른 쪽의 싱크 디바이스 B로부터 수신된 AKE 커맨드들 중의 임의의 것에 대한 TTL 필드값이 3을 초과하지 않고, 즉, 싱크 디바이스 B가, 라우터 홉들의 수가 3이거나 그 이하인 위치에 있다는 것을 의미한다. 이 경우, TTL 필드값이 3이나 그 이하에 설정되는 DTCP-IP 규칙이 위배되지 않으며, 소스 디바이스 A는 EXCHANGE_KEY 하위기능 커맨드를 송신하여 후속적인 프로세싱을 계속한다.
유사하게, EXCHANGE_KEY 하위기능 커맨드의 수신 직후에, 싱크 디바이스 B는 최대 저장된 TTL 필드값이 3을 초과하지 않는지의 여부를 검사한다.
최대 저장된 TTL 필드값이 3을 초과하면, 이것은, 접속의 다른 쪽의 소스 디바이스로부터 수신된 AKE 커맨드들 중의 적어도 일부에 대한 TTL 필드값이 3을 초과했다는 것을 의미하고, 이것은 DTCP-IP 규칙을 위배한다. 그러므로, TTL 필드값이 3을 초과하는 IP 패킷이 버려진다. 이 실시예에서, 싱크 디바이스 B는 REJECTED 응답을 송신하고, AKE 프로시져를 중단한다. 다른 경우, 싱크 디바이스 B는, REJECTED 응답을 송신하지 않고, TCP 접속을 단절하는 것과 같은 프로세싱을 직접 수행할 수 있다. 그러므로, 소스 디바이스 A와의 인증이 성공적으로 완료되지 않았고, 전송 컨텐츠를 암호화하고 복호화하는 키가 공유되지 않아서, 임의의 수신된 AKE 커맨드가 버려질 때의 것들과 유사한 장점들을 얻는다.
최대 저장된 TTL 필드값이 3을 초과하지 않으면, 이것은, 접속의 다른 쪽의 소스 디바이스 A로부터 수신된 AKE 커맨드들 중의 임의의 것에 대한 TTL 필드값이 3을 초과하지 않고, 즉, 소스 디바이스 A가 라우터 홉들의 수가 3 또는 그 이하인 위치에 있다는 것을 의미한다. 이 경우, TTL 필드값이 3 또는 그 이하에 설정되는 DTCP-IP 규칙이 위배되지 않으며, 싱크 디바이스 B는 EXCHANGE_KEY 하위기능 커맨드에 응답하여 ACCEPTED 응답을 송신하여, 후속적 프로세싱을 계속한다.
AKE 커맨드들이 송수신되는 시간 기간에 걸쳐 TTL 필드값들을 모니터링하기 위해, TTL 필드값들을 연속하여 얻기 위해 IP 패킷들을 모니터링하고 단지 최대 TTL 필드값만이 저장되는 대신에, 그 시간 기간에 걸쳐 수신되는 모든 IP 패킷들의 TTL 필드값들이 저장되어 검사될 수 있다.
도 7은, AKE 커맨드를 전달하는 IP 패킷의 TTL 필드값이 3을 초과하지 않음을 검사하면서 AKE 프로시져를 수행하기 위한 소스 디바이스에 대한 프로세싱 프로시져를 도시하는 흐름도이다. 소스 디바이스에서 싱크 디바이스로 AKE 트리거 정보가 전달되기 전에 소스 디바이스가 싱크 디바이스로부터 AKE를 수용하기 위해 준비가 되었슴을 가정한다.
소스 디바이스가 AKE 트리거 정보에 지정된 포트 번호에 TCP 접속 개설 요청을 수신할 수 있는 모드로 소스 디바이스가 스위칭된다(단계 S1). 더 구체적으로, 소스 디바이스는 소켓 오브젝트를 생성하여 bind() 메소드와 listen() 메소드를 실행하고, 그것이 싱크 디바이스로부터 connect() 요청을 대기하는 모드로 스위칭된다.
그 다음, 소스 디바이스는 UPnP CDS 등을 사용하여 싱크 디바이스로 AKE 트리거 정보를 전달한다(단계 S2).
싱크 디바이스로부터 TCP 접속 개설 요청을 수신시(단계 S3), 소스 디바이스는 TCP 접속을 개설한다(단계 S4). 그 다음, 소스 디바이스는 IP 패킷의 TTL 필드값을 검사하는 프로세스를 활성화시키고(단계 S5), 그것이 싱크 디바이스와 TCP/IP 통신을 수행할 수 있는 모드로 진입한다. 더 구체적으로, 소스 디바이스는 accept() 메소드를 실행하여 소켓 오브젝트를 얻고, 그 소켓과 연관된 TTL 필드값 검사 프로세스를 활성화시켜서 그것이 recv()/send() 메소드에 의해 싱크 디바이스로(부터) 바이트 데이터를 송수신할 수 있는 모드로 진입한다. 이 시점에, 초기값 0이 최대 저장된 TTL 필드값으로 교체된다(단계 S6).
그러므로, 싱크 디바이스가 소스 디바이스와 TCP/IP 통신을 수행할 수 있는 모드로 스위칭된다. 더 구체적으로, 소스 디바이스가 TCP 접속 개설 요청을 수신할 수 있는 모드로 스위칭할 때 생성되는 소켓 오브젝트에 대해 recv()/send() 메소드에 의해 소스 디바이스로(부터) 바이트 데이터를 송수신할 수 있는 모드로 싱크 디바이스가 스위칭된다.
이 시점으로부터 AKE로써 인증과 키 교환 프로시져의 종료 직전까지의 시간 기간 동안, 또는 소스 디바이스가 EXCHANGE_KEY 하위기능 커맨드를 송신하기 위해 준비가 될 때까지, 소스 디바이스는 단계 S7 내지 S11의 프로세싱을 반복적으로 수행하여 DTCP-IP AKE에 의해 명시된 AKE 커맨드들을 송수신한다.
즉, AKE 커맨드를 수신시(단계 S8), 소스 디바이스는 AKE 커맨드에 프로세싱을 적시에 수행하여(단계 S7), AKE 커맨드를 전달하는 IP 패킷의 헤더로부터 TTL 필드값을 얻어서(단계 S9), 얻어진 TTL 필드값과 거기에 저장된 최대 TTL 필드값을 비교한다(이하에 "최대 저장된 TTL 필드값"으로서 지칭됨)(단계 S10). 수신된 AKE 커맨드에 대한 TTL 필드값이 더 크면, 최대 저장된 TTL 필드값은 그 값으로 갱신된다(단계 S11). 소스 디바이스는 AKE 커맨드를 수신할 때마다 상술된 프로세싱을 반복적으로 수행한다.
소스 디바이스가 EXCHANGE_KEY 하위기능 커맨드를 전송하기 위해 준비가 되었을 때, 소스 디바이스는 최대 저장된 TTL 필드값이 3을 초과하지 않는지의 여부를 검사한다(단계 S12).
최대 저장된 TTL 필드값이 3을 초과하지 않으면, 이것은, 접속의 다른 쪽의 싱크 디바이스로부터 수신된 AKE 커맨드들 중의 임의의 것에 대한 TTL 필드값이 3을 초과하지 않고, 즉, 싱크 디바이스가 라우터 홉들의 수가 3이거나 그 이하인 위치에 있다는 것을 의미한다. 이 경우, TTL 필드값이 3이거나 그 이하에 설정되는 DTCP-IP 규칙이 위배되지 않고, 소스 디바이스가 EXCHANGE_KEY 하위기능 커맨드를 송신하고(단계 S13), 및 후속적인 DTCP-IP AKE 프로세싱을 계속한다(단계 S14). 그 다음, 프로세싱 루틴이 종료한다.
소스 디바이스가 EXCHANGE_KEY 하위기능 커맨드를 송신하기 위해 준비될 때까지 프로세싱 프로시져에서 최대 저장된 TTL 필드값이 3을 초과하면(단계 S12), 이것은, 접속의 다른 쪽의 싱크 디바이스로부터 수신된 AKE 커맨드들 중의 적어도 일부에 대한 TTL 필드값이 3을 초과하는 것을 의미하고, 이것은 DTCP-IP 규칙을 위배하며, TTL 필드값이 3을 초과하는 IP 패킷은 버려진다.
소스 디바이스는 EXCHANGE_KEY 하위기능 커맨드를 송신하지 않고, 인증 실패로 인해 AKE 프로시져를 중단한다(단계 S15). 더 구체적으로, 소스 디바이스는 개설된 TCP 접속을 단절하거나, 또는 싱크 디바이스로 AKE_CANCEL 하위기능 커맨드를 전송한다. 그 다음, 프로세싱 루틴이 종료한다. 그러므로, 싱크 디바이스와의 인증이 성공적으로 완료되지 않았고, 전송 컨텐츠를 암호화와 복호화하기 위한 키가 공유되지 않아서, 임의의 수신된 AKE 커맨드가 버려질 때의 것들과 유사한 장점들을 얻는다.
도 8은, AKE 커맨드를 전달하는 IP 패킷의 TTL 필드값이 3을 초과하지 않는 다는 것을 검사하면서 싱크 디바이스가 AKE 프로시져를 수행하는 프로세싱 프로시져를 도시하는 흐름도이다. 소스 디바이스에서 싱크 디바이스로 AKE 트리거 정보가 전달되기 전에 소스 디바이스는 싱크 디바이스로부터 AKE를 수용하기 위해 준비가 되었슴을 가정한다.
먼저, UPnP CDS 등을 사용하여 소스 디바이스로부터 AKE 트리거 정보를 수신시(단계 S21), 싱크 디바이스는 TCP 접속의 개설을 위해 준비한다(단계 S22). 그 다음, 싱크 디바이스는 IP 패킷의 TTL 필드값을 검사하는 프로세스를 활성화시킨다(단계 S23). 더 구체적으로, 싱크 디바이스는 소켓 오브젝트를 생성하고, 소켓과 연관하여 TTL 필드값 검사 프로세스를 활성화시킨다. 이 시점에서, 초기값 0은 최대 저장된 TTL 필드값으로 교체된다(단계 S24).
그 다음, 싱크 디바이스는 AKE 트리거 정보에 지정된 IP 주소와 포트 번호를사용하여 소스 디바이스에게 TCP 접속 개설 요청을 발생시킨다(단계 S25). 더 구체적으로, 싱크 디바이스는 connect() 메소드를 실행한다.
그러므로, 싱크 디바이스가 소스 디바이스와 TCP/IP 통신을 수행할 수 있는 모드로 스위칭된다. 더 구체적으로, 소스 디바이스가 TCP 접속 개설 요청을 수신할 수 있는 모드로 스위칭될 때 생성되는 소켓 오브젝트에 대해 recv()/send() 메소드에 의해 소스 디바이스로(부터) 바이트 데이터를 송수신할 수 있는 모드로 싱크 디바이스가 스위칭된다.
이 시점으로부터 AKE로써 인증과 키 교환 프로시져의 종료 직전까지의 시간 기간 동안, 또는 싱크 디바이스가 EXCHANGE_KEY 하위기능 커맨드를 수신할 때까지, 싱크 디바이스는 단계 S27 내지 S31의 프로세싱을 반복적으로 수행하여 DTCP-IP AKE에 의해 명시된 AKE 커맨드들을 송수신한다.
즉, AKE 커맨드를 수신시(단계 S28), 싱크 디바이스는 AKE 커맨드 상에 프로세싱을 적시에 수행하여 AKE 커맨드를 전달하는 IP 패킷의 헤더로부터 TTL 필드값을 얻고(단계 S29), 얻어진 TTL 필드값과 거기에 저장된 최대 TTL 필드값을 비교한다(이하에 "최대 저장된 TTL 필드값"으로서 지칭됨)(단계 S30). 수신된 AKE 커맨드에 대한 TTL 필드값이 더 크면, 최대 저장된 TTL 필드값이 그 값으로 갱신된다(단계 S31). 싱크 디바이스는 AKE 커맨드를 수신할 때마다 상술된 프로세싱을 반복적으로 수행한다.
EXCHANGE_KEY 하위기능 커맨드의 수신 직후, 싱크 디바이스는 최대 저장된 TTL 필드값이 3을 초과하지 않는지의 여부를 검사한다(단계 S32).
최대 저장된 TTL 필드값이 3을 초과하지 않으면, 접속의 다른 쪽의 소스 디바이스로부터 수신되는 AKE 커맨드들 중의 임의의 것에 대한 TTL 필드값이 3을 초과하지 않고, 즉, 소스 디바이스가 라우터 홉들의 수가 3이거나 그 이하의 위치에 있다는 것을 의미한다. 이 경우, TTL 필드값이 3이거나 그 이하에 설정되는 DTCP-IP 규칙이 위배되지 않으며, 싱크 디바이스는 EXCHANGE_KEY 하위기능 커맨드에 응답하여 ACCEPTED 응답을 송신하고(단계 S33), 후속적 DTCP-IP AKE 프로세싱을 계속한다(단계 S34). 그 다음, 프로세싱 루틴이 종료한다.
싱크 디바이스가 EXCHANGE_KEY 하위기능 커맨드를 수신할 때까지 최대 저장된 TTL 필드값이 프로세싱 프로시져에서 3을 초과하면, 이것은, 접속의 다른 쪽의 소스 디바이스로부터 수신된 AKE 커맨드들 중의 적어도 일부에 대한 TTL 필드값이 3을 초과하는 것을 의미하며, 이것은 DTCP-IP 규칙을 위배하고, TTL 필드값이 3을 초과하는 IP 패킷은 버려진다.
그러므로, 싱크 디바이스는 AKE 프로시져를 중단한다(단계 S35). 더 구체적으로, 싱크 디바이스는, REJECTED 응답을 전송하거나 또는 REJECTED 응답을 전송하지 않고 TCP 접속을 직접 단절하는 것과 같은, 프로세싱을 수행한다. 그러므로, 소스 디바이스와의 인증은 성공적으로 완료되지 않았고, 전송 컨텐츠의 암호화와 복호화를 위한 키가 공유되지 않아서, 임의의 수신된 AKE 커맨드가 버려질 때의 것들과 유사한 장점들을 얻는다.
본 발명은 특정 실시예의 컨텍스트로 상세히 기재되었다. 그러나, 당업자라면 실시예로의 수정이나 교체를 본 발명의 범위를 벗어나지 않고 할 수 있슴을 이해할 것이다.
인증과 키 교환에 대한 AKE 커맨드들이 DTCP-IP-순응형 정보 통신 디바이스들 간에 전송되고 수신되는 일 실시예가 예를 통해 설명되었지만, 본 발명은 이 실시예에만 제한되지는 않는다. 저작권에 의해 보호되는 정보 컨텐츠가 IP 네트워크에서 전송되는 임의의 다른 정보 통신 시스템, 또는 정보가 미리 결정된 범위로 통신될 수 있는 상대방들의 범위를 제한하기 위해 IP 패킷의 헤더에 기록된 TTL 필드값을 사용하여 라우터 홉들의 수가 제한되는 임의의 다른 정보 통신 시스템이 또한 본 발명의 범위 내에 속할 것이다.
IPv4에 의해 명시되는, IP 헤더의 TTL 필드값이 본 명세서에서 라우터 홉들 의 수를 제한하기 위해 사용되지만, 본 발명은 거기에 제한되지 않고, 패킷의 라우터 홉들의 수를 기재하는 다른 제어 정보가 사용될 수도 있다.
TTL 필드값 외에도, IPv6에 의해 명시된, IP헤더의 홉 제한(Hop Limit) 필드값이 사용될 수 있다(예를 들어, 비특허문헌6 참조). 참조의 편의를 위해, IPv6에 의해 명시된 헤더 구조가 도 9에 도시된다. 홉 제한 값은 8-비트 부호없는 정수로 구성되고, IP 패킷이 노드에서 전송될 때마다 1만큼씩 감소된다. 홉 제한 값이 만기되는 IP 패킷이 이 노드에서 버려진다.(IPv6에 대한 홉 제한 값이 실질적으로 IPv4에 대한 TTL 필드의 것과 동일한 기능이다. IPv6를 위한 홉 제한 필드는 노드들 간에 전송되는 패킷이 통과할 수 있는 홉들의 최대 수만을 지정할 수 있으며, 시간을 지정하지 않고, IPv4를 위한 TTL 필드값은 홉들의 수만이 아니라 몇 초를 지정할 수 있다.)
요약하면, 본 발명은 실시예들을 통해 개시되었고, 본 명세서에 개시된 컨텐츠는 제한적으로 해석되어서는 안 된다. 본 발명의 범위는 첨부된 청구범위를 고려하여 결정되어야 한다.
당업자들이라면, 다양한 수정, 조합, 하위조합, 및 변경이 첨부된 청구항들 또는 그것들의 동격들의 범위 내에 있는 한 설계 요구사항들과 다른 요인들에 따라 발생할 수 있슴을 이해할 것이다.
본 발명에 따르면, IP 네트워크 상에서 라우터 홉들의 수를 제한하면서 IP 패킷의 전송을 적절히 행할 수 있는 우수한 정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터 프로그램을 제공할 수 있다. 또한,본 발명에 따르면, IP 네트워크 상의 다른 디바이스들 사이에서, 라우터 홉들의 수를 제한하면서, DTCP-IP에 기초한 상호 인증 및 키 교환(AKE)을 위한 AKE 커맨드를 적절히 송수신할 수 있는 우수한 정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터 프로그램을 제공할 수 있다. 또한, 본 발명에 따르면, 상호 인증 및 키 교환의 AKE 커맨드를 전달하는 IP 패킷의 헤더 내에 포함되는 TTL 필드값을 모니터링하면서, 인증 및 키 교환을 수행하는 상대방 디바이스의 범위를 미리 결정된 라우터 홉들의 수 이내로 제한할 수 있는, 우수한 정보 통신 시스템, 정보 통신 장치 및 정보 통신 방법, 및 컴퓨터 프로그램을 제공할 수 있다. 본 발명을 DTCP-IP 인증에 적용했을 경우, 인증을 행하는 쌍방의 정보 통신 장치는, 인증을 시작하고나서 종료하기 직전까지의 모니터링 기간에 수신한 AKE 커맨드마다의 헤더로부터 TTL 값들을 계속해서 모니터링해서, 수신하는 AKE 커맨드의 TTL 필드값의 최대값을 계속해서 갱신한다. 그리고, 인증 프로시져가 종료하기 직전에 TTL 필드값의 최대값을 검사하고, 이 최대값이 미리 결정된 값을 초과하면 키 교환을 수행하지 않고 인증 프로시져를 중단함으로써, 키 교환을 수행하는 상대편을 미리 결정된 라우터 홉들의 수 범위 내에 제한할 수 있다.  DTCP 애플리케이션이 TTL 필드값을 얻기 위해, 패킷 캡쳐 기능을 제공하는 libpcap를 이용하여 GPL을 피한 개발이 가능하다. 실제로, libpcap은 BSD 라이센스이므로, 이 라이브러리를 이용한 바이너리를 배포하는 것에 있어서 저작권 표시를 행하는 것으로 충분하다. 즉, 본 발명에 따르면, DTCP-IP에 기초한 상호 인증 및 키 교환(AKE)의 수속에 있어서 실시하는 TTL 필드값의 검사 프로세싱 기능 을, 외부 라이브러리를 이용함으로써 실현할 수 있다. 따라서,OS에 깊게 관련되는 커널(kernel)등의 코드를 변경할 필요가 없다. 물론, OS의 코드를 변경할 경우에 비해 개발 비용이 훨씬 적게 든다. 또한, 다른 사용자나 프로세스와 공유하지 않고 TTL 필드값의 검사 프로세싱에 관련된 제어를 실현할 수 있으므로,다른 사용자 등의 개입에 의해 멋대로 제어될 염려가 없다.

Claims (15)

  1. 정보 통신 시스템으로서,
    IP 네트워크를 통해 IP 패킷들을 교환하는 정보 통신 디바이스들을 포함하고,
    라우터 홉들의 수가 미리 결정된 제어값 또는 그 이하로 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때, 정보 통신 디바이스들의 각각은, 상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간에 걸쳐 수신된 IP 패킷들의 헤더들에 지정된 타임-투-리브(Time-To-Live;TTL) 값들을 모니터하여 모니터된 TTL 값들 중의 최대 TTL 값을 계속 갱신하고, 상기 최대 TTL 값이 상기 제어값을 초과하지 않는지를 검사하는
    정보 통신 시스템.
  2. 제1항에 있어서,
    상기 정보 통신 디바이스들의 각각은, 상기 미리 결정된 패킷 교환 프로시져의 종료 직전에 상기 최대 TTL 값이 상기 제어값을 초과하지 않는지를 검사하고,
    상기 TTL 값이 상기 제어값과 동일하거나 또는 그 이하일 때, 상기 정보 통신 디바이스들의 각각이 후속적인 패킷 전송과 수신 프로세싱을 수행하여 상기 미리 결정된 패킷 교환 프로시져를 완료하고,
    상기 최대 TTL 값이 상기 제어값을 초과할 때, 상기 정보 통신 디바이스들의 각각은 상기 후속 패킷 전송과 수신 프로세싱을 수행하지 않고 상기 미리 결정된 패킷 교환 프로시져를 중단하는
    정보 통신 시스템.
  3. 제1항에 있어서,
    상기 미리 결정된 패킷 교환 프로시져는 DTCP-IP에 따른 인증과 키 교환 프로시져를 포함하고,
    상기 정보 통신 디바이스들의 각각은 AKE 커맨드들을 전달하는 IP 패킷들의 헤더의 TTL 값들을 모니터링하는
    정보 통신 시스템.
  4. 제3항에 있어서,
    상기 정보 통신 디바이스들은 소스 디바이스와 싱크 디바이스를 포함하고,
    상기 소스 디바이스가 DTCP-IP에 따라 상기 싱크 디바이스로 컨텐츠를 배포할 때, AKE 커맨드들을 전송하고 수신하는 TCP 접속 직후로부터, 상기 소스 디바이스는 상기 TCP 접속을 통해 송수신되는 IP 패킷들을 모니터링하여 상기 IP 패킷들의 TTL 값들을 얻어서 상기 얻어진 TTL 값들 중의 최대 TTL 값을 계속 갱신하고, EXCHANGE_KEY 하위기능 커맨드의 전송 직전에 상기 최대 TTL 값이 상기 제어값과 같거나 그 이하인지를 검사하고,
    상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하일 때, 상기 소스 디 바이스는 상기 EXCHANGE_KEY 하위기능 커맨드를 전송하기를 진행하고,
    상기 최대 TTL 값이 상기 제어값을 초과할 때, 상기 소스 디바이스는 상기 EXCHANGE_KEY 하위기능 커맨드를 전송하지 않고 인증과 키 교환 프로시져를 중단하는
    정보 통신 시스템.
  5. 제3항에 있어서,
    상기 정보 통신 디바이스들은 소스 디바이스와 싱크 디바이스를 포함하고,
    상기 싱크 디바이스가 DTCP-IP에 따라서 상기 소스 디바이스로부터 컨텐츠를 얻을 때, AKE 커맨드들을 송수신하는 TCP 접속이 개설된 직전으로부터, 상기 싱크 디바이스는 상기 TCP 접속을 통해 송수신되는 IP 패킷들을 모니터링하여, 상기 IP 패킷들의 TTL 값들을 얻어서 상기 얻어진 TTL 값들 중의 최대 TTL 값을 계속 갱신하고, EXCHANGE-KEY 하위기능 커맨드의 수신 직후에 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하인지를 검사하고,
    상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하일 때, 상기 싱크 디바이스는 상기 EXCHANGE_KEY 하위기능 커맨드에 응답하여 ACCEPTED 응답을 전송하기를 진행하고,
    상기 최대 TTL 값이 상기 제어값을 초과할 때, 상기 싱크 디바이스는 상기 인증과 키 교환 프로시져를 즉시 중단하는
    정보 통신 시스템.
  6. IP 네트워크를 통해 제2 정보 통신 장치와 IP 패킷들을 교환하는 정보 통신 장치로서,
    라우터 홉들의 수가 미리 결정된 제어값 또는 그 이하로 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때, 상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 모니터링 시간에 걸쳐 수신되는 IP 패킷들의 헤더에 지정된 TTL 값들을 모니터링하는 IP 헤더 모니터링 수단;
    상기 모니터링 시간 동안 상기 모니터링된 TTL 값들 중의 최대 TTL 값을 저장하면서 계속 갱신하는 최대 TTL 값 저장 수단; 및
    상기 최대 TTL 값이 상기 제어값을 초과하지 않는지의 여부를 검사하는 TTL 값 검사 수단
    을 포함하는 정보 통신 장치.
  7. 제6항에 있어서, 상기 TTL 값 검사 수단이 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하라고 결정할 때 상기 미리 결정된 패킷 교환 프로시져를 완료하기 위해 연속적 패킷 전송과 수신 프로세싱을 수행하고, 상기 TTL 값 검사 수단이 상기 최대 TTL 값이 상기 제어값을 초과한다고 결정할 때 상기 연속적 패킷 전송과 수신 프로세싱을 수행하지 않고 상기 미리 결정된 패킷 교환 프로시져를 중단하는 패킷 교환 프로시져 제어 수단을 더 포함하는 정보 통신 장치.
  8. 제7항에 있어서,
    상기 미리 결정된 패킷 교환 프로시져는 DTCP-IP에 따른 인증과 키 교환 프로시져를 포함하고,
    상기 IP 헤더 모니터링 수단은 AKE 커맨드들을 전달하는 IP 패킷들의 헤더의 TTL 값들을 모니터링하는
    정보 통신 장치.
  9. 제8항에 있어서,
    상기 정보 통신 장치는 소스 디바이스이며, 상기 제2 정보 통신 장치는 싱크 디바이스이고,
    상기 정보 통신 장치가 DTCP-IP에 따른 상기 제2 정보 통신 장치로 컨텐츠를 배포할 때, AKE 커맨드들을 송수신하기 위한 TCP 접속의 직후로부터, 상기 IP 헤더 모니터링 수단은 상기 TCP 접속을 통해 송수신되는 IP 패킷들을 모니터링하여 상기 IP 패킷들의 TTL 값들을 얻고,
    상기 최대 TTL 값 저장 수단은 상기 얻어진 TTL 값들 중의 최대 TTL 값을 계속 갱신하고,
    상기 TTL 값 검사 수단은, EXCHANGE_KEY 하위기능 커맨드의 전송 직전에, 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하인지의 여부를 검사하고,
    상기 패킷 교환 프로시져 제어 수단은, 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하일 때, 상기 EXCHANGE_KEY 하위기능 커맨드를 전송하도록 진행하고, 상기 최대 TTL 값이 상기 제어값을 초과할 때, 상기 EXCHANGE_KEY 하위기능 커맨드를 전송하지 않고 상기 인증과 키 교환 프로시져를 중단하는
    정보 통신 장치.
  10. 제8항에 있어서,
    상기 정보 통신 장치는 싱크 디바이스이며, 상기 제2 정보 통신 장치는 소스 디바이스이고,
    상기 정보 통신 장치가 DTCP-IP에 따라 상기 제2 정보 통신 장치로부터 컨텐츠를 얻을 때, AKE 커맨드들을 송수신하는 TCP 접속 직전으로부터, 상기 IP 헤더 모니터링 수단은 상기 TCP 접속을 통해 송수신되는 IP 패킷들을 모니터링하여 상기 IP 패킷들의 TTL 값들을 얻고,
    상기 최대 TTL 값 저장 수단은 상기 얻어진 TTL 값들 중의 최대 TTL 값을 계속 갱신하고,
    상기 TTL 값 검사 수단이, EXCHANGE_KEY 하위기능 커맨드가 수신된 직후에, 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하인지의 여부를 검사하고,
    상기 패킷 교환 프로시져 제어 수단은, 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하일 때, 상기 EXCHANGE_KEY 하위기능 커맨드에 응답하여 ACCEPTED 응답을 전송하도록 진행하고, 상기 최대 TTL 값이 상기 제어값을 초과할 때, 상기 인증과 키 교환 프로시져를 즉시 중단하는
    정보 통신 장치.
  11. 정보 통신 장치가 IP 네트워크를 통해 제2 정보 통신 장치와 IP 패킷들을 교환하는 정보 통신 방법으로서,
    라우터 홉들의 수가 미리 결정된 제어값이나 그 이하로 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때,
    상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 모니터링 시간에 걸쳐 수신되는 IP 패킷들의 헤더에 지정된 TTL 값들을 모니터링하는 단계;
    상기 모니터링 시간 동안 상기 모니터링된 TTL 값들 중의 최대 TTL 값을 저장하면서 계속 갱신하는 단계;
    상기 최대 TTL 값이 상기 제어값을 초과하지 않는지의 여부를 검사하는 단계;
    상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간 기간 동안 모니터링된 패킷들로부터 추출된 TTL 값들 중의 최대 TTL 값이 상기 제어값과 동일하거나 그 이하일 때, 상기 미리 결정된 패킷 교환 프로시져를 완료하기 위해 연속적인 패킷 송신과 수신 프로세싱을 수행하여 상기 미리 결정된 패킷 교환 프로시져를 계속하는 단계; 및
    상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간 기간 동안에 모니터링된 패킷들로부터 추출된 TTL 값들 중의 최대 TTL 값이 상기 제어값을 초과할 때 상기 연속적인 패킷 전송과 수신 프로세싱을 수행하지 않고 상기 미리 결정된 패킷 교환 프로시져를 중단하는 단계
    를 포함하는 정보 통신 방법.
  12. 제11항에 있어서,
    상기 정보 통신 장치는 소스 디바이스이며, 상기 제2 통신 디바이스는 싱크 디바이스이고,
    DTCP-IP에 따라 상기 제2 정보 통신 장치로 컨텐츠를 배포할 때,
    상기 모니터링 단계에서, AKE 커맨드들을 송수신하는 TCP 접속이 개설된 직후로부터, 상기 TCP 접속을 통해 송수신되는 IP 패킷들은 상기 IP 패킷들의 TTL 값들을 얻기 위해 모니터링되고,
    상기 저장 단계에서, 상기 얻어진 TTL 값들 중의 최대 TTL 값은 계속 갱신되고,
    상기 검사 단계에서, EXCHANGE_KEY 하위기능 커맨드가 전송되는 직전에 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하인지의 여부가 검사되고,
    상기 계속 단계에서, 상기 최대 TTL 값이 상기 제어값과 동일하거니 그 이하일 때, EXCHANGE_KEY 하위기능 커맨드가 전송되고,
    상기 중단 단계에서, 상기 최대 TTL 값이 상기 제어값을 초과할 때, 상기 미리 결정된 패킷 교환 프로시져가 상기 EXCHANGE_KEY 하위기능 커맨드를 전송하지 않고 중단되는
    정보 통신 방법.
  13. 제11항에 있어서,
    상기 정보 통신 장치는 싱크 디바이스이며, 상기 제2 정보 통신 장치는 소스 디바이스이고,
    DTCP-IP에 따라서 상기 제2 정보 통신 장치로부터 컨텐츠를 얻을 때,
    상기 모니터링 단계에서, AKE 커맨드들을 송수신하는 TCP 접속이 개설되기 직전으로부터, 상기 TCP 접속을 통해 송수신되는 IP 패킷들은 상기 IP 패킷들의 TTL 값들을 얻기 위해 모니터링되고,
    상기 저장 단계에서, 상기 얻어진 TTL 값들 중의 최대 TTL 값은 계속 갱신되고,
    상기 검사 단계에서, EXCHANGE_KEY 하위기능 커맨드가 수신되는 직후에 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하인지의 여부가 검사되고,
    상기 계속 단계에서, 상기 최대 TTL 값이 상기 제어값과 동일하거나 그 이하일 때 상기 EXCHANGE_KEY 하위기능 커맨드에 응답하여 ACCEPTED 응답이 전송되고,
    상기 종료 단계에서, 상기 최대 TTL 값이 상기 제어값을 초과할 때 상기 미리 결정된 패킷 교환 프로시져가 즉시 중단되는
    정보 통신 방법.
  14. IP 네트워크를 통해 다른 정보 통신 장치와 IP 패킷들을 교환하는 프로세스를 컴퓨터 시스템 상에서 실행하는 컴퓨터-판독가능 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 상기 컴퓨터 시스템으로 하여금,
    라우터 홉들의 수가 미리 결정된 제어값 또는 그 이하에 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때,
    상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 모니터링 시간에 걸쳐 수신된 IP 패킷들의 헤더에 지정된 TTL 값들을 모니터링하는 단계;
    상기 모니터링 시간 동안 상기 모니터링된 TTL 값들 중의 최대 TTL 값을 저장하면서 계속 갱신하는 단계;
    상기 최대 TTL 값이 상기 제어값을 초과하지 않는지의 여부를 검사하는 단계;
    상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간 기간에 걸쳐 모니터링된 패킷들로부터 추출된 TTL 값들 중의 최대 TTL 값이 상기 제어값과 동일하거나 그 이하일 때, 상기 미리 결정된 패킷 교환 프로시져를 완료하기 위해 연속적인 패킷 송수신 프로세싱을 수행하여 상기 미리 결정된 패킷 교환 프로시져를 계속하는 단계; 및
    상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료 직전까지의 시간 기간에 걸쳐 모니터링된 패킷들로부터 추출된 TTL 값들 중의 최대 TTL 값이 상기 제어값을 초과할 때, 상기 후속적 패킷 송수신 프로세싱을 수행하지 않고 상기 미리 결정된 패킷 교환 프로시져를 종료하는 단계
    를 실행하도록 하는 컴퓨터-판독가능한 컴퓨터 프로그램.
  15. IP 네트워크를 통해 제2 정보 통신 장치와 IP 패킷들을 교환하는 정보 통신 장치로서,
    라우터 홉들의 수가 미리 결정된 제어값 또는 그 이하에 제한되는 미리 결정된 패킷 교환 프로시져를 수행할 때, 상기 미리 결정된 패킷 교환 프로시져의 시작으로부터 상기 미리 결정된 패킷 교환 프로시져의 종료의 직전까지의 모니터링 시간에 걸쳐 수신되는 IP 패킷들의 헤더에 지정된 TTL 값들을 모니터링하는 IP 헤더 모니터링부;
    상기 모니터링 시간 동안 상기 모니터링된 TTL 값들 중의 최대 TTL 값을 저장하면서 계속 갱신하는 최대 TTL 값 저장부; 및
    상기 최대 TTL 값이 상기 제어값을 초과하지 않는지의 여부를 검사하는 TTL 값 검사부
    를 포함하는 정보 통신 장치.
KR20060068572A 2005-07-22 2006-07-21 정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터프로그램 KR20070012266A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00212631 2005-07-22
JP2005212631A JP4674502B2 (ja) 2005-07-22 2005-07-22 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
KR20070012266A true KR20070012266A (ko) 2007-01-25

Family

ID=37657257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20060068572A KR20070012266A (ko) 2005-07-22 2006-07-21 정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터프로그램

Country Status (4)

Country Link
US (1) US7987359B2 (ko)
JP (1) JP4674502B2 (ko)
KR (1) KR20070012266A (ko)
CN (1) CN100539550C (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9198084B2 (en) * 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US20080045149A1 (en) * 2006-05-26 2008-02-21 Dinesh Dharmaraju Wireless architecture for a traditional wire-based protocol
JP4737035B2 (ja) * 2006-10-30 2011-07-27 日本電気株式会社 QoSルーティング方法およびQoSルーティング装置
EP1928144A1 (en) * 2006-11-29 2008-06-04 Thomson Licensing Methods and a device for secure distance calculation in communication networks
JP4764810B2 (ja) * 2006-12-14 2011-09-07 富士通株式会社 異常トラヒック監視装置、エントリ管理装置およびネットワークシステム
FR2913152A1 (fr) * 2007-02-22 2008-08-29 Canon Kk Procede de surveillance d'execution d'un protocole de communication, produit programme d'ordinateur, moyen de stockage et dipositifs correspondants
US8539570B2 (en) * 2007-06-22 2013-09-17 Red Hat, Inc. Method for managing a virtual machine
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US8191141B2 (en) 2007-06-22 2012-05-29 Red Hat, Inc. Method and system for cloaked observation and remediation of software attacks
US9588821B2 (en) 2007-06-22 2017-03-07 Red Hat, Inc. Automatic determination of required resource allocation of virtual machines
US8984504B2 (en) 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US8429748B2 (en) * 2007-06-22 2013-04-23 Red Hat, Inc. Network traffic analysis using a dynamically updating ontological network description
US8667144B2 (en) * 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
US8645524B2 (en) 2007-09-10 2014-02-04 Microsoft Corporation Techniques to allocate virtual network addresses
US8074279B1 (en) * 2007-12-28 2011-12-06 Trend Micro, Inc. Detecting rogue access points in a computer network
US20090207753A1 (en) * 2008-02-15 2009-08-20 Paul Bieganski Systems and methods for power consumption data networks
US20090210178A1 (en) * 2008-02-15 2009-08-20 Paul Bieganski Systems and methods for producing power consumption data
US8307417B2 (en) * 2008-03-06 2012-11-06 Hewlett-Packard Development Company, L.P. Port enablement
US8811294B2 (en) * 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US20100205321A1 (en) * 2009-02-12 2010-08-12 Qualcomm Incorporated Negotiable and adaptable periodic link status monitoring
EP2252030B1 (en) 2009-05-14 2017-07-19 Hitachi Maxell, Ltd. Content transmitter and receiver apparatus and content transmitting and receiving method
US9264248B2 (en) * 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
JP2011082952A (ja) 2009-09-09 2011-04-21 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピューター・プログラム
JP5614016B2 (ja) 2009-09-09 2014-10-29 ソニー株式会社 通信システム、通信装置及び通信方法、コンピューター・プログラム、並びに、コンテンツ提供装置及びコンテンツ提供方法
WO2011052121A1 (ja) * 2009-10-30 2011-05-05 パナソニック株式会社 Avデータ受信装置、avデータ受信方法及びavデータ送受信システム
US9582238B2 (en) * 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
JP5652036B2 (ja) 2010-07-29 2015-01-14 ソニー株式会社 通信システム、通信装置及び通信方法、並びにコンピューター・プログラム
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) * 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) * 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
JP5857451B2 (ja) * 2011-06-03 2016-02-10 富士通株式会社 配信方法及び配信システム
JP5931362B2 (ja) 2011-07-01 2016-06-08 日立マクセル株式会社 コンテンツ送信装置及びコンテンツ送信方法
JP5899687B2 (ja) 2011-07-15 2016-04-06 ソニー株式会社 通信装置及び通信方法、通信システム、並びにコンピューター・プログラム
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
JP2014013972A (ja) * 2012-07-03 2014-01-23 Sony Corp 通信装置及び通信方法、通信システム、並びにコンピューター・プログラム
US10187315B2 (en) * 2012-09-06 2019-01-22 Apple Inc. Apparatus and method for optimizing communications at an intermittent communication link
JP6538644B2 (ja) * 2013-03-15 2019-07-03 ザ・ボーイング・カンパニーThe Boeing Company ルータの物理的位置に基づくセキュアな経路制御
US9077652B2 (en) * 2013-09-30 2015-07-07 Silicon Laboratories Inc. Methods for limiting number of routers in a mesh network
JP5865939B2 (ja) * 2014-04-09 2016-02-17 日立マクセル株式会社 コンテンツ送信装置及びコンテンツ送信方法
KR20170002510A (ko) 2014-05-01 2017-01-06 닛본 덴끼 가부시끼가이샤 통신 장치, 제어 장치, 통신 시스템, 수신 패킷의 처리 방법, 통신 장치의 제어 방법 및 프로그램
JP6064026B2 (ja) * 2015-12-24 2017-01-18 日立マクセル株式会社 コンテンツ送受信装置及びそれに適用されるコンテンツ送信方法
US10229856B2 (en) * 2017-05-16 2019-03-12 International Business Machines Corporation Dual channel CMOS having common gate stacks

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3638742B2 (ja) * 1996-11-29 2005-04-13 アンリツ株式会社 ルータ
US6067569A (en) * 1997-07-10 2000-05-23 Microsoft Corporation Fast-forwarding and filtering of network packets in a computer system
US6452915B1 (en) * 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US6839759B2 (en) * 1998-10-30 2005-01-04 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network without user entering any cryptographic information
US6381649B1 (en) * 1999-02-05 2002-04-30 Pluris, Inc. Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds
WO2000056024A2 (en) * 1999-03-17 2000-09-21 Broadcom Corporation Network switch
AU5920000A (en) 1999-07-09 2001-02-13 Malibu Networks, Inc. Method for transmission control protocol (tcp) rate control with link-layer acknowledgements in a wireless point to multi-point (ptmp) transmission system
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US7194766B2 (en) * 2001-06-12 2007-03-20 Corrent Corporation Method and system for high-speed processing IPSec security protocol packets
US6665611B1 (en) * 2001-06-19 2003-12-16 Cisco Technology, Inc. System for discovering and maintaining geographic location information in a computer network to enable emergency services
JP3844686B2 (ja) * 2001-12-13 2006-11-15 株式会社エヌ・ティ・ティ・ドコモ ルータ装置、端末装置、通信システム及びルーティング方法
JP2003256310A (ja) * 2002-03-05 2003-09-12 Nec Corp サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム
JP3826100B2 (ja) * 2002-11-27 2006-09-27 株式会社東芝 通信中継装置、通信システム及び通信制御プログラム
US7188245B2 (en) * 2002-12-09 2007-03-06 Kabushiki Kaisha Toshiba Contents transmission/reception scheme with function for limiting recipients
GB0303192D0 (en) * 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks
JP3808839B2 (ja) * 2003-03-17 2006-08-16 株式会社東芝 コンテンツ送信装置、コンテンツ受信装置、コンテンツ送信方法及びコンテンツ受信方法
JP4069818B2 (ja) * 2003-07-17 2008-04-02 株式会社日立製作所 帯域監視方法及び帯域監視機能を備えたパケット転送装置
EP1667146A4 (en) * 2003-08-26 2008-11-19 INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, COMPUTER PROGRAM CARRIED OUT IN AN INFORMATION PROCESSING SYSTEM
US7421737B1 (en) * 2004-05-04 2008-09-02 Symantec Corporation Evasion detection

Also Published As

Publication number Publication date
JP4674502B2 (ja) 2011-04-20
CN100539550C (zh) 2009-09-09
CN1901512A (zh) 2007-01-24
JP2007036351A (ja) 2007-02-08
US20070022195A1 (en) 2007-01-25
US7987359B2 (en) 2011-07-26

Similar Documents

Publication Publication Date Title
JP4674502B2 (ja) 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
US7870261B2 (en) Information processing device, an information processing method, and a computer program to securely connect clients on an external network to devices within an internal network
US8510549B2 (en) Transmission of packet data over a network with security protocol
TWI362859B (ko)
JP4101839B2 (ja) セッション制御サーバ及び通信システム
US9350541B2 (en) Communication apparatus, communication method, communication system, and computer program
US20080133915A1 (en) Communication apparatus and communication method
US20210176051A1 (en) Method, devices and computer program product for examining connection parameters of a cryptographically protected communication connection during establishing of the connection
CN100376092C (zh) 防火墙与入侵检测系统联动的方法
JP4720576B2 (ja) ネットワークセキュリィテイ管理システム、暗号化通信の遠隔監視方法及び通信端末。
KR20110043371A (ko) 보안 기능을 제공하는 안전한 에스아이피 프로토콜을 이용한 공격 탐지 방법 및 시스템
KR101421241B1 (ko) 네트워크에서의 보안 시스템 및 방법
JP4866150B2 (ja) Ftp通信システム、ftp通信プログラム、ftpクライアント装置及びftpサーバ装置
CN102148704A (zh) 一种加密型交换机通用网管接口的软件实现方法
WO2024001885A1 (zh) 数据传输方法、电子设备及计算机存储介质
JP4736603B2 (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
TW200841672A (en) Relaying apparatus
JP4783665B2 (ja) メールサーバ装置
Dudani Virtual private networks for peer-to-peer infrastructures
JP4675982B2 (ja) セッション制御サーバ、通信装置、通信システムおよび通信方法、ならびにそのプログラムと記録媒体
JP2007324726A (ja) ファイル共有サーバ装置、クライアント装置、印刷装置、ファイル共有システム、ファイル共有プログラム
JP2007295272A (ja) 中継装置
JP2007036952A (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP2007329750A (ja) 暗号化通信システム
KR20090032072A (ko) 중계장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid