KR102512051B1 - 학습 트리 기반 보안 p2p 파일 전송 방법 - Google Patents

학습 트리 기반 보안 p2p 파일 전송 방법 Download PDF

Info

Publication number
KR102512051B1
KR102512051B1 KR1020210001612A KR20210001612A KR102512051B1 KR 102512051 B1 KR102512051 B1 KR 102512051B1 KR 1020210001612 A KR1020210001612 A KR 1020210001612A KR 20210001612 A KR20210001612 A KR 20210001612A KR 102512051 B1 KR102512051 B1 KR 102512051B1
Authority
KR
South Korea
Prior art keywords
agents
agent
server
network connectivity
file
Prior art date
Application number
KR1020210001612A
Other languages
English (en)
Other versions
KR20220099410A (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 KR1020210001612A priority Critical patent/KR102512051B1/ko
Priority to PCT/KR2021/000294 priority patent/WO2022149636A1/ko
Publication of KR20220099410A publication Critical patent/KR20220099410A/ko
Application granted granted Critical
Publication of KR102512051B1 publication Critical patent/KR102512051B1/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

학습 트리 기반 보안 P2P 파일 전송 방법이 제공된다. 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법은 에이전트들이 복수의 암호화된 블록 파일로 구성된 전송 파일을 포함하는 서버에 접속하는 단계, 서버에서 에이전트들 간에 복수의 암호화된 블록 파일의 교환이 가능한 네트워크 연결 관계성을 학습하는 단계, 서버에서 에이전트들 중 네트워크 연결 관계성을 가진 에이전트들을 그룹화하여 네트워크 연결성 에이전트 그룹을 만드는 단계, 서버에서 네트워크 연결성 에이전트 그룹에서 메인 에이전트 및 메인 에이전트와 네트워크로 연결된 서브 에이전트를 포함하는 계층적 전파트리를 형성하는 단계 및 서버에서 메인 에이전트에 복수의 암호화된 블록 파일을 전송하고, 네트워크 연결성 에이전트 그룹에서 계층적 전파트리를 통하여 복수의 암호화된 블록 파일이 P2P 방식으로 전송되는 계층적 전파트리 파일 전송 단계를 포함한다.

Description

학습 트리 기반 보안 P2P 파일 전송 방법{A LEARNING TREE BASED SECURE P2P FILE TRANSFER METHOD}
본 발명은 학습 트리 기반 보안 P2P 파일 전송 방법에 관한 것으로, 보다 상세하게는, 서버가 에이전트들의 네트워크 연결 관계성을 학습하여 네트워크 연결성 에이전트 그룹을 생성하고, 네트워크 연결성 에이전트 그룹에서 선정된 메인 에이전트를 정점으로 하는 계층적 전파트리가 형성되어 P2P(Peer to Peer) 방식으로 에이전트들 간에 복수의 암호화된 블록 파일의 전송이 수행될 수 있는 학습 트리 기반 보안 P2P 파일 전송 방법에 관한 것이다.
종래의 일대일 파일배포 또는 분산형 파일배포는 개방형 네트워크를 통해 제공되고, 파일배포를 위해서 통신포트를 항상 열어두어야 한다. 종래의 일대일 또는 분산형 파일배포시에는 항상 열려있는 통신포트를 통해 악성 소프트웨어 또는 악성 코드(malicious code) 등이 침입될 수 있고, 이로 인한 보안 취약성에 따른 파일 유출 등의 파일 보안 위협의 문제가 발생하고 있다.
또한, 종래의 1:1 파일배포 또는 분산형 파일배포의 경우, 사용자는 보안 패치파일 업데이트, 윈도우 업데이트 등을 하기 위하여 서버에 접속하여 파일을 다운로드 받아서 업데이트를 수행하게 된다. 이때, 많은 사용자가 동시에 서버에 접속하는 경우, 서버는 접속되는 많은 사용자들에 의해 서비스 거부 공격을 받은 것처럼 서버에 장애가 발생되어 서버 과부하를 초래하게 되는 문제가 있다.
본 발명에서는 네트워크를 이용하여 파일전송이 수행되고, 사용자 간에 블록파일이 전송될 때 블록파일이 암호화된 상태에서 수행되어 파일 보안을 향상시킬 수 있고, 네트워크 연결성 에이전트 그룹별 파일전송을 통해 서버의 과부하를 방지하여 종래 파일 전송에서의 서버 문제점을 개선할 수 있는 방법을 제안하고자 한다.
대한민국 공개특허 10-2002-0088149호(2002.11.27 공개) 대한민국 등록특허 10-0793420호(2008.01.03 등록)
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명은 서버가 에이전트들의 네트워크 연결 관계성을 학습하여 네트워크 연결성 에이전트 그룹을 생성하고, 네트워크 연결성 에이전트 그룹에서 선정된 메인 에이전트를 정점으로 하는 계층적 전파트리가 형성되어 P2P(Peer to Peer) 방식으로 에이전트들 간에 복수의 암호화된 블록 파일의 전송이 수행될 수 있는 학습 트리 기반 보안 P2P 파일 전송 방법을 제공하기 위한 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자가 명확하게 이해될 수 있을 것이다.
본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법은 에이전트들이 복수의 암호화된 블록 파일로 구성된 전송 파일을 포함하는 서버에 접속하는 단계, 서버에서 에이전트들 간에 복수의 암호화된 블록 파일의 교환이 가능한 네트워크 연결 관계성을 학습하는 단계, 서버에서 에이전트들 중 네트워크 연결 관계성을 가진 에이전트들을 그룹화하여 네트워크 연결성 에이전트 그룹을 만드는 단계, 서버에서 네트워크 연결성 에이전트 그룹에서 메인 에이전트 및 메인 에이전트와 네트워크로 연결된 서브 에이전트를 포함하는 계층적 전파트리를 형성하는 단계 및 서버에서 메인 에이전트에 복수의 암호화된 블록 파일을 전송하고, 네트워크 연결성 에이전트 그룹에서 계층적 전파트리를 통하여 복수의 암호화된 블록 파일이 P2P 방식으로 전송되는 계층적 전파트리 파일 전송 단계를 포함한다.
또한, 계층적 전파트리 파일 전송 단계에서 메인 에이전트와 서브 에이전트 간에 P2P 방식으로 파일 리스닝 포트가 닫힌 상태로 일방향 또는 양방향으로 복수의 암호화된 블록 파일이 전송되는 단계를 포함할 수 있다.
또한, 계층적 전파트리 파일 전송 단계 이후 서버에서 계층적 전파트리에서의 복수의 암호화된 블록 파일의 전송상태를 확인하여 네트워크 연결성 에이전트 그룹에서의 메인 에이전트 및 서브 에이전트들 각각의 파일 보유 상태를 확인하는 단계를 더 포함할 수 있다.
또한, 계층적 전파트리 파일 전송 단계 이후 서버에서 네트워크 연결성 에이전트 그룹의 계층적 전파트리의 변동 상황을 확인하는 단계, 서버에서 계층적 전파트리의 변동 상황이 반영된 신규 네트워크 연결성 에이전트 그룹을 만드는 단계 및 신규 네트워크 연결성 에이전트 그룹에서 신규 메인 에이전트 및 신규 메인 에이전트와 네트워크로 연결된 신규 서브 에이전트를 포함하는 신규 계층적 전파트리를 형성하는 단계를 더 포함할 수 있다.
또한, 신규 메인 에이전트는 서버에서 신규 네트워크 연결성 에이전트 그룹에서 복수의 암호화된 블록 파일의 보유 용량이 가장 작은 에이전트로 결정될 수 있다.
또한, 신규 계층적 전파트리의 상단에서 하단으로 갈수록 복수의 암호화된 블록 파일의 보유 용량이 많은 에이전트가 배치될 수 있다.
또한, 에이전트들이 서버에 접속한 후 서버에서 에이전트들 각각에 대한 파일 암복호화 및 에이전트간 파일교환 인증을 위한 에이전트 암호화키를 생성하는 단계 및 에이전트 암호화키를 에이전트들 각각에 부여하는 단계를 더 포함할 수 있다.
또한, 서버에서 상기 네트워크 연결성 에이전트 그룹의 인증을 위한 에이전트 그룹 암호화키를 생성하는 단계 및 에이전트 그룹 암호화키를 네트워크 연결성 에이전트 그룹의 에이전트들 각각에 부여하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법에 의하면 서버가 에이전트들의 네트워크 연결 관계성을 학습하여 네트워크 연결성 에이전트 그룹을 생성하고, 네트워크 연결성 에이전트 그룹에서 선정된 메인 에이전트를 정점으로 하는 계층적 전파트리가 형성되어 P2P(Peer to Peer) 방식으로 에이전트들 간에 복수의 암호화된 블록 파일의 전송이 수행될 수 있다.
도 1은 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
도 3은 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
도 4는 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
도 5는 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "이루어지다(made of)"는 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이때, 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, 처리 흐름도 도면들의 각 구성과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 구성(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
또한, 몇 가지 대체 실시예들에서는 구성들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 구성들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 구성들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 시스템의 구성을 나타내는 도면이다.
도 1을 참고하면, 학습 트리 기반 보안 P2P 파일 전송 시스템(100)은 서버(110) 및 에이전트들(120, 이하 복수의 에이전트들)을 포함하고, 복수의 에이전트들(120)은 제1 에이전트 내지 제N 에이전트(여기서, N은 자연수)로 구성될 수 있다. 또한, 서버(110)는 전송 파일을 분할하여 복수의 블록 파일들을 생성하고, 복수의 블록 파일들을 암호화하여 복수의 암호화된 블록 파일들을 생성할 수 있다.
서버(110)는 서버(110)로 접속되는 복수의 에이전트들(120) 각각에 관한 정보를 획득하고 관리할 수 있다. 여기서, 에이전트들(120)에 관한 정보는 IP 주소, UDP 포트번호 등을 포함할 수 있고, 반드시 이에 한정하지는 않는다.
서버(110)는 에이전트들(120)에 관한 네트워크 연결 관계성을 학습할 수 있다. 실시예에서, 서버(110)는 동일 네트워크 상에 존재하는지의 여부(예를 들면, IP 공유기 사용 여부), 허용 최대 네트워크 전송 속도 등을 기반으로 에이전트들(120)의 네트워크 연결 관계성을 학습할 수 있다. 예를 들면, 서버(110)는 에이전트들(120)에 대한 IP 주소의 상위 비트를 기반으로 네트워크 연결 관계성을 학습하거나 또는 에이전트들(120)에 허용된 최대 네트워크 전송 속도(bps)를 기반으로 네트워크 연결 관계성을 학습할 수 있다.
서버(110)는 에이전트들(120)을 네트워크 연결 관계성에 따라 네트워크로 연결되는 네트워크 연결성 에이전트들로 그룹화하여 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)을 생성할 수 있고, 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 각각은 에이전트들(120)이 직렬 및/또는 병렬 형태로 연결되는 적어도 하나 이상의 서브 에이전트를 포함하는 서브 네트워크 연결성 에이전트 그룹을 포함할 수 있다.
실시예에서, 서버(110)는 IP 주소의 상위 비트가 동일한 에이전트들을 네트워크 연결성 에이전트인 서브 에이전트들로 그룹화할 수 있고, 그룹화된 서브 에이전트들로만 구성되는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)을 생성하게 된다.
실시예에서, 서버(110)는 에이전트들(120)에 허용된 최대 네트워크 전속 속도에 따라 네트워크 최대 속도가 동일한 에이전트들을 그룹화할 수 있고, 그룹화된 에이전트들로만 구성되는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)을 생성하게 된다. 예를 들면, 제1 네트워크 연결성 에이전트 그룹(120a)의 에이전트들의 네트워크 최대 속도가 20Mbps, 제2 네트워크 연결성 에이전트 그룹(120b)의 에이전트들의 네트워크 최대 속도가 5Mbps, 제3 네트워크 연결성 에이전트 그룹(120c)의 에이전트들의 네트워크 최대 속도가 10Mbps로 각각 설정된 경우에도 네트워크 연결성 에이전트 그룹들로 만들 수 있다.
제1 네트워크 연결성 에이전트 그룹(120a)은 3개의 서브 에이전트들(122, 122-2, 122-4)로 구성되고, 제2 네트워크 연결성 에이전트 그룹(120b)은 13개의 서브 에이전트들(124, 124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63)로 구성되며, 제3 네트워크 연결성 에이전트 그룹(120c)은 7개의 에이전트들(126, 126-2, 126-21, 126-22, 126-4, 126-41, 126-42)로 구성된다. 이때, 제1 네트워크 연결성 에이전트 그룹(120a) 내 에이전트에서 제2 네트워크 연결성 에이전트 그룹(120b) 내 에이전트 또는 제3 네트워크 연결성 에이전트 그룹(120c) 내 에이전트로 연결이 불가능하다.
서버(110)는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 각각에서 사용자가 설정한 자식 노드(즉, 에이전트)의 개수를 기준으로 서브 에이전트들을 그룹화하여 서브 네트워크 연결성 에이전트 그룹을 생성할 수 있다. 설명의 편의를 위하여 도 1을 참고하면, 제1 네트워크 연결성 에이전트 그룹(120a) 및 제3 네트워크 연결성 에이전트 그룹(120c)은 자식 노드가 각각 2개로 설정된 것이고, 제2 네트워크 연결성 에이전트 그룹(120b)은 자식 노드가 3개로 설정된 것을 나타낸다. 여기서, 자식 노드(즉, 에이전트)의 개수는 사용자 설정에 의하여 변경 가능하고, 도면에 개시된 것으로 한정하지 않는다.
본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 구조는 하나의 서버(110)가 서버(110) 하위에서 각각 연결된 메인 에이전트(122, 124, 126)에 복수의 암호화된 블록 파일들을 전송하면, 전송된 복수의 암호화된 블록 파일들이 메인 에이전트(122, 124, 126) 각각에서 연결된 서브 에이전트들 간에 P2P(Peer to Peer) 방식으로 양방향 전송되는 구조를 갖는다. 도 1에서 복수의 에이전트들(120)의 연결 관계가 표현되어 있으나, 표현된 에이전트들(120)의 연결 관계로 한정되지 않으며 변형이 가능하다.
결국, 본 실시예에 따른 서버(110)는 메인 에이전트(122, 124, 126)에만 복수의 암호화된 블록 파일을 전송하게 되면, 네트워크 연결성 에이전트 그룹에 포함되는 서브 네트워크 연결성 에이전트 그룹(122a(122-2), 122b(122-4), 124a(124-2, 124-21, 124-22, 124-23), 124b(124-4, 124-41, 124-42, 124-43), 124c(124-6, 124-61, 124-62, 124-63), 126a(126-2, 126-21, 126-22), 126b(126-4, 126-41, 126-42)) 내 서브 에이전트들 간에 복수의 암호화된 블록 파일들의 전송이 일방향 또는 양방향으로 수행되어 서버(110)의 네트워크 트래픽(부하)이 분산되어 병목 현상을 방지할 수 있다.
에이전트들(120)은 학습 트리 기반 보안 P2P 파일 전송 시스템(100)의 정책에 따라 서버(110)에서 정한 스케줄 및 정의에 따라 통신할 수 있다. 또한, 복수의 에이전트들(120) 각각은 다른 UDP 통신포트번호를 사용할 수도 있다. 복수의 에이전트들(120)의 파일 리스닝 포트가 닫힌 상태에서 서버(110)는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)에 포함되는 네트워크 연결성 에이전트들의 UDP 통신포트번호에 따른 UDP 통신을 이용하여 에이전트들(120)에 복수의 암호화된 블록 파일들을 전송할 수 있다.
에이전트들(120)은 인터넷망 등의 무선 네트워크를 통하여 서버(110)에 접속될 수 있는 단말 장치이다. 특히, 에이전트들(120)은 유선 또는 무선 인터넷 접속 기능을 가진 개인용 컴퓨터, 개인 휴대 단말 장치 등으로 구현될 수 있으며, 이러한 에이전트들(120)을 구현하기 위한 하드웨어 및 소프트웨어의 상세 구성에 관하여서는 본 발명의 기술분야에서 이미 널리 알려져 있으므로 생략한다. 또한, 서버(110)와 에이전트들(120)의 기능을 지원하는 모든 통상적인 하드웨어 및 소프트웨어 자원도 역시 서버(110) 및 에이전트들(120)에 구비되는 것으로 이해되어야 한다.
도 2는 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
도 2를 참고하면, 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법(S200)은 에이전트들이 서버에 접속하는 단계(S210), 네트워크 연결 관계성을 학습하는 단계(S220), 네트워크 연결성 에이전트 그룹을 만드는 단계(S230), 계층적 전파트리를 형성하는 단계(S240), 계층적 전파트리 파일 전송 단계(S250) 및 파일 보유 상태를 확인하는 단계(S260)를 포함할 수 있다.
에이전트들이 서버에 접속하는 단계(S210)에서 에이전트들(120)이 복수의 암호화된 블록 파일로 구성된 전송 파일을 포함하는 서버(110)에 접속할 수 있다.
실시예에서, 에이전트들이 서버에 접속하는 단계(S210)에서 서버(110)는 에이전트들(120)이 서버(110)에 접속한 후, 에이전트들(120) 각각의 식별정보를 획득할 수 있다. 예를 들면, 서버(110)는 에이전트들(120) 각각의 IP 주소, UDP 통신포트번호 등을 포함하는 고유 식별정보를 획득하고 관리하게 된다. 여기에서, 서버(110)는 상기 기재된 식별정보 이외에 정보들도 획득할 수 있다.
네트워크 연결 관계성을 학습하는 단계(S220)에서는 서버(110)에서 에이전트들(120) 간에 복수의 암호화된 블록 파일의 교환이 가능한 네트워크 연결 관계성을 학습할 수 있다.
네트워크 연결 관계성을 학습하는 단계(S220)에서 서버(110)는 상기 S210 단계에서 획득한 에이전트들(120)의 IP 주소를 이용하여 에이전트들(120) 간의 네트워크 연결 관계를 파악할 수 있다. 예를 들면, 서버(110)는 에이전트들(120) 각각의 IP 주소의 상위 비트, 즉 상위 16비트(192.168.xxx.xxx)의 동일 여부를 학습하게 된다. 여기에서, IP 주소의 상위 비트가 동일한 에이전트는 동일한 네트워크 서비스 제공자 또는 인터넷 서비스 제공자에 의해 서비스를 제공 받는다는 것을 의미하고, 동일한 서비스를 제공받는 에이전트 간의 파일 전송 속도는 다른 서비스를 제공받는 에이전트 간의 파일 전송 속도 보다 효율적이게 된다.
또한, 네트워크 연결 관계성을 학습하는 단계(S220)에서 서버(110)는 에이전트들(120) 간에 복수의 암호화된 블록 파일의 교환경로가 있는지 여부를 학습 데이터로 이용하여 인공지능 기반의 네트워크 연결 관계성을 학습시킬 수 있다. 이후 서버(110)는 학습된 네트워크 연결 관계성을 기초로 악성 에이전트의 접근 여부도 판단할 수도 있다.
네트워크 연결성 에이전트 그룹을 만드는 단계(S230)에서 서버(110)에서 에이전트들(120) 중 네트워크 연결 관계성을 가진 에이전트들을 그룹화하여 네트워크 연결성 에이전트 그룹을 만들수 있다. 여기서, 네트워크 연결 관계성을 가진 에이전트들은 네트워크 연결성 에이전트로서, 복수의 암호화된 블록 파일의 교환이 가능한 적어도 하나 이상의 에이전트들을 포함할 수 있다.
실시예에서, 네트워크 연결성 에이전트 그룹을 만드는 단계(S230)에서 서버(110)는 상기 S220 단계에서 학습된 네트워크 연결 관계성을 기반으로 에이전트들(120) 중 서로 파일 교환이 가능한 에이전트들로 그룹화할 수 있다.
도 1을 참고하여 예를 들면, 서버(110)는 에이전트들(120 즉, 122, 122-2, 122-4, 124, 124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63, 126, 126-2, 126-21, 126-22, 126-4, 126-41, 126-42을 포함한다.)을 네트워크 연결 관계성을 기반으로 제1 네트워크 연결성 에이전트들(122, 122-2, 122-4), 제2 네트워크 연결성 에이전트들(124, 124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63) 및 제3 네트워크 연결성 에이전트들(126, 126-2, 126-21, 126-22, 126-4, 126-41, 126-42)로 그룹화할 수 있다.
실시예에서, 네트워크 연결성 에이전트 그룹을 만드는 단계(S230)에서 서버(110)는 제1 네트워크 연결성 에이전트, 제2 네트워크 연결성 에이전트, 제3 네트워크 연결성 에이전트 각각으로 구성되는 네트워크 연결성 에이전트 그룹을 만들 수 있다. 예를 들면, 서버(110)는 제1 네트워크 연결성 에이전트들(122, 122-2, 122-4)로 구성되는 제1 네트워크 연결성 에이전트 그룹(120a)을 생성하고, 제2 네트워크 연결성 에이전트들(124, 124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63)로 구성되는 제2 네트워크 연결성 에이전트 그룹(120b)을 생성하며 제3 네트워크 연결성 에이전트들(126, 126-2, 126-21, 126-22, 126-4, 126-41, 126-42)로 구성되는 제3 네트워크 연결성 에이전트 그룹(120c)을 생성하게 된다.
이때, 제1 네트워크 연결성 에이전트 그룹(120a)의 에이전트들은 그룹 내 에이전트들 간에는 네트워크 연결 관계성을 가짐에 따라 네트워크로 연결됨을 의미할 수 있고, 제2 네트워크 연결성 에이전트 그룹(120b)의 에이전트 또는 제3 네트워크 연결성 에이전트 그룹(120c)의 에이전트와는 네트워크 연결 관계성을 가지지 않음에 따라 네트워크로 연결되지 않음을 의미할 수 있다.
계층적 전파트리를 형성하는 단계(S240)에서 서버(110)에서 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)에서 메인 에이전트 및 메인 에이전트와 네트워크로 연결된 서브 에이전트를 포함하는 계층적 전파트리를 형성할 수 있다.
계층적 전파트리를 형성하는 단계(S240)에서 서버(110)는 계층적 전파트리를 형성하기 전에 제1 내지 제3 네트워크 연결성 에이전트 그룹들(120a, 120b, 120c) 각각의 네트워크 연결성 에이전트들 중에서 그룹별 메인 에이전트를 결정할 수 있다. 실시예에서, 계층적 전파트리를 형성하는 단계(S240)에서 메인 에이전트는 네트워크 연결성 에이전트 그룹 각각의 네트워크 연결성 에이전트들 중에서 랜덤하게 결정될 수 있다. 예를 들면, 서버(110)는 제1 네트워크 연결성 에이전트 그룹(120a)에서 제1 네트워크 연결성 에이전트들(122, 122-2, 122-4) 중 하나를 메인 에이전트로 결정하게 된다. 이는 제1 네트워크 연결성 에이전트 그룹이 처음 생성되는 경우, 제1 네트워크 연결성 에이전트들은 전송받은 블록 파일이 없어 보유 용량이 모두 동일하기 때문에 메인 에이전트를 랜덤 결정하게 된다.
예를 들면, 서버(110)는 제1 네트워크 연결성 에이전트 그룹(120a)의 네트워크 연결성 에이전트들(122, 122-2, 122-4) 중 하나를 제1 네트워크 연결성 에이전트 그룹(120a)의 메인 에이전트로 결정하고, 제2 네트워크 연결성 에이전트 그룹(120b)의 네트워크 연결성 에이전트들(124, 124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63) 중 하나를 제2 네트워크 연결성 에이전트 그룹(120b)의 메인 에이전트로 결정하며 제3 네트워크 연결성 에이전트 그룹(120c)의 네트워크 연결성 에이전트들(126, 126-2, 126-21, 126-22, 126-4, 126-41, 126-42) 중 하나를 제3 네트워크 연결성 에이전트 그룹(120c)의 메인 에이전트로 결정하게 된다.
실시예에서, 계층적 전파트리를 형성하는 단계(S240)에서 서버(110)는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)에서 결정된 메인 에이전트를 이외의 에이전트, 즉 적어도 하나 이상의 서브 에이전트들을 포함하는 계층적 전파트리를 형성할 수 있다. 여기서, 계층적 전파트리는 메인 에이전트(122, 124, 126)가 서버(110)에 직접 연결되고, 적어도 하나 이상의 서브 에이전트들이 그룹 내 메인 에이전트에 연결되는 구조를 형성하게 된다.
예를 들면, 계층적 전파트리는 계층적 전파트리의 상단에서 하단으로 갈수록 파일의 보유 용량이 많은 에이전트가 배열될 수 있다. 다른 예를 들면, 계층적 전파트리는 메인 에이전트만 파일의 보유 용량이 가장 작은 에이전트로 배열하고, 나머지 에이전트들을 무작위로 배열될 수 있다. 또 다른 예를 들면, 계층적 전파트리는 메인 에이전트 및 나머지 에이전트들 모두 무작위로 배열할 수 있다. 여기서, 파일의 용량이 가장 작은 에이전트가 메인 에이전트로 배열될 경우는 네트워크 연결성 에이전트 그룹 내 에이전트들 간에 파일의 보유 용량을 비교할 수 있고, 비교 결과에 따라 파일의 보유 용량이 가장 적은 에이전트가 메인으로 배열되게 된다.
계층적 전파트리 파일 전송 단계(S250)에서 서버(110)에서 메인 에이전트(122, 124, 126)에 복수의 암호화된 블록 파일을 전송하고, 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)에서 계층적 전파트리를 통하여 복수의 암호화된 블록 파일이 P2P 방식으로 전송될 수 있다.
상세하게, 계층적 전파트리 파일 전송 단계(S250)에서는 메인 에이전트와 서브 에이전트 간에 P2P 방식으로 파일 리스닝 포트가 닫힌 상태로 일방향 또는 양방향으로 복수의 암호화된 블록 파일이 전송될 수 있다. 즉, 계층적 전파트리 파일 전송 단계(S250)에서는 메인 에이전트(122, 124, 126)와 서브 에이전트 각각은 UDP(User Datagram Protocol) 통신 방식을 통하여 파일 리스닝 포트가 닫힌 상태에서도 일방향 또는 양방향으로 파일이 전송될 수 있다.
실시예에서, 계층적 전파트리 파일 전송 단계(S250)에서 서버(110)는 P2P 방식으로 일방향으로 복수의 암호화된 블록 파일을 전송할 수 있다. 서버(110)는 에이전트들(120) 중 적어도 하나 이상의 에이전트로부터 복수의 암호화된 블록 파일의 전송요청을 수신할 수 있다. 서버(110)는 수신된 전송요청에 따라 복수의 암호화된 블록 파일을 전송요청을 한 에이전트가 속한 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)의 최상위 에이전트인 메인 에이전트에 전송할 수 있다. 실시예에서, 계층적 전파트리 파일 전송 단계(S250)에서 메인 에이전트(122, 124, 126) 각각은 서버(110)로부터 전송받은 복수의 암호화된 블록 파일 그대로 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)에서 계층적 전파트리를 통하여 서브 에이전트에 전송할 수 있다.
실시예에서, 계층적 전파트리 파일 전송 단계(S250)에서 서버(110)는 P2P 방식으로 양방향으로 복수의 암호화된 블록 파일을 전송할 수 있다. 예를 들면, 네트워크 연결 관계성을 가지는 상부에 위치하는 메인 에이전트(124)와 하부에 위치하는 서브 에이전트(124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63) 사이에서 양방향으로 교환되도록 하는 경우에는 메인 에이전트(124)에서 네트워크 연결성 에이전트 그룹(120b) 내에서 서브 에이전트(124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63)에 복수의 암호화된 블록 파일을 전송하고, 서브 에이전트(124-2, 124-21, 124-22, 124-23, 124-4, 124-41, 124-42, 124-43, 124-6, 124-61, 124-62, 124-63)에서 메인 에이전트(124)로도 복수의 암호화된 블록 파일을 전송할 수도 있다.
다른 실시예에서, 서버(110)는 모든 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)에 복수의 암호화된 블록 파일로 구성된 전송 파일을 동시 전송하지 않을 수 있다. 서버(110)는 트래픽, 파일 다운로드 속도 등을 고려하여 네트워크 연결성 에이전트 그룹별로 우선순위를 결정할 수 있고, 결정된 우선순위에 따라 네트워크 연결성 에이전트 그룹에 복수의 암호화된 블록 파일로 구성된 전송 파일을 순차적으로 전송할 수 있다. 다만, 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 각각은 서로 다른 네트워크로 연결되기 때문에 그룹별 내 네트워크 연결성 에이전트들 사이에서는 파일 전송이 동시에 수행될 수 있다. 예를 들면, 서버(110)가 제1 네트워크 연결성 에이전트 그룹(120a)의 메인 에이전트(122)에 복수의 암호화된 블록 파일로 구성된 전송 파일을 전송하고 있는 경우에, 제2 네트워크 연결성 에이전트 그룹(120b)의 메인 에이전트(124)는 서버(110)로부터 새로운 복수의 암호화된 블록 파일(즉, 보유하지 않은 블록 파일 등을 포함)을 전송받을 수 없으나, 제2 에이전트 그룹(120b)의 메인 에이전트(124) 및 메인 에이전트(124)와 연결된 서브 에이전트들 간에는 파일 전송이 수행될 수 있다.
파일 보유 상태를 확인하는 단계(S260)는 계층적 전파트리 파일 전송 단계(S250) 이후, 서버(110)에서 계층적 전파트리에서의 복수의 암호화된 블록 파일의 전송상태를 확인하여 네트워크 연결성 에이전트 그룹에서의 메인 에이전트 및 서브 에이전트들 각각의 파일 보유 상태를 확인할 수 있다.
실시예에서, 파일 보유 상태를 확인하는 단계(S260)에서 서버(110)는 복수의 암호화된 블록 파일의 전송 상태를 확인함으로써 메인 에이전트 및 서브 에이전트들 각각이 보유하고 있는 파일을 확인할 수 있다. 계층적 전파트리 파일 전송 단계(S250)에서 P2P 방식으로 블록 파일이 양방향 전송되는 경우, 서버(110)를 통해 메인 에이전트(122, 124, 126) 및 서브 에이전트들이 보유하지 않은 암호화된 블록 파일을 확인하고, 자신은 가지고 있지만 다른 에이전트가 가지고 있지 않으면 해당 에이전트에 해당 암호화된 블록 파일을 전송할 수 있다.
따라서, 본 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법(S200)에 의하면, 서버 학습 파일 전송 네트워크 전파트리에서의 P2P 방식 파일 전송 시스템(100)은 UDP 통신 방식을 이용하여 에이전트들(120) 사이에서 직병렬로 전송 파일을 전송할 수 있어 P2P 기반의 양방향 고속 파일 전송이 가능하게 된다.
즉, 본 발명의 실시예에 따르면 에이전트들(120) 사이에서 P2P(Peer-to-Peer) 기반으로 복수의 암호화된 블록 파일을 양방향으로 전송하는 경우에도 UDP 통신 방식을 이용하여 서버(110)의 네트워크 트래픽을 감소시킬 수 있고, 에이전트들 간의 파일 전송 지연을 최소화시킬 수 있다.
도 3은 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
도 3을 참고하면, 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법(S300)은 에이전트들이 서버에 접속하는 단계(S310), 네트워크 연결 관계성을 학습하는 단계(S320), 네트워크 연결성 에이전트 그룹을 만드는 단계(S330), 계층적 전파트리를 형성하는 단계(S340), 계층적 전파트리 파일 전송 단계(S350), 파일 보유 상태를 확인하는 단계(S360), 계층적 전파트리의 변동 상황을 확인하는 단계(S370), 신규 네트워크 연결성 에이전트 그룹을 만드는 단계(S380) 및 신규 계층적 전파트리를 형성하는 단계(S390)를 포함할 수 있다.
여기서, 도 3에 도시된 에이전트들이 서버에 접속하는 단계(S310), 네트워크 연결 관계성을 학습하는 단계(S320), 네트워크 연결성 에이전트 그룹을 만드는 단계(S330), 계층적 전파트리를 형성하는 단계(S340) 및 계층적 전파트리 파일 전송 단계(S350), 파일 보유 상태를 확인하는 단계(S360)는 도 2에 도시된 에이전트들이 서버에 접속하는 단계(S210), 네트워크 연결 관계성을 학습하는 단계(S220), 네트워크 연결성 에이전트 그룹을 만드는 단계(S230), 계층적 전파트리를 형성하는 단계(S240), 계층적 전파트리 파일 전송 단계(S250), 파일 보유 상태를 확인하는 단계(S260)와 동일한 기능을 수행하므로 이하에서 상세한 설명은 생략한다.
계층적 전파트리의 변동 상황을 확인하는 단계(S370)에서는 계층적 전파트리 파일 전송 단계(S360) 이후, 서버(110)에서 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)의 계층적 전파트리의 변동 상황을 확인할 수 있다.
계층적 전파트리의 변동 상황을 확인하는 단계(S370)에서 서버(110)는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 내에서 에이전트들 중 하나 이상이 네트워크 연결을 해제하는지 여부, 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 내에서 에이전트들 중 하나 이상이 복수의 암호화된 블록 파일 전체를 다운 완료하였는지 여부, 신규 에이전트가 접속하였는지 여부 등의 변동 상황을 확인할 수 있다. 여기서, 변동 상황은 에이전트 그룹의 전파트리에 변동이 발생가능한 상황 모두를 포함할 수 있고, 상기 개시된 상황에 한정하지는 않는다.
실시예에서, 계층적 전파트리의 변동 상황을 확인하는 단계(S370)에서 서버(110)는 상기 기재된 변동 상황 중 하나 이상이 확인되면 계층적 전파트리를 파괴하고 신규 계층적 전파트리의 생성 여부를 결정할 수 있다.
또한, 계층적 전파트리의 변동 상황을 확인하는 단계(S370)에서 서버(110)는 서버(110)에 접속한 에이전트들(120)에 대한 현황을 확인할 수 있다. 예를 들면, 서버(110)는 서버(110)에 접속한 에이전트들의 접속 수에 따라 신규 에이전트의 서버 접속을 허용할 수도 있고 또는 서버 접속을 차단할 수도 있다.
신규 네트워크 연결성 에이전트 그룹을 만드는 단계(S380)에서는 신규 계층적 전파트리의 생성이 결정된 후, 서버(110)에서 계층적 전파트리의 변동 상황이 반영된 신규 네트워크 연결성 에이전트 그룹을 만들 수 있다.
실시예에서, 서버(110)는 에이전트들 중 하나 이상이 네트워크 연결을 해제하거나 파일 전체를 다운 완료한 경우, 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 내에서 신규 네트워크 연결성 에이전트 그룹을 만들 수 있다. 즉, 기존 네트워크 연결성 에이전트 그룹에 포함된 에이전트들에 대해 신규 네트워크 연결성 에이전트 그룹을 만들 수 있다.
실시예에서, 서버(110)는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 중 적어도 하나에서 신규 에이전트의 접속 여부를 검출하고, 신규 접속이 검출되면 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)에 신규 에이전트가 포함되도록 신규 네트워크 연결성 에이전트 그룹을 만들 수 있다.
신규 계층적 전파트리를 형성하는 단계(S390)에서는 신규 네트워크 연결성 에이전트 그룹에서 신규 메인 에이전트 및 신규 메인 에이전트와 네트워크로 연결된 신규 서브 에이전트를 포함하는 신규 계층적 전파트리를 형성할 수 있다.
신규 계층적 전파트리를 형성하는 단계(S390)에서 서버(110)는 신규 네트워크 연결성 에이전트 그룹이 생성되면 신규 네트워크 연결성 에이전트 그룹 내 에이전트들 중에서 신규 메인 에이전트를 결정할 수 있다. 여기서, 신규 메인 에이전트는 서버(110)에서 신규 네트워크 연결성 에이전트 그룹에서 복수의 암호화된 블록 파일의 보유 용량이 가장 작은 에이전트로 결정될 수 있다. 이때, 기존 메인 에이전트가 신규 메인 에이전트로 결정될 수도 있고, 신규 에이전트가 신규 메인 에이전트로 결정될 수도 있다.
신규 계층적 전파트리를 형성하는 단계(S390)에서 서버(110)는 신규 네트워크 연결성 에이전트 그룹에서 결정된 신규 메인 에이전트가 최상단에 위치한 신규 계층적 전파트리를 형성할 수 있다. 여기서, 신규 계층적 전파트리는 신규 계층적 전파트리의 상단에서 하단으로 갈수록 복수의 암호화된 블록 파일의 보유 용량이 많은 에이전트가 배치될 수 있다.
따라서, 본 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법은 에이전트 그룹(120a, 120b, 120c)에 변동이 발생하는 경우에 신규 네트워크 연결성 에이전트 그룹을 생성하고, 생성된 네트워크 연결성 에이전트 그룹에 따른 신규 계층적 전파트리를 형성함으로써 계층적 전파트리를 최적의 구조 상태로 유지할 수 있다.
결국, 본 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법은 최적의 계층적 전파트리를 통해 에이전트들 간에 일방향 또는 양방향 파일 전송을 효율적으로 수행할 수 있고, 서버 과부하를 방지할 수 있다.
도 4는 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
도 4을 참고하면, 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법(S400)은 에이전트들이 서버에 접속하는 단계(S410), 에이전트 암호화키를 생성하는 단계(S412), 에이전트 암호화키를 부여하는 단계(S414), 네트워크 연결 관계성을 학습하는 단계(S420), 네트워크 연결성 에이전트 그룹을 만드는 단계(S430), 계층적 전파트리를 형성하는 단계(S440), 계층적 전파트리 파일 전송 단계(S450) 및 파일 보유 상태를 확인하는 단계(S460)를 포함할 수 있다.
여기서, 도 4에 도시된 에이전트들이 서버에 접속하는 단계(S410), 네트워크 연결 관계성을 학습하는 단계(S420), 네트워크 연결성 에이전트 그룹을 만드는 단계(S430), 계층적 전파트리를 형성하는 단계(S440), 계층적 전파트리 파일 전송 단계(S450) 및 파일 보유 상태를 확인하는 단계(S460)는 도 2 및 도 3에 도시된 에이전트들이 서버에 접속하는 단계(S210, S310), 네트워크 연결 관계성을 학습하는 단계(S220, S320), 네트워크 연결성 에이전트 그룹을 만드는 단계(S230, S330), 계층적 전파트리를 형성하는 단계(S240, S340), 계층적 전파트리 파일 전송 단계(S250, S350) 및 파일 보유 상태를 확인하는 단계(S260, S360)와 동일한 기능을 수행하므로 이하에서 상세한 설명은 생략한다.
에이전트 암호화키를 생성하는 단계(S412)에서는 에이전트들(120)이 서버(110)에 접속한 후, 서버(110)에서 에이전트들(120) 각각에 대한 파일 암복호화 및 에이전트간 파일교환 인증을 위한 에이전트 암호화키를 생성할 수 있다.
실시예에서, 에이전트 암호화키를 생성하는 단계(S412)에서 서버(110)는 복수의 암호화된 블록 파일을 에이전트들(120)에 전송하기 전에 에이전트들(120) 각각과 연관되는 에이전트 암호화키를 생성할 수 있다. 예를 들면, 제1 에이전트 암호화키는 제1 에이전트만 연관되고, 제2 에이전트 암호화키는 제2 에이전트만 연관되며 제3 에이전트 암호화키는 제3 에이전트만 연관되게 된다.
에이전트 암호화키를 부여하는 단계(S414)에서 에이전트 암호화키를 에이전트들(120) 각각에 부여할 수 있다.
실시예에서, 에이전트 암호화키를 부여하는 단계(S414)에서 서버(110)는 에이전트들(120)로부터 복수의 암호화된 블록 파일의 전송 요청을 수신하기 전에 에이전트들(120) 각각과 연관된 에이전트 암호화키를 미리 전송할 수 있다. 다른 실시예에서, 서버(110)는 에이전트들(120)로부터 복수의 암호화된 블록 파일의 전송 요청을 수신한 후에 에이전트들(120) 각각에 에이전트 암호화키를 복수의 암호화된 블록 파일과 함께 전송할 수도 있으며, 반드시 이에 한정하지는 않는다.
계층적 전파트리 파일 전송 단계(S450)에서 서버(110)는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 내에서 파일 전송 요청이 수신되는 경우, 파일 전송을 요청한 특정 에이전트와 연관된 에이전트 암호화키로 복수의 블록 파일을 암호화할 수 있고, 복수의 암호화된 블록 파일을 특정 에이전트에 전송할 수 있다. 여기서, 특정 에이전트는 에이전트들(120) 중 적어도 하나의 에이전트가 해당될 수 있다.
예를 들면, 서버(110)는 제1 메인 에이전트(122)로부터 파일 전송 요청이 수신되면, 제1 메인 에이전트(122)와 연관되는 에이전트 암호화키로 복수의 블록 파일을 암호화하게 된다. 이후, 제1 메인 에이전트(122)는 서버(110)로부터 부여 받은 에이전트 암호화키로 복수의 블록 파일을 복호화할 수 있다.
따라서, 본 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법(S400)에 의하면 에이전트들(120) 간에 P2P 방식으로 복수의 암호화된 블록 파일을 전송하는 경우에도 에이전트들 각각의 암호화키를 이용하여 복수의 암호화된 블록 파일에 대한 보안성을 향상시킬 수 있다.
도 5는 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법을 나타내는 흐름도이다.
도 5를 참고하면, 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법(S500)은 에이전트들이 서버에 접속하는 단계(S510), 에이전트 암호화키를 생성하는 단계(S512), 에이전트 암호화키를 부여하는 단계(S514), 에이전트 그룹 암호화키를 생성하는 단계(S532), 에이전트 그룹 암호화키를 부여하는 단계(S534), 네트워크 연결 관계성을 학습하는 단계(S520), 네트워크 연결성 에이전트 그룹을 만드는 단계(S530), 계층적 전파트리를 형성하는 단계(S540), 계층적 전파트리 파일 전송 단계(S550) 및 파일 보유 상태를 확인하는 단계(S560)를 포함할 수 있다.
여기서, 도 5에 도시된 에이전트들이 서버에 접속하는 단계(S510), 에이전트 암호화키를 생성하는 단계(S512), 에이전트 암호화키를 부여하는 단계(S514), 네트워크 연결 관계성을 학습하는 단계(S520), 네트워크 연결성 에이전트 그룹을 만드는 단계(S530), 계층적 전파트리를 형성하는 단계(S540), 계층적 전파트리 파일 전송 단계(S550) 및 파일 보유 상태를 확인하는 단계(S560)는 도 2 내지 도 4에 도시된 에이전트들이 서버에 접속하는 단계(S210, S310, S410), 에이전트 암호화키를 생성하는 단계(S412), 에이전트 암호화키를 부여하는 단계(S414), 네트워크 연결 관계성을 학습하는 단계(S220, S320, S420), 네트워크 연결성 에이전트 그룹을 만드는 단계(S230, S330, S430), 계층적 전파트리를 형성하는 단계(S240, S340, S440), 계층적 전파트리 파일 전송 단계(S250, S350, S450) 및 파일 보유 상태를 확인하는 단계(S260, S360, S460)와 동일한 기능을 수행하므로 이하에서 상세한 설명은 생략한다.
도 5를 참고하면, 에이전트 그룹 암호화키를 생성하는 단계(S532)에서는 서버(110)에서 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)의 인증을 위한 에이전트 그룹 암호화키를 생성할 수 있다. 여기에서, 에이전트 그룹 암호화키는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)이 만들어질 때마다 생성되고, 에이전트 그룹 암호화키와 연관된 네트워크 연결성 에이전트 그룹에 변동 상황이 발생되면 네트워크 연결성 에이전트 그룹이 파괴되어 에이전트 그룹 암호화키도 함께 파괴됨에 따라 사용할 수 없게 된다. 즉, 에이전트 그룹 암호화키는 네트워크 연결성 에이전트 그룹이 유효한 동안에만 사용이 가능하다.
실시예에서, 에이전트 그룹 암호화키를 생성하는 단계(S534)에서는 상기 S430 단계에서 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)이 만들어진 후, 서버(110)에서 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 각각과 연관된 에이전트 그룹 암호화키를 생성할 수 있다. 예를 들면, 제1 에이전트 그룹 암호화키는 제1 네트워크 연결성 에이전트 그룹만 연관되고, 제2 에이전트 그룹 암호화키는 제2 네트워크 연결성 에이전트 그룹만 연관되며 제3 에이전트 그룹 암호화키는 제3 네트워크 연결성 에이전트 그룹만 연관되도록 생성된다.
에이전트 그룹 암호화키를 부여하는 단계(S534)에서 서버(110)는 에이전트 그룹 암호화키를 네트워크 연결성 에이전트 그룹(120a, 120b, 120c)의 에이전트들(120) 각각에 부여할 수 있다. 서버(110)는 네트워크 연결성 에이전트 그룹이 생성된 후에 네트워크 연결성 에이전트 그룹별로 에이전트들에 에이전트 그룹 암호화키를 전송할 수 있다.
또한, 서버(110)는 에이전트 그룹 암호화키를 에이전트들에 부여한 후, 네트워크 연결성 에이전트 그룹 파괴(즉, 네트워크 연결성 에이전트 그룹 해제) 되기 전에 네트워크 연결성 에이전트 그룹의 이상유무를 실시간으로 감지하여 에이전트 그룹 암호화키를 갱신할 수 있다. 여기서, 네트워크 연결성 에이전트 그룹의 이상유무는 네트워크 연결성 에이전트 그룹 내에 적어도 하나의 악성 에이전트가 침입하였는지 여부 등을 포함할 수 있고, 반드시 이에 한정하지는 않는다.
실시예에서, 서버(110)는 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 내 에이전트들(120) 각각에 부여한 에이전트 암호화키 및 에이전트 그룹 암호화키를 이용하여 에이전트 각각에 대한 인증을 수행하여 네트워크 연결성 에이전트 그룹(120a, 120b, 120c) 내 이상유무를 검출할 수 있다.
예를 들면, 서버(110)는 에이전트들(120)이 보유한 에이전트 암호화키 및 에이전트 그룹 암호화키를 이용하여 에이전트 각각에 대한 인증을 수행하게 된다. 서버(110)는 에이전트에 저장된 에이전트 암호화키 및 에이전트 그룹 암호화키가 서버(110)에 저장된 암호화키와 일치하는지 여부를 판단할 수 있고, 암호화키가 일치하면 에이전트가 유효한 것으로 판단하고, 암호화키들 중에서 적어도 하나의 암호화키가 일치하지 않으면 에이전트가 유효하지 않은 것으로 판단할 수 있다. 이때, 유효하지 에이전트는 악성 에이전트로 분류될 수 있다.
따라서, 본 실시예에 따르면 악성 에이전트가 에이전트 암호화키만 획득하여 네트워크 연결성 에이전트 그룹에 존재하더라도 네트워크 연결성 에이전트 그룹에 대한 에이전트 그룹 암호화키를 알지 못하므로 P2P 파일 전송시에 블록 파일이 유출되는 것을 방지할 수 있다.
결국, 본 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법은 에이전트 및 에이전트 그룹에 대한 이중 인증을 통해 P2P 방식의 파일 전송의 보안성을 향상시킬 수 있다.
한편, 본 발명의 실시예에 따른 학습 트리 기반 보안 P2P 파일 전송 방법은 소프트웨어 및 하드웨어에 의해 하나의 모듈로 구현 가능하며, 전술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 롬(ROM), 플로피 디스크, 하드 디스크 등의 자기적 매체, CD, DVD 등의 광학적 매체 및 인터넷을 통한 전송과 같은 캐리어 웨이브와 같은 형태로 구현된다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
그리고, 본 발명의 실시예에서 사용되는 구성요소는 또는 '~부'는 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소 또는 '~부'는 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 학습 트리 기반 보안 P2P 파일 전송 시스템
110: 서버
120: 에이전트들

Claims (8)

  1. 에이전트들이 복수의 암호화된 블록 파일로 구성된 전송 파일을 포함하는 서버에 접속하는 단계;
    상기 서버에서 상기 에이전트들 간에 상기 복수의 암호화된 블록 파일의 교환이 가능한 네트워크 연결 관계성을 학습하는 단계;
    상기 서버에서 상기 에이전트들 중 상기 네트워크 연결 관계성을 가진 에이전트들을 그룹화하여 네트워크 연결성 에이전트 그룹을 만드는 단계;
    상기 서버에서 상기 네트워크 연결성 에이전트 그룹에서 메인 에이전트 및 상기 메인 에이전트와 네트워크로 연결된 서브 에이전트를 포함하는 계층적 전파트리를 형성하는 단계; 및
    상기 서버에서 상기 메인 에이전트에 상기 복수의 암호화된 블록 파일을 전송하고, 상기 네트워크 연결성 에이전트 그룹에서 상기 계층적 전파트리를 통하여 상기 복수의 암호화된 블록 파일이 P2P 방식으로 전송되는 계층적 전파트리 파일 전송 단계;를 포함하고,
    상기 계층적 전파트리 파일 전송 단계에서,
    상기 메인 에이전트와 상기 서브 에이전트 간에 상기 P2P 방식으로 파일 리스닝 포트가 닫힌 상태로 일방향 또는 양방향으로 상기 복수의 암호화된 블록 파일이 전송되는 단계를 포함하는 학습 트리 기반 보안 P2P 파일 전송 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 계층적 전파트리 파일 전송 단계 이후,
    상기 서버에서,
    상기 계층적 전파트리에서의 상기 복수의 암호화된 블록 파일의 전송상태를 확인하여 상기 네트워크 연결성 에이전트 그룹에서의 상기 메인 에이전트 및 상기 서브 에이전트들 각각의 파일 보유 상태를 확인하는 단계;를 더 포함하는 학습 트리 기반 보안 P2P 파일 전송 방법.
  4. 제1항에 있어서,
    상기 계층적 전파트리 파일 전송 단계 이후,
    상기 서버에서 상기 네트워크 연결성 에이전트 그룹의 상기 계층적 전파트리의 변동 상황을 확인하는 단계;
    상기 서버에서 상기 계층적 전파트리의 변동 상황이 반영된 신규 네트워크 연결성 에이전트 그룹을 만드는 단계; 및
    상기 신규 네트워크 연결성 에이전트 그룹에서 신규 메인 에이전트 및 상기 신규 메인 에이전트와 네트워크로 연결된 신규 서브 에이전트를 포함하는 신규 계층적 전파트리를 형성하는 단계;를 더 포함하는 학습 트리 기반 보안 P2P 파일 전송 방법.
  5. 제4항에 있어서,
    상기 신규 메인 에이전트는,
    상기 서버에서 상기 신규 네트워크 연결성 에이전트 그룹에서 상기 복수의 암호화된 블록 파일의 보유 용량이 가장 작은 에이전트로 결정되는 학습 트리 기반 보안 P2P 파일 전송 방법.
  6. 제4항에 있어서,
    상기 신규 계층적 전파트리의 상단에서 하단으로 갈수록 상기 복수의 암호화된 블록 파일의 보유 용량이 많은 에이전트가 배치되는 학습 트리 기반 보안 P2P 파일 전송 방법.
  7. 제1항에 있어서,
    상기 에이전트들이 서버에 접속한 후,
    상기 서버에서 상기 에이전트들 각각에 대한 파일 암복호화 및 에이전트간 파일교환 인증을 위한 에이전트 암호화키를 생성하는 단계; 및
    상기 에이전트 암호화키를 상기 에이전트들 각각에 부여하는 단계;를 더 포함하는 학습 트리 기반 보안 P2P 파일 전송 방법.
  8. 제7항에 있어서,
    상기 서버에서 상기 네트워크 연결성 에이전트 그룹의 인증을 위한 에이전트 그룹 암호화키를 생성하는 단계; 및
    상기 에이전트 그룹 암호화키를 상기 네트워크 연결성 에이전트 그룹의 상기 에이전트들 각각에 부여하는 단계;를 더 포함하는 학습 트리 기반 보안 P2P 파일 전송 방법.
KR1020210001612A 2021-01-06 2021-01-06 학습 트리 기반 보안 p2p 파일 전송 방법 KR102512051B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210001612A KR102512051B1 (ko) 2021-01-06 2021-01-06 학습 트리 기반 보안 p2p 파일 전송 방법
PCT/KR2021/000294 WO2022149636A1 (ko) 2021-01-06 2021-01-11 학습 트리 기반 보안 p2p 파일 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210001612A KR102512051B1 (ko) 2021-01-06 2021-01-06 학습 트리 기반 보안 p2p 파일 전송 방법

Publications (2)

Publication Number Publication Date
KR20220099410A KR20220099410A (ko) 2022-07-13
KR102512051B1 true KR102512051B1 (ko) 2023-03-20

Family

ID=82357467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210001612A KR102512051B1 (ko) 2021-01-06 2021-01-06 학습 트리 기반 보안 p2p 파일 전송 방법

Country Status (2)

Country Link
KR (1) KR102512051B1 (ko)
WO (1) WO2022149636A1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020088149A (ko) 2001-05-17 2002-11-27 주식회사 다빛테크놀로지 클라이언트 그룹화를 이용한 인터넷 상에서의 대용량데이타 전송 및 중계 방법
US7603464B2 (en) * 2003-06-04 2009-10-13 Sony Computer Entertainment Inc. Method and system for identifying available resources in a peer-to-peer network
KR100793420B1 (ko) 2006-07-12 2008-01-11 임승빈 네트워크상에서 데이터 전송 서비스를 제공하기 위한 서버및 클라이언트의 연결 시스템 및 이를 이용한 서버와클라이언트 또는 클라이언트와 클라이언트간의 연결 방법
KR101826327B1 (ko) * 2011-08-02 2018-02-07 삼성전자주식회사 와이파이 피투피 그룹의 생성 방법
EP2869658B1 (en) * 2013-03-12 2019-01-02 LG Electronics Inc. Method for peer to peer group formation in direct communication system and device therefor
US10257268B2 (en) * 2015-03-09 2019-04-09 Vapor IO Inc. Distributed peer-to-peer data center management
BR112020021744A2 (pt) * 2018-06-07 2021-01-26 Hewlett-Packard Development Company, L.P. servidores locais para gerenciar armazenamento através de dispositivos clientes em uma rede intermitente

Also Published As

Publication number Publication date
KR20220099410A (ko) 2022-07-13
WO2022149636A1 (ko) 2022-07-14

Similar Documents

Publication Publication Date Title
Schiller et al. Landscape of IoT security
Dange et al. IoT botnet: The largest threat to the IoT network
US9357331B2 (en) Systems and apparatuses for a secure mobile cloud framework for mobile computing and communication
Albakri et al. Hierarchical key management scheme with probabilistic security in a wireless sensor network (WSN)
Mei et al. Secure dynamic fragment and replica allocation in large-scale distributed file systems
US20170257367A1 (en) Electronic devices and method for performing authentication between electronic devices
CN103095861A (zh) 确定设备是否处于网络内部
Maharaja et al. A hybrid fog-cloud approach for securing the Internet of Things
US10158610B2 (en) Secure application communication system
KR102512051B1 (ko) 학습 트리 기반 보안 p2p 파일 전송 방법
Shukla et al. Leveraging blockchain and SDN for efficient and secure IoT network
US7701876B2 (en) Message transmission method and device in mixture of private network and public network
US7702799B2 (en) Method and system for securing a commercial grid network over non-trusted routes
US20190297496A1 (en) Operation method of communication node for access control in multi-hop based communication network
Kaur Cross-layer design in software defined networks (SDNs): issues and possible solutions
Singh et al. Internet of Things: Challenges, Security Issues and Solutions
US11929990B1 (en) Dynamic management of servers based on environmental events
US20240114008A1 (en) Optimizing communication in a virtual private network during blocking of an exit internet protocol address
US8006295B2 (en) Domain ID service
US20240073011A1 (en) Systems and Methods for Securing a Quantum-Safe Digital Network Environment
Sánchez‐Carmona et al. Identity‐based access control for pro‐active message's DTN
Mazlan et al. Security challenges in 6lowpan protoco l for internet of things: a review
Rafaele et al. IoT security analysis: Kunbus Revolution Pi connect
Kurni et al. Securing IoT through Blockchain in Big Data Environment
Alyami The current and future status of IoT security challenges in practice

Legal Events

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