KR101369250B1 - Server, client and method for verifying integrity of data in peer to peer based network - Google Patents
Server, client and method for verifying integrity of data in peer to peer based network Download PDFInfo
- Publication number
- KR101369250B1 KR101369250B1 KR1020110146023A KR20110146023A KR101369250B1 KR 101369250 B1 KR101369250 B1 KR 101369250B1 KR 1020110146023 A KR1020110146023 A KR 1020110146023A KR 20110146023 A KR20110146023 A KR 20110146023A KR 101369250 B1 KR101369250 B1 KR 101369250B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- metadata
- integrity
- verification
- seed
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Abstract
본 발명은 P2P통신 프로토콜을 이용한 P2P기반 파일 업데이트 또는 데이터전송에 있어서, 사용자간 파일 전송의 기준으로 사용되는 메타 데이터 파일(meta data file) 생성 시 메타 데이터 파일의 무결성을 검증할 수 있도록 동일한 해쉬(hash)값을 가지는 메타 데이터 검증 파일을 추가로 생성하여 배포하고, 클라이언트(client)에서는 메타 데이터 파일과 함께 다운로드 받은 메타 데이터 검증 파일을 이용하여 메타 데이터 파일의 무결성을 검증함으로써 메타 데이터 파일의 변조 여부를 사전에 검출할 수 있도록 하여 P2P 방식의 파일 전송 프로토콜의 보안성을 크게 향상시킬 수 있다. 또한, 보안성 향상으로 인하여 비즈니스 환경의 신뢰된 데이터 전송에 P2P통신 프로토콜을 보다 쉽게 적용할 수 있게 된다.According to the present invention, in the P2P-based file update or data transfer using the P2P communication protocol, the same hash (so as to verify the integrity of the metadata file when generating the metadata file used as a standard for file transfer between users) may be used. Create and distribute a metadata verification file having a hash value, and verify the integrity of the metadata file by using the metadata verification file downloaded along with the metadata file. Can be detected in advance, greatly improving the security of the P2P type file transfer protocol. In addition, security enhancements make it easier to apply P2P communication protocols to reliable data transmission in business environments.
Description
본 발명은 피어-투-피어(Peer-to-Peer, P2P) 기반의 파일 전송 방법에 관한 것으로, 특히 P2P 통신 프로토콜을 이용한 P2P기반 파일 업데이트(file update) 또는 데이터 전송에 있어서, 사용자간 파일 전송의 기준으로 사용되는 메타 데이터 파일(meta data file) 생성 시 메타 데이터 파일의 무결성을 검증할 수 있도록 동일한 해쉬(hash)값을 가지는 메타 데이터 검증 파일을 추가로 생성하여 배포하고, 클라이언트(client)에서는 메타 데이터 파일과 함께 다운로드 받은 메타 데이터 검증 파일을 이용하여 메타 데이터 파일의 무결성을 검증함으로써 메타 데이터 파일의 변조 여부를 사전에 검출할 수 있도록 하여 P2P 방식의 파일 전송 프로토콜의 보안성을 크게 향상시키는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버, 클라이언트 및 방법에 관한 것이다.
The present invention relates to a peer-to-peer (P2P) based file transfer method, and in particular, in a P2P-based file update or data transfer using a P2P communication protocol, file transfer between users Create and distribute additional metadata verification files with the same hash value to verify the integrity of the metadata file when creating the metadata file used as the standard of the client. P2P greatly improves the security of the P2P file transfer protocol by verifying the integrity of the metadata file by using the metadata verification file downloaded along with the metadata file to detect whether the metadata file has been tampered with. A server, client, and method for verifying the integrity of data in an underlying network.
일반적으로, P2P 기술은 다수의 사용자를 네트워크로 모아서 그 네트워크 내에서 대역폭을 공유하고 정보를 함께 처리하는 개념으로, 일반적인 클라이언트-서버 모드와 다르게 각 클라이언트 단말기가 클라이언트 및 서버 양측으로서 기능하며, 분산되어 있는 협업하는 환경에서 효율적으로 그리고 신뢰성 있게 사용자가 콘텐츠를 획득하게 할 수 있는 효율적인 데이터 송신 접근 방식이다.In general, P2P technology is a concept of collecting a large number of users into a network, sharing bandwidth and processing information together in the network. Unlike general client-server mode, each client terminal functions as both a client and a server, Is an efficient data transmission approach that enables users to acquire content efficiently and reliably in a collaborative environment.
즉, P2P란, 클라이언트-서버 모델과 달리 동등한 계층의 피어 노드(peer node)들이 서로 클라이언트와 서버 역할을 동시에 하면서 파일을 송수신하는 네트워크 통신 모델을 말한다.In other words, P2P refers to a network communication model in which peer nodes of the same layer send and receive files while simultaneously acting as clients and servers, unlike the client-server model.
위와 P2P 기술 중 최근 들어 많이 사용되는 P2P 기술로 토렌트(torrent)가 있다. 토렌트는 그리드 스토리지(grid storage)의 개념을 P2P 네트워크와 같은 오픈(open)환경에 응용한 것으로, 종래 P2P 네트워크에서 파일 단위로 데이터 교환이 행하여지는 것에 반해, 토렌트에서는 파일을 일정 사이즈의 블록(block)으로 분할하고, 분할된 블록 단위로 데이터 교환이 행하여져, 복수의 블록으로 파일이 재구성된다.There is a torrent as a P2P technology which is widely used in the above and P2P technology. Torrent is the application of the concept of grid storage to an open environment such as a P2P network. In the conventional P2P network, data exchange is performed on a per file basis. In the torrent, a file is divided into blocks of a predetermined size ), Data exchange is performed on a divided block basis, and a file is reconstructed into a plurality of blocks.
이와 같은 토렌트에서는 원하는 파일을 보유하는 복수의 호스트 컴퓨터를 인터넷으로 검색하고, 검색된 복수의 호스트 컴퓨터가 각각 상이한 블록을 동시에 요구함으로써 P2P 네트워크 환경에서의 파일 전송의 고속화를 도모하고 있다.In such a torrent, a plurality of host computers holding desired files are searched on the Internet, and a plurality of searched host computers simultaneously request different blocks, thereby speeding up the file transfer in the P2P network environment.
한편, 위와 같은 토렌트는 인터넷을 이용한 데이터 전송 및 다운로드 기술로 안티 바이러스 프로그램(Anti virus program)을 포함하는 다양한 프로그램의 업데이트 기술로 사용될 수 있다.Meanwhile, the torrent as described above may be used as an update technology of various programs including an anti virus program as a data transmission and download technology using the Internet.
이때, 토렌트 프로토콜(torrent protocol) 기반의 분산파일 업데이트는 업데이트 대상파일에 대한 정보를 갖고 있는 시드 파일(seed file)이라고 하는 메타 데이터 파일이 필수적으로 존재한다. At this time, in the torrent protocol-based distributed file update, a meta data file called a seed file having information on an update target file is essentially present.
이러한 시드 파일은 토렌트 프로토콜에서 사용자간 파일 전송의 기준으로 사용되고 있는 중요한 파일로서 서버의 시드 파일과 클라이언트에게 전달된 시드 파일이 동일하다는 것을 보장하는 것이 필요하다.
This seed file is an important file that is used as a standard for file transfer between users in the torrent protocol. It is necessary to ensure that the seed file of the server and the seed file delivered to the client are identical.
(특허문헌)(Patent Literature)
한국공개특허번호 제2009-0115225호(공개일 2009년 11월 04일)
Korean Patent Publication No. 2009-0115225 (published November 04, 2009)
그러나, 종래 토렌트 프로토콜에서는 시드 파일에 대해 무결성을 검증하는 방법이나 장치가 아직 구현되어 있지 않아 공격자에 의해 악의적인 시드 파일의 배포되는 경우 이를 검출할 수 없어 악의적인 공격에 대처할 수 없는 문제점이 있었다.However, in the conventional torrent protocol, a method or device for verifying the integrity of the seed file has not been implemented yet, so when a malicious seed file is distributed by an attacker, there is a problem in that it cannot detect a malicious attack.
따라서, 본 발명은 P2P통신 프로토콜을 이용한 P2P기반 파일 업데이트(file update) 또는 데이터 전송에 있어서, 사용자간 파일 전송의 기준으로 사용되는 메타 데이터 파일(meta data file) 생성 시 메타 데이터 파일의 무결성을 검증할 수 있도록 동일한 해쉬(hash)값을 가지는 메타 데이터 검증 파일을 추가로 생성하여 배포하고, 클라이언트(client)에서는 메타 데이터 파일과 함께 다운로드 받은 메타 데이터 검증 파일을 이용하여 메타 데이터 파일의 무결성을 검증함으로써 메타 데이터 파일의 변조 여부를 사전에 검출할 수 있도록 하여 P2P 방식의 파일 전송 프로토콜의 보안성을 크게 향상시키는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버, 클라이언트 및 방법을 제공하고자 한다.
Accordingly, the present invention verifies the integrity of the metadata file when generating a metadata file used as a criterion for file transfer between users in P2P-based file update or data transmission using the P2P communication protocol. By additionally generating and distributing the metadata verification file having the same hash value, the client verifies the integrity of the metadata file using the metadata verification file downloaded together with the metadata file. The present invention provides a server, a client, and a method for verifying data integrity in a P2P based network that can detect whether a meta data file has been tampered with, thereby greatly improving the security of a P2P based file transfer protocol.
상술한 본 발명은 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버 장치로서, 메타 데이터 파일을 생성하는 메타 데이터 파일 생성부와, 상기 메타 데이터 파일의 무결성 검증을 위한 메타 데이터 검증 파일을 생성하는 메타 데이터 검증 파일 생성부와, 상기 메타 데이터 검증 파일에 디지털 서명을 수행하는 전자서명부와, 상기 디지털 서명된 메타 데이터 검증 파일에 대한 무결성을 검사하는 메타 데이터 검증 파일 무결성 검사부와, 상기 메타 데이터 파일의 무결성 검증을 위한 메타 데이터 검증 파일을 생성하며, P2P(Peer to Peer) 기반 프로토콜을 이용하여 상기 메타 데이터 파일과 상기 메타 데이터 검증 파일을 전송하는 제어부를 포함한다.The present invention described above is a server device for verifying data integrity in a P2P based network, comprising: a metadata file generator for generating a metadata file; and metadata for generating a metadata verification file for verifying the integrity of the metadata file. A verification file generation unit, an electronic signature unit for digitally signing the metadata verification file, a metadata verification file integrity checking unit for checking the integrity of the digitally signed metadata verification file, and an integrity verification of the metadata file And a control unit for generating a metadata verification file for transmitting the metadata file and the metadata verification file using a peer to peer (P2P) based protocol.
또한, 상기 메타 데이터 검증 파일 생성부는, 상기 메타 데이터 검증 파일에 기록되는 해쉬값을 상기 메타 데이터 파일에 기록되는 해쉬값과 동일한 값으로 설정하는 것을 특징으로 한다.The metadata verification file generation unit may set a hash value recorded in the metadata verification file to the same value as a hash value recorded in the metadata file.
또한, 상기 메타 데이터 검증 파일 무결성 검사부는, 상기 메타 데이터 검증 파일의 상기 디지털 서명의 유효성과 상기 디지털 서명의 인증서 발급자가 정당한지 여부를 검사함으로서 상기 메타 데이터 검증 파일의 무결성을 검증하는 것을 특징으로 한다.The metadata verification file integrity checker may verify the integrity of the metadata verification file by checking the validity of the digital signature of the metadata verification file and whether the issuer of the digital signature is valid. .
또한, 상기 메타 데이터 검증 파일 무결성 검사부는, 상기 디지털 서명의 유효성이 인정되고 상기 인증서 발급자가 정당하다고 검사되며, 상기 메타 데이터 검증 파일의 해쉬값과 상기 메타 데이터 파일의 해쉬값이 동일한 경우, 상기 메타 데이터 검증 파일의 무결성을 검증하는 것을 특징으로 한다.In addition, the metadata verification file integrity checker, if the validity of the digital signature is recognized and the certificate issuer is valid, and if the hash value of the metadata verification file and the hash value of the metadata file are the same, the metadata And verifying the integrity of the data verification file.
또한, 상기 P2P 기반 프로토콜은, 토렌트 프로토콜인 것을 특징으로 한다.In addition, the P2P-based protocol is a torrent protocol.
또한, 상기 메타 데이터 파일은, 업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 한다.The meta data file is a seed file having information on a file to be updated.
또한, 본 발명은 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 클라이언트 장치로서, P2P 기반 프로토콜을 이용하여 메타 데이터 파일과 메타 데이터 검증 파일의 다운로드 시 상기 메타 데이터 파일의 해쉬값과 상기 메타 데이터 검증 파일의 해쉬값이 동일한지 여부를 검사하는 메타 데이터 검증 파일 무결성 검사부와, 상기 메타 데이터 검증 파일에 전자서명된 디지털 서명의 유효성과 상기 디지털 서명의 인증서 발급자가 정당한지 여부를 검사하는 전자서명 검사부와, 무결성이 검증된 메타 데이터 검증 파일을 이용하여 상기 메타 데이터 파일의 무결성을 검증하고, 상기 메타 데이터 파일의 무결성이 검증된 경우 그 메타 데이터 파일을 이용하여 P2P 기반 데이터 전송을 수행하는 제어부를 포함한다.The present invention also provides a client device for verifying data integrity in a P2P-based network. A metadata verification file integrity checker that checks whether the hash values are the same, an electronic signature checker that checks the validity of the digital signature digitally signed in the metadata verification file and whether the issuer of the digital signature is valid; And a controller that verifies the integrity of the metadata file using the verified metadata verification file, and performs P2P based data transmission using the metadata file when the integrity of the metadata file is verified.
또한, 상기 P2P 기반 프로토콜은, 토렌트 프로토콜인 것을 특징으로 한다.In addition, the P2P-based protocol is a torrent protocol.
또한, 상기 메타 데이터 파일은, 업데이트 대상 파일에 대한 정보를 가지고 있는 시드파일인 것을 특징으로 한다.The meta data file may be a seed file having information on an update target file.
또한, 본 발명은 P2P 기반 네트워크에서 데이터의 무결성 검증 방법으로서,메타 데이터 파일을 생성하는 단계와, 상기 메타 데이터 파일의 무결성 검증을 위한 메타 데이터 검증 파일을 생성하는 단계와, 상기 메타 데이터 검증 파일에 디지털 서명을 수행하는 단계와, 상기 디지털 서명된 메타 데이터 검증 파일에 대한 무결성을 검사하는 단계와, 상기 메타 데이터 검증 파일의 무결성이 검증되는 경우, P2P 기반 프로토콜을 이용하여 상기 메타 데이터 파일과 상기 메타 데이터 검증 파일을 전송하는 단계를 포함한다.The present invention also provides a method for verifying data integrity in a P2P based network, the method comprising: generating a metadata file, generating a metadata verification file for verifying the integrity of the metadata file, and verifying the metadata verification file; Performing a digital signature, checking the integrity of the digitally signed metadata verification file, and if the integrity of the metadata verification file is verified, the metadata file and the meta using a P2P based protocol. Transmitting the data verification file.
또한, 상기 메타 데이터 검증 파일을 생성하는 단계는, 상기 메타 데이터 검증 파일에 기록되는 해쉬값을 상기 메타 데이터 파일에 기록되는 해쉬값과 동일한 값으로 설정하는 단계를 포함하는 것을 특징으로 한다.The generating of the metadata verification file may include setting a hash value recorded in the metadata verification file to the same value as a hash value recorded in the metadata file.
또한, 상기 메타 데이터 검증 파일에 대한 무결성을 검사하는 단계는, 상기 메타 데이터 검증 파일에 전자서명된 디지털 서명의 유효성을 검사하는 단계와, 상기 디지털 서명이 유효한 경우, 상기 디지털 서명을 발급한 인증서 발급자가 정당한지 여부를 검사하는 단계를 포함하는 것을 특징으로 한다.The checking of the integrity of the metadata verification file may include: validating a digital signature digitally signed in the metadata verification file; and if the digital signature is valid, a certificate issuer who issues the digital signature. Characterized in that it comprises the step of checking whether it is legitimate.
또한, 상기 메타 데이터 검증 파일에 대한 무결성을 검사하는 단계는, 상기 디지털 서명이 유효성이 인정되고 상기 인증서 발급자가 정당하다고 검사되는 경우, 상기 메타 데이터 검증 파일의 해쉬값과 상기 메타 데이터 파일의 해쉬값이 동일한지 여부를 검사하는 단계와, 상기 메타 데이터 검증 파일의 해쉬값과 상기 메타 데이터 파일의 해쉬값이 동일한 경우 상기 메타 데이터 검증 파일의 무결성을 검증하는 단계를 더 포함하는 것을 특징으로 한다.The checking of the integrity of the metadata verification file may include: a hash value of the metadata verification file and a hash value of the metadata file when the digital signature is recognized as valid and the certificate issuer is verified as being valid. And checking whether the same is the same, and verifying the integrity of the metadata verification file when the hash value of the metadata verification file and the hash value of the metadata file are the same.
또한, 상기 P2P 기반 프로토콜은, 토렌트 프로토콜인 것을 특징으로 한다.In addition, the P2P-based protocol is a torrent protocol.
또한, 상기 메타 데이터 파일은, 업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 한다.The meta data file is a seed file having information on a file to be updated.
또한, 본 발명은 P2P 기반 네트워크에서 데이터의 무결성 검증 방법으로서, P2P 기반 프로토콜을 이용하여 메타 데이터 파일과 메타 데이터 검증 파일을 다운로드하는 단계와, 상기 메타 데이터 검증 파일의 무결성을 검사하는 단계와, 상기 메타 데이터 검증 파일의 무결성이 검증되는 경우, 상기 무결성이 검증된 상기 메타 데이터 검증 파일의 해쉬값과 상기 메타 데이터 파일의 해쉬값이 동일한지를 검사하는 단계와, 상기 메타 데이터 검증 파일의 해쉬값과 상기 메타 데이터 파일의 해쉬값이 동일한 경우 상기 메타 데이터 파일을 이용하여 P2P 기반 데이터 전송을 수행하는 단계를 포함한다.The present invention also provides a method for verifying data integrity in a P2P based network, the method comprising: downloading a metadata file and a metadata verification file using a P2P based protocol, checking the integrity of the metadata verification file; If the integrity of the metadata verification file is verified, checking whether a hash value of the metadata verification file whose integrity is verified and a hash value of the metadata file are the same; If the hash values of the metadata file are the same, performing P2P based data transmission using the metadata file.
또한, 상기 메타 데이터 검증 파일의 무결성을 검사하는 단계는, 상기 메타 데이터 검증 파일에 전자서명된 디지털 서명의 유효성을 검사하는 단계와, 상기 디지털 서명이 유효한 경우, 상기 디지털 서명을 발급한 인증서 발급자가 정당한지를 검사하는 단계와, 상기 인증서 발급자가 정당한 경우 상기 메타 데이터 검증 파일의 무결성을 검증하는 단계를 포함하는 것을 특징으로 한다.The checking of the integrity of the metadata verification file may include validating a digital signature digitally signed in the metadata verification file, and if the digital signature is valid, the certificate issuer who issued the digital signature is issued. And checking the legitimacy, and verifying the integrity of the metadata verification file if the certificate issuer is legitimate.
또한, 상기 P2P 기반 프로토콜은, 토렌트 프로토콜인 것을 특징으로 한다.In addition, the P2P-based protocol is a torrent protocol.
또한, 상기 메타 데이터 파일은, 업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 한다.
The meta data file may be a seed file having information on an update target file.
본 발명은 P2P통신 프로토콜을 이용한 P2P기반 파일 업데이트(file update)또는 데이터 전송에 있어서, 사용자간 파일 전송의 기준으로 사용되는 메타 데이터 파일(meta data file) 생성 시 메타 데이터 파일의 무결성을 검증할 수 있도록 동일한 해쉬(hash)값을 가지는 메타 데이터 검증 파일을 추가로 생성하여 배포하고, 클라이언트(client)에서는 메타 데이터 파일과 함께 다운로드 받은 메타 데이터 검증 파일을 이용하여 메타 데이터 파일의 무결성을 검증함으로써 메타 데이터 파일의 변조 여부를 사전에 검출할 수 있도록 하여 P2P 방식의 파일 전송 프로토콜의 보안성을 크게 향상시키는 이점이 있다. 또한, 보안성 향상으로 인하여 비즈니스 환경의 신뢰된 데이터 전송에 P2P통신 프로토콜을 보다 쉽게 적용할 수 있는 이점이 있다.
According to the present invention, in the P2P-based file update or data transmission using the P2P communication protocol, the integrity of the metadata file can be verified when generating a metadata file used as a standard for file transfer between users. In order to generate and distribute additional metadata verification files with the same hash value, the client verifies the integrity of the metadata file using the metadata verification file downloaded along with the metadata file. It is possible to detect whether a file has been tampered with in advance, thereby greatly improving the security of the P2P type file transfer protocol. In addition, due to the improved security, there is an advantage that the P2P communication protocol can be more easily applied to the reliable data transmission in the business environment.
도 1은 본 발명의 실시예에 따른 P2P 기반 업데이트 환경의 무결성 검증을 위한 시스템의 네트워크 구성도,
도 2는 본 발명의 실시예에 따른 시드파일 생성서버의 상세 블록 구성도,
도 3은 본 발명의 실시예에 따른 클라이언트의 상세 블록 구성도,
도 4는 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 시드파일 생성서버에서 무결성을 보장하는 시드파일을 생성하는 동작 제어 흐름도,
도 5는 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 클라이언트에서 시드파일의 무결성을 검증하는 동작 제어 흐름도.1 is a network configuration diagram of a system for verifying integrity of a P2P based update environment according to an embodiment of the present invention;
2 is a detailed block diagram of a seed file generation server according to an embodiment of the present invention;
3 is a detailed block diagram of a client according to an embodiment of the present invention;
4 is an operation control flowchart of generating a seed file to guarantee integrity in a seed file generation server of a P2P based update system according to an embodiment of the present invention;
5 is an operation control flowchart for verifying the integrity of a seed file in a client of a P2P based update system according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the present invention. In the following description of the present invention, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.
도 1은 본 발명의 실시 예에 따른 P2P 기반 업데이트 환경의 무결성 검증을 위한 시스템의 네트워크 구성을 도시한 것이다. 이하의 설명에서는 P2P 기반 프로토콜 중 하나인 토렌트 프로토콜에서의 P2P 기반 업데이트를 위한 메타 데이터 파일의 무결성 검증에 관한 동작을 예를 들어 설명하나, 다른 P2P 기반 프로토콜에서도 동일하게 적용 가능하다.1 illustrates a network configuration of a system for verifying integrity of a P2P based update environment according to an embodiment of the present invention. In the following description, an operation of verifying the integrity of the metadata file for P2P-based update in the torrent protocol, which is one of the P2P-based protocols, will be described as an example.
시드파일 생성서버(100)는 토렌트 프로토콜(torrent protocol) 등의 P2P기반 프로토콜을 이용하여 배포되는 프로그램의 다운로드(download)와 업데이트(update)를 위한 메타 데이터 파일 즉, 시드파일(seed file)을 생성한다. 이와 같은 시드파일 생성서버(100)는 상업적 목적을 가진 특정 프로그램을 개발하고 배포하는 회사의 서버가 될 수 있으며, 예를 들어 특정 프로그램이 안티 바이러스(anti virus) 프로그램인 경우 해당 프로그램을 개발한 회사의 서버가 될 수 있다.The seed
또한, 시드파일 생성서버(100)는 시드파일을 생성함에 있어서, 시드파일의 무결성 검증을 위해 시드파일을 검증할 수 있는 메타 데이터 검증 파일 즉, 시드 검증파일을 추가로 생성하여 파일 업데이트(file update)시 시드 검증 파일을 통해 시드파일을 검증할 수 있도록 함으로써, 클라이언트(300)가 시드파일에 대한 무결성을 검증할 수 있도록 한다. 즉, 시드파일 생성서버(100)는 시드파일의 생성시점에 시드파일과 짝을 이루는 시드 검증 파일을 생성하여 함께 배포한다. 이때 시드 검증 파일에는 시드파일에 대한 해쉬(hash)값이 기록되며, 시드파일 생성서버(100)는 시드 검증 파일 자체에 대한 무결성 검사를 위해 전자서명서버로부터 디지털 서명을 수행하여 배포하게 된다.In addition, in generating the seed file, the seed
파일 서버(200)는 시드파일 생성서버(100)에서 제공하는 프로그램의 파일을 저장하여 시드파일을 이용해 특정 프로그램의 파일에 대한 다운로드나 업데이트를 요청하는 클라이언트(client)(300)에게 실제 프로그램의 파일이나 업데이트 파일을 제공하는 서버를 말한다. 예를 들어 시드파일 생성서버(100)가 안티 바이러스 프로그램을 제공하는 회사의 서버인 경우 시드파일 생성서버(100)는 파일서버(200)에 클라이언트(300)에게 제공할 안티 바이러스 엔진 프로그램과 해당 프로그램의 업데이트 파일 등을 파일서버(200)에 저장할 수 있으며, 파일서버(200)는 이와 같이 저장된 프로그램 파일과 업데이트 파일을 각 클라이언트(300)에게 제공한다.The
클라이언트(300)는 토렌트(torrent) 클라이언트 프로그램이 탑재되어 토렌트 기반의 분산파일 업데이트가 가능하게 되는 각 사용자의 PC 등의 단말장치가 될 수 있다. 이와 같은 클라이언트(100)는 토렌트 클라이언트 프로그램의 실행 시 파일서버(200)로부터 시드파일을 다운로드한 후, 시드파일을 이용하여 원하는 특정 프로그램을 다운로드 받게 된다.The
또한, 클라이언트(300)는 시드파일의 다운로드 시 시드 검증 파일을 함께 다운로드하여 시드 검증 파일의 무결성을 검사한 후, 다시 시드 검증 파일을 이용하여 시드파일의 무결성을 검사하고, 시드파일의 무결성이 검증된 경우에만 시드파일을 이용하여 원하는 프로그램을 다운로드하거나 업데이트를 수행함으로써, 시드파일을 조작하는 악의적인 외부의 공격에 대응할 수 있도록 한다.In addition, the
도 2는 본 발명의 실시예에 따른 시드파일 생성서버(100)의 상세 블록 구성을 도시한 것이다.2 illustrates a detailed block configuration of the seed
시드파일 생성부(102)는 토렌트 프로토콜 등과 같은 P2P 기반 프로토콜을 이용하여 특정 프로그램의 다운로드 또는 업데이트가 가능하도록 하는 시드파일을 생성한다. 이와 같은 시드파일은 토렌트 기반의 분산파일 업데이트에서 업데이트 대상파일에 대한 정보를 갖고 있는 메타데이터(metadata) 파일을 의미하는 것으로, 시드 파일에는 업데이트 대상 파일들을 하나의 대용량 파일로 보고 정해진 크기로 나눈 각 블록에 대한 해쉬(hash) 값 정보 등이 포함된다.The
시드 검증 파일 생성부(104)는 시드파일의 무결성 검증을 위해 시드파일을 검증할 수 있는 검증파일을 생성한다. 즉, 시드 검증 파일 생성부(104)는 시드파일의 생성시점에 시드파일과 짝을 이루는 시드 검증 파일을 생성하며, 시드 검증 파일에는 시드파일에 대한 해쉬(hash)값을 기록하게 되며, 이때 이와 같은 해쉬값은 시드파일에 기록되는 해쉬값과 동일하도록 하여 해쉬값의 비교를 통한 시드파일의 검증이 가능하도록 한다.The seed verification
전자서명부(110)는 시드 검증 파일 자체에 대한 무결성 검사를 위해 전자서명서버(150)로부터 전자서명키를 이용하여 시드 검증 파일에 디지털 서명을 수행한다.The
시드 검증 파일 무결성 검사부(112)는 시드 검증 파일에 서명된 디지털 서명이 유효한 것인지 즉, 정당한 인증서 발급자에 의해 발급된 것인지와 디지털 서명의 사용기한이 유효한지 여부 등을 검사하여 시드 검증 파일의 무결성을 검사한다. 또한, 시드 검증 파일에 기록된 해쉬값과 시드파일에 기록된 해쉬값이 일치하는지를 검사하여 시드 검증 파일의 무결성을 검사한다.The seed verification
통신부(106)는 인터넷 등의 네트워크를 통해 파일 서버(200)와 특정 프로그램의 데이터 파일 또는 업데이트 파일의 전송을 위한 데이터 송수신을 수행한다. 이와 같은 통신부(106)는 예를 들어 토렌트 프로토콜을 포함하는 P2P 통신 프로토콜을 지원할 수 있다.The
제어부(108)는 시드파일 생성서버(100)의 전반적인 동작을 제어한다. 즉, 제어부(108)는 시드파일 생성부(102)와, 시드 검증 파일 생성부(104)를 통해 시드파일과 시드파일을 검증하기 위한 시드 검증 파일을 생성하며, 전자서명부(110)와 시드 검증 파일 무결성 검사부(112)를 제어하여 시드 검증 파일에 대한 무결성이 검사되도록 제어한다. 또한, 제어부(108)는 이와 같이 무결성이 검증된 시드 검증 파일과 시드파일을 통신부(106)를 통해 파일서버(200)로 전송하여 각 클라이언트(300)가 다운로드받을 수 있도록 한다.The
도 3은 본 발명의 실시예에 따른 클라이언트(300)의 상세 블록 구성을 도시한 것이다. 3 shows a detailed block diagram of the
통신부(302)는 인터넷(internet) 등의 네트워크를 통해 파일 서버(200) 또는 다른 클라이언트와 토렌트 기반의 분산파일 업데이트를 위한 데이터를 송수신한다. 이와 같은 통신부(302)는 예를 들어 토렌트 프로토콜을 포함하는 P2P 통신 프로토콜을 지원할 수 있다.The
시드 검증 파일 무결성 검사부(308)는 시드파일 생성 서버(100)로부터 생성된 시드 검증 파일에 대해 시드 검증 파일에 기록된 해쉬값과 시드파일에 기록된 해쉬값이 일치하는지를 검사하여 시드 검증 파일의 무결성을 검사한다.The seed verification
전자서명 검사부(304)는 시드 검증 파일에 서명된 디지털 서명이 유효한 것인지 즉, 정상적인 인증서 발급자에 의해 발급된 것인지와 디지털 서명의 사용기한이 유효한지 여부 등을 검사하여 시드 검증 파일의 무결성을 검사한다. The
제어부(306)는 통신부(302)를 통해 파일 서버(200)로부터 시드파일 생성서버(100)에서 생성한 시드파일과 시드파일의 무결성 검증을 위한 시드 검증 파일을 다운로드받은 후, 전자서명 검사부(304)를 제어하여 시드 검증 파일에 대한 무결성을 검증한다. 또한, 시드 검증 파일 무결성 검사부(308)를 제어하여 시드 검증 파일에 기록된 해쉬값과 시드파일에 기록된 해쉬값이 일치하는지를 검사하여 시드 검증 파일의 무결성을 검증함으로써, 시드파일이 악성코드에 감염되지 않은 정상적인 파일인지를 검증한다. 이어, 제어부(306)는 시드파일의 무결성이 검증된 경우에만 시드파일을 이용하여 원하는 프로그램을 다운로드하거나 업데이트를 수행함으로써, 시드파일을 조작하는 악의적인 외부의 공격에 대응할 수 있도록 한다.The
도 4는 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 시드파일 생성서버(100)에서 무결성을 보장하는 시드파일을 생성하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1, 도 2 및 도 4를 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.4 illustrates an operation control flow for generating a seed file for ensuring integrity in the seed
먼저, 시드파일 생성서버(100)의 제어부(108)는 시드파일 생성부(102)를 제어하여 파일 전송을 위한 시드파일을 생성한다(S400). 이와 같은 시드파일은 토렌트 기반의 분산파일 업데이트에서 업데이트 대상파일에 대한 정보를 갖고 있는 메타데이터(metadata) 파일을 의미하는 것으로, 시드 파일에는 업데이트 대상 파일들을 하나의 대용량 파일로 보고 정해진 크기로 나눈 각 블록에 대한 해쉬(hash) 값 정보 등이 포함된다.First, the
위와 같이, 시드파일이 생성되는 경우, 제어부(108)는 시드 검증 파일 생성부(104)를 제어하여 시드파일의 무결성 검증을 위한 시드 검증 파일을 생성한다(S402). 이때 시드 검증 파일에는 시드파일에 기록된 해쉬값과 동일한 해쉬값이 기록되며, 이와 같은 해쉬값은 클라이언트(300)에서 시드 검증 파일을 이용한 시드파일의 무결성 검사 시 해쉬값이 동일한지 여부를 검사하는 것에 의해 무결성을 검증하는데 사용된다.As described above, when the seed file is generated, the
위와 같이, 동일한 해쉬값이 기록되는 시드 검증 파일이 생성되는 경우 제어부(108)는 전자서명부(110)를 제어하여 전자서명서버(150)로부터 수신된 전자서명키로 시드 검증 파일에 디지털 서명을 수행한다(S404). 이와 같은 디지털 서명은 시드 검증 파일 자체의 무결성을 보장하기 위한 것으로, 클라이언트(300)에서 디지털 서명의 유효성 검사를 통해 시드 검증 파일 자체의 무결성을 검증하는데 사용된다.As described above, when the seed verification file in which the same hash value is recorded is generated, the
이어, 제어부(108)는 전자서명부(110)를 통한 시드 검증 파일에 대한 디지털 서명까지 완료한 경우 이와 같이 생성된 시드파일과 시드 검증 파일을 파일 서버(200)로 전송하기 전에 자체적으로 먼저 시드 검증 파일이 제대로 생성되었는지 검사를 수행하게 된다.Subsequently, when the digital signature for the seed verification file through the
즉, 제어부(108)는 시드 검증 파일 무결성 검사부(112)를 제어하여 디지털 서명까지 완료된 시드 검증 파일에 대해 디지털 서명이 유효한지 즉, 디지털 서명의 사용기한이 유효한 서명인지 여부를 검사한다(S406). That is, the
이때 만일, 디지털 서명의 유효 기간이 경과되어 디지털 서명의 사용기한이 유효하지 않은 것으로 검사되는 경우(S408), 제어부(108)는 시드파일의 생성이 실패된 것으로 판단하고(S410), 다시 처음부터 시드파일을 생성하게 된다.At this time, if the validity period of the digital signature has elapsed and it is checked that the expiration date of the digital signature is invalid (S408), the
그러나, 이와 달리, 디지털 서명의 유효 기간이 경과되지 않아 디지털 서명의 사용기한이 유효한 것으로 검사되는 경우(S408), 제어부(108)는 다시 디지털 서명을 발급한 인증서 발급자를 검사하여 정당한 인증서 발급자에 의해 발급된 디지털 서명인지 여부를 검사한다(S412). 예를 들어, 안티 바이러스 엔진인 V3 프로그램의 배포를 위한 시드파일 생성 과정이라면, 정당한 인증서 발급자는 "안철수 연구소"가 될 수 있으며, 이와 같은 경우 디지털 서명의 인증서 발급자가 "안철수 연구소"가 아닌 다른 주체인 경우 정당한 인증서 발급자가 아닌 것으로 판단될 수 있는 것이다.On the contrary, if the validity period of the digital signature has not elapsed and the expiration date of the digital signature is checked as valid (S408), the
이때 만일, 디지털 서명의 인증서 발급자가 정당한 발급자가 아닌 경우(S414), 제어부(108)는 시드파일의 생성이 실패된 것으로 판단하고(S410), 다시 처음부터 시드파일을 생성하게 된다.At this time, if the certificate issuer of the digital signature is not a valid issuer (S414), the
그러나, 이와 달리, 디지털 서명의 인증서 발급자가 정당한 발급자인 경우(S414), 제어부(108)는 디지털 설명이 정당한 인증서 발급자가 발행한 것으로 검증한다.However, in contrast, if the certificate issuer of the digital signature is a legitimate issuer (S414), the
이어, 제어부(108)는 디지털 서명의 발급자까지 검증이 수행된 경우, 시드 검증 파일의 해쉬값을 검사하여 시드파일의 해쉬값과 일치하는지 여부를 검사한다(S416). 이와 같은 시드 검증 파일의 해쉬값 검사는 시드 검증 파일의 자체 무결성을 위한 디지털 서명 등의 과정에서 시드 검증 파일내 해쉬값이 혹시라도 변경되는 경우를 대비하여 미리 검사하기 위해 수행된다.Subsequently, when verification is performed up to the issuer of the digital signature, the
이때 만일, 시드 검증 파일내 기록된 해쉬값이 시드파일에 기록된 해쉬값과 일치하지 않는 경우(S418), 제어부(108)는 시드파일의 생성이 실패된 것으로 판단하고(S410), 다시 처음부터 시드파일을 생성하게 된다.At this time, if the hash value recorded in the seed verification file does not match the hash value recorded in the seed file (S418), the
그러나, 이와 달리, 시드 검증 파일내 기록된 해쉬값이 시드파일에 기록된 해쉬값과 일치하는 경우(S418), 제어부(108)는 시드파일의 생성이 성공한 것으로 판단하고(S420), 시드파일과 시드 검증 파일을 파일 서버(200)로 업로드하여 클라이언트(300)에게 배포될 수 있도록 한다(S422).On the contrary, when the hash value recorded in the seed verification file matches the hash value recorded in the seed file (S418), the
도 5는 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 클라이언트(300)에서 시드파일의 무결성을 검증하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1, 도 3 및 도 5를 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.5 illustrates an operation control flow for verifying the integrity of the seed file in the
먼저, 토렌트 기반의 분산파일 업데이트를 통해 특정 프로그램에 대한 설치나 업데이트를 수행하고자 토렌트 클라이언트 프로그램이 시작되는 경우 클라이언트(300)의 제어부(306)는 통신부(302)를 통해 인터넷 등의 네트워크상 파일 서버(200)에 접속하여 시드파일 생성서버(100)에서 업로드한 시드파일과 시드 검증 파일을 다운로드받는다(S500, S502).First, when a torrent client program is started to install or update a specific program through torrent-based distributed file update, the
위와 같이, 시드파일과 시드 검증 파일을 다운로드받은 경우 제어부(306)는 시드파일을 이용하여 특정 프로그램의 다운로드 설치 또는 업데이트를 수행하기 전에 먼저 시드파일이 악성코드에 의해 감염되었는지 여부에 대한 무결성을 검증한다.As described above, when the seed file and the seed verification file are downloaded, the
즉, 제어부(306)는 먼저 전자서명 검사부(304)를 제어하여 시드 검증 파일에 대한 디지털 서명이 유효한지 즉, 디지털 서명의 사용기한이 유효한 서명인지 여부를 검사한다(S504). That is, the
이때 만일, 디지털 서명의 유효 기간이 경과되어 디지털 서명의 사용기한이 유효하지 않은 것으로 검사되는 경우(S506), 제어부(306)는 시드파일의 다운로드가 실패된 것으로 판단하고(S508), 시드파일을 이용한 특정 프로그램의 다운로드 설치 또는 업데이트 등을 수행하지 않는다.At this time, if the validity period of the digital signature has elapsed and it is checked that the expiration date of the digital signature is invalid (S506), the
그러나, 이와 달리, 디지털 서명의 유효 기간이 경과되지 않아 디지털 서명의 사용기한이 유효한 것으로 검사되는 경우(S506), 제어부(306)는 다시 디지털 서명을 발급한 인증서 발급자를 검사하여 정당한 인증서 발급자에 의해 발급된 디지털 서명인지 여부를 검사한다(S510). 예를 들어, 시드파일이 안티 바이러스 엔진인 V3 프로그램의 배포 또는 업데이트를 위한 시드파일이고, 이와 같은 V3 프로그램을 개발하여 배포하는 회사가 "안철수 연구소"라고 하면, 정당한 인증서 발급자는 "안철수 연구소"가 될 수 있으며, 이와 같은 경우 디지털 서명의 인증서 발급자가 "안철수 연구소"가 아닌 다른 주체인 경우 정당한 인증서 발급자가 아닌 것으로 판단될 수 있는 것이다.On the other hand, if the validity period of the digital signature has not elapsed, and the expiration date of the digital signature is checked as valid (S506), the
이때 만일, 디지털 서명의 인증서 발급자가 정당한 발급자가 아닌 경우(S512), 제어부(306)는 시드파일의 다운로드가 실패된 것으로 판단하고(S508), 시드파일을 이용한 특정 프로그램의 다운로드 설치 또는 업데이트 등을 수행하지 않는다.At this time, if the certificate issuer of the digital signature is not a valid issuer (S512), the
그러나, 이와 달리, 디지털 서명의 인증서 발급자가 정당한 발급자인 경우(S512), 제어부(306)는 디지털 설명이 정당한 인증서 발급자가 발행한 것으로 검증한다.However, in contrast, if the certificate issuer of the digital signature is a legitimate issuer (S512), the
이어, 제어부(306)는 디지털 서명의 발급자까지 검증이 수행된 경우, 시드 검증 파일의 해쉬값을 검사하여 시드파일의 해쉬값과 일치하는지 여부를 검사한다(S514). 이와 같은 시드 검증 파일의 해쉬값 검사는 시드파일이 정당한 서버로부터 배포된 시드파일인지를 검증하기 위한 것으로 시드파일 생성 시 시드파일과 시드 검증 파일에는 동일한 해쉬값이 기록되게 되므로, 해쉬값의 일치 여부를 검사하여 시드파일의 무결성을 검증하기 위한 것이다.Subsequently, when verification is performed up to the issuer of the digital signature, the
이때 만일, 시드 검증 파일내 기록된 해쉬값이 시드파일에 기록된 해쉬값과 일치하지 않는 경우(S516), 제어부(306)는 시드파일의 다운로드가 실패된 것으로 판단하고(S508), 시드파일을 이용한 특정 프로그램의 다운로드 설치 또는 업데이트 등을 수행하지 않는다.At this time, if the hash value recorded in the seed verification file does not match the hash value recorded in the seed file (S516), the
그러나, 이와 달리 시드 검증 파일내 기록된 해쉬값이 시드파일에 기록된 해쉬값과 일치하는 경우(S516), 제어부(306)는 시드파일의 다운로드가 성공한 것으로 판단하고, 시드파일을 이용한 파일 다운로드를 수행하여 특정 프로그램의 다운로드 설치 또는 업데이트 등을 수행한다(S518).However, in contrast, when the hash value recorded in the seed verification file coincides with the hash value recorded in the seed file (S516), the
이어, 제어부(306)는 파일 다운로드가 완료되어 특정 프로그램의 다운로드 설치 또는 업데이트 등이 완료되는 경우(S520) 토렌트 클라이언트 프로그램을 종료한다.Subsequently, the
상기한 바와 같이, 본 발명은 P2P통신 프로토콜을 이용한 P2P기반 파일 업데이트(file update) 또는 데이터 전송에 있어서, 사용자간 파일 전송의 기준으로 사용되는 메타 데이터 파일(meta data file) 생성 시 메타 데이터 파일의 무결성을 검증할 수 있도록 동일한 해쉬(hash)값을 가지는 메타 데이터 검증 파일을 추가로 생성하여 배포하고, 클라이언트(client)에서는 메타 데이터 파일과 함께 다운로드 받은 메타 데이터 검증 파일을 이용하여 메타 데이터 파일의 무결성을 검증함으로써 메타 데이터 파일의 변조 여부를 사전에 검출할 수 있도록 하여 P2P 방식의 파일 전송 프로토콜의 보안성을 크게 향상시킬 수 있다. 또한, 보안성 향상으로 인하여 비즈니스 환경의 신뢰된 데이터 전송에 P2P통신 프로토콜을 보다 쉽게 적용할 수 있다.As described above, according to the present invention, in the P2P-based file update or data transmission using the P2P communication protocol, the metadata file is generated when a meta data file is used as a standard for file transfer between users. Create and distribute additional metadata verification files with the same hash value to verify the integrity.Clients use the metadata verification files downloaded along with the metadata files to ensure the integrity of the metadata files. By verifying, it is possible to detect whether the meta data file has been tampered with in advance, thereby greatly improving the security of the P2P type file transfer protocol. In addition, due to the improved security, P2P communication protocols can be more easily applied to reliable data transmission in business environments.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.
100 : 시드파일 생성서버 150 : 전자서명서버
200 : 파일서버 300 : 클라이언트
102 : 시드파일 생성부 104 : 시드 검증 파일 생성부
106 : 통신부 108 : 제어부
110 : 전자서명부 112 : 시드검증파일 무결성 검사부
302 : 통신부 304 : 전자서명 검사부
306 : 제어부 308 : 시드검증파일 무결성 검사부100: seed file generation server 150: digital signature server
200: file server 300: client
102: seed file generation unit 104: seed verification file generation unit
106: communication unit 108: control unit
110: digital signature 112: seed verification file integrity checker
302: communication unit 304: digital signature inspection unit
306: control unit 308: seed verification file integrity check unit
Claims (19)
상기 메타 데이터 파일의 무결성 검증을 위한 메타 데이터 검증 파일을 생성하는 메타 데이터 검증 파일 생성부와,
상기 메타 데이터 검증 파일에 디지털 서명을 수행하는 전자서명부와,
상기 디지털 서명된 메타 데이터 검증 파일에 대한 무결성을 검사하는 메타 데이터 검증 파일 무결성 검사부와,
상기 메타 데이터 검증 파일 생성부를 제어하여 상기 메타 데이터 파일의 무결성 검증을 위한 메타 데이터 검증 파일을 생성하며, P2P(Peer to Peer) 기반 프로토콜을 이용하여 상기 메타 데이터 파일과 상기 메타 데이터 검증 파일을 전송하는 제어부
를 포함하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버 장치.
A metadata file generator for generating a metadata file;
A metadata verification file generation unit generating a metadata verification file for verifying the integrity of the metadata file;
An electronic signature unit for digitally signing the metadata verification file;
A metadata verification file integrity checker for checking the integrity of the digitally signed metadata verification file;
Controls the metadata verification file generation unit to generate a metadata verification file for verifying the integrity of the metadata file, and transmits the metadata file and the metadata verification file using a peer-to-peer based protocol. Control
Server device for verifying the integrity of the data in a P2P-based network comprising a.
상기 메타 데이터 검증 파일 생성부는,
상기 메타 데이터 검증 파일에 기록되는 해쉬값을 상기 메타 데이터 파일에 기록되는 해쉬값과 동일한 값으로 설정하는 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버 장치.
The method of claim 1,
The metadata verification file generation unit,
And a hash value recorded in the metadata verification file to a same value as a hash value recorded in the metadata file.
상기 메타 데이터 검증 파일 무결성 검사부는,
상기 메타 데이터 검증 파일의 상기 디지털 서명의 유효성과 상기 디지털 서명의 인증서 발급자가 정당한지 여부를 검사함으로서 상기 메타 데이터 검증 파일의 무결성을 검증하는 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버 장치.
The method of claim 1,
The metadata verification file integrity check unit,
A server for verifying the integrity of data in a P2P based network by verifying the validity of the digital signature of the metadata verification file and whether the issuer of the digital signature is valid. Device.
상기 메타 데이터 검증 파일 무결성 검사부는,
상기 디지털 서명의 유효성이 인정되고 상기 인증서 발급자가 정당하다고 검사되며, 상기 메타 데이터 검증 파일에 기록된 해쉬값과 상기 메타 데이터 파일에 기록된 해쉬값이 동일한 경우, 상기 메타 데이터 검증 파일의 무결성이 검증된 것으로 판단하는 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버 장치.
The method of claim 3, wherein
The metadata verification file integrity check unit,
When the validity of the digital signature is recognized and the certificate issuer is verified as valid, and the hash value recorded in the metadata verification file and the hash value recorded in the metadata file are the same, the integrity of the metadata verification file is verified. The server device for verifying the integrity of the data in the P2P-based network, characterized in that it is determined that.
상기 P2P 기반 프로토콜은,
토렌트 프로토콜인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버 장치.
The method of claim 1,
The P2P-
Server device for verifying the integrity of data in a P2P-based network, characterized in that the torrent protocol.
상기 메타 데이터 파일은,
업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 서버 장치.
The method of claim 5, wherein
The metadata file includes:
Server device for verifying the integrity of data in a P2P-based network, characterized in that the seed file that has information about the file to be updated.
상기 메타 데이터 검증 파일에 전자서명된 디지털 서명의 유효성과 상기 디지털 서명의 인증서 발급자가 정당한지 여부를 검사하는 전자서명 검사부와,
무결성이 검증된 메타 데이터 검증 파일을 이용하여 상기 메타 데이터 파일의 무결성을 검증하고, 상기 메타 데이터 파일의 무결성이 검증된 경우 그 메타 데이터 파일을 이용하여 P2P 기반 데이터 전송을 수행하는 제어부
를 포함하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 클라이언트 장치.
Metadata verification file integrity checker that checks whether the hash value recorded in the metadata file and the hash value recorded in the metadata verification file are the same when downloading the metadata file and the metadata verification file using a P2P based protocol. Wow,
An electronic signature checker that checks the validity of the digital signature digitally signed in the metadata verification file and whether the issuer of the digital signature is valid;
A control unit that verifies the integrity of the metadata file using the metadata verification file whose integrity is verified, and performs P2P based data transmission using the metadata file when the integrity of the metadata file is verified.
Client device for verifying the integrity of the data in a P2P-based network comprising a.
상기 P2P 기반 프로토콜은,
토렌트 프로토콜인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 클라이언트 장치.
The method of claim 7, wherein
The P2P-
Client device for verifying the integrity of data in a P2P-based network, characterized in that the torrent protocol.
상기 메타 데이터 파일은,
업데이트 대상 파일에 대한 정보를 가지고 있는 시드파일인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증을 위한 클라이언트 장치.
The method of claim 8,
The metadata file includes:
Client device for verifying the integrity of data in a P2P-based network, characterized in that the seed file having information about the file to be updated.
상기 메타 데이터 파일의 무결성 검증을 위한 메타 데이터 검증 파일을 생성하는 단계와,
상기 메타 데이터 검증 파일에 디지털 서명을 수행하는 단계와,
상기 디지털 서명된 메타 데이터 검증 파일에 대한 무결성을 검사하는 단계와,
상기 메타 데이터 검증 파일의 무결성이 검증되는 경우, P2P 기반 프로토콜을 이용하여 상기 메타 데이터 파일과 상기 메타 데이터 검증 파일을 전송하는 단계
를 포함하는 P2P 기반 네트워크에서 데이터의 무결성 검증 방법.
Creating a metadata file,
Generating a metadata verification file for verifying the integrity of the metadata file;
Digitally signing the metadata verification file;
Checking the integrity of the digitally signed metadata verification file;
If the integrity of the metadata verification file is verified, transmitting the metadata file and the metadata verification file using a P2P based protocol
Method of verifying the integrity of data in a P2P-based network comprising a.
상기 메타 데이터 검증 파일을 생성하는 단계는,
상기 메타 데이터 검증 파일에 기록되는 해쉬값을 상기 메타 데이터 파일에 기록되는 해쉬값과 동일한 값으로 설정하는 단계를 포함하는 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증 방법.
11. The method of claim 10,
Generating the metadata verification file,
And setting the hash value recorded in the metadata verification file to the same value as the hash value recorded in the metadata file.
상기 메타 데이터 검증 파일에 대한 무결성을 검사하는 단계는,
상기 메타 데이터 검증 파일에 전자서명된 디지털 서명의 유효성을 검사하는 단계와,
상기 디지털 서명이 유효한 경우, 상기 디지털 서명을 발급한 인증서 발급자가 정당한지 여부를 검사하는 단계
를 포함하는 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증 방법.
11. The method of claim 10,
Checking the integrity of the metadata verification file,
Validating the digital signature digitally signed in the metadata verification file;
If the digital signature is valid, checking whether the certificate issuer who issued the digital signature is valid
Integrity verification method of data in a P2P-based network comprising a.
상기 메타 데이터 검증 파일에 대한 무결성을 검사하는 단계는,
상기 디지털 서명이 유효성이 인정되고 상기 인증서 발급자가 정당하다고 검사되는 경우, 상기 메타 데이터 검증 파일에 기록된 해쉬값과 상기 메타 데이터 파일에 기록된 해쉬값이 동일한지 여부를 검사하는 단계와,
상기 메타 데이터 검증 파일에 기록된 해쉬값과 상기 메타 데이터 파일에 기록된 해쉬값이 동일한 경우 상기 메타 데이터 검증 파일의 무결성이 검증된 것으로 판단하는 단계
를 더 포함하는 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증 방법.
13. The method of claim 12,
Checking the integrity of the metadata verification file,
If the digital signature is validated and the certificate issuer is verified to be valid, checking whether the hash value recorded in the metadata verification file and the hash value recorded in the metadata file are the same;
Determining that the integrity of the metadata verification file is verified when the hash value recorded in the metadata verification file and the hash value recorded in the metadata file are the same.
Integrity verification method of data in a P2P-based network, characterized in that it further comprises.
상기 P2P 기반 프로토콜은,
토렌트 프로토콜인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증방법.
11. The method of claim 10,
The P2P-
Method of verifying the integrity of data in a P2P based network, characterized in that the torrent protocol.
상기 메타 데이터 파일은,
업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증 방법.
15. The method of claim 14,
The metadata file includes:
Method for verifying the integrity of data in a P2P-based network, characterized in that the seed file having information about the file to be updated.
상기 메타 데이터 검증 파일의 무결성을 검사하는 단계와,
상기 메타 데이터 검증 파일의 무결성이 검증되는 경우, 상기 무결성이 검증된 상기 메타 데이터 검증 파일에 기록된 해쉬값과 상기 메타 데이터 파일에 기록된 해쉬값이 동일한지를 검사하는 단계와,
상기 메타 데이터 검증 파일에 기록된 해쉬값과 상기 메타 데이터 파일에 기록된 해쉬값이 동일한 경우 상기 메타 데이터 파일을 이용하여 P2P 기반 데이터 전송을 수행하는 단계
를 포함하는 P2P 기반 네트워크에서 데이터의 무결성 검증 방법.
Downloading the metadata file and the metadata validation file using a P2P based protocol,
Checking the integrity of the metadata verification file;
When the integrity of the metadata verification file is verified, checking whether the hash value recorded in the metadata verification file whose integrity is verified and the hash value recorded in the metadata file are the same;
Performing P2P-based data transfer using the metadata file when the hash value recorded in the metadata verification file and the hash value recorded in the metadata file are the same.
Method of verifying the integrity of data in a P2P-based network comprising a.
상기 메타 데이터 검증 파일의 무결성을 검사하는 단계는,
상기 메타 데이터 검증 파일에 전자서명된 디지털 서명의 유효성을 검사하는 단계와,
상기 디지털 서명이 유효한 경우, 상기 디지털 서명을 발급한 인증서 발급자가 정당한지를 검사하는 단계와,
상기 인증서 발급자가 정당한 경우 상기 메타 데이터 검증 파일의 무결성이 검증된 것으로 판단하는 단계
를 포함하는 것을 특징으로 하는 P2P 기반 업데이트 환경의 무결성 검증 방법.
17. The method of claim 16,
Checking the integrity of the metadata verification file,
Validating the digital signature digitally signed in the metadata verification file;
If the digital signature is valid, checking whether the certificate issuer who issued the digital signature is valid;
Determining that the integrity of the metadata verification file is verified if the certificate issuer is legitimate
Integrity verification method of a P2P-based update environment comprising a.
상기 P2P 기반 프로토콜은,
토렌트 프로토콜인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증방법.
17. The method of claim 16,
The P2P-
Method of verifying the integrity of data in a P2P based network, characterized in that the torrent protocol.
상기 메타 데이터 파일은,
업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 하는 P2P 기반 네트워크에서 데이터의 무결성 검증 방법.The method of claim 17,
The metadata file includes:
Method for verifying the integrity of data in a P2P-based network, characterized in that the seed file having information about the file to be updated.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110146023A KR101369250B1 (en) | 2011-12-29 | 2011-12-29 | Server, client and method for verifying integrity of data in peer to peer based network |
PCT/KR2012/011455 WO2013100553A1 (en) | 2011-12-29 | 2012-12-26 | Server, client, and method for verifying data integrity in p2p-based network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110146023A KR101369250B1 (en) | 2011-12-29 | 2011-12-29 | Server, client and method for verifying integrity of data in peer to peer based network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130077359A KR20130077359A (en) | 2013-07-09 |
KR101369250B1 true KR101369250B1 (en) | 2014-03-06 |
Family
ID=48697920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110146023A KR101369250B1 (en) | 2011-12-29 | 2011-12-29 | Server, client and method for verifying integrity of data in peer to peer based network |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101369250B1 (en) |
WO (1) | WO2013100553A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069161A (en) * | 2015-08-26 | 2015-11-18 | 浪潮软件股份有限公司 | Data interaction method and data interaction device |
CN107861746B (en) * | 2017-12-06 | 2020-11-27 | 北京经纬恒润科技有限公司 | Vehicle electronic control unit refreshing method and system |
US11824840B1 (en) * | 2019-02-04 | 2023-11-21 | Meixler Technologies, Inc. | System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090013483A (en) * | 2007-08-02 | 2009-02-05 | 주식회사 플랜티넷 | Method for verifying application programs and controlling the execution thereof |
KR20100072239A (en) * | 2007-09-07 | 2010-06-30 | 알토 유니버시티 파운데이션 | Process for the fermentation of a lipid from a starting material, which comprises alcohol, soaps and/or fatty acids, involving a step of precipitating alkaline earth metal soaps |
KR20100084335A (en) * | 2009-01-16 | 2010-07-26 | 케이티하이텔 주식회사 | Apparatus and method for control digital works |
KR20100106110A (en) * | 2009-03-23 | 2010-10-01 | 삼성전자주식회사 | Secure boot data total management system, methods for generating and verifying a verity of matadata for managing secure boot data, computer-readable recording medium storing program for executing any of such methods |
-
2011
- 2011-12-29 KR KR1020110146023A patent/KR101369250B1/en active IP Right Grant
-
2012
- 2012-12-26 WO PCT/KR2012/011455 patent/WO2013100553A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090013483A (en) * | 2007-08-02 | 2009-02-05 | 주식회사 플랜티넷 | Method for verifying application programs and controlling the execution thereof |
KR20100072239A (en) * | 2007-09-07 | 2010-06-30 | 알토 유니버시티 파운데이션 | Process for the fermentation of a lipid from a starting material, which comprises alcohol, soaps and/or fatty acids, involving a step of precipitating alkaline earth metal soaps |
KR20100084335A (en) * | 2009-01-16 | 2010-07-26 | 케이티하이텔 주식회사 | Apparatus and method for control digital works |
KR20100106110A (en) * | 2009-03-23 | 2010-10-01 | 삼성전자주식회사 | Secure boot data total management system, methods for generating and verifying a verity of matadata for managing secure boot data, computer-readable recording medium storing program for executing any of such methods |
Also Published As
Publication number | Publication date |
---|---|
WO2013100553A1 (en) | 2013-07-04 |
KR20130077359A (en) | 2013-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967416B (en) | Copyright right-maintaining detection method, device and system | |
US8108362B2 (en) | Secure content descriptions | |
KR102618665B1 (en) | Version history management using blockchain | |
US7680937B2 (en) | Content publication | |
EP2172868B1 (en) | Information security device and information security system | |
US8869142B2 (en) | Secure content publishing and distribution | |
JP5802848B2 (en) | Computer-implemented method, non-temporary computer-readable medium and computer system for identifying Trojanized applications (apps) for mobile environments | |
US8572368B1 (en) | Systems and methods for generating code-specific code-signing certificates containing extended metadata | |
CN110597538A (en) | Software upgrading method based on OTA upgrading system and OTA upgrading system | |
EP3687107A1 (en) | Information assurance (ia) using an integrity and identity resilient blockchain | |
EP2748751A1 (en) | System and method for day-zero authentication of activex controls | |
JP2004334842A (en) | Method for authenticating content provider and assuring integrity of content | |
US20190340336A1 (en) | License confirmation via embedded confirmation challenge | |
EP2283447A1 (en) | Secure application streaming | |
WO2006108788A1 (en) | Updating of data instructions | |
CN112861191B (en) | Application program monitoring method and device | |
US8638932B2 (en) | Security method and system and computer-readable medium storing computer program for executing the security method | |
WO2017191472A1 (en) | A verification system and method | |
CN112597485B (en) | Information checking method, device and equipment based on block chain and storage medium | |
TW202226802A (en) | Distributed ledger system | |
CN111506327A (en) | Block chain node hot upgrading method and related equipment | |
KR101369250B1 (en) | Server, client and method for verifying integrity of data in peer to peer based network | |
Cappos et al. | Package management security | |
JP2023525576A (en) | Scope of control of authentication keys for software updates | |
JP6813442B2 (en) | Verification device |
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: 20180226 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190225 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200225 Year of fee payment: 7 |