KR20200069034A - Method for preventing falsification data from being stored in network and system performing the method - Google Patents

Method for preventing falsification data from being stored in network and system performing the method Download PDF

Info

Publication number
KR20200069034A
KR20200069034A KR1020180156124A KR20180156124A KR20200069034A KR 20200069034 A KR20200069034 A KR 20200069034A KR 1020180156124 A KR1020180156124 A KR 1020180156124A KR 20180156124 A KR20180156124 A KR 20180156124A KR 20200069034 A KR20200069034 A KR 20200069034A
Authority
KR
South Korea
Prior art keywords
data
node
target content
content
service node
Prior art date
Application number
KR1020180156124A
Other languages
Korean (ko)
Other versions
KR102199967B1 (en
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 KR1020180156124A priority Critical patent/KR102199967B1/en
Publication of KR20200069034A publication Critical patent/KR20200069034A/en
Application granted granted Critical
Publication of KR102199967B1 publication Critical patent/KR102199967B1/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/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
    • H04L9/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L9/3247Cryptographic 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

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

Abstract

According to embodiments of the present invention, provided are a method for preventing forgery data from being stored in a network and a blockchain system for performing the method. The network is a network in which one or more nodes participate, and each node includes distributed storage for storing network data. The method comprises the steps of: transmitting, by an upload node, a request for generating transparency-verified storage data to a service node; generating, by the service node, the transparency-verified storage data in response to the request; and storing the transparency-verified storage data in the network.

Description

위변조 데이터가 네트워크에 저장되는 것을 방지하는 방법 및 상기 방법을 수행하는 시스템{METHOD FOR PREVENTING FALSIFICATION DATA FROM BEING STORED IN NETWORK AND SYSTEM PERFORMING THE METHOD}A method for preventing falsification data from being stored in a network and a system for performing the above method {METHOD FOR PREVENTING FALSIFICATION DATA FROM BEING STORED IN NETWORK AND SYSTEM PERFORMING THE METHOD}

본 발명은 네트워크에 데이터를 저장하는 기술에 관한 것으로서, 보다 상세하게는 네트워크에 데이터를 저장하기 이전에 데이터의 위변조가 없음을 증명하는 투명성 검증(transparent verification) 처리 동작을 수행하여 투명성 검증 처리된 데이터를 네트워크에 저장함으로써, 위변조 데이터가 네트워크에 저장되는 것을 방지하는 방법 및 상기 방법을 수행하는 시스템에 관한 것이다.The present invention relates to a technology for storing data in a network, and more specifically, data having been processed for transparency verification by performing a transparent verification processing operation to prove that there is no forgery or alteration of data before storing the data in the network. It relates to a method for preventing the forgery data is stored in the network by storing in the network, and a system for performing the method.

블록체인(blockchain)은 피어-투-피어(peer-to-peer) 전자 장부로서, 블록들은 트랜잭션들로 구성되는 분산형 데이터 시스템으로서 구현된다. 각 트랜잭션은 블록 체인 시스템의 참여자간에 디지털 자산의 지배권 전송을 인코딩하는 데이터 구조이며 최소한 하나의 입력과 하나 이상의 출력을 포함한다. 각 블록은 이전 블록의 해시를 포함하여 해당 블록이 서로 연결되어, 처음부터 블록체인에 기록된 영구적이며 변경 불가능한 모든 트랜잭션을 생성한다.Blockchain is a peer-to-peer electronic ledger, and blocks are implemented as a distributed data system consisting of transactions. Each transaction is a data structure that encodes the transfer of control of a digital asset between participants in a blockchain system and contains at least one input and one or more outputs. Each block, including the hash of the previous block, is linked to each other, creating all permanent and immutable transactions recorded on the blockchain from the beginning.

기록된 데이터의 영구적이며 변경 불가능한 특성으로 인해, 블록체인 기술은 신용과 관련된 가상 화폐 기술분야에서 활발이 활용되고 있다. 최근에는 가상 화폐 기술분야 이외에도, 데이터 보안 분야, 데이터 저장 분야, 데이터 공증 분야에서도 블록체인을 이용한 새로운 기술을 개발하려는 시도가 활발히 이루어지고 있다. Due to the permanent and immutable nature of recorded data, blockchain technology is actively used in the field of credit-related virtual currency technology. Recently, in addition to the virtual currency technology field, attempts have been made to develop new technologies using the blockchain in the data security field, data storage field, and data notarization field.

도 1은, 종래의 일 실시예에 따른, 블록체인 네트워크의 보안 허점을 설명하기 위한 도면이다. 1 is a diagram for explaining a security loophole of a blockchain network according to an exemplary embodiment.

그러나, 블록체인 네트워크는 중요한 보안 허점이 있다. 전술한 블록체인에 기록된 데이터의 특성은 데이터 자체의 투명성을 보장하지 않는다. 현재의 블록체인 시스템은 기록되는 데이터가 조작되었는지 여부를 판단할 수 없고, 예컨대 공증을 위한 블록체인 시스템에서는, 특정 시간에 특정 사용자가 데이터를 저장했는지 여부만 확인한다. However, blockchain networks have an important security loophole. The characteristics of the data recorded on the above-mentioned blockchain do not guarantee the transparency of the data itself. The current blockchain system cannot determine whether or not the recorded data has been manipulated. For example, in a blockchain system for notarization, it is only checked whether a specific user has stored data at a specific time.

만약 조작된 데이터가 블록체인 시스템에 기록되는 경우, 조작된 데이터는 영구적으로 변경되지 않고 블록체인 시스템 내에서 전파될 수 있다. 이러한 조작된 데이터의 입력은 블록체인 시스템의 신뢰도를 하락시킨다.If the manipulated data is recorded in the blockchain system, the manipulated data can be propagated within the blockchain system without being permanently changed. The input of such manipulated data decreases the reliability of the blockchain system.

특허공개공보 제 10-2018-0089682호Patent Publication No. 10-2018-0089682

본 발명의 일 측면에 따르면 블록체인 네트워크에 데이터를 저장하기 이전에 데이터의 위변조 여부를 검사하는 투명성 검증(transparent verification) 동작을 수행하여 위변조 데이터가 블록체인 네트워크에 저장되는 것을 방지하는 방법을 제공할 수 있다. According to an aspect of the present invention, a method for preventing the forgery data from being stored in the blockchain network is provided by performing a transparent verification operation to check for forgery of the data before storing the data in the blockchain network. Can be.

이 외에도 상기 방법을 수행하는 시스템을 제공할 수 있다. In addition, it is possible to provide a system for performing the above method.

본 발명의 일 측면에 따른 위변조 데이터가 네트워크에 저장되는 것을 방지하는 방법에 있어서, 상기 네트워크는 하나 이상의 노드가 참여하는 네트워크로서, 각 노드는 네트워크 데이터를 저장하는 분산 스토리지를 포함하고, 상기 방법은: 업로드 노드에 의해, 투명성 검증 처리된 저장 데이터의 생성 요청을 서비스 노드에게 전송하는 단계; 서비스 노드에 의해, 상기 요청에 응답하여 투명성 검증 처리된 저장 데이터를 생성하는 단계; 및 상기 투명성 검증 처리된 저장 데이터를 네트워크에 저장하는 단계를 포함할 수 있다.In the method for preventing the forgery data is stored in the network according to an aspect of the present invention, the network is a network in which one or more nodes participate, each node includes a distributed storage for storing network data, the method : Transmitting, by the upload node, a request for generating transparency-stored storage data to the service node; Generating, by a service node, transparency-processed stored data in response to the request; And storing the transparency verified storage data in a network.

일 실시예에서, 상기 요청에 응답하여 투명성 검증 처리된 저장 데이터를 생성하는 단계는, 상기 요청에 기초하여 타겟 컨텐츠를 생성하는 단계; 상기 타겟 컨텐츠의 메타 데이터를 생성하는 단계; 투명성 검증 처리를 위해 상기 타겟 컨텐츠, 메타 데이터 및 이들의 조합 중 하나 이상을 암호화하는 단계; 및 상기 암호화된 데이터를 투명성 검증 처리된 저장 데이터로 생성하는 단계를 포함할 수 있다. In one embodiment, the step of generating transparency-verified stored data in response to the request includes: generating target content based on the request; Generating meta data of the target content; Encrypting one or more of the target content, metadata, and combinations thereof for transparency verification processing; And generating the encrypted data as stored data that has been processed for transparency verification.

일 실시예에서, 상기 암호화된 데이터는 상기 서비스 노드의 개인키(private key)를 사용하여 생성된 서비스 노드의 전자 서명을 갖는 데이터일 수 있다. In one embodiment, the encrypted data may be data having an electronic signature of a service node generated using a private key of the service node.

일 실시예에서, 상기 저장 데이터를 암호화하는 단계는, 상기 타겟 컨텐츠, 메타 데이터 및 이들의 조합 중 하나 이상을 해시 함수에 입력하여 타겟 컨텐츠의 해시 값을 생성하는 단계; 및 상기 타겟 컨텐츠, 메타 데이터 및 이들의 조합 중 하나 이상의 해시 값을 전자 서명으로 갖는 저장 데이터를 생성하는 단계를 포함할 수 있다. In an embodiment, the step of encrypting the stored data may include: generating a hash value of the target content by inputting one or more of the target content, meta data, and a combination thereof to a hash function; And generating stored data having an electronic signature of one or more hash values of the target content, metadata, and combinations thereof.

일 실시예에서, 상기 메타 데이터는 상기 타겟 컨텐츠의 생성자, 생성 일시, 및 요청자 중 하나 이상을 포함할 수 있다. In one embodiment, the metadata may include one or more of a creator, a creation date and time, and a requestor of the target content.

일 실시예에서, 상기 요청은 저장 컨텐츠에 액세스하기 위한 정보 및 저장 컨텐츠의 범위에 해당되는 정보 중 하나 이상을 포함할 수 있다. In one embodiment, the request may include one or more of information for accessing the stored content and information corresponding to a range of the stored content.

일 실시예에서, 상기 저장 데이터를 네트워크에 저장하는 단계는 업로드 노드에 의해 수행될 수 있다.In one embodiment, the step of storing the stored data in the network may be performed by an upload node.

일 실시예에서, 상기 업로드 노드에 의해, 상기 네트워크에 저장하는 단계 이전에, 검증 확인 단계를 더 포함할 수 있다. In one embodiment, before the step of storing by the upload node in the network, a verification confirmation step may be further included.

일 실시예에서, 상기 검증 확인 단계는, 상기 저장 데이터를 복호화하는 단계; 상기 타겟 컨텐츠에 대응하는 확인 컨텐츠를 생성하는 단계; 및 상기 타겟 컨텐츠와 확인 컨텐츠를 비교하는 단계를 포함할 수 있다. In one embodiment, the verification verification step comprises: decrypting the stored data; Generating confirmation content corresponding to the target content; And comparing the target content and the confirmed content.

일 실시예에서, 상기 비교하는 단계는, 상기 타겟 컨텐츠와 확인 컨텐츠에서 하나 이상의 데이터를 추출하는 단계; 상기 추출된 데이터의 유형별 비교 알고리즘을 적용하는 단계; 및 상기 타겟 컨텐츠와 확인 컨텐츠 간의 일치성이 소정 값 이상인 경우, 상기 타겟 컨텐츠에 대한 투명성 검증 처리를 유효하다고 결정하는 단계를 포함할 수 있다. In one embodiment, the comparing step includes: extracting one or more data from the target content and confirmed content; Applying a comparison algorithm for each type of the extracted data; And when the correspondence between the target content and the confirmed content is greater than or equal to a predetermined value, determining that the transparency verification processing for the target content is valid.

일 실시예에서, 상기 추출된 데이터의 유형은 텍스트, 이미지, 동영상 및 음성 중 하나 이상을 포함할 수 있다. In one embodiment, the type of the extracted data may include one or more of text, image, video and voice.

일 실시예에서, 상기 일치성이 소정 값 미만인 경우, 상기 업로드 노드에 의해, 상기 타겟 컨텐츠에 대한 투명성 검증 요청을 재전송하는 단계를 더 포함할 수 있다. In an embodiment, when the correspondence is less than a predetermined value, the upload node may further include retransmitting a transparency verification request for the target content.

일 실시예에서, 상기 저장 데이터를 복호화하는 단계는, 상기 서비스 노드의 전자 서명을 갖는 투명성 검증 처리된 저장 데이터를 수신하는 단계; 수신된 저장 데이터의 적어도 일부를 해시 함수의 입력으로 사용하여 해시 값을 생성하는 단계; 상기 서비스 노드의 공개키로 상기 수신된 전자 서명을 복호화하는 단계; 및 상기 저장 데이터의 적어도 일부의 해시 값과 상기 전자 서명의 복호화 값을 비교하는 단계를 포함할 수 있다.In one embodiment, the step of decrypting the stored data comprises the steps of: receiving the stored data, which has been verified for transparency, having an electronic signature of the service node; Generating a hash value using at least a portion of the received stored data as an input of the hash function; Decrypting the received electronic signature with the public key of the service node; And comparing a hash value of at least a portion of the stored data with a decryption value of the digital signature.

일 실시예에서, 상기 타겟 컨텐츠를 생성하는 단계는, 상기 서비스 노드가 타겟 컨텐츠를 저장 또는 관리하는 컨텐츠 서비스 노드인 경우, 상기 컨텐츠 서비스 노드에 의해 수행될 수 있다. In one embodiment, the step of generating the target content may be performed by the content service node when the service node is a content service node that stores or manages the target content.

일 실시예에서, 상기 타겟 컨텐츠를 생성하는 단계는, 상기 서비스 노드가 타겟 컨텐츠를 저장 또는 관리하는 컨텐츠 서비스 노드가 아닌 특정 노드인 경우, 상기 타겟 컨텐츠를 생성하기 위해 상기 특정 노드가 상기 컨텐츠 서비스 노드의 타겟 컨텐츠에 액세스하는 단계를 포함할 수 있다. In one embodiment, in the generating of the target content, when the service node is a specific node other than a content service node that stores or manages the target content, the specific node is configured to generate the target content by the content service node. It may include the step of accessing the target content.

일 실시예에서, 상기 특정 노드는 상기 네트워크의 참여자들의 적어도 과반수의 동의를 얻어 결정될 수 있다. In one embodiment, the particular node may be determined with the consent of at least a majority of the participants in the network.

일 실시예에서, 상기 네트워크에는 상기 투명성 검증 처리된 저장 데이터만이 저장되는 것을 특징으로 하는 방법.In one embodiment, the network is characterized in that only the data stored in the transparency verification processing is stored.

본 발명의 다른 일 측면에 따른 컴퓨터 판독가능 기록 매체는 컴퓨터에 의해 판독가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장할 수 있다. 여기서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 전술한 실시예들에 따른 방법을 수행할 수 있다.A computer-readable recording medium according to another aspect of the present invention can store program instructions readable by a computer and operable by the computer. Here, when the program instruction is executed by the processor of the computer, the processor may perform the method according to the above-described embodiments.

본 발명의 일 측면에 따른 블록체인 시스템은 블록체인 네트워크에 데이터를 저장하기 이전에 데이터의 위변조 여부를 검사하는 투명성 검증(transparent verification) 동작을 수행할 수 있다. 그 결과, 블록체인 시스템에 저장된 데이터에 대한 투명성을 보장할 수 있다.The blockchain system according to an aspect of the present invention may perform a transparent verification operation that checks for forgery or alteration of data before storing the data in the blockchain network. As a result, transparency of data stored in the blockchain system can be guaranteed.

그 결과, 가짜 뉴스와 같은 음해성 데이터 조작의 피해를 최소화할 수 있고, 법적 효력이 있는 디지털 증거로 활용될 수 있다. As a result, it is possible to minimize the damage of manipulation of harmful data such as fake news, and can be used as legally valid digital evidence.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

본 발명 또는 종래 기술의 실시예의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시예를 설명하기 위한 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.
도 1은, 종래의 일 실시예에 따른, 블록체인 네트워크의 보안 허점을 설명하기 위한 도면이다.
도 2는, 본 발명의 일 실시예에 따른, 블록체인 시스템의 블록도이다.
도 3은, 본 발명의 일 실시예에 따른, 블록체인 네트워크에 데이터가 저장되는 과정을 설명하기 위한 도면이다.
도 4는, 본 발명의 제1 실시예에 따른, 블록체인 네트워크(10)에 위변조 데이터가 저장되는 것을 방지하는 과정을 설명하기 위한 도면이다.
도 5는, 본 발명의 일 실시예에 따른, 타겟 컨텐츠의 암호화를 설명하기 위한 도면이다.
도 6은, 본 발명의 일 실시예에 따른, 블록체인 네트워크(10)에 저장되는 데이터를 설명하기 위한 도면이다.
도 7은, 본 발명의 일 실시예에 따른, 검증 확인 동작의 흐름도이다.
도 8은, 본 발명의 제2 실시예에 따른, 블록체인 네트워크에 위변조 데이터가 저장되는 것을 방지하는 과정을 설명하기 위한 도면이다.
BRIEF DESCRIPTION OF DRAWINGS To describe the technical solutions in the embodiments of the present invention or in the prior art more clearly, the drawings required in the description of the embodiments are briefly introduced below. It should be understood that the drawings below are for the purpose of describing the embodiments of the present specification and not for the purpose of limitation. In addition, some elements to which various modifications such as exaggeration and omission are applied may be illustrated in the drawings below for clarity.
1 is a diagram for explaining a security loophole of a blockchain network according to an exemplary embodiment.
2 is a block diagram of a blockchain system according to an embodiment of the present invention.
3 is a diagram for explaining a process of storing data in a blockchain network according to an embodiment of the present invention.
4 is a diagram for explaining a process for preventing the forgery data from being stored in the blockchain network 10 according to the first embodiment of the present invention.
5 is a diagram for explaining encryption of target content according to an embodiment of the present invention.
6 is a diagram for explaining data stored in the blockchain network 10 according to an embodiment of the present invention.
7 is a flowchart of a verification confirmation operation according to an embodiment of the present invention.
8 is a view for explaining a process for preventing the forgery data from being stored in the blockchain network according to the second embodiment of the present invention.

여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다.The terminology used herein is only to refer to a specific embodiment and is not intended to limit the invention. The singular forms used herein also include plural forms unless the phrases clearly indicate the opposite. As used herein, the meaning of “comprising” embodies a particular property, region, integer, step, action, element, and/or component, and the presence or presence of other properties, regions, integers, steps, action, element, and/or component. It does not exclude addition.

다르게 정의하지는 않았지만, 여기에 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 보통 사용되는 사전에 정의된 용어들은 관련기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.Although not defined differently, all terms including technical terms and scientific terms used herein have the same meaning as those generally understood by those skilled in the art to which the present invention pertains. Commonly used dictionary-defined terms are additionally interpreted as having meanings consistent with related technical documents and currently disclosed contents, and are not interpreted as ideal or very formal meanings unless defined.

본 명세서에서, 네트워크는 피어-투-피어(peer-to-peer) 전자 장부로서, 트랜잭션들로 구성되는 블록들이 연결된 블록체인을 네트워크 데이터로 갖는 분산형 데이터 시스템인 블록체인 네트워크를 포함할 수 있다. 이하, 설명의 명료성을 위해, 네트워크는 블록체인 네트워크로 지칭하여 발명을 서술한다.In the present specification, the network is a peer-to-peer electronic ledger, and may include a blockchain network, which is a distributed data system having a block chain composed of transactions as network data. . Hereinafter, for clarity of description, the network will be described as a blockchain network to describe the invention.

본 명세서에서 "노드"는 블록체인 네트워크의 참여자로서, 서버, 개인용 컴퓨터, 스마트 폰, 단말기 등 다양한 통신 가능한 전자장비에 의해 구현될 수 있다. In this specification, "node" is a participant in the blockchain network, and may be implemented by various communication-enabled electronic devices such as a server, a personal computer, a smart phone, and a terminal.

이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 2는, 본 발명의 일 실시예에 따른, 블록체인 시스템의 블록도이다. 2 is a block diagram of a blockchain system according to an embodiment of the present invention.

도 2를 참조하면, 위변조 데이터가 블록체인 네트워크에 저장되는 것을 방지하는 시스템(이하, "블록체인 시스템")(1)은 서비스 노드(100), 업로드 노드(200), 다운로드 노드(300) 등을 포함한 하나 이상의 노드가 참여한 블록체인 네트워크(10)를 포함하며, 블록체인 네트워크(10)를 통해 각 노드 간에 데이터가 통신하도록 구성된다. 일부 실시예에서, 블록체인 네트워크(10)의 노드(100, 200, 300)는 각 노드에서의 동작을 수행하도록 구성된 프로세서(110, 210, 310) 및 동작의 결과(예컨대, 블록체인 데이터)를 저장하는 저장 소자(130, 230, 330)를 포함할 수 있다. Referring to FIG. 2, a system for preventing forgery data from being stored in a blockchain network (hereinafter referred to as a “blockchain system”) 1 includes a service node 100, an upload node 200, a download node 300, etc. It includes a blockchain network 10 in which one or more nodes participates, and is configured to communicate data between each node through the blockchain network 10. In some embodiments, the nodes 100, 200, 300 of the blockchain network 10 are configured to process the processor 110, 210, 310 configured to perform the operation at each node and the result of the operation (eg, blockchain data). It may include a storage element (130, 230, 330) for storing.

본 명세서에서, 블록체인 시스템(1)은 데이터 공증, 데이터 보안 등과 관련된 다양한 서비스를 제공하는데 활용될 수 있다. 이하, 설명의 명료성을 위해 공증 서비스를 제공하는 블록체인 시스템(1)을 통해 본 발명을 서술하지만, 본 발명에 따른 실시예들은 공증 서비스에 제한되지 않는 것이 통상의 기술자에게 명백할 것이다.In this specification, the blockchain system 1 can be utilized to provide various services related to data notarization, data security, and the like. Hereinafter, for clarity of description, the present invention will be described through a blockchain system 1 that provides a notary service, but it will be apparent to those skilled in the art that the embodiments according to the present invention are not limited to the notary service.

실시예들에 따른 블록체인 시스템(1)은 전적으로 하드웨어이거나, 전적으로 소프트웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 블록체인 시스템(1) 및/또는 노드는 데이터 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "장치", 또는 "시스템" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 가능한 컴퓨팅 장치일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.The blockchain system 1 according to embodiments may have an aspect that is entirely hardware, entirely software, or partially hardware and partially software. For example, the blockchain system 1 and/or node may collectively refer to hardware equipped with data processing capability and operating software for driving the same. The terms "unit", "module", "device", or "system" in this specification are intended to refer to a combination of hardware and software driven by the hardware. For example, the hardware may be a data processing capable computing device including a central processing unit (CPU), a graphics processing unit (GPU), or other processor. Also, the software may refer to a running process, an object, an executable, a thread of execution, a program, or the like.

여기서, 블록체인 네트워크(10)는 상기 블록체인을 분산 원장(distyributed ledger)으로 이용하고자 하는 노드로 구성된 네트워크로서, 상기 분산 원장은 트랜잭션 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌, peer-to-peer 네트워크에 분산하여 구성원에 의해 공동으로 기록되고 관리된다. 블록체인 네트워크(10)의 각 구성원(즉, 노드)은 합의(consensus) 프로토콜을 사용하여 원장(ledger) 내용(일반적으로 트랜잭션으로 지칭됨)에 대해 동의 과정을 거친다. 블록체인 네트워크(10)는 모든 노드에서 합의된 트랜잭션을 시간 순서대로 기록하며, 한번 블록체인에 저장된 트랜잭션의 기록은 변경할 수 없다. 또한, 블록체인 네트워크(10)는 트랜잭션의 무결성을 보장하기 위해 PKI 알고리즘에 기반한 전자 서명(digital signature)을 사용한다.Here, the blockchain network 10 is a network composed of nodes that want to use the blockchain as a distributed ledger, and the distributed ledger is a peer-to, rather than a central server of a specific institution. -Distributed on the peer network and jointly recorded and managed by members. Each member (i.e., node) of the blockchain network 10 undergoes a consent process for the contents of the ledger (generally referred to as a transaction) using a consensus protocol. The blockchain network 10 records the agreed transactions in all nodes in chronological order, and the records of the transactions once stored in the blockchain cannot be changed. In addition, the blockchain network 10 uses a digital signature based on the PKI algorithm to ensure the integrity of the transaction.

여기서, 블록체인은 다수의 트랜잭션이 일정 시간 마다 그룹화되어 하나의 블록(block)을 생성하고, 기존에 생성된 블록에 상기 블록이 체인(chain)처럼 계속적으로 연결되는 데이터 구조를 나타낸다. 상기 블록들에는 다양한 정보들이 포함될 수 있다. 일부 실시예들에서, 상기 블록들은 해당 블록의 블록 해쉬(Hash) 값, 논스(Nonce) 값, 이전 블록의 블록 해쉬값 등을 포함할 수도 있다. 상기 해쉬값과 논스값은 사전 설정된 해쉬 함수(hash function)를 이용하여 구한 값들이다. 또한, 상기 시스템(1)을 실행하는 소프트웨어에 대한 정보, 블록 생성 시각, 노드(100, 200, 300)에 연관된 정보(예컨대, 노드(100)의 IP 주소 등) 등을 포함할 수도 있다. Here, the block chain represents a data structure in which a plurality of transactions are grouped every certain time to create one block, and the block is continuously connected to the previously generated block like a chain. Various information may be included in the blocks. In some embodiments, the blocks may include a block hash value of the corresponding block, a nonce value, and a block hash value of the previous block. The hash values and nonce values are values obtained using a preset hash function. In addition, it may include information about the software running the system 1, block creation time, information associated with the nodes 100, 200, and 300 (eg, the IP address of the node 100).

이러한 블록체인은 블록체인 네트워크(10)에 포함된 각 노드의 블록체인 분산 스토리지(이하, "분산 스토리지")(미도시)에 저장된다. 각 노드의 분산 스토리지는 블록체인 네트워크에 의해 생성된 블록체인 결과를 각 노드에 분산 저장하기 위한 소정의 저장 공간으로서, 블록체인 네트워크(10)의 전체 분산 스토리지를 구성하는 스토리지 컴포넌트를 의미한다. 블록체인에 저장되는 데이터는 블록체인 네트워크(10)를 통해 다른 노드들에 전파되며, 데이터의 전파 결과는 다시 상기 다른 노드들에 저장된다. 모든 노드들에게 전파된 결과, 각 노드의 분산 스토리지에 저장된 블록체인은 실질적으로 동일하며, 전파된 데이터의 유효성을 검증하는데 충분하다. 따라서, 본 명세서에서는 특별한 한정이 없는 한 블록체인 네트워크(10)에 데이터를 저장하는 것은 상기 데이터가 블록체인 네트워크(10)를 통해 전파되어 각 노드의 분산 스토리지에 데이터를 저장하는 것을 나타낸다. These blockchains are stored in the blockchain distributed storage (hereinafter, “distributed storage”) (not shown) of each node included in the blockchain network 10. The distributed storage of each node is a predetermined storage space for distributedly storing the blockchain results generated by the blockchain network to each node, and means a storage component constituting the entire distributed storage of the blockchain network 10. Data stored in the blockchain is propagated to other nodes through the blockchain network 10, and the propagation result of the data is stored in the other nodes again. As a result of propagation to all nodes, the blockchain stored in the distributed storage of each node is substantially the same, and is sufficient to verify the validity of the propagated data. Therefore, in this specification, storing data in the blockchain network 10 unless otherwise specified indicates that the data is propagated through the blockchain network 10 to store data in distributed storage of each node.

블록체인 시스템(1)은 서비스 노드(100)가 데이터를 투명성 검증 처리한 이후에 블록체인 네트워크(10)에 상기 처리된 데이터를 저장하도록 구성된다. 여기서, 블록체인 네트워크(10)에 데이터를 저장하는 것은 각 노드(100, 200, 300)의 분산 스토리지에 데이터를 저장하는 것을 지칭한다. The blockchain system 1 is configured to store the processed data in the blockchain network 10 after the service node 100 processes the data for transparency verification. Here, storing data in the blockchain network 10 refers to storing data in distributed storage of each node (100, 200, 300).

도 3은, 본 발명의 일 실시예에 따른, 블록체인 네트워크에 데이터가 저장되는 과정을 설명하기 위한 도면이다. 3 is a diagram for explaining a process of storing data in a blockchain network according to an embodiment of the present invention.

도 3을 참조하면, 블록체인 시스템(1)에 의해 위변조 데이터가 블록체인 네트워크(10)에 저장되는 것을 방지하는 방법은: 블록체인 네트워크에 타겟 컨텐츠를 저장하기 위해 업로드 노드(200)가 투명성 검증 처리된 저장 데이터의 생성 요청을 서비스 노드에게 전송하는 단계(S110); 서비스 노드(100)가 상기 요청에 응답하여 투명성 검증 처리된 저장 데이터를 생성하는 단계(S120); 상기 투명성 검증 처리된 저장 데이터를 블록체인 네트워크(10)에 저장하는 단계(S150)를 포함한다. 일부 실시예에서, 상기 방법은 다운로드 노드(300)가 저장 데이터 제공 요청을 블록체인 네트워크(10)에 전송하고, 요청된 저장 데이터를 수신하는 단계(S160)를 더 포함할 수 있다. Referring to FIG. 3, a method of preventing forgery data from being stored in the blockchain network 10 by the blockchain system 1 is: Upload node 200 to verify transparency in order to store target content in the blockchain network Transmitting a request for generating processed stored data to a service node (S110); A step in which the service node 100 generates the stored data whose transparency has been processed in response to the request (S120); And storing the transparency verified storage data in the blockchain network 10 (S150). In some embodiments, the method may further include a step S160 in which the download node 300 transmits a request for providing stored data to the blockchain network 10 and receives the requested stored data.

단계(S110)에서, 업로드 노드(200)는 서비스 노드(100)에 저장 데이터의 생성 요청을 전송한다. In step S110, the upload node 200 transmits a request for generating stored data to the service node 100.

업로드 노드(200)는 블록체인 네트워크(10)에 컨텐츠를 저장하려고 하는 블록체인 네트워크(10)의 참여자 노드로서, 블록체인 네트워크(10)의 다른 참여자들에게 컨텐츠에 포함된 정보에 위변조가 없다는 신뢰를 주지 못하는 구성원을 지칭한다. 일 실시예에서, 업로드 노드(200)는 블록체인 시스템(1)의 특별한 권한이 없는 일반 사용자의 전자 장치일 수 있다. The upload node 200 is a participant node of the blockchain network 10 that tries to store content in the blockchain network 10, and trusts that other participants in the blockchain network 10 have no forgery or alteration in the information included in the content. Refers to a member who cannot give. In one embodiment, the upload node 200 may be an electronic device of a general user without special authority of the blockchain system 1.

반면, 서비스 노드(100)는 블록체인 네트워크(10)의 참여자들에 대하여 서비스 노드(100)에 의한 투명성 검증 처리가 수행된 데이터에 대해서는 위변조가 없다는 신뢰를 가지는, 즉 공증 신뢰성이 있는 구성요소이다. 블록체인 시스템(1)은 서비스 노드(100)에 의해 투명성 검증 처리된 데이터가 블록체인 네트워크(10)에 저장된다. On the other hand, the service node 100 is a component having the trust that there is no forgery or alteration in the data on which the transparency verification processing by the service node 100 has been performed for the participants of the blockchain network 10, that is, a notary reliable component. . In the blockchain system 1, data whose transparency is processed by the service node 100 is stored in the blockchain network 10.

투명성 검증 처리 동작은 업로드 노드(200) 이외의 공증 신뢰성이 있는 노드(예컨대, 서비스 노드(100))에서 수행되는 동작으로서, 신뢰성 있는 노드에 의한 위변조가 없는 타겟 컨텐츠를 생성하는 동작을 포함한다. 타겟 컨텐츠는 블록체인 네트워크(10)의 다른 노드들에게 전파될 컨텐츠이다. The transparency verification processing operation is an operation performed in a notary reliable node (eg, the service node 100) other than the upload node 200, and includes generating target content without forgery and alteration by the trusted node. The target content is content to be propagated to other nodes of the blockchain network 10.

일 실시예에서, 서비스 노드(100)는 온라인을 통해 컨텐츠 서비스를 제공하는 제공자에 의해 운영되는 노드(이하, "컨텐츠 서비스 노드")일 수 있다. 다른 일 실시예에서, 서비스 노드(100)는 전문적으로 공증 서비스를 제공하는 제공자에 의해 운영되는 노드(이하, "공증 서비스 노드") 등을 포함한다. In one embodiment, the service node 100 may be a node operated by a provider providing a content service online (hereinafter, “content service node”). In another embodiment, the service node 100 includes a node (hereinafter referred to as a "notary service node") operated by a provider that professionally provides a notary service.

여기서, 컨텐츠 서비스 제공자는 SNS 서비스 제공자(예컨대, 카카오 톡, 페이스 북, 네이버 등), 동영상 서비스 제공자(예컨대, 유튜브, 넷플릭스 등), 미디어 서비스 제공자(예컨대, 뉴스, 방송 기관 등), 포탈 서비스 제공자(예컨대, 다음, 네이버, 구글 등)를 포함한다. 컨텐츠 서비스 제공자는 컨텐츠를 생성한 제작자일 수 있거나, 또는 다른 외부 구성요소에 의해 제작된 컨텐츠를 저장하고, 편집 권한이 있는 자에 의한 편집은 업데이트하되, 비권한자에 의한 컨텐츠의 위변조가 없도록 컨텐츠를 관리하며, 서비스에 연관된 제3자(예컨대, 서비스 접속자 등)에게 해당 컨텐츠를 제공한다. 일 실시예에서, 컨텐츠 서비스 노드(100)는 타겟 컨텐츠를 저장 및/또는 관리하도록 구성된 구성요소일 수 있다. Here, the content service providers are SNS service providers (eg, KakaoTalk, Facebook, Naver, etc.), video service providers (eg, YouTube, Netflix, etc.), media service providers (eg, news, broadcasting agencies, etc.), portal service providers. (Eg, Daum, Naver, Google, etc.). The content service provider may be the producer who created the content, or it may store the content produced by other external components, and update the edit by a person who has the authority to edit the content, but prevent the content from being forged by a non-authorized person. It manages and provides the content to a third party (eg, service accessor, etc.) related to the service. In one embodiment, the content service node 100 may be a component configured to store and/or manage target content.

여기서, 전문 공증 서비스 제공자는 상기 컨텐츠 제공자와 별개의 구성요소로서, 블록체인 네트워크(10)의 구축 이전부터 공증 서비스를 제공해온 경험이 있으며, 이러한 경험에 의해 공증 서비스에 대한 시장의 신뢰성을 확보한 서비스 제공자, 또는 이러한 공증 서비스 제공자가 가입한 협회 등을 포함한다. 예를 들어, 상기 전문 공증 서비스 제공자는 공증 업무 등록 또는 변호사 업무 등록을 한 사용자, 및/또는 전자공증시스템을 서비스하는 법무부를 포함한다. 이 경우, 공증 서비스 노드는 상기 등록 사용자 및/또는 법무부에 의해 운영되는 노드를 포함한다. Here, the professional notary service provider is a separate component from the above content provider, and has had experience in providing notary services before the construction of the blockchain network 10, thereby securing market reliability for the notary service. Service providers, or associations to which these notary service providers have joined. For example, the professional notary service provider includes a user who has registered for notary business or attorney business, and/or the Ministry of Justice for servicing the electronic notary system. In this case, the notary service node includes a node operated by the registered user and/or the Ministry of Justice.

일 실시예에서, 공증 서비스 노드(100)는 디지털 컨텐츠에 대해 공증 서비스를 제공하도록 구성된 구성요소로서, 상기 블록체인 네트워크의 참여자들의 적어도 과반수의 동의를 얻어 결정될 수 있다. In one embodiment, the notary service node 100 is a component configured to provide a notary service for digital content, and may be determined with the consent of at least a majority of participants of the blockchain network.

서비스 노드(100)는 타겟 데이터를 저장 데이터로 생성하고, 저장 데이터에 위변조가 없다는 투명성을 제공할 수 있는 암호화 처리를 수행한다. 이에 대해서는 아래에서 보다 상세하게 서술한다. The service node 100 generates target data as stored data, and performs encryption processing capable of providing transparency that there is no forgery or alteration in the stored data. This will be described in more detail below.

이와 같이, 블록체인 시스템(1)에서는 서비스 노드(100)에 의해 투명성이 검증된 데이터가 블록체인 네트워크(10)에 저장되므로(S150), 블록체인 네트워크(10)에 저장된 데이터(예컨대, 타겟 컨텐츠)에 대해서는 높은 신뢰성이 보장된다.In this way, in the blockchain system 1, since data whose transparency has been verified by the service node 100 is stored in the blockchain network 10 (S150), data stored in the blockchain network 10 (eg, target content) ), high reliability is guaranteed.

위변조 데이터가 방지되는 과정에 대해서는 아래의 도 4 및 도 8을 참조하여 보다 상세하게 서술한다. The process of preventing forgery and alteration data will be described in more detail with reference to FIGS. 4 and 8 below.

제1 실시예Example 1

도 4는, 본 발명의 제1 실시예에 따른, 블록체인 네트워크(10)에 위변조 데이터가 저장되는 것을 방지하는 과정을 설명하기 위한 도면이다. 4 is a diagram for explaining a process for preventing the forgery data from being stored in the blockchain network 10 according to the first embodiment of the present invention.

도 4를 참조하면, 블록체인 시스템(1)은 서비스 노드(100), 업로드 노드(200) 및 다운로드 노드(300)를 포함한다. 여기서, 블록체인 시스템(1)의 서비스 노드(100)는 컨텐츠 서비스 노드이다. Referring to FIG. 4, the blockchain system 1 includes a service node 100, an upload node 200 and a download node 300. Here, the service node 100 of the blockchain system 1 is a content service node.

단계(S110)에서, 타겟 컨텐츠를 블록체인 네트워크(10)에 저장하고자 하는 업로드 노드(200)는 타겟 컨텐츠와 관련된 저장 데이터의 생성 요청을 서비스 노드인 컨텐츠 서비스 노드(100)에 전송한다. 상기 저장 데이터의 생성 요청은 저장 데이터에 대한 투명성 검증 처리 요청을 포함한다. In step S110, the upload node 200 that wants to store the target content in the blockchain network 10 transmits a request for generating storage data related to the target content to the content service node 100 as a service node. The request for generating the stored data includes a request for processing a transparency verification of the stored data.

단계(S120)에서, 서비스 노드로서 컨텐츠 서비스 노드(100)는 상기 요청에 응답하여 투명성 검증 처리된 저장 데이터를 생성한다. In step S120, the content service node 100 as a service node generates the storage data processed for transparency verification in response to the request.

일 실시예에서, 저장 데이터의 생성 요청은 타겟 컨텐츠를 생성하기 위한 타겟 컨텐츠 관련 정보를 포함한다. 일 실시예에서, 타겟 컨텐츠 관련 정보는 타겟 컨텐츠에 액세스하기 위한 정보(예컨대, URL), 타겟 컨텐츠를 나타내는 정보(예컨대, 타겟 컨텐츠의 범위에 해당되는 타임 라인, 식별정보) 등을 포함한다. In one embodiment, the request to generate the stored data includes target content related information for generating target content. In one embodiment, the target content-related information includes information for accessing the target content (eg, URL), information indicating the target content (eg, timeline corresponding to a range of target content, identification information), and the like.

예를 들어, 타겟 컨텐츠가 제1 사용자와 제2 사용자가 메신저 프로그램 상에서 통신한 제1 시간부터 제2 시간 상의 메시지인 경우, 타겟 컨텐츠를 나타내는 정보는 제1 시간부터 제2 시간에 해당되는 타임라인을 포함할 수 있다. For example, when the target content is a message from a first time to a second time when the first user and the second user communicate on the messenger program, information indicating the target content is a timeline corresponding to the first time to the second time It may include.

일 실시예에서, 서비스 노드(100)가 컨텐츠 제공 노드인 경우, 투명성 검증 처리 동작은 타겟 컨텐츠를 생성하는 단계(S121), 및 상기 타겟 컨텐츠를 검증을 위한 암호화 처리하는 단계(S123)를 포함한다. In one embodiment, when the service node 100 is a content providing node, the transparency verification processing operation includes generating a target content (S121), and encrypting the target content for verification (S123). .

서비스 노드(100)는 상기 타겟 컨텐츠 관련 정보에 기초하여 타겟 컨텐츠를 생성한다(S121). 서비스 노드(100)는 블록체인 네트워크(10)의 참여자에게 위변조에 대하여 신뢰를 가지고 있으므로, 서비스 노드(100)에 의해 생성된 타겟 컨텐츠는 적어도 서비스 노드(100)에 의한 위변조가 없다. The service node 100 generates target content based on the target content-related information (S121). Since the service node 100 has confidence in the forgery and alteration of the participants of the blockchain network 10, the target content generated by the service node 100 has at least no forgery and alteration by the service node 100.

일 실시예에서, 서비스 노드(100)는 상기 타겟 컨텐츠에 대한 메타 데이터를 더 생성할 수 있다. 상기 메타 데이터는 타겟 컨텐츠의 진정성과 원본성을 검증하는데 활용될 수 있는 데이터이다. 일 실시예에서, 타겟 컨텐츠에 대한 메타 데이터는 타겟 컨텐츠의 생성자, 생성 일시, 요청자, 컨텐츠 제작 기기(예컨대, 업로드 노드(200)의 기기) 등을 포함한다. 예를 들어, 서비스 노드(100)는 타겟 컨텐츠로 스냅샷 파일을 생성한 뒤, 생성된 스냅샷 파일에 메타 데이터를 기록할 수 있다. In one embodiment, the service node 100 may further generate metadata for the target content. The meta data is data that can be used to verify the authenticity and originality of the target content. In one embodiment, the meta data for the target content includes a creator of the target content, a creation date and time, a requester, and a content production device (eg, a device of the upload node 200). For example, the service node 100 may create a snapshot file with target content, and then record metadata in the created snapshot file.

일 실시예에서, 상기 타겟 컨텐츠, 메타 데이터 및 이들의 조합 중 하나 이상은 저장 데이터로서, 검증을 위한 암호화 처리될 수 있다(S123). 상기 검증을 위한 암호화 처리는 블록체인 저장용 데이터를 블록체인에 저장하는 과정의 유효성을 설명하는 것으로서, 상기 실시예에서, 검증을 위한 암호화 처리는 PKI(public key infrastructure) 기반 전자 서명 처리를 포함한다. In one embodiment, one or more of the target content, metadata, and combinations thereof are stored data and may be encrypted for verification (S123). The encryption processing for verification is to describe the validity of the process of storing the data for storing the blockchain in the blockchain. In the above embodiment, the encryption processing for verification includes a public key infrastructure (PKI)-based digital signature processing. .

도 5는, 본 발명의 일 실시예에 따른, 타겟 컨텐츠의 암호화를 설명하기 위한 도면이다. 5 is a diagram for explaining encryption of target content according to an embodiment of the present invention.

도 5를 참조하면, 서비스 노드(100)는 블록체인 저장용 데이터에 기초하여 PKI(public key infrastructure) 기반 전자 서명(digital signature)을 추가로 생성하여 검증을 위한 암호화 처리를 수행할 수 있다. Referring to FIG. 5, the service node 100 may additionally generate a digital signature (PKI) based on a public key infrastructure (PKI) based on data for blockchain storage and perform encryption processing for verification.

공개키 방식(Public Key)은 암호학적으로 연관된 두 개의 키를 만들어서 하나는 자기가 안전하게 보관하고 다른 하나는 상대방에게 공개하는 방식이다. 본인만 갖고 있는 키를 개인키(Private Key)라고 하며 상대방에게 공개하는 키는 공개키(Public Key)라고 지칭한다. 암호화하는 키와 복호화하는 키가 다르므로 공개키 방식 암호화는 비대칭키(Asymmetric Key) 방식 암호화에 해당된다. The public key method is to create two keys that are cryptographically related, one securely stored by one, and the other publicly disclosed. The key that only you have is called a private key, and the key that you disclose to the other party is called a public key. Since the key to be encrypted and the key to be decrypted are different, public key type encryption corresponds to asymmetric key type encryption.

공개키 알고리즘은 RSA, Elgamal 등을 포함한다. 또한, 공개키 알고리즘은 전자 서명에 사용하는 DSA(Digital Signature Algorithm), KCDSA 등을 포함할 수도 있다. Public key algorithms include RSA and Elgamal. In addition, the public key algorithm may include Digital Signature Algorithm (DSA), KCDSA, and the like used for electronic signature.

일 실시예에서, 상기 전자 서명은 블록체인 저장용 데이터에 해쉬 함수를 적용하여 블록체인 저장용 데이터의 해쉬 값을 산출한 후, 블록체인 저장용 데이터의 해쉬 값에 서비스 노드(100)의 개인키를 적용하여 노드(100)의 블록체인 저장용 데이터에 대한 전자 서명을 생성한다. In one embodiment, the electronic signature applies a hash function to the data for storing the blockchain, calculates the hash value of the data for storing the blockchain, and then the private key of the service node 100 to the hash value of the data for storing the blockchain. Apply to generate an electronic signature for the data for the blockchain storage of the node 100.

예를 들어, 전자 서명할 대상의 내용을 해시 함수의 입력으로 사용하여 해시 값을 생성한다. 해시 값을 암호화하기 위해 미리 갖고 있는 자신의 개인키를 사용한다. 개인키에 의해 암호화된 해시 값이 대상의 전자 서명이 된다. For example, a hash value is generated by using the content of an object to be digitally signed as an input of a hash function. To encrypt the hash value, it uses its own private key in advance. The hash value encrypted by the private key becomes the target electronic signature.

상기 해쉬 함수는 임의의 길이를 갖는 메시지를 입력 받아 고정된 길이의 해쉬 값을 출력하는 함수이다. 해쉬 함수는 동일한 입력에 대해서는 항상 동일한 출력이 나오는 특징을 가진다. 상기 특징으로 인해, 해쉬 함수는 입력 메시지에 대한 변경할 수 없는 증거 값을 출력할 수 있다. 이로 인해, 서비스 노드(100)에 의해 기밀을 위한 암호화 처리된 저장 데이터는 위변조가 없는 투명성이 검증되게 된다. The hash function is a function that receives a message having an arbitrary length and outputs a hash value of a fixed length. The hash function has the characteristic that the same output always appears for the same input. Due to the above feature, the hash function can output an immutable evidence value for the input message. For this reason, the stored data encrypted for confidentiality by the service node 100 is verified for transparency without forgery and alteration.

블록체인 시스템(1)은 서비스 노드(100)에 의한 암호화 처리 이후, 투명성 검증 처리된 저장 데이터를 블록체인 네트워크(10)에 저장할 수 있다(S150). After the encryption processing by the service node 100, the blockchain system 1 may store the stored data, which has been verified for transparency, in the blockchain network 10 (S150).

일 실시예에서, 서비스 노드(10)에 의해 투명성 검증 처리된 저장 데이터는 업로드 노드(200)에 의해 블록체인 네트워크(10)에 저장될 수 있다. In one embodiment, the storage data processed for transparency verification by the service node 10 may be stored in the blockchain network 10 by the upload node 200.

다시 도 4를 참조하면, 단계(S120) 이후, 서비스 노드(100)는 투명성 검증 처리된 저장 데이터(예컨대, 타겟 컨텐츠, 메타 데이터 및 이들의 조합)를 포함하는 투명성 검증 처리에 대한 응답을 생성하고, 상기 응답을 업로드 노드(200)에 전송한다. Referring back to FIG. 4, after step S120, the service node 100 generates a response to the transparency verification processing including the transparency verification processed storage data (eg, target content, metadata, and a combination thereof) and , Transmits the response to the upload node 200.

업로드 노드(200)는 상기 응답에 포함된 저장 데이터를 블록체인 네트워크(10)에 저장한다(S150). 일부 실시예에서, 블록체인 네트워크(10)에 저장되는 저장 데이터는 업로드 노드(200)의 개인키에 의한 전자 서명을 더 갖도록 구성될 수 있다. The upload node 200 stores the stored data included in the response in the blockchain network 10 (S150). In some embodiments, stored data stored in the blockchain network 10 may be further configured to have an electronic signature by the private key of the upload node 200.

도 6은, 본 발명의 일 실시예에 따른, 블록체인 네트워크(10)에 저장되는 데이터를 설명하기 위한 도면이다. 6 is a diagram for explaining data stored in the blockchain network 10 according to an embodiment of the present invention.

도 6을 참조하면, 투명성 검증 처리된 저장 데이터는 타겟 컨텐츠 및 메타 데이터로서, 블록체인 네트워크(10)에 참여한 다른 노드에 전파되어 상기 블록체인 네트워크(10)에 저장된다. 이와 같이, 블록체인 네트워크(10)에 저장되는 데이터는 컨텐츠 서비스 노드(100)의 전자 서명의 전자 서명을 가지므로, 업로드 노드(200)에 의해 위변조되지 않는 높은 투명성을 가진다. Referring to FIG. 6, the storage data subjected to transparency verification processing is target content and metadata, propagated to other nodes participating in the blockchain network 10 and stored in the blockchain network 10. As such, the data stored in the blockchain network 10 has an electronic signature of the electronic signature of the content service node 100, and thus has high transparency that is not forged by the upload node 200.

이와 같이, 블록체인 시스템(1)은 디지털 증거 전체(예컨대, 컨텐츠 파일과 메타 데이터)를 블록체인 네트워크(10)에 저장하도록 구성되나, 이에 제한되지 않는다. As such, the blockchain system 1 is configured to store the entire digital evidence (eg, content files and metadata) in the blockchain network 10, but is not limited thereto.

예를 들어, 블록체인 시스템(1)은 메타 데이터만 저장하고, 나머지 데이터(예컨대, 타겟 컨텐츠)는 외부 스토리지(들)에 저장 할 수 있으며, 혹은 그 중간 형태도 가능하도록 구성될 수도 있다. 단, 외부 스토리지(클라우드 등)에 저장 시 타겟 컨텐츠의 해시 값을 메타 데이터에 기록함으로써 자료의 무결성 검증이 가능하도록 구성된다. For example, the blockchain system 1 may store only meta data, and the remaining data (eg, target content) may be stored in external storage(s), or may be configured to allow an intermediate form. However, when storing in external storage (cloud, etc.), the hash value of the target content is recorded in meta data, so that the integrity of the data can be verified.

추가적으로, 업로드 노드(200)는 블록체인 네트워크(10)에 저장 데이터를 저장하기 이전에, 검증 확인 동작을 더 수행할 수 있다(S140). Additionally, the upload node 200 may further perform a verification verification operation before storing the stored data in the blockchain network 10 (S140).

증거를 기록하려는 사용자의 요청으로, 제 3자(즉, 서비스 노드(100))에 의해 생성된 타겟 컨텐츠(예컨대, 스크린 캡쳐 화면 등)은 사용자가 가지고 있는 기기에서 보여지는 것과 상이 할 수 있다. 서비스 노드(100)와 업로드 노드(200) 간에 있어서, 화면 크기, 해상도, 운영체제, 웹 브라우저, PC/모바일 앱 버전, 코덱 등의 차이로 인해 발생 가능하기 때문이다. At the request of the user to record the evidence, the target content (eg, screen capture screen, etc.) generated by a third party (ie, the service node 100) may be different from that displayed on the device owned by the user. This is because it may occur between the service node 100 and the upload node 200 due to differences in screen size, resolution, operating system, web browser, PC/mobile app version, and codec.

이로 인하여, 생성된 저장 데이터에 대한 검증 확인 동작이 요구된다. For this reason, a verification confirmation operation for the generated stored data is required.

도 7은, 본 발명의 일 실시예에 따른, 검증 확인 동작의 흐름도이다.7 is a flowchart of a verification confirmation operation according to an embodiment of the present invention.

도 7을 참조하면, 검증 확인 동작을 위해, 업로드 노드(200)는 검증을 위한 암호화 처리된 저장 데이터를 복호화한다(S141). 업로드 노드(200)는 단계(S130)에서 서비스 노드의 전자 서명을 갖는 투명성 검증 처리된 저장 데이터를 수신한다. 수신된 저장 데이터(예컨대, 타겟 컨텐츠 파일)가 서비스 노드(100)로부터 온전히 도착한 데이터인지 확인하기 위해 업로드 노드(200)는 전송 받은 저장 데이터의 적어도 일부(예컨대, 타겟 컨텐츠 파일)를 해시 함수의 입력으로 사용하여 해시 값(h1)을 생성한다. 수신자는 전송 받은 전자 서명을 서비스 노드(100)의 공개키로 복호화하여 복호화 결과 값(h2)를 생성한다. 복호화된 결과 값(h2)이 해시 값(h1)과 동일하면, 전송 받은 데이터는 서비스 노드(100)가 서명하여 보낸 것이며, 동시에 데이터에 포함된 정보에 위변조가 없다는 것을 나타낸다. Referring to FIG. 7, for the verification verification operation, the upload node 200 decrypts the encrypted storage data for verification (S141). In step S130, the upload node 200 receives the storage data, which has been verified for transparency, having an electronic signature of the service node. In order to check whether the received stored data (eg, the target content file) is completely arrived from the service node 100, the upload node 200 inputs at least a portion of the received stored data (eg, the target content file) as a hash function. To generate the hash value (h1). The receiver decrypts the transmitted electronic signature with the public key of the service node 100 to generate the decryption result value h2. If the decrypted result value h2 is equal to the hash value h1, the received data is signed and sent by the service node 100, and at the same time, indicates that there is no forgery or alteration in the information included in the data.

업로드 노드(200)는 타겟 데이터에 대응하는 확인 컨텐츠를 생성한다. 서비스 노드(100)에 저장되는 컨텐츠 중 적어도 일부는 업로드 노드(200)의 사용자에 의해 입력 및/또는 제작되어 서비스 노드(100)에 전송된 것이므로, 업로드 노드(200) 또한 타겟 컨텐츠에 대응하는 확인 컨텐츠를 생성할 수 있다(S142). 예를 들어, 타겟 컨텐츠가 메신저 프로그램 상의 메시지를 포함하는 경우, 업로드 노드(200)는 업로드 노드(200)에 설치된 상기 메신저 프로그램을 통해 확인 컨텐츠를 생성할 수 있다. The upload node 200 generates confirmation content corresponding to the target data. Since at least some of the content stored in the service node 100 is input and/or produced by the user of the upload node 200 and transmitted to the service node 100, the upload node 200 also confirms corresponding to the target content Content can be generated (S142). For example, when the target content includes a message on the messenger program, the upload node 200 may generate confirmation content through the messenger program installed in the upload node 200.

그 후, 업로드 노드(200)는 업로드 노드(200)가 생성한 확인 컨텐츠와 서비스 노드(100)가 생성한 타겟 컨텐츠를 비교한다(S143). Thereafter, the upload node 200 compares the confirmation content generated by the upload node 200 with the target content generated by the service node 100 (S143).

일 실시예에서, 업로드 노드(200)는 상기 타겟 컨텐츠와 확인 컨텐츠에서 하나 이상의 데이터를 추출한다. 상기 추출된 데이터의 유형은 텍스트, 이미지, 동영상, 음성 등일 수 있으나, 이에 제한되진 않는다. In one embodiment, the upload node 200 extracts one or more data from the target content and confirmation content. The type of the extracted data may be text, image, video, voice, etc., but is not limited thereto.

그 후, 상기 추출된 데이터의 유형별 비교 알고리즘을 적용한다. Then, a comparison algorithm for each type of the extracted data is applied.

예를 들어, 추출된 데이터의 유형이 텍스트인 경우, 비교 알고리즘은 Jaccard distance, Cosine distance, Euclidean distance, 및 Relaxed Word Mover's Distance 중 하나 이상이 적용될 수 있다. For example, when the type of the extracted data is text, one or more of Jaccard distance, Cosine distance, Euclidean distance, and Relaxed Word Mover's Distance may be applied to the comparison algorithm.

예를 들어, 추출된 데이터의 유형이 이미지인 경우, 비교 알고리즘은 Key point matching, Histogram method, Hash code/fingerprint, Higher-order local autocorrelation, Harris Corner Detection Algorithm, 및 Watershed 중 하나 이상이 적용될 수 있다. For example, when the type of the extracted data is an image, one or more of Key point matching, Histogram method, Hash code/fingerprint, Higher-order local autocorrelation, Harris Corner Detection Algorithm, and Watershed may be applied as the comparison algorithm.

예를 들어, 추출된 데이터의 유형이 동영상인 경우, 비교 알고리즘은 Spectral similarity kernel, Cumulative Similarity Measurement, PSNR Compare, Correlation images 중 하나 이상이 적용될 수 있다. For example, when the type of the extracted data is a video, one or more of Spectral similarity kernel, Cumulative Similarity Measurement, PSNR Compare, and Correlation images may be applied as a comparison algorithm.

업로드 노드(200)는 상기 타겟 컨텐츠와 확인 컨텐츠 간의 일치성이 소정 값 이상인 경우, 상기 타겟 컨텐츠에 대한 투명성 검증 처리를 유효하다고 결정한다. When the correspondence between the target content and the verified content is greater than or equal to a predetermined value, the upload node 200 determines that the transparency verification processing for the target content is valid.

전술한 검증 확인 동작은 타겟 컨텐츠 및/또는 확인 컨텐츠에 대하여 전체를 한번에 비교하는 방식으로 수행되거나, 또는 여러 부분으로 분할하여 비교 알고리즘을 반복 수행하는 방식으로 수행될 수 있다. The above-described verification confirmation operation may be performed in a manner of comparing the entire target contents and/or confirmation contents at once, or may be performed in a manner of repeatedly performing a comparison algorithm by dividing into several parts.

비교 결과 타겟 컨텐츠에 대한 투명성 검증 처리가 유효하다고 결정한 경우, 업로드 노드(200)는 서비스 노드(100)로부터 수신한 투명성 검증 처리된 저장 데이터를 블록체인 네트워크(10)에 저장한다(S150). As a result of the comparison, when it is determined that the transparency verification processing for the target content is valid, the upload node 200 stores the storage data processed by the transparency verification received from the service node 100 in the blockchain network 10 (S150).

반면, 비교 결과 타겟 컨텐츠에 대한 투명성 검증 처리가 유효하지 않다고 결정한 경우, 업로드 노드(200)는 투명성 검증 처리가 유효한 저장 데이터를 수신하기 위해 서비스 노드(100)에 투명성 검증 처리 요청을 다시 전송한다(S110).On the other hand, when the result of the comparison determines that the transparency verification processing for the target content is not valid, the upload node 200 transmits a transparency verification processing request back to the service node 100 to receive stored data for which the transparency verification processing is valid ( S110).

다른 일 실시예에서, 서비스 노드(100)에 의해 투명성 검증 처리된 저장 데이터는 서비스 노드(100)가 블록체인 네트워크(10)의 다른 노드에 전파함으로써 블록체인 네트워크(10)에 저장될 수 있다. 이 경우, 업로드 노드(200)에서의 검증 확인 동작(S140)은 생략될 수 있다. In another embodiment, the storage data processed for transparency verification by the service node 100 may be stored in the blockchain network 10 by the service node 100 propagating to other nodes of the blockchain network 10. In this case, the verification confirmation operation S140 in the upload node 200 may be omitted.

전술한 과정(S110 내지 S150)에 의해 블록체인 네트워크(10)에는 서비스 노드(100)의 전자 서명을 가짐으로써 투명성이 검증된 저장 데이터가 저장된다. 그 결과, 사용자는 블록체인 네트워크(10)의 데이터에 대하여 높은 신뢰도를 가질 수 있고, 나아가 법정 증거 자료로 활용될 수 있다. By the above-described processes (S110 to S150), the blockchain network 10 stores stored data whose transparency is verified by having an electronic signature of the service node 100. As a result, the user can have high reliability of the data of the blockchain network 10, and furthermore, it can be used as legal evidence.

다시 도 4를 참조하면, 블록체인 시스템(1)은 다운로드 노드(300)에게 저장 데이터를 제공할 수 있다(S160). 다운로드 노드(300)는 저장 데이터를 사용하고자 하는 노드를 지칭한다. 예를 들어, 타겟 컨텐츠가 증거로서 활용되는 경우, 다운로드 노드(300)는 경찰, 법원과 같은 사법 기관, 또는 동사무소 등과 같은 공공 기관과 관련된 노드(예컨대, 사법 기관에 의해 운영되는 노드, 또는 사법 기관에 의한 감독을 받는 노드)를 포함한다. Referring back to FIG. 4, the blockchain system 1 may provide storage data to the download node 300 (S160). The download node 300 refers to a node that wants to use stored data. For example, when the target content is utilized as evidence, the download node 300 is a node associated with a public institution such as a police, court, or judicial authority (such as a node operated by a judicial authority, or a judicial authority) (Nodes under supervision).

이 경우, 다운로드 노드(300)는 블록체인 네트워크(10)에 저장 데이터의 제공을 요청한다(S161). 예를 들어, 사법 기관과 관련된 노드는 블록체인 네트워크(10)에 참여하고 저장 데이터를 저장한 적어도 하나의 노드에 상기 저장 데이터의 제공을 요청한다. In this case, the download node 300 requests the blockchain network 10 to provide stored data (S161). For example, a node related to a judicial authority participates in the blockchain network 10 and requests provision of the stored data to at least one node that has stored the stored data.

상기 적어도 하나의 노드는 요청에 응답하여, 요청된 저장 데이터를 검색하고(S162), 및 검색된 저장 데이터를 사법 기관에게 제공한다(S163). 상기 요청을 수신한 노드는 전자 서명 및 저장 데이터를 사법 기관과 관련된 노드에 제공한다. In response to the request, the at least one node retrieves the requested stored data (S162), and provides the retrieved stored data to a law enforcement agency (S163). Upon receiving the request, the node provides the electronic signature and stored data to the node associated with the law enforcement agency.

블록체인 네트워크(10)에 저장된 타겟 컨텐츠는 단계(S123)에서 암호화된 데이터이므로, 다운로드 노드(300)는 암호화된 타겟 컨텐츠를 복호화하는 작업을 더 수행한다. Since the target content stored in the blockchain network 10 is data encrypted in step S123, the download node 300 further performs a task of decrypting the encrypted target content.

일 실시예에서, 다운로드 노드(300)는 서비스 노드(100)에게 공개키의 제공을 요청하고(S164), 서비스 노드(100)는 상기 공개키의 제공 요청에 응답하여 자신의 공개키를 제공한다(S165). In one embodiment, the download node 300 requests the service node 100 to provide a public key (S164), and the service node 100 provides its own public key in response to the request to provide the public key. (S165).

다운로드 노드(300)는 공개키를 이용하여 타겟 컨텐츠를 복호화한다(S166). 단계(S166)의 복호화 과정은 단계(S141)의 복호화 과정과 유사하므로, 자세한 설명은 생략한다. The download node 300 decrypts the target content using the public key (S166). Since the decoding process in step S166 is similar to the decoding process in step S141, detailed description is omitted.

일부 실시예에서, 저장 데이터가 업로드 노드(200)의 개인키에 의한 전자 서명을 더 갖는 경우, 다운로드 노드(300)는 업로드 노드(200)의 공개키에 대한 제공 요청을 업로드 노드(200)에 전송하고, 이를 수신한 뒤, 업로드 노드(200)의 전자 서명을 복호화하는 동작을 더 수행할 수 있다. In some embodiments, when the stored data further has an electronic signature by the private key of the upload node 200, the download node 300 sends a request to provide the public key of the upload node 200 to the upload node 200 After transmitting and receiving it, the operation of decrypting the electronic signature of the upload node 200 may be further performed.

상기 블록체인 시스템(1) 및/또는 노드들이 본 명세서에 서술되지 않은 다른 구성요소를 포함할 수도 있다는 것이 통상의 기술자에게 명백할 것이다. 예를 들어, 상기 블록체인 시스템(1)은 네트워크 인터페이스, 데이터 엔트리를 위한 입력 장치, 및 디스플레이, 인쇄 또는 다른 데이터 표시를 위한 출력 장치를 포함하는, 본 명세서에 서술된 동작에 필요한 다른 하드웨어 요소를 포함할 수도 있다.It will be apparent to those skilled in the art that the blockchain system 1 and/or nodes may include other components not described herein. For example, the blockchain system 1 includes other hardware elements necessary for the operations described herein, including a network interface, an input device for data entry, and an output device for display, printing or other data display. It may include.

제2 실시예Example 2

도 8은, 본 발명의 제2 실시예에 따른, 블록체인 네트워크에 위변조 데이터가 저장되는 것을 방지하는 과정을 설명하기 위한 도면이다. 8 is a view for explaining a process for preventing the forgery data from being stored in the blockchain network according to the second embodiment of the present invention.

본 발명의 제2 실시예에 따른 블록체인 네트워크에 위변조 데이터가 저장되는 것을 방지하는 방법은 도 3의 제1 실시예에 따른 블록체인 네트워크에 위변조 데이터가 저장되는 것을 방지하는 방법과 상당부분 유사하므로, 차이점을 위주로 설명한다. The method of preventing the forgery data from being stored in the blockchain network according to the second embodiment of the present invention is substantially similar to the method of preventing the forgery data from being stored in the blockchain network according to the first embodiment of FIG. , Explain the difference mainly.

도 8을 참조하면, 블록체인 시스템(1)은 서비스 노드(100), 컨텐츠 서비스 노드(120), 업로드 노드(200) 및 다운로드 노드(300)를 포함한다. 여기서, 블록체인 시스템(1)의 서비스 노드(100)는 공증 서비스 노드이다. Referring to FIG. 8, the blockchain system 1 includes a service node 100, a content service node 120, an upload node 200, and a download node 300. Here, the service node 100 of the blockchain system 1 is a notary service node.

단계(S210)에서, 타겟 컨텐츠를 블록체인 네트워크(10)에 저장하고자 하는 업로드 노드(200)는 투명성 검증 처리된 저장 데이터의 생성 요청을 서비스 노드인 공증 서비스 노드(100)에 전송한다. In step S210, the upload node 200 that wants to store the target content in the blockchain network 10 transmits a request for generating the storage data processed for transparency verification to the notary service node 100, which is a service node.

단계(S220)에서, 서비스 노드로서 공증 서비스 노드(100)는 상기 요청에 응답하여 투명성 검증 처리된 저장 데이터를 생성한다. In step S220, the notary service node 100 as a service node generates the storage data processed for transparency verification in response to the request.

일 실시예에서, 서비스 노드(100)가 공증 서비스 노드인 경우, 투명성 검증 처리된 저장 데이터의 생성 동작(S220)은 타겟 컨텐츠를 생성하기 위해 컨텐츠 제공 노드(120)의 컨텐츠에 액세스하는 단계(S221), 및 타겟 컨텐츠를 암호화하는 단계(S223)를 포함한다. In one embodiment, when the service node 100 is a notary service node, the operation of generating the stored data whose transparency has been processed (S220) accesses the content of the content providing node 120 to generate target content (S221) ), and encrypting the target content (S223 ).

서비스 노드(100)는 URI로 접근 가능한 컨텐츠에 있어서 업로드 노드(100)의 투명성 검증 처리 요청에 응답하여 블록체인 네트워크(10)의 참여자들이 신뢰할 수 있는 제 3자인 서비스 노드(100)가 대신 타겟 컨텐츠를 수집한다. 이 경우, 단계(S210)의 요청은 상기 타겟 컨텐츠에 접근 가능한 정보(에컨대, URL 정보)를 포함한다. The service node 100 is a target content instead of the service node 100, which is a third party trusted by participants of the blockchain network 10 in response to a request for verification processing of transparency of the upload node 100 in the content accessible by the URI. To collect. In this case, the request of step S210 includes information (for example, URL information) accessible to the target content.

예를 들어, 타겟 컨텐츠가 웹페이지의 화면인 경우, 단계(S210)의 요청을 수신한 서비스 노드(100)는 해당 웹페이지에 액세스한 뒤, 스냅샷 파일을 생성한다(S221). For example, when the target content is a screen of a web page, the service node 100 receiving the request of step S210 accesses the web page and generates a snapshot file (S221).

일 실시예에서, 서비스 노드(100)는 생성된 타겟 컨텐츠에 대한 메타데이터(예: 생성자, 생성 일시, 요청자, 웹브라우저 명 등)를 더 생성할 수 있다. 예를 들어, 서비스 노드(100)는 생성된 스냅샷 파일에 메타 데이터를 기록할 수 있다. 이러한 메타 데이터를 이용하면 파일의 진정성과 원본성이 입증될 수 있다. In one embodiment, the service node 100 may further generate metadata (eg, creator, creation date, requester, web browser name, etc.) for the generated target content. For example, the service node 100 may record metadata in the generated snapshot file. The authenticity and originality of the file can be demonstrated using this metadata.

단계(S223)에서, 공증 서비스 노드(100)는 타겟 컨텐츠를 기밀을 위한 암호화 처리한다.In step S223, the notary service node 100 encrypts the target content for confidentiality.

예를 들어, 공증 서비스 노드(100)는 스냅샷 파일의 해시 값을 생성한 뒤, 공증 서비스 노드(100)의 개인키로 스냅샷 파일의 해시 값을 전자 서명으로 생성하여 스냅샷 파일을 기밀을 위한 암호화 처리한다. For example, the notary service node 100 generates a hash value of the snapshot file, and then generates a hash value of the snapshot file with an electronic signature using the private key of the notary service node 100, thereby protecting the snapshot file for confidentiality. Encrypted.

이와 같이, 데이터(즉, 타겟 컨텐츠)는 블록체인에 저장되기 이전에 공증 서비스 노드(100)에 의해 투명성 검증 처리됨으로써, 블록체인에 데이터를 저장 시 전자 서명, 또는 전자 서명과 메타데이터가 기록된다. 이로 인해, 블록체인 네트워크(10)에 저장된 컨텐츠의 투명성이 입증된다. As described above, the data (ie, target content) is processed for transparency verification by the notary service node 100 before being stored in the blockchain, so that when storing the data in the blockchain, an electronic signature or electronic signature and metadata are recorded. . Due to this, the transparency of the content stored in the blockchain network 10 is verified.

단계(S230 내지 S260)는 제1 실시예의 단계(S130 내지 S160)와 유사므로, 자세한 설명은 생략한다. Since steps S230 to S260 are similar to steps S130 to S160 of the first embodiment, detailed descriptions are omitted.

이상에서 설명한 실시예들에 따른 블록체인 시스템(1) 및 블록체인 네트워크에 위변조 데이터가 저장되는 것을 방지하는 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다. The operation by the blockchain system 1 according to the above-described embodiments and a method for preventing the forgery data from being stored in the blockchain network is at least partially implemented as a computer program, and recorded in a computer-readable recording medium. Can be. For example, implemented with a program product consisting of a computer-readable medium containing program code, which may be executed by a processor for performing any or all of the steps, operations, or procedures described.

상기 컴퓨터는 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북, 스마트 폰, 또는 이와 유사한 것과 같은 컴퓨팅 장치일 수도 있고 통합될 수도 있는 임의의 장치일 수 있다. 컴퓨터는 하나 이상의 대체적이고 특별한 목적의 프로세서, 메모리, 저장공간, 및 네트워킹 구성요소(무선 또는 유선 중 어느 하나)를 가지는 장치다. 상기 컴퓨터는 예를 들어, 마이크로소프트의 윈도우와 호환되는 운영 체제, 애플 OS X 또는 iOS, 리눅스 배포판(Linux distribution), 또는 구글의 안드로이드 OS와 같은 운영체제(operating system)를 실행할 수 있다.The computer may be a desktop computer, a laptop computer, a laptop, a smart phone, or a computing device such as the like, or it may be any device that may be integrated. A computer is a device with one or more alternative, special-purpose processors, memory, storage space, and networking components (either wireless or wired). The computer may, for example, run an operating system such as Microsoft's Windows compatible operating system, Apple OS X or iOS, Linux distribution, or Google's Android OS.

상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록신원확인 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장신원확인 장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다. The computer-readable recording medium includes all types of record identification devices that store data that can be read by a computer. Examples of the computer-readable recording medium include a ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage identification device. In addition, the computer readable recording medium may be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present embodiment will be readily understood by those skilled in the art to which this embodiment belongs.

이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.The present invention described above has been described with reference to the embodiments shown in the drawings, but this is merely exemplary, and those skilled in the art will understand that various modifications and modifications of the embodiments are possible therefrom. However, it should be considered that such modifications are within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

Claims (18)

위변조 데이터가 네트워크에 저장되는 것을 방지하는 방법에 있어서, 상기 네트워크는 하나 이상의 노드가 참여하는 네트워크로서, 각 노드는 네트워크 데이터를 저장하는 분산 스토리지를 포함하고, 상기 방법은:
업로드 노드에 의해, 투명성 검증 처리된 저장 데이터의 생성 요청을 서비스 노드에게 전송하는 단계;
서비스 노드에 의해, 상기 요청에 응답하여 투명성 검증 처리된 저장 데이터를 생성하는 단계; 및
상기 투명성 검증 처리된 저장 데이터를 네트워크에 저장하는 단계를 포함하는 방법.
A method for preventing forgery data from being stored in a network, wherein the network is a network in which one or more nodes participate, each node comprising distributed storage for storing network data, the method comprising:
Transmitting, by the upload node, a request for generating transparency-stored storage data to the service node;
Generating, by a service node, transparency-processed stored data in response to the request; And
And storing the transparency verified storage data in a network.
제1항에 있어서, 상기 요청에 응답하여 투명성 검증 처리된 저장 데이터를 생성하는 단계는,
상기 요청에 기초하여 타겟 컨텐츠를 생성하는 단계;
상기 타겟 컨텐츠의 메타 데이터를 생성하는 단계;
투명성 검증 처리를 위해 상기 타겟 컨텐츠, 메타 데이터 및 이들의 조합 중 하나 이상을 암호화하는 단계; 및
상기 암호화된 데이터를 투명성 검증 처리된 저장 데이터로 생성하는 단계를 포함하는 방법.
The method of claim 1, wherein in response to the request, the step of generating transparency-validated stored data is:
Generating target content based on the request;
Generating meta data of the target content;
Encrypting one or more of the target content, metadata, and combinations thereof for transparency verification processing; And
And generating the encrypted data as stored data with transparency verification processing.
제2항에 있어서,
상기 암호화된 데이터는 상기 서비스 노드의 개인키(private key)를 사용하여 생성된 서비스 노드의 전자 서명을 갖는 데이터인 것을 특징으로 하는 방법.
According to claim 2,
The encrypted data is a method having a digital signature of a service node generated using a private key of the service node.
제3항에 있어서, 상기 저장 데이터를 암호화하는 단계는,
상기 타겟 컨텐츠, 메타 데이터 및 이들의 조합 중 하나 이상을 해시 함수에 입력하여 타겟 컨텐츠의 해시 값을 생성하는 단계; 및
상기 타겟 컨텐츠, 메타 데이터 및 이들의 조합 중 하나 이상의 해시 값을 전자 서명으로 갖는 저장 데이터를 생성하는 단계를 포함하는 방법.
The method of claim 3, wherein the step of encrypting the stored data,
Generating a hash value of the target content by inputting one or more of the target content, metadata, and a combination thereof to a hash function; And
And generating stored data having a hash value of one or more of the target content, metadata, and combinations thereof as an electronic signature.
제2항에 있어서,
상기 메타 데이터는 상기 타겟 컨텐츠의 생성자, 생성 일시, 및 요청자 중 하나 이상을 포함하는 것을 특징으로 하는 방법.
According to claim 2,
The metadata includes one or more of a creator, a creation date and time, and a requestor of the target content.
제2항에 있어서,
상기 요청은 저장 컨텐츠에 액세스하기 위한 정보 및 저장 컨텐츠의 범위에 해당되는 정보 중 하나 이상을 포함하는 것을 특징으로 하는 방법.
According to claim 2,
The request includes one or more of information for accessing the stored content and information corresponding to a range of the stored content.
제1항에 있어서,
상기 저장 데이터를 네트워크에 저장하는 단계는 업로드 노드에 의해 수행되는 것을 특징으로 하는 방법.
According to claim 1,
The step of storing the stored data in a network is performed by an upload node.
제7항에 있어서,
상기 업로드 노드에 의해, 상기 네트워크에 저장하는 단계 이전에, 검증 확인 단계를 더 포함하는 방법.
The method of claim 7,
And by the upload node, prior to storing in the network, further comprising verifying a verification.
제8항에 있어서, 상기 검증 확인 단계는,
상기 저장 데이터를 복호화하는 단계;
상기 타겟 컨텐츠에 대응하는 확인 컨텐츠를 생성하는 단계; 및
상기 타겟 컨텐츠와 확인 컨텐츠를 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 8, wherein the verification confirmation step,
Decoding the stored data;
Generating confirmation content corresponding to the target content; And
And comparing the target content and confirmed content.
제9항에 있어서, 상기 비교하는 단계는,
상기 타겟 컨텐츠와 확인 컨텐츠에서 하나 이상의 데이터를 추출하는 단계;
상기 추출된 데이터의 유형별 비교 알고리즘을 적용하는 단계; 및
상기 타겟 컨텐츠와 확인 컨텐츠 간의 일치성이 소정 값 이상인 경우, 상기 타겟 컨텐츠에 대한 투명성 검증 처리를 유효하다고 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 9, wherein the comparing step,
Extracting one or more data from the target content and confirmation content;
Applying a comparison algorithm for each type of the extracted data; And
And if the correspondence between the target content and the confirmed content is greater than or equal to a predetermined value, determining that the transparency verification processing for the target content is valid.
제10항에 있어서,
상기 추출된 데이터의 유형은 텍스트, 이미지, 동영상 및 음성 중 하나 이상을 포함하는 것을 특징으로 하는 방법.
The method of claim 10,
The type of the extracted data comprises one or more of text, image, video and voice.
제10항에 있어서,
상기 일치성이 소정 값 미만인 경우, 상기 업로드 노드에 의해, 상기 타겟 컨텐츠에 대한 투명성 검증 요청을 재전송하는 단계를 더 포함하는 방법.
The method of claim 10,
And when the correspondence is less than a predetermined value, retransmitting, by the upload node, a transparency verification request for the target content.
제9항에 있어서, 상기 저장 데이터를 복호화하는 단계는,
상기 서비스 노드의 전자 서명을 갖는 투명성 검증 처리된 저장 데이터를 수신하는 단계;
수신된 저장 데이터의 적어도 일부를 해시 함수의 입력으로 사용하여 해시 값을 생성하는 단계;
상기 서비스 노드의 공개키로 상기 수신된 전자 서명을 복호화하는 단계; 및
상기 저장 데이터의 적어도 일부의 해시 값과 상기 전자 서명의 복호화 값을 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
The method of claim 9, wherein the step of decoding the stored data,
Receiving storage data having been processed for transparency verification having an electronic signature of the service node;
Generating a hash value using at least a portion of the received stored data as an input of the hash function;
Decrypting the received electronic signature with the public key of the service node; And
And comparing a hash value of at least a portion of the stored data with a decryption value of the digital signature.
제2항에 있어서, 상기 타겟 컨텐츠를 생성하는 단계는,
상기 서비스 노드가 타겟 컨텐츠를 저장 또는 관리하는 컨텐츠 서비스 노드인 경우, 상기 컨텐츠 서비스 노드에 의해 수행되는 것을 특징으로 하는 방법.
According to claim 2, The step of generating the target content,
When the service node is a content service node that stores or manages target content, the method is performed by the content service node.
제2항에 있어서, 상기 타겟 컨텐츠를 생성하는 단계는,
상기 서비스 노드가 타겟 컨텐츠를 저장 또는 관리하는 컨텐츠 서비스 노드가 아닌 특정 노드인 경우,
상기 타겟 컨텐츠를 생성하기 위해 상기 특정 노드가 상기 컨텐츠 서비스 노드의 타겟 컨텐츠에 액세스하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 2, The step of generating the target content,
When the service node is a specific node other than a content service node that stores or manages target content,
And the target node accessing target content of the content service node to generate the target content.
제15항에 있어서,
상기 특정 노드는 상기 네트워크의 참여자들의 적어도 과반수의 동의를 얻어 결정된 것을 특징으로 하는 방법.
The method of claim 15,
Wherein the particular node is determined with the consent of at least a majority of the participants of the network.
제1항에 있어서,
상기 네트워크에는 상기 투명성 검증 처리된 저장 데이터만이 저장되는 것을 특징으로 하는 방법.
According to claim 1,
The network is characterized in that only the stored data stored in the transparency verification process.
컴퓨터에 의해 판독가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 제1항 내지 제17항 중 어느 하나의 항에 따른 방법을 수행하게 하는 컴퓨터 판독가능 기록매체.A computer readable recording medium storing program instructions readable by a computer and operable by the computer, wherein the processor is any one of claims 1 to 17 when the program instructions are executed by a processor of the computer. A computer readable recording medium for carrying out the method according to one item.
KR1020180156124A 2018-12-06 2018-12-06 Method for preventing falsification data from being stored in network and system performing the method KR102199967B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180156124A KR102199967B1 (en) 2018-12-06 2018-12-06 Method for preventing falsification data from being stored in network and system performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180156124A KR102199967B1 (en) 2018-12-06 2018-12-06 Method for preventing falsification data from being stored in network and system performing the method

Publications (2)

Publication Number Publication Date
KR20200069034A true KR20200069034A (en) 2020-06-16
KR102199967B1 KR102199967B1 (en) 2021-01-11

Family

ID=71141930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180156124A KR102199967B1 (en) 2018-12-06 2018-12-06 Method for preventing falsification data from being stored in network and system performing the method

Country Status (1)

Country Link
KR (1) KR102199967B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112203247A (en) * 2020-09-24 2021-01-08 南方电网科学研究院有限责任公司 Safe storage method and system for electric energy data
KR102403014B1 (en) * 2021-11-10 2022-05-30 인트인 주식회사 Method for preventing forgery of clould container image and checking vulnerability diagnosis

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120053398A (en) * 2010-11-17 2012-05-25 삼성전자주식회사 Validation system and verification method including signature device and verification device to verify contents
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type
KR101712726B1 (en) * 2015-04-27 2017-03-14 갤럭시아커뮤니케이션즈 주식회사 Method and system for verifying integrity and validity of contents using hash code
JP2017188883A (en) * 2017-03-23 2017-10-12 株式会社bitFlyer Private node, processing method in private node, and program therefor
JP2017204704A (en) * 2016-05-10 2017-11-16 日本電信電話株式会社 Validity guarantee method, validity guarantee system and validity guarantee program
KR20180089682A (en) 2017-02-01 2018-08-09 삼성전자주식회사 Electronic apparatus and method for verifing data integrity based on a blockchain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120053398A (en) * 2010-11-17 2012-05-25 삼성전자주식회사 Validation system and verification method including signature device and verification device to verify contents
KR101712726B1 (en) * 2015-04-27 2017-03-14 갤럭시아커뮤니케이션즈 주식회사 Method and system for verifying integrity and validity of contents using hash code
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type
JP2017204704A (en) * 2016-05-10 2017-11-16 日本電信電話株式会社 Validity guarantee method, validity guarantee system and validity guarantee program
KR20180089682A (en) 2017-02-01 2018-08-09 삼성전자주식회사 Electronic apparatus and method for verifing data integrity based on a blockchain
JP2017188883A (en) * 2017-03-23 2017-10-12 株式会社bitFlyer Private node, processing method in private node, and program therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112203247A (en) * 2020-09-24 2021-01-08 南方电网科学研究院有限责任公司 Safe storage method and system for electric energy data
CN112203247B (en) * 2020-09-24 2023-10-20 南方电网科学研究院有限责任公司 Safe storage method and system for electric energy data
KR102403014B1 (en) * 2021-11-10 2022-05-30 인트인 주식회사 Method for preventing forgery of clould container image and checking vulnerability diagnosis

Also Published As

Publication number Publication date
KR102199967B1 (en) 2021-01-11

Similar Documents

Publication Publication Date Title
KR102084674B1 (en) Method for managing content based on blockchain and system performing the method
US20200084045A1 (en) Establishing provenance of digital assets using blockchain system
CN111066019B (en) Processing data elements stored in a blockchain network
US11790111B2 (en) Verifiable consent for privacy protection
US20240187420A1 (en) Securing browser cookies
CN114223175A (en) Generating a sequence of network data while preventing acquisition or manipulation of time data
JP2023096089A (en) Pseudonym event certification by group signature
KR102199967B1 (en) Method for preventing falsification data from being stored in network and system performing the method
KR102608325B1 (en) Protect the integrity of communications on client devices
CN112954403B (en) Video encryption method, device, equipment and storage medium
US20230318835A1 (en) Secure Authentication of Electronic Documents Via A Distributed System
CN115550060B (en) Trusted certificate verification method, device, equipment and medium based on block chain
JP7389235B2 (en) Anonymous event authentication
US20230081416A1 (en) Anonymous private shared partitions in blockchain networks
JP7410280B2 (en) Multiple recipient secure communication
ur Rehman et al. Blockchain-based approach for proving the source of digital media
WO2016172986A1 (en) Data authentication method, device and system, and computer storage medium
CN116938449A (en) Computer-implemented method, storage medium, apparatus and system for preventing fraud
JP7098065B1 (en) Preventing data manipulation and protecting user privacy in telecommunications network measurements
US20240171393A1 (en) Method to validate ownership and authentication of a digital asset
JP2006166354A (en) Method, device and program for preparing electronic signature validity certification data, and method, device and program for confirming justice of electronic signature validity certification data, and method, device and program for confirming electronic signature validity
Babu et al. A Secure Data Dynamics and Public Auditing Scheme for Cloud Storage
CN115280308A (en) License authentication method, device, electronic equipment, system and storage medium
CN117313139A (en) Computer-implemented method, system, medium and product thereof

Legal Events

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