[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102002488B1 - 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템 - Google Patents

블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템 Download PDF

Info

Publication number
KR102002488B1
KR102002488B1 KR1020190038651A KR20190038651A KR102002488B1 KR 102002488 B1 KR102002488 B1 KR 102002488B1 KR 1020190038651 A KR1020190038651 A KR 1020190038651A KR 20190038651 A KR20190038651 A KR 20190038651A KR 102002488 B1 KR102002488 B1 KR 102002488B1
Authority
KR
South Korea
Prior art keywords
electronic document
document
hash value
unit
electronic
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020190038651A
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 KR1020190038651A priority Critical patent/KR102002488B1/ko
Application granted granted Critical
Publication of KR102002488B1 publication Critical patent/KR102002488B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/602Providing cryptographic facilities or services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/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
    • H04L2209/38
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템은 사용자 단말에 설치된 웹 어플리케이션으로부터 제공된 제1 전자문서의 원본등록이 요청되면, 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 암호화 또는 복호화하는 전자문서 변환부; 상기 제1 전자문서와 기 등록된 전자문서들 간의 명사 배열의 유사도를 분석하여 문서등록 적합도를 판단하는 전자문서 접합도 판단부; 상기 트랜잭션 등록부로부터 상기 제1 전자문서의 문서등록 적합이 판정되면, 상기 제1 전자문서의 해시 값 및 상기 해시 값에 사용된 공개키를 블록 체인 노드에 등록하는 트랙잰션 등록부; 상기 사용자 단말에 설치된 웹 어플리케이션으로부터 제공된 검증하고자 하는 제3 전자문서와 상기 제1 전자문서 간의 원본증명이 요청되면, 상기 제3 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 변환한 후, 상기 제3 전자문서의 해시값과 상기 블록 체인 노드에 등록된 제1 전자문서의 해시값 간의 동일성을 검증한 후, 제1 전자문서가 임치된 시간을 추적해 제3 전자문서와의 선후관계를 증명한 임치 증명서를 발급하는 원본증명부; 상기 전자문서 변환부에서 변환된 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값을 분산저장하는 분산형 저장소를 포함한다.

Description

블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템{Document Acquisition System Using Off-Chain Distributed Storage Based on Block chain}
본 발명은 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템 및 방법에 관한 것이다.
중소벤처기업부의 '중소기업 기술보호 실태 조사' 등을 분석해본 결과, 국내 기업의 대다수를 차지하고 있는 중소기업은 사이버 공격에 매우 취약하여 해킹 및 기술 유출 등으로 인한 최근 3년간의 피해액이 3천 21억원에 달한다는 결과가 있다.
이를 해결하기 위해 기술자료 임치센터의 임치제도, 특허청의 원본증명서비스 등 다양한 서비스가 있지만 이 또한 해킹 및 사이버 공격에 취약하다는 문제점이 있다.
뿐만 아니라 임치센터의 경우 중소기업의 기술자료 및 전자문서의 원본을 임치센터에 제공해야 한다는 점에서 중소기업의 기술제공에 대한 부담이 따르고, 원본증명서비스의 경우 원본은 따로 보관해주지 않고 전자문서에 관한 해시 값만 보관해준다는 장점이 있지만 원본의 분실 등에는 책임을 져주지 않는다는 단점이 있다.
또한 기술, 전자문서 유출 등 피해가 발생할 경우 원본소지자가 가지고 있는 자료가 원본임을 증명해야 하는 '원고 원본증명 책임주의'에 대한 부담을 위의 서비스를 통해 해결할 수 있으나 그에 따라 임치센터와 원본 증명 센터의 문서 위변조 방지 및 무결성, 보안성 증명에 대한 연구가 필요하다.
등록특허공보 제10-1796690호
본 발명이 해결하고자 하는 과제는 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템을 구축하여 기존의 임치센터와 원본증명서비스의 보안성을 극대화하고 단점을 보완하는데 그 목적이 있다.
본 발명은 문서 파일의 보관을 블록체인 기반 오프 체인 분산형 저장소를 활용하여 블록체인의 단점을 보완하는데 그 목적이 있다.
본 발명의 목적은 문서에 양방향 암호화를 적용하여 블록체인 기반 오프 체인 분산형 저장소에 저장되는 문서의 노출을 방지하는데 그 목적이 있다
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템은 사용자 단말에 설치된 웹 어플리케이션으로부터 제공된 제1 전자문서의 원본등록이 요청되면, 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 암호화하는 전자문서 변환부; 상기 제1 전자문서와 기 등록된 전자문서들 간의 명사 배열의 유사도를 분석하여 문서등록 적합도를 판단하는 전자문서 유사도 판단부; 상기 전자문서 유사도 판단부로부터 상기 제1 전자문서의 문서등록 적합이 판정되면, 상기 제1 전자문서의 해시 값 및 상기 해시 값에 사용된 공개키를 블록 체인 노드에 등록하는 트랜잭션 등록부; 상기 사용자 단말에 설치된 웹 어플리케이션으로부터 제공된 검증하고자 하는 제3 전자문서와 상기 제1 전자문서 간의 원본증명이 요청되면, 상기 제3 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 변환한 후, 상기 제3 전자문서의 해시값과 상기 블록 체인 노드에 등록된 제1 전자문서의 해시값 간의 동일성을 검증한 후, 제1 전자문서가 임치된 시간을 추적해 제3 전자문서와의 선후관계를 증명한 임치 증명서를 발급하는 원본증명부; 상기 전자문서 변환부에서 변환된 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값을 분산저장하는 오프 체인 분산형 저장소; 및 하이퍼레저 패브릭 블록체인 네트워크에 피어(peer)로서 참여하여 트랜잭션을 생성하고, 하이퍼레저 익스플로러와 연동하여 상기 분산형 저장소 내의 블록체인 노드들 간의 네트워크를 모니터링하고, 암호화된 전자문서 파일을 보관하며, 전자문서가 훼손될 경우, 해당 전자문서가 저장된 블록체인 노드로부터 전자문서를 제공받아 복구하는 공증센터 노드를 포함하고, 상기 전자문서 유사도 판단부는 형태소 분석 라이브러리를 제공하고, 형태소 분석 라이브러리의 nouns() 함수를 통해 제1 전자문서의 파일이름 및 파일내용 중 명사만을 추출하여 문자열에서 분리시키는 토큰화부; 상기 토큰화부에서 추출된 명사들을 열 또는 행으로 순차 배열하는 배열부; 상기 배열부에서 배열된 문자 열 또는 행의 배열을 fit_transform() 함수를 이용하여 스파스 행렬(Sparse matrix)로 변환 및 toarry() 함수로 스파스 행렬(sparse matrix)을 상기 배열부의 배열 형태로 변환시키는 매트릭스 변환부; 및 TF-IDF(Term Frequency-Inverse Document Frequency) 알고리즘인 식 1을 이용하여 기 등록된 전자문서들과 제1 전자문서들 간에 유사한 단어들의 불린 빈도를 분석하는 유사도 분석부를 포함하고, 상기 유사도 분석부는 기 등록된 전자문서들과 제1 전자문서들 간에 유사한 단어들의 불린 빈도를 산출한 후, 산출된 불린 빈도를 이용하여 문서들 간의 전체 유사도를 분석하고, 상기 전체 유사도가 기 설정값 이상이면 유사하다고 판단한 판단신호를 제공하는 것을 특징으로 한다.
[식 1]
tf(t,d) = (단어 t가 포함된 문서(d)의 수) / (전체문서의 수)
삭제
일 실시예에서, 상기 전자문서 유사도 판단부는 형태소 분석 라이브러리의 nouns() 함수를 이용하여 상기 제1 전자문서 내의 문자들 중 명사를 추출 및 배열하고, 상기 배열을 fit_transform() 함수를 이용하여 매트릭스로 변환하는 것을 특징으로 한다.
삭제
삭제
삭제
삭제
삭제
삭제
본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템을 이용하면 영업비밀 분쟁이 발생하여 침해 사실을 입증하기 위한 증거 자료 제출이 필요할 때 전자문서의 해시값을 비교하여 원본 검증 및 문서가 임치된 시간을 통해 선후 관계를 증명함으로써 영업비밀 보유 입증 대비책을 제공할 수 있다는 이점이 있다.
또 다른 일 예로, 특허권자보다 먼저 기술을 사용해왔으나 특허권 침해로 피소를 당할 경우, 특허권자의 출원 시점보다 선 사용한 사실에 대한 입증이 필요할 때, 특허법 103조의 '선사용에 의한 통상실시권'을 인정받기 위한 하나의 증빙자료로 활용 가능할 수 있다.
뿐만 아니라 기술 유출 방지를 위해서는 여러가지 물리적 기술적 관리 조치가 필요하나, 무엇보다도 기업 임직원들의 인식 제고가 우선이며, 본 발명을 통해 원본증명 서비스라는 보험적 조치를 취하고 있다는 것을 임직원들에게 공지함으로써, 기업비밀 유출에 대한 잠재적 욕구를 제한하는 효과를 제공할 수 있다.
도 1은 하이퍼레저 패브릭 네트워크 구성도를 나타낸 예시도이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템을 나타낸 블럭도이다.
도 3은 도 2에 도시된 전자문서 유사도 판단부의 세부 구성을 설명한 블록도이다.
도 4는 도 2에 도시된 원본증명부의 기능을 설명한 예시도이다.
도 5는 도 2에 도시된 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템에서 이루어지는 정보의 흐름을 보여준 예시도이다.
도 6은 본 명세서에 개진된 하나 이상의 실시예가 구현될 수 있는 예시적인 컴퓨팅 환경을 도시한 도이다.
이하, 본 명세서의 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 명세서에 기재된 기술을 특정한 실시 형태에 대해 한정하는 것이 아니며, 본 명세서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 명세서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 명세서에서 사용된 "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 명세서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 명세서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다.
예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 명세서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 명세서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 명세서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 명세서에서 정의된 용어일지라도 본 명세서의 실시예들을 배제하도록 해석될 수 없다.
먼저, 본 발명을 설명하기에 앞서 본 발명은 기술문서 및 전자문서의 유출 및 위변조를 방지하고, 원본증명, 무결성 보안성을 증명 및 검증하기 위한 하이퍼레저 패브릭 네트워크를 기반으로 한다.
여기서, 패브릭은 프라빗 블록체인으로, 종래의 퍼블릭 블록체인은 가지지 않는 또는 필요없는 합의 알고리즘의 선택적 사용, 네트워크 참여 권한 통제, 채널 및 멀티 장부 사용 등의 추가적인 여러 기능들을 가진다.
하이퍼레저 패브릭의 구조적 특징은 다음과 같다.
첫째, 허가형 블록체인으로서 허가 받은 참여자만 네트워크에 참여할 수 있다.
둘째, 스마트 컨트랙트에 일반 프로그래밍 언어 사용이 가능하다.
셋째, 스마트 컨트랙트를 일부 노드만 실행하므로 다수의 거래를 병렬적으로 빠르게 처리할 수 있다.
넷째, 채널을 이용해 허가받은 사람들에게만 장부(ledger)를 공개할 수 있다.
다섯째, 교체 가능한 합의 프로토콜을 사용할 수 있다(SOLO, Kafka 방식, PBFT 등)
여섯째, 허가형 블록체인으로써 네트워크 참여자의 신원을 확인할 수 있기 때문에 문제 발생시 책임소재를 분명히 할 수 있다.
한편, 하이퍼레저 패브릭(Hyperledger Fabric)은 기본적으로 SOLO(Single Ordering Service Node)라는 싱글 노드 방식과 Kafka 방식이라는 CFT(Crash fault tolerance) 기반 합의 프로토콜을 제공한다. Kafka 방식이 가지는 성질인 CFT(Crash fault tolerance)란 일부 시스템 구성 요소들이 작동하지 않더라도 올바른 합의에 도달할 수 있는 성질을 말한다. 기존 퍼블릭 블록체인에서 주로 사용되는 BFT(Byzantine fault tolerance) 시스템은 시스템 구성요소의 기능적 문제뿐 아니라 악의적인 공격(Malicious attack)까지 고려하므로 CFT 시스템과 비교했을 때 더욱 복잡하며 느리다.
네트워크에 참여하기 위해 특정 주체의 승인(Permission)이 필요하지 않은 퍼블릭 블록체인들과는 달리 프라이빗 블록체인에는 비교적 신뢰할 수 있는 참여자만 관리자의 승인을 받고 네트워크에 참여하게 되므로 악의적인 주체(Malicious actors)의 공격 확률이 매우 작을 것으로 간주한다. 따라서, 프라이빗 블록체인에서는 BFT 기반 합의 프로토콜보다 더 빠르고 간단한 합의 프로토콜 또한 허용 가능한 범위로 간주된다.
패브릭을 사용하는 조직은 지원하는 합의 방식을 사용하거나 직접 구현할 수 있는데, 이렇게 합의 방식을 선택할 수 있는 특성을 패브릭에서는 '교체 가능한 합의 프로토콜(Pluggable consensus)을 지원한다'고 한다.
프라이빗 블록체인에서는 어떤 네트워크 참여자가 어떤 권한을 가지는지 관리하는 것이 매우 중요한데, 그룹 별로 네트워크의 자원에 접근할 수 있는 권한은 관리자에 의해 정해져 Network Configuration에 저장된다. 또한, 이를 위해 참여자의 ID와 권한을 관리할 주체가 필요하므로, Certificate Authority(이하 CA)가 필요하다. 간단히 말해 CA는 디지털 증명서(Digital certificate)를 발급하는 기관이다. 패브릭 네트워크에 참여하는 그룹들은 모두 개별 CA를 이용하게 된다.
도 1을 참조하면, 하이퍼레져 패브릭 네트워크를 구성하는 요소는 다음과 같다.
·그룹 또는 조직(Group or organization)
·오더링 서비스 노드들 (Ordering service nodes)
·CA(Certificate Authority)
·컨소시엄(Consortium)
·채널(Channel)
·채널 설정(Channel configuration)
·장부(Ledger)
·피어(Peer)
·클라이언트 어플리케이션(Client application)
위의 요소들은 모두 하나 또는 여러 개가 네트워크에 존재할 수 있으며, 각 요소들은 추가되어 네트워크를 확장할 수 있다.
여기서, 컨소시엄(Consortium)의 사전적 정의는 '함께 협력하기로 동의한 사람 또는 회사의 집단'이다. 하이퍼레져 패브릭에서는 조직들이 하나의 컨소시엄을 구성하면 그 조직들은 트랜잭션 내역을 공유할 수 있다. 따라서, 하이퍼레져 패브릭안의 컨소시엄은 '공동의 목표를 가지고 트랜잭션 내역을 공유하며 협력하는 집단'이라고 볼 수 있겠다. 하나의 네트워크에는 여러 컨소시엄이 존재할 수 있으며 어떤 그룹들이 어떤 컨소시엄을 이루는지는 네트워크 설정 안에 정의된다.
다음으로, 채널(Channel)은 하이퍼레져 패브릭에서 매우 중요한 컨소시엄 내 그룹간 커뮤니케이션 메커니즘이다. 채널은 데이터 분리(data isolation)와 기밀화를 가능케 하며, 채널용 장부(channel-specific ledger)는 채널 사용 허가를 받은 컨소시엄 멤버들만이 접근 가능하다. 네트워크 설정(Network Configuration)과 별개로 채널 설정(Channel configuration)이 존재하여, 채널 설정 정보에는 채널(Channel)에 접근할 수 있는 피어(peer)의 권한 정보 등 채널 운영에 필요한 모든 정보를 담고 있다.
채널 설정 정보는 블록에 담겨 장부에 기록된다. 채널(Channel)은 네트워크 안에 존재하지만 네트워크 설정(Network configuration)과 채널 설정 사이 중복되는 설정이 없으므로, 네트워크 설정이 변경되어도 채널 설정에 직접적인 영향은 없다.
프라이버시(Privacy)를 유지하며 효율적인 데이터 공유(data sharing)가 가능하게 만들기 때문에 채널은 퍼블릭 블록체인(Public blockchain)은 가지지 못하는 장점을 제공하는 중요한 기능이다.
한 네트워크 안에는 여러 컨소시엄들이 사용하는 채널들이 존재할 수 있다.
다음으로, 블록체인에서 장부(Ledger)란 '변경 불가능한 상태 데이터 베이스(immutable state database)'이다. 하이퍼레져 패브릭에서는 한 채널이 한 장부를 가진다. 이 장부를 물리적으로 호스팅 하는 노드들은 피어(Peer)라고 불리며, 한 채널 안의 여러 피어들이 한 장부의 복사본을 가진다.
장부의 업데이트는 여러 피어들의 합의(Consensus)를 통해 이루어지기 때문에 일관성을 유지할 수 있다. 피어(Peer)는 장부(Ledger)를 물리적으로 호스팅하고 Chaincode(하이퍼레져 패브릭의 smart contract)를 저장하고 있는 독립체(entity)이다. 피어(Peer)는 CA로부터 Identity를 배정 받고 채널에 참여할 수 있다.
한편, 하이퍼레저 패브릭에서는 아래와 같은 순으로 트랜잭션이 일어난다.
1.클라이언트 어플리케이션에서 SDK를 통해 트랜잭션 제안(transaction proposal)을 발생시킨다.
2.체인코드의 보증 정책(endorsing policy)에 명시된 노드들(endorsing peers)은 체인코드를 실행한다.
3.각 결과값은 클라이언트 어플리케이션에 전달된다.
4.결과값이 보증 정책을 만족시키면, 결과값은 오더링 서비스(ordering service) 전달된다.
5.오더링 서비스는 먼저 도착한 순으로 블록을 만들어 채널의 모든 피어(peer)들에게 전달한다.
6.모든 피어는 도착한 블록이 보증 정책을 만족시키는지, 장부 상태(ledger state)가 트랜잭션이 일어나는 동안 바뀌지 않았는지 확인한다.
7.각 피어들은 블록을 채널의 체인에 덧붙이며, 장부의 상태를 업데이트 한다.
여기까지 하이퍼레저 패브릭 네트워크 구조 및 트랜잭션 순서를 간략하게 설명하였다.
이하, 첨부된 도면들에 기초하여 본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템을 보다 상세하게 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템을 나타낸 블록도이고, 도 3은 도 2에 도시된 전자문서 유사도 판단부의 세부 구성을 설명한 블록도이고, 도 4는 도 2에 도시된 원본증명부의 기능을 설명한 예시도이고, 도 5는 도 2에 도시된 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템에서 이루어지는 정보의 흐름을 보여준 예시도이다.
도 2 내지 도 5를 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서임치시스템(100)은 전자문서 변환부(110), 전자문서 유사도 판단부(120), 트랜잭션 등록부(130), 원본증명부(140) 및 분산형 저장소(150)를 포함한다.
상기 전자문서 변환부(110)는 사용자 단말에 설치된 웹 어플리케이션으로부터 제1 전자문서의 원본등록을 요청받아, 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 암호화한다.
상기 전자문서 유사도 판단부(120)는 상기 제1 전자문서와 기 등록된 전자문서들 간의 명사 배열의 유사도를 분석하여 문서등록 적합도를 판단하기 위한 구성으로, 토큰화부(121), 배열부(122), 매트릭스 변환부(123) 및 유사도 분석부(124)를 포함할 수 있다.
상기 토큰화부(121)는 형태소 분석 라이브러리를 제공하고, 형태소 분석 라이브러리의 nouns() 함수를 통해 제1 전자문서의 파일이름 및 파일내용 중 명사만을 추출하여 문자열에서 분리시킨다.
여기서, 본원에 개시된 형태소 분석 라이브러리는 특허, 저작권, 논문 등과 관련된 전자문서의 유사도를 형태소, 보다 바람직하게는 단어(명사)를 통해 검증하기 위한 필수 구성일 수 있다.
예로, 전자문서에서 계약서의 경우, 내용이 대부분 동일하고 계약자만 다른 경우가 많기 때문에 특허, 저작권 등의 전자문서에 국한하여 사용한다.
상기 배열부(122)는 상기 토큰화부(121)에서 추출된 명사들을 열 또는 행으로 순차 배열한다.
상기 매트릭스 변환부(123)는 상기 배열부(122)에서 배열된 문자 열 또는 행의 배열을 fit_transform() 함수를 이용하여 스파스 행렬(Sparse matrix)로 변환한다.
또한, 상기 매트릭스 변환부(123)는 toarry() 함수로 스파스 행렬(sparse matrix)을 상기 배열부(122)의 배열 형태로 변환할 수 있다.
다음으로, 유사도 분석부(124)는 TF-IDF(Term Frequency-Inverse Document Frequency) 알고리즘인 식 1을 이용하여 기 등록된 전자문서들과 제1 전자문서들 간에 유사한 단어들의 불린 빈도를 분석한다.
[식 1]
tf(t,d) = (단어 t가 포함된 문서의 수) / (전체문서의 수)
참고로, TF-IDF(Term Frequency-Inverse Document Frequency)는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 문서의 핵심어를 추출하거나, 검색 엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용할 수 있다.
TF(단어 빈도, term frequency)는 특정 단어가 문서 내에 얼마나 자주 등장하는 지를 나타내는 값이고, DF(문서 빈도, document frequency)는 단어 자체가 문서군 내에서 자주 사용되는 것을 의미하고, 이값의 역수를IDF(역문서 빈도, Iverse document frequency)라 하고, TF-IDF는 TF와 IDF의 곱의 값이다.
여기서, TF-IDF는 Scikit-Learn 라이브러리를 사용하여 구할 수 있다.
아래의 3가지 문장을 예시적으로 설명한다.
Figure 112019033928706-pat00001
TF 값 계산
문서에서 해당 단어가 얼마나 나왔는지 알아야 하므로 각 문서에서 해당 단어들이 얼마나 나왔는지 카운트한다.
Figure 112019033928706-pat00002
IDF 값 계산
IDF 값은 log(전체 문서 수/ 해당 단어가 나타난 문서 수)를 계산한다. 예를 들어, Tom을 계산해보면 해당 단어가 나타난 문서수는 2이고, 현재 전체 문서의 수는 3이므로, Log(3/2) ≒ 0.18 이라는 값이 나온다.
Figure 112019033928706-pat00003
TF-IDF 값 계산
TF-IDF값은 TF 값과 IDF 값을 곱한 값이다. 'his'단어의 경우 TF의 값이 2이고, IDF 값이 0.48이므로 두개를 곱한 2 × 0.48 = 0.96이 TF-IDF 값이 된다. 아래 표를 보면, Doc1에서는 'play', Doc 2에서는 'loves', Doc3에서는 'his'가 가장 중요한 단어가 된다.
Figure 112019033928706-pat00004
이후, TF-IDF 값이 모두 계산되었으므로, 문서 내의 단어들에 수치값을 Scikit-Learn 라이브러리를 이용하여 불린 유사도를 분석할 수 있다.
Figure 112019033928706-pat00005
참고로, 일 예에서 사용된 stop_words = 'english'는 불용어를 제거하은 의미로 아래와 같은 코드를 추가할 수 있다.
Figure 112019033928706-pat00006
한편, 유사도 분석부(124)는 기 등록된 전자문서들과 제1 전자문서들 간에 유사한 단어들의 불린 빈도를 산출한 후, 산출된 불린 빈도를 이용하여 문서들 간의 전체 유사도를 분석할 수 있고, 유사도가 기 설정된 퍼센트 이상이면 유사하다고 판단한 판단신호를 제공한다.
Figure 112019033928706-pat00007
상기 유사도 판단부(124)는 유사도가 일정 기준치 이상일 경우 유일한 내용의 전자문서가 아니라고 판단하며, 제1 전자문서의 등록을 반려할 수 있다.
즉, 유사도 판단부(120)는 상기 제1 전자문서와 기 등록된 전자문서들 간의 파일이름, 파일내용 중 명사 배열의 유사도를 분석하여 문서등록의 적합도를 판단한다.
다음으로, 트랜잭션 등록부(130)는 상기 유사도 판단부(120)로부터 상기 제1 전자문서의 문서등록 적합이 판정되면, 상기 제1 전자문서의 해시 값 및 상기 해시 값에 사용된 공개키를 분산데이터베이스의 블록 체인 노드에 등록한다.
여기서, 상술한 트랜잭션 등록부(130)는 후술할 원본증명서(140)에서 임치 증명서를 발급할 경우, 임치 증명서의 발급을 요청한 발급인, 발급 시기 등의 정보를 블록 체인 노드에 등록할 수 있다.
다음으로, 상기 원본증명부(140)는 상기 웹 어플리케이션으로부터 제공된 검증하고자 하는 제3 전자문서와 제1 전자문서 간의 원본증명이 요청되면, 상기 제3 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 변환한 후, 상기 제3 전자문서의 해시값과 상기 블록 체인 노드에 등록된 제1 전자문서의 해시값 간의 동일성을 검증한 후, 제1 전자문서가 임치된 시간을 추적해 제3 전자문서와의 선후관계를 증명한 임치 증명서를 발급한다.
상기 오프 체인 분산형 저장소(150)는 상기 전자문서 변환부에서 변환된 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값을 분산저장한다.
상기 오프 체인 분산형 저장소(150)는 각각의 노드에 대응되는 서버이거나, 각각의 블록체인 노드를 관리하는 서버일 수 있다. 이에 더하여, 오프 체인 분산형 저장소(150)는 각 노드들에 저장된 전자문서들의 상태 정보를 관리할 수 있다. 그리고, 오프 체인 분산형 저장소(150)는 제1 블록체인 데이터베이스와 제2 블록체인 데이터베이스로 구성될 수 있다. 이때, 제1 블록체인 데이터베이스는 프라이빗 블록체인 데이터베이스로 구성될 수 있으며, 제2 블록체인 데이터베이스는 프라이빗 블록체인 데이터베이스 또는 퍼블릭 블록체인 데이터베이스로 구성될 수 있다.
즉, 오프 체인 분산형 저장소(150)는 등록된 전자문서의 외부 침입 및 노출 방지를 위하여 사용자의 공개키로 암호화된 전자문서를 분산 저장할 수 있다.
한편, 본 발명의 일 실시예에 따른 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템(100)은 공증센터 노드(160)를 더 포함할 수 있다.
상기 공증센터(160)는 하나의 노드로 구성되고, 하이퍼레저 패브릭 블록체인 네트워크에 피어(peer)로서 참여하여 트랜잭션을 생성한다.
상기 공증센터 노드(160)는 하이퍼레저 익스플로러와 연동하여 분산형 저장소(150) 내의 블록체인 노드들 간의 네트워크를 모니터링할 수 있다.
상기 공증센터 노드(160)는 암호화된 전자문서 파일을 보관하며, 전자문서가 훼손될 경우, 해당 전자문서가 저장된 블록체인 노드로부터 전자문서를 제공받아 복구할 수 있다.
도 6은 본 명세서에 개진된 하나 이상의 실시예가 구현될 수 있는 예시적인 컴퓨팅 환경을 도시하는 도면으로, 상술한 하나 이상의 실시예를 구현하도록 구성된 컴퓨팅 디바이스(1100)를 포함하는 시스템(1000)의 예시를 도시한다. 예를 들어, 컴퓨팅 디바이스(1100)는 개인 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 디바이스, 모바일 디바이스(모바일폰, PDA, 미디어 플레이어 등), 멀티프로세서 시스템, 소비자 전자기기, 미니 컴퓨터, 메인프레임 컴퓨터, 임의의 전술된 시스템 또는 디바이스를 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이것으로 한정되는 것은 아니다.
컴퓨팅 디바이스(1100)는 적어도 하나의 프로세싱 유닛(1110) 및 메모리(1120)를 포함할 수 있다. 여기서, 프로세싱 유닛(1110)은 예를 들어 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 주문형 반도체(Application Specific Integrated Circuit, ASIC), Field Programmable Gate Arrays(FPGA) 등을 포함할 수 있으며, 복수의 코어를 가질 수 있다. 메모리(1120)는 휘발성 메모리(예를 들어, RAM 등), 비휘발성 메모리(예를 들어, ROM, 플래시 메모리 등) 또는 이들의 조합일 수 있다. 또한, 컴퓨팅 디바이스(1100)는 추가적인 스토리지(1130)를 포함할 수 있다. 스토리지(1130)는 자기 스토리지, 광학 스토리지 등을 포함하지만 이것으로 한정되지 않는다. 스토리지(1130)에는 본 명세서에 개진된 하나 이상의 실시예를 구현하기 위한 컴퓨터 판독 가능한 명령이 저장될 수 있고, 운영 시스템, 애플리케이션 프로그램 등을 구현하기 위한 다른 컴퓨터 판독 가능한 명령도 저장될 수 있다. 스토리지(1130)에 저장된 컴퓨터 판독 가능한 명령은 프로세싱 유닛(1110)에 의해 실행되기 위해 메모리(1120)에 로딩될 수 있다. 또한, 컴퓨팅 디바이스(1100)는 입력 디바이스(들)(1140) 및 출력 디바이스(들)(1150)을 포함할 수 있다.
여기서, 입력 디바이스(들)(1140)은 예를 들어 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스, 적외선 카메라, 비디오 입력 디바이스 또는 임의의 다른 입력 디바이스 등을 포함할 수 있다. 또한, 출력 디바이스(들)(1150)은 예를 들어 하나 이상의 디스플레이, 스피커, 프린터 또는 임의의 다른 출력 디바이스 등을 포함할 수 있다. 또한, 컴퓨팅 디바이스(1100)는 다른 컴퓨팅 디바이스에 구비된 입력 디바이스 또는 출력 디바이스를 입력 디바이스(들)(1140) 또는 출력 디바이스(들)(1150)로서 사용할 수도 있다.
또한, 컴퓨팅 디바이스(1100)는 컴퓨팅 디바이스(1100)가 다른 디바이스(예를 들어, 컴퓨팅 디바이스(1300))와 통신할 수 있게 하는 통신접속(들)(1160)을 포함할 수 있다.
여기서, 통신 접속(들)(1160)은 모뎀, 네트워크 인터페이스 카드(NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기, 적외선 포트, USB 접속 또는 컴퓨팅 디바이스(1100)를 다른 컴퓨팅 디바이스에 접속시키기 위한 다른 인터페이스를 포함할 수 있다. 또한, 통신 접속(들)(1160)은 유선 접속 또는 무선 접속을 포함할 수 있다. 상술한 컴퓨팅 디바이스(1100)의 각 구성요소는 버스 등의 다양한 상호접속(예를 들어, 주변 구성요소 상호접속(PCI), USB, 펌웨어(IEEE 1394), 광학적 버스 구조 등)에 의해 접속될 수도 있고, 네트워크(1200)에 의해 상호접속될 수도 있다. 본 명세서에서 사용되는 "구성요소", "시스템" 등과 같은 용어들은 일반적으로 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어인 컴퓨터 관련 엔티티를 지칭하는 것이다.
예를 들어, 구성요소는 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행 가능물(executable), 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이것으로 한정되는 것은 아니다. 예를 들어, 컨트롤러 상에서 구동중인 애플리케이션 및 컨트롤러 모두가 구성요소일 수 있다. 하나 이상의 구성요소는 프로세스 및/또는 실행의 스레드 내에 존재할 수 있으며, 구성요소는 하나의 컴퓨터 상에서 로컬화될 수 있고, 둘 이상의 컴퓨터 사이에서 분산될 수도 있다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
100: 문서 임치 시스템
110: 전자문서 변환부
120: 전자문서 유사도 판단부
121: 토큰화부
122: 배열부
123: 매트릭스 변환부
124: 유사도 분석부
130: 트랜잭션 등록부
140: 원본증명부
150: 오프 체인 분산형 저장소
160: 공증센터 노드

Claims (4)

  1. 사용자 단말에 설치된 웹 어플리케이션으로부터 제공된 제1 전자문서의 원본등록이 요청되면, 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 암호화하는 전자문서 변환부;
    상기 제1 전자문서와 기 등록된 전자문서들 간의 명사 배열의 유사도를 분석하여 문서등록 적합도를 판단하는 전자문서 유사도 판단부;
    상기 전자문서 유사도 판단부로부터 상기 제1 전자문서의 문서등록 적합이 판정되면, 상기 제1 전자문서의 해시 값 및 상기 해시 값에 사용된 공개키를 블록 체인 노드에 등록하는 트랜잭션 등록부;
    상기 사용자 단말에 설치된 웹 어플리케이션으로부터 제공된 검증하고자 하는 제3 전자문서와 상기 제1 전자문서 간의 원본증명이 요청되면, 상기 제3 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값으로 변환한 후, 상기 제3 전자문서의 해시값과 상기 블록 체인 노드에 등록된 제1 전자문서의 해시값 간의 동일성을 검증한 후, 제1 전자문서가 임치된 시간을 추적해 제3 전자문서와의 선후관계를 증명한 임치 증명서를 발급하는 원본증명부;
    상기 전자문서 변환부에서 변환된 상기 제1 전자문서의 파일이름, 발급시기, 발급인 정보를 사용자의 공개 키로 암호화한 해시값을 분산저장하는 오프 체인 분산형 저장소; 및
    하이퍼레저 패브릭 블록체인 네트워크에 피어(peer)로서 참여하여 트랜잭션을 생성하고, 하이퍼레저 익스플로러와 연동하여 상기 분산형 저장소 내의 블록체인 노드들 간의 네트워크를 모니터링하고, 암호화된 전자문서 파일을 보관하며, 전자문서가 훼손될 경우, 해당 전자문서가 저장된 블록체인 노드로부터 전자문서를 제공받아 복구하는 공증센터 노드를 포함하고,
    상기 전자문서 유사도 판단부는
    형태소 분석 라이브러리를 제공하고, 형태소 분석 라이브러리의 nouns() 함수를 통해 제1 전자문서의 파일이름 및 파일내용 중 명사만을 추출하여 문자열에서 분리시키는 토큰화부;
    상기 토큰화부에서 추출된 명사들을 열 또는 행으로 순차 배열하는 배열부;
    상기 배열부에서 배열된 문자 열 또는 행의 배열을 fit_transform() 함수를 이용하여 스파스 행렬(Sparse matrix)로 변환 및 toarry() 함수로 스파스 행렬(sparse matrix)을 상기 배열부의 배열 형태로 변환시키는 매트릭스 변환부; 및
    TF-IDF(Term Frequency-Inverse Document Frequency) 알고리즘인 식 1을 이용하여 기 등록된 전자문서들과 제1 전자문서들 간에 유사한 단어들의 불린 빈도를 분석하는 유사도 분석부를 포함하고,
    상기 유사도 분석부는
    기 등록된 전자문서들과 제1 전자문서들 간에 유사한 단어들의 불린 빈도를 산출한 후, 산출된 불린 빈도를 이용하여 문서들 간의 전체 유사도를 분석하고, 상기 전체 유사도가 기 설정값 이상이면 유사하다고 판단한 판단신호를 제공하는 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템.
    [식 1]
    tf(t,d) = (단어 t가 포함된 문서(d)의 수) / (전체문서의 수)
  2. 제1항에 있어서,
    상기 전자문서 유사도 판단부는
    형태소 분석 라이브러리의 nouns() 함수를 이용하여 상기 제1 전자문서 내의 문자들 중 명사를 추출 및 배열하고, 상기 배열을 fit_transform() 함수를 이용하여 매트릭스로 변환하는 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템.
  3. 삭제
  4. 삭제
KR1020190038651A 2019-04-02 2019-04-02 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템 Active KR102002488B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190038651A KR102002488B1 (ko) 2019-04-02 2019-04-02 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190038651A KR102002488B1 (ko) 2019-04-02 2019-04-02 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템

Publications (1)

Publication Number Publication Date
KR102002488B1 true KR102002488B1 (ko) 2019-07-23

Family

ID=67439794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190038651A Active KR102002488B1 (ko) 2019-04-02 2019-04-02 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템

Country Status (1)

Country Link
KR (1) KR102002488B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102147085B1 (ko) * 2019-12-16 2020-08-24 주식회사 디지털존 전자문서의 사후 파기가 가능한 블록체인 기반 전자문서 관리 시스템 및 그것의 제어 방법
KR102201679B1 (ko) * 2020-06-12 2021-01-12 박성갑 마이데이터 공유 서비스 방법
KR102211937B1 (ko) 2020-04-29 2021-02-04 에스지에이비엘씨 주식회사 블록체인 네트워크 상에서 오프체인 원장을 이용한 역할기반의 데이터 보호 시스템
KR20210014084A (ko) * 2019-07-29 2021-02-08 주식회사 그루크리에이티브랩 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템
CN112800481A (zh) * 2021-01-13 2021-05-14 伙伴愿景(广东)智能科技有限公司 一种基于区块链的线上社区会员互信存证体系、方法及存储介质
CN112910989A (zh) * 2021-01-28 2021-06-04 浙江网商银行股份有限公司 基于区块链的数据处理系统、方法及装置
KR20220130404A (ko) * 2021-03-18 2022-09-27 최혜민 안전 관리 컨텐츠를 분산된 블록들로 변환하여 관리하는 정보 공증 서버, 방법 및 컴퓨터 프로그램

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101796690B1 (ko) 2016-06-28 2017-11-10 상명대학교 천안산학협력단 블록체인 기반의 펌웨어 무결성 검증 시스템 및 그 방법
KR20180035477A (ko) * 2016-09-29 2018-04-06 (주)시지온 전자문서의 대표 단어 선정 방법, 전자 문서 제공 방법, 및 이를 수행하는 컴퓨팅 시스템
KR101882802B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버
KR20180110670A (ko) * 2016-02-08 2018-10-10 린제이 몰로니 문서 정보의 진본성을 검증하기 위한 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180110670A (ko) * 2016-02-08 2018-10-10 린제이 몰로니 문서 정보의 진본성을 검증하기 위한 시스템 및 방법
KR101796690B1 (ko) 2016-06-28 2017-11-10 상명대학교 천안산학협력단 블록체인 기반의 펌웨어 무결성 검증 시스템 및 그 방법
KR20180035477A (ko) * 2016-09-29 2018-04-06 (주)시지온 전자문서의 대표 단어 선정 방법, 전자 문서 제공 방법, 및 이를 수행하는 컴퓨팅 시스템
KR101882802B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210014084A (ko) * 2019-07-29 2021-02-08 주식회사 그루크리에이티브랩 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템
KR102355918B1 (ko) 2019-07-29 2022-02-07 주식회사 그루크리에이티브랩 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템
KR102147085B1 (ko) * 2019-12-16 2020-08-24 주식회사 디지털존 전자문서의 사후 파기가 가능한 블록체인 기반 전자문서 관리 시스템 및 그것의 제어 방법
KR102211937B1 (ko) 2020-04-29 2021-02-04 에스지에이비엘씨 주식회사 블록체인 네트워크 상에서 오프체인 원장을 이용한 역할기반의 데이터 보호 시스템
KR102201679B1 (ko) * 2020-06-12 2021-01-12 박성갑 마이데이터 공유 서비스 방법
CN112800481A (zh) * 2021-01-13 2021-05-14 伙伴愿景(广东)智能科技有限公司 一种基于区块链的线上社区会员互信存证体系、方法及存储介质
CN112910989A (zh) * 2021-01-28 2021-06-04 浙江网商银行股份有限公司 基于区块链的数据处理系统、方法及装置
CN112910989B (zh) * 2021-01-28 2022-09-02 浙江网商银行股份有限公司 基于区块链的数据处理系统、方法及装置
KR20220130404A (ko) * 2021-03-18 2022-09-27 최혜민 안전 관리 컨텐츠를 분산된 블록들로 변환하여 관리하는 정보 공증 서버, 방법 및 컴퓨터 프로그램
KR102662399B1 (ko) * 2021-03-18 2024-05-02 최혜민 안전 관리 컨텐츠를 분산된 블록들로 변환하여 관리하는 정보 공증 서버, 방법 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
KR102002488B1 (ko) 블록체인 기반 오프 체인 분산형 저장소를 활용한 문서 임치 시스템
Politou et al. Blockchain mutability: Challenges and proposed solutions
Dasgupta et al. A survey of blockchain from security perspective
Jing et al. A blockchain-based code copyright management system
CN111723355B (zh) 数据库中的信息管理
JP7225208B2 (ja) ブロックチェーンにおける擬似乱数生成
KR102084674B1 (ko) 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템
Baqer et al. Stressing out: Bitcoin “stress testing”
Zhang et al. Data security sharing method based on CP-ABE and blockchain
Zhao et al. Research on electronic medical record access control based on blockchain
Martinovic et al. Blockchains for governmental services: Design principles, applications, and case studies
Yu et al. Technology and security analysis of cryptocurrency based on blockchain
Sharma et al. Tamper-proof multitenant data storage using blockchain
Allard et al. MET𝔸P: revisiting Privacy-Preserving Data Publishing using secure devices
Rghioui Managing patient medical record using blockchain in developing countries: challenges and security issues
Purba et al. Application of Blockchain technology to prevent the potential of plagiarism in scientific publication
Menon et al. A comparatıve analysis on three consensus algorithms: proof of burn, proof of elapsed time, proof of authority
Politou et al. Privacy in blockchain
Sung Prospects and challenges posed by blockchain technology on the copyright legal system
Aliya et al. Ensuring Information Security of Web Resources Based on Blockchain Technologies
Chenli et al. Provnet: Networked blockchain for decentralized secure provenance
Le et al. Distributed secure search in the personal cloud
Merrill Better not to know? The SHA1 collision & the limits of polemic computation
Gimenez-Aguilar et al. Malicious uses of blockchains by malware: from the analysis to Smart-Zephyrus
AlKhanafseh et al. A New Evidence Preservation Forensics Model Using Blockchain and Stenography Techniques

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190402

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20190404

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20190402

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190507

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20190708

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20190716

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20190717

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220718

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20230425

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20240723

Start annual number: 6

End annual number: 6