KR20120077214A - 피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법 - Google Patents

피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법 Download PDF

Info

Publication number
KR20120077214A
KR20120077214A KR1020100139095A KR20100139095A KR20120077214A KR 20120077214 A KR20120077214 A KR 20120077214A KR 1020100139095 A KR1020100139095 A KR 1020100139095A KR 20100139095 A KR20100139095 A KR 20100139095A KR 20120077214 A KR20120077214 A KR 20120077214A
Authority
KR
South Korea
Prior art keywords
peer
content
information
ticket information
server
Prior art date
Application number
KR1020100139095A
Other languages
English (en)
Other versions
KR101215802B1 (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 KR1020100139095A priority Critical patent/KR101215802B1/ko
Publication of KR20120077214A publication Critical patent/KR20120077214A/ko
Application granted granted Critical
Publication of KR101215802B1 publication Critical patent/KR101215802B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

P2P 네트워크에서 효율적으로 보안을 유지하고 노드의 부하를 감소시키면서 컨텐츠 전송 시간을 단축시키는 컨텐츠 서비스 제공 방법이 제공된다. 상기 컨텐츠 서비스 제공 방법은 멤버쉽 서버로 컨텐츠 정보를 요청하는 단계, 상기 요청에 따라 상기 멤버쉽 서버로부터 제 1 티켓 정보를 획득하는 단계 및 상기 제 1 티켓 정보에 따라 제 2 피어로 컨텐츠를 요청하는 단계를 포함한다. 여기서, 상기 제 1 티켓 정보는 상기 제 1 피어, 파일명, 파일 내의 오프셋에 대한 정보를 가지며, 상기 제 1 티켓 정보가 상기 제 1 피어로 전송될 때 상기 제 1 티켓 정보는 상기 제 2 피어와 상기 멤버쉽 서버 사이의 비밀키로 암호화되어 있다.

Description

피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법{METHOD OF PROVIDING A CONTENTS SERVICE IN A P2P NETWORK}
본 발명은 P2P 네트워크에서 서버와 사용자의 상호 인증과 유료 컨텐츠 서비스 제공을 효율적으로 수행하는 방법, 특히 보안 프로토콜에 관한 것이다.
P2P 네트워크에서 피어들은 각기 컨텐츠를 전송하기도 하고 제공받기도 한다. 즉, 상기 피어들은 각기 다른 피어들에 대한 서버 역할을 수행하며, P2P 네트워크는 일반적으로 아래의 도 1에 도시된 바와 같은 구조를 가진다.
도 1은 종래의 P2P 네트워크를 도시한 도면이다.
도 1을 참조하면, 컨텐츠를 제공받고자 하는 제 1 피어의 사용자 단말기(100)는 다른 피어들의 서버들(104, 106 및 108)로부터 컨텐츠를 제공받을 수 있다.
다만, 사용자 단말기(100)가 서버들(104, 106 및 108)로 컨텐츠 전송을 요청하면, 서버들(104, 106 및 108)은 멤버쉽 서버(102)로 상기 제 1 피어의 인증을 위한 정보를 요청하여 받아서 사용자 단말기(100)를 인증하고, 인증이 완료된 후 상기 제 1 피어에 의해 요청된 컨텐츠를 사용자 단말기(100)로 전송한다.
즉, 멤버쉽 서버(102)가 모든 인증 과정 등에 참여하여야 하므로, 멤버쉽 서버(102)의 부하가 상당히 증가하는 문제점이 있다. 특히, P2P 네트워크의 특성상 피어들의 참여 및 탈퇴가 수시로 발생하기 때문에, 멤버쉽 서버(102)의 부하가 상당할 수밖에 없다.
또한, 이러한 인증 및 컨텐츠 전송 방법을 위해서는 많은 메시지들의 교환되어야 하므로, 특히 피어들이 수시로 참여/탈퇴하는 P2P 네트워킹 환경에서는 컨텐츠 서비스가 지연되고 네트워크 자원이 낭비될 수 있다.
본 발명의 목적은 P2P 네트워크에서 노드(멤버쉽 서버 및 서비스 제공에 참여하는 피어)의 부하를 감소시키면서 컨텐츠 서비스 지연 시간을 단축시키는 컨텐츠 서비스 제공 방법을 제공하는 것이다.
본 발명의 다른 목적은 P2P 네트워크에서 효율적인 보안 서비스를 유지하면서 컨텐츠를 제공하는 컨텐츠 서비스 제공 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 P2P 네트워크에 사용되는 제 1 피어의 컨텐츠 서비스 제공 방법은 멤버쉽 서버로 컨텐츠 정보를 요청하는 단계; 상기 요청에 따라 상기 멤버쉽 서버로부터 제 1 티켓 정보를 획득하는 단계; 및 상기 제 1 티켓 정보에 따라 제 2 피어로 컨텐츠를 요청하는 단계를 포함한다. 여기서, 상기 제 1 티켓 정보는 상기 제 1 피어, 파일명, 파일 내의 오프셋에 대한 정보를 가지며, 상기 제 1 티켓 정보가 상기 제 1 피어로 전송될 때 상기 제 1 티켓 정보는 상기 제 2 피어와 상기 멤버쉽 서버 사이의 비밀키로 암호화되어 있다.
본 발명의 다른 실시예에 따른 P2P 네트워크에 사용되는 제 1 피어의 컨텐츠 서비스 제공 방법은 멤버쉽 서버로 컨텐츠 정보를 요청하는 단계; 상기 요청에 따라 상기 멤버쉽 서버로부터 전송된 컨텐츠 정보를 분석하여 컨텐츠를 소유한 제 2 피어 및 제 3 피어에 대한 정보 및 상기 제 2 피어와 상기 멤버쉽 서버 사이의 비밀키, 상기 제 3 피어와 상기 멤버쉽 서버 사이의 비밀키를 획득하는 단계; 및 상기 비밀키들을 이용하여 상기 제 2 피어 및 상기 제 3 피어 중 적어도 하나로부터 상기 컨텐츠를 제공받는 단계를 포함한다.
본 발명의 일 실시예에 따른 P2P 네트워크에 사용되는 멤버쉽 서버의 컨텐츠 서비스 제공 방법은 제 1 피어의 사용자 단말기의 컨텐츠 정보 요청에 따라 제 2 피어와 관련된제 1 티켓 정보 및 제 3 피어와 관련된 제 2 티켓 정보를 생성하는 단계; 상기 제 1 티켓 정보를 상기 제 2 피어와 상기 멤버쉽 서버 사이의 제 2 비밀키로 암호화하는 단계; 상기 제 2 티켓 정보를 상기 제 3 피어와 상기 멤버쉽 서버 사이의 제 3 비밀키로 암호화하는 단계; 상기 암호화된 제 1 티켓 정보를 상기 제 1 피어와 상기 멤버쉽 서버 사이의 제 1 비밀키로 암호화하는 단계; 상기 암호화된 제 2 티켓 정보를 상기 제 1 비밀키로 암호화하는 단계; 및 상기 제 1 비밀키로 암호화된 티켓 정보들을 상기 사용자 단말기로 전송하는 단계를 포함한다.
본 발명의 일 실시예에 따른 P2P 네트워크에 사용되는 컨텐츠를 제공하는 제 2 피어의 컨텐츠 서비스 제공 방법은 멤버쉽 서버와 상기 제 2 피어 사이의 비밀키로 암호화된 티켓 정보를 포함하는 컨텐츠 요청 신호를 수신하는 단계; 상기 수신된 컨텐츠 요청 신호를 복호하는 단계; 상기 티켓 정보를 상기 비밀키로 복호하여 상기 티켓 정보를 획득하는 단계; 및 상기 티켓 정보에 따라 컨텐츠를 상기 제 1 피어로 전송하는 단계를 포함한다. 여기서, 상기 티켓 정보는 상기 제 1 피어에 대한 정보 및 파일명에 대한 정보를 가진다.
본 발명에 따른 P2P 네트워크의 컨텐츠 서비스 제공 방법에서, 사용자는 멤버쉽 서버로부터 컨텐츠를 전송할 서버들과 멤버쉽 서버 사이의 비밀키들로 암호화된 티켓 정보들을 한번에 제공받아 활용하며, 따라서 상기 서버들이 사용자를 인증하기 위하여 상기 멤버쉽 서버로 일일이 확인할 필요가 없다. 결과적으로, 상기 멤버쉽 서버의 부하가 상당히 감소할 수 있고, 보안 및 컨텐츠 전송을 위한 신호들(메시지들)의 교환 횟수가 감소에 따라 컨텐츠 서비스 지연 시간이 단축될 수 있다. 따라서, 상기 컨텐츠 서비스 제공 방법은 피어들이 수시로 참여/탈퇴하는 P2P 네트워크나 애드혹(Ad hoc) 방식의 네트워크에 적합하다.
도 1은 종래의 P2P 네트워크를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 다른 P2P 네트워크를 도시한 도면이다.
도 3 내지 도 8은 본 발명의 일 실시예에 따른 P2P 네트워크에서 컨텐츠 서비스 제공 과정을 도시한 도면들이다.
도 9는 본 발명의 일 실시예에 따른 사용자 단말기의 구성을 도시한 블록도이다.
이하에서는 첨부된 도면들을 참조하여 본 발명의 실시예들을 자세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 다른 P2P 네트워크를 도시한 도면이다.
도 2를 참조하면, 본 실시예의 P2P 네트워크는 컨텐츠 서비스에 여러 노드들(피어들)이 참여하는 네트워크로서, 복수의 피어들(Peers), 멤버쉽 서버(Membership server, 202) 및 CA(Certificate Authority, 210)를 포함한다.
이하, 상기 각 피어들은 컨텐츠를 전송하거나 제공받을 수 있으나, 이하 설명의 편의를 위하여 제 1 피어를 컨텐츠를 제공받는 사용자로 가정하고, 제 2 피어 내지 제 4 피어를 상기 제 1 피어로 해당 컨텐츠를 제공하는 피어들로 가정하겠다. 또한, 상기 제 1 피어, 제 2 피어, 제 3 피어 및 제 4 피어가 소유한 단말기를 각기 사용자 단말기(200), 제 1 서버(204), 제 2 서버(206) 및 제 3 서버(208)로 가정한다.
본 발명의 일 실시예에 따르면, 상기 제 2 내지 4 피어들의 서버들(204, 206 및 208)은 빠른 컨텐츠(파일) 전송을 위하여 도 2에 도시된 바와 같이 사용자 단말기(200)로 파일 구간을 나누어서 병렬로 전송할 수 있다. 예를 들어, 사용자 단말기(200)로 전송할 파일의 용량이 600MB(Mbyte)인 경우, 제 1 서버(204)가 사용자 단말기(200)로 초기 200MB 구간을 전송하고, 제 2 서버(206)는 사용자 단말기(200)로 중간 200MB 구간을 전송하며, 제 3 서버(208)가 사용자 단말기(200)로 마지막 200MB 구간을 전송할 수 있다.
사용자 단말기(200)는 상기 사용자(제 1 피어)가 소유한 단말기로서, 노트북, 데스크탑, 스마트폰, IPTV, 클라우드 컴퓨팅 시스템(Cloud computing system)의 단말, 컨텐츠 분배 네트워크(Contents Distribution Network)의 컴퓨터 등일 수 있다. 이러한 사용자 단말기(200)는 멤버쉽 서버(202) 및 서버들(204, 206 및 208)과 각기 무선으로도 연결될 수 있다.
본 발명의 일 실시예에 따르면, 사용자 단말기(200)는 멤버쉽 서버(202)로부터 컨텐츠를 전송할 서버들(204, 206 및 208)에 대한 정보, 특히 각 서버들(204, 206 및 208)과 멤버쉽 서버(202) 사이의 비밀키들을 획득한다. 이에 대한 자세한 설명은 후술하겠다.
또한, 사용자 단말기(200)는 멤버쉽 서버(202)로부터 전송된 정보를 기초로 서버들(204, 206 및 208)로부터 컨텐츠(파일)를 제공받는다.
멤버쉽 서버(202)는 컨텐츠 서비스 운용을 위해 필요한 정보, 예를 들어 가입자 정보(ID, 비밀번호 등) 및 컨텐츠 정보(파일명, 소유자 등)를 수집 및 관리하며, 서비스를 요청하는 피어에 요청 정보를 제공한다. 특히, 멤버쉽 서버(202)는 컨텐츠를 가지고 있는 서버들에 대한 정보를 특정 피어로 전송할 때 상기 정보와 함께 상기 서버들과 멤버쉽 서버(202) 사이의 비밀키들로 암호화된 티켓 정보를 함께 전송한다.
각 서버들(204, 206 및 208)은 사용자 단말기(200)로 컨텐츠의 전부 또는 일부를 전송한다. 다만, 각 서버들(204, 206 및 208)은 상기 컨텐츠의 전송 전에 사용자 단말기(200)를 인증하는 과정을 수행한다. 이 경우, 각 서버들(204, 206 및 208)은 멤버쉽 서버(202)로 정보를 요청하기 않고 사용자 단말기(200)로부터 전송된 티켓 정보를 자신의 비밀키로 검증하여 사용자 단말기(200)를 인증한다.
CA(210)는 컨텐츠 전송에 참여하는 모든 객체들(피어, 서버, 멤버쉽 서버)의 공개키를 관리한다. 다만, CA(210)는 멤버쉽 서버(202)의 일부로서 구현될 수도 있다.
이하, 본 발명의 컨텐츠 서비스 제공 과정을 첨부된 도면들을 참조하여 상술하겠다.
도 3 내지 도 8은 본 발명의 일 실시예에 따른 P2P 네트워크에서 컨텐츠 서비스 제공 과정을 도시한 도면들이다.
도 3을 참조하면, 사용자 단말기(200)는 멤버쉽 서버(202)로 제공받고자 하는 컨텐츠(파일)에 대한 정보를 요청한다(S300). 본 발명의 일 실시예에 따르면, 사용자 단말기(200)는 예를 들어 600MB 크기의 컨텐츠를 요청하기 위하여 자신의 User ID 및 요청하고자 하는 컨텐츠의 명칭(파일명)을 자신과 멤버쉽 서버(202) 사이의 제 1 비밀키(KP1 - server)로 암호화하고, 암호화된 User ID 및 파일명을 가지는 컨텐츠 정보 요청 신호를 도 4에 도시된 바와 같이 멤버쉽 서버(202)로 전송한다.
이어서, 멤버쉽 서버(202)는 제 1 비밀키(KP1 - server)로 컨텐츠 정보 요청 신호를 복호화하여 사용자의 User ID 및 파일명을 획득하고, 상기 User ID를 통하여 사용자(제 1 피어)를 인증한다.
계속하여, 멤버쉽 서버(202)는 사용자가 요청한 컨텐츠를 소유한 피어들을 선정한다. 예를 들어, 멤버쉽 서버(202)는 제 2 피어 내지 제 4 피어를 선정하며, 선정 결과는 {peer2(server1), peer3(server2), peer4(server3)}로 표시된다.
그런 후, 멤버쉽 서버(202)는 컨텐츠를 소유한 피어들에 대한 정보, 티켓 정보 및 timestamp 정보를 가지는 컨텐츠 정보를 생성한다. 여기서, timestamp 정보는 현재 시간 정보를 표시하며, 이는 중간 공격 등을 방지하기 위하여 사용된다.
본 발명의 일 실시예에 따르면, 상기 티켓 정보는 컨텐츠 정보를 요청한 사용자, 파일명, 파일 내의 오프셋으로 이루어질 수 있으며, 각 서버들(204, 206 및 208)과 멤버쉽 서버(202) 사이의 비밀키들(KP2 - server, KP3 - server, KP4 - server)로 암호화된다. 여기서, 상기 오프셋은 각 서버들(204, 206 및 208)이 사용자에게 전송할 파일 내의 주소 구간을 의미한다.
즉, 멤버쉽 서버(202)는 아래와 같은 정보들을 생성한다(S302).
[컨텐츠 정보에 포함된 정보들]
peer2, KP2 - server(peer1, filename, 0~200MB), timestamp
peer3, KP3 - server(peer1, filename, 201~400MB), timestamp
peer4, KP4 - server(peer1, filename, 401~600MB), timestamp
다시 말하면, 상기 컨텐츠 정보는 상기 사용자가 제 2 피어로부터 0~200MB 구간의 파일을 제공받을 수 있고, 제 3 피어로부터 201~400MB 구간의 파일을 제공받을 수 있으며, 제 4 피어로부터 401~600MB 구간의 파일을 제공받을 수 있다는 티켓 정보들을 포함하되, 상기 티켓 정보들은 비밀키들(KP2 - server, KP3 - server, KP4 - server)로 각기 암호화된다.
다만, 상기 컨텐츠 정보가 컨텐츠들을 제공할 서버들에 대한 정보 및 상기 서버들과 멤버쉽 서버(202) 사이의 비밀키들로 상기 티켓 정보들이 암호화되는 한 상기 컨텐츠 정보는 다양하게 변형될 수 있다.
또한, 상기 컨텐츠 서비스가 병렬 전송을 전제로 하였지만, 단일 전송 방법을 사용할 수도 있다. 즉, 상기 컨텐츠 정보는 복수의 피어들에 대한 정보가 아닌 단일 피어에 대한 정보 및 상기 피어와 멤버쉽 서버(202) 사이의 비밀키를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 피어(서버) 정보, 티켓 정보 및 timestamp 정보는 사용자와 멤버쉽 서버(202) 사이의 제 1 비밀키(KP1 - server)로 암호화하여 아래와 같은 컨텐츠 정보를 생성하고, 도 5에 도시된 바와 같이 상기 생성된 컨텐츠 정보를 사용자 단말기(200)로 전송한다(S302).
[컨텐츠 정보]
KP1 -server(peer2, KP2 - server(peer1, filename, 0~200MB), timestamp)
KP1 -server(peer3, KP3 - server(peer1, filename, 201~400MB), timestamp)
KP1 -server(peer4, KP4 - server(peer1, filename, 401~600MB), timestamp)
이어서, 사용자 단말기(200)는 제 1 비밀키(KP1 - server)로 상기 컨텐츠 정보를 복호화하여 컨텐츠를 전송할 서버들(204, 206 및 208)에 대한 정보, 티켓 정보, timestamp를 획득한다. 여기서, 비밀키들(KP2 - server, KP3 - server, KP4 - server)은 서버들(204, 206 및 208)에서 티켓 정보가 멤버쉽 서버(202)를 거친 유효한 티켓 정보임을 인증하는 데 사용된다.
정리하면, 사용자 단말기(200)와 멤버쉽 서버(202)는 제 1 비밀키(KP1 - server)를 이용하여 상호 인증하고, 사용자 단말기(200)는 컨텐츠를 전송할 서버들(204, 206 및 206)에 대한 정보 및 비밀키들(KP2 - server, KP3 - server, KP4 - server)로 암호화된 티켓 정보들을 멤버쉽 서버(202)로부터 제공받는다.
계속하여, 사용자 단말기(200)는 CA(210)로부터 서버들(204, 206 및 208)의 공개키들(KP2 +, KP3 +, KP4 +)을 받아온다(S304 및 S306).
그런 후, 사용자 단말기(200)는 아래와 같은 일회성 세션키들을 생성한다(S308).
[세션키]
사용자(제 1 피어)와 제 2 피어 사이의 세션키 : KP1 - P2
사용자(제 1 피어)와 제 3 피어 사이의 세션키 : KP1 - P3
사용자(제 1 피어)와 제 4 피어 사이의 세션키 : KP1 - P4
이어서, 사용자 단말기(200)는 상기 세션키와 timestamp를 공개키로 암호화하고 멤버쉽 서버(202)로부터 전송된 티켓 정보와 함께 사용자의 비밀키로 암호화한다(S310). 예를 들어, 사용자 단말기(200)는 제 1 서버(204)로 컨텐츠를 요청하기 위하여 KP1 - P2와 timestamp를 제 1 서버(204)의 공개키(KP2 +)로 암호화하고 KP2-server(peer1, filename, 0~200MB)와 함께 사용자(제 1 피어)의 비밀키(KP1 -)로 암호화한다. 결과적으로, 사용자 단말기(200)는 KP1 -(KP2 +(KP1 - P2, timestamp), KP2-server(peer1, filename, 0~200MB))를 생성한다.
즉, 사용자 단말기(200)는 아래와 같은 정보들을 포함하는 컨텐츠 요청 신호들을 생성한다.
[컨텐츠 요청 신호들에 포함된 정보들]
KP1 -(KP2 +(KP1 - P2, timestamp), KP2 - server(peer1, filename, 0~200MB)) : 제 1 컨텐츠 요청 신호
KP1 -(KP3 +(KP1 - P3, timestamp), KP3 - server(peer1, filename, 201~400MB)) : 제 2 컨텐츠 요청 신호
KP1 -(KP4 +(KP1 - P4, timestamp), KP4 - server(peer1, filename, 401~600MB)) : 제 3 컨텐츠 요청 신호
계속하여, 사용자 단말기(200)는 KP1 -(KP2 +(KP1 - P2, timestamp), KP2 -server(peer1, filename, 0~200MB))를 포함하는 제 1 컨텐츠 요청 신호를 도 6에 도시된 바와 같이 제 1 서버(204)로 전송하고(S312), KP1 -(KP3 +(KP1 - P3, timestamp), KP3 -server(peer1, filename, 201~400MB))를 포함하는 제 2 컨텐츠 요청 신호를 제 2 서버(206)로 전송하며(S314), KP1 -(KP4 +(KP1 - P4, timestamp), KP4 - server(peer1, filename, 401~600MB))를 포함하는 제 3 컨텐츠 요청 신호를 제 3 서버(208)로 전송한다(S316).
그런 후, 제 1 서버(204)는 사용자 단말기(200)로부터 전송된 제 1 컨텐츠 요청 신호를 복호하기 위하여 도 7에 도시된 바와 같이 CA(210)로 사용자의 공개키(KP1 +)를 요청하여 받아온다(S318 및 S320). 물론, 제 2 서버(206) 및 제 3 서버(208)도 CA(210)로 사용자의 공개키(KP1 +)를 요청하여 받아온다.
이어서, 각 서버들(204, 206 및 208)은 사용자의 공개키(KP1 +)로 해당 컨텐츠 요청 신호를 복호하여 아래와 같은 정보들을 획득한다.
[공개키(KP1 +)로 복호된 정보들]
KP2 +(KP1 - P2, timestamp), KP2 -server(peer1, filename, 0~200MB)
KP3 +(KP1 - P3, timestamp), KP3 -server(peer1, filename, 201~400MB)
KP4 +(KP1 - P4, timestamp), KP4 -server(peer1, filename, 401~600MB)
계속하여, 제 1 서버(204)는 자신의 비밀키(KP2 _)와 자신과 멤버쉽 서버(202) 사이의 비밀키(KP2 - server)로 공개키(KP1 +)로 복호된 정보를 다시 복호시킨다. 물론, 제 2 서버(206) 및 제 3 서버(208)에서도 동일한 과정이 수행된다. 상기 복호 결과 아래와 같은 정보들이 획득된다.
[복호된 정보들]
(KP1 - P2, timestamp), (peer1, filename, 0~200MB)
(KP1 - P3, timestamp), (peer1, filename, 201~400MB)
(KP1 - P4, timestamp), (peer1, filename, 401~600MB)
그런 후, 제 1 서버(204)는 상기 복호된 정보들을 통하여 세션키(KP1-P2)를 획득하고 자신에게 파일을 요청한 사용자에 대한 인증을 완료한다(S322). 또한, 제 1 서버(204)는 상기 복호된 정보들을 통하여 티켓 정보(요청된 파일명, 전송하여야 할 파일 내의 오프셋 주소 구간)를 파악한다. 물론, 제 2 서버(206) 및 제 3 서버(208)에서도 동일한 과정이 수행된다.
이어서, 제 1 서버(204)는 오프셋 주소 구간에 해당하는 파일 구간(0~200MB)을 상기 획득된 세션키(KP1-P2)로 암호화하여 기밀성을 보장하고, 암호화된 파일 구간을 가지는 컨텐츠 전송 신호를 생성한다(S324). 물론, 제 2 서버(206) 및 제 3 서버(208)에서도 동일한 과정이 수행된다. 결과적으로, 서버들(204, 206 및 208)은 아래와 같은 정보들을 포함하는 컨텐츠 전송 신호들을 생성한다.
[컨텐츠 전송 신호들에 포함된 정보들]
KP1 - P2(file_0~200MB) : 제 1 컨텐츠 전송 신호
KP1 - P3(file_201~400MB) : 제 2 컨텐츠 전송 신호
KP1 - P4(file_401~600MB) : 제 3 컨텐츠 전송 신호
계속하여, 제 1 서버(204)는 도 8에 도시된 바와 같이 제 1 컨텐츠 전송 신호를 사용자 단말기(200)로 전송하며(S326), 제 2 서버(206)는 제 2 컨텐츠 전송 신호를 사용자 단말기(200)로 전송하고, 제 3 서버(208)는 제 3 컨텐츠 전송 신호를 사용자 단말기(200)로 전송한다.
그런 후, 사용자 단말기(200)는 상기 전송된 제 1 컨텐츠 전송 신호를 해당 세션키(KP1-P2)로 복호하여 파일 구간(0~200MB)을 획득하고, 상기 전송된 제 2 컨텐츠 전송 신호를 해당 세션키(KP1-P3)로 복호하여 파일 구간(201~400MB)을 획득하며, 상기 전송된 제 3 컨텐츠 전송 신호를 해당 세션키(KP1-P4)로 복호하여 파일 구간(401~600MB)을 획득한다.
이어서, 사용자 단말기(200)는 상기 파일 구간들을 합쳐서 파일(0~600MB)을 모두 획득한다.
요컨대, 본 발명의 컨텐츠 서비스 제공 방법은 사용자 단말기(200)가 멤버쉽 서버(202)로부터 컨텐츠를 전송할 서버들(204, 206 및 208)에 대한 정보 및 멤버쉽 서버(202) 사이의 비밀키들(KP2 - server, KP3 - server, KP4 - server)로 암호화된 티켓 정보들을 한번에 제공받고, 해당 티켓 정보와 세션키를 해당 서버(204, 206 또는 208)로 전송한다. 여기서, 상기 세션키들은 해당 서버(204, 206 또는 208)와 사용자 단말기(200)의 파일 전송을 위해 사용된다.
종래 기술에서는 각 서버들은 사용자 인증을 위하여 멤버쉽 서버로 항상 문의하여야 했고 인증 및 파일 전송을 위하여 많은 신호들(메시지들)을 교환해야 했다. 따라서, 상기 멤버쉽 서버의 부하가 상당하였고 많은 메시지들의 교환으로 인하여 서비스가 지연될 수 있었다. 또한, 종래 기술은 피어들이 수시로 참여 및 탈퇴를 하는 P2P 네트워크에 적합하지 않았다.
반면에, 본 발명의 컨텐츠 서비스 제공 방법은 사용자 단말기(200)가 멤버쉽 서버(202)로부터 컨텐츠를 전송할 서버들(204, 206 및 208)에 대한 정보 및 멤버쉽 서버(202) 사이의 비밀키들(KP2 - server, KP3 - server, KP4 - server)로 암호화된 티켓 정보들을 한번에 제공받아 활용하므로, 서버들(204, 206 및 208)은 사용자를 인증하기 위하여 멤버쉽 서버(202)에 문의하지 않아도 된다. 결과적으로, 멤버쉽 서버(202)의 부하가 상당히 감소하고, 신호들의 교환 횟수가 감소함에 따라 서비스 지연 시간인 단축될 수 있다. 따라서, 피어들이 수시로 참여/탈퇴하는 동적인 P2P 네트워크에 적합하고, 효율적인 보안 서비스(기밀성, 무결성, 인증, 접근 제어)를 제공할 수 있다. 특히, 본 발명의 컨텐츠 서비스 제공 방법은 현재 각광받고 있는 P2P 기반의 IPTV, 스마트 TV, VoD, 클라우드 컴퓨팅, 스마트폰, 애드혹(Ad hoc) 장비들 등에 효율적으로 사용될 수 있다.
도 9는 본 발명의 일 실시예에 따른 사용자 단말기의 구성을 도시한 블록도이다.
도 9를 참조하면, 본 실시예의 사용자 단말기(200)는 제어부(900), 송수신부(902), 정보 요청부(904), 복호부(906), 공개키부(908), 키 생성부(910), 암호화부(912), 컨텐츠부(914) 및 저장부(916)를 포함한다.
송수신부(902)는 사용자 단말기(200)와 멤버쉽 서버(202), 피어들의 서버들(204, 206 및 208) 사이의 연결 통로이다.
정보 요청부(904)는 사용자 단말기(200)가 멤버쉽 서버(202)로 컨텐츠 정보를 요청하고, 서버들(204, 206 및 208)로 컨텐츠의 전송을 요청한다.
복호부(906)는 멤버쉽 서버(202)로부터 전송된 컨텐츠 정보를 복호하고, 서버들(204, 206 및 208)로부터 전송된 컨텐츠 전송 신호들을 복호한다.
공개키부(908)는 공개키를 관리하며, 예를 들어 CA(210)로부터 서버들(204, 206 및 208)의 공개키들을 전송받아 관리한다.
키 생성부(910)는 서버들(204, 206 및 208)과의 파일 전송을 위해 사용되는 세션키들을 생성한다.
암호화부(912)는 멤버쉽 서버(202), 피어들의 서버들(204, 206 및 208)로 전송할 신호들에 포함될 정보들을 암호화시킨다.
컨텐츠부(914)는 컨텐츠를 관리하며, 예를 들어 서버들(204, 206 및 208)로부터 전송된 파일 구간들을 합쳐서 하나의 파일로 생성하고 관리한다.
저장부(916)는 비밀키들, 공개키들, 세션키들, 컨텐츠 등과 같은 각종 데이터를 저장한다.
제어부(900)는 사용자 단말기(200)의 구성요소들의 동작을 전반적으로 제어한다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
100 : 사용자 단말기 102 : 멤버쉽 서버
104, 106, 108 : 서버 200 : 사용자 단말기
202 : 멤버쉽 서버 204, 206, 208 : 서버
210 : CA 900 : 제어부
902 : 송수신부 904 : 정보 요청부
906 : 복호부 908 : 공개키부
910 : 키 생성부 912 : 암호화부
914 : 컨텐츠부 916 : 저장부

Claims (12)

  1. P2P 네트워크에 사용되는 제 1 피어의 컨텐츠 서비스 제공 방법에 있어서,
    멤버쉽 서버로 컨텐츠 정보를 요청하는 단계;
    상기 요청에 따라 상기 멤버쉽 서버로부터 제 1 티켓 정보를 획득하는 단계; 및
    상기 제 1 티켓 정보에 따라 제 2 피어로 컨텐츠를 요청하는 단계를 포함하되,
    상기 제 1 티켓 정보는 상기 제 1 피어, 파일명, 파일 내의 오프셋에 대한 정보를 가지며, 상기 제 1 티켓 정보가 상기 제 1 피어로 전송될 때 상기 제 1 티켓 정보는 상기 제 2 피어와 상기 멤버쉽 서버 사이의 비밀키로 암호화되어 있는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  2. 제1항에 있어서, 상기 컨텐츠 서비스 제공 방법은,
    상기 멤버쉽 서버로부터 제 2 티켓 정보를 획득하는 단계; 및
    상기 제 2 티켓 정보에 따라 제 3 피어로 컨텐츠를 요청하는 단계를 더 포함하되,
    상기 제 2 티켓 정보는 상기 제 1 피어, 파일명, 파일 내의 오프셋에 대한 정보를 가지고, 상기 제 2 티켓 정보가 상기 제 1 피어로 전송될 때 상기 제 2 티켓 정보는 상기 제 3 피어와 상기 멤버쉽 서버 사이의 비밀키로 암호화되어 있으며, 상기 제 1 피어는 상기 제 2 피어로부터 상기 컨텐츠의 일부를 제공받고, 상기 제 1 피어는 상기 제 3 피어로부터 상기 컨텐츠의 다른 일부를 제공받으며, 상기 티켓 정보들 중 적어도 하나는 timestamp 정보를 가지는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  3. 제1항에 있어서, 상기 컨텐츠 서비스 제공 방법은,
    상기 요청에 따라 상기 컨텐츠를 상기 제 2 피어로부터 제공받는 단계를 더 포함하되,
    상기 제 2 피어로 컨텐츠를 요청하는 단계는,
    상기 제 2 피어의 제 1 공개키를 수신하는 단계;
    상기 제 1 공개키를 이용하여 상기 제 1 피어와 상기 제 2 피어 사이의 제 1 세션키를 생성하는 단계;
    상기 생성된 제 1 세션키와 해당 타임 스탬프를 상기 제 1 공개키로 암호화하는 단계;
    상기 제 1 공개키로 암호회된 제 1 세션키 및 타임 스탬프와 상기 제 2 피어와 상기 멤버쉽 서버 사이의 비밀키로 암호화된 제 1 티켓 정보를 상기 제 1 피어의 비밀키로 암호화하고, 상기 암호화된 제 1 세션키, 타임 스탬프 및 제 1 티켓 정보를 가지는 컨텐츠 요청 신호를 상기 제 2 피어로 전송하는 단계를 포함하는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  4. 제3항에 있어서, 상기 제 1 피어는 상기 세션키로 상기 제 2 피어로부터 전송된 컨텐츠를 복호하는 단계를 더 포함하는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  5. P2P 네트워크에 사용되는 제 1 피어의 컨텐츠 서비스 제공 방법에 있어서,
    멤버쉽 서버로 컨텐츠 정보를 요청하는 단계;
    상기 요청에 따라 상기 멤버쉽 서버로부터 전송된 컨텐츠 정보를 분석하여 컨텐츠를 소유한 제 2 피어 및 제 3 피어에 대한 정보 및 상기 제 2 피어와 상기 멤버쉽 서버 사이의 비밀키, 상기 제 3 피어와 상기 멤버쉽 서버 사이의 비밀키를 획득하는 단계; 및
    상기 비밀키들을 이용하여 상기 제 2 피어 및 상기 제 3 피어 중 적어도 하나로부터 상기 컨텐츠를 제공받는 단계를 포함하는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  6. 제5항에 있어서, 상기 컨텐츠 정보는 상기 제 1 피어에게 컨텐츠를 전송할 서버에 대한 정보, 티켓 정보 및 타임 스탬프 정보를 포함하되,
    상기 티켓 정보는 상기 제 1 피어, 파일명, 파일 내의 오프셋을 가지고, 상기 티켓 정보는 상기 멤버쉽 서버로부터 상기 제 1 피어로 전송될 때 상기 제 2 비밀키 또는 상기 제 3 비밀키로 암호화되어 전송되며, 상기 컨텐츠 정보는 상기 제 1 피어와 상기 멤버쉽 서버 사이의 비밀키로 암호화되는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  7. 제6항에 있어서, 상기 컨텐츠를 제공받는 단계는,
    상기 제 2 피어의 제 1 공개키 및 상기 제 3 피어의 제 2 공개키를 수신하는 단계;
    상기 제 1 공개키를 이용하여 상기 제 1 피어와 상기 제 2 피어 사이의 제 1 세션키를 생성하고, 상기 제 2 공개키를 이용하여 상기 제 1 피어와 상기 제 3 피어 사이의 제 2 세션키를 생성하는 단계;
    상기 생성된 제 1 세션키와 해당 타임 스탬프를 상기 제 1 공개키로 암호화하는 단계;
    상기 제 1 공개키로 암호회된 제 1 세션키와 타임 스탬프와 상기 제 2 피어와 관련된 티켓 정보를 상기 제 1 피어의 비밀키로 암호화하고, 상기 제 1 피어의 비밀키로 암호화된 제 1 세션키, 타임 스탬프 및 티켓 정보를 가지는 컨텐츠 요청 신호를 상기 제 2 피어로 전송하는 단계; 및
    상기 컨텐츠 요청 신호에 따라 전송된 상기 컨텐츠를 수신하는 단계를 포함하는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  8. 제5항에 있어서, 상기 제 2 피어는 상기 제 1 피어로 상기 컨텐츠의 일부를 전송하고, 상기 제 3 피어는 상기 제 1 피어로 상기 컨텐츠의 다른 일부를 전송하는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  9. P2P 네트워크에 사용되는 멤버쉽 서버의 컨텐츠 서비스 제공 방법에 있어서,
    제 1 피어의 사용자 단말기의 컨텐츠 정보 요청에 따라 제 2 피어와 관련된제 1 티켓 정보 및 제 3 피어와 관련된 제 2 티켓 정보를 생성하는 단계;
    상기 제 1 티켓 정보를 상기 제 2 피어와 상기 멤버쉽 서버 사이의 제 2 비밀키로 암호화하는 단계;
    상기 제 2 티켓 정보를 상기 제 3 피어와 상기 멤버쉽 서버 사이의 제 3 비밀키로 암호화하는 단계;
    상기 암호화된 제 1 티켓 정보를 상기 제 1 피어와 상기 멤버쉽 서버 사이의 제 1 비밀키로 암호화하는 단계;
    상기 암호화된 제 2 티켓 정보를 상기 제 1 비밀키로 암호화하는 단계; 및
    상기 제 1 비밀키로 암호화된 티켓 정보들을 상기 사용자 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 P2P 네트워크에 사용되는 멤버쉽 서버의 컨텐츠 서비스 제공 방법.
  10. 제9항에 있어서, 상기 티켓 정보들은 각기 상기 제 1 피어, 파일명, 파일 내의 오프셋(전송될 컨텐츠 내의 주소구간)을 포함하는 것을 특징으로 하는 P2P 네트워크에 사용되는 멤버쉽 서버의 컨텐츠 서비스 제공 방법.
  11. P2P 네트워크에 사용되는 컨텐츠를 제공하는 제 2 피어의 컨텐츠 서비스 제공 방법에 있어서,
    멤버쉽 서버와 상기 제 2 피어 사이의 비밀키로 암호화된 티켓 정보를 포함하는 컨텐츠 요청 신호를 수신하는 단계;
    상기 수신된 컨텐츠 요청 신호를 복호하는 단계;
    상기 티켓 정보를 상기 비밀키로 복호하여 상기 티켓 정보를 획득하는 단계; 및
    상기 티켓 정보에 따라 컨텐츠를 상기 제 1 피어로 전송하는 단계를 포함하되,
    상기 티켓 정보는 상기 제 1 피어에 대한 정보 및 파일명에 대한 정보를 가지고 있는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
  12. 제11항에 있어서, 상기 컨텐츠 요청 신호는 세션키와 timestamp에 대한 정보를 더 포함하되,
    상기 제 2 피어는 상기 세션키로 상기 컨텐츠를 암호화한 후 상기 제 1 피어로 전송하며, 상기 제 2 피어는 상기 컨텐츠 요청 신호를 상기 제 1 피어의 공개키로 복호하는 것을 특징으로 하는 P2P 네트워크에 사용되는 피어의 컨텐츠 서비스 제공 방법.
KR1020100139095A 2010-12-30 2010-12-30 피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법 KR101215802B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100139095A KR101215802B1 (ko) 2010-12-30 2010-12-30 피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100139095A KR101215802B1 (ko) 2010-12-30 2010-12-30 피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법

Publications (2)

Publication Number Publication Date
KR20120077214A true KR20120077214A (ko) 2012-07-10
KR101215802B1 KR101215802B1 (ko) 2012-12-26

Family

ID=46710744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100139095A KR101215802B1 (ko) 2010-12-30 2010-12-30 피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR101215802B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140056694A (ko) * 2012-10-31 2014-05-12 한국전자통신연구원 P2p 네트워크 기반 콘텐트 전달 서비스에서 사용자에게 다른 사용자가 수신하고 있는 콘텐트 정보를 제공하는 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4718257B2 (ja) * 2005-07-06 2011-07-06 株式会社エヌ・ティ・ティ・ドコモ 分散認証アクセス制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140056694A (ko) * 2012-10-31 2014-05-12 한국전자통신연구원 P2p 네트워크 기반 콘텐트 전달 서비스에서 사용자에게 다른 사용자가 수신하고 있는 콘텐트 정보를 제공하는 방법

Also Published As

Publication number Publication date
KR101215802B1 (ko) 2012-12-26

Similar Documents

Publication Publication Date Title
US9923877B2 (en) External indexing and search for a secure cloud collaboration system
US8086847B2 (en) Computer program product and computer system for peer-to-peer communications
US20090158394A1 (en) Super peer based peer-to-peer network system and peer authentication method thereof
US20150281185A1 (en) Cloud Collaboration System With External Cryptographic Key Management
CN101605137A (zh) 安全分布式文件系统
CN110709874A (zh) 用于区块链网络的凭证生成与分发方法和系统
EP1800485A1 (en) Method and system for authorizing multimedia multicasting
KR20150142037A (ko) 사용자에 의해 디바이스에 액세스하기 위한 방법 및 시스템
JP2009086802A (ja) 認証仲介方法およびシステム
CN101702725A (zh) 一种流媒体数据传输的系统、方法及装置
CN108847928B (zh) 基于群组型量子密钥卡实现信息加解密传输的通信系统和通信方法
CN112202882B (zh) 一种传输方法、客户端及传输系统
CN109995739A (zh) 一种信息传输方法、客户端、服务器及存储介质
CN113676478A (zh) 一种数据处理方法及相关设备
US11411744B2 (en) Encryption communication method, information processing apparatus, and program
KR101215802B1 (ko) 피투피 네트워크에 있어서 컨텐츠 서비스 제공 방법
KR101165350B1 (ko) 유비쿼터스 컴퓨팅 네트워크 환경에서 커뮤니티 컴퓨팅을 위한 디바이스 멤버 인증방법
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质
KR101231352B1 (ko) 피투피 네트워크에 있어서 보상 서비스 제공 방법
Gupta et al. Security mechanisms of Internet of things (IoT) for reliable communication: a comparative review
Oh et al. A peer mutual authentication method using PKI on super peer based peer-to-peer systems
CN116980122B (zh) 一种量子密钥分发管理系统
CN114567426B (zh) 一种数据共享方法及系统
EP1833216B1 (en) Method and system for mediation of authentication within a communication network
Lim et al. Lightweight authentication for distributed mobile P2P communications

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
FPAY Annual fee payment

Payment date: 20151207

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161115

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 6