KR20210014084A - 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템 - Google Patents

블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템 Download PDF

Info

Publication number
KR20210014084A
KR20210014084A KR1020200094660A KR20200094660A KR20210014084A KR 20210014084 A KR20210014084 A KR 20210014084A KR 1020200094660 A KR1020200094660 A KR 1020200094660A KR 20200094660 A KR20200094660 A KR 20200094660A KR 20210014084 A KR20210014084 A KR 20210014084A
Authority
KR
South Korea
Prior art keywords
data
hash
verification request
electronic
electronic data
Prior art date
Application number
KR1020200094660A
Other languages
English (en)
Other versions
KR102355918B1 (ko
Inventor
손미환
김건형
Original Assignee
주식회사 그루크리에이티브랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 그루크리에이티브랩 filed Critical 주식회사 그루크리에이티브랩
Publication of KR20210014084A publication Critical patent/KR20210014084A/ko
Application granted granted Critical
Publication of KR102355918B1 publication Critical patent/KR102355918B1/ko

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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

일 실시예들은 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템에 관한 것이다.

Description

블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템{METHOD FOR PROVIDING ELECTORIC DATA USING BLOCK-CHAIN AND SYSTEM THEREOF}
아래 실시예들은 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템에 관한 것이다.
전자 데이터는 위변조가 용이하므로, 전자 데이터에 대한 작성자, 소유자, 배포자, 수신자 등을 신뢰할 수 있는지 확인하는 전자 데이터 검증 플랫폼이 매우 중요하다.
그러나 정부 고시에 의한 허가제 기반의 시점 인증 서비스로는 현재 전자 데이터의 신뢰를 확인하기 위한 방법이 매우 번거롭고 불편하다는 단점이 존재한다. 따라서 스마트 컨트랙트 특성에 기반한 전자 데이터 공증 및 전자 서명 서비스 플랫폼 기술 및 제품 개발이 필요한 시점이다.
한편 복수의 노드에 데이터(예를 들면, 보안 정보 등)를 분산 저장하여, 데이터를 공동으로 관리하는 블록체인 기술의 등장으로, 블록체인이 다양한 분야에 활용되고 있는데, 이러한 블록체인을 활용하는 경우, 하나의 노드가 해킹되더라도 다른 노드에 공유된 정보를 통해 이를 탐지할 수 있기 때문에, 실질적으로 정보의 위변조가 불가능하다.
따라서 이러한 블록체인의 특성을 활용하여, 다양한 전자 데이터를 검증할 수 있는 플랫폼 기술에 대한 시장의 요구가 증대되고 있는 실정이다
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로써, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.
아래 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 일 실시예는 다양한 전자 데이터를 검증할 수 있는 플랫폼 기술을 제공하는 것을 목적으로 한다.
일 실시예가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
일 실시예는 전자 데이터 제공 서버에서 수행되는 블록체인을 이용한 전자 데이터 제공 방법으로, 사용자 단말로부터 전자 문서 또는 메타 데이터인 전자 데이터를 수신하는 동작; 상기 전자 데이터를 블록체인 시점인증 모듈에 입력하여, 상기 전자 데이터의 시점 정보 및 원본 데이터를 추출하는 동작; 상기 시점 정보의 해쉬 데이터를 생성하고, 상기 해쉬 데이터를 블록체인 네트워크에 트랜젝션하여 저장하는 동작; 및 상기 원본 데이터를 암호화키를 이용하여 암호화하고, 상기 암호화된 원본 데이터를 사이드체인 네트워크에 트랜젝션하여 저장하는 동작을 포함하는 전자 데이터 제공 방법을 제공한다.
상기 블록체인 네트워크는 EVM 또는 TVM 기반의 퍼블릭 블록체인 네트워크로 구성된다.
상기 사이드체인 네트워크는 상기 전자 데이터 제공 서버의 내부 메모리, 외부 데이터 스토리지 또는 클라우드 서버로 구성된다.
상기 원본 데이터는 Merkle-Tree 기반의 데이터 구조로 구성되며, 상기 원본 데이터는 진본 데이터 및 상기 진본 데이터가 참조하는 참조 해쉬 정보를 포함하고, 상기 진본 데이터는 자신이 포함된 상위 노드의 상기 참조 해쉬 정보를 참조하도록 구성된 해쉬 정보를 포함한다.
상기 참조 해쉬 정보는 상기 해쉬 데이터의 헤더 해쉬를 참조하도록 구성된다.
일 실시예는 전자 데이터 제공 서버에서 수행되는 블록체인을 이용한 전자 데이터 제공 방법으로, 사용자 단말로부터 사용자가 진위를 검증하려는 검증 요청 데이터를 포함하는 검증 요청 신호를 수신하는 동작; 상기 검증 요청 신호에 따라, 블록체인 네트워크에서 상기 검증 요청 데이터에 대응되는 해쉬 데이터를 검색하고, 사이드체인 네트워크에서 상기 검증 요청 데이터에 대응되는 원본 데이터를 검색하는 동작; 상기 검증 요청 데이터의 해쉬 데이터와 상기 검색된 해쉬 데이터를 비교하여, 상기 검증 요청 데이터의 해쉬 데이터의 진위를 검증하는 동작; 및 상기 검색된 원본 데이터를 복호하고, 상기 검증 요청 데이터와 상기 복호된 원본 데이터를 비교하여, 상기 검증 요청 데이터의 진위를 검증하는 동작을 포함하는 전자 데이터 제공 방법을 제공한다.
일 실시예는 사용자 단말로부터 전자 문서 또는 메타 데이터인 전자 데이터를 수신하도록 구성된 통신부; 상기 전자 데이터를 블록체인 시점인증 모듈에 입력하여, 상기 전자 데이터의 시점 정보 및 원본 데이터를 추출하고, 상기 시점 정보의 해쉬 데이터를 생성하고, 상기 원본 데이터를 암호화키를 이용하여 암호화하도록 구성된 시점 인증 데이터 생성부; 및 상기 해쉬 데이터를 블록체인 네트워크에 트랜젝션하여 저장하고, 상기 암호화된 원본 데이터를 사이드체인 네트워크에 트랜젝션하여 저장하도록 구성된 트랜젝션부를 포함하는 전자 데이터 제공 서버를 제공한다.
일 실시예는 사용자 단말로부터 사용자가 진위를 검증하려는 검증 요청 데이터를 포함하는 검증 요청 신호를 수신하도록 구성된 통신부; 상기 검증 요청 신호에 따라, 블록체인 네트워크에서 상기 검증 요청 데이터에 대응되는 해쉬 데이터를 검색하고, 사이드체인 네트워크에서 상기 검증 요청 데이터에 대응되는 원본 데이터를 검색하고, 상기 검증 요청 데이터의 해쉬 데이터와 상기 검색된 해쉬 데이터를 비교하여, 상기 검증 요청 데이터의 해쉬 데이터의 진위를 검증하고, 상기 검색된 원본 데이터를 복호하고, 상기 검증 요청 데이터와 상기 복호된 원본 데이터를 비교하여, 상기 검증 요청 데이터의 진위를 검증하도록 구성된 데이터 검증부를 포함하는 전자 데이터 제공 서버를 제공한다.
이상에서 설명한 바와 같은 일 실시예들에 따르면, 다양한 전자 데이터를 검증할 수 있는 플랫폼 기술을 제공하되, 전자 데이터의 검증 시간을 단축시킬 수 있으며, 검증할 수 있는 전자 데이터의 크기도 획기적으로 증대시킬 수 있다. 또한, 원본 대조와 함께 데이터 원본을 함께 취득할 수 있어 진본 검증 뿐만 아니라 클라우드 저장소의 보안 향상에도 응용될 수 있다.
일 실시예의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 블록체인을 이용한 전자 데이터 제공 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 전자 데이터 제공 서버의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 해쉬 데이터의 데이터 구조를 도시한 도면이다.
도 4는 일 실시예에 따른 원본 데이터의 데이터 구조를 도시한 도면이다.
도 5는 일 실시예에 따른 해쉬 데이터와 원본 데이터의 관계를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 블록체인 네트워크를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 사이드체인 네트워크를 설명하기 위한 도면이다.
도 8은 일 실시예의 사용자 단말의 구성을 도시한 도면이다.
도 9는 일 실시예에 따른 전자 데이터 트랜젝션 방법의 흐름도이다.
도 10은 일 실시예에 따른 전자 데이터 검증 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 블록체인을 이용한 전자 데이터 제공 시스템(10)을 도시한 도면이다.
도 1을 참조하면, 일 실시예에 따른 전자 데이터 제공 시스템(10)은 전자 데이터 제공 서버(100), 사용자 단말(200) 및 데이터 저장 네트워크(300)를 포함한다.
전자 데이터 제공 시스템(10) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크(미도시)를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.
전자 데이터 제공 시스템(10)은 다양한 형태의 네트워크로 구성될 수 있다. 일례로, 전자 데이터 제공 시스템(10)은 IP Protocol을 이용한 퍼블릭 네트워크(Public Network)로 구성될 수 있으며, 사설 네트워크인 VPN(Virtual Private Network)으로 구성될 수도 있다.
전자 데이터 제공 시스템(10) 내 전자 데이터 제공 서버(100), 사용자 단말(200) 및 데이터 저장 네트워크(300)는 예를 들어, 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), PMP(portable multimedia player) 같은 전자 장치 중 하나로서, 일 실시예와 관련된 어플리케이션의 설치 및 실행이 가능한 모든 전자 장치를 포함할 수 있다. 전자 장치는 어플리케이션의 제어 하에 예를 들어, 서비스 화면의 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등과 같은 서비스 전반의 동작을 수행할 수 있다.
전자 데이터 제공 서버(100)는 사용자 단말(200)로부터 전자 데이터를 수신한다.
일 실시예의 전자 데이터는 (i) 시험 평가 인증서, 계약서와 같은 전자 문서(Electronic Document), (ii) Iot 스마트 센서 취득 데이터, 자동차 관련 데이터, 자동차 사고 데이터와 같은 메타 데이터(Meta Data), (iii) 동영상, 사진, 음악 데이터와 같은 다양한 기타 메타 데이터를 포함할 수 있다. 다만, 일 실시예의 전자 데이터는 전술한 데이터 종류에 한정되지 아니하고, 전자 형식으로 저장된 다양한 데이터를 의미할 수 있다.
일례로, 전자 데이터는 DOC, HWP, PPT, EXL, PDF, Excel, Drawing, 이미지, 동영상의 파일 형식으로, 메타 데이터를 포함하고 있는 데이터 형태의 파일은 무엇이든 적용이 가능하다.
전자 데이터 제공 서버(100)는 전자 데이터를 블록체인 시점인증 모듈에 입력하여, 전자 데이터의 시점 정보(Time Stamp) 및 원본 데이터(Raw Data)를 추출한다.
일 실시예의 블록체인 시점인증 모듈은 BPDF(Blockchain PDF Printer) 모듈로, 입력된 전자 데이터에서 시점 정보 및 원본 데이터를 출력할 수 있다. 일 실시예의 블록체인 시점인증 모듈은 전자 데이터를 가상으로 출력하기 위한 가상 전자 데이터를 출력하는 프린터를 의미한다.
일 실시예의 시점 정보(Time Stamp)는 전자 데이터의 작성자, 소유자, 배포자 등의 진위 여부를 검증할 수 있는 시점 인증 데이터를 의미한다.
전자 데이터 제공 서버(100)는 시점 정보의 해쉬 데이터(Hash Data, 400)를 생성하고, 생성된 해쉬 데이터(400)를 블록체인 네트워크(310)에 트랙젝션하여 저장한다. 해쉬 데이터(400)의 데이터 구조에 대해서는 이하 도 3에서 자세히 설명하도록 한다.
전자 데이터 제공 서버(100)는 원본 데이터를 암호화 키를 이용하여 암호화 또는 전자 서명을 진행하고, 암호화된 원본 데이터(500)를 사이드체인 네트워크(320)에 트랙젝션하여 저장한다. 암호화된 원본 데이터(500)의 데이터 구조에 대해서는 이하 도 4에서 자세히 설명하도록 한다.
전자 데이터 제공 서버(100)는 사용자 단말(200)로부터 검증 요청 신호를 수신한다.
일 실시예의 검증 요청 신호는 사용자가 진위를 검증하려는 검증 요청 데이터를 포함할 수 있다
전자 데이터 제공 서버(100)는 검증 요청 신호에 따라, 블록체인 네트워크(310)에서 검증 요청 데이터에 대응되는 해쉬 데이터(400)를 검색하고, 사이드체인 네트워크(320)에서 검증 요청 데이터에 대응되는 원본 데이터(500)를 검색한다.
전자 데이터 제공 서버(100)는 검증 요청 데이터의 해쉬 데이터와 블록체인 네트워크(310)에서 검색된 해쉬 데이터(400)를 비교하여, 해쉬 데이터(400)의 진위를 검증한다.
전자 데이터 제공 서버(100)는 사이드체인 네트워크(320)에서 검색된 원본 데이터(500)를 복호하고, 검증 요청 데이터와 복호된 원본 데이터(500)를 비교하여, 원본 데이터(500)의 진위를 검증한다.
전자 데이터 제공 서버(100)는 해쉬 데이터(400)와 원본 데이터(500)의 진위를 검증함에 따라, 사용자가 입력한 검증 요청 데이터가 진본인지 여부를 확인할 수 있다.
사용자 단말(200)은 사용자로부터 전자 데이터 및 검증 요청 신호를 입력받아, 전자 데이터 및 검증 요청 신호를 전자 데이터 제공 서버(100)에 전송한다.
사용자 단말(200)은 사용자가 전자 데이터 및 검증 요청 신호를 입력할 수 있는 사용자 인터페이스를 사용자에게 제공한다. 사용자 단말(200)은 사용자 인터페이스를 전자 데이터 제공 서버(100)로부터 전송받아, 사용자에게 제공할 수 있다.
데이터 저장 네트워크(300)는 전자 데이터 제공 서버(100)로부터 전자 데이터의 해쉬 데이터(400) 및 원본 데이터(500)를 전송받아 저장한다.
일 실시예의 데이터 저장 네트워크(300)는 블록체인 네트워크(310) 및 사이드체인 네트워크(320)를 포함할 수 있다. 블록체인 네트워크(310)에 전자 데이터의 해쉬 데이터(400)가 저장되며, 사이드체인 네트워크(320)에 전자 데이터의 원본 데이터(500)가 저장될 수 있다.
일 실시예의 블록체인 네트워크(310)는 EVM 또는 TVM 기반의 퍼블릭 블록체인 네트워크로 구성될 수 있다. 다만, 일 실시예의 블록체인 네트워크(310)는 EVM 또는 TVM 외에 Bitcoin과 같은 다양한 기반 블록체인 네트워크로 구성될 수 있음은 자명하다.
일 실시예의 사이드체인 네트워크(320)는 전자 데이터 제공 서버(100)의 내부 메모리, 외부 데이터 스토리지(Storage) 또는 클라우드 서버로 구성될 수 있다.
이와 같은 일 실시예의 전자 데이터 제공 시스템(10)에 따르면, 전자 데이터의 공증에 소요되는 불편함과 비용 절감 효과를 얻을수 있으며, 클라우드 서버와 블록체인 기술을 이용하기 때문에 국가 간의 경계를 허무는 글로벌한 전자 데이터 신뢰 체계를 구축할 수 있고, 개인의 경우에도 연구 노트, 리포트, 추천서, 사실 확인 등의 서비스를 사용할 수 있게 된다.
그리고, 일 실시예의 전자 데이터 제공 시스템(10)은 보안성이 강력하기 때문에, 각종 기자들이 주고받는 기사에도 적용하여 독점 기사, 특종 기사를 주고받을 수도 있고, 차량사고 발생시 사고율 산정을 위해 제3자의 블랙박스 영상을 주고 받을 수도 있으며 보험사 제출용 및 사고 책임 증빙용 보험료 환급을 위한 운행거리(Km) 데이터를 주고 받을 수도 있다.
또한, 일 실시예의 전자 데이터 제공 시스템(10)은 다양한 형태의 문서 파일에 적용 가능하고, 문서의 작성자, 소유자, 배포자, 수신자 등이 신뢰할 수 있도록 확인이 가능하기 때문에, 정부 고시에 의한 허가제 기반의 시점 인증 서비스를 대체할 수 있게 된다.
도 2는 일 실시예에 따른 전자 데이터 제공 서버(100)의 구성을 도시한 도면이다.
도 2를 참조하면, 일 실시예에 전자 데이터 제공 서버(100)는 제어부(110), 시점 인증 데이터 생성부(120), 트랜젝션부(130), 데이터 검증부(140), 인터페이스 제공부(150), 데이터베이스부(160) 및 통신부(170)를 포함한다.
전자 데이터 제공 서버(100)의 하드웨어 구성은 다양하게 구현될 수 있다. 시점 인증 데이터 생성부(120)와 트랜젝션부(130)를 통합하거나, 시점 인증 데이터 생성부(120)와 데이터 검증부(140)를 통합하여 하드웨어를 구성할 수 있다. 이와 같이, 전자 데이터 제공 서버(100)의 하드웨어 구성은 본 명세서의 기재에 한정되지 아니하며, 다양한 방법과 조합으로 구현될 수 있다.
제어부(110)는 전자 데이터 제공 서버(100)의 다양한 기능을 수행하도록 시점 인증 데이터 생성부(120), 트랜젝션부(130), 데이터 검증부(140), 인터페이스 제공부(150), 데이터베이스부(160) 및 통신부(170)를 제어한다.
그리고, 제어부(110)는 프로세서(Processor), 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있으며, 제어부는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어 또는 이들의 결합에 의해 구현될 수 있다.
시점 인증 데이터 생성부(120)는 사용자 단말(200)로부터 전자 데이터를 입력 받는다.
전술한 바와 같이, 일 실시예의 전자 데이터는 (i) 시험 평가 인증서, 계약서와 같은 전자 문서(Electronic Document), (ii) Iot 스마트 센서 취득 데이터, 자동차 보험 관련 데이터, 자동차 사고 데이터와 같은 메타 데이터, (iii) 동영상, 사진, 음악 데이터와 같은 다양한 기타 메타 데이터를 포함할 수 있다. 다만, 일 실시예의 전자 데이터는 전술한 데이터 종류에 한정되지 아니하고, 전자 형식으로 저장된 다양한 데이터를 의미할 수 있다.
시점 인증 데이터 생성부(120)는 전자 데이터를 블록체인 시점인증 모듈에 입력하여, 전자 데이터의 시점 인증 데이터를 추출한다. 일 실시예의 시점 인증 데이터는 시점 정보(Time Stamp) 및 원본 데이터(Raw Data)를 포함한다.
전술한 바와 같이, 일 실시예의 블록체인 시점인증 모듈은 BPDF(Blockchain PDF Printer) 모듈로, 입력된 전자 데이터에서 시점 정보 및 원본 데이터를 출력할 수 있다. 일 실시예의 블록체인 시점인증 모듈은 전자 데이터를 가상으로 출력하기 위한 가상 전자 데이터를 출력하는 프린터를 의미한다. 그리고, 일 실시예의 시점 정보(Time Stamp)는 전자 데이터의 작성자, 소유자, 배포자 등의 진위 여부를 검증할 수 있는 시점 인증 데이터를 의미한다.
시점 인증 데이터 생성부(120)는 시점 정보의 해쉬 데이터(Hash Data, 400)를 생성하고, 원본 데이터를 암호화 키를 이용하여 암호화 또는 전자 서명을 진행하여 암호화된 원본 데이터(500)를 생성한다.
도 3은 일 실시예에 따른 해쉬 데이터(400)의 데이터 구조을 도시한 도면이다.
도 3을 참조하면, 일 실시예에 따른 해쉬 데이터(400)는 하나의 데이터 블록(Data Block)으로 구성되며, 일 실시예의 해쉬 데이터(400)는 Pre_Hash(410), 타임스탬프(420), Tx_Root(430), 논스값(440)을 포함한다.
여기서, Pre_Hash(410)는 데이터 블록을 해싱한 해쉬 정보이며, 타임스탬프(420)는 데이터 블록의 생성 시간이며, Tx_Root(430)는 데이터 블록의 거래 내역을 모두 해싱한 해쉬 정보이며, 논스값(440)은 작업증명(PoW) 알고리즘에 사용되는 카운터 정보이다.
도 4는 일 실시예에 따른 원본 데이터(500)의 데이터 구조을 도시한 도면이다.
도 4를 참조하면, 일 실시예에 따른 원본 데이터(500)는 Merkle-Tree 기반의 데이터 구조로 구성될 수 있다. 다만, 일 실시예의 원본 데이터(500)는 Merkle-Tree 외 다양한 데이터 구조로 설계 가능하다 하겠다.
일 실시예의 원본 데이터(500)는 진본 데이터(510) 및 진본 데이터(510)가 참조하는 참조 해쉬 정보(520)를 포함한다. 일 실시예의 진본 데이터(510)는 실제 데이터(Data0) 및 실제 데이터(Data0)의 해쉬 정보(Hahs0)를 포함하고, 실제 데이터(Data0)의 해쉬 정보(Hahs0)는 자신이 포함된 노드의 참조 해쉬 정보(520)를 참조한다.
도 5는 일 실시예에 따른 해쉬 데이터(400)와 원본 데이터(500)의 관계를 설명하기 위한 도면이다. 도 5을 참조하면, 일 실시예의 원본 데이터(500)에 포함된 참조 해쉬 정보(520)는 해쉬 데이터(400)의 Tx_Root(430)를 참조한다.
전술한 바와 같이, 전자 데이터의 해쉬 데이터(400)인 데이터 블록은 Tx_Root(430)라는 헤더 해쉬(Header Hash)를 포함하여 블록체인 네트워크(310)에 저장되고, 전자 데이터의 실제 데이터인 원본 데이터(500)는 Merkle-Tree 기반으로 구성된 별도의 사이드체인 네트워크(320)에 저장된다.
다시 말해, 전자 데이터의 해쉬 데이터(400)는 별도의 트랜젝션 전용 노드에 기록되고, 전자 데이터의 실제 데이터인 원본 데이터(500)는 각각의 트랜젝션 별로 독립된 저장 공간을 할당하게 되며, 이렇게 할당된 트랜젝션에 원본 데이터(500)가 기록되는 것이다.
이러한 특성으로 인해, 트랜젝션 당 데이터 크기에 제한이 없게 되며, 사이드체인 네트워크(320)는 트리 구조로 구성되어 있으므로 특정 트랜젝션을 검색하는 데 걸리는 시간 복잡도가 log(n)으로 크게 줄어들게 되는 효과가 있다.
또한, 트랜젝션 수가 많으면 많을수록 이러한 속도는 빨라지는 경향을 보이기 때문에, 기존 블록체인 네트워크와는 큰 차이를 보이며, 실시간으로 큰 트랜젝션 용량을 가지는 데이터를 기록하기에 적합하다.
트랜젝션부(130)는 생성된 해쉬 데이터(400)를 블록체인 네트워크(310)에 트랙젝션하여 저장하고, 암호화된 원본 데이터(500)를 사이드체인 네트워크(320)에 트랙젝션하여 저장한다.
도 6은 일 실시예에 따른 블록체인 네트워크(310)를 설명하기 위한 도면이다.
먼저, 블록체인에 대해 설명하기로 한다. 블록체인이란 거래 정보를 블록으로 연결하여, 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, peer)들의 개인 디지털 장비에 데이터를 분산시켜 저장함으로써, 데이터를 공동으로 관리하는 방식이다.
구체적으로, 블록체인의 기본 구조는 블록(Block)을 잇따라 연결한(Chain) 모음의 형태이며, 피투피(P2P) 방식을 기반으로 한다. 또한, 일정 시간 동안 반수 이상의 참여자들이 거래 내역을 서로 교환해 확인하고 승인하는 과정을 거쳐, 디지털 서명으로 동의한 거래 내역만 하나의 블록으로 만든다. 그리고, 새로 만들어진 블록을 이전 블록체인에 연결하고, 그 사본을 만들어 각 참여자들의 단말에 분산시켜 저장한다.
따라서, 블록체인을 활용하는 경우, 기존 거래 장부용 데이터베이스를 별도로 관리할 필요가 없어 관리 비용이 절감되며, 분산 처리로 해킹이 어려워 금융 거래의 안전성도 향상된다. 블록체인 방식은 주식, 부동산 등의 거래에도 적용 가능하며, 토지 권리 양도나 가정 현관 키 등 보안에 관련된 다양한 분야에 활용될 수 있다.
일 실시예에서는, 복수의 노드(311)를 참여자로 하여 블록체인을 구현하고 있으며, 복수의 노드(311) 각각에 분산되어 저장되는 정보는 해쉬 데이터(400)의 해쉬값 등일 수 있다.
복수의 노드(311)는 복수의 노드(311) 각각에 분산 저장된 정보를 항상 최신 버전으로 유지하여, 해당 정보를 공유하고 있을 수 있다.
복수의 노드(311) 각각은 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등과 같이 무선 통신망을 통하여 외부 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 이 외에도 데스크탑 PC, 태블릿 PC, 랩탑 PC, 셋탑 박스를 포함하는 IPTV와 같이, 네트워크를 통하여 외부 서버와 연결될 수 있는 통신 장치도 포함할 수 있다.
복수의 노드(311) 각각은 상술한 바와 같이, 단말 형태로 구현될 수 있지만, 이에 제한되지 않으며, 특정 업체에서 운영하는 서버 형태로 구현될 수 있다.
복수의 노드(311) 중 단말 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 메모리의 보안 영역에 저장할 수 있으며, 복수의 노드(311) 중 서버 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 데이터베이스의 보안 영역에 저장할 수 있다.
즉, 일 실시예에서는 참여자가 단말로만 구성된 블록체인, 참여자가 서버로만 구성된 블록체인, 참여자가 단말 및 서버 혼합으로 구성된 블록체인 등 다양한 형태의 블록체인을 기반으로 하여 복수의 노드(311)를 구성할 수 있다.
일 실시예의 전자 문서 제공 서버(100)는 블록체인 네트워크 상 하나의 노드로 참여하여, 전자 데이터의 해쉬 데이터(400)를 생성하여 블록체인 네트워크(310)에 제공하게 된다. 다른 복수의 노드(311)는 해쉬 데이터(400)의 위변조를 탐지할 수 있다.
도 7은 일 실시예에 따른 사이드체인 네트워크(320)를 설명하기 위한 도면이다.
사이드체인 네트워크(320)는 원본 데이터(500)가 저장되는 저장 매체로, 일 실시예의 사이드체인 네트워크(320)는 전자 데이터 제공 서버(100)의 내부 메모리, 외부 데이터 스토리지(Storage) 또는 클라우드 서버로 구성될 수 있다.
데이터 검증부(140)는 사용자 단말(200)로부터 검증 요청 신호를 수신한다. 일 실시예의 검증 요청 신호는 사용자가 진위를 검증하려는 검증 요청 데이터를 포함할 수 있다.
데이터 검증부(140)는 검증 요청 신호에 따라, 블록체인 네트워크(310)에서 검증 요청 데이터에 대응되는 해쉬 데이터(400)를 검색하고, 사이드체인 네트워크(320)에서 검증 요청 데이터에 대응되는 원본 데이터(500)를 검색한다.
데이터 검증부(140)는 검증 요청 데이터의 해쉬 데이터와 블록체인 네트워크(310)에서 검색된 해쉬 데이터(400)를 비교하여, 해쉬 데이터(400)의 진위를 검증한다.
데이터 검증부(140)는 사이드체인 네트워크(320)에서 검색된 원본 데이터(500)를 복호하고, 검증 요청 데이터와 복호된 원본 데이터(500)를 비교하여, 원본 데이터(500)의 진위를 검증한다.
데이터 검증부(140)는 해쉬 데이터(400)와 원본 데이터(500)의 진위를 검증함에 따라, 사용자가 입력한 검증 요청 데이터가 진본인지 여부를 확인할 수 있다.
인터페이스 제공부(150)는 사용자 단말(200)에 일 실시예의 전자 데이터 제공 방법의 사용자 인터페이스를 제공한다. 일례로, 인터페이스 제공부(150)는 사용자 단말(200)에 사용자가 전자 데이터 및 검증 요청 신호를 입력할 수 있는 사용자 인터페이스를 제공할 수 있다.
데이터베이스부(160)는 전자 데이터 제공 서버(100)가 일 실시예를 구현하기 위해 필요한 다양한 데이터를 저장한다. 일례로, 데이터베이스부(160)는 전자 데이터, 해쉬 데이터, 원본 데이터, 검증 요청 신호 등을 저장할 수 있다.
통신부(170)는 외부 장치들과 데이터 통신한다. 일례로, 통신부(170)는 사용자 단말(200)로부터 전자 데이터 및 검증 요청 신호를 수신하고, 사용자 단말(200)에 사용자 인터페이스를 전송할 수 있다. 그리고, 통신부(180)는 블록체인 네트워크(310)에 해쉬 데이터(400)를 전송하고, 사이드체인 네트워크(320)에 원본 데이터(500)를 전송할 수 있다.
도 8은 일 실시예의 사용자 단말(200)의 구성을 도시한 도면이다.
이하, 도 8에 도시된 사용자 단말(200)를 구성하는 구성 요소들에 대해 차례로 살펴본다.
무선 통신부(210)는 사용자 단말(200)와 무선 통신 시스템 사이의 무선 통신 또는 사용자 단말(200)와 사용자 단말(200)가 위치한 네트워크 사이의 무선 통신을 수행하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 무선 통신부(210)는 방송 수신 모듈(211), 이동통신 모듈(212), 무선 인터넷 모듈(213), 근거리 통신 모듈(214) 및 위치정보 모듈(215) 등을 포함할 수 있다.
방송 수신 모듈(211)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 여기에서, 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 한편, 방송 관련 정보는 이동통신망을 통하여도 제공될 수 있으며, 이러한 경우에는 이동통신 모듈(212)에 의해 수신될 수 있다.
또한, 이동통신 모듈(212)은 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(213)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 사용자 단말(200)에 내장되거나 외장 될 수 있다.
근거리 통신 모듈(214)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
또한, 위치정보 모듈(215)은 사용자 단말(200)의 위치를 확인하거나 얻기 위한 모듈이다. 일례로 GPS(Global Position System) 모듈을 들 수 있다. GPS 모듈은 복수 개의 인공위성으로부터 위치 정보를 수신한다. 여기에서, 위치 정보는 위도 및 경도로 표시되는 좌표 정보를 포함할 수 있다.
한편, A/V(Audio/Video) 입력부(220)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(221)와 마이크(222) 등이 포함될 수 있다. 카메라(221)는 화상 통화 모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 그리고, 처리된 화상 프레임은 디스플레이부(251)에 표시될 수 있다.
카메라(221)에서 처리된 화상 프레임은 메모리(260)에 저장되거나 무선 통신부(210)를 통하여 외부로 전송될 수 있다. 카메라(221)는 사용자 단말(200)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
카메라(221)는 출력 장치(301, 401)에 부착된 출력 코드를 인식할 수 있다.
마이크(222)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 그리고, 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(212)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(222)는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 구현할 수 있다.
사용자 입력부(230)는 사용자로부터 입력 동작을 받아들여, 사용자 단말(200)의 동작 제어를 위한 입력 데이터를 발생시킨다.
센싱부(240)는 사용자 단말(200)의 위치, 사용자 접촉 유무, 사용자 단말(200)의 방위, 사용자 단말(200)의 가속/감속 등과 같이, 사용자 단말(200)의 현 상태를 감지하여 사용자 단말(200)의 동작을 제어하기 위한 센싱 신호를 발생시킨다.
인터페이스부(270)는 사용자 단말(200)에 연결되는 모든 외부기기와의 인터페이스 역할을 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 포함될 수 있다.
출력부(250)는 오디오 신호 또는 비디오 신호 또는 알람(alarm) 신호의 출력을 위한 것으로, 이에는 디스플레이부(251)와 음향 출력 모듈(252), 알람부(253) 등이 포함될 수 있다.
디스플레이부(251)는 사용자 단말(200)에서 처리되는 정보를 표시 출력한다. 예를 들어, 단말기가 통화 모드인 경우, 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 그리고, 사용자 단말(200)가 화상 통화 모드 또는 촬영 모드인 경우, 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
한편, 전술한 바와 같이, 디스플레이부(251)와 터치 패드가 상호 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(251)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(251)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 사용자 단말(200)의 구현 형태에 따라, 디스플레이부(251)는 2개 이상 존재할 수도 있다. 예를 들어, 사용자 단말(200)에 외부 디스플레이부(미도시)와 내부 디스플레이부(미도시)가 동시에 구비될 수 있다.
음향 출력 모듈(252)은 호 신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서, 무선 통신부(210)로부터 수신되거나 메모리(260)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력 모듈(252)은 사용자 단말(200)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력한다. 이러한 음향 출력 모듈(252)에는 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
알람부(253)는 사용자 단말(200)의 이벤트 발생을 알리기 위한 신호를 출력한다. 단말기에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력 등이 있다.
메모리(260)는 제어부(280)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다.
메모리(260)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
그리고 제어부(280)는 통상적으로 단말기의 전반적인 동작을 제어한다. 예를 들어, 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 또한, 제어부(280)는 멀티 미디어 재생을 위한 멀티미디어 모듈(281)을 구비할 수도 있다. 멀티미디어 모듈(281)은 제어부(280) 내에 구현될 수도 있고, 제어부(280)와 별도로 구현될 수도 있다.
제어부(280)는 사용자로부터 전자 데이터 및 검증 요청 신호를 입력받아, 전자 데이터 및 검증 요청 신호를 전자 데이터 제공 서버(100)에 전송한다.
제어부(280)는 사용자가 전자 데이터 및 검증 요청 신호를 입력할 수 있는 사용자 인터페이스를 사용자에게 제공한다. 제어부(280)는 사용자 인터페이스를 전자 데이터 제공 서버(100)로부터 전송받아, 사용자에게 제공할 수 있다.
전원 공급부(290)는 제어부(280)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
도 9는 일 실시예에 따른 전자 데이터 트랜젝션 방법의 흐름도이다.
도 9를 참조하면, 일 실시예에 따른 전자 데이터 트랜젝션 방법은 전자 데이터 수신 동작(S100), 블록체인 시점인증 모듈 입력 동작(S110), 해쉬 데이터 트랜젝션 동작(S120) 및 원본 데이터 트랜젝션 동작(S130)을 포함한다.
우선, 전자 데이터 수신 동작(S100)으로, 시점 인증 데이터 생성부(120)는 사용자 단말(200)로부터 전자 데이터를 수신한다.
그리고, 블록체인 시점인증 모듈 입력 동작(S110)으로, 시점 인증 데이터 생성부(120)는 전자 데이터를 블록체인 시점인증 모듈에 입력하여, 전자 데이터의 시점 인증 데이터를 추출한다. 일 실시예의 시점 인증 데이터는 시점 정보(Time Stamp) 및 원본 데이터(Raw Data)를 포함한다. 그리고, 시점 인증 데이터 생성부(120)는 시점 정보의 해쉬 데이터(Hash Data, 400)를 생성하고, 원본 데이터를 암호화 키를 이용하여 암호화 또는 전자 서명을 진행하여 암호화된 원본 데이터(500)를 생성한다.
그리고, 해쉬 데이터 트랜젝션 동작(S120)으로, 트랜젝션부(130)는 생성된 해쉬 데이터(400)를 블록체인 네트워크(310)에 트랙젝션하여 저장한다.
그리고, 원본 데이터 트랜젝션 동작(S130)으로, 트랜젝션부(130)는 암호화된 원본 데이터(500)를 사이드체인 네트워크(320)에 트랙젝션하여 저장한다.
도 10은 일 실시예에 따른 전자 데이터 검증 방법의 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 전자 데이터 검증 방법은 검증 요청 수신 동작(S200), 해쉬 데이터 및 원본 데이터 검색 동작(S210), 해쉬 데이터 검증 동작(S220), 원본 데이터 복호 동작(S230) 및 원본 데이터 검증 동작(S240)을 포함한다.
우선, 검증 요청 수신 동작(S200)으로, 데이터 검증부(140)는 사용자 단말(200)로부터 검증 요청 신호를 수신한다. 전술한 바와 같이, 일 실시예의 검증 요청 신호는 사용자가 진위를 검증하려는 검증 요청 데이터를 포함할 수 있다.
그리고, 해쉬 데이터 및 원본 데이터 검색 동작(S210)으로, 데이터 검증부(140)는 검증 요청 신호에 따라, 블록체인 네트워크(310)에서 검증 요청 데이터에 대응되는 해쉬 데이터(400)를 검색하고, 사이드체인 네트워크(320)에서 검증 요청 데이터에 대응되는 원본 데이터(500)를 검색한다.
그리고, 해쉬 데이터 검증 동작(S220)으로, 데이터 검증부(140)는 검증 요청 데이터의 해쉬 데이터와 블록체인 네트워크(310)에서 검색된 해쉬 데이터(400)를 비교하여, 해쉬 데이터(400)의 진위를 검증한다.
그리고, 원본 데이터 복호 동작(S230)으로, 데이터 검증부(140)는 사이드체인 네트워크(320)에서 검색된 원본 데이터(500)를 복호한다.
그리고, 원본 데이터 검증 동작(S240)으로, 데이터 검증부(140)는 검증 요청 데이터와 복호된 원본 데이터(500)를 비교하여, 원본 데이터(500)의 진위를 검증한다.
이로써, 데이터 검증부(140)는 해쉬 데이터(400)와 원본 데이터(500)의 진위를 검증함에 따라, 사용자가 입력한 검증 요청 데이터가 진본인지 여부를 확인할 수 있다.
여기에 설명되는 다양한 실시예는 예를 들어 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여, 컴퓨터로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시 예들이 제어부(280)에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시 예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 메모리(260)에 저장되고, 제어부(280)에 의해 실행될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 프로세싱 유닛(Graphics Processing Unit; GPU), ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 주문형 집적 회로(Application Specific Integrated Circuits; ASICS), 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (13)

  1. 전자 데이터 제공 서버에서 수행되는 블록체인을 이용한 전자 데이터 제공 방법으로,
    사용자 단말로부터 전자 문서 또는 메타 데이터인 전자 데이터를 수신하는 동작;
    상기 전자 데이터를 블록체인 시점인증 모듈에 입력하여, 상기 전자 데이터의 시점 정보 및 원본 데이터를 추출하는 동작;
    상기 시점 정보의 해쉬 데이터를 생성하고, 상기 해쉬 데이터를 블록체인 네트워크에 트랜젝션하여 저장하는 동작; 및
    상기 원본 데이터를 암호화키를 이용하여 암호화하고, 상기 암호화된 원본 데이터를 사이드체인 네트워크에 트랜젝션하여 저장하는 동작을 포함하는
    전자 데이터 제공 방법.
  2. 제 1 항에 있어서,
    상기 블록체인 네트워크는
    EVM 또는 TVM 기반의 퍼블릭 블록체인 네트워크로 구성된
    전자 데이터 제공 방법.
  3. 제 1 항에 있어서,
    상기 사이드체인 네트워크는
    상기 전자 데이터 제공 서버의 내부 메모리, 외부 데이터 스토리지 또는 클라우드 서버로 구성된
    전자 데이터 제공 방법.
  4. 제 1 항에 있어서,
    상기 원본 데이터는 Merkle-Tree 기반의 데이터 구조로 구성되며,
    상기 원본 데이터는 진본 데이터 및 상기 진본 데이터가 참조하는 참조 해쉬 정보를 포함하고,
    상기 진본 데이터는 자신이 포함된 상위 노드의 상기 참조 해쉬 정보를 참조하도록 구성된 해쉬 정보를 포함하는
    전자 데이터 제공 방법.
  5. 제 4 항에 있어서,
    상기 참조 해쉬 정보는
    상기 해쉬 데이터의 헤더 해쉬를 참조하도록 구성된
    전자 데이터 제공 방법.
  6. 전자 데이터 제공 서버에서 수행되는 블록체인을 이용한 전자 데이터 제공 방법으로,
    사용자 단말로부터 사용자가 진위를 검증하려는 검증 요청 데이터를 포함하는 검증 요청 신호를 수신하는 동작;
    상기 검증 요청 신호에 따라, 블록체인 네트워크에서 상기 검증 요청 데이터에 대응되는 해쉬 데이터를 검색하고, 사이드체인 네트워크에서 상기 검증 요청 데이터에 대응되는 원본 데이터를 검색하는 동작;
    상기 검증 요청 데이터의 해쉬 데이터와 상기 검색된 해쉬 데이터를 비교하여, 상기 검증 요청 데이터의 해쉬 데이터의 진위를 검증하는 동작; 및
    상기 검색된 원본 데이터를 복호하고, 상기 검증 요청 데이터와 상기 복호된 원본 데이터를 비교하여, 상기 검증 요청 데이터의 진위를 검증하는 동작을 포함하는
    전자 데이터 제공 방법.
  7. 사용자 단말로부터 전자 문서 또는 메타 데이터인 전자 데이터를 수신하도록 구성된 통신부;
    상기 전자 데이터를 블록체인 시점인증 모듈에 입력하여, 상기 전자 데이터의 시점 정보 및 원본 데이터를 추출하고, 상기 시점 정보의 해쉬 데이터를 생성하고, 상기 원본 데이터를 암호화키를 이용하여 암호화하도록 구성된 시점 인증 데이터 생성부; 및
    상기 해쉬 데이터를 블록체인 네트워크에 트랜젝션하여 저장하고, 상기 암호화된 원본 데이터를 사이드체인 네트워크에 트랜젝션하여 저장하도록 구성된 트랜젝션부를 포함하는
    전자 데이터 제공 서버.
  8. 제 7 항에 있어서,
    상기 블록체인 네트워크는
    EVM 또는 TVM 기반의 퍼블릭 블록체인 네트워크로 구성된
    전자 데이터 제공 서버.
  9. 제 7 항에 있어서,
    상기 사이드체인 네트워크는
    상기 전자 데이터 제공 서버의 내부 메모리, 외부 데이터 스토리지 또는 클라우드 서버로 구성된
    전자 데이터 제공 서버.
  10. 제 7 항에 있어서,
    상기 원본 데이터는 Merkle-Tree 기반의 데이터 구조로 구성되며,
    상기 원본 데이터는 진본 데이터 및 상기 진본 데이터가 참조하는 참조 해쉬 정보를 포함하고,
    상기 진본 데이터는 자신이 포함된 상위 노드의 상기 참조 해쉬 정보를 참조하도록 구성된 해쉬 정보를 포함하는
    전자 데이터 제공 서버.
  11. 제 10 항에 있어서,
    상기 참조 해쉬 정보는
    상기 해쉬 데이터의 헤더 해쉬를 참조하도록 구성된
    전자 데이터 제공 서버.
  12. 사용자 단말로부터 사용자가 진위를 검증하려는 검증 요청 데이터를 포함하는 검증 요청 신호를 수신하도록 구성된 통신부;
    상기 검증 요청 신호에 따라, 블록체인 네트워크에서 상기 검증 요청 데이터에 대응되는 해쉬 데이터를 검색하고, 사이드체인 네트워크에서 상기 검증 요청 데이터에 대응되는 원본 데이터를 검색하고, 상기 검증 요청 데이터의 해쉬 데이터와 상기 검색된 해쉬 데이터를 비교하여, 상기 검증 요청 데이터의 해쉬 데이터의 진위를 검증하고, 상기 검색된 원본 데이터를 복호하고, 상기 검증 요청 데이터와 상기 복호된 원본 데이터를 비교하여, 상기 검증 요청 데이터의 진위를 검증하도록 구성된 데이터 검증부를 포함하는
    전자 데이터 제공 서버.
  13. 하드웨어와 결합되어 제 1 항 내지 제 6 항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.

KR1020200094660A 2019-07-29 2020-07-29 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템 KR102355918B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190091407 2019-07-29
KR1020190091407 2019-07-29

Publications (2)

Publication Number Publication Date
KR20210014084A true KR20210014084A (ko) 2021-02-08
KR102355918B1 KR102355918B1 (ko) 2022-02-07

Family

ID=74560389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200094660A KR102355918B1 (ko) 2019-07-29 2020-07-29 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102355918B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102515367B1 (ko) * 2023-01-20 2023-03-30 주식회사 그래파이 블록체인 기반 데이터 공유 방법
KR20230060829A (ko) * 2021-10-28 2023-05-08 주식회사 라온스토리 신원 인증용 블록체인 네트워크에 기반한 시험성적서의 유효성 검증 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261884A1 (en) * 2014-03-17 2015-09-17 Qualcomm Incorporated Hash-based encoder search for intra block copy
US20180082043A1 (en) * 2016-09-20 2018-03-22 Nant Holdings Ip, Llc Sample tracking via sample tracking chains, systems and methods
WO2019058240A1 (en) * 2017-09-22 2019-03-28 nChain Holdings Limited INTELLIGENT CONTRACT EXECUTION USING DISTRIBUTED COORDINATION
KR102002488B1 (ko) * 2019-04-02 2019-07-23 주식회사 한국정보보호경영연구소 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261884A1 (en) * 2014-03-17 2015-09-17 Qualcomm Incorporated Hash-based encoder search for intra block copy
US20180082043A1 (en) * 2016-09-20 2018-03-22 Nant Holdings Ip, Llc Sample tracking via sample tracking chains, systems and methods
WO2019058240A1 (en) * 2017-09-22 2019-03-28 nChain Holdings Limited INTELLIGENT CONTRACT EXECUTION USING DISTRIBUTED COORDINATION
KR102002488B1 (ko) * 2019-04-02 2019-07-23 주식회사 한국정보보호경영연구소 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230060829A (ko) * 2021-10-28 2023-05-08 주식회사 라온스토리 신원 인증용 블록체인 네트워크에 기반한 시험성적서의 유효성 검증 시스템
KR102515367B1 (ko) * 2023-01-20 2023-03-30 주식회사 그래파이 블록체인 기반 데이터 공유 방법

Also Published As

Publication number Publication date
KR102355918B1 (ko) 2022-02-07

Similar Documents

Publication Publication Date Title
US10839070B1 (en) Securely executing smart contract operations in a trusted execution environment
CN111566649B (zh) 使用公有侧链验证存储在联盟区块链中的数据的完整性
CN110520884B (zh) 基于可信执行环境的链外智能合约服务
CA3058013C (en) Managing sensitive data elements in a blockchain network
US10637659B1 (en) Preventing misrepresentation of input data by participants in a secure multi-party computation
CN112711774B (zh) 数据处理方法、装置、设备及存储介质
WO2020147489A1 (zh) 区块链交易的生成方法和装置
US10778445B1 (en) Processing data elements stored in blockchain networks
US8719573B2 (en) Secure peer discovery and authentication using a shared secret
CN110892434A (zh) 基于区块链网络转移数字票券
US20150372813A1 (en) System and method for generating a random number
KR20140050322A (ko) 사용자 디바이스의 고유 식별자 제공 방법 및 장치
CN110611657A (zh) 一种基于区块链的文件流处理的方法、装置及系统
AU2019204724B2 (en) Cryptography chip with identity verification
CN110445840B (zh) 一种基于区块链技术的文件存储和读取的方法
KR102355918B1 (ko) 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템
CN110737905B (zh) 数据授权方法、数据授权装置及计算机存储介质
CN111832046B (zh) 一种基于区块链技术的可信数据存证方法
US20220053123A1 (en) Method and apparatus for independent authentication of video
CN115174260B (zh) 数据验证方法、装置、计算机、存储介质和程序产品
KR101591323B1 (ko) 데이터 전송이 가능한 단말 장치 및 상기 데이터 전송이 가능한 단말 장치의 부인 방지를 위한 데이터 전송 방법
CN115426195B (zh) 数据传输方法、装置、计算机设备和存储介质
Yan et al. Interface Control and Status Monitoring of Electronic Information Equipment based on Nonlinear Data Encryption

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right