KR102134429B1 - 컨텐츠 검증 방법 및 장치 - Google Patents

컨텐츠 검증 방법 및 장치 Download PDF

Info

Publication number
KR102134429B1
KR102134429B1 KR1020130118832A KR20130118832A KR102134429B1 KR 102134429 B1 KR102134429 B1 KR 102134429B1 KR 1020130118832 A KR1020130118832 A KR 1020130118832A KR 20130118832 A KR20130118832 A KR 20130118832A KR 102134429 B1 KR102134429 B1 KR 102134429B1
Authority
KR
South Korea
Prior art keywords
content
node
mac
network
router
Prior art date
Application number
KR1020130118832A
Other languages
English (en)
Other versions
KR20150040174A (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 KR1020130118832A priority Critical patent/KR102134429B1/ko
Priority to PCT/KR2014/003402 priority patent/WO2015050302A1/en
Priority to US14/276,261 priority patent/US20150100668A1/en
Publication of KR20150040174A publication Critical patent/KR20150040174A/ko
Application granted granted Critical
Publication of KR102134429B1 publication Critical patent/KR102134429B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • H04L9/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

네트워크 내의 중간 노드는 컨텐츠에 대한 정보에 기반하여 컨텐츠에 대한 조기 검증을 수행할지 여부를 결정할 수 있다. 컨텐츠에 대한 조기 검증을 통해, 중간 노드는 컨텐츠에 대한 추가적인 정보를 생성할 수 있다. 말단 노드는 중간 노드로부터 수신한 추가적인 정보를 사용하여 전송된 컨텐츠가 유효한지 여부를 판단할 수 있다.

Description

컨텐츠 검증 방법 및 장치{METHOD AND APPARATUS FOR CONTENT VERIFICATION}
아래의 실시예들은 컨텐츠를 검증하기 위한 방법 및 장치에 관한 것으로, 보다 상세히는 컨텐츠 중심의 네트워크에서 배포되는 컨텐츠의 검증에 대한 방법 및 장치가 개시된다.
컨텐츠 중심의 네트워크(Content Centric Networking; CCN)는 데이터 서비스에 대해 컨텐츠 중심의 전송 방식을 제공하는 기술이 적용된 네트워크이다. CCN에 의해 더 빠르고, 네트워크 공격에 더 강한 서비스가 제공될 수 있다.
CCN에서, 컨텐츠가 안전하게 배포되기 위해서는, 컨텐츠의 무결성(integrity) 및 인증(authentication)이 체크될 수 있어야 한다.
무결성 및 인증의 체크를 위해서 전자적 서명이 사용될 수 있다. 전자적 서명은 서명자의 비밀 키를 이용하여 생성될 수 있고, 서명자의 공개 키를 이용하여 검증될 수 있다. 서명의 생성 및 검증은 수학적 알고리즘에 기반한다. 따라서, 서명의 생성 및 검증에 있어서 큰 연산 부하가 발생할 수 있다.
CCN에서 컨텐츠를 안전하게 배포하기 위해, 컨텐츠의 생성자는 컨텐츠에 대한 서명을 생성할 수 있고, 생성된 서명을 실제 컨텐츠와 연결하여(concatenating) 전송할 수 있다. 컨텐츠를 수신하는 CCN의 네트워크 노드들은 컨텐츠에 대한 서명을 검증함으로써 컨텐츠의 유효성을 판단할 수 있다.
일 측에 따르면, 네트워크 내의 노드가 컨텐츠를 제공하는 방법에 있어서, 상기 네트워크 내의 제1 노드로부터 상기 컨텐츠의 요청을 수신하는 단계, 상기 컨텐츠에 대한 정보에 기반하여 상기 컨텐츠를 검증할지 여부를 결정하는 단계, 상기 컨텐츠를 검증하지 않는 것으로 결정된 경우 상기 컨텐츠를 상기 제1 노드로 전송하는 단계 및 상기 컨텐츠를 검증하는 것으로 결정된 경우 상기 컨텐츠를 검증한 후 상기 컨텐츠를 상기 제1 노드로 전송하는 단계를 포함하는 컨텐츠 제공 방법이 제공된다.
상기 네트워크는 인프라 기반의 컨텐츠 중심의 네트워크(Content Centric Networking; CCN)일 수 있다.
상기 노드는 CCN 라우터(router)일 수 있다.
상기 네트워크는 애드혹 (adhoc) CCN일 수 있다.
상기 노드는 캐싱 노드(caching node)일 수 있다.
상기 정보는 상기 컨텐츠의 인기도일 수 있다.
상기 인기도는 상기 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수에 기반하여 결정될 수 있다.
상기 노드는 팬딩 인터레스트 테이블(Pending Interest Table; PIT)를 사용하여 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수를 계산할 수 있다.
상기 PIT는 하나 이상의 엔트리들을 포함할 수 있다.
상기 하나 이상의 엔트리들의 각 엔트리는 상기 각 엔트리에 대응하는 컨텐츠의 명칭, 상기 대응하는 컨텐츠가 요청된 상기 노드의 하나 이상의 페이스들의 목록 및 상기 하나 이상의 페이스들의 각각을 통해 전송된 대응하는 컨텐츠의 요청의 MAC (Message Authentication Code) 키를 포함할 수 있다.
상기 결정하는 단계는, 상기 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수가 소정의 값 이상이면 상기 컨텐츠를 검증할 것을 결정할 수 있고, 상기 개수가 상기 소정의 값보다 더 작으면 상기 컨텐츠를 검증하지 않을 것을 결정할 수 있다.
상기 컨텐츠를 검증하는 것으로 결정된 경우 상기 컨텐츠를 검증한 후 상기 컨텐츠를 상기 제1 노드로 전송하는 단계는, 상기 컨텐츠의 서명 검증을 수행하는 단계, 상기 서명 검증에 기반하여 상기 컨텐츠가 유효한 것인지를 판단하는 단계, 상기 컨텐츠의 MAC을 생성하는 단계 및 상기 컨텐츠 및 상기 MAC을 상기 제1 노드로 전송하는 단계를 포함할 수 있다.
상기 컨텐츠의 MAC을 생성하는 단계는 상기 노드에게 상기 컨텐츠를 요청한 노드들의 각각의 MAC 키를 사용함으로써 상기 컨텐츠의 MAC들을 생성할 수 있다.
상기 컨텐츠 및 상기 MAC을 상기 제1 노드로 전송하는 단계는 상기 생성된 MAC들을 상기 제1 노드로 전송할 수 있다.
상기 컨텐츠의 요청은 상기 컨텐츠의 명칭을 포함할 수 있고, 상기 노드의 공개 키를 사용하여 상기 제1 노드의 MAC 키를 암호화한 값을 포함할 수 있다.
상기 컨텐츠 제공 방법은, 상기 네트워크 내의 제2 노드에게 상기 컨텐츠를 요청하는 단계 및 상기 제2 노드로부터 상기 컨텐츠를 수신하는 단계를 더 포함할 수 있다.
다른 일 측에 따르면, 네트워크 내의 노드에 있어서, 상기 네트워크 내의 제1 노드로부터 상기 컨텐츠의 요청을 수신하는 네트워킹부 및 상기 컨텐츠에 대한 정보에 기반하여 상기 컨텐츠를 검증할지 여부를 결정하는 처리부를 포함하고, 상기 컨텐츠를 검증하지 않는 것으로 결정된 경우 상기 네트워킹부는 상기 컨텐츠를 상기 제1 노드로 전송하고, 상기 컨텐츠를 검증하는 것으로 결정된 경우 상기 처리부는 상기 컨텐츠를 검증하고, 상기 네트워킹부는 상기 컨텐츠를 상기 제1 노드로 전송하는 노드가 제공된다.
상기 정보는 상기 컨텐츠의 인기도일 수 있다.
상기 인기도는 상기 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수에 기반하여 결정될 수 있다.
상기 처리부는 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수가 소정의 값 이상이면 상기 컨텐츠를 검증할 것을 결정할 수 있고, 상기 개수가 상기 소정의 값보다 더 작으면 상기 컨텐츠를 검증하지 않을 것을 결정할 수 있다.
상기 컨텐츠를 검증하는 것으로 결정된 경우, 상기 처리부는 상기 컨텐츠의 서명 검증을 수행하고, 상기 서명 검증에 기반하여 상기 컨텐츠가 유효한 것인지를 판단하고, 상기 컨텐츠의 MAC을 생성할 수 있고, 상기 네트워킹부는 상기 컨텐츠 및 상기 MAC을 상기 제1 노드로 전송할 수 있다.
상기 처리부는 상기 노드에게 상기 컨텐츠를 요청한 노드들의 각각의 MAC 키를 사용함으로써 상기 컨텐츠의 MAC들을 생성할 수 있다.
상기 네트워킹부는 상기 생성된 MAC들을 상기 제1 노드로 전송할 수 있다.
상기 네트워킹부는 상기 네트워크 내의 제2 노드에게 상기 컨텐츠를 요청할 수 있고, 상기 제2 노드로부터 상기 컨텐츠를 수신할 수 있다.
또 다른 일 측에 따르면, 네트워크 내의 노드가 컨텐츠를 사용하는 방법에 있어서, 상기 컨텐츠의 요청을 전송하는 단계, 상기 컨텐츠를 수신하는 단계, 상기 수신된 컨텐츠의 내용에 기반하여 상기 컨텐츠가 미리 검증되었는지 여부의 판단을 수행하는 단계, 상기 판단의 결과에 따라 상기 컨텐츠가 유효한지 여부를 판단하는 복수의 방식들 중 하나의 방식을 결정하고, 결정된 방식을 사용하여 상기 컨텐츠가 유효한지 여부를 판단하는 단계 및 상기 컨텐츠가 유효한 경우 상기 컨텐츠를 플레이하는 단계를 포함할 수 있다.
도 1은 일 실시예에 따른 인프라(infra) 기반의 CCN에서의 컨텐츠의 배포(distribution) 및 검증(authentication)을 나타낸다.
도 2는 일 실시예에 따른 애드혹(adhoc) CCN에서의 컨텐츠의 배포 및 검증을 나타낸다.
도 3은 일 실시예에 따른 노드의 구조도이다.
도 4는 일 실시예에 따른 컨텐츠 제공 방법의 흐름도이다.
도 5는 일 실시예에 따른 컨텐츠 사용 방법의 흐름도이다.
도 6은 일 예에 따른 컨텐츠 제공 방법을 설명한다.
도 7은 일 예에 따른 컨텐츠의 요청을 설명한다.
도 8은 일 예에 따른 PIT의 구성을 나타낸다.
도 9는 일 예에 따른 MAC 서명 및 컨텐츠의 포워딩을 설명한다.
도 10은 일 예에 따른 MAC을 생성 및 사용하는 방법을 설명한다.
도 11은 일 예에 따른 복수의 중간 노드들을 통한 컨텐츠의 제공을 설명한다.
도 12는 일 예에 따른 라우터의 PIT를 나타낸다.
도 13은 일 예에 따른 제4 라우터의 PIT을 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 인프라(infra) 기반의 CCN에서의 컨텐츠의 배포(distribution) 및 검증(authentication)을 나타낸다.
도 1에서, 인프라 기반의 CCN(100)이 도시되었다. 도 1에서, 인프라 기반의 CCN(100) 내에서의 컨텐츠의 배포 과정이 도시되었다.
인프라 기반의 CCN(100)은 복수의 노드(node)들을 포함할 수 있다.
인프라 기반의 CCN(100)은 컨텐츠의 생성자(110), CCN 라우터(router)(120) 및 컨텐츠의 요청자(130)를 포함할 수 있다. 컨텐츠의 생성자(110), CCN 라우터(120) 및 컨텐츠의 요청자(130)는 각각 하나 이상일 수 있다. CCN 라우터(120)는 에지(edge) CCN 라우터일 수 있다.
말하자면, 인프라 기반의 CCN(100) 내의 복수의 노드들은 컨텐츠의 생성자(110), CCN 라우터(120) 및 컨텐츠의 요청자(130)로 분류될 수 있다. 인프라 기반의 CCN(100) 내의 노드들 중 시작(start) 노드는 컨텐츠의 생성자(110)일 수 있다. 중간(intermediate) 노드는 CCN 라우터(120)일 수 있다. 말단(end) 노드는 컨텐츠의 요청자(130)일 수 있다.
컨텐츠의 생성자(110)는 컨텐츠를 제공하는 시스템일 수 있다. 예컨대, 컨텐츠의 생성자(110)는 소셜 네트워크(social network) 서버, 동영상 서버 또는 스트리밍 서버일 수 있다. 또는, 컨텐츠의 생성자(110)는 서비스를 제공하는 서버 군(farm)일 수 있다.
CCN 라우터(120)는 컨텐츠를 포워딩할 수 있다. 예컨대, CCN 라우터(120)는 컨텐츠의 생성자(110) 또는 다른 CCN 라우터로부터 컨텐츠를 수신할 수 있다. 또한, CCN 라우터(120)는 수신된 컨텐츠를 다른 CCN 라우터 또는 컨텐츠의 요청자(130)로 전송할 수 있다. 말하자면, CCN 라우터(120)는 인프라 기반의 CCN(100) 내에서 컨텐츠를 전달(forward)할 수 있다.
컨텐츠의 요청자(130)는 컨텐츠를 사용하는 단말일 수 있다. 예컨대, 컨텐츠의 요청자(130)는 컴퓨터(computer), 스마트폰(smartphone), 태블릿(tablet), 스마트 텔레비젼(smart television)일 수 있다.
컨텐츠의 요청자(130)는 이동 단말일 수 있다. 컨텐츠의 요청자(130)가 이동 단말인 경우, 컨텐츠의 요청자(130)는 기지국을 통해 CCN 라우터(120)와 연결될 수 있다. 또는, 기지국 또한 인프라 기반의 CCN(100)의 노드일 수 있고, CCN 라우터(120)로 간주될 수 있다.
인프라 기반의 CCN(100)은 서브 네트워크(101)를 포함할 수 있다. 서브 네트워크는 하나 이상일 수 있다. 서브 네트워크(101)는 하나 이상의 노드들을 포함할 수 있다. 하나 이상의 노드들은 각각 컨텐츠의 생성자(110), CCN 라우터(120) 또는 컨텐츠의 요청자(130)일 수 있다.
컨텐츠는, 컨텐츠의 생성자(110)로부터, CCN 라우터(120)를 경유하여, 컨텐츠의 요청자(130)로 전달될 수 있다. 여기서, 컨텐츠가 경유하는 CCN 라우터(120)는 2 개 이상일 수 있다.
컨텐츠에 대해, 노드들의 각각이 수행하는 기능이 F, Vs, P 및 Vm으로 도시되었다. F는 컨텐츠의 포워딩(forward)을 나타낼 수 있다. Vs는 서명 검증(signature verification)을 나타낼 수 있다. P는 컨텐츠의 플레이(play)를 나타낼 수 있다. Vm은 맥(Message Authentication Code; MAC) 기반 인증(MAC-based authentication)을 나타낼 수 있다.
MAC는 메시지의 인증에 사용되는 작은 크기를 갖는 정보일 수 있다. 메시지는 노드들 간에서 전송되는 컨텐츠일 수 있다.
도 1에서 도시된 것과 같이, CCN 라우터(120)는 컨텐츠의 서명 검증 및 컨텐츠의 포워딩을 수행할 수 있다. 또는, CCN 라우터(120)는 컨텐츠의 MAC 기반 인증 및 컨텐츠의 포워딩을 수행할 수 있다. 또는, CCN 라우터(120)는 컨텐츠에 대한 검증 없이, 컨텐츠의 포워딩을 수행할 수 있다. 말하자면, CCN 라우터(120)는 컨텐츠의 서명 검증 및 컨텐츠의 MAC 기반 인증을 통해 컨텐츠를 검증할 수 있다.
또한, 컨텐츠의 요청자(130)는 컨텐츠의 MAC 기반 인증 및 컨텐츠의 플레이를 수행할 수 있다. 컨텐츠의 플레이는 컨텐츠를 출력함으로써 컨텐츠를 컨텐츠의 요청자(130)의 사용자에게 제공하는 것일 수 있다.
만약, CCN 라우터(120)는 컨텐츠의 생성자(110)로부터 컨텐츠의 요청자(130)로의 컨텐츠의 포워딩만을 수행하고, 컨텐츠의 요청자(130)만이 컨텐츠를 검증할 경우, 컨텐츠가 유효하지 않은 경우에도 컨텐츠가 최종 목적지인 컨텐츠의 요청자(130)까지 전달될 수 있다. 따라서, 결과적으로 잘못된 컨텐츠가 인프라 기반의 CCN(100) 내에서 배포될 확률이 높아질 수 있다. 따라서, 인프라 기반의 CCN(100)의 전체적으로, 대역폭 및 연산과 같은 자원이 낭비될 수 있다.
따라서, 도 1에서, CCN 라우터(120)는 컨텐츠의 조기 검증을 수행한다. CCN 라우터(130)는 컨텐츠에 대한 정보에 기반하여 컨텐츠를 검증할지 여부를 결정할 수 있다. 컨텐츠에 대한 정보는 컨텐츠의 인기도일 수 있다. 인기도는 인프라 기반의 CCN(100) 내에서 CCN 라우터(120)에게 컨텐츠를 요청한 노드들의 개수에 기반하여 결정될 수 있다.
CCN 라우터(120)는 인기도가 높은 컨텐츠에 대해서는, 컨텐츠의 포워딩 전에 컨텐츠를 조기에 검증할 수 있다. CCN 라우터(120)는 검증을 통해 컨텐츠의 유효성을 판단할 수 있다. 유효성을 판단한 후에 컨텐츠의 포워딩 여부를 결정함으로써 CCN 라우터(120)는 잘못된 컨텐츠가 배포되는 것을 방지할 수 있고, 인프라 기반의 CCN(100)의 전체적으로 자원을 절약할 수 있다.
CCN 라우터(120)는 다수의 컨텐츠의 요청자들이 동일하게 요청하는 높은 인기도를 갖는 컨텐츠에 대해 서명 검증을 수행할 수 있다. CCN 라우터(120)는 포워딩 전에 수행되는 조기의 서명 검증을 통해 컨텐츠의 유효한지 여부를 조기에 파악할 수 있다.
컨텐츠가 유효한 경우, CCN 라우터(120)는 컨텐츠 및 MAC 기반 인증을 위한 정보를 다른 CCN 라우터 또는 컨텐츠의 요청자(130)로 포워딩할 수 있다. 예컨대, 유효한 것으로 판단된 컨텐츠는 MAC 기반 인증 방법을 통해 컨텐츠의 요청자(130)로 배포될 수 있다.
MAC 기반 인증 방법은, 서명 검증 방법에 비해, 더 빠른 시간 내에 컨텐츠가 전송 중에 변경되지 않았음을 판단할 수 있게 할 수 있으며, 컨텐츠가 올바른 CCN 라우터(120)로부터 전송되었음을 판단할 수 있게 할 수 있다.
컨텐츠가 유효하지 않은 경우, CCN 라우터(120)는 컨텐츠의 포워딩 또는 배포를 중단할 수 있다.
도 1에서 도시된 것과 같이, 인프라 기반의 CCN(100)에서, CCN 라우터(120)는 조기에 컨텐츠에 대한 서명 검증을 수행할 수 있고, 서명 검증을 통해 잘못된 컨텐츠가 배포되는 것을 방지할 수 있다. 한편, CCN 라우터(120)가 모든 컨텐츠에 대해 서명 검증을 수행할 경우, CCN 라우터(120)에 가해지는 부하가 커지기 때문에, CCN 라우터(120)는 컨텐츠의 인기도와 같은 컨텐츠에 대한 정보를 사용하여 선택적으로 컨텐츠에 대한 서명 검증을 수행할 수 있다.
예컨대, CCN 라우터(120)는 다수의 컨텐츠의 요청자들이 동일한 컨텐츠를 요청할 경우, 프록시(proxy) 역할을 수행할 수 있다. 프록시 역할은 프록시 서명 검증을 의미할 수 있다. 말하자면, CCN 라우터(120)는 다수의 컨텐츠의 요청자들이 동일한 컨텐츠를 요청하면, 컨텐츠의 요청자들 대신 컨텐츠에 대한 서명 검증을 미리 수행한 후, 컨텐츠를 상기의 컨텐츠를 요청한 다수의 컨텐츠의 요청자들에게 전송할 수 있다. 상술된 서명 검증 및 전송을 통해, CCN 라우터(120)는 잘못된 컨텐츠의 배포를 조기에 방지할 수 있다.
또한, 컨텐츠를 전달받은 다수의 컨텐츠의 요청자들은, CCN 라우터(120)가 수행한 것과 같은 서명 검증을 수행하지 않고, MAC 기반 인증을 각각 수행할 수 있다. 다수의 컨텐츠의 요청자들은 MAC 기반 인증을 통해 전송 중에 컨텐츠가 변경되지 않았다는 것과, 신뢰된 CCN 라우터(120)로부터 전송되었다는 것을 확신할 수 있다. 또한, MAC 기반 인증은 서명 인증에 비해 더 빠르게 수행될 수 있다.
도 2는 일 실시예에 따른 애드혹(adhoc) CCN에서의 컨텐츠의 배포 및 검증을 나타낸다.
도 2에서, 애드혹 CCN(200)이 도시되었다, 도 2에서, 애드혹 CCN(200) 내에서의 컨텐츠의 배포 과정이 도시되었다. 애드혹 CCN(200)은 인프라리스(infraless) CCN일 수 있다.
애드혹 CCN(200)은 복수의 노드들을 포함할 수 있다. 애드혹 CCN(200)은 소스 노드(210), 캐싱 노드(220) 및 말단(end) 노드(230)를 포함할 수 있다. 소스 노드(210), 캐싱 노드(220) 및 말단 노드(230)는 각각 하나 이상일 수 있다.
말하자면, 애드혹 CCN(200) 내의 복수의 노드들은 소스 노드(210), 캐싱 노드(220) 및 말단 노드(230)로 분류될 수 있다.
애드혹 CCN(200) 내의 복수의 노드들은 각각 컨텐츠를 사용 또는 플레이할 수 있고, 컨텐츠의 포워딩을 수행할 수 있다. 캐싱 노드(220)는 컨텐츠의 포워딩을 수행하는 중간 노드일 수 있다.
또한, 애드혹 CCN(200) 내의 복수의 노드들은 각각 컨텐츠에 대한 검증을 수행할 수 있다.
만약, 모든 노드들이 동일한 컨텐츠에 대해서 동일한 서명 검증을 수행할 경우, 서명 검증의 중복에 인해, 컨텐츠의 배포의 효율이 하락할 수 있다. 따라서, 도 1을 참조하여 전술된 것과 같이, 애드혹 CCN(200)에서도 잘못된 컨텐츠의 조기 검출이 요구되며, 중복된 서명 검증으로 인한 과도한 부하를 방지할 것이 요구된다.
도 2에서, 컨텐츠에 대해, 노드들의 각각이 수행하는 기능이 F, Vs, P 및 Vm으로 도시되었다. F는 컨텐츠의 포워딩을 나타낼 수 있다. Vs는 서명 검증을 나타낼 수 있다. P는 컨텐츠의 플레이를 나타낼 수 있다. Vm은 MAC 기반 인증을 나타낼 수 있다.
도 2에서 도시된 것과 캐싱 노드(220)는 컨텐츠의 서명 검증, 컨텐츠의 포워딩 및 컨텐츠의 플레이를 수행할 수 있다. 말단 노드(230)는 컨텐츠의 MAC 기반 인증 및 컨텐츠의 플레이를 수행할 수 있다. 말하자면, 컨텐츠의 서명 검증은 캐싱 노드(220)에서 수행될 수 있고, 서명 검증을 통해 유효성이 검증된 이후, 컨텐츠의 MAC 기반 인증이 수행될 수 있다. 예컨대, 캐싱 노드(220)는 서명 검증을 통해 유효성이 검증된 컨텐츠에 대해서 컨텐츠의 MAC을 생성할 수 있고, 컨텐츠와 함깨 생성된 MAC을 전송할 수 있다. 이 때, 캐싱 노드(220)는 주변의 노드들과 공유된 키를 이용하여 컨텐츠의 MAC을 생성할 수 있다.
다른 캐싱 노드 또는 말단 노드(230)는 캐싱 노드(220)로부터 컨텐츠 및 MAC을 수신할 수 있다. 컨텐츠 및 MAC을 수신한 노드들은 컨텐츠의 MAC 값을 이용함으로써, 컨텐츠가 이미 캐싱 노드(220)에 의해 유효한 것으로 판단되었다는 것과, 전송 중에 변경되지 않았다는 것을 확신할 수 있다.
도 2에서 도시된 것과 같이, 애드혹 CCN(200)에서, 캐싱 노드(220)는 조기에 컨텐츠에 대한 서명 검증을 수행할 수 있고, 서명 검증을 통해 잘못된 컨텐츠가 배포되는 것을 방지할 수 있다. 한편, 캐싱 노드(220)가 모든 컨텐츠에 대해 서명 검증을 수행할 경우, 캐싱 노드(220)에 가해지는 부하가 커지기 때문에, 캐싱 노드(220)는 컨텐츠의 인기도와 같은 컨텐츠에 대한 정보를 사용하여 선택적으로 컨텐츠에 대한 서명 검증을 수행할 수 있다.
예컨대, 캐싱 노드(220)는 다수의 다른 캐싱 노드 및 말단 노드들이 동일한 컨텐츠를 요청할 경우, 프록시 역할을 수행할 수 있다. 말하자면, 캐싱 노드(220)는 다수의 컨텐츠의 다수의 다른 캐싱 노드 및 말단 노드들이 동일한 컨텐츠를 요청하면, 컨텐츠에 대한 서명 검증을 수행한 후, 컨텐츠를 상기의 컨텐츠를 요청한 다른 캐싱 노드 및 말단 노드들에게 전송할 수 있다. 상술된 서명 검증 및 전송을 통해, 캐싱 노드(220)는 잘못된 컨텐츠의 배포를 조기에 방지할 수 있다.
또한, 컨텐츠를 전달받은 다수의 다른 캐싱 노드 및 말단 노드들은, 캐싱 노드(220)가 수행한 것과 같은 서명 검증을 수행하지 않고, MAC 기반 인증을 각각 수행할 수 있다. 다수의 다른 캐싱 노드 및 말단 노드들은 MAC 기반 인증을 통해 전송 중에 컨텐츠가 변경되지 않았다는 것과, 신뢰된 캐싱 노드(220)로부터 전송되었다는 것을 확신할 수 있다.
도 3은 일 실시예에 따른 노드의 구조도이다.
노드(300)는 네트워크 내의 중간 노드 또는 말단 노드일 수 있다. 네트워크는 유선 네트워크 또는 무선 네트워크일 수 있다. 네트워크는 하나 이상의 서브 네트워크들을 포함할 수 있다. 하나 이상의 서브 네트워크들의 각각은 유선 네트워크 또는 무선 네트워크일 수 있다.
노드(300)는 네트워킹부(310), 처리부(320) 및 저장부(330)를 포함할 수 있다.
네트워킹부(310)는 네트워크(network) 인터페이스(interface) 카드(card), 네트워크 인터페이스 칩(chip) 및 네트워킹 인터페이스 포트(port) 등과 같은 하드웨어(hardware) 모듈(module)일 수 있고, 네트워크 디바이스(device) 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어(software) 모듈일 수 있다.
처리부(320)는 적어도 하나의 프로세서(processor) 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다. 처리부(320)는 노드(300)의 기능에 필요한 동작을 수행할 수 있다. 여기서, 동작의 수행은 프로그램 코드(program code)를 실행하는 것을 의미할 수 있다.
저장부(330)는 노드(300)의 동작을 위해 필요한 데이터를 저장할 수 있다. 저장부(330)는 후술될 팬딩 인터레스트 테이블(Pending Interest Table; PIT)를 저장할 수 있다.
처리부(320) 및 네트워킹부(310)는 하나 이상의 페이스(face)들을 제공할 수 있다. 도 3에서, 하나 이상의 페이스들로서, 제1 페이스(341), 제2 페이스(342) 및 제3 페이스(343)가 도시되었다.
페이스는 노드(300)와의 네트워킹을 제공하는 인터페이스(interface)일 수 있다. 또는, 페이스는 포트(port)와 같은 물리적으로 구분되는 인터페이스일 수 있으며, 소켓(socket)의 번호와 같은 논리적으로 구분되는 인터페이스일 수 있다. 페이스는 네트워크 내의 특정한 노드와의 연결을 가리키는 식별자일 수 있다.
도 4는 일 실시예에 따른 컨텐츠 제공 방법의 흐름도이다.
네트워크 내의 노드(300)는 컨텐츠를 제공할 수 있다. 컨텐츠 제공 방법은 네트워크 내의 노드(300)에 의해 수행될 수 있다. 네트워크는 도 1을 참조하여 전술된 인프라 기반의 CCN(100) 또는 도 2를 참조하여 전술된 애드혹 CCN(200)일 수 있다.
노드(300)는 네트워크 내의 중간 노드일 수 있다. 노드(300)는 도 1을 참조하여 전술된 CCN 라우터(120) 또는 도 2를 참조하여 전술된 캐싱 노드(220)일 수 있다.
단계(410)에서, 노드(300)의 네트워킹부(310)는 네트워크 내의 제1 노드로부터 컨텐츠의 요청을 수신할 수 있다. 제1 노드는 컨텐츠를 요청하는 컨텐츠 요청 노드일 수 있다. 제1 노드는 도 1을 참조하여 전술된 컨텐츠의 요청자(130) 또는 도 2를 참조하여 전술된 말단 노드(230)일 수 있다.
컨텐츠의 요청 및 컨텐츠의 요청이 포함하는 데이터에 대해서, 하기에서 도 7을 참조하여 상세히 설명된다.
처리부(320)는 컨텐츠의 요청을 수신함에 따라, 수신된 컨텐츠의 요청에 따라 PIT를 구성할 수 있다. PIT를 구성하는 구체적인 방법이 하기에서 도 8을 참조하여 상세히 설명된다.
단계(420)에서, 노드(300)는 요청된 컨텐츠를 획득할 수 있다. 노드(300)가 요청된 컨텐츠를 이미 획득 또는 저장한 경우, 단계(420)는 생략될 수 있다.
단계(420)은 단계(422) 및 단계(424)를 포함할 수 있다.
단계(422)에서, 노드(300)의 처리부(320)는 네트워킹부(310)를 통해 제2 노드에게 컨텐츠를 요청할 수 있다. 네트워킹부(310)는 제2 노드로 컨텐츠의 요청을 전송할 수 있다. 제2 노드는 도 1을 참조하여 전술된 컨텐츠의 생성자(110) 또는 도 2를 참조하여 전술된 소스 노드(210)일 수 있다.
단계(424)에서, 네트워킹부(310)는 제2 노드로부터 컨텐츠를 수신할 수 있다.
수신된 컨텐츠의 구성에 대해서, 하기에서 도 9를 참조하여 상세히 설명된다.
단계(430)에서, 처리부(320)는 컨텐츠에 대한 정보에 기반하여 컨텐츠를 검증할지 여부를 결정할 수 있다.
컨텐츠에 대한 정보는 컨텐츠의 인기도일 수 있다. 처리부(320)는 네트워크 내에서 노드(300)에게 컨텐츠를 요청한 노드들의 개수에 기반하여 컨텐츠의 인기도를 결정할 수 있다. 컨텐츠를 요청한 노드들은 제1 노드를 포함할 수 있다.
예컨대, 단계(430)에서, 처리부(320)는 네트워크 내에서 노드(300)에게 컨텐츠를 요청한 노드가 제1 노드 하나인 경우, 컨텐츠를 검증하지 않을 것을 결정할 수 있다. 하나의 노드만이 컨텐츠를 요청한 경우, 컨텐츠를 요청한 제1 노드가 컨텐츠를 직접 검증하는 것이 네트워크 전체에 있어서 부하를 감소시킬 수 있다. 또한, 처리부(320)는 네트워크 내에서 노드(300)에게 컨텐츠를 요청한 노드가 2 개 이상인 경우 컨텐츠를 검증할 것을 결정할 수 있다. 2 개 이상의 노드들이 컨텐츠를 요청한 경우, 노드(300)가 컨텐츠를 조기에 검증하는 것이 네트워크 전체에 있어서 부하를 감소시킬 수 있다.
또는, 단계(430)에서, 처리부(320)는 네트워크 내에서 노드(300)에게 컨텐츠를 요청한 노드들의 개수가 소정의 값 이상이면 컨텐츠를 검증할 것을 결정할 수 있고, 상기의 노드들의 개수가 상기의 소정의 값보다 더 작으면 컨텐츠를 검증하지 않을 것을 결정할 수 있다.
처리부(320)는 PIT에 기반하여 네트워크 내에서 노드(300)에게 컨텐츠를 요청한 노드들의 개수를 알 수 있다. PIT에 기반하여 네트워크 내에서 노드(300)에게 컨텐츠를 요청한 노드들의 개수를 판단하는 구체적인 방법이 하기에서 도 8을 참조하여 상세히 설명된다.
컨텐츠를 검증하지 않는 것으로 결정된 경우, 단계(440)에서, 네트워킹부(310)는 컨텐츠를 제1 노드로 전송할 수 있다.
말하자면, 노드(300)는 컨텐츠에 대한 검증을 수행하지 않고, 제2 노드로부터 수신된 컨텐츠를 제1 노드로 포워딩할 수 있다.
컨텐츠를 검증하는 것으로 결정된 경우, 단계(450)에서, 처리부(320)가 컨텐츠를 검증한 후, 네트워킹부(310)는 컨텐츠를 제1 노드로 전송할 수 있다.
단계(450)는 단계(452), 단계(454), 단계(456) 및 단계(458)를 포함할 수 있다.
단계(452)에서, 처리부(320)는 컨텐츠의 서명 검증을 수행할 수 있다.
처리부(320)가 컨텐츠의 서명 검증을 수행하는 구체적인 방법이 하기에서 도 9를 참조하여 상세히 설명된다.
단계(454)에서, 처리부(320)는 컨텐츠의 서명 검증에 기반하여 컨텐츠가 유효한 것인지를 판단할 수 있다. 처리부(320)가 컨텐츠가 유효한 것으로 판단한 경우, 단계(456)가 수행될 수 있다. 처리부(320)가 컨텐츠가 유효하지 않은 것으로 판단한 경우 절차가 종료할 수 있다.
처리부(320)가 컨텐츠가 유호한지 여부를 판단하는 구체적인 방법이 하기에서 도 9를 참조하여 상세히 설명된다.
단계(456)에서, 처리부(320)는 컨텐츠에 대해서 컨텐츠의 MAC을 생성할 수 있다.
컨텐츠의 MAC을 생성하는 구체적인 방법에 대해, 하기에서 도 10을 참조하여 상세히 설명된다.
단계(458)에서, 네트워킹부(310)는 컨텐츠 및 생성된 MAC을 제1 노드로 전송할 수 있다. 말하자면, 네크워킹부(310)는 컨텐츠와 함께 생성된 MAC을 제1 노드로 전송할 수 있다.
컨텐츠와 함께 전송되는 MAC에 대해, 하기에서 도 9를 참조하여 상세히 설명된다.
도 5는 일 실시예에 따른 컨텐츠 사용 방법의 흐름도이다.
도 4을 참조하여 전술된 제1 노드는 컨텐츠를 요청 및 플레이할 수 있다. 제1 노드는 도 3을 참조하여 전술된 노드(300)에 대응할 수 있다. 말하자면, 노드(300)는 도 4의 중간 노드의 기능 및 도 5의 제1 노드의 기능을 모두 수행할 수 있다.
제1 노드는 네트워킹부 및 처리부를 포함할 수 있다. 제1 노드의 네트워킹부는 노드(300)의 네트워킹부(310)에 대응할 수 있다. 제1 노드의 처리부는 노드(300)의 처리부(320)에 대응할 수 있다.
단계(510)에서, 제1 노드의 네트워킹부는 네트워크 내의 노드(300)에게 컨텐츠의 요청을 전송할 수 있다. 여기서, 상기의 컨텐츠의 요청은 도 4의 단계(410)의 컨텐츠의 요청에 대응할 수 있다.
단계(520)에서, 제1 노드의 네트워킹부는 노드(300)로부터 컨텐츠를 수신할 수 있다. 단계(520)는 도 4를 참조하여 전술된 단계(440) 및 단계(458)에 대응할 수 있다.
단계(530)에서, 제1 노드의 처리부는 수신된 컨텐츠의 내용에 기반하여 노드(300)에 의해 수신된 컨텐츠가 노드(300)에 의해 미리 검증되었는지 여부의 판단을 수행할 수 있다.
예컨대, 제1 노드의 처리부는 컨텐츠가 MAC을 포함하는 경우 컨텐츠가 노드(300)에 의해 미리 검증된 것으로 판단할 수 있고, 컨텐츠가 MAC을 포함하는 경우 컨텐츠가 노드(300)에 의해 미리 검증되지 않은 것으로 판단할 수 있다.
단계(540)에서, 제1 노드의 처리부는 상기의 판단의 결과에 따라 컨텐츠가 유효한지 여부를 판단하는 복수의 방식들 중 하나의 방식을 결정할 수 있고, 결정된 방식을 사용하여 컨텐츠가 유효한지 여부를 판단할 수 있다.
단계(540)은 단계(542) 및 단계(544)를 포함할 수 있다.
제1 노드의 처리부가 컨텐츠가 노드(300)에 의해 미리 검증된 것으로 판단한 경우, 단계(542)에서, 제1 노드의 처리부는 MAC을 사용하여 MAC 기반 인증을 수행할 수 있다.
제1 노드의 처리부는 MAC 기반 인증의 결과에 기반하여 수신된 컨텐츠가 유효한지 여부를 판단할 수 있다.
MAC 기반 인증 및 컨텐츠가 유효한지 여부를 판단하는 구체적인 방법이 하기에서 도 10을 참조하여 상세히 설명된다.
제1 노드의 처리부가 컨텐츠가 노드(300)에 의해 미리 검증되지 않은 것으로 판단한 경우, 단계(544)에서, 제1 노드의 처리부는 서명 검증을 수행할 수 있다.
제1 노드의 처리부는 서명 검증의 결과에 기반하여 수신된 컨텐츠가 유효한지 여부를 판단할 수 있다.
컨텐츠의 서명 검증 및 컨텐츠가 유효한지 여부를 판단하는 구체적인 방법이 하기에서 도 9를 참조하여 상세히 설명된다.
단계(550)에서, 컨텐츠가 유효한 경우 하기의 단계(560)가 수행될 수 있다. 컨텐츠가 유효하지 않은 경우 절차가 종료할 수 있다.
단계(560)에서, 컨텐츠가 유효한 경우 제1 노드는 컨텐츠를 플레이할 수 있다.
도 6은 일 예에 따른 컨텐츠 제공 방법을 설명한다.
도 4 및 도 5를 참조하여 설명된 발명들이 동작하기 위해서는 하기의 조건들이 요구될 수 있다.
1. 네트워크가 인프라 기반의 CCN(100)에서, 컨텐츠 요청 노드들은 컨텐츠 요청 노트 자신이 연결된 CCN 라우터(120)에 대한 정보를 사전에 알고 있을 수 있다. 여기서, 상기의 정보는, 컨텐츠의 요청자(130)의 하나 이상의 페이스들의 각각에 연결된 CCN 라우터(120)에 대한 정보, 상기의 CCN 라우터(120)의 공개 키(public key) 및 상기의 CCN 라우터(120)의 신뢰도를 포함할 수 있다.
또한, CCN 라우터(120)는 자신과 연결된 다른 CCN 라우터들에 대한 정보를 사전에 알고 있을 수 있다.
2. 애드혹 CCN(200)에서, 말단 노드들은 말단 노드 자신이 연결된 캐싱 노드(220)에 대한 정보를 사전에 알고 있을 수 있다. 여기서, 상기의 정보는, 말단 노드(230)의 하나 이상의 페이스들의 각각에 연결된 캐싱 노드(220)에 대한 정보, 상기의 캐싱 노드(220)의 공개 키 및 상기의 캐싱 노드(220)의 신뢰도를 포함할 수 있다.
또한, 캐싱 노드(220)는 자신과 연결된 다른 캐싱 노드들에 대한 정보를 사전에 알고 있을 수 있다.
도 6에서, 하나의 배포자(610), 하나의 라우터(620) 및 하나 이상의 사용자들이 연결되었다. 하나 이상의 사용자들로서 제1 사용자(630-1), 제2 사용자(630-2) 및 제3 사용자(630-3)가 도시되었다. 도 6에서, 라우터(620)는 R1으로 표시되었고, 하나 이상의 사용자들은 각각 U1, U2 및 U3으로 표시되었다.
여기서, 배포자(610)는 도 4를 참조하여 전술된 제2 노드에 대응할 수 있다. 라우터(620)는 도 4를 참조하여 전술된 노드(300)에 대응할 수 있다. 복수의 사용자들은 각각 도 4를 참조하여 전술된 제1 노드에 대응할 수 있다.
배포자(610) 및 라우터(620)는 서로 간에 통신할 수 있다. 라우터(620) 및 사용자는 라우터(620)의 페이스를 통해 서로 간에 통신할 수 있다. 제1 사용자(630-1), 제2 사용자(630-2) 및 제3 사용자(630-3)는 라우터(620)의 페이스1, 페이스2 및 페이스3을 통해 각각 라우터(620)와 연결되었다.
도 6에서 도시된 것과 같이 배포자(610) 및 라우터(620)의 관계에서 서명 인증이 수행될 수 있고, 라우터(620) 및 사용자의 관계에서 MAC 기반 인증이 수행될 수 있다.
도 7은 일 예에 따른 컨텐츠의 요청을 설명한다.
도 7에서, 하나 이상의 사용자들은 각각 라우터(620)에게 컨텐츠를 요청한다.
도 7에서, "Interest"는 컨텐츠의 요청을 나타낼 수 있다.
"Name1"은 요청되는 제1 사용자(630-1) 및 제2 사용자(630-2)에 의해 요청되는 제1 컨텐츠의 명칭일 수 있다. "Name2"는 요청되는 제3 사용자(630-3)에 의해 요청되는 제2 컨텐츠의 명칭일 수 있다.
K1, K2 및 K3은 차후의 MAC에 사용될 MAC 키일 수 있다. K1은 제1 사용자(630-1)가 MAC에 대해 사용하는 MAC 키일 수 있다. K2는 제2 사용자(630-2)가 MAC에 대해 사용하는 MAC 키일 수 있다. K3은 제3 사용자(630-3)가 MAC에 대해 사용하는 MAC 키일 수 있다.
Ex는 키 x를 사용하는 암호화일 수 있다. EPubR1은 라우터(620)의 공개 키 PubR1을 사용하는 암호화일 수 있다. EPubR1(K1)은 라우터(620)의 공개 키 PubR1을 사용하여 제1 사용자(630-1)의 MAC 키 K1를 암호화한 값일 수 있다. EPubR1(K2)는 라우터(620)의 공개 키 PubR1을 사용하여 제2 사용자(630-2)의 MAC 키 K2를 암호화한 값일 수 있다. EPubR1(K3)은 라우터(620)의 공개 키 PubR1을 사용하여 제3 사용자(630-3)의 MAC 키 K3를 암호화한 값일 수 있다. 하나 이상의 사용자들은 각각 라우터(620)의 공개 키를 미리 알고 있을 수 있다.
"||"는 연결(concatenating)을 나타낼 수 있다. 말하자면, "||"는 "||"의 앞에 표시된 대상 및 "||"의 뒤에 표시된 대상이 연속하여 함께 전송됨을 나타낼 수 있다.
도 7을 참조하면, 도 4를 참조하여 전술된 방법에서 하기의 사항들이 적용될 수 있다.
도 4를 참조하여 전술된 단계(410)의 컨텐츠의 요청은, 1) 컨텐츠의 명칭, 2) 노드(300)의 공개 키를 사용하여 제1 노드의 MAC 키를 암호화한 값을 포함할 수 있다.
노드(300)에 연결된 제1 노드는 컨텐츠의 요청의 이전에 미리 노드(300)의 공개 키를 알 수 있을 수 있다. 또는, 제1 노드는 컨텐츠의 요청의 이전에 노드(300)에게 공개 키를 요청할 수 있고, 노드(300)로부터 공개 키를 수신할 수 있다.
컨텐츠가 요청됨에 따라, 도 4를 참조하여 전술된 단계(420)에서, 노드(300)는 제1 컨텐츠 "Name1" 및 제2 컨텐츠 "Name2"를 각각 획득할 수 있다.
도 8은 일 예에 따른 PIT의 구성을 나타낸다.
노드(300)의 처리부(320)는 PIT(800)를 관리할 수 있다. 저장부(330)는 PIT(800)를 저장할 수 있다.
PIT(800)는 하나 이상의 엔트리들을 포함할 수 있다. 노드(300)에게 요청된 컨텐츠들의 각 컨텐츠의 대해, 각 컨텐츠에 대응하는 엔트리가 생성될 수 있다.
하나 이상의 엔트리들의 각 엔트리는, 상기의 각 엔트리에 대응하는 컨텐츠의 명칭, 대응하는 컨텐츠가 요청된 노드(300)의 하나 이상의 페이스들의 목록, 상기의 하나 이상의 페이스들의 각각을 통해 전송된 대응하는 컨텐츠의 요청의 MAC 키를 포함할 수 있다.
도 8에서, PIT(800)은 노드(300)가 도 7에서 전송된 컨텐츠의 요청들을 수신한 결과를 나타낼 수 있다.
도 8에서, 제1 엔트리(810)는 제1 엔트리(810)에 대응하는 제1 컨텐츠의 명칭인 "Name1"을 포함할 수 있다. 또한, 제1 엔트리(810)는 제1 컨텐츠가 요청된 페이스들의 목록으로서, "face1" 및 "face2"를 포함할 수 있다. 또한, 제1 엔트리(810)는 "face1"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K1"을 포함할 수 있고, "face2"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K2"을 포함할 수 있다. 제1 엔트리(810)는 제1 사용자(630-1) 및 제2 사용자(630-2)가 동일한 컨텐츠 "Name1"을 요청하였다는 것을 나타낼 수 있다. MAC 키 "K1" 및 "K2"는 차후 MAC 인증을 위해 사용될 수 있다.
제2 엔트리(820)는 제2 엔트리(820)에 대응하는 제2 컨텐츠의 명칭인 "Name2"를 포함할 수 있다. 또한, 제2 엔트리(820)는 제2 컨텐츠가 요청된 페이스들의 목록으로서, "face3"을 포함할 수 있다. 또한, 제2 엔트리(820)는 "face2"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K3"을 포함할 수 있다. 제2 엔트리(820)는 제3 사용자(630-3)가 컨텐츠 "Name2"을 요청하였다는 것을 나타낼 수 있다. MAC 키 "K3"은 차후 MAC 인증을 위해 사용될 수 있다.
도 4를 참조하여 전술된 단계(410)에서, 노드(300)의 처리부(320)는 컨텐츠의 요청을 수신하면, 수신된 컨텐츠의 요청에 따라 PIT(800)를 구성할 수 있다.
처리부(320)는 PIT(800)의 하나 이상의 엔트리들 중 요청된 컨텐츠의 엔트리가 없는 경우, 요청된 컨텐츠에 대응하는 엔트리를 생성할 수 있고, 생성된 엔트리를 PIT(800)의 하나 이상의 엔트리에 추가할 수 있다. 처리부(320)는 요청된 컨텐츠의 명칭을 생성된 엔트리에 추가할 수 있다.
처리부(320)는 컨텐츠의 요청이 전송된 페이스를 컨텐츠에 대응하는 엔트리의 하나 이상의 페이스들의 목록에 추가할 수 있다. 또한, 처리부(320)는 컨텐츠의 요청이 포함하는 MAC 키를 컨텐츠에 대응하는 엔트리에 추가할 수 있다.
상술된 구성을 통해 처리부(320)는 컨텐츠의 요청을 통해 요청된 컨텐츠의 명칭, 컨텐츠가 요청된 페이스 및 컨텐츠의 요청이 포함하는 MAC 키를 알 수 있다. 또한, 처리부(320)는 요청된 컨텐츠들의 목록을 알 수 있다. 처리부(320)는 요청된 컨텐츠들의 각 컨텐츠에 대해, 각 컨텐츠를 요청한 페이스들 또는 노드들의 개수를 알 수 있다.
처리부(320)는 노드(300)의 하나 이상의 페이스들의 각 페이스에 대해, 각 페이스가 연결된 다른 노드를 알 수 있다. 따라서, 전술된 설명에서, PIT(800)에 저장된 "페이스"는 "노드(300)에 연결된 다른 노드"로 대체될 수 있다.
도 4를 참조하여 전술된 단계(430)에서, 처리부(320)는 PIT(800)에 기반하여 네트워크 내에서 노드(300)에게 컨텐츠를 요청한 노드들의 개수를 알 수 있다.
처리부(320)는 PIT(800)의 하나 이상의 엔트리들 중 요청된 컨텐츠에 대응하는 엔트리를 특정할 수 있고, 특정된 엔트리의 하나 이상의 페이스들의 목록을 통해 요청된 컨텐츠를 요청한 노드들의 개수 또는 페이스들의 개수를 알 수 있다.
예컨대, 단계(430)에서, 요청된 컨텐츠의 명칭이 "Name1"인 경우, 컨텐츠 "Name1"은 PIT(800)의 엔트리 내에서 2 개의 페이스들에 의해 요청된 것으로 기록되었기 때문에, 처리부(320)는 컨텐츠 "Name1"를 인기 있는 퍼블릭(public) 컨텐츠로 판단할 수 있고, 컨텐츠 "Name1"를 검증할 것을 결정할 수 있다.
반면, 요청된 컨텐츠의 명칭이 "Name2"인 경우, 컨텐츠 "Name2"은 PIT(800)의 엔트리 내에서 1 개의 페이스에 의해 요청된 것으로 기록되었기 때문에, 처리부(320)는 컨텐츠 "Name2"를 인기 없는 개인(private) 컨텐츠로 판단할 수 있고, 컨텐츠 "Name2"를 검증하지 않을 것을 결정할 수 있다.
도 9는 일 예에 따른 MAC 서명 및 컨텐츠의 포워딩을 설명한다.
도 9에서, 라우터(620)는 하나 이상의 사용자들의 각각에게 컨텐츠를 전송한다.
도 9에서, 라우터(620)는 제1 사용자(630-1) 및 제2 사용자(630-2)에게, 제1 컨텐츠의 명칭 "Name1", 제1 컨텐츠의 데이터 "Data1", 제1 컨텐츠의 서명 "Sig1", Mac 키 K1을 사용하여 생성된 제1 컨텐츠의 MAC 값 "MACK1[content1]" 및 Mac 키 K2를 사용하여 생성된 제1 컨텐츠의 MAC 값 "MACK2[content1]"를 전송하였다.
MAC 값을 생성하는 구체적인 방법에 대해, 하기에서 도 10을 참조하여 상세히 설명된다.
또한, 라우터(630)는 제3 사용자(630-3)에게, 제2 컨텐츠의 명칭 "Name2", 제2 컨텐츠의 데이터 "Data2" 및 제2 컨텐츠의 서명 "Sig2"를 전송하였다.
도 4를 참조하여 전술된 단계(424)에서, 수신된 컨텐츠는 컨텐츠의 명칭, 컨텐츠의 데이터 및 컨텐츠의 서명을 포함할 수 있다.
컨텐츠의 서명은 제2 노드의 비밀 키를 사용하여 컨텐츠의 명칭 및 컨텐츠의 데이터를 암호화함으로써 생성된 값일 수 있다.
예컨대, 컨텐츠의 서명은 하기의 수학식 1과 같을 수 있다.
Figure 112013090227255-pat00001
여기서, "Sig"는 컨텐츠의 서명일 수 있다. "Sign"은 제2 노드의 비밀 키를 사용하는 암호화 함수일 수 있다. "Name"은 컨텐츠의 명칭일 수 있다. "Data"는 컨텐츠의 데이터일 수 있다.
또한, "Name" 및 "Data"의 크기는 암호화하기에는 너무 클 수 있다. 따라서, 하기의 수학식 2와 같이 컨텐츠의 서명을 위해 해쉬 또는 해쉬 함수가 사용될 수 있다.
Figure 112013090227255-pat00002
여기서, H는 해쉬 함수를 나타낼 수 있다. 말하자면, 제2 노드는 컨텐츠의 명칭 및 컨텐츠의 데이터의 해쉬 값을 생성할 수 있고, 제2 노드의 비밀 키를 사용하여 해쉬 값을 암호화함으로써 서명을 생성할 수 있다.
도 4를 참조하여 전술된 단계(454)에서, 처리부(320)는 컨텐츠의 명칭, 컨텐츠의 데이터 및 컨텐츠의 서명을 사용함으로써 컨텐츠의 서명 검증을 수행할 수 있다.
처리부(320)는 제2 노드의 공개 키 및 컨텐츠의 서명에 기반하여 컨텐츠의 검증 값을 생성할 수 있다.
예컨대, 컨텐츠의 검증 값은 하기의 수학식 3과 같을 수 있다.
Figure 112013090227255-pat00003
여기서, "Result"는 컨텐츠의 검증 값일 수 있다. "Verify"는 제2 노드의 공개 키를 사용하는 복호화 함수일 수 있다. 전술된 "Sign" 및 "Verify"는 서로 대응할 수 있다. 말하자면, 어떤 입력 값이 "Sign"에 의해 암호화되고, 다시 "Verify"에 의해 복호화된 경우, 암호화 및 복호화를 거친 출력 값은 원리의 입력 값과 동일할 수 있다.
처리부(320)는 검증 값 및 서명을 비교함으로써 컨텐츠가 유효한 것인지를 판단할 수 있다.
도 4를 참조하여 전술된 단계(454)에서, 처리부(320)는 컨텐츠의 검증 값 및 컨텐츠의 서명에 기반하여 컨텐츠가 유효한 것인지를 판단할 수 있다.
처리부(320)는 컨텐츠의 검증 값 및 컨텐츠의 서명이 동일한 경우, 컨텐츠가 유효한 것으로 판단할 수 있고, 컨텐츠의 검증 값 및 컨텐츠의 서명이 동일하지 않은 경우, 컨텐츠가 유효하지 않은 것으로 판단할 수 있다.
컨텐츠의 서명은, 전술된 수학식 1에 의해 서명이 생성된 경우, "Sign(Name || Data)"일 수 있다. 또는, 컨텐츠의 서명은, 전술된 수학식 2에 의해 서명이 생성된 경우, Sign( H(Name || Data))"일 수 있다.
다시 도 9를 참조하면, 처리부(320)는 제1 컨텐츠 "Name1"에 대한 컨텐츠의 서명 검증을 수행한 후, 노드(300)로 전송된 컨텐츠가 유효한 것으로 판단할 수 있다. 다음으로, 노드(300)는 제1 컨텐츠 "Name1"을 요청한 제1 단말인 제1 사용자(630-1) 및 제2 사용자(630-2)에게 컨텐츠를 전송할 수 있다.
도 4를 참조하여 전술된 단계(456)에서, 제1 단말에게 컨텐츠를 안전하게 전송하기 위해, 처리부(320)는 컨텐츠의 MAC을 생성할 수 있다.
처리부(320)는 제1 사용자(630-1)로부터 전송된 K1 및 제2 사용자(630-2)로부터 전송된 K2를 이용함으로써 컨텐츠의 MAC들을 생성할 수 있다.
도 4를 참조하여 전술된 단계(456)에서, 처리부(320)는 노드(300)에게 컨텐츠를 요청한 노드들의 MAC 키들을 각각 사용함으로써 컨텐츠의 MAC들을 생성할 수 있다.
또한, 도 4를 참조하여 전술된 단계(458)에서, 네트워킹부(310)는 컨텐츠 및 상기의 MAC 키들의 각각에 의해 생성된 MAC들을 제1 노드로 전송할 수 있다.
말하자면, 단계(458)에서 전송되는 MAC은 하나 이상일 수 있다. 하나 이상의 MAC들은 컨텐츠를 요청한 노드들의 MAC 키들에 각각 대응할 수 있다. 제1 노드는 자신의 MAC 키에 의해 생성된 MAC 외에도, 노드(300)에게 컨텐츠를 요청한 다른 노드들의 MAC 키들에 의해 생성된 MAC 또한 수신할 수 있다.
제1 단말을 포함하여, 노드(300)에게 컨텐츠를 요청한 노드들에게는 동일한 메시지 또는 데이터가 전송될 수 있다. 단계(458)에서, 네트워킹부(310)는 컨텐츠 및 상기의 MAC 키들의 각각에 의해 생성된 MAC들을 멀티캐스트(multicast) 또는 브로드캐스트(broadcast)를 통해 제1 노드로 전송할 수 있다.
다시 도 9를 참조하면, 단계(520)에서 컨텐츠를 수신한 제1 노드는, 컨텐츠와 함께 전송된 MAC을 검출함으로써, 노드(300)가 이미 서명 검증을 통해 컨텐츠가 유효한 것으로 판단하였다는 것을 알 수 있다. 또한, 제1 노드는 컨텐츠의 전송 중에 컨텐츠에 대하여 어떠한 변경도 발생하지 않았다는 것을 알 수 있다.
단계(458)에서, 처리부(320)는 컨텐츠가 컨텐츠의 서명을 포함할지 여부를 결정할 수 있다. 말하자면, 처리부(320)는 제1 노드로 전송될 컨텐츠에 컨텐츠의 서명을 포함시키거나 컨텐츠에서 컨텐츠의 서명을 뺄 수 있다. 제1 노드는 컨텐츠의 서명 외에도 컨텐츠의 MAC을 사용하여 컨텐츠가 유효한지 여부를 판단할 수 있다.
컨텐츠의 서명이 포함되지 않을 경우, 전송되는 컨텐츠의 길이가 감소될 수 있으나, 컨텐츠의 MAC에 대응하는 MAC 키를 포함하지 않은 노드는 컨텐츠의 유효성을 검증하지 못할 수 있다.
반면, 컨텐츠의 서명이 포함될 경우, 전송되는 컨텐츠의 길이는 증가할 수 있으나, 컨텐츠의 MAC에 대응하는 MAC 키를 포함하지 않은 노드도 서명 검증의 수행을 통해 컨텐츠의 유효성을 검증할 수 있다.
처리부(320)는 제1 노드의 요청에 기반하여 컨텐츠가 컨텐츠의 서명을 포함할지 여부를 결정할 수 있다. 컨텐츠가 컨텐츠의 서명을 포함할지 여부는 제1 노드가 컨텐츠를 수신한 후, 차후에 컨텐츠를 재배포할 의도가 있는가에 의존할 수 있다.
예컨대, 제1 노드가 차후에 컨텐츠를 재배포할 예정 또는 가능성이 있다면, 처리부(320)는 컨텐츠에 컨텐츠의 서명을 포함시킬 수 있다. 반면, 제1 노드가 단순히 컨텐츠를 플레이한다면, 처리부(320)는 컨텐츠에서 컨텐츠의 서명을 제거할 수 있다.
예컨대, 제1 노드가 컨텐츠에 컨텐츠의 서명을 포함할 것을 명시하여 노드(300)로 전송한 경우에도, 처리부(320)는 컨텐츠에 컨텐츠의 서명을 포함시킬 수 있다.
실시예에서, 제1 노드가 컨텐츠를 재배포할 수 있고, MAC 키를 소유하지 않은 노드가 컨텐츠의 서명 검증을 수행할 수도 있다. 따라서, 컨텐츠의 원활한 배포를 위해 처리부(320)는 디폴트(default)로 컨텐츠에 컨텐츠의 서명을 포함시킬 수 있다. 따라서, 제1 노드는 MAC을 검증할 수 있는 MAC 키를 소유하는 경우 MAC 기반의 인증을 수행할 수 있고, MAC 키를 소유하지 않는 경우 서명 검증을 수행할 수 있다.
도 5를 참조하여 전술된 것처럼, 제1 노드의 처리부 또한 컨텐츠의 서명 검증을 수행할 수 있다.
도 5를 참조하여 전술된 단계(542)에서, 제1 노드의 처리부는 컨텐츠의 명칭, 컨텐츠의 데이터 및 컨텐츠의 서명을 사용함으로써 컨텐츠의 서명 검증을 수행할 수 있다.
제1 노드의 처리부는 제2 노드의 공개 키 및 컨텐츠의 서명에 기반하여 컨텐츠의 검증 값을 생성할 수 있다. 예컨대, 컨텐츠의 검증 값은 전술된 수학식 3과 같을 수 있다.
제1 노드의 처리부는 검증 값 및 서명을 비교함으로써 컨텐츠가 유효한 것인지를 판단할 수 있다.
또한, 제1 노드의 처리부는 컨텐츠의 검증 값 및 컨텐츠의 서명에 기반하여 컨텐츠가 유효한 것인지를 판단할 수 있다.
제1 노드의 처리부는 컨텐츠의 검증 값 및 컨텐츠의 서명이 동일한 경우, 컨텐츠가 유효한 것으로 판단할 수 있고, 컨텐츠의 검증 값 및 컨텐츠의 서명이 동일하지 않은 경우, 컨텐츠가 유효하지 않은 것으로 판단할 수 있다.
컨텐츠의 서명은, 전술된 수학식 1에 의해 서명이 생성된 경우, "Sign(Name || Data)"일 수 있다. 또는, 컨텐츠의 서명은, 전술된 수학식 2에 의해 서명이 생성된 경우, Sign( H(Name || Data))"일 수 있다.
도 10은 일 예에 따른 MAC을 생성 및 사용하는 방법을 설명한다.
도 10에서, 전송자(sender)(1010) 및 수신자(receiver)(1050)가 도시되었다.
전송자(1010) 및 수신자(1050)는 각각 도 4를 참조하여 전술된 노드(300) 및 제1 노드에 대응할 수 있다.
노드(300)의 처리부(320)는 컨텐츠 및 MAC 키를 MAC 알고리즘의 입력으로 사용할 수 있다. 처리부(320)는 컨텐츠 및 MAC 키가 입력된 MAC 알고리즘을 실행함으로써 컨텐츠의 MAC을 생성할 수 있다.
MAC 키는 제1 노드에 의해 관리되는 비밀 키일 수 있고, MAC을 생성하기 위해 제1 노드로부터 노드(300)로 전송될 수 있다.
도 7을 참조하여 전술된 것과 같이, 단계(410)의 컨텐츠의 요청은 1) 컨텐츠의 명칭 및 2) 노드(300)의 공개 키를 사용하여 제1 노드의 MAC 키를 암호화한 값을 포함할 수 있다. 노드(300)의 처리부(320)는 노드(300)의 비밀 키를 사용하여 제1 노드의 MAC 키를 암호화한 값을 복호화함으로써 제1 노드의 MAC 키를 획득할 수 있다.
MAC 알고리즘은 MAC을 출력할 수 있다.
도 4를 참조하여 전술된 단계(448)에서, 노드(300)의 네트워킹부(310)는 컨텐츠 및 MAC을 제1 노드로 전송할 수 있다. 도 5를 참조하여 전술된 단계(520)에서, 제1 노드의 네트워킹부는 노드(300)로부터 컨텐츠 및 MAC을 수신할 수 있다.
이하, 제1 노드로 전송된 MAC을 제1 MAC로 명명한다.
도 5를 참조하여 전술된 단계(542)에서, 제1 노드의 처리부는 MAC 키를 사용하여 제2 MAC을 생성할 수 있다. MAC 키는 제1 노드가 MAC 인증을 위해 사용하는 키일 수 있다.
제1 노드의 처리부는 컨텐츠 및 MAC 키를 MAC 알고리즘의 입력으로 사용할 수 있다. 제1 노드의 처리부는 컨텐츠 및 MAC 키가 입력된 MAC 알고리즘을 실행함으로써 컨텐츠의 제2 MAC을 생성할 수 있다.
제1 노드의 처리부는 제1 MAC 및 제2 MAC을 비교함으로써 전송된 컨텐츠의 유효성을 판단할 수 있다.
제1 노드의 처리부는 제1 MAC의 값 및 제2 MAC의 값이 동일한 경우 전송된 컨텐츠가 유효한 것으로 판단할 수 있고, 제1 MAC의 값 및 제2 MAC의 값이 상이한 경우 전송된 컨텐츠가 유효하지 않은 것으로 판단할 수 있다.
도 11은 일 예에 따른 복수의 중간 노드들을 통한 컨텐츠의 제공을 설명한다.
도 11에서, 복수의 라우터들이 추가적으로 연결되었다. 도 11에서, 제2 라우터(621), 제3 라우터(622) 및 제4 라우터(623)가 도시되었다. 제2 라우터(621), 제3 라우터(622) 및 제4 라우터(623)는 각각 도 3을 참조하여 전술된 노드(300)에 대응할 수 있다.
도 11에서, 제2 라우터(621), 제3 라우터(622) 및 제4 라우터(623)는 R2, R3 및 R4로 각각 표시되었다.
라우터(620)는 페이스3을 통해 배포자(610)와 연결되었다.
라우터(620)는 페이스1을 통해 제4 라우터(623)과 연결되었고, 페이스2를 통해 제2 라우터(621)와 연결되었고, 페이스4를 통해 제3 라우터(622)와 연결되었다.
제4 라우터(623)은 라우터(620)와 연결되었다. 또한, 제4 라우터(623)은 페이스1을 통해 제1 사용자(630-1)와 연결되었고, 페이스 2를 통해 제2 사용자(630-2)와 연결되었고, 페이스3를 통해 제3 사용자(630-3)와 연결되었다.
제2 라우터(621)는 라우터(620)의 페이스2를 통해, 라우터(620)에게 제1 컨텐츠를 요청하였다. 또한, 제4 라우터(623)는 라우터(620)의 페이스1를 통해, 라우터(620)에게 제1 컨텐츠를 요청하였다. 제1 컨텐츠는 2 개 이상의 페이스들을 통해 요청되었다. 말하자면, 네트워크 내의 2 개 이상의 노드들이 노드(300)에게 제1 컨텐츠를 요청하였다. 따라서, 라우터(620)는 조기 검증의 수행 후 제2 라우터(621) 및 제4 라우터(623)에게 제1 컨텐츠 및 제1 컨텐츠의 MAC을 전송할 수 있다. 제1 컨텐츠의 MAC은 복수일 수 있다. 제1 컨텐츠의 MAC은 제1 컨텐츠 및 제4 라우터(623)의 MAC 키 K4를 사용하여 생성된 MAC인 "MACK4[Content]"를 포함할 수 있고, 제1 컨텐츠 및 제2 라우터(621)의 MAC 키 K5를 사용하여 생성된 MAC인 "MACK5[Content]"를 포함할 수 있다.
제1 컨텐츠는 "Name1", "Data1" 및 "Sig1"을 포함할 수 있다. "Name1", "Data1" 및 "Sig1"는 제1 컨텐츠의 명칭, 제1 컨텐츠의 데이터 및 제1 컨텐츠의 서명을 각각 나타낼 수 있다.
제4 라우터(623)는 라우터(620)의 페이스1를 통해, 라우터(620)에게 제2 컨텐츠를 요청하였다. 제2 컨텐츠는 하나의 페이스를 통해 요청되었다. 말하자면, 네트워크 내의 하나의 노드가 노드(300)에게 제2 컨텐츠를 요청하였다. 따라서, 라우터(620)는 조기 검증의 수행 없이 제4 라우터(623)에게 제2 컨텐츠를 전송할 수 있다. 제2 컨텐츠는 "Name2", "Data2" 및 "Sig2"를 포함할 수 있다. "Name2", "Data2" 및 "Sig2"는 제2 컨텐츠의 명칭, 제2 컨텐츠의 데이터 및 제2 컨텐츠의 서명을 각각 나타낼 수 있다.
제3 라우터(622)는 라우터(620)의 페이스4를 통해, 라우터(620)에게 제3 컨텐츠를 요청하였다. 제3 컨텐츠는 하나의 페이스를 통해 요청되었다. 말하자면, 네트워크 내의 하나의 노드가 노드(300)에게 32 컨텐츠를 요청하였다. 따라서, 라우터(620)는 조기 검증의 수행 없이 제3 라우터(622)에게 제3 컨텐츠를 전송할 수 있다. 제3 컨텐츠는 "Name3", "Data3" 및 "Sig3"을 포함할 수 있다. "Name3", "Data3" 및 "Sig3"는 제3 컨텐츠의 명칭, 제3 컨텐츠의 데이터 및 제3 컨텐츠의 서명을 각각 나타낼 수 있다.
전술된 것처럼, 제1 컨텐츠 및 제2 컨텐츠를 수신한 제4 라우터(623)는 수신된 제1 컨텐츠 및 제2 컨텐츠를 사용자들에게 전송할 수 있다.
제1 사용자(630-1)은 제4 라우터(623)의 페이스1을 통해, 제4 라우터(623)에게 제1 컨텐츠를 요청하였다. 또한, 제2 사용자(630-2)은 제4 라우터(623)의 페이스2을 통해, 제4 라우터(623)에게 제1 컨텐츠를 요청하였다. 제1 컨텐츠는 2 개 이상의 페이스들을 통해 요청되었다. 말하자면, 네트워크 내의 2 개 이상의 노드들이 노드(300)에게 제1 컨텐츠를 요청하였다.
제4 라우터(623)는 라우터(620)로부터 전송된 제1 컨텐츠 및 제1 컨텐츠의 MAC을 제1 사용자(630-1) 및 제2 사용자(630-2)에게 포워딩할 수 있다.
또는, 제4 라우터(623)는 라우터(620)로부터 전송된 제1 컨텐츠의 조기 검증을 수행할 수 있으며, 제1 컨텐츠의 조기 검증을 생략할 수 있다.
제4 라우터(623)는 제1 사용자(630-1) 및 제2 사용자(630-2)에게 제1 컨텐츠 및 제1 컨텐츠의 MAC을 전송할 수 있다. 제1 컨텐츠의 MAC은 복수일 수 있다. 제1 컨텐츠의 MAC은 제1 사용자(630-1)의 제1 컨텐츠 및 MAC 키 K1를 사용하여 생성된 MAC인 "MACK1[Content]"를 포함할 수 있고, 제1 컨텐츠 및 제2 사용자(630-2)의 MAC 키 K2를 사용하여 생성된 MAC인 "MACK2[Content]"를 포함할 수 있다.
제3 사용자(630-3)는 제4 라우터(623)의 페이스3을 통해, 제4 라우터(623)에게 제2 컨텐츠를 요청하였다. 제2 컨텐츠는 하나의 페이스를 통해 요청되었다. 말하자면, 네트워크 내의 하나의 노드가 노드(300)에게 제2 컨텐츠를 요청하였다. 따라서, 제4 라우터(623)는 조기 검증의 수행 없이 제3 사용자(630-3)에게 제2 컨텐츠를 전송할 수 있다.
전술된 것처럼, 도 4를 참조하여 전술된 노드(300) 및 제1 노드 간의 처리 과정이, 네트워크 내의 복수의 중간 노드들 간에도 적용될 수 있다. 복수의 중간 노드들은 각각 노드(300)일 수 있다. 예컨대, 도 4를 참조하여 전술된 제1 노드 및 제2 노드는 각각 노드(300)에 대응할 수 있다.
네트워크 내의 노드들은 자신과 연결된 다른 노드의 공개 키를 사전에 알 수 있다. 여기서, 노드들은 노드(300), 제1 노드 및 제2 노드를 포함할 수 있다. 노드들 간의 공개 키의 교환은 전술된 단계들(410, 422, 424, 440, 458, 510 및 520)에서 각 단계의 동작과 함께 이루어질 수 있다. 또한, 노드들 간의 공개 키의 교환은 노드들의 각각이 라우팅 테이블을 구축하는 과정에서 이루어질 수 있다. 라우팅 테이블은 포워딩 정보 테이블(Forwarding Information Table; FIT)일 수 있다.
예컨대, 노드(300)를 포함하는 네트워크가 애드혹 CCN(200)인 경우, 네트워크 내의 하나 이상의 노드들 중 1 홉(hop)의 거리에 위치하는 노드들 간에는 서로의 정보가 쉽게 공유될 수 있다. 따라서, 1 홉의 거리에 위치하는 노드들은 서로 간에 상대의 공개 키를 알 수 있으며, 노드들 간의 MAC 키의 공유 또한 가능하다.
도 12는 일 예에 따른 라우터의 PIT를 나타낸다.
도 12에서, PIT(1200)은 도 11에서 라우터(620)가 컨텐츠의 요청들을 수신한 결과를 나타낼 수 있다.
도 12에서, 제1 엔트리(1210)는 제1 엔트리(1210)에 대응하는 제1 컨텐츠의 명칭인 "Name1"을 포함할 수 있다. 또한, 제1 엔트리(1210)는 제1 컨텐츠가 요청된 페이스들의 목록으로서, "face1" 및 "face2"를 포함할 수 있다. 또한, 제1 엔트리(1210)는 "face1"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K4"을 포함할 수 있고, "face2"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K5"을 포함할 수 있다. 제1 엔트리(1210)는 제2 라우터(621) 및 제4 라우터(623)가 동일한 제1 컨텐츠 "Name1"을 요청하였다는 것을 나타낼 수 있다. MAC 키 "K4" 및 "K5"는 차후 MAC 인증을 위해 사용될 수 있다.
제2 엔트리(1220)는 제2 엔트리(1220)에 대응하는 제2 컨텐츠의 명칭인 "Name2"를 포함할 수 있다. 또한, 제2 엔트리(1220)는 제2 컨텐츠가 요청된 페이스들의 목록으로서, "face3"을 포함할 수 있다. 또한, 제2 엔트리(1220)는 "face3"을 통해 전송된 컨텐츠의 요청의 MAC 키인 "K4"을 포함할 수 있다. 제2 엔트리(1220)는 제4 라우터(623)가 제2 컨텐츠 "Name2"을 요청하였다는 것을 나타낼 수 있다. MAC 키 "K4"는 차후 MAC 인증을 위해 사용될 수 있다.
제3 엔트리(1230)는 제3 엔트리(1230)에 대응하는 제3 컨텐츠의 명칭인 "Name3"을 포함할 수 있다. 또한, 제3 엔트리(1230)는 제3 컨텐츠가 요청된 페이스들의 목록으로서, "face4"를 포함할 수 있다. 또한, 제3 엔트리(1230)는 "face4"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K6"을 포함할 수 있다. 제3 엔트리(1230)는 제3 라우터(622)가 제3 컨텐츠 "Name3"을 요청하였다는 것을 나타낼 수 있다. MAC 키 "K4"은 차후 MAC 인증을 위해 사용될 수 있다.
라우터(620)는 2 개 이상의 노드들에 의해 요청된 제1 컨텐츠 "Name1"에 대해서는 검증을 결정할 수 있다. 라우터(620)는 1 개의 노드들에 의해 요청된 제2 컨텐츠 "Name2" 및 제3 컨텐츠 "Name3"에 대해서는 포워딩을 결정할 수 있다.
도 13은 일 예에 따른 제4 라우터의 PIT을 나타낸다.
도 13에서, PIT(1300)은 도 11에서 제4 라우터(623)가 컨텐츠의 요청들을 수신한 결과를 나타낼 수 있다.
도 13에서, 제1 엔트리(1310)는 제1 엔트리(1310)에 대응하는 제1 컨텐츠의 명칭인 "Name1"을 포함할 수 있다. 또한, 제1 엔트리(1310)는 제1 컨텐츠가 요청된 페이스들의 목록으로서, "face1" 및 "face2"를 포함할 수 있다. 또한, 제1 엔트리(1310)는 "face1"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K1"을 포함할 수 있고, "face2"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K2"를 포함할 수 있다. 제1 엔트리(1310)는 제1 사용자(630-1) 및 제2 사용자(630-2)가 동일한 제1 컨텐츠 "Name1"을 요청하였다는 것을 나타낼 수 있다. MAC 키 "K1" 및 "K2"는 차후 MAC 인증을 위해 사용될 수 있다.
제2 엔트리(1320)는 제2 엔트리(1320)에 대응하는 제2 컨텐츠의 명칭인 "Name2"를 포함할 수 있다. 또한, 제2 엔트리(1320)는 제2 컨텐츠가 요청된 페이스들의 목록으로서, "face3"을 포함할 수 있다. 또한, 제2 엔트리(1320)는 "face3"를 통해 전송된 컨텐츠의 요청의 MAC 키인 "K3"을 포함할 수 있다. 제2 엔트리(1320)는 제3 사용자(630-3)가 제2 컨텐츠 "Name2"을 요청하였다는 것을 나타낼 수 있다. MAC 키 "K3"는 차후 MAC 인증을 위해 사용될 수 있다.
제4 라우터(623)는 2 개 이상의 노드들에 의해 요청된 제1 컨텐츠 "Name1"에 대해서는 검증을 결정할 수 있다. 제4 라우터(623)는 1 개의 노드들에 의해 요청된 제2 컨텐츠 "Name2"에 대해서는 포워딩을 결정할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 네트워크 내의 노드가 컨텐츠를 제공하는 방법에 있어서,
    상기 네트워크 내의 제1 노드로부터 상기 컨텐츠의 요청을 수신하는 단계;
    상기 컨텐츠에 대한 정보에 기반하여 상기 컨텐츠를 검증할지 여부를 결정하는 단계;
    상기 컨텐츠를 검증하지 않는 것으로 결정된 경우 상기 컨텐츠를 상기 제1 노드로 전송하는 단계; 및
    상기 컨텐츠를 검증하는 것으로 결정된 경우 상기 컨텐츠를 검증한 후 상기 컨텐츠를 상기 제1 노드로 전송하는 단계
    를 포함하고,
    상기 컨텐츠의 요청은 상기 컨텐츠의 명칭을 포함하고, 상기 노드의 공개 키를 사용하여 상기 제1 노드의 MAC 키를 암호화한 값을 포함하는
    컨텐츠 제공 방법.
  2. 제1항에 있어서,
    상기 네트워크는 인프라 기반의 컨텐츠 중심의 네트워크(Content Centric Networking; CCN)이고, 상기 노드는 CCN 라우터(router)인 컨텐츠 제공 방법.
  3. 제1항에 있어서,
    상기 네트워크는 애드혹(adhoc) CCN이고, 상기 노드는 캐싱 노드(caching node)인 컨텐츠 제공 방법.
  4. 제1항에 있어서,
    상기 정보는 상기 컨텐츠의 인기도인 컨텐츠 제공 방법.
  5. 제4항에 있어서,
    상기 인기도는 상기 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수에 기반하여 결정되는 컨텐츠 제공 방법.
  6. 제4항에 있어서,
    상기 노드는 팬딩 인터레스트 테이블(Pending Interest Table; PIT)를 사용하여 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수를 계산하고,
    상기 PIT는 하나 이상의 엔트리들을 포함하고,
    상기 하나 이상의 엔트리들의 각 엔트리는 상기 각 엔트리에 대응하는 컨텐츠의 명칭, 상기 대응하는 컨텐츠가 요청된 상기 노드의 하나 이상의 페이스들의 목록 및 상기 하나 이상의 페이스들의 각각을 통해 전송된 대응하는 컨텐츠의 요청의 MAC 키를 포함하는 컨텐츠 제공 방법.
  7. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수가 소정의 값 이상이면 상기 컨텐츠를 검증할 것을 결정하고, 상기 개수가 상기 소정의 값보다 더 작으면 상기 컨텐츠를 검증하지 않을 것을 결정하는 컨텐츠 제공 방법.
  8. 제1항에 있어서,
    상기 컨텐츠를 검증하는 것으로 결정된 경우 상기 컨텐츠를 검증한 후 상기 컨텐츠를 상기 제1 노드로 전송하는 단계는,
    상기 컨텐츠의 서명 검증을 수행하는 단계;
    상기 서명 검증에 기반하여 상기 컨텐츠가 유효한 것인지를 판단하는 단계;
    상기 컨텐츠의 MAC을 생성하는 단계; 및
    상기 컨텐츠 및 상기 MAC을 상기 제1 노드로 전송하는 단계
    를 포함하는 컨텐츠 제공 방법.
  9. 제8항에 있어서,
    상기 컨텐츠의 MAC을 생성하는 단계는 상기 노드에게 상기 컨텐츠를 요청한 노드들의 각각의 MAC 키를 사용함으로써 상기 컨텐츠의 MAC들을 생성하고,
    상기 컨텐츠 및 상기 MAC을 상기 제1 노드로 전송하는 단계는 상기 생성된 MAC들을 상기 제1 노드로 전송하는 컨텐츠 제공 방법.
  10. 삭제
  11. 제1항 내지 제9항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  12. 네트워크 내의 노드에 있어서,
    상기 네트워크 내의 제1 노드로부터 컨텐츠의 요청을 수신하는 네트워킹부; 및
    상기 컨텐츠에 대한 정보에 기반하여 상기 컨텐츠를 검증할지 여부를 결정하는 처리부
    를 포함하고,
    상기 컨텐츠를 검증하지 않는 것으로 결정된 경우 상기 네트워킹부는 상기 컨텐츠를 상기 제1 노드로 전송하고,
    상기 컨텐츠를 검증하는 것으로 결정된 경우 상기 처리부는 상기 컨텐츠를 검증하고, 상기 네트워킹부는 상기 컨텐츠를 상기 제1 노드로 전송하고,
    상기 컨텐츠의 요청은 상기 컨텐츠의 명칭을 포함하고, 상기 노드의 공개 키를 사용하여 상기 제1 노드의 MAC 키를 암호화한 값을 포함하는
    노드.
  13. 제12항에 있어서,
    상기 정보는 상기 컨텐츠의 인기도인 노드.
  14. 제13항에 있어서,
    상기 인기도는 상기 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수에 기반하여 결정되는 노드
  15. 제12항에 있어서,
    상기 처리부는 네트워크 내에서 상기 노드에게 상기 컨텐츠를 요청한 노드들의 개수가 소정의 값 이상이면 상기 컨텐츠를 검증할 것을 결정하고, 상기 개수가 상기 소정의 값보다 더 작으면 상기 컨텐츠를 검증하지 않을 것을 결정하는 노드.
  16. 제12항에 있어서,
    상기 컨텐츠를 검증하는 것으로 결정된 경우,
    상기 처리부는 상기 컨텐츠의 서명 검증을 수행하고, 상기 서명 검증에 기반하여 상기 컨텐츠가 유효한 것인지를 판단하고, 상기 컨텐츠의 MAC을 생성하고,
    상기 네트워킹부는 상기 컨텐츠 및 상기 MAC을 상기 제1 노드로 전송하는 노드.
  17. 제16항에 있어서,
    상기 처리부는 상기 노드에게 상기 컨텐츠를 요청한 노드들의 각각의 MAC 키를 사용함으로써 상기 컨텐츠의 MAC들을 생성하고,
    상기 네트워킹부는 상기 생성된 MAC들을 상기 제1 노드로 전송하는 노드.
  18. 제12항에 있어서,
    상기 네트워킹부는 상기 네트워크 내의 제2 노드에게 상기 컨텐츠를 요청하고, 상기 제2 노드로부터 상기 컨텐츠를 수신하는 노드.
  19. 네트워크 내의 노드가 컨텐츠를 사용하는 방법에 있어서,
    상기 컨텐츠의 요청을 전송하는 단계;
    상기 컨텐츠를 수신하는 단계;
    상기 수신된 컨텐츠의 내용에 기반하여 상기 컨텐츠가 미리 검증되었는지 여부의 판단을 수행하는 단계;
    상기 판단의 결과에 따라 상기 컨텐츠가 유효한지 여부를 판단하는 복수의 방식들 중 하나의 방식을 결정하고, 결정된 방식을 사용하여 상기 컨텐츠가 유효한지 여부를 판단하는 단계; 및
    상기 컨텐츠가 유효한 경우 상기 컨텐츠를 플레이하는 단계
    를 포함하고,
    상기 컨텐츠의 요청은 상기 컨텐츠의 명칭을 포함하고, 상기 노드의 공개 키를 사용하여 상기 네트워크 내의 제1 노드의 MAC 키를 암호화한 값을 포함하는
    컨텐츠의 사용 방법.
  20. 제19항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
KR1020130118832A 2013-10-04 2013-10-04 컨텐츠 검증 방법 및 장치 KR102134429B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130118832A KR102134429B1 (ko) 2013-10-04 2013-10-04 컨텐츠 검증 방법 및 장치
PCT/KR2014/003402 WO2015050302A1 (en) 2013-10-04 2014-04-18 Method and apparatus for content verification
US14/276,261 US20150100668A1 (en) 2013-10-04 2014-05-13 Method and apparatus for content verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130118832A KR102134429B1 (ko) 2013-10-04 2013-10-04 컨텐츠 검증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150040174A KR20150040174A (ko) 2015-04-14
KR102134429B1 true KR102134429B1 (ko) 2020-07-15

Family

ID=52777874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130118832A KR102134429B1 (ko) 2013-10-04 2013-10-04 컨텐츠 검증 방법 및 장치

Country Status (3)

Country Link
US (1) US20150100668A1 (ko)
KR (1) KR102134429B1 (ko)
WO (1) WO2015050302A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6527090B2 (ja) * 2016-02-01 2019-06-05 株式会社日立製作所 ユーザ許可の確認システム
CN106790225B (zh) * 2017-01-13 2020-08-04 重庆邮电大学 一种应对信息中心网络恶意内容传播的解决方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061372A1 (en) * 2001-09-21 2003-03-27 International Business Machines Corporation Method and apparatus for caching subscribed and non-subscribed content in a network data processing system
JP2012100024A (ja) 2010-11-01 2012-05-24 Denso Corp 通信装置
US20130060962A1 (en) * 2011-09-01 2013-03-07 Futurewei Technologies, Inc. Generalized Dual-Mode Data Forwarding Plane for Information-Centric Network
US20130251339A1 (en) * 2009-04-24 2013-09-26 Level 3 Communications, Llc Media resource storage and management

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553409B1 (en) * 1999-07-09 2003-04-22 Microsoft Corporation Background cache synchronization
US6675219B1 (en) * 1999-11-01 2004-01-06 Nokia Corporation Technique for improving throughput of a gateway interface
US8650266B2 (en) * 2002-03-26 2014-02-11 At&T Intellectual Property Ii, L.P. Cache validation using smart source selection in a data network
JP4309629B2 (ja) * 2002-09-13 2009-08-05 株式会社日立製作所 ネットワークシステム
GB2412279A (en) * 2004-03-16 2005-09-21 Bbc Technology Holdings Ltd Data distribution system and method
JP4576936B2 (ja) * 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
KR100664306B1 (ko) * 2004-10-29 2007-01-04 삼성전자주식회사 데이터 유효성 검증을 위한 예방 통제 데이터 생성 및검증 장치 및 방법
JP4901164B2 (ja) * 2005-09-14 2012-03-21 ソニー株式会社 情報処理装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
CN100512116C (zh) * 2005-11-24 2009-07-08 华为技术有限公司 网络设备远程加载系统及方法
US8554176B2 (en) * 2007-09-18 2013-10-08 Qualcomm Incorporated Method and apparatus for creating a remotely activated secure backup service for mobile handsets
US9959404B2 (en) * 2007-10-01 2018-05-01 Symantec Corporation Methods and systems for creating and updating approved-file and trusted-domain databases
US20100312861A1 (en) * 2007-11-30 2010-12-09 Johan Kolhi Method, network, and node for distributing electronic content in a content distribution network
US8397298B2 (en) * 2009-12-08 2013-03-12 At&T Intellectual Property I, L.P. Method and system for content distribution network security
US8640225B2 (en) * 2010-09-24 2014-01-28 Nokia Corporation Method and apparatus for validating resource identifier
US8645702B2 (en) * 2010-12-28 2014-02-04 Futurewei Technologies, Inc. Method and apparatus to use identity information for digital signing and encrypting content integrity and authenticity in content oriented networks
US9015469B2 (en) * 2011-07-28 2015-04-21 Cloudflare, Inc. Supporting secure sessions in a cloud-based proxy service
US9049251B2 (en) * 2012-02-28 2015-06-02 Futurewei Technologies, Inc. Method and apparatus for internet protocol based content router
US10453105B2 (en) * 2012-03-30 2019-10-22 Ent. Services Development Corporation Lp Encrypted payment image
US9119087B2 (en) * 2012-09-28 2015-08-25 Intel Corporation Systems and methods for hybrid wireless content delivery
US8868834B2 (en) * 2012-10-01 2014-10-21 Edgecast Networks, Inc. Efficient cache validation and content retrieval in a content delivery network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061372A1 (en) * 2001-09-21 2003-03-27 International Business Machines Corporation Method and apparatus for caching subscribed and non-subscribed content in a network data processing system
US20130251339A1 (en) * 2009-04-24 2013-09-26 Level 3 Communications, Llc Media resource storage and management
JP2012100024A (ja) 2010-11-01 2012-05-24 Denso Corp 通信装置
US20130060962A1 (en) * 2011-09-01 2013-03-07 Futurewei Technologies, Inc. Generalized Dual-Mode Data Forwarding Plane for Information-Centric Network

Also Published As

Publication number Publication date
KR20150040174A (ko) 2015-04-14
US20150100668A1 (en) 2015-04-09
WO2015050302A1 (en) 2015-04-09

Similar Documents

Publication Publication Date Title
US11811740B2 (en) Content security at service layer
US9552493B2 (en) Access control framework for information centric networking
JP5948001B2 (ja) 所要のノード経路と暗号署名とを用いたセキュアなパケット送信のためのポリシー
Chowdhury et al. Secure information sharing among autonomous vehicles in NDN
US11303431B2 (en) Method and system for performing SSL handshake
US20150207633A1 (en) Method and apparatus for secure ad hoc group device-to-device communication in information-centric network
US20180006823A1 (en) Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
JP2015149716A (ja) コンテンツベースの伝送セキュリティ
WO2022100356A1 (zh) 身份认证系统、方法、装置、设备及计算机可读存储介质
JP2015149717A (ja) 分散した作成部についてのコンテンツベースの伝送セキュリティ
CN114785622B (zh) 多标识网络的访问控制方法、装置及存储介质
KR20210066640A (ko) 비밀분산 인증 시스템 및 방법
Ullah et al. A secure NDN framework for Internet of Things enabled healthcare
KR20160021031A (ko) 콘텐트 중심 네트워크를 통해 키 결정을 수행하기 위한 시스템 및 방법
US20210036998A1 (en) Cloud key management for afu security
KR102134429B1 (ko) 컨텐츠 검증 방법 및 장치
WO2018166333A1 (zh) 一种内容验证方法及设备
KR102057577B1 (ko) 키 관리를 통한 네트워크 주소등록 방법 및 장치
KR101231352B1 (ko) 피투피 네트워크에 있어서 보상 서비스 제공 방법
Joy Private and Resilient Mobile Edge Networks
WO2021255630A1 (en) Method and corresponding telecommunication network for secure data transmissions

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant