KR100834576B1 - Key management method and apparatus for providing secure communication on p2p network - Google Patents
Key management method and apparatus for providing secure communication on p2p network Download PDFInfo
- Publication number
- KR100834576B1 KR100834576B1 KR1020060122225A KR20060122225A KR100834576B1 KR 100834576 B1 KR100834576 B1 KR 100834576B1 KR 1020060122225 A KR1020060122225 A KR 1020060122225A KR 20060122225 A KR20060122225 A KR 20060122225A KR 100834576 B1 KR100834576 B1 KR 100834576B1
- Authority
- KR
- South Korea
- Prior art keywords
- peer
- public key
- network
- file
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
도 1은 본 발명의 일실시예에 따라 보안통신을 위한 키 관리 방법을 수행하는 P2P 네트워크의 전체적인 구성도,1 is an overall configuration diagram of a P2P network performing a key management method for secure communication according to an embodiment of the present invention;
도 2는 본 발명의 일실시예에 따라 보안통신을 위한 키 관리 방법을 수행하는 P2P 네트워크의 인증서버가 관리하는 데이터베이스,2 is a database managed by an authentication server of a P2P network performing a key management method for secure communication according to an embodiment of the present invention;
도 3은 본 발명의 일실시예에 따라 보안통신을 위한 키 관리 방법을 수행하는 P2P 네트워크의 슈퍼 피어가 관리하는 데이터베이스,3 is a database managed by a super peer of a P2P network performing a key management method for secure communication according to an embodiment of the present invention;
도 4는 본 발명의 또 다른 실시예에 따라 P2P 환경에서 보안통신을 위한 키를 생성하는 피어에 해당하는 단말장치의 구성을 나타낸 블럭도,4 is a block diagram showing a configuration of a terminal device corresponding to a peer for generating a key for secure communication in a P2P environment according to another embodiment of the present invention;
도 5는 본 발명의 또 다른 실시예에 따라 P2P 환경에서 보안통신을 위한 키 생성을 위하여 피어의 공개키를 등록하는 과정을 나타내는 절차도,5 is a flowchart illustrating a process of registering a peer's public key to generate a key for secure communication in a P2P environment according to another embodiment of the present invention;
도 6은 본 발명의 또 다른 실시예에 따라 P2P 환경에서 슈퍼 피어가 보안통신을 위한 키를 생성하는 과정을 나타내는 흐름도, 그리고6 is a flowchart illustrating a process of generating a key for secure communication by a super peer in a P2P environment according to another embodiment of the present invention;
도 7은 본 발명의 또 다른 실시예에 따라 P2P 환경에서 피어들간에 파일을 교환할 때 보안통신을 위한 키를 생성하는 과정을 상세하게 나타내는 절차도이다. 7 is a flowchart illustrating in detail a process of generating a key for secure communication when exchanging files between peers in a P2P environment according to another embodiment of the present invention.
본 발명은 P2P 네트워크에 PKI 기반 구조를 활용한 인증 기법을 적용하기 위하여 피어간의 보안통신을 위한 키를 안전하게 생성, 전달 및 검증하기 위한 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to a method and apparatus for securely generating, transmitting, and verifying a key for secure communication between peers in order to apply an authentication scheme using a PKI infrastructure to a P2P network.
현재 인터넷에서 적용되는 대표적인 인증 메커니즘은 PKI(Public key Infrastructure) 기반 구조를 활용한 인증기법이다. PKI 기반 구조를 활용한 인증기법에 따르면 공개키를 기반으로 하여 보안 통신을 수행한다. 즉, 사용자B가 사용자A에게 데이터 또는 메시지를 전송하기 위해서는 사용자A의 공개된 공개키를 이용하여 상기 데이터를 암호화한 다음 전송하고, 이를 전송받은 사용자A는 자신만이 알고 있는 비밀키로 상기 암호화된 데이터를 복호화한다. The representative authentication mechanism currently applied on the Internet is an authentication method using a public key infrastructure (PKI) infrastructure. According to the authentication technique using the PKI infrastructure, secure communication is performed based on the public key. That is, in order to transmit data or a message to user A, user B encrypts the data using user A's public key and then transmits the data. Decrypt the data.
이러한 작업을 수행하기 위해서는 사용자A의 공개키인 것으로 공개된 공개키가 사용자A의 공개키인지 여부를 검증하는 과정이 필요하다. 이를 위하여 사용자B는 서버와의 통신을 통하여 사용자A의 공개키에 대한 서명을 검증하는 과정을 통해 사용자A의 공개키의 소유권을 확인하게 된다. In order to perform this operation, a process of verifying whether the public key disclosed as the public key of the user A is the public key of the user A is required. To this end, User B verifies the ownership of User A's public key by verifying the signature on User A's public key through communication with the server.
상기와 같은 PKI기반의 공개키 인증 방식은 현재 매우 많이 사용되는 방식으로, 실제 은행권의 경우 온라인 뱅킹을 위한 인증서를 발급하여 사용한다. 그러나 이러한 방식을 따르는 경우에 오프라인 절차가 필요하다는 문제가 있다. 예를 들면 은행의 경우 창구에 직접 가서 본인 확인을 하고 인증키를 받는 과정 등이 필요하다. The PKI-based public key authentication scheme is a very widely used method, and in the case of an actual banknote, a certificate for online banking is issued and used. However, there is a problem that offline procedures are required when following this method. For example, banks need to go directly to the counter to verify their identity and receive an authentication key.
또한, PKI기반 구조는 PKI인프라를 구축하고 유지하는 비용이 많이 소요될 뿐만 아니라, 인증서버의 부하가 많아진다는 문제가 있다. 특히 P2P 네트워크의 경우에 제한 없이 원하는 멤버가 가입하고 탈퇴하는 환경이므로 기존의 PKI 기반의 인증서 방식을 적용하는데 어려움이 있었다. In addition, the PKI infrastructure is not only expensive to build and maintain the PKI infrastructure, but also has a problem of increasing the load of the authentication server. In particular, in the case of P2P networks, there is a difficulty in applying the existing PKI-based certificate method because an environment in which desired members join and leave without restriction.
이를 해결하기 위하여 P2P 네트워크상의 피어들이 공개키와 비밀키를 직접 생성한 후, 서버를 거치지 않고 자신의 공개키를 직접 네트워크를 통하여 분배하는 방식이 제안되었다. 그러나 이러한 방법은 중간에 악의적인 노드가 공개키를 위변조 하는 등의 MITM(Man in the Middle Attack) 등에 취약하다는 문제가 있었다. In order to solve this problem, a method of directly generating public and private keys by peers on a P2P network and distributing their public keys directly through a network without going through a server has been proposed. However, this method has a problem that malicious nodes are vulnerable to MITM (Man in the Middle Attack) such as forgery of public key.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 기존의 PKI 인프라가 없는 P2P 네트워크 환경에서 PKI 기반 구조를 활용한 인증 기법을 적용하여 안전하게 공개키의 소유권을 인증할 수 있는 방법 및 이를 위한 장치를 제공하는데 있다. An object of the present invention for solving the above problems, method and apparatus for securely authenticating the ownership of the public key by applying the authentication scheme using the PKI infrastructure in a P2P network environment without the existing PKI infrastructure To provide.
상기와 같은 본 발명의 목적을 달성하기 위하여, P2P 네트워크에서 보안통신을 위한 키 관리 방법은, In order to achieve the object of the present invention as described above, a key management method for secure communication in a P2P network,
P2P 네트워크의 다른 제1 피어로부터 발송된 파일 검색 요청 메시지를 수신하는 제 1단계;Receiving a file search request message sent from another first peer of the P2P network;
상기 제 1단계에서 요청받은 파일이 존재하는지 여부를 검색하는 제 2단계;A second step of searching whether the file requested in the first step exists;
상기 제 2단계의 검색 결과 상기 파일이 존재하는 것으로 검색되는 경우에는 해당 파일을 저장하고 있는 제2 피어의 인터넷프로토콜 주소 및 공개키 정보를 포함하는 파일 검색 응답 메시지를 작성하는 제 3단계; 및,A third step of creating a file search response message including an Internet protocol address and a public key information of a second peer storing the file if the file is found to be present as a result of the search of the second step; And,
상기 제3 단계에서 작성된 응답 메시지를 상기 제1 피어를 향하여 발송하는 제 4단계를 포함하여 구성된다. And a fourth step of sending the response message created in the third step toward the first peer.
바람직하게 상기 P2P 네트워크에서 보안 통신을 위한 키 관리 방법은,Preferably the key management method for secure communication in the P2P network,
상기 제1 피어로부터 파일 전송 요청을 받은 제2 피어로부터 제1 피어의 공개키 정보 제공 요청을 수신하는 제 5단계;A fifth step of receiving a request for providing a public key information of a first peer from a second peer that has received a file transfer request from the first peer;
상기 제1 피어의 공개키 정보를 수집하는 제 6단계; 및,A sixth step of collecting public key information of the first peer; And,
상기 제 6단계에서 수집된 공개키 정보를 상기 제2 피어에게 제공하는 제 7단계를 더 포함할 수 있다. The method may further include a seventh step of providing the second peer with the public key information collected in the sixth step.
상기와 같은 본 발명의 목적을 달성하기 위하여, P2P 네트워크에서 보안통신을 위한 키를 생성하는 단말장치는,In order to achieve the object of the present invention as described above, a terminal device for generating a key for secure communication in a P2P network,
P2P 네트워크상의 다른 피어들에게 제공할 수 있는 파일과 상기 P2P 네트워크에 진입하기 위하여 필요한 인증, 공개키 등록 및 파일 교환에 필요한 정보를 저장하는 데이터베이스; A database that stores files that can be provided to other peers on a P2P network and information necessary for authentication, public key registration, and file exchange required to enter the P2P network;
P2P 네트워크상의 인증서버 또는 다른 피어들과 메시지 또는 데이터를 주고 받는 인터페이스부; 및,An interface unit for exchanging messages or data with an authentication server or other peers on a P2P network; And,
P2P 네트워크상에서 단말장치의 역할이 슈퍼피어인지 일반피어인지 여부를 확인하여, 상기 P2P 네트워크에 진입하기 위하여 필요한 인증, 공개키 등록 및 파일 교환에 필요한 작업을 수행하는 제어부를 포함하고,A control unit which checks whether a role of a terminal device on a P2P network is a super peer or a general peer, and performs an operation required for authentication, public key registration, and file exchange required to enter the P2P network;
상기 제어부는,The control unit,
공개키 등록, 파일 검색 및 파일 전송 요청을 행하기 위한 메시지를 작성하고, 상기 파일 검색 요청에 대한 응답 메시지를 작성할 때 상기 응답 메시지에 해당 파일을 저장하고 있는 피어의 공개키 정보를 포함시키는 메시지 작성 모듈;Compose a message for making a public key registration, file retrieval, and file transfer request, and when creating a response message for the file retrieval request, include a public key information of the peer storing the file in the response message. module;
P2P 네트워크상의 다른 피어로부터의 파일 검색 요청에 따라 상기 파일 검색 요청의 대상이 되는 파일이 저장되어 있는지 여부를 검색하는 검색 모듈;A search module for searching whether a file which is a target of the file search request is stored according to a file search request from another peer on a P2P network;
P2P 네트워크상의 다른 피어에게 제공하는 메시지를 수신측 피어의 공개키 정보를 이용하여 암호화하고, 상기 다른 피어로부터 제공받은 메시지는 자신의 개인키 정보를 이용하여 복호화하는 암호화 및 복호화 모듈을 포함하여 구성된다. A message provided to another peer on the P2P network is encrypted using the public key information of the receiving peer, and the message received from the other peer includes an encryption and decryption module for decrypting using its private key information. .
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The same reference numerals are used for parts having similar functions and functions throughout the drawings.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated.
또한, 본 명세서에서 기재한 모듈(module)이란 용어는 특정한 기능이나 동작을 처리하는 하나의 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현할 수 있다.In addition, the term module described herein refers to a unit for processing a specific function or operation, which may be implemented in hardware or software, or a combination of hardware and software.
도 1은 본 발명의 일실시예에 따라 보안통신을 위한 키 관리 방법을 수행하는 P2P 네트워크의 전체적인 구성도이다. 1 is an overall configuration diagram of a P2P network performing a key management method for secure communication according to an embodiment of the present invention.
도 1을 참조하면 상기 P2P 네트워크는 1개의 인증서버(Authentication server, 100), N개의 슈퍼 피어(Super peer, 200~202) 및 M개의 일반 피어(Peer, 300~302)로 구성되어 있고(이때, 상기 N 및 M은 자연수), 각 구성요소들은 유선 또는 무선 네트워크로 연결되어 있다. 이때 상기 피어(200~202, 300~302)는 개인용 컴퓨터(PC), 개인용 정보 단말(PDA), 핸드폰, 네트워크 단말기 등과 같은 단말 장치이다. Referring to FIG. 1, the P2P network is composed of one authentication server (100), N super peers (200 to 202), and M general peers (300 to 302) (at this time). , N and M are natural numbers), and each component is connected by a wired or wireless network. In this case, the
상기 인증서버(100)는 슈퍼 피어(200~202) 및 일반 피어(300~302) 각각이 상기 P2P 네트워크에 진입할 수 있도록 인증을 행하고, 인증된 피어(200~202, 300~302)에 대한 공개키 정보를 수집하며, 또한 이를 관리하는 역할을 수행하기 위한 장치이다. 이를 위하여 본 발명의 바람직한 실시예에 따른 인증서버(100)는 도 2에 도시된 바와 같이 그룹아이디(100-1), 피어아이디(100-2), 플래그(flag, 100-3), 공개키(Public key, 100-4) 및 인터넷 프로토콜(IP) 정보(100-5)를 포함하는 데이터베이스를 관리한다. The
도 2를 참조하면, 상기 그룹아이디(100-1)는 각 피어(200~202, 300~302)가 포함되는 그룹별로 부여된 고유한 아이디로서 하나의 피어 그룹은 하나의 슈퍼 피어와 여러 개의 일반 피어로 구성된다. 상기 피어 아이디(100-2)는 피어(200~202, 300~302)들 각각을 구별하기 위한 식별정보이다. 상기 플래그(100-3)는 상기 피어 아이디(100-2)에 해당하는 피어가 일반 피어인지, 슈퍼 피어인지 여부를 구별하기 위한 정보로서, 예컨대 상기 도 2에서는 일반 피어인 경우에는 'P'값을, 슈퍼 피어인 경우에는 'S'값을 갖는다. 2, the group ID 100-1 is a unique ID assigned to each group including the
상기 공개키(100-4) 정보는 PKI(Public Key Infrastructure) 기반의 공개키 인증 방식에 따라 해당 피어(200~202, 300~302)에게 제공되는 데이터를 암호화하는데 사용되는 정보로서, 상기 암호화된 데이터를 수신한 피어(200~202, 300~302)는 자신의 개인키(Private key)를 이용하여 복호화할 수 있다. 상기 인터넷 프로토콜 정보(100-5)는 해당되는 피어(200~202, 300~302)가 네트워크상에 존재하는 위치 정보이다. The public key 100-4 information is information used to encrypt data provided to the
상기 슈퍼 피어(200~202)는 P2P환경에서 일반 피어(300~302)들 사이의 통신 및 공개키 관리 등의 추가 기능을 갖는 피어로서, 이를 위하여 도 3에 도시된 바와 같은 형태의 데이터베이스를 관리한다. 이때 상기 도 1에 도시된 바와 같이 본 발명에 따른 P2P 네트워크에서는 하나의 슈퍼 피어(200)가 다수의 일반 피어(300~302)들을 지원하는 구조를 갖는다. The
도 3을 참조하면, 상기 피어 아이디(200-1)는 피어(200~202, 300~302)들 각각을 구별하기 위한 식별정보이고, 상기 플래그(200-2)는 상기 피어 아이디(200-1)에 해당하는 피어가 일반 피어인지, 슈퍼 피어인지, 또는 해당 슈퍼 피어가 관리하는 일반 피어인지 여부를 구별하기 위한 정보로서, 예컨대 상기 도 3에서는 일반 피어인 경우에는 'P'값을, 슈퍼 피어인 경우에는 'S'값을, 해당 슈퍼피어가 관리하는 일반 피어인 경우에는 'D'값을 갖는다. Referring to FIG. 3, the peer ID 200-1 is identification information for distinguishing each of the peers 200-202, 300-302, and the flag 200-2 is the peer ID 200-1. ) Is information for distinguishing whether a peer corresponding to) is a normal peer, a super peer, or a normal peer managed by the super peer. For example, in FIG. 3, a 'P' value is used as a normal peer. In the case of, it has a value of 'S', and in the case of a normal peer managed by the super peer, the value 'D' is obtained.
이때, 상기 도 3에 나타낸 바와 같이 본 발명에 적용할 수 있는 바람직한 실시예에서 슈퍼 피어(200~202)는 데이터베이스에 각 피어(200~202, 300~302)의 공개키(200-3) 정보 및 해당되는 피어(200~202, 300~302)에 대한 네트워크상의 위치 정보인 인터넷 프로토콜(IP) 정보(200-4)도 함께 저장하여 관리한다. At this time, in the preferred embodiment applicable to the present invention as shown in FIG. 3, the
상기 일반 피어(300~302)는 상기 인증서버(100)에게 인증을 받아 상기 P2P 네트워크에 진입하면 상기 P2P 네트워크상의 다른 일반 피어들과 파일을 교환할 수 있다. 이때, 본 발명에 적용할 수 있는 바람직한 실시예에서 상기 인증 방법으로는 본 발명이 속하는 기술분야에서 P2P 네트워크상에서 피어(200~202, 300~302)가 인증서버(100)로부터 인증을 받는 방법으로 공지된 방법들, 예컨대 아이디 및 패스워드 기반의 방식이 당업자의 판단에 의하여 용이하게 선택되어 사용될 수 있다. The
도 4는 본 발명의 또 다른 실시예에 따라 P2P 환경에서 보안통신을 위한 키를 생성하는 피어에 해당하는 단말장치의 구성을 나타낸 블럭도이다. 4 is a block diagram illustrating a configuration of a terminal device corresponding to a peer for generating a key for secure communication in a P2P environment according to another embodiment of the present invention.
도 4를 참조하면, 상기 본 발명의 실시예에 따른 단말장치는 제어부(310), 데이터베이스(320) 및 인터페이스부(330)를 포함하여 구성된다. Referring to FIG. 4, the terminal device according to the embodiment of the present invention includes a
상기 제어부(310)는 P2P 네트워크상에서 단말장치의 역할이 슈퍼피어인지 일반피어인지 여부를 확인하여, 상기 P2P 네트워크에 진입하기 위하여 필요한 인증, 공개키 등록 및 파일 교환에 필요한 작업을 수행한다. 이를 위하여 상기 제어부(310)는 메시지 작성모듈(311), 검색모듈(312) 및 암호화 및 복호화 모듈(313)을 포함한다. The
상기 메시지 작성 모듈(311)은 공개키 등록, 파일 검색 및 파일 전송 요청을 행하기 위한 메시지를 작성하는 구성요소로서, 본 발명에 적용할 수 있는 바람직한 실시예에서 공개키 등록을 요청하는 메시지를 작성하는 경우에 상기 공개키 등록을 요청하는 메시지에 단말장치 자신의 패스워드를 키로 한 해쉬값을 생성하여 포함시킬 수 있고, 또한 검색 요청에 대한 응답 메시지를 작성할 때 상기 검색 요청에 대한 응답 메시지에 해당 파일을 저장하고 있는 피어의 공개키 정보를 포함시킬 수 있다. The
상기 검색 모듈(312)은 P2P 네트워크상의 다른 피어로부터의 파일 검색 요청에 따라 상기 파일 검색 요청의 대상이 되는 파일이 저장되어 있는지 여부를 검색하는 구성요소이고, 상기 암호화 및 복호화 모듈(313)은 P2P 네트워크상의 다른 피어에게 제공하는 메시지를 수신측 피어의 공개키 정보를 이용하여 암호화하고, 상기 다른 피어로부터 제공받은 메시지는 자신의 개인키 정보를 이용하여 복호화하는 구성요소이다. The
상기 데이터베이스(320)는 P2P 네트워크상의 다른 피어들에게 제공할 수 있는 파일 및 상기 P2P 네트워크에 진입하기 위하여 필요한 인증, 공개키 등록 및 파일 교환에 필요한 정보를 저장하는 구성요소로서, 상기 단말장치로부터 메시지를 제공받을 인증서버 또는 상대 피어측 공개키 정보, 상기 단말장치 자신의 공개키 및 개인키 정보 및 인터넷프로토콜 정보를 저장하고 있다. 이때, 상기 단말장치가 상기 P2P 네트워크에서 슈퍼 피어인 경우에는 자신이 속한 그룹에 함께 속해있는 일반 피어에 대한 식별 정보인 피어 아이디 및 상기 피어 아이디 각각에 대한 플래그값, 공개키 정보 및 인터넷 프로토콜 정보를 포함할 수 있다. The
상기 인터페이스부(330)는 P2P 네트워크상의 인증서버 또는 다른 피어들과 메시지 또는 데이터를 주고받기 위한 구성요소이다. The
도 5는 본 발명의 또 다른 실시예에 따라 P2P 환경에서 보안통신을 위한 키 생성을 위하여 피어의 공개키를 등록하는 과정을 나타내는 절차도이다. 5 is a flowchart illustrating a process of registering a peer's public key to generate a key for secure communication in a P2P environment according to another embodiment of the present invention.
도 5를 참조하면 피어(300)는 인증서버(100)의 공개키 정보를 수집한다(S500). 상기 인증서버(100)의 공개키는 PKI(Public Key Infrastructure) 기반의 공개키 인증 방식에 따라 피어의 공개키 등록 요청을 암호화하기 위한 것이다. 본 발명이 속하는 바람직한 실시예에서 상기 S500단계는, P2P 네트워크로 진입하는 피어(300)가 인증서버(100)의 공개키 정보를 확인할 수 있는 것으로 당업계에 공지된 방법, 예컨대 해당 피어(300)가 P2P 네트워크에 진입하기 위하여 사용하는 P2P 소 프트웨어에 인증서버(100)의 공개키가 바이너리(binary) 형태로 탑재되어 있거나, 해당 피어(300)가 인증서버(100)에 접속하여 P2P 소프트웨어를 다운받아 설치하는 작업만으로 서버의 공개키를 획득하게 되는 방법 등이 당업자의 판단에 의하여 용이하게 선택되어 사용될 수 있다. Referring to FIG. 5, the
상기 S500단계를 통하여 인증서버(100)의 공개키 정보를 수집한 피어(300)는 공개키 등록 메시지를 작성한다(S501). 상기 공개키 등록 메시지는 해당 피어(300) 자신의 아이디(ID), 패스워드(Password), 인터넷 프로토콜(IP) 주소 및 공개키 정보 등을 포함하는 것이 바람직하다. 이때 상기 공개키 등록 메시지는 상기 S500단계에서 수집된 인증서버(100)의 공개키를 이용하여 암호화된다.The
본 발명에 적용할 수 있는 바람직한 실시예에서, 상기 피어(300)는 상기 S501단계에서 작성되는 공개키 등록 메시지에 피어(300) 자신의 패스워드를 키(key)로 이용한 해쉬(hash)값을 생성하여 첨부할 수 있다. 상기 S501단계에서 인증서버(100)의 공개키를 이용한 암호화의 목적은 공개키 등록 메시지를 중간에 권한이 없는 자가 볼 수 없도록 하기 위한 것이며, 상기 첨부되는 해쉬값은 권한이 없는 자가 중간에 데이터의 내용을 변경한 경우 이를 감지하기 위한 것이다. In a preferred embodiment applicable to the present invention, the
상기 S501단계를 통하여 작성된 공개키 등록 메시지는 인증서버(100)로 전송되고(S502), 인증서버(100)는 수신한 데이터를 자신의 개인키(Private key)로 복호화 한 후(S503), 상기 공개키 등록 메시지에 포함되어 있는 해당 피어(300)의 패스워드 값을 자신의 데이터베이스에 저장되어 있는 피어(300)의 패스워드 값과 비교하여 상기 공개키 등록 메시지를 검증한다(S504). 만일 상기 S504단계의 검증에 실 패한다면 상기 공개키 등록 메시지를 폐기하고 절차를 종료한다. The public key registration message created in step S501 is transmitted to the authentication server 100 (S502), and the
만일 상기 공개키 등록 메시지에 해쉬값이 첨부되어 있다면, 상기 인증서버(100)는 자신의 데이터베이스에 저장되어 있는 피어(300)의 패스워드 값을 키(key)로 하여 상기 해쉬값을 통해 메시지를 다시 검증할 수 있다. 만일 상기 S504단계의 검증에 성공하였다 하더라도, 상기 해쉬값을 통한 검증에 실패한다면 상기 공개키 등록 메시지를 폐기하고 절차를 종료한다. If a hash value is attached to the public key registration message, the
본 발명에 적용할 수 있는 바람직한 실시예에서, 상기 공개키 등록 메시지에 대한 검증이 성공한다면, 상기 인증서버(100) 해당 피어(300)의 공개키 정보를 자신의 데이터베이스에 저장할 수 있다. In a preferred embodiment applicable to the present invention, if the verification of the public key registration message is successful, the
다음으로 상기 인증서버(100)는 공개키 등록요구에 대한 응답 메시지를 작성한다(S505). 이때, 상기 해당 피어(300)가 일반 피어인 경우에 상기 응답 메시지는 공개키 등록 성공 여부에 관한 정보, 해당 피어(300)가 일반 피어임을 지시하는 플래그값 및 해당 피어(300)에 대한 슈퍼 피어의 아이디, 공개키 및 인터넷프로토콜 정보 등을 포함할 수 있다. 만일 상기 해당 피어(300)가 슈퍼 피어인 경우에 상기 응답 메시지는 공개키 등록 성공 여부에 관한 정보, 해당 피어(300)가 슈퍼 피어임을 지시하는 플래그값 및 슈퍼 피어용 인증서 정보를 포함할 수 있다. 이때, 상기 응답 메시지는 해당 피어(300)의 공개키를 이용하여 암호화된다. Next, the
상기 인증서버(100)는 상기 S505단계에서 작성된 응답 메시지에 인증서버(100)의 개인키(private key)를 이용하여 서명할 수 있다. The
상기 S505단계를 통하여 작성된 응답 메시지는 해당 피어(300)로 전송되 고(S506), 상기 피어(300)는 필요한 경우에 자신의 개인키로 상기 응답 메시지를 복호화한 다음, 인증서버(100)의 공개키를 이용하여 인증서버(100)의 서명을 검증한다(S507). The response message created through the step S505 is transmitted to the corresponding peer 300 (S506), the
다음으로, 상기 피어(300)가 일반 피어인 경우에는 상기 S507단계를 통하여 검증된 응답 메시지에 포함된 슈퍼 피어에 관한 정보를 자신의 데이터베이스에 저장할 수 있고, 상기 피어(300)가 슈퍼 피어인 경우에는 상기 S507단계를 통하여 검증된 응답 메시지에 포함된 슈퍼 피어용 인증서를 자신의 데이터베이스에 저장할 수 있다.Next, when the
또한, 상기 도 5에는 도시하지 않았으나 본 발명에 적용할 수 있는 바람직한 실시예에서 상기 피어(300)가 슈퍼 피어인 경우에, 상기 피어(300)는 상기 인증서버(100)로부터 다른 슈퍼 피어들의 정보 및 자신이 관리하는 일반 피어들에 관한 정보를 제공받을 수 있고, 다른 일반 피어로부터 자신의 관리하에 들어오는데 필요한 정보를 제공받을 수 있다. In addition, although not shown in FIG. 5, in the preferred embodiment applicable to the present invention, when the
예컨대, 상기 인증서버(100)로부터 다른 슈퍼 피어들의 정보를 제공받을 때에 해당 피어(300)는 자신의 공개키로 암호화되고 상기 인증서버(100)의 개인키로 서명된 다른 슈퍼 피어의 아이디, 인터넷프로토콜 주소 및 공개키 정보를 포함하는 슈퍼 피어 목록 데이터를 제공받을 수 있다. 또한, 자신이 관리하는 일반 피어들에 관한 정보를 제공받을 때에는 자신의 공개키로 암호화되고, 상기 인증서버(100)의 개인키로 서명된 해당 피어(300)가 관리해야 하는 피어의 아이디, 인터넷프로토콜 주소 및 공개키 정보를 포함하는 피어 목록 데이터를 전송받을 수 있다. For example, when receiving information of other super peers from the
또한 다른 일반 피어로부터 자신의 관리하에 들어오는데 필요한 정보를 제공받는 과정은, 해당 일반 피어(미도시)가 인증서버(100)로 인증을 수행하고 공개키를 등록한 다음, 자신을 관리할 슈퍼 피어(300)의 정보를 수신하고 나서 진행될 수 있다. 예컨대 슈퍼 피어인 해당 피어(300)의 공개키로 암호화하고 일반 피어 자신의 개인키로 서명된 상기 일반 피어의 아이디, 인터넷프로토콜 주소 및 공개키 정보를 포함하는 메시지를 제공받을 수 있다. In addition, the process of receiving information required to enter under the management from another general peer, the general peer (not shown) to authenticate with the
도 6은 본 발명의 또 다른 실시예에 따라 P2P 환경에서 슈퍼 피어가 보안통신을 위한 키를 생성하는 과정을 나타내는 흐름도이다. 6 is a flowchart illustrating a process in which a super peer generates a key for secure communication in a P2P environment according to another embodiment of the present invention.
도 6을 참조하면, 먼저 슈퍼 피어가 파일 검색 요청을 수신한다(S600). 이러한 파일 검색 요청은 상기 슈퍼 피어가 관리하는 일반 피어로부터 제공받거나, 다른 슈퍼 피어로부터 제공받을 수 있다. 이때, 상기 파일 검색 요청에는 해당 파일에 대한 검색을 요청한 피어(이하, '제1 피어'라 한다)의 공개키 정보가 포함되어 있다. Referring to FIG. 6, first, a super peer receives a file search request (S600). Such a file search request may be provided from a general peer managed by the super peer or from another super peer. In this case, the file search request includes public key information of a peer (hereinafter, referred to as a “first peer”) requesting a search for a corresponding file.
상기 S600단계를 통하여 파일 검색 요청을 수신한 슈퍼 피어는 자신 및 자신이 관리하는 일반 피어에 해당 파일이 존재하는지 여부를 검색한다(S601). 상기 검색 결과 파일이 존재하지 않는 것으로 확인되면 파일 검색을 종료한다(S602).The super peer that has received the file search request through step S600 searches for whether a corresponding file exists in itself and a general peer managed by the super peer (S601). If it is determined that the search result file does not exist, the file search ends (S602).
만일 상기 S601단계의 검색 결과 파일이 존재하는 것으로 검색되는 경우에는 해당 파일을 저장하고 있는 피어(이하, '제2 피어'라 한다)에 대한 정보를 포함하 는 파일 검색 응답을 작성한다(S603). 이때 상기 파일 검색 응답에는 상기 파일을 저장하고 있는 제2 피어의 인터넷프로토콜 주소 및 공개키 정보가 포함되는 것이 바람직하며, 또한 상기 파일 검색 응답은 해당 파일에 대한 검색을 요청했던 제1 피어의 공개키로 암호화 되는 것이 바람직하다. 상기 S603단계에서 작성된 파일 검색 응답은 상기 제1 피어에게 제공된다. If the search result file of step S601 is found to exist, a file search response including information about a peer (hereinafter referred to as a 'second peer') storing the file is created (S603). . In this case, the file search response may include the Internet protocol address and public key information of the second peer that stores the file, and the file search response may be the public key of the first peer that requested the search for the file. It is desirable to be encrypted. The file search response generated in step S603 is provided to the first peer.
다음으로, 상기 S603단계의 파일 검색 응답을 수신한 제1 피어로부터 파일 전송 요청을 받은 제2 피어의 요청에 따라, 상기 제1 피어의 공개키 정보를 수집하여 상기 제2 피어에게 제공한다(S604). 상기 S604단계를 통하여 제1 피어의 공개키 정보를 제공받은 제2 피어는 제1 피어로부터 전송 요청을 받은 해당 파일을 상기 제1 피어의 공개키로 암호화한 다음 제1 피어에게 제공하고, 제1 피어는 자신의 개인키를 이용하여 제공받은 파일을 복호화한다. Next, the public key information of the first peer is collected and provided to the second peer according to the request of the second peer that has received the file transfer request from the first peer that has received the file search response in step S603 (S604). ). The second peer, which has received the public key information of the first peer through the step S604, encrypts the corresponding file that has received the transfer request from the first peer with the public key of the first peer, and then provides the file to the first peer. Decrypts the provided file using its private key.
도 7은 본 발명의 또 다른 실시예에 따라 P2P 환경에서 피어들간에 파일을 교환할 때 보안통신을 위한 키를 생성하는 과정을 상세하게 나타내는 절차도이다. 상기 도 7에 나타낸 P2P 환경은 인증서버(100), 슈퍼피어1(200), 슈퍼피어2(201), 슈퍼피어1(200)의 관리를 받는 일반 피어1(300) 및 슈퍼피어2(201)의 관리를 받는 일반 피어2(301)로 구성되어 있다. 7 is a flowchart illustrating in detail a process of generating a key for secure communication when exchanging files between peers in a P2P environment according to another embodiment of the present invention. The P2P environment illustrated in FIG. 7 includes the normal peer 1 300 and the super peer 2 201 managed by the
먼저, 일반 피어1(300)은 자신을 관리하는 슈퍼 피어1(200)에게 특정 파일에 대한 검색을 요청하면(S600), 상기 슈퍼 피어1(200)은 자신의 관리하에 있는 일반 피어들 중에서 상기 파일을 저장하고 있는 피어를 검색할 뿐만 아니라, 다른 그룹 에 속하는 슈퍼 피어인 슈퍼 피어2(201)에게도 상기 파일에 대한 검색을 요청한다(S701). First, when the general peer 1 300 requests a search for a specific file from the super peer 1 200 that manages itself (S600), the super peer 1 200 receives the search among the general peers under its management. In addition to searching for the peer that stores the file, super peer 2 201, which is a super peer belonging to another group, is also requested to search for the file (S701).
슈퍼 피어1(200)으로부터 파일 검색 요청을 수신한 슈퍼 피어2(201)는 자신의 관리하에 있는 일반 피어들 중에서 상기 파일을 저장하고 있는 피어를 검색하여, 일반 피어2(301)가 상기 파일을 저장하고 있는 것으로 확인되면 상기 일반 피어2(301)에 대한 정보를 포함하는 파일 검색 응답을 작성하여 슈퍼 피어1(200)에게 제공한다(S702). 이때 상기 파일 검색 응답에는 상기 파일을 저장하고 있는 일반 피어2(301)의 인터넷프로토콜 주소 및 공개키 정보가 포함되는 것이 바람직하며, 또한 상기 파일 검색 응답은 해당 파일에 대한 검색을 요청했던 일반 피어1(300)의 공개키로 암호화 되는 것이 바람직한다. Upon receiving a file search request from Super Peer 1 (200), Super Peer 2 (201) searches for peers that store the file among normal peers under its management, so that Normal Peer 2 (301) retrieves the file. If it is determined that the data is stored, a file search response including the information on the general peer 2 301 is created and provided to the super peer 1 200 (S702). In this case, the file search response may include the Internet protocol address and public key information of the general peer 2 301 that stores the file, and the file search response may include the general peer 1 that requested the search for the file. It is desirable to be encrypted with the public key of 300.
상기 S702단계를 통하여 파일 검색 응답을 전달받은 슈퍼 피어1(200)이 이를 일반 피어1(300)에게 제공하면(S703), 상기 일반 피어1(300)은 파일 검색 응답에 포함되어 있는 정보에 기초하여, 일반 피어2(301)에게 직접 파일 전송 요청을 행한다(S704). When the super peer 1 200 that has received the file search response through the step S702 provides it to the general peer 1 300 (S703), the general peer 1 300 is based on the information included in the file search response. The file transfer request is made directly to the general peer 2301 (S704).
일반 피어1(300)으로부터 파일 전송 요청(S704)을 수신한 일반 피어2(301)는 슈퍼 피어2(201)에게 일반 피어1(300)에 대한 공개키 정보를 요청한다(S705). 만일 상기 슈퍼 피어2(201)에 해당 일반 피어1(300)에 대한 공개키 정보가 존재하지 않는다면, 슈퍼 피어2(201)는 인증서버(100)를 통하여 상기 일반 피어1(300)의 공개키 정보를 수집한 다음(S706, S707), 이를 일반 피어2(301)에게 제공한다(S708).The general peer 2 301 which receives the file transfer request S704 from the general peer 1 300 requests the public key information about the general peer 1 300 from the super peer 2 201 (S705). If there is no public key information for the general peer 1 (300) in the super peer 2 (201), the super peer 2 (201) through the
일반 피어1(300)의 공개키 정보를 얻은 일반 피어2(301)는 일반 피어1(300) 으로부터 전송 요청을 받은 파일을 상기 일반 피어1(300)의 공개키로 암호화한 다음(S609), 일반 피어1(300)에게 제공한다. After receiving the public key information of the general peer 1 (300), general peer 2 (301) encrypts the file received from the general peer 1 (300) with the public key of the general peer 1 (300) (S609), and then general Provided to peer 1 (300).
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다. The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those skilled in the art.
본 발명에 의하며 원하는 피어가 제한 없이 가입하고 탈퇴할 수 있는 환경인 P2P 네트워크의 경우와 같이 기존의 PKI 인프라가 없는 환경에서 안전하게 공개키의 소유권을 인증할 수 있게 되어, 기존의 PKI 기반의 인증서 방식을 적용할 수 있다. According to the present invention, it is possible to securely authenticate the ownership of a public key in an environment without an existing PKI infrastructure, such as in the case of a P2P network in which a desired peer can join and leave without restriction. Can be applied.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060122225A KR100834576B1 (en) | 2006-12-05 | 2006-12-05 | Key management method and apparatus for providing secure communication on p2p network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060122225A KR100834576B1 (en) | 2006-12-05 | 2006-12-05 | Key management method and apparatus for providing secure communication on p2p network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100834576B1 true KR100834576B1 (en) | 2008-06-02 |
Family
ID=39769830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060122225A KR100834576B1 (en) | 2006-12-05 | 2006-12-05 | Key management method and apparatus for providing secure communication on p2p network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100834576B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013152312A1 (en) * | 2012-04-06 | 2013-10-10 | Interdigital Patent Holdings, Inc. | Optimization of peer-to-peer content delivery service |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005094702A (en) | 2003-09-19 | 2005-04-07 | Sony Corp | Transmitting device and method, receiving device and method, and transmitting/receiving system and method |
JP2005142613A (en) | 2003-11-04 | 2005-06-02 | Nippon Telegr & Teleph Corp <Ntt> | Information disclosure system |
WO2006016328A1 (en) | 2004-08-10 | 2006-02-16 | Koninklijke Philips Electronics N.V. | Method and apparatus for use in off-line p2p communication |
US20060174120A1 (en) | 2005-02-02 | 2006-08-03 | Seamless Peer 2 Peer, Inc. | System and method for providing peer-to-peer communication |
JP2006246401A (en) | 2005-03-07 | 2006-09-14 | Kddi Corp | Hybrid peer-to-peer communication network system, index server thereof, terminal device, and mirror peer creating method in the same system |
-
2006
- 2006-12-05 KR KR1020060122225A patent/KR100834576B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005094702A (en) | 2003-09-19 | 2005-04-07 | Sony Corp | Transmitting device and method, receiving device and method, and transmitting/receiving system and method |
JP2005142613A (en) | 2003-11-04 | 2005-06-02 | Nippon Telegr & Teleph Corp <Ntt> | Information disclosure system |
WO2006016328A1 (en) | 2004-08-10 | 2006-02-16 | Koninklijke Philips Electronics N.V. | Method and apparatus for use in off-line p2p communication |
US20060174120A1 (en) | 2005-02-02 | 2006-08-03 | Seamless Peer 2 Peer, Inc. | System and method for providing peer-to-peer communication |
JP2006246401A (en) | 2005-03-07 | 2006-09-14 | Kddi Corp | Hybrid peer-to-peer communication network system, index server thereof, terminal device, and mirror peer creating method in the same system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013152312A1 (en) * | 2012-04-06 | 2013-10-10 | Interdigital Patent Holdings, Inc. | Optimization of peer-to-peer content delivery service |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110537346B (en) | Safe decentralized domain name system | |
TWI725655B (en) | Method, apparatus and system for program execution and data proof for executing a sub-logic code within a trusted execution environment | |
CN109862041B (en) | Digital identity authentication method, equipment, device, system and storage medium | |
AU2019204725B2 (en) | Retrieving access data for blockchain networks using highly available trusted execution environments | |
JP6811339B2 (en) | Read public data for blockchain networks using a highly available and reliable execution environment | |
JP3761557B2 (en) | Key distribution method and system for encrypted communication | |
CN101605137B (en) | Safe distribution file system | |
WO2018004783A1 (en) | Public key infrastructure using blockchains | |
US8572387B2 (en) | Authentication of a peer in a peer-to-peer network | |
KR20210095093A (en) | Method for providing authentification service by using decentralized identity and server using the same | |
KR20200080441A (en) | Distributed device authentication protocol in internet of things blockchain environment | |
US11218317B1 (en) | Secure enclave implementation of proxied cryptographic keys | |
EP4096160A1 (en) | Shared secret implementation of proxied cryptographic keys | |
JP5012574B2 (en) | Common key automatic sharing system and common key automatic sharing method | |
JP6976405B2 (en) | Access control system and its programs | |
Liou et al. | T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs | |
KR20210095061A (en) | Method for providing authentification service by using decentralized identity and server using the same | |
CN114982195A (en) | Request and response protocol with blockchain transactions | |
JP4552785B2 (en) | Encrypted communication management server | |
JP6939313B2 (en) | Distributed authentication system | |
KR100834576B1 (en) | Key management method and apparatus for providing secure communication on p2p network | |
TW202304172A (en) | Location-key encryption system | |
JP4631869B2 (en) | Key distribution method and system for encrypted communication | |
CN116506104B (en) | Method and system for information security interaction of different departments based on cross-chain blockchain | |
KR102497440B1 (en) | Method and system for providing user information management service based on decentralized identifiers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130424 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140430 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150527 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |