WO2017065322A1 - Method and program for transmitting p2p file through enhanced security - Google Patents

Method and program for transmitting p2p file through enhanced security Download PDF

Info

Publication number
WO2017065322A1
WO2017065322A1 PCT/KR2015/010699 KR2015010699W WO2017065322A1 WO 2017065322 A1 WO2017065322 A1 WO 2017065322A1 KR 2015010699 W KR2015010699 W KR 2015010699W WO 2017065322 A1 WO2017065322 A1 WO 2017065322A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
key
comparison
file
server
Prior art date
Application number
PCT/KR2015/010699
Other languages
French (fr)
Korean (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 PCT/KR2015/010699 priority Critical patent/WO2017065322A1/en
Publication of WO2017065322A1 publication Critical patent/WO2017065322A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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

Definitions

  • the comparison key is generated by combining the special key calculated based on the primary key, it is difficult for others to guess the comparison key, thereby increasing the security of the file transfer.
  • the time key corresponding to the time point data of the comparison key generation request is reflected in the comparison key generation, the security of the comparison key can be further improved.
  • the server 100 generates a comparison key (S300).
  • the server 100 may apply a specific rule for generating a comparison key to prevent generation of a string having a high possibility of a wrong input by users.
  • the server 100 may apply a method of generating a combination of a primary key and a special key generated based on the primary key.
  • the primary key may correspond to a string of n characters (n is a natural number) randomly extracted.
  • the special key may correspond to a string of m characters (m is a natural number) calculated by applying a specific generation rule to the n characters.
  • the generation rule may be characterized in that the arrangement order or configuration of the special key is changed when the arrangement order or configuration of the primary key is changed. That is, the server 100 may make the special keys generated when the primary keys different, so that the difference between the generated comparison keys is large.
  • the server 100 may generate a one-digit time key corresponding to the time point at which the comparison key generation request is received from the first client. Thereafter, the server 100 may extract five digit random numbers, and generate a primary key by combining the time keys with the random numbers. Thereafter, the server 100 may calculate a one-digit special key by applying a special key generation rule based on the primary key including the time key. Thereafter, the server 100 may generate a comparison key by combining the special key with the primary key.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a method for transmitting a P2P file through enhanced security. According to one embodiment of the present invention, the method for transmitting a P2P file through enhanced security comprises: a comparison key issuing-request reception step (S100) of receiving, by a server (100), a comparison key issuing-request from a first client, wherein the first client is a transmitting client (200) or a receiving client (300); a step (S200) of receiving, by the server (100), a transmission request for a specific file from the transmitting client (200); a comparison key generation step (S300) of generating, by the server (100), a comparison key, wherein the comparison key is a combination of basic keys having n characters, which are randomly extracted, and special keys having m characters calculated by applying a specific generation rule for the n characters, and m and n are natural numbers; an input key reception step (S400) of receiving an input key from a second client, wherein the second client is one or more clients excluding the first client; and a step (S500) of determining whether to transmit a file by comparing the comparison key with the input key. According to the present invention, it is possible to limit the generation of a comparison key enabling a file transmission connection with a third client, instead of an intended first client, according to the incorrect input by users.

Description

보안성이 강화된 P2P파일 전송방법 및 프로그램Security Enhanced P2P File Transfer Method and Program
본 발명은 보안성을 강화한 P2P 전송방법 및 프로그램에 관한 것으로, 보다 자세하게는 송신클라이언트와 수신클라이언트에 동일한 문자열에 해당하는 키가 입력되어야 파일 전송이 수행되도록 하는 방법 및 프로그램에 관한 것이다.The present invention relates to a security-enhanced P2P transmission method and program, and more particularly, to a method and a program for transmitting a file when a key corresponding to the same character string is input to a transmitting client and a receiving client.
단말 간 데이터 전송을 위하여, 송신 단말이 파일을 서버에 업로드하고, 수신 단말이 서버로부터 파일을 다운로드하는 클라우드 방식을 이용할 수 있다. 이러한 방식에 따르면, 송신 단말 및 수신 단말의 위치 또는 네트워크 상황에 따라 업로드 및 다운로드 속도가 달라질 수 있으며, 보안에 취약하고, 서버 및 라인의 구축에 많은 비용이 드는 문제가 있다.For data transmission between terminals, a cloud method may be used in which a transmitting terminal uploads a file to a server and a receiving terminal downloads a file from the server. According to this method, upload and download speeds may vary according to the location of the transmitting terminal and the receiving terminal or network conditions, and there are problems in that it is vulnerable to security and costs a lot of server and line construction.
이러한 문제를 해결하기 위하여, 종단 간 연결, 즉 P2P(peer to peer) 전송 기술이 요구되고 있다. P2P 전송 기술에 따르면, 단말 간에 데이터가 직접 송수신되므로, 서버에 파일을 업로드하거나 다운로드할 필요가 없다. 또한, P2P 전송 기술을 이용할 경우, 서버에 파일을 저장하지 않으므로 서버의 해킹에 의해 파일이 유출될 우려가 줄어들 수 있다.In order to solve this problem, a peer-to-peer (P2P) transmission technology is required. According to the P2P transmission technology, since data is directly transmitted and received between terminals, there is no need to upload or download a file to a server. In addition, when using the P2P transmission technology, since the file is not stored in the server, the risk of file leakage due to hacking of the server may be reduced.
P2P파일 전송을 수행하는 경우, 송신클라이언트 또는 수신클라이언트의 요청에 따라 발급된 비교키를 상대방 클라이언트에서 입력함에 따라 서버가 송신클라이언트와 수신클라이언트를 인식할 수 있다. 그러나 비교키 입력에 오류가 있으면, 원하는 클라이언트 간에 P2P파일 전송 관계가 형성되지 않고 다른 클라이언트와 파일전송의 연결관계가 발생할 수 있다. 이에 의해 의도치 않게 전송 파일이 유출되는 등의 상황이 발생할 수 있다.In the case of P2P file transmission, the server may recognize the transmitting client and the receiving client by inputting a comparison key issued by the other client according to the request of the transmitting client or the receiving client. However, if there is an error in the comparison key input, a P2P file transfer relationship may not be formed between the desired clients and a file transfer connection may occur with other clients. As a result, a situation such as unintentional leakage of a transmission file may occur.
따라서, 특정한 시간대 내에 유사도가 높은 비교키가 발생되는 것을 방지하여 사용자의 오입력에 의해 의도하지 않은 파일전송 관계가 형성되는 것을 방지하여 P2P 파일전송의 보안성을 높이는, 보안성이 강화된 P2P파일 전송방법 및 프로그램을 제공하고자 한다.Therefore, a security-enhanced P2P file that increases the security of P2P file transfers by preventing comparison keys with high similarity from occurring within a specific time frame and preventing unintended file transfer relationships from being input by users. To provide a transmission method and program.
본 발명의 일실시예에 따른 보안성이 강화된 P2P파일 전송방법은, 서버가 제1클라이언트로부터 비교키 발급요청을 수신하되, 상기 제1클라이언트는 송신클라이언트 또는 수신클라이언트인, 비교키발급요청 수신단계; 서버가 송신클라이언트로부터 특정한 파일의 전송요청을 수신하는 단계; 서버가 비교키를 생성하는 단계로서, 상기 비교키는 임의로 추출된 n개의 문자로 된 기본키 및 상기 n개의 문자에 대해 특정한 생성규칙을 적용하여 산출된 m개의 문자인 특수키가 결합된 것이며, m과 n은 자연수인, 비교키생성단계; 제2클라이언트로부터 입력키를 수신하되, 상기 제2클라이언트는 상기 제1클라이언트 이외의 하나 이상의 클라이언트인, 입력키 수신단계; 및 상기 비교키와 상기 입력키를 비교하여 파일전송여부를 결정하는 단계;를 포함한다.In a security-enhanced P2P file transmission method according to an embodiment of the present invention, a server receives a comparison key issuance request from a first client, wherein the first client is a transmitting client or a receiving client, and receiving a comparison key issuance request. step; Receiving, by the server, a transfer request of a specific file from a sending client; The server generates a comparison key, wherein the comparison key is a combination of a random key extracted from n characters and a special key of m characters calculated by applying a specific generation rule to the n characters. m and n are natural numbers, comparison key generation step; Receiving an input key from a second client, wherein the second client is one or more clients other than the first client; And determining whether to transmit a file by comparing the comparison key with the input key.
또한, 상기 생성규칙은, 상기 기본키의 배열순서 또는 구성이 달라지면, 상기 특수키의 배열순서 또는 구성이 달라지는 것을 특징으로 할 수 있다.The generation rule may be characterized in that the arrangement order or configuration of the special key is changed when the arrangement order or configuration of the primary key is changed.
또한, 상기 비교키생성단계는, 상기 제1클라이언트로부터 비교키발급요청이 수신된 시점을 인식하는 단계; 및 상기 시점에 상응하는 l개(l은 n보다 자연수)의 문자로 된 시간키를 추출하는 단계;를 포함하며, 상기 기본키는 상기 시간키의 l개의 문자 및 (n-l)개의 임의의 문자를 결합하여 생성되는 것을 특징으로 할 수 있다.In addition, the comparison key generation step, the step of recognizing the time when the comparison key issuance request is received from the first client; And extracting a time key of l letters (l is a natural number than n) corresponding to the time point, wherein the primary key includes l letters and (nl) random letters of the time key. It may be characterized in that it is generated by combining.
또한, 상기 생성규칙은, Luhn 알고리즘, Verhoeff 알고리즘, Damm알고리즘 중 적어도 하나 이상을 적용하는 것을 특징으로 할 수 있다.In addition, the generation rule may be characterized by applying at least one of the Luhn algorithm, Verhoeff algorithm, Damm algorithm.
또한, 상기 비교키생성단계는, 상기 기본키에 포함된 상기 n개의 문자와 상기 특수키에 포함된 상기 m개의 문자를 특정한 배치규칙에 따라 섞는 단계;를 포함하며, 상기 배치규칙은 특정한 주기에 따라 변경되는 것을 특징으로 할 수 있다.The comparing key generating step may include mixing the n characters included in the primary key and the m characters included in the special key according to a specific arrangement rule, wherein the arrangement rule is performed at a specific period. It may be characterized in that it is changed according to.
또한, 상기 비교키생성단계는, 상기 비교키를 특정시간동안 유효하도록 제한시간을 설정하는 것을 특징으로 할 수 있다.In addition, the comparison key generation step may be characterized by setting a time limit for validating the comparison key for a specific time.
또한, 상기 파일전송여부 결정단계는, 상기 비교키와 상기 입력키가 일치하면, 상기 송신클라이언트와 상기 수신클라이언트 간의 특정한 전송경로를 선택하는 전송경로선택단계; 및 상기 송신클라이언트와 상기 수신클라이언트에 상기 선택된 전송경로를 통한 파일전송을 요청하는 파일전송요청단계;를 포함할 수 있다.The determining whether to transmit the file may include: selecting a transmission path between the transmitting client and the receiving client when the comparison key and the input key match; And a file transfer request step of requesting a file transfer through the selected transmission path to the transmitting client and the receiving client.
또한, 상기 전송경로 선택단계는, 상기 송신클라이언트, 상기 수신클라이언트, 및 중계노드 간의 위치또는 상기 중계노드를 통한 전송속도를 고려하여, 특정한 중계노드를 통한 최적전송경로를 산출하는 것을 특징으로 할 수 있다.In addition, the transmission path selection step, characterized in that to calculate the optimal transmission path through a specific relay node in consideration of the position between the transmitting client, the receiving client, and the relay node or the transmission speed through the relay node. have.
본 발명의 또 다른 일실시예에 따른 보안성을 강화한 P2P 전송 프로그램은, 하드웨어와 결합되어 상기 언급된 보안성을 강화한 P2P 전송방법을 실행하며, 매체에 저장된다.The security-enhanced P2P transmission program according to another embodiment of the present invention executes the aforementioned security-enhanced P2P transmission method in combination with hardware and is stored in a medium.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.According to the present invention as described above, has the following various effects.
첫째, 사용자들이 오입력함에 따라 의도한 제1클라이언트가 아닌 제3클라이언트와의 파일전송 연결될 수 있는 비교키의 발생을 제한할 수 있다. 즉, 제2클라이언트의 사용자가 입력키를 오입력하여 파일 전송 관계를 형성하고자 의도한 제1클라이언트가 아닌 제3클라이언트와의 파일 전송관계가 형성되는 것을 방지할 수 있다. 이를 통해, 파일 송수신 관계가 잘못 연결되어 파일이 유출되는 것을 방지할 수 있다.First, as a user incorrectly inputs, it is possible to limit generation of a comparison key that may be connected to a file transfer with a third client other than the intended first client. That is, it is possible to prevent a file transfer relationship with a third client other than the first client intended to form a file transfer relationship by a user wrongly inputting an input key. Through this, it is possible to prevent the file from being leaked because the file transmission / reception relationship is incorrectly connected.
둘째, 기본키를 바탕으로 산출된 특수키를 결합하여 비교키를 생성함에 따라 타인이 비교키를 추측하기 어려워서 파일 전송의 보안성을 높일 수 있다. 특히, 비교키생성요청의 시점데이터에 상응하는 시간키를 비교키 생성에 반영하는 경우, 비교키의 보안성을 더 높일 수 있다.Second, as the comparison key is generated by combining the special key calculated based on the primary key, it is difficult for others to guess the comparison key, thereby increasing the security of the file transfer. In particular, when the time key corresponding to the time point data of the comparison key generation request is reflected in the comparison key generation, the security of the comparison key can be further improved.
도 1은 본 발명의 일실시예에 따른 보안성을 강화한 P2P 전송방법의 순서도이다.1 is a flowchart of a P2P transmission method with enhanced security according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 보안성을 강화한 P2P 전송시스템의 연결관계도이다. 2 is a connection relationship diagram of a P2P transmission system with enhanced security according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only the embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used in a sense that can be commonly understood by those skilled in the art. In addition, the terms defined in the commonly used dictionaries are not ideally or excessively interpreted unless they are specifically defined clearly.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, "comprises" and / or "comprising" does not exclude the presence or addition of one or more other components in addition to the mentioned components.
본 명세서에서 제1클라이언트는 상기 제1클라이언트는 송신클라이언트 또는 수신클라이언트 중 어느 하나에 해당한다. 본 명세서에서 제2클라이언트는 제1클라이언트와 파일전송 관계가 의도된 클라이언트로, 제1클라이언트가 송신클라이언트인 경우 제2클라이언트는 수신클라이언트이고, 제1클라이언트가 수신클라이언트인 경우 제2클라이언트는 송신클라이언트이다. 본 명세서에서 제3클라이언트는 제2클라이언트가 파일전송 연결관계를 의도하지 않았으나 입력키의 오입력에 의해 파일전송의 연결관계가 형성될 수 있는 클라이언트를 의미한다.In the present specification, the first client corresponds to either the transmitting client or the receiving client. In the present specification, the second client is a client intended for a file transfer relationship with the first client, and when the first client is a transmitting client, the second client is a receiving client, and when the first client is a receiving client, the second client is a transmitting client. to be. In the present specification, the third client refers to a client in which the second client does not intend a file transfer connection, but a connection of the file transfer may be formed by an incorrect input of an input key.
본 명세서에서 비교키는 제1클라이언트의 생성요청에 따라 서버에서 생성되는 문자열을 의미한다. 본 명세서에서 입력키는 제2클라이언트로부터 서버에 수신되는 문자열을 의미한다. 본 명세서에서 문자는, 알파벳, 숫자 등을 포함할 수 있다.In the present specification, the comparison key refers to a string generated by the server according to a generation request of the first client. In the present specification, the input key refers to a string received from the second client to the server. In the present specification, the letter may include an alphabet, a number, and the like.
이하, 도면을 참조하여 본 발명의 실시예들에 따른 보안성을 강화한 P2P 전송방법 및 전송프로그램에 대해 설명하기로 한다.Hereinafter, a P2P transmission method and a transmission program with enhanced security according to embodiments of the present invention will be described with reference to the drawings.
P2P 파일 전송을 수행하기 위해서는 송신클라이언트(200)와 수신클라이언트(300)의 연결관계를 형성하여야 한다. 이를 위해, 송신클라이언트(200) 또는 수신클라이언트(300)로부터 특정한 키(즉, 비교키)의 생성을 요청하고, 다른 클라이언트로부터 상응하는 키(즉, 입력키)를 수신할 수 있고, 비교키와 입력키가 동일하면 P2P파일 전송의 연결관계를 형성할 수 있다. 그러나, 후술하는 제2클라이언트에 상응하는 송신클라이언트(200) 또는 수신클라이언트(300)의 사용자가 입력키를 잘못 입력하면 의도하지 않은 클라이언트(즉, 제3클라이언트)와 파일전송의 연결관계가 형성될 수 있다. 예를 들어, 제1클라이언트의 사용자로부터 메시지 또는 전화 등을 통해 수신한 제1비교키를 제2클라이언트의 사용자가 입력키로 입력하는 과정에서 비교키 내의 특정한 문자를 다른 문자로 잘못 입력하게 되면, 제3클라이언트의 요청에 의해 생성된 제2비교키를 입력하게 되어 제2클라이언트와 제3클라이언트 사이의 연결관계가 형성될 수 있다. 이에 따라, 제2클라이언트는 제1클라이언트로부터 전송되는 파일이 아닌 제3클라이언트로부터 전송되는 파일을 수신하게 되어, 제3클라이언트의 전송파일이 유출되는 문제가 발생할 수 있다.In order to perform P2P file transfer, a connection relationship between the transmitting client 200 and the receiving client 300 should be formed. To this end, it is possible to request the generation of a specific key (ie, comparison key) from the transmitting client 200 or the receiving client 300, and to receive a corresponding key (ie, input key) from another client, If the input keys are the same, a connection relationship of P2P file transfer can be formed. However, if a user of the transmitting client 200 or the receiving client 300 corresponding to the second client described later incorrectly inputs an input key, a connection relationship between an unintended client (ie, a third client) and a file transfer may be formed. Can be. For example, when a user inputs a first comparison key received from a user of a first client through a message or a telephone as an input key, a user inputs a specific character in the comparison key as another character, By inputting the second comparison key generated at the request of the third client, a connection relationship between the second client and the third client may be formed. Accordingly, the second client may receive a file transmitted from the third client rather than a file transmitted from the first client, which may cause a problem that the transmission file of the third client leaks.
사용자의 입력키 오입력의 유형으로는, 한 자리 잘못 입력하는 유형(Single digit error, 예를 들어, 1을 2로 입력), 인접한 두 자리 바꿔서 입력하는 유형(Transpositions error, 예를 들어, 12를 21으로 입력), 동일한 두 자리 잘못 입력(Twins error, 예를 들어, 11을 22로 입력), 비슷한 발음의 숫자 잘못 입력하는 유형(Phonetic error, 60을 16으로 입력), 인접하지 않은 두 자리 바꿔서 입력하는 유형(Jump transposition error, 예를 들어, 132을 231으로 입력), 인접하지 않은 두 자리 같은 수 바꿔서 입력하는 유형(Jump twin error, 예를 들어, 131을 232으로 입력) 등이 포함될 수 있다.As the type of user input key mis-input, the type of inputting one digit incorrectly (Single digit error (for example, 1 to 2)) and the type of input by changing two adjacent digits (Transpositions error, for example, 12) 21), the same two-digit incorrect entry (Twins error, e.g. 11 into 22), the wrong type of digits with similar pronunciation (Phonetic error, 60 into 16), and two non-adjacent digits This may include the type of input (Jump transposition error (eg, input 132 as 231), the type of input by changing two non-adjacent digits (Jump twin error (eg, input 131 as 232)). .
이러한 오입력 유형들에 의해 잘못된 연결관계가 형성되는 것을 방지하기 위해서, 서버(100)가 유사한(예를 들어, 한자리만 다르거나 두자리의 숫자 순서만 다른 등의 유사도가 높은) 비교키를 생성하는 것을 제한할 필요가 있다. 이하, 유사도가 높은 비교키가 동시간 내에 발생되는 것을 방지할 수 있는, 보안성을 강화한 P2P파일 전송방법을 설명한다.In order to prevent the wrong connection type from being formed by these mistyped types, the server 100 generates similar comparison keys (for example, high similarity such as only one digit or two digits are different). It is necessary to restrict things. Hereinafter, a security-enhanced P2P file transmission method that can prevent a comparison key with high similarity from occurring within the same time will be described.
도 1은 본 발명의 일실시예에 따른 보안성을 강화한 P2P 전송방법의 순서도이다.1 is a flowchart of a P2P transmission method with enhanced security according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 보안성이 강화된 P2P파일 전송방법은, 서버(100)가 제1클라이언트로부터 비교키 발급요청을 수신하되, 상기 제1클라이언트는 송신클라이언트(200) 또는 수신클라이언트(300)인, 비교키발급요청 수신단계(S100); 서버(100)가 송신클라이언트(200)로부터 특정한 파일의 전송요청을 수신하는 단계(S200); 서버(100)가 비교키를 생성하는 단계로서, 상기 비교키는 임의로 추출된 n개의 문자로 된 기본키 및 상기 n개의 문자에 대해 특정한 생성규칙을 적용하여 산출된 m개의 문자인 특수키가 결합된 것이며, m과 n은 자연수인, 비교키생성단계(S300); 제2클라이언트로부터 입력키를 수신하되, 상기 제2클라이언트는 상기 제1클라이언트 이외의 하나 이상의 클라이언트인, 입력키 수신단계(S400); 및 상기 비교키와 상기 입력키를 비교하여 파일전송여부를 결정하는 단계(S500);를 포함한다. 본 발명의 일 실시예에 따른 보안성이 강화된 P2P파일 전송방법을 순서대로 설명한다.1, in the security-enhanced P2P file transmission method according to an embodiment of the present invention, the server 100 receives a comparison key issuance request from the first client, the first client is a transmitting client ( 200) or receiving client 300, comparing key issuing request receiving step (S100); Receiving, by the server 100, a transmission request of a specific file from the transmitting client 200 (S200); The server 100 generates a comparison key, wherein the comparison key combines a random key extracted with n characters and a special key having m characters calculated by applying a specific generation rule to the n characters. M and n are natural numbers, comparison key generation step (S300); Receiving an input key from a second client, wherein the second client is one or more clients other than the first client (S400); And determining whether to transmit a file by comparing the comparison key with the input key (S500). The security enhanced P2P file transmission method according to an embodiment of the present invention will be described in order.
서버(100)가 제1클라이언트로부터 비교키 발급요청을 수신한다(S100). 상기 제1클라이언트는 송신클라이언트(200) 또는 수신클라이언트(300)일 수 있다. 비교키는 송신클라이언트(200)와 수신클라이언트(300)로부터 동일하게 수신되면 양 클라이언트가 파일 송수신이 요청되는 정당한 클라이언트로 인식되는 문자열에 해당할 수 있다.The server 100 receives a comparison key issuance request from the first client (S100). The first client may be a transmitting client 200 or a receiving client 300. When the comparison key is identically received from the transmitting client 200 and the receiving client 300, the comparison key may correspond to a character string recognized as a legitimate client requesting file transmission and reception.
일실시예로, 도 2에서와 같이, 제1클라이언트는 송신클라이언트(200)일 수 있고, 서버(100)는 송신클라이언트(200)의 후술하는 파일전송 요청(S200)과 함께 비교키 발급요청을 수신할 수 있다. 예를 들어, 서버(100)는 송신클라이언트(200)로부터 수신되는 파일전송 요청을 비교키 발급요청으로 판단할 수 있다.In one embodiment, as shown in Figure 2, the first client may be a transmitting client 200, the server 100 issuing a comparison key issuing request with the file transfer request (S200) described later of the transmitting client 200 Can be received. For example, the server 100 may determine a file transfer request received from the transmitting client 200 as a comparison key issuance request.
다른 일실시예로, 제1클라이언트가 수신클라이언트(300)일 수 있다. 이 때, 수신클라이언트(300)가 비교키 발급요청을 서버(100)에 전송한 후, 송신클라이언트(200)는 파일전송 요청할 수 있다. 즉, 송신클라이언트(200)는 후술되는 입력키를 서버(100)로 전송하면서 파일전송을 요청할 수 있다.In another embodiment, the first client may be the receiving client 300. At this time, after the receiving client 300 transmits the comparison key issuance request to the server 100, the transmitting client 200 may request a file transfer. That is, the transmitting client 200 may request a file transfer while transmitting an input key, which will be described later, to the server 100.
서버(100)가, 도 2에서와 같이, 송신클라이언트(200)로부터 특정한 파일의 전송요청을 수신한다(S200). 예를 들어, 송신클라이언트(200)는 사용자로부터 특정한 파일을 선택받아서 서버(100)에 수신클라이언트(300)로 파일 전송을 요청할 수 있다. 송신클라이언트(200)로부터 파일전송 요청 수신은, 다양한 순서에 수행될 수 있다.As shown in FIG. 2, the server 100 receives a transmission request of a specific file from the transmitting client 200 (S200). For example, the transmitting client 200 may request a file transmission from the user to the receiving client 300 by selecting a specific file from the user. Receiving a file transfer request from the transmitting client 200 may be performed in various orders.
서버(100)가 비교키를 생성한다(S300). 서버(100)는 비교키를 생성하는 특정한 규칙을 적용하여 사용자들의 오입력 가능성이 높은 문자열의 생성을 방지할 수 있다. 비교키를 생성하는 일실시예로, 서버(100)가 기본키와 상기 기본키를 바탕으로 생성된 특수키를 결합하여 생성하는 방식을 적용할 수 있다. 상기 기본키는 임의로 추출된 n개(n은 자연수)의 문자로 된 문자열에 해당할 수 있다. 상기 특수키는, 상기 n개의 문자에 대해 특정한 생성규칙을 적용하여 산출된 m개(m은 자연수)의 문자로 된 문자열에 해당할 수 있다. 즉, 서버(100)는 임의로 추출된 n개의 문자로 된 문자열(예를 들어, n자리의 숫자열)를 추출하고, n개의 문자열(예를 들어, n자리의 숫자열)에 특정한 특수키 생성규칙을 적용하여 m개의 문자로 된 문자열(예를 들어, m자리의 숫자열)을 생성할 수 있다. The server 100 generates a comparison key (S300). The server 100 may apply a specific rule for generating a comparison key to prevent generation of a string having a high possibility of a wrong input by users. In one embodiment of generating a comparison key, the server 100 may apply a method of generating a combination of a primary key and a special key generated based on the primary key. The primary key may correspond to a string of n characters (n is a natural number) randomly extracted. The special key may correspond to a string of m characters (m is a natural number) calculated by applying a specific generation rule to the n characters. That is, the server 100 extracts a randomly extracted n-character string (for example, n-digit string), and generates a special key specific to n strings (for example, n-digit string). You can apply the rule to create a string of m characters (for example, a string of m digits).
상기 생성규칙은, Luhn 알고리즘, Verhoeff 알고리즘, Damm알고리즘 등이 적용될 수 있다. 생성규칙으로 하나의 알고리즘만 적용될 수도 있고, 복수의 알고리즘이 함께 적용될 수도 있다. 또한, 서버(100)는 보안성을 높이기 위하여 주기적으로 생성규칙으로 적용되는 알고리즘 또는 알고리즘의 조합을 변경할 수 있다. As the generation rule, a Luhn algorithm, a Verhoeff algorithm, a Damm algorithm, or the like may be applied. Only one algorithm may be applied as the generation rule, or a plurality of algorithms may be applied together. In addition, the server 100 may periodically change an algorithm or a combination of algorithms applied as a generation rule to increase security.
또한, 상기 생성규칙은, 상기 기본키의 배열순서 또는 구성이 달라지면, 상기 특수키의 배열순서 또는 구성이 달라지는 것을 특징으로 할 수 있다. 즉, 서버(100)는, 기본키가 상이하면 생성되는 특수키도 상이하도록 하여, 생성되는 비교키 간의 차이가 크도록 할 수 있다.The generation rule may be characterized in that the arrangement order or configuration of the special key is changed when the arrangement order or configuration of the primary key is changed. That is, the server 100 may make the special keys generated when the primary keys different, so that the difference between the generated comparison keys is large.
예를 들어, 서버(100)는 임의의 5자리 숫자로 된 기본키를 생성할 수 있다. 그 후, 서버(100)는 5자리의 숫자의 구성 또는 순서를 바탕으로 특정한 특수키 생성규칙을 적용하여 1자리의 숫자를 생성할 수 있다. 그 후, 서버(100)는 기본키와 특수키를 결합하여 6자리의 비교키를 생성할 수 있다. 이러한 방식으로 생성된 비교키는 기본키 내의 특정한 1자리 숫자가 달라지면 특수키도 변경되게 된다. 따라서 1자리의 숫자만 상이한 경우 등의 유사도가 높은 비교키가 발생하는 것을 방지할 수 있다. For example, the server 100 may generate a primary key of any five digits. Thereafter, the server 100 may generate one digit by applying a specific special key generation rule based on the configuration or order of five digits. Thereafter, the server 100 may generate a six-digit comparison key by combining the primary key and the special key. The comparison key generated in this way changes the special key when a specific one digit in the primary key changes. Therefore, it is possible to prevent the comparison key having high similarity, such as when only one digit is different.
또한, 기본키를 구성하는 문자가 숫자가 아닌 경우, 서버(100)는 문자에 상응하는 숫자(예를 들어, 아스키코드)를 적용하여 특수키를 산출할 수 있다. 즉, 서버(100)는 기본키에 포함된 각 문자에 상응하는 아스키코드를 특정한 생성규칙 적용(즉, 아스키코드 숫자 간의 연산을 수행)하여 특수키를 산출할 수 있다. In addition, when the character constituting the primary key is not a number, the server 100 may calculate a special key by applying a number (for example, an ASCII code) corresponding to the character. That is, the server 100 may calculate a special key by applying a specific generation rule (that is, performing operations between ASCII code numbers) by applying an ASCII code corresponding to each character included in the primary key.
또한, 상기 비교키생성단계(S300)는, 상기 기본키에 포함된 상기 n개의 문자와 상기 특수키에 포함된 상기 m개의 문자를 특정한 배치규칙에 따라 섞는 단계;를 포함할 수 있다. 예를 들어, n이 m보다 큰 경우, 서버(100)는 특정한 혼합규칙에 따라 n개의 문자 사이에 m개의 문자를 섞어서 추가할 수 있다. 따라서, 서버(100)는 특수키를 생성하는 생성규칙뿐만 아니라 기본키를 구성하는 복수의 문자와 특수키를 구성하는 복수의 문자를 섞는 배치규칙도 함께 적용함에 따라 타인이 비교키를 생성하는 규칙을 파악하기 어렵도록 하여 보안성을 높일 수 있다. 또한, 상기 배치규칙은 특정한 주기에 따라 변경되도록 하여 비교키를 생성하는 규칙에 대한 보안성을 높일 수 있다.In addition, the comparison key generation step (S300), may include the step of mixing the n characters contained in the primary key and the m characters included in the special key according to a specific arrangement rule. For example, when n is larger than m, the server 100 may add m characters between n characters according to a specific mixing rule. Therefore, the server 100 applies not only a generation rule for generating a special key but also a placement rule for mixing a plurality of characters constituting the primary key and a plurality of characters constituting the special key together, so that others generate a comparison key. The security can be improved by making it difficult to understand. In addition, the arrangement rule may be changed according to a specific period to increase the security of the rule for generating a comparison key.
또한, 상기 비교키생성단계(S300)는, 비교키 생성이 요청되는 시점에 상응하는 값을 비교키 생성에 반영할 수 있다. 즉, 상기 제1클라이언트로부터 비교키발급요청이 수신된 시점을 인식하는 단계; 및 상기 시점에 상응하는 l개(l은 n보다 자연수)의 문자로 된 시간키를 추출하는 단계;를 포함할 수 있다. In addition, the comparison key generation step (S300), it is possible to reflect the value corresponding to the time when the comparison key generation is requested in the comparison key generation. That is, recognizing a time point at which the comparison key issuance request is received from the first client; And extracting a time key of l characters corresponding to the time point (l is a natural number than n).
먼저, 서버(100)는 제1클라이언트로부터 비교키발급요청이 수신된 시점을 인식할 수 있다. 서버(100)는 제1클라이언트로부터 비교키발급요청 시점데이터를 함께 수신하여 인식할 수 있고, 제1클라이언트로부터 비교키발급요청이 수신된 시점을 파악하여 인식할 수도 있다. 그 후, 서버(100)는 인식된 시점에 상응하는 l개(l은 n보다 작은 자연수)의 문자로 된 시간키를 추출할 수 있다. 시간키를 생성하는 알고리즘은 다양하게 적용될 수 있다. 예를 들어, 하루(24시간)를 10개의 구역으로 나눠서 (24 * 60 / 10) 144분 당 1씩 증가하는 방식을 적용할 수 있다. 서버(100)는 비교키발급요청에 따른 시점데이터에 상응하는 시간키를 포함하여 기본키를 생성할 수 있다. 즉, 기본키는 시간키의 l개의 문자 및 (n-l)개의 임의의 문자를 결합하여 생성될 수 있다.First, the server 100 may recognize when a comparison key issuance request is received from the first client. The server 100 may receive and recognize the comparison key issuance request time point data from the first client, and may recognize and recognize the time at which the comparison key issuance request is received from the first client. Thereafter, the server 100 may extract a time key of l characters (l is a natural number smaller than n) corresponding to the recognized time point. Algorithms for generating time keys can be applied in various ways. For example, you could divide your day (24 hours) into 10 zones (24 * 60/10) and increment it by 1 per 144 minutes. The server 100 may generate a primary key including a time key corresponding to the viewpoint data according to the comparison key issuance request. That is, the primary key can be generated by combining l characters of the time key and (n-l) arbitrary characters.
예를 들어, 서버(100)는 제1클라이언트로부터 비교키생성요청이 수신된 시점에 상응하는 한 자리 시간키를 생성할 수 있다. 그 후, 서버(100)는 다섯 자리 랜덤숫자를 추출하고, 랜덤숫자에 시간키를 결합하여 기본키를 생성할 수 있다. 그 후, 서버(100)는 시간키가 포함된 기본키를 바탕으로 특수키 생성규칙을 적용하여 한자리의 특수키를 산출할 수 있다. 그 후, 서버(100)는 기본키에 특수키를 결합하여 비교키를 생성할 수 있다. For example, the server 100 may generate a one-digit time key corresponding to the time point at which the comparison key generation request is received from the first client. Thereafter, the server 100 may extract five digit random numbers, and generate a primary key by combining the time keys with the random numbers. Thereafter, the server 100 may calculate a one-digit special key by applying a special key generation rule based on the primary key including the time key. Thereafter, the server 100 may generate a comparison key by combining the special key with the primary key.
또한, 서버(100)는 시간키를 기본키에 포함시키지 않고, 랜덤으로 생성된 문자열인 기본키와 함께 특수키 생성에만 반영될 수 있다. 즉, 서버(100)는 제1클라이언트로부터 비교키생성요청이 수신된 시점에 상응하는 시간키를 생성할 수 있다. 그 후, 서버(100)는 다섯 자리 랜덤 문자열을 추출하여 기본키를 생성할 수 있다. 그 후, 서버(100)는 시간키(예를 들어, 1자리 숫자)와 기본키(예를 들어, 5자리 숫자)를 바탕으로 특수키 생성규칙을 적용하여 한자리의 특수키를 산출할 수 있다. 그 후, 서버(100)는 기본키(예를 들어, 5자리 숫자)에 특수키(예를 들어, 1자리 숫자)를 결합하여 비교키를 생성할 수 있다. 이를 통해, 사용자들은 특수키 생성규칙에 활용되는 시간키를 확인할 수 없어서, 시간키를 생성하는 규칙과 특수키를 생성하는 규칙을 확인할 수 없음에 따라 보안성을 높일 수 있는 효과가 있다.In addition, the server 100 may not include the time key in the primary key, but may be reflected only in generating the special key together with the primary key which is a randomly generated string. That is, the server 100 may generate a time key corresponding to the time point at which the comparison key generation request is received from the first client. Thereafter, the server 100 may generate a primary key by extracting a five-digit random string. Thereafter, the server 100 may calculate the one-digit special key by applying a special key generation rule based on the time key (for example, one digit) and the primary key (for example, five digits). . Thereafter, the server 100 may generate a comparison key by combining a special key (for example, 1 digit) with a primary key (for example, 5 digits). Through this, users can not identify the time key used in the special key generation rule, and thus can increase the security by not being able to check the rule for generating the time key and the rule for generating the special key.
예를 들어, Damm algorithm을 램덤키 생성규칙으로 적용하는 경우, 서버(100)는 Random함수를 적용하여 12345를 추출할 수 있다. 그 후, 서버(100)는 시간함수를 적용하여 시간키를 산출(예를 들어, 현재 오전 9시 일 때, 9 * 60를 144로 나눈 후 가우스 함수를 적용하여 3을 산출)할 수 있다. 그 후, 서버(100)는 기본키 앞에 시간키를 결합한 문자열에 Damm algorithm을 적용하여 특수키를 산출(즉, Damm(312345)을 계산하여 특수키로 2를 산출)할 수 있다. 그 후, 서버(100)는 기본키인 12345 뒤에 생성된 특수키인 2를 뒤에 결합하여 비교키를 생성할 수 있다.For example, when the Damm algorithm is applied as a random key generation rule, the server 100 may extract 12345 by applying a random function. Thereafter, the server 100 may calculate a time key by applying a time function (for example, at 9 am, divide 9 * 60 by 144 and then apply a Gaussian function to calculate 3). Thereafter, the server 100 may apply a Damm algorithm to a string that combines a time key before the primary key to calculate a special key (that is, calculate Damm 312345) to calculate 2 as a special key. Thereafter, the server 100 may generate a comparison key by combining 2, which is a special key generated after 12345 which is a primary key, behind.
비교키 생성 시에 비교키 생성이 요청된 시점에 상응하는 시간키를 반영함에 따라, 같은 시간 대에 123452와 한 자리만 다른 223452 또는 두 자리수가 뒤바뀐 213452와 같은 비교키는 발급될 수 없어서, 사용자의 비교키 입력 오류에 따라 잘못된 파일 전송 연결관계가 형성되는 것을 방지할 수 있다. 또한, 특수키 생성규칙이 외부에 유출되는 것을 방지할 수 있어서, 파일 전송의 보안성을 높일 수 있다.As the comparison key generation reflects the time key corresponding to the time when the comparison key generation is requested, a comparison key such as 223452 which differs from 123452 by one digit or 213452 which is reversed by two digits cannot be issued at the same time, so that the user It is possible to prevent an incorrect file transfer connection from being formed due to a comparison key input error. In addition, the special key generation rule can be prevented from leaking to the outside, thereby increasing the security of file transfer.
또한, 상기 비교키생성단계(S300)는, 상기 비교키를 특정시간동안 유효하도록 제한시간을 설정하는 것을 특징으로 할 수 있다. 비교키가 생성된 후 시간이 오래 경과될수록 비교키가 타인에게 유출되어 타인이 먼저 비교키를 입력하여 파일전송 연결을 형성할 가능성이 높아진다. 따라서, 서버(100)는 비교키가 유효한 제한시간을 설정하여, 제한시간이 경과하면 비교키와 파일전송요청의 연결관계를 삭제할 수 있다. 또한, 비교키가 특정한 제한시간 내에만 유효하도록 하여, 서버(100)는 특정한 개수의 문자열을 이용하여 많은 수의 P2P파일 전송이 이루어지도록 할 수 있다.In addition, the comparison key generation step (S300), it may be characterized in that for setting the time limit to be valid for the comparison key. The longer the time elapses after the comparison key is generated, the higher the likelihood that the comparison key is leaked to the other person and the other person first enters the comparison key to form a file transfer connection. Accordingly, the server 100 may set a valid time limit for the comparison key, and when the time limit elapses, the server 100 may delete the connection relationship between the comparison key and the file transfer request. In addition, the comparison key is valid only within a specific time limit, so that the server 100 can transmit a large number of P2P files using a specific number of character strings.
제2클라이언트로부터 입력키를 수신한다(S400). 상기 제2클라이언트는 상기 제1클라이언트 이외의 하나 이상의 클라이언트이다. 즉, 제2클라이언트의 사용자는 파일 전송 관계를 형성하기를 원하는 제1클라이언트의 사용자로부터 메시지, 음성 등을 통해 비교키를 전달받아서 제2클라이언트에 입력할 수 있다.An input key is received from the second client (S400). The second client is one or more clients other than the first client. That is, the user of the second client may receive a comparison key through a message, voice, etc. from the user of the first client who wants to establish a file transfer relationship, and input the comparison key to the second client.
서버(100)는 상기 비교키와 상기 입력키를 비교하여 파일전송여부를 결정한다(S500). 서버(100)는 제1클라이언트의 요청에 의해 생성된 비교키와 제2클라이언트로부터 수신된 입력키가 일치하면 특정한 중계노드(400)를 통해 파일전송관계를 형성하여 파일을 송수신하도록 양 클라이언트에 요청할 수 있다. 즉, 상기 파일전송여부 결정단계(S500)는, 비교키와 입력키가 일치하면, 송신클라이언트(200)와 수신클라이언트(300) 간의 특정한 전송경로를 선택하는 전송경로선택단계; 및 상기 송신클라이언트(200)와 상기 수신클라이언트(300)에 상기 선택된 전송경로를 통한 파일전송을 요청하는 파일전송요청단계;를 포함할 수 있다. 먼저, 서버(100)는 비교키와 입력키를 비교 수행할 수 있다. 그 결과, 비교키와 입력키가 일치하면, 송신클라이언트(200)와 수신클라이언트(300) 간의 특정한 전송경로를 선택할 수 있다. 즉, 서버(100)는 다양한 중계노드(400) 중에서 가장 적절한 전송경로(예를 들어, 가장 빠른 속도를 제공하는 전송경로, 비용이 발생하지 않는 전송경로, 사용자가 우선순위로 설정한 경로 등)를 선택할 수 있다. 그 후, 서버(100)는 송신클라이언트(200)와 수신클라이언트(300)에 상기 선택된 전송경로를 통한 파일전송을 요청할 수 있다. 예를 들어, 서버(100)는 송신클라이언트(200)에게 선택된 중계노드(400)의 식별정보를 포함하는 요청을 송신하여, 선택된 중계노드(400)를 통해 수신클라이언트(300)로 파일을 전송하도록 할 수 있다.The server 100 compares the comparison key with the input key and determines whether to transmit a file (S500). If the comparison key generated by the first client's request and the input key received from the second client match, the server 100 forms a file transfer relationship through a specific relay node 400 and requests both clients to transmit and receive files. Can be. That is, the file transmission determination step (S500), if the comparison key and the input key, the transmission path selection step of selecting a specific transmission path between the transmitting client 200 and the receiving client 300; And a file transfer request step of requesting a file transfer through the selected transmission path to the transmitting client 200 and the receiving client 300. First, the server 100 may compare the comparison key and the input key. As a result, if the comparison key and the input key match, it is possible to select a specific transmission path between the transmitting client 200 and the receiving client 300. That is, the server 100 is the most appropriate transmission path (for example, the transmission path providing the fastest speed, the transmission path without incurring costs, the path set by the user, etc.) among the various relay nodes 400. Can be selected. Thereafter, the server 100 may request the transmitting client 200 and the receiving client 300 to transmit a file through the selected transmission path. For example, the server 100 transmits a request including identification information of the selected relay node 400 to the transmitting client 200 to transmit a file to the receiving client 300 through the selected relay node 400. can do.
또한, 상기 전송경로 선택단계는, 상기 송신클라이언트(200), 상기 수신클라이언트(300), 및 중계노드(400) 간의 위치또는 상기 중계노드(400)를 통한 전송속도를 고려하여, 특정한 중계노드(400)를 통한 최적전송경로를 산출하는 것을 특징으로 할 수 있다.In addition, the transmission path selection step, considering the position between the transmitting client 200, the receiving client 300, and the relay node 400 or the transmission speed through the relay node 400, a specific relay node ( It may be characterized by calculating the optimal transmission path through 400).
일실시예로, 송신클라이언트(200), 수신클라이언트(300), 및 중계노드(400) 간의 위치 또는 상기 중계노드(400)를 통한 전송속도를 고려하여, 특정한 중계노드(400)를 통한 최적전송경로를 산출할 수 있다. 즉, 서버(100)는 송신클라이언트(200), 수신클라이언트(300) 및 중계노드(400) 간의 위치를 고려하여 복수의 후보 중계노드(400)를 선택하고, 복수의 후보 중계노드(400) 중 전송 속도가 가장 높은 중계노드(400)를 선택할 수 있다.In one embodiment, in consideration of the position between the transmitting client 200, the receiving client 300, and the relay node 400 or the transmission speed through the relay node 400, optimal transmission through a specific relay node 400 The route can be calculated. That is, the server 100 selects a plurality of candidate relay nodes 400 in consideration of positions between the transmitting client 200, the receiving client 300, and the relay node 400, and among the plurality of candidate relay nodes 400. The relay node 400 having the highest transmission rate may be selected.
또는, 서버(100)는 송신클라이언트(200), 중계노드(400) 및 수신클라이언트(300)까지의 거리를 하나의 변수(D)로 설정하고, 중계노드(400)의 전송 속도를 다른 변수(V)로 설정하며, 두 변수에 각각 가중치를 적용하여 중계노드(400)를 선택할 수도 있다. 이를 위하여, 서버(100)는 중계노드(400)별 식별 정보, 위치 정보 또는 전송 속도 정보 중 적어도 하나 이상을 미리 저장할 수 있다.Alternatively, the server 100 sets the distance between the transmitting client 200, the relay node 400, and the receiving client 300 as one variable D, and sets the transmission speed of the relay node 400 to another variable ( V), the relay node 400 may be selected by applying weights to the two variables. To this end, the server 100 may store at least one or more of identification information, location information, or transmission speed information for each relay node 400 in advance.
중계노드(400)별 전송 속도 정보는 중계노드(400)로부터 미리 수집한 정보를 이용하여 추출된 통계 데이터일 수 있다. 여기서, 중계노드(400)로부터 미리 수집한 정보는 소정 시간 동안 각 중계노드(400)의 부하 정보, 소정 시간 동안 각 중계노드(400)에 접속하고 있는 다른 서버(100)의 존재 여부, 그리고 각 중계노드(400)를 지원하는 ISP(Internet Service Provider)의 종류 중 적어도 하나를 포함할 수 있다. 중계노드(400)의 부하가 낮을수록, 중계 노드 서버(100)에 접속 중인 다른 서버(100)의 수가 적을수록, 중계노드(400)를 지원하는 ISP의 속도가 빠를수록 중계노드(400)가 빠른 전송 속도를 가지는 것으로 추정될 수 있다.Transmission rate information for each relay node 400 may be statistical data extracted using information previously collected from the relay node 400. Here, the information collected in advance from the relay node 400 is load information of each relay node 400 for a predetermined time, whether there is another server 100 connected to each relay node 400 for a predetermined time, and each It may include at least one of the types of Internet Service Providers (ISPs) that support the relay node 400. The lower the load of the relay node 400, the smaller the number of other servers 100 connected to the relay node server 100, and the faster the speed of the ISP supporting the relay node 400, the faster the relay node 400 is. It can be estimated to have a high transmission rate.
다른 일실시예로, 중계노드(400)는 동일한 영역 내에 양 클라이언트가 연결 가능한 무선 액세스포인트가 될 수 있으므로, 송신클라이언트(200)와 수신클라이언트(300)가 동일한 무선 액세스포인트에 접속할 수 있는 공간 내에 위치하는 경우, 서버(100)는 송신클라이언트(200)와 수신클라이언트(300)가 동일하게 접속한 무선 액세스포인트를 중계노드(400)로 이용할 수 있다.In another embodiment, since the relay node 400 may be a wireless access point to which both clients can connect in the same area, the relay node 400 may be connected to the same wireless access point in a space where the transmitting client 200 and the receiving client 300 may access the same wireless access point. In the case where the server 100 is located, the server 100 may use a wireless access point connected to the transmitting client 200 and the receiving client 300 in the same manner as the relay node 400.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다. The above-described program includes C, C ++, JAVA, machine language, etc. which can be read by the computer's processor (CPU) through the computer's device interface so that the computer reads the program and executes the methods implemented as the program. Code may be coded in the computer language of. Such code may include functional code associated with a function or the like that defines the necessary functions for executing the methods, and includes control procedures related to execution procedures necessary for the computer's processor to execute the functions according to a predetermined procedure. can do. In addition, the code may further include memory reference code for additional information or media required for the computer's processor to execute the functions at which location (address address) of the computer's internal or external memory should be referenced. have. Also, if the processor of the computer needs to communicate with any other computer or server remotely in order to execute the functions, the code may be used to communicate with any other computer or server remotely using the communication module of the computer. It may further include a communication related code for whether to communicate, what information or media should be transmitted and received during communication.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The stored medium is not a medium for storing data for a short time such as a register, a cache, a memory, but semi-permanently, and means a medium that can be read by the device. Specifically, examples of the storage medium include, but are not limited to, a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like. That is, the program may be stored in various recording media on various servers to which the computer can access or various recording media on the computer of the user. The media may also be distributed over network coupled computer systems so that the computer readable code is stored in a distributed fashion.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.According to the present invention as described above, has the following various effects.
첫째, 사용자들이 오입력함에 따라 의도한 제1클라이언트가 아닌 제3클라이언트와의 파일전송 연결될 수 있는 비교키의 발생을 제한할 수 있다. 즉, 제2클라이언트의 사용자가 입력키를 오입력하여 파일 전송 관계를 형성하고자 의도한 제1클라이언트가 아닌 제3클라이언트와의 파일 전송관계가 형성되는 것을 방지할 수 있다. 이를 통해, 파일 송수신 관계가 잘못 연결되어 파일이 유출되는 것을 방지할 수 있다.First, as a user incorrectly inputs, it is possible to limit generation of a comparison key that may be connected to a file transfer with a third client other than the intended first client. That is, it is possible to prevent a file transfer relationship with a third client other than the first client intended to form a file transfer relationship by a user wrongly inputting an input key. Through this, it is possible to prevent the file from being leaked because the file transmission / reception relationship is incorrectly connected.
둘째, 기본키를 바탕으로 산출된 특수키를 결합하여 비교키를 생성함에 따라 타인이 비교키를 추측하기 어려워서 파일 전송의 보안성을 높일 수 있다. 특히, 비교키생성요청의 시점데이터에 상응하는 시간키를 비교키 생성에 반영하는 경우, 비교키의 보안성을 더 높일 수 있다.Second, as the comparison key is generated by combining the special key calculated based on the primary key, it is difficult for others to guess the comparison key, thereby increasing the security of the file transfer. In particular, when the time key corresponding to the time point data of the comparison key generation request is reflected in the comparison key generation, the security of the comparison key can be further improved.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

Claims (9)

  1. 서버가 제1클라이언트로부터 비교키 발급요청을 수신하되, 상기 제1클라이언트는 송신클라이언트 또는 수신클라이언트인, 비교키발급요청 수신단계;A server receiving a comparison key issuing request from a first client, wherein the first client is a transmitting client or a receiving client;
    서버가 송신클라이언트로부터 특정한 파일의 전송요청을 수신하는 단계;Receiving, by the server, a transfer request of a specific file from a sending client;
    서버가 비교키를 생성하는 단계로서, 상기 비교키는 임의로 추출된 n개의 문자로 된 기본키 및 상기 n개의 문자에 대해 특정한 생성규칙을 적용하여 산출된 m개의 문자인 특수키가 결합된 것이며, m과 n은 자연수인, 비교키생성단계;The server generates a comparison key, wherein the comparison key is a combination of a random key extracted from n characters and a special key of m characters calculated by applying a specific generation rule to the n characters. m and n are natural numbers, comparison key generation step;
    제2클라이언트로부터 입력키를 수신하되, 상기 제2클라이언트는 상기 제1클라이언트 이외의 하나 이상의 클라이언트인, 입력키 수신단계;Receiving an input key from a second client, wherein the second client is one or more clients other than the first client;
    상기 비교키와 상기 입력키를 비교하여 파일전송여부를 결정하는 단계;를 포함하는, 보안성이 강화된 P2P파일 전송방법.And comparing the comparison key with the input key to determine whether to transmit a file. 2.
  2. 제1항에 있어서, The method of claim 1,
    상기 생성규칙은,The generation rule is,
    상기 기본키의 배열순서 또는 구성이 달라지면, 상기 특수키의 배열순서 또는 구성이 달라지는 것을 특징으로 하는, 보안성이 강화된 P2P파일 전송방법.When the arrangement order or configuration of the primary key is different, the arrangement order or configuration of the special key is different, security enhanced P2P file transmission method.
  3. 제1항에 있어서, The method of claim 1,
    상기 비교키생성단계는,The comparison key generation step,
    상기 제1클라이언트로부터 비교키발급요청이 수신된 시점을 인식하는 단계; 및Recognizing a time point at which a comparison key issuance request is received from the first client; And
    상기 시점에 상응하는 l개(l은 n보다 작은 자연수)의 문자로 된 시간키를 추출하는 단계;를 포함하며,And extracting time keys of l letters corresponding to the time point (l is a natural number smaller than n).
    상기 기본키는 상기 시간키의 l개의 문자 및 (n-l)개의 임의의 문자를 결합하여 생성되는 것을 특징으로 하는, 보안성이 강화된 P2P파일 전송방법.And said primary key is generated by combining l characters of said time key and (n-l) arbitrary characters.
  4. 제1항에 있어서, The method of claim 1,
    상기 생성규칙은,The generation rule is,
    Luhn 알고리즘, Verhoeff 알고리즘, Damm알고리즘 중 적어도 하나 이상을 적용하는 것을 특징으로 하는, 보안성이 강화된 P2P파일 전송방법.A security enhanced P2P file transmission method, characterized by applying at least one of Luhn algorithm, Verhoeff algorithm, and Damm algorithm.
  5. 제1항에 있어서, The method of claim 1,
    상기 비교키생성단계는,The comparison key generation step,
    상기 기본키에 포함된 상기 n개의 문자와 상기 특수키에 포함된 상기 m개의 문자를 특정한 배치규칙에 따라 섞는 단계;를 포함하며, And mixing the n characters included in the primary key and the m characters included in the special key according to a specific arrangement rule.
    상기 배치규칙은 특정한 주기에 따라 변경되는 것을 특징으로 하는, 보안성이 강화된 P2P파일 전송방법.The arrangement rule is changed according to a specific period, security enhanced P2P file transmission method.
  6. 제1항에 있어서, The method of claim 1,
    상기 비교키생성단계는,The comparison key generation step,
    상기 비교키를 특정시간동안 유효하도록 제한시간을 설정하는 것을 특징으로 하는, 보안성을 강화한 P2P 전송방법.And setting a time limit so that the comparison key is valid for a specific time.
  7. 제1항에 있어서, The method of claim 1,
    상기 파일전송여부 결정단계는,The file transmission determination step,
    상기 비교키와 상기 입력키가 일치하면, 상기 송신클라이언트와 상기 수신클라이언트 간의 특정한 전송경로를 선택하는 전송경로선택단계; 및A transmission path selecting step of selecting a specific transmission path between the transmitting client and the receiving client when the comparison key and the input key match; And
    상기 송신클라이언트와 상기 수신클라이언트에 상기 선택된 전송경로를 통한 파일전송을 요청하는 파일전송요청단계;를 포함하는, 보안성을 강화한 P2P 전송방법.And a file transfer request step for requesting a file transfer through the selected transmission path to the transmitting client and the receiving client.
  8. 제7항에 있어서, The method of claim 7, wherein
    상기 전송경로 선택단계는,The transmission path selection step,
    상기 송신클라이언트, 상기 수신클라이언트, 및 중계노드 간의 위치또는 상기 중계노드를 통한 전송속도를 고려하여, 특정한 중계노드를 통한 최적전송경로를 산출하는 것을 특징으로 하는, 보안성을 강화한 P2P 전송방법.And calculating the optimum transmission path through a specific relay node in consideration of the position between the transmitting client, the receiving client, and the relay node or the transmission speed through the relay node.
  9. 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제8항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 보안성을 강화한 P2P 전송프로그램. A security-enhanced P2P transmission program, coupled to a computer that is hardware and stored on a medium for executing the method of any one of claims 1 to 8.
PCT/KR2015/010699 2015-10-12 2015-10-12 Method and program for transmitting p2p file through enhanced security WO2017065322A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2015/010699 WO2017065322A1 (en) 2015-10-12 2015-10-12 Method and program for transmitting p2p file through enhanced security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2015/010699 WO2017065322A1 (en) 2015-10-12 2015-10-12 Method and program for transmitting p2p file through enhanced security

Publications (1)

Publication Number Publication Date
WO2017065322A1 true WO2017065322A1 (en) 2017-04-20

Family

ID=58517318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/010699 WO2017065322A1 (en) 2015-10-12 2015-10-12 Method and program for transmitting p2p file through enhanced security

Country Status (1)

Country Link
WO (1) WO2017065322A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438375A (en) * 2021-05-24 2021-09-24 商客通尚景科技(上海)股份有限公司 Method for maintaining seat state

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110004758A1 (en) * 2008-02-15 2011-01-06 Telefonaktiebolaget Lm Ericsson (Publ) Application Specific Master Key Selection in Evolved Networks
KR20130018979A (en) * 2004-08-12 2013-02-25 씨엠엘에이 엘엘씨 Permutation data transformation to enhance security
US20140047516A1 (en) * 2012-08-07 2014-02-13 International Business Machines Corporation Cache sharing of enterprise data among peers via an enterprise server
KR20140078290A (en) * 2012-12-17 2014-06-25 주식회사 시큐아이 Method and apparatus for supporting multi-line in ipsec vpn
US20140223524A1 (en) * 2011-10-18 2014-08-07 Feitian Technologies Co., Ltd. Key updating method and system thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130018979A (en) * 2004-08-12 2013-02-25 씨엠엘에이 엘엘씨 Permutation data transformation to enhance security
US20110004758A1 (en) * 2008-02-15 2011-01-06 Telefonaktiebolaget Lm Ericsson (Publ) Application Specific Master Key Selection in Evolved Networks
US20140223524A1 (en) * 2011-10-18 2014-08-07 Feitian Technologies Co., Ltd. Key updating method and system thereof
US20140047516A1 (en) * 2012-08-07 2014-02-13 International Business Machines Corporation Cache sharing of enterprise data among peers via an enterprise server
KR20140078290A (en) * 2012-12-17 2014-06-25 주식회사 시큐아이 Method and apparatus for supporting multi-line in ipsec vpn

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438375A (en) * 2021-05-24 2021-09-24 商客通尚景科技(上海)股份有限公司 Method for maintaining seat state
CN113438375B (en) * 2021-05-24 2022-09-27 商客通尚景科技(上海)股份有限公司 Method for maintaining seat state

Similar Documents

Publication Publication Date Title
WO2017192007A2 (en) Block chain for supporting plurality of one-way functions for verification of blocks
CN105516201B (en) Lightweight anonymous authentication and cryptographic key negotiation method under a kind of environment of multi-server
US6259909B1 (en) Method for securing access to a remote system
CN103581105B (en) Login validation method and login authentication system
US20100333186A1 (en) Two-way authentication using a combined code
WO2018147673A1 (en) Symmetric key-based user authentication method for ensuring anonymity in wireless sensor network environment
US20110271118A1 (en) Password generation methods and systems
CN114868143A (en) Destination addressing for transactions associated with a distributed ledger
CN104113549A (en) Platform authorization method, platform server side, application client side and system
US20130133053A1 (en) Methods for enhancing password authentication and devices thereof
CN110771127A (en) Method and system for consistent distributed memory pools in blockchain networks
WO2020138532A1 (en) Dynamic blind voting-based blockchain consensus method for internet of things environment
CN110493207A (en) A kind of data processing method, device, electronic equipment and storage medium
CN102487322A (en) Registering method, device and system for realizing dynamic password authentication
KR101996471B1 (en) Network Securing Device and Securing method Using The Same
CN112202564B (en) Transaction transfer method and device, electronic equipment and readable storage medium
CN107635028B (en) Resource naming method and device, block chain cluster and electronic equipment
CN1601954B (en) Moving principals across security boundaries without service interruption
WO2024090845A1 (en) Method for authenticating ownership of blockchain wallet without signature function, and system using same
WO2017065322A1 (en) Method and program for transmitting p2p file through enhanced security
WO2017039156A1 (en) Salted password authentication method
WO2020022528A1 (en) System and method for generating security code or virtual account
WO2022177201A1 (en) Private key management and recovery system having key backup information stored distributedly
WO2013058515A1 (en) Login system and method with strengthened security
CN109495493A (en) A kind of network link method for building up and device based on network communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15906286

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15906286

Country of ref document: EP

Kind code of ref document: A1