KR101868029B1 - 블록체인 기반의 파일 공유 방법 및 시스템 - Google Patents

블록체인 기반의 파일 공유 방법 및 시스템 Download PDF

Info

Publication number
KR101868029B1
KR101868029B1 KR1020170030464A KR20170030464A KR101868029B1 KR 101868029 B1 KR101868029 B1 KR 101868029B1 KR 1020170030464 A KR1020170030464 A KR 1020170030464A KR 20170030464 A KR20170030464 A KR 20170030464A KR 101868029 B1 KR101868029 B1 KR 101868029B1
Authority
KR
South Korea
Prior art keywords
file
hash value
nodes
node
block chain
Prior art date
Application number
KR1020170030464A
Other languages
English (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 KR1020170030464A priority Critical patent/KR101868029B1/ko
Application granted granted Critical
Publication of KR101868029B1 publication Critical patent/KR101868029B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F17/30194
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일 실시예에 따르면, 블록체인을 기반으로 파일을 공유하기 위한 방법으로서, 상기 블록체인 상에서의 복수의 노드 중 어느 하나로부터 파일이 업로드되면, 상기 파일의 해쉬값이 상기 블록체인 상에서 공유되어, 상기 복수의 노드 각각에 상기 해쉬값이 저장되고, 상기 파일이 분할된 복수의 서브 파일이 상기 복수의 노드 각각에 분산 저장되는 단계; 상기 복수의 노드 중 적어도 하나에서 현재 파일의 해쉬값을 추출하고, 추출된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하는 단계; 및 상기 확인 결과, 상기 현재 파일이 인증된 것으로 확인되면, 상기 복수의 노드 중 적어도 하나에서 상기 분산 저장된 복수의 서브 파일을 다운로드하여, 상기 다운로드된 복수의 서브 파일의 조합으로 상기 파일을 생성하는 단계를 포함하는, 블록체인 기반의 파일 공유 방법이 제공된다.

Description

블록체인 기반의 파일 공유 방법 및 시스템{METHOD AND SYSTEM FOR SHARING FILE BASED ON BLOCKCHAIN}
본 발명은 블록체인 기반의 파일 공유 방법 및 시스템에 관한 것으로, 더욱 상세하게는, 블록체인 상에서 공유되는 파일을 복수의 서브 파일로 분할하여, 분할된 복수의 서브 파일이 복수의 노드 각각에 분산 저장되도록 하는 파일 공유 방법 및 시스템에 관한 것이다.
기존의 파일 공유 시스템은 중앙 서버에 모든 데이터를 저장하여, 파일의 위변조를 방지하고자 고성능의 보안 장치를 구비해야 하기 때문에, 많은 비용이 들 수 밖에 없으며, 이러한 방식으로는 모든 파일이 중앙 서버에 보관되어 있어, 중앙 서버의 해킹만으로 정보 유출이 발생될 수 있으므로, 보안성이 취약할 수 밖에 없다.
또한, 기업마다 운영하는 파일 공유 시스템을 구축하는데 있어, 외부로부터의 공격점이 중앙 서버에 집중되어 단일하게 형성됨에 따라, 보안을 위해 필요한 운영 비용 등이 많이 소모되는 문제도 있다.
한편, 복수의 노드에 보안 정보를 분산 저장하여, 보안 정보를 공동으로 관리하는 블록체인 기술의 등장으로, 블록체인이 다양한 분야에 활용되고 있는데, 이러한 블록체인을 활용하는 경우, 하나의 노드가 해킹되더라도 다른 노드에 공유된 정보를 통해 이를 파악할 수 있기 때문에, 실질적으로 정보의 위변조가 불가능하다.
따라서, 위변조가 불가능한 블록체인을 활용하여 무결성을 보장하는 파일 공유 시스템을 구성하고, 중앙 서버가 없이 분산화된 P2P 시스템을 통해 보안성이 향상된 방식으로 파일을 공유하고자 하는 요구가 증대되고 있으며, 상술한 문제점을 해결하기 위한 방안이 시급한 실정이다.
본 발명은 전술한 종래기술의 문제점을 해결하기 위한 것으로, 블록체인 상에서 공유되는 파일을 복수의 서브 파일로 분할하여, 분할된 복수의 서브 파일이 복수의 노드 각각에 분산 저장되도록 하는 파일 공유 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 블록체인을 기반으로 파일을 공유하기 위한 방법으로서, 상기 블록체인 상에서의 복수의 노드 중 어느 하나로부터 파일이 업로드되면, 상기 파일의 해쉬값이 상기 블록체인 상에서 공유되어, 상기 복수의 노드 각각에 상기 해쉬값이 저장되고, 상기 파일이 분할된 복수의 서브 파일이 상기 복수의 노드 각각에 분산 저장되는 단계; 상기 복수의 노드 중 적어도 하나에서 현재 파일의 해쉬값을 추출하고, 추출된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하는 단계; 및 상기 확인 결과, 상기 현재 파일이 인증된 것으로 확인되면, 상기 복수의 노드 중 적어도 하나에서 상기 분산 저장된 복수의 서브 파일을 다운로드하여, 상기 다운로드된 복수의 서브 파일의 조합으로 상기 파일을 생성하는 단계를 포함하는, 블록체인 기반의 파일 공유 방법이 제공된다.
상기 현재 파일에 대한 진위여부를 확인하는 단계는, 상기 복수의 서브 파일 각각에 생성된 해쉬값을 기초로, 상기 현재 파일의 해쉬값을 계산하고, 상기 계산된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하는 단계를 포함할 수 있다.
상기 분산 저장된 복수의 서브 파일의 고유값은, 상기 파일의 해쉬값과 매칭될 수 있다.
상기 파일의 해쉬값은, 상기 복수의 서브 파일 중 적어도 하나가 변경되면, 값이 변경될 수 있다.
상기 블록체인 기반의 파일 공유 방법은, 상기 복수의 노드 중 어느 하나인 제1 노드에서, 상기 복수의 노드 중 다른 하나인 제2 노드의 공개키로 상기 파일의 해쉬값을 암호화하는 단계; 및 상기 제2 노드에서, 상기 제2 노드의 개인키로 상기 암호화된 해쉬값을 복호화하면, 상기 파일을 다운로드하기 위한 권한을 획득하는 단계를 더 포함할 수 있다.
상기 파일은, 상기 블록체인 상에서 웹하드, 메신저 및 이메일 중 적어도 하나를 통해 공유될 수 있다.
상술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 블록체인을 기반으로 파일을 공유하기 위한 시스템으로서, 상기 블록체인 상에서 파일의 해쉬값을 공유하여 저장하는 복수의 노드를 포함하되, 상기 복수의 노드는, 상기 복수의 노드 중 어느 하나로부터 파일이 업로드되면, 상기 파일의 해쉬값을 상기 블록체인 상에서 공유하여 저장하며, 상기 복수의 노드 각각은, 상기 파일이 분할된 복수의 서브 파일을 분산하여 저장하며, 상기 복수의 노드 중 적어도 하나는, 현재 파일의 해쉬값을 추출하고, 추출된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하며, 상기 확인 결과, 상기 현재 파일이 인증된 것으로 확인되면, 상기 분산 저장된 복수의 서브 파일을 다운로드하여, 상기 다운로드된 복수의 서브 파일의 조합으로 상기 파일을 생성하는, 블록체인 기반의 파일 공유 시스템이 제공된다.
상기 복수의 노드 중 적어도 하나는, 상기 복수의 서브 파일 각각에 생성된 해쉬값을 기초로, 상기 현재 파일의 해쉬값을 계산하고, 상기 계산된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인할 수 있다.
상기 분산 저장된 복수의 서브 파일의 고유값은, 상기 파일의 해쉬값과 매칭될 수 있다.
상기 파일의 해쉬값은, 상기 복수의 서브 파일 중 적어도 하나가 변경되면, 값이 변경될 수 있다.
상기 복수의 노드 중 어느 하나인 제1 노드는, 상기 복수의 노드 중 다른 하나인 제2 노드의 공개키로 상기 파일의 해쉬값을 암호화하고, 상기 제2 노드는, 상기 제2 노드의 개인키로 상기 암호화된 해쉬값을 복호화하면, 상기 파일을 다운로드하기 위한 권한을 획득할 수 있다.
상기 파일은, 상기 블록체인 상에서 웹하드, 메신저 및 이메일 중 적어도 하나를 통해 공유될 수 있다.
본 발명의 일 실시예에 따르면, 블록체인을 기반으로 파일을 공유함으로써, 복수의 노드 각각에 대용량의 파일이 분산되어 저장될 수 있으므로, 대용량 파일 서버가 필요하지 않아 비용을 절감시킬 수 있다.
또한, 본 발명의 일 실시예에 따르면, 복수의 노드에 구비된 기존 장비를 이용하여, 복수의 노드에 분산 저장된 파일들을 효율적으로 관리할 수 있으므로, 파일 공유 시스템을 구현하는데 있어, 중앙 서버 없이 시스템 구축이 가능하여, 시스템의 구축 비용과 운영 비용을 절감시킬 수 있다.
또한, 본 발명의 일 실시예에 따르면, 위변조가 불가능한 블록체인을 활용하여, 블록체인 상에서 공유되는 파일의 무결성을 보장할 뿐만 아니라, 파일을 복수의 서브 파일로 분할하여, 복수의 서브 파일을 복수의 노드에 분산 저장함으로써, 중앙 서버가 없는 분산화된 P2P 시스템을 통해 정보 유출을 방지할 수 있으므로, 공유되는 파일에 대한 보안성을 향상시킬 수 있다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 파일 공유 시스템을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 블록체인을 기반으로 파일을 공유하는 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 복수의 서브 파일 각각에 생성된 해쉬값을 트리 구조로 도시한 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 파일 공유 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반의 파일 공유 시스템은 통신망을 통해 서로 통신 가능한 복수의 노드(100)로 구성될 수 있다.
먼저, 블록체인에 대해 설명하기로 한다. 블록체인이란 온라인 금융 거래 정보를 블록으로 연결하여, 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, peer)들의 디지털 장비에 정보를 분산시켜 저장함으로써, 보안 정보를 공동으로 관리하는 방식이다.
구체적으로, 블록체인의 기본 구조는 블록(block)을 잇따라 연결한(chain) 모음의 형태이며, 피투피(P2P) 방식을 기반으로 한다. 또한, 일정 시간 동안 반수 이상의 참여자들이 거래 내역을 서로 교환해 확인하고 승인하는 과정을 거쳐, 디지털 서명으로 동의한 금융 거래 내역만 하나의 블록으로 만든다. 그리고, 새로 만들어진 블록을 이전 블록체인에 연결하고, 그 사본을 만들어 각 참여자들의 단말에 분산시켜 저장한다.
따라서, 블록체인을 활용하는 경우, 기존 은행처럼 거래 장부용 데이터베이스를 별도로 관리할 필요가 없어 관리 비용이 절감되며, 분산 처리로 해킹이 어려워 금융 거래의 안전성도 향상된다. 블록체인 방식은 주식, 부동산 등의 거래에도 적용 가능하며, 토지 권리 양도나 가정 현관 키 등 보안에 관련된 다양한 분야에 활용될 수 있다.
본 발명에서는, 복수의 노드(100)를 참여자로 하여 블록체인을 구현하고 있으며, 복수의 노드(100) 각각에 분산되어 저장되는 정보는 파일의 해쉬값, 파일이 분할된 서브 파일 등일 수 있다.
본 발명의 일 실시예에 따르면, 파일은 보안이 필요한 문서 파일일 수 있는데, 이에 제한되지 않으며, 이미지 파일, 동영상 파일 등 다양한 형태로 구현될 수 있으며, 복수의 노드(100) 각각에 파일이 저장되는 경우, 하나의 파일이 여러 개로 분할되어, 분할된 서브 파일들이 분산 저장될 수 있다.
복수의 노드(100) 각각에 저장된 해쉬값에 대해서는 항상 최신 버전으로 유지하여 블록체인 상에서 공유되고 있을 수 있으며, 복수의 노드(100) 각각에 분산 저장된 서브 파일에 대해서는 복수의 노드(100) 중 적어도 하나의 노드에서 각각의 서브 파일을 저장하고 있을 수 있다.
복수의 노드(100) 각각은 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등과 같이 무선 통신망을 통하여 외부 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 이 외에도 데스크탑 PC, 태블릿 PC, 랩탑 PC, 셋탑 박스를 포함하는 IPTV와 같이, 네트워크를 통하여 외부 서버와 연결될 수 있는 통신 장치도 포함할 수 있다.
복수의 노드(100) 각각은 상술한 바와 같이, 단말 형태로 구현될 수 있지만, 이에 제한되지 않으며, 특정 업체에서 운영하는 서버 형태로 구현될 수 있다.
복수의 노드(100) 중 단말 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 메모리의 보안 영역에 저장할 수 있으며, 복수의 노드(100) 중 서버 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 데이터베이스의 보안 영역에 저장할 수 있다.
즉, 본 발명에서는 참여자가 단말로만 구성된 블록체인, 참여자가 서버로만 구성된 블록체인, 참여자가 단말 및 서버 혼합으로 구성된 블록체인 등 다양한 형태의 블록체인을 기반으로 하여 복수의 노드(100)를 구성할 수 있다.
도 2는 본 발명의 일 실시예에 따른 블록체인을 기반으로 파일을 공유하는 과정을 도시한 도면이다.
먼저, 블록체인을 구성하고 있는 복수의 노드(100)는 제1 노드(110), 제2 노드(120) 등을 포함할 수 있으며, 복수의 노드(100) 각각은 단말 형태로 구현될 수 있고, 서버 형태로 구현될 수도 있다.
① 파일 업로드 단계에서, 블록체인 상에서의 복수의 노드(100) 중 어느 하나에서 파일을 생성하여 업로드할 수 있다. 예를 들어, 제1 노드(110)는 보안을 필요로 하는 보안 문서, 이미지, 동영상 등의 파일을 생성하여 업로드할 수 있다.
복수의 노드(100) 중 적어도 하나에는 파일을 업로드하고, 다운로드하기 위한 파일 공유 프로그램이 설치되어 있을 수 있으며, 전자서명 절차 등을 통해 승인이 완료된 사용자만이 파일 공유 프로그램을 이용하여 파일을 업로드할 수 있다.
예를 들어, 제1 노드(110) 및 제2 노드(120)에는 파일 공유 프로그램이 설치되어 있는데, 제1 사용자에게만 파일 업로드 권한이 부여되어 있는 경우, 제1 사용자가 제1 노드(110)를 통해 전자서명 승인을 완료하면, 제1 노드(110)에서는 파일을 업로드할 수 있으며, 제2 사용자에게 파일 다운로드 권한만 부여되어 있는 경우, 제2 사용자가 제2 노드(120)를 통해 전자서명 승인을 완료하더라도, 제2 노드(120)에서는 파일을 업로드하지 못할 수 있다.
즉, 파일을 업로드할 수 있는 권한을 사용자 별로 지정하여, 권한이 부여된 사용자만이 블록체인 상에서 공유되는 파일을 업로드할 수 있다.
파일 업로드 시에는 업로드 주체가 되는 노드 또는 그외 다른 서버에 의해 업로드 대상 파일에 대한 무결성 확인이 수행되고, 무결성 검증이 완료된 경우에만 해당 파일의 업로드가 가능해지도록 구현할 수 있다. 이를 위해, 파일 업로드 주체가 되는 노드 또는 그외 다른 서버에 무결성 확인을 위한 알고리즘이 포함되어 있을 수 있다.
본 발명의 일 실시예에 따르면, 제1 노드(110)에서 업로드한 파일은 블록체인 상에서 웹하드, 메신저 및 이메일 중 적어도 하나를 통해 공유될 수 있으며, 공유되는 파일을 송수신하기 위해, 복수의 노드(100) 각각에는 웹하드, 메신저 및 이메일 중 적어도 하나를 실행하기 위한 어플리케이션이 설치되어 있어, 해당 어플리케이션을 통해 공유되는 파일이 송수신될 수 있다.
즉, 블록체인 상에서 웹하드, 메신저 및 이메일 중 적어도 하나를 통해 보안 문서 등의 파일이 공유될 수 있으며, 파일을 공유하는 매개체는 웹하드, 메신저 및 이메일 이외에도 다양한 인터페이스를 통해 구현될 수 있다.
제1 노드(110)에서 파일을 생성하여 업로드하는 경우, 제1 노드(110) 자체적으로 파일의 해쉬값을 생성할 수 있으며, 제1 노드(110)에 구비된 형상관리 시스템을 통해 파일의 해쉬값을 생성할 수도 있다.
이를 위해, 복수의 노드(100) 각각에는 파일의 업로드 및 다운로드 사항을 관리하는 형상관리 시스템이 구비되어 있을 수 있는데, 형상관리 시스템이란 파일의 기능적 속성이나 물리적 속성을 문서화하고, 파일의 속성을 관리하며, 변경 과정이나 실현 상황을 기록 및 보고하여 미리 지정된 요건이 충족되었다는 사실을 검증하는 시스템으로, 형상관리 시스템은 파일의 업로드 및 다운로드 내역을 형상관리 내역에 반영하여, 파일의 업로드 및 다운로드 내역을 관리할 수 있으며, 파일의 업로드 및 다운로드 내역은 블록체인 상에서 공유되어, 복수의 노드(100) 각각이 구비한 형상관리 시스템에 저장될 수도 있다.
② 해쉬값 공유 단계에서, 제1 노드(110)로부터 파일이 업로드되면, 등록된 파일의 해쉬값이 블록체인 상에서 공유될 수 있으며, 복수의 노드(100) 각각은 블록체인 상에서 공유되는 해쉬값을 시스템의 보안 영역에 저장하여 관리할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 노드(100)에서 반수 이상의 노드에만 해쉬값이 공유될 수 있으며, 복수의 노드(100)에서 모든 노드에 해쉬값이 공유될 수도 있다.
③ 서브 파일 분산 저장 단계에서, 제1 노드(110)로부터 업로드된 파일이 분할되어 복수의 서브 파일이 생성될 수 있으며, 복수의 서브 파일이 복수의 노드(100) 각각에 분산 저장될 수 있다. 이 때, 제1 노드(110)는 파일 업로드 시 해당 파일을 복수의 서브 파일로 분할할 수 있으며, 복수의 서브 파일을 P2P 방식으로 전송하여 복수의 노드(100) 각각에 분할된 서브 파일들이 분산 저장될 수 있다.
예를 들어, 제1 노드(110)에서는 블록체인 상에 파일을 업로드 할 때, 해당 파일을 제1 서브 파일, 제2 서브 파일, 제3 서브 파일 등으로 분할할 수 있으며, 제1 노드(110)에는 제1 서브 파일이 저장되고, 제2 노드(120)에는 제2 서브 파일이 저장되고, 제3 노드(미도시)에는 제3 서브 파일이 저장되도록 하여, 복수의 서브 파일이 복수의 노드(100) 각각에 분산 저장될 수 있다.
파일을 업로드 하는 주체인 제1 노드(110)에는 복수의 서브 파일 중 적어도 하나가 저장될 수 있지만, 복수의 서브 파일 중 어느 하나도 저장되지 않을 수 있다.
복수의 서브 파일은 상술한 바와 같이, 중복되지 않도록 복수의 노드(100) 각각에 저장될 수 있고, 여러 개의 노드에 중복되어 복수의 노드(100) 각각에 저장될 수도 있다.
예를 들어, 제1 노드(110)에는 제1 서브 파일 및 제2 서브 파일이 저장되고, 제2 노드(120)에는 제2 서브 파일 및 제3 서브 파일이 저장되고, 제3 노드(미도시)에는 제3 서브 파일 및 제4 서브 파일이 저장되도록 하여, 복수의 서브 파일이 일부 중복되면서 복수의 노드(100) 각각에 분산 저장될 수 있다.
본 발명의 일 실시예에 따르면, 복수의 서브 파일에는 고유값이 설정되어 있을 수 있으며, 복수의 서브 파일의 고유값은 파일의 해쉬값과 매칭될 수 있다. 예를 들어, 복수의 서브 파일 각각에 설정된 고유값을 조합하면, 파일의 해쉬값이 추출될 수 있으며, 복수의 서브 파일 중 적어도 하나가 변경되면, 고유값의 조합으로 다른 해쉬값이 추출되므로, 파일의 해쉬값이 변경될 수 있다.
④ 파일 진위여부 확인 단계에서, 복수의 노드(100) 중 적어도 하나는 현재 파일의 해쉬값을 추출하고, 추출된 해쉬값과 블록체인 상에서 공유된 해쉬값을 비교하여, 현재 파일에 대한 진위여부를 확인할 수 있으며, 비교 결과, 해쉬값이 일치하면, 현재 파일이 위변조되지 않은 것으로 판단하여 인증 파일로 진위여부를 확인할 수 있으며, 해쉬값이 일치하지 않으면, 현재 파일이 위변조된 것으로 판단하 미인증 파일로 진위여부를 확인할 수 있다.
복수의 노드(100) 중 적어도 하나에는 현재 파일의 해쉬값을 추출하고, 해쉬값 비교를 통해 파일에 대한 진위여부를 확인하기 위한 파일 진위여부 확인 봇이 구비되어 있을 수 있다.
예를 들어, 복수의 노드(100) 중 파일을 다운로드하기 위한 제2 노드(120)에만 파일 진위여부 확인 봇이 구비되어 있어, 제2 노드(120)에서만 파일의 진위여부를 확인할 수 있으며, 제2 노드(120) 뿐만 아니라 파일을 업로드한 제1 노드(110), 서브 파일을 저장하고 있는 복수의 노드(100) 각각에도 파일 진위여부 확인 봇이 구비되어 있어, 파일 진위여부 확인 봇을 구비하고 있는 노드들에서도 파일의 진위여부를 확인할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 노드(100) 중 적어도 하나는 실시간으로 현재 파일의 해쉬값을 추출하여 비교함으로써, 블록체인 상에서 공유되고 있는 파일의 위변조를 실시간으로 탐지할 수 있으며, 미리 설정된 기간 마다 현재 파일의 해쉬값을 추출하여 비교함으로써, 블록체인 상에서 공유되고 있는 파일의 위변조를 주기적으로 탐지할 수도 있다.
본 발명의 다른 실시예에 따르면, 블록체인 상에서 공유되고 있는 파일에 대한 다운로드 요청이 있는 경우, 복수의 노드(100) 중 적어도 하나는 다운로드 시작 전에 파일의 위변조를 확인할 수 있다.
예를 들어, 제2 노드(120)에서 블록체인 상에 공유되고 있는 파일에 대한 다운로드를 요청하면, 파일에 대한 다운로드가 수행되기 전에, 복수의 노드(100) 중 적어도 하나는 다운로드 요청된 파일의 위변조를 확인할 수 있으며, 파일이 위변조되지 않은 것으로 확인되면, 제2 노드(120)에서 해당 파일에 대한 다운로드를 수행할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 노드(100) 각각은 해쉬값을 추출하여 비교하는 파일 진위여부 확인 과정을 수행할 수 있는데, 복수의 노드(100) 각각에서 파일 진위여부 확인 과정을 동시에 수행할 수 있으며, 복수의 노드(100) 각각에서 미리 정해진 순서에 따라 돌아가면서 파일 진위여부 확인 과정을 수행할 수도 있다.
예를 들어, 제1 노드(110), 제2 노드(120) 및 제3 노드(미도시)는 파일 진위여부 확인 과정을 동시에 수행할 수 있으며, 제1 노드(110)가 파일 진위여부 확인 과정을 먼저 수행하고, 일정 기간이 지난 이후, 제2 노드(120)가 파일 진위여부 확인 과정을 수행하고, 일정 기간이 지난 이후, 제3 노드(미도시)가 파일 진위여부 확인 과정을 수행하는 방식을 통해, 제1 노드(110), 제2 노드(120) 및 제3 노드(미도시)가 하나씩 돌아가면서 파일 진위여부 확인 과정을 수행할 수도 있다.
상술한 바와 같이, 복수의 노드(100) 중 적어도 하나에 구비된 파일 진위여부 확인 봇을 통해 파일의 진위여부를 확인할 수 있지만, 이에 제한되지 않으며, 블록체인의 기본 방식으로 파일의 진위여부를 확인할 수도 있다.
예를 들어, 복수의 노드(100) 각각은 미리 설정된 기간 마다 블록체인 상에서 공유된 해쉬값을 서로 교환하여, 교환된 해쉬값이 서로 일치하는지 여부를 확인할 수 있으며, 확인 결과 해쉬값이 일치하지 않으면, 파일이 인증되지 않은 파일로 판단하여, 파일의 진위여부 확인을 자동으로 수행할 수 있다.
이하에서는, 파일 업로드 절차부터 파일의 진위여부를 확인하는 과정까지 예를 들어 설명하기로 한다.
먼저, 제1 노드(110)에서 파일을 업로드하면, 파일의 속성과 대응하는 값인 제1 해쉬값이 블록체인 상에서 공유될 수 있다.
이후, 복수의 노드(100) 중 적어도 하나인 제2 노드(120)에서 현재 파일의 해쉬값을 추출할 수 있는데, 추출된 해쉬값이 제1 해쉬값인 경우, 블록체인 상에서 공유되는 제1 해쉬값과 일치하므로, 현재 파일이 위변조되지 않은 인증 파일로 판단할 수 있으며, 추출된 해쉬값이 제2 해쉬값인 경우, 블록체인 상에서 공유되는 제1 해쉬값과 일치하지 않으므로, 현재 파일이 위변조된 미인증 파일로 판단할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 서브 파일 각각에 설정된 고유값을 조합하여 추출되는 해쉬값을 통해, 파일의 진위여부를 확인할 수 있는데, 이와 관련하여, 예를 들어 자세히 설명하기로 한다.
먼저, 제1 노드(110)에서 파일을 업로드하면, 파일의 속성과 대응하는 값인 제1 해쉬값이 블록체인 상에서 공유될 수 있으며, 제1 고유값을 가지는 제1 서브 파일, 제2 고유값을 가지는 제2 서브 파일, 제3 고유값을 가지는 제3 서브 파일이 복수의 노드(100)에 분산 저장될 수 있다.
이후, 제2 노드(120)에서 현재 파일의 해쉬값을 추출할 수 있는데, 이 때, 제1 고유값, 제2 고유값 및 제3 고유값을 조합하여 제1 해쉬값을 추출할 수 있으며, 추출된 제1 해쉬값이 블록체인 상에서 공유되는 제1 해쉬값과 일치하므로, 현재 파일이 위변조되지 않은 인증 파일로 판단할 수 있다.
제1 서브 파일이 위변조되어, 제1 서브 파일의 제1 고유값이 제4 고유값으로 변경된 경우, 제2 노드(120)에서는 제4 고유값, 제2 고유값 및 제3 고유값을 조합하여 제2 해쉬값을 추출할 수 있으며, 추출된 제2 해쉬값이 블록체인 상에서 공유되는 제1 해쉬값과 일치하지 않으므로, 현재 파일이 위변조되어 미인증 파일로 판단할 수 있다.
즉, 현재 공유되고 있는 파일에서 서브 파일 하나라도 위변조되면, 위변조된 서브 파일의 고유값이 변경되어 현재 파일의 해쉬값도 다른 값으로 추출되어 변경되기 때문에, 현재 파일의 해쉬값과 블록체인 상에서 공유되는 해쉬값이 일치하지 않을 수 밖에 없으므로, 변경되는 해쉬값에 대한 모니터링을 통해 파일의 진위여부를 확인할 수 있다.
이에 따라, 파일의 진위여부 확인이 단순하게 기 저장된 정보와의 비교를 통해 수행되는 것이 아니라, 복수의 노드(100)에 분산 저장된 서브 파일의 고유값을 조합하여 해쉬값을 추출한 후, 추출된 해쉬값과 블록체인 상에서 공유된 해쉬값을 비교하는 과정을 통해 파일의 진위여부 확인 과정이 수행됨으로써, 외부 공격자가 복수의 서브 파일 중 어느 하나라도 위변조하면, 서브 파일의 고유값을 조합하여 추출되는 해쉬값만을 파악하여 파일의 진위여부를 용이하게 확인할 수 있다.
⑤ 파일 다운로드 및 조합 단계에서, 파일의 진위여부 확인을 통해 현재 파일이 인증된 것으로 확인되면, 복수의 노드(100) 중 적어도 하나는 분산 저장된 복수의 서브 파일을 다운로드하여, 다운로드된 복수의 서브 파일의 조합으로 파일을 생성할 수 있다.
예를 들어, 제1 노드(110)에서 업로드한 파일이 제1 서브 파일, 제2 서브 파일, 제3 서브 파일로 분할되어, 제1 서브 파일이 제1 노드(110)에 저장되어 있고, 제2 서브 파일이 제3 노드(미도시)에 저장되어 있고, 제3 서브 파일이 제4 노드(미도시)에 저장되어 있는데, 제2 노드(120)는 P2P 방식으로 제1 노드(110)로부터 제1 서브 파일을 수신하고, 제3 노드(미도시)로부터 제2 서브 파일을 수신하고, 제4 노드(미도시)로부터 제3 서브 파일을 수신할 수 있으며, 수신된 제1 서브 파일, 제2 서브 파일 및 제3 서브 파일을 조합하여 파일을 생성할 수 있다.
복수의 서브 파일 중 적어도 하나가 제2 노드(120)에 저장되어 있는 경우, 저장되어 있는 서브 파일이 다운로드 되지 않을 수 있는데, 예를 들어, 제3 서브 파일이 제2 노드(120)에 저장되어 있는 경우, 제2 노드(120)는 제1 서브 파일 및 제2 서브 파일만을 수신하여, 수신된 제1 서브 파일 및 제2 서브 파일과 저장된 제3 서브 파일을 조합하여 파일을 생성할 수 있다.
본 발명의 일 실시예에 따르면, 전자서명 절차 등을 통해 승인이 완료된 사용자만이 파일을 다운로드 할 수 있는데, 예를 들어, 제2 사용자에게만 파일 다운로드 권한이 부여되어 있는 경우, 제2 사용자가 제2 노드(120)를 통해 전자서명 승인을 완료하면, 제2 노드(120)에서는 파일을 다운로드 할 수 있다.
이하에서는, 다운로드 권한과 관련하여 실시예를 통해 자세히 설명하기로 한다.
먼저, 제1 노드(110)에서 파일 업로드 시, 제2 노드(120)의 공개키로 파일의 해쉬값을 암호할 수 있다. 이를 위해, 복수의 노드(100) 각각은 다른 노드의 공개키를 서로 공유하고 있을 수 있으며, 제1 노드(110)를 사용하는 제1 사용자가 제2 사용자를 수신자로 지정하는 경우, 제1 노드(110)는 제2 노드(120)의 공개키로 파일의 해쉬값을 암호화할 수 있다.
이후, 제2 노드(120)에서 제2 노드(120)의 개인키로 암호화된 해쉬값을 복호화하면, 제1 노드(110)에서 업로드한 파일을 다운로드하기 위한 권한을 획득할 수 있다. 이 때, 다른 노드에서는 제2 노드(120)의 개인키를 알지 못하므로, 제2 노드(120)의 공개키로 암호화된 파일의 해쉬값을 복호화할 수 없어, 제1 노드(110)에서 업로드한 파일을 다운로드하기 위한 권한을 획득하지 못할 수 있다.
즉, 파일을 업로드하는 사용자는 특정인만 수신자로 지정하여 파일을 다운로드 할 수 있는 권한을 구분할 수 있어, 노드 간의 파일 공유 시에는 공개키로 각 노드를 식별하여 접근 권한을 관리할 수 있으므로, 이에 따라, 노드별로 파일 다운로드를 위한 접근 권한을 각각 적용하여 비인가자에 의한 정보 유출을 방지할 수 있다.
본 발명의 일 실시예에 따르면, 파일이 분할되어 복수의 서브 파일이 생성될 때, 복수의 서브 파일 각각에 해쉬값이 생성될 수 있으며, 복수의 서브 파일과 복수의 서브 파일 각각에 생성된 해쉬값이 복수의 노드(100) 각각에 분산 저장될 수 있다. 이후, 복수의 노드(100) 중 적어도 하나에서 복수의 서브 파일 각각에 생성된 해쉬값을 기초로, 현재 파일의 해쉬값을 계산할 수 있으며, 계산된 해쉬값과 블록체인 상에서 공유된 해쉬값을 비교하여, 현재 파일에 대한 진위여부를 확인할 수 있다.
예를 들어, 제1 노드(110)에서 업로드한 파일이 제1 서브 파일, 제2 서브 파일, 제3 서브 파일 및 제4 서브 파일로 분할된 경우, 제1 서브 파일에는 제1 해쉬값이, 제2 서브 파일에는 제2 해쉬값이, 제3 서브 파일에는 제3 해쉬값이, 제4 서브 파일에는 제4 해쉬값이 각각 생성될 수 있으며, 복수의 노드(100) 중 적어도 하나는 제1 해쉬값, 제2 해쉬값, 제3 해쉬값 및 제4 해쉬값을 기초로, 현재 파일의 해쉬값을 계산하고, 계산된 해쉬값과 블록체인 상에서 공유된 해쉬값을 비교하여, 현재 파일에 대한 진위여부를 확인할 수 있다.
복수의 서브 파일 각각에 생성된 해쉬값을 기초로, 현재 파일의 해쉬값을 계산하고 비교하는 과정에 있어서, 해시로 구성된 트리 구조를 가지는 머클 트리 방식으로 현재 파일의 해쉬값이 계산될 수 있는데, 이와 관련하여 자세한 설명은 도 3을 참조하여 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 복수의 서브 파일 각각에 생성된 해쉬값을 트리 구조로 도시한 도면이다.
먼저, 파일이 제1 서브 파일, 제2 서브 파일, 제3 서브 파일 및 제4 서브 파일로 분할되어, 복수의 노드(100) 각각에 분산 저장되어 있는 상태일 수 있다.
제1 서브 파일에는 제1 해쉬값이, 제2 서브 파일에는 제2 해쉬값이, 제3 서브 파일에는 제3 해쉬값이, 제4 서브 파일에는 제4 해쉬값이 각각 생성되어 있으며, 제1 해쉬값과 제2 해쉬값의 조합으로 제5 해쉬값이, 제3 해쉬값과 제4 해쉬값이 조합으로 제6해쉬값이, 제5 해쉬값과 제6 해쉬값의 조합으로 제7 해쉬값이 각각 생성되어 있을 수 있다.
제1 해쉬값과 제2 해쉬값의 상위 노드는 제5 해쉬값이고, 제3 해쉬값과 제4 해쉬값의 상위 노드는 제6 해쉬값이고, 제5 해쉬값과 제6 해쉬값의 상위 노드는 제7 해쉬값으로, 제1 해쉬값, 제2 해쉬값, 제3 해쉬값, 제4 해쉬값, 제5 해쉬값, 제6 해쉬값 및 제7 해쉬값은 도 3에 도시된 바와 같이, 이진 트리 구조를 가질 수 있지만, 이에 제한되지 않으며, 임의의 차수를 가진 트리 구조로 구현될 수도 있다.
파일의 해쉬값을 검증하는데 있어서, 복수의 서브 파일 각각에 대한 해쉬값을 일일이 확인하지 않아도, 트리의 최상위에 있는 루트 노드인 제7 해쉬값의 검증으로만 파일의 해쉬값이 검증될 수 있으므로, 파일의 진위여부를 용이하게 확인할 수 있다.
또한, 복수의 서브 파일 중 적어도 하나가 위변조된 경우, 트리 구조로 구성된 해쉬값을 통해 위변조된 서브 파일을 탐색할 수 있으므로, 대량의 서브 파일이 존재하더라도 위변조된 서브 파일을 빠르게 찾아낼 수 있다.
예를 들어, 제2 서브 파일이 위변조된 경우, 제2 서브 파일의 해쉬값인 제2 해쉬값, 제2 해쉬값의 상위 노드인 제5 해쉬값, 제5 해쉬값의 상위 노드인 제7 해쉬값이 변경될 수 있는데, 제7 해쉬값에 대한 검증으로만 복수의 서브 파일 중 적어도 하나가 위변조된 것을 파악할 수 있으며, 제7 해쉬값의 하위 노드에 대한 검증으로 제5 해쉬값이 변경된 것을 파악하고, 제5 해쉬값의 하위 노드에 대한 검증으로 제2 해쉬값이 변경된 것을 파악하여, 제2 해쉬값의 변경으로 제2 서브 파일이 위변조된 것을 찾아낼 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면, 블록체인을 기반으로 파일을 공유함으로써, 복수의 노드(100) 각각에 대용량의 파일이 분산되어 저장될 수 있으므로, 대용량 파일 서버가 필요하지 않아 비용을 절감시킬 수 있다.
또한, 본 발명의 일 실시예에 따르면, 복수의 노드(100)에 구비된 기존 장비를 이용하여, 복수의 노드(100)에 분산 저장된 파일들을 효율적으로 관리할 수 있으므로, 파일 공유 시스템을 구현하는데 있어, 중앙 서버 없이 시스템 구축이 가능하여, 시스템의 구축 비용과 운영 비용을 절감시킬 수 있다.
또한, 본 발명의 일 실시예에 따르면, 위변조가 불가능한 블록체인을 활용하여, 블록체인 상에서 공유되는 파일의 무결성을 보장할 뿐만 아니라, 파일을 복수의 서브 파일로 분할하여, 복수의 서브 파일을 복수의 노드(100)에 분산 저장함으로써, 중앙 서버가 없는 분산화된 P2P 시스템을 통해 정보 유출을 방지할 수 있으므로, 공유되는 파일에 대한 보안성을 향상시킬 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 복수의 노드
110 : 제1 노드
120 : 제2 노드

Claims (12)

  1. 블록체인을 기반으로 파일을 공유하기 위한 방법으로서,
    상기 블록체인 상에서의 복수의 노드 중 어느 하나로부터 파일이 업로드되면, 상기 파일의 해쉬값이 상기 블록체인 상에서 공유되어, 상기 복수의 노드 각각에 상기 해쉬값이 저장되고, 상기 파일이 분할된 복수의 서브 파일이 상기 복수의 노드 각각에 분산 저장되는 단계;
    상기 복수의 노드 중 적어도 하나에서 현재 파일의 해쉬값을 추출하고, 추출된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하는 단계; 및
    상기 확인 결과, 상기 현재 파일이 인증된 것으로 확인되면, 상기 복수의 노드 중 적어도 하나에서 상기 분산 저장된 복수의 서브 파일을 다운로드하여, 상기 다운로드된 복수의 서브 파일의 조합으로 상기 파일을 생성하는 단계를 포함하며,
    상기 현재 파일에 대한 진위여부를 확인하는 단계는,
    상기 복수의 서브 파일 각각에 생성된 해쉬값을 기초로, 상기 현재 파일의 해쉬값을 계산하고, 상기 계산된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하는 단계를 포함하는, 블록체인 기반의 파일 공유 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 분산 저장된 복수의 서브 파일의 고유값은, 상기 파일의 해쉬값과 매칭되는, 블록체인 기반의 파일 공유 방법.
  4. 제1항에 있어서,
    상기 파일의 해쉬값은, 상기 복수의 서브 파일 중 적어도 하나가 변경되면, 값이 변경되는, 블록체인 기반의 파일 공유 방법.
  5. 제1항에 있어서,
    상기 복수의 노드 중 어느 하나인 제1 노드에서, 상기 복수의 노드 중 다른 하나인 제2 노드의 공개키로 상기 파일의 해쉬값을 암호화하는 단계; 및
    상기 제2 노드에서, 상기 제2 노드의 개인키로 상기 암호화된 해쉬값을 복호화하면, 상기 파일을 다운로드하기 위한 권한을 획득하는 단계를 더 포함하는, 블록체인 기반의 파일 공유 방법.
  6. 제1항에 있어서,
    상기 파일은, 상기 블록체인 상에서 웹하드, 메신저 및 이메일 중 적어도 하나를 통해 공유되는, 블록체인 기반의 파일 공유 방법.
  7. 블록체인을 기반으로 파일을 공유하기 위한 시스템으로서,
    상기 블록체인 상에서 파일의 해쉬값을 공유하여 저장하는 복수의 노드를 포함하되,
    상기 복수의 노드는, 상기 복수의 노드 중 어느 하나로부터 파일이 업로드되면, 상기 파일의 해쉬값을 상기 블록체인 상에서 공유하여 저장하며,
    상기 복수의 노드 각각은, 상기 파일이 분할된 복수의 서브 파일을 분산하여 저장하며,
    상기 복수의 노드 중 적어도 하나는, 현재 파일의 해쉬값을 추출하고, 추출된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하며, 상기 확인 결과, 상기 현재 파일이 인증된 것으로 확인되면, 상기 분산 저장된 복수의 서브 파일을 다운로드하여, 상기 다운로드된 복수의 서브 파일의 조합으로 상기 파일을 생성하고,
    상기 복수의 노드 중 적어도 하나는, 상기 복수의 서브 파일 각각에 생성된 해쉬값을 기초로, 상기 현재 파일의 해쉬값을 계산하고, 상기 계산된 해쉬값과 상기 블록체인 상에서 공유된 해쉬값을 비교하여, 상기 현재 파일에 대한 진위여부를 확인하는, 블록체인 기반의 파일 공유 시스템.
  8. 삭제
  9. 제7항에 있어서,
    상기 분산 저장된 복수의 서브 파일의 고유값은, 상기 파일의 해쉬값과 매칭되는, 블록체인 기반의 파일 공유 시스템.
  10. 제7항에 있어서,
    상기 파일의 해쉬값은, 상기 복수의 서브 파일 중 적어도 하나가 변경되면, 값이 변경되는, 블록체인 기반의 파일 공유 시스템.
  11. 제7항에 있어서,
    상기 복수의 노드 중 어느 하나인 제1 노드는, 상기 복수의 노드 중 다른 하나인 제2 노드의 공개키로 상기 파일의 해쉬값을 암호화하고,
    상기 제2 노드는, 상기 제2 노드의 개인키로 상기 암호화된 해쉬값을 복호화하면, 상기 파일을 다운로드하기 위한 권한을 획득하는, 블록체인 기반의 파일 공유 시스템.
  12. 제7항에 있어서,
    상기 파일은, 상기 블록체인 상에서 웹하드, 메신저 및 이메일 중 적어도 하나를 통해 공유되는, 블록체인 기반의 파일 공유 시스템.
KR1020170030464A 2017-03-10 2017-03-10 블록체인 기반의 파일 공유 방법 및 시스템 KR101868029B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170030464A KR101868029B1 (ko) 2017-03-10 2017-03-10 블록체인 기반의 파일 공유 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170030464A KR101868029B1 (ko) 2017-03-10 2017-03-10 블록체인 기반의 파일 공유 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101868029B1 true KR101868029B1 (ko) 2018-06-18

Family

ID=62767773

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170030464A KR101868029B1 (ko) 2017-03-10 2017-03-10 블록체인 기반의 파일 공유 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101868029B1 (ko)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101942543B1 (ko) * 2018-08-07 2019-01-28 주식회사 텔다 블록체인 기술을 활용한 에너지 저장 장치 기반 분산 자원의 p2p 전력 거래 시스템 및 그 방법
KR102020000B1 (ko) * 2018-10-31 2019-09-09 주식회사 스위클 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법
KR101993293B1 (ko) * 2018-10-05 2019-09-30 비즈플레이 주식회사 블록체인 기반의 경비처리 데이터 관리 시스템과 방법 및 이를 위한 컴퓨터 프로그램
CN110532238A (zh) * 2019-08-19 2019-12-03 广州华旻信息科技有限公司 基于区块链技术的合同管理系统及方法
KR20200004205A (ko) 2018-07-03 2020-01-13 주식회사 케이티 트랜잭션 처리 방법 및 이를 위한 장치
KR102065315B1 (ko) 2019-10-04 2020-01-13 주식회사 도우테크 블록체인 기반 파일 보관 및 공유 시스템 및 방법
KR20200006845A (ko) 2018-07-11 2020-01-21 주식회사 케이티 블록체인 관리 방법 및 이를 위한 장치
KR102081782B1 (ko) * 2019-03-11 2020-02-27 한국정보화기술 주식회사 개인 이력 정보 제공 방법
KR102083616B1 (ko) * 2018-08-22 2020-03-02 주식회사 디케이앤트 블록체인 기반의 위변조 검증이 가능한 시설 정보 관리 방법 및 시스템
KR20200022358A (ko) * 2018-08-22 2020-03-03 (주)와이즈월 블록체인을 통한 콘텐츠 dna의 관리시스템 및 그 방법
CN111008235A (zh) * 2019-12-03 2020-04-14 成都四方伟业软件股份有限公司 一种基于Spark的小文件合并方法及系统
CN111177106A (zh) * 2019-12-30 2020-05-19 嘉联支付有限公司 一种分布式数据计算系统及方法
KR20200064546A (ko) * 2018-11-29 2020-06-08 한국전자통신연구원 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치
KR20200073767A (ko) * 2018-12-14 2020-06-24 건양대학교산학협력단 블록체인 기반의 대기정보관리시스템
KR20200082916A (ko) 2018-12-31 2020-07-08 주식회사 케이티 설문 응답 데이터 보안 방법 및 시스템
KR20200087327A (ko) * 2018-12-28 2020-07-21 달리웍스 주식회사 IoT 서비스를 위한 블록체인 기반 데이터 신뢰성 제공 시스템 및 방법
KR20200088180A (ko) 2019-01-14 2020-07-22 주식회사 비틀게임즈 블록체인 기반의 다수의 사용자 간의 자료 공유 서비스를 위한 자료 관리 방법
WO2020153525A1 (ko) * 2019-01-23 2020-07-30 ㈜티비스톰 인공지능 개체에 대한 정보를 블록체인으로 관리하는 방법 및 그 플랫폼
KR102147431B1 (ko) * 2019-04-01 2020-08-24 인제대학교 산학협력단 블록체인 기반 개인정보 제공 방법 및 그 시스템
CN111611220A (zh) * 2019-02-26 2020-09-01 宁波创元信息科技有限公司 一种基于层级式节点的文件共享方法及系统
KR20200105312A (ko) 2019-02-28 2020-09-07 주식회사 케이티 데이터 공유 방법 및 시스템
KR102179497B1 (ko) 2020-04-13 2020-11-17 주식회사 한국정보보호경영연구소 멀티 클라우드 기반의 데이터 저장 및 관리 시스템 및 그 구동방법
CN111984612A (zh) * 2020-08-04 2020-11-24 中国人民银行数字货币研究所 一种共享文件的方法、装置和系统
CN111985006A (zh) * 2020-08-18 2020-11-24 深圳中兴网信科技有限公司 基于区块链的数据同步方法、系统和计算机可读存储介质
CN112597117A (zh) * 2020-12-26 2021-04-02 讯飞智元信息科技有限公司 文件共享方法、相关装置及文件共享系统
KR102362855B1 (ko) * 2020-12-14 2022-02-14 (주)지엠티 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템
KR102447797B1 (ko) 2022-07-22 2022-09-27 주식회사 립페이 Ipfs 기반의 문서 관리 시스템 및 그 방법
KR102456903B1 (ko) 2022-01-21 2022-10-21 우동호 이더리움과 ipfs를 활용한 전자문서 관리 시스템 및 그 방법
US11659031B2 (en) 2020-01-07 2023-05-23 Samsung Electronics Co., Ltd. Blockchain based peer-to-peer content sharing apparatus for blocking illegal contents
WO2024063191A1 (ko) * 2022-09-19 2024-03-28 주식회사 레드윗 Ipfs를 위해 콘텐츠 id를 분배하는 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070105599A (ko) * 2006-04-27 2007-10-31 김동학 콘텐츠 보호 방법 및 시스템
KR20160127878A (ko) * 2015-04-27 2016-11-07 갤럭시아커뮤니케이션즈 주식회사 해시 코드를 이용하는 콘텐츠의 무결성 및 유효성 검증 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070105599A (ko) * 2006-04-27 2007-10-31 김동학 콘텐츠 보호 방법 및 시스템
KR20160127878A (ko) * 2015-04-27 2016-11-07 갤럭시아커뮤니케이션즈 주식회사 해시 코드를 이용하는 콘텐츠의 무결성 및 유효성 검증 방법 및 시스템

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200004205A (ko) 2018-07-03 2020-01-13 주식회사 케이티 트랜잭션 처리 방법 및 이를 위한 장치
KR20200006845A (ko) 2018-07-11 2020-01-21 주식회사 케이티 블록체인 관리 방법 및 이를 위한 장치
KR101942543B1 (ko) * 2018-08-07 2019-01-28 주식회사 텔다 블록체인 기술을 활용한 에너지 저장 장치 기반 분산 자원의 p2p 전력 거래 시스템 및 그 방법
KR102200349B1 (ko) 2018-08-22 2021-01-08 주식회사 한국기술지원 블록체인을 통한 콘텐츠 dna의 관리시스템 및 그 방법
KR20200022358A (ko) * 2018-08-22 2020-03-03 (주)와이즈월 블록체인을 통한 콘텐츠 dna의 관리시스템 및 그 방법
KR102083616B1 (ko) * 2018-08-22 2020-03-02 주식회사 디케이앤트 블록체인 기반의 위변조 검증이 가능한 시설 정보 관리 방법 및 시스템
WO2020071650A1 (ko) * 2018-10-05 2020-04-09 비즈플레이 주식회사 블록체인 기반의 경비처리 데이터 관리 시스템과 방법 및 이를 위한 컴퓨터 프로그램
KR101993293B1 (ko) * 2018-10-05 2019-09-30 비즈플레이 주식회사 블록체인 기반의 경비처리 데이터 관리 시스템과 방법 및 이를 위한 컴퓨터 프로그램
US11943362B2 (en) 2018-10-31 2024-03-26 Sung-Un SONG System and method for providing personal information using one time private key based on blockchain of proof of use
KR102020000B1 (ko) * 2018-10-31 2019-09-09 주식회사 스위클 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법
WO2020091278A1 (ko) * 2018-10-31 2020-05-07 주식회사 스위클 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법
KR20200064546A (ko) * 2018-11-29 2020-06-08 한국전자통신연구원 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치
KR102524515B1 (ko) * 2018-11-29 2023-04-24 한국전자통신연구원 블록체인 기반 분산 신뢰 서비스 제공 방법 및 장치
KR20200073767A (ko) * 2018-12-14 2020-06-24 건양대학교산학협력단 블록체인 기반의 대기정보관리시스템
KR102149896B1 (ko) 2018-12-14 2020-08-31 건양대학교 산학협력단 블록체인 기반의 대기정보관리시스템
KR102152360B1 (ko) * 2018-12-28 2020-09-04 달리웍스 주식회사 IoT 서비스를 위한 블록체인 기반 데이터 신뢰성 제공 시스템 및 방법
KR20200087327A (ko) * 2018-12-28 2020-07-21 달리웍스 주식회사 IoT 서비스를 위한 블록체인 기반 데이터 신뢰성 제공 시스템 및 방법
KR20200082916A (ko) 2018-12-31 2020-07-08 주식회사 케이티 설문 응답 데이터 보안 방법 및 시스템
KR20200088180A (ko) 2019-01-14 2020-07-22 주식회사 비틀게임즈 블록체인 기반의 다수의 사용자 간의 자료 공유 서비스를 위한 자료 관리 방법
KR102243182B1 (ko) * 2019-01-23 2021-04-22 (주)티비스톰 인공지능 개체에 대한 정보를 블록체인으로 관리하는 방법 및 그 플랫폼
WO2020153525A1 (ko) * 2019-01-23 2020-07-30 ㈜티비스톰 인공지능 개체에 대한 정보를 블록체인으로 관리하는 방법 및 그 플랫폼
KR20200091556A (ko) * 2019-01-23 2020-07-31 (주)티비스톰 인공지능 개체에 대한 정보를 블록체인으로 관리하는 방법 및 그 플랫폼
CN111611220B (zh) * 2019-02-26 2024-02-06 宁波创元信息科技有限公司 一种基于层级式节点的文件共享方法及系统
CN111611220A (zh) * 2019-02-26 2020-09-01 宁波创元信息科技有限公司 一种基于层级式节点的文件共享方法及系统
KR20200105312A (ko) 2019-02-28 2020-09-07 주식회사 케이티 데이터 공유 방법 및 시스템
KR102081782B1 (ko) * 2019-03-11 2020-02-27 한국정보화기술 주식회사 개인 이력 정보 제공 방법
WO2020204268A1 (ko) * 2019-04-01 2020-10-08 인제대학교 산학협력단 블록체인 기반 개인정보 제공 방법 및 그 시스템
KR102147431B1 (ko) * 2019-04-01 2020-08-24 인제대학교 산학협력단 블록체인 기반 개인정보 제공 방법 및 그 시스템
CN110532238A (zh) * 2019-08-19 2019-12-03 广州华旻信息科技有限公司 基于区块链技术的合同管理系统及方法
KR102065315B1 (ko) 2019-10-04 2020-01-13 주식회사 도우테크 블록체인 기반 파일 보관 및 공유 시스템 및 방법
CN111008235A (zh) * 2019-12-03 2020-04-14 成都四方伟业软件股份有限公司 一种基于Spark的小文件合并方法及系统
CN111177106A (zh) * 2019-12-30 2020-05-19 嘉联支付有限公司 一种分布式数据计算系统及方法
CN111177106B (zh) * 2019-12-30 2023-10-17 嘉联支付有限公司 一种分布式数据计算系统及方法
US11659031B2 (en) 2020-01-07 2023-05-23 Samsung Electronics Co., Ltd. Blockchain based peer-to-peer content sharing apparatus for blocking illegal contents
KR102179497B1 (ko) 2020-04-13 2020-11-17 주식회사 한국정보보호경영연구소 멀티 클라우드 기반의 데이터 저장 및 관리 시스템 및 그 구동방법
CN111984612A (zh) * 2020-08-04 2020-11-24 中国人民银行数字货币研究所 一种共享文件的方法、装置和系统
CN111984612B (zh) * 2020-08-04 2024-03-22 中国人民银行数字货币研究所 一种共享文件的方法、装置和系统
CN111985006A (zh) * 2020-08-18 2020-11-24 深圳中兴网信科技有限公司 基于区块链的数据同步方法、系统和计算机可读存储介质
KR102362855B1 (ko) * 2020-12-14 2022-02-14 (주)지엠티 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템
CN112597117A (zh) * 2020-12-26 2021-04-02 讯飞智元信息科技有限公司 文件共享方法、相关装置及文件共享系统
KR102456903B1 (ko) 2022-01-21 2022-10-21 우동호 이더리움과 ipfs를 활용한 전자문서 관리 시스템 및 그 방법
KR102447797B1 (ko) 2022-07-22 2022-09-27 주식회사 립페이 Ipfs 기반의 문서 관리 시스템 및 그 방법
WO2024063191A1 (ko) * 2022-09-19 2024-03-28 주식회사 레드윗 Ipfs를 위해 콘텐츠 id를 분배하는 방법 및 시스템

Similar Documents

Publication Publication Date Title
KR101868029B1 (ko) 블록체인 기반의 파일 공유 방법 및 시스템
Shafagh et al. Towards blockchain-based auditable storage and sharing of IoT data
CN109740384B (zh) 基于区块链的数据存证方法和装置
Ali et al. IoT data privacy via blockchains and IPFS
KR101974452B1 (ko) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템
KR101974075B1 (ko) 분산 해시 테이블과 피어투피어 분산 원장을 사용하여 디지털 자산의 소유권을 검증하기 위한 방법 및 시스템
JP6524347B2 (ja) 情報共有システム
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储系统
US11196573B2 (en) Secure de-centralized domain name system
TWI709314B (zh) 資料處理方法和裝置
US9674156B2 (en) Event-triggered release through third party of pre-encrypted digital data from data owner to data assignee
CN115967534A (zh) 使用可信执行环境检索区块链网络的公开数据
WO2019033116A1 (en) SYSTEMS AND METHODS FOR RIGHTS CONTROL OF NETWORK CONNECTED DEVICES OR IOT DEVICES USING INFORMATION STORED IN A DISTRIBUTED REGISTER
KR20180129027A (ko) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템
EP3526721A1 (en) Method, device and system for validating sensitive user data transactions within trusted circle
CN110096903B (zh) 基于区块链的资产验证方法及区块链网络系统
KR20200034728A (ko) 복수의 스토리지 노드를 통해 대규모 블록체인의 안전한 저장을 가능하게 하는 컴퓨터 구현 시스템 및 방법
US11367065B1 (en) Distributed ledger system for electronic transactions
CN113261024A (zh) 用于利用区块链技术路由到网状网络内容的方法
CN112732695B (zh) 一种基于区块链的云存储数据安全去重方法
El-Hajj et al. Ethereum for secure authentication of iot using pre-shared keys (psks)
KR102098803B1 (ko) 블록체인 기술을 활용한 보안관제 시스템 및 그 방법
EP3644549A1 (en) Issuing device and method for issuing and requesting device and method for requesting a digital certificate
Pelluru Cryptographic Assurance: Utilizing Blockchain for Secure Data Storage and Transactions
Jayabal et al. Performance analysis on diversity mining‐based proof of work in bifolded consortium blockchain for Internet of Things consensus

Legal Events

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