KR102383099B1 - 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 블록체인 시스템 - Google Patents
블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 블록체인 시스템 Download PDFInfo
- Publication number
- KR102383099B1 KR102383099B1 KR1020200056781A KR20200056781A KR102383099B1 KR 102383099 B1 KR102383099 B1 KR 102383099B1 KR 1020200056781 A KR1020200056781 A KR 1020200056781A KR 20200056781 A KR20200056781 A KR 20200056781A KR 102383099 B1 KR102383099 B1 KR 102383099B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- encrypted
- key
- ipfs
- user node
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
블록체인 기반의 DID 서비스, IPFS 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 시스템이 제공된다. 상기 비대면 대용량 문서 접근 시스템은, 다수의 노드들의 P2P 통신으로 파일을 분산 저장하며, 상기 파일의 업로드에 따른 반환 값으로 링크를 생성하는 IPFS 노드, 원본 데이터(D)의 암호화에 이용되는 대칭키(K)를 생성하고, 상기 대칭키(K)를 이용하여 상기 원본 데이터(D)를 암호화하고, 상기 암호화된 데이터를 상기 IPFS 노드에 업로드하고, 상기 IPFS 노드에 업로드된 암호화된 데이터에 관한 링크와 암호화된 대칭키의 묶음(B1)을 자신의 개인키(P21)로 암호화하는 사용자 노드, 상기 사용자 노드로부터 상기 암호화된 묶음(B1)을 전달받아 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 링크를 통해 상기 IPFS 노드로부터 상기 암호화된 데이터를 다운로드하고, 자신의 개인키(P22)를 이용하여 상기 암호화된 대칭키를 복호화하여 상기 대칭키(K)를 확보하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화한 후 상기 원본 데이터(D)를 확인하고 검증가능한 자격증명(VC)을 발행하는 발행인 노드, 상기 발행인 노드에서 상기 사용자 노드로 제공된 상기 검증가능한 자격증명(VC)과 대칭키(K)가 함께 암호화된 묶음(B2)을 상기 사용자 노드로부터 전달받고, 상기 묶음(B2)을 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 발행인 노드의 공개키(P21)와 상기 사용자 노드의 공개키(P11)를 이용하여 상기 검증가능한 자격증명(VC)의 데이터를 검증하고, 상기 암호화된 대칭키는 자신의 개인키(P32)로 복호화하여 대칭키(K)를 확보하고, 상기 검증가능한 자격증명(VC)에 포함된 링크 정보를 이용하여 상기 IPFS 노드에 접근하여 암호화된 데이터를 다운로드하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화하여 상기 원본 데이터를 확보하는 제1 검증인 노드, 및 상기 사용자 노드, 상기 발행인 노드, 및 상기 제1 검증인 노드에 관한 DID 및 DID 문서를 블록체인에 저장하는 DID 시스템을 포함하고, 상기 사용자 노드는 상기 발행인 노드 및 상기 사용자 노드의 전자서명이 포함된 상기 검증가능한 자격증명(VC)을 상기 제1 검증인 노드로 전달하고, 상기 제1 검증인 노드는 상기 검증가능한 자격증명(VC)에 등록된 DID를 상기 블록체인에서 검색하여 상기 전자서명들을 검증한다.
Description
본 발명은 블록체인 기반의 DID 서비스, IPFS 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 시스템에 관한 것이다. 더욱 상세하게는, 본 발명은 블록체인에 등록한 DID(Decentralized Identifier; 분산 식별자)를 이용하여 중앙기관의 관여 없이 개인 신원 증명을 수행하며, DID 문서와 관련된 대용량 파일은 IPFS 노드에 분산 저장함으로써 데이터 크기에 제한 없이 마이데이터와 DID를 결합하여 다양한 서비스를 제공할 수 있다. 또한, 사용자의 어플리케이션 또는 시스템에서 생성된 대칭키를 이용하여 개인키를 암호화한 결과와 사용자 DID, 및 암호화에 사용된 대칭키와 사용자 DID를 각각 서로 다른 검증인 노드의 HSM(Hardware Security Module)에 분산 저장하고, DID를 검증하여 분산 저장된 데이터가 합쳐질 때에만 개인키 복원이 가능하도록 한다.
블록체인(Block Chain)은 네트워크에 참여하는 모든 사용자가 관리 대상이 되는 모든 데이터를 분산하여 저장하는 데이터 분산처리기술을 의미한다. 거래 정보가 담긴 원장(原帳)을 거래 주체나 특정 기관에서 보유하는 것이 아니라 네트워크 참여자 모두가 나누어 가지는 기술이라는 점에서 '분산원장기술(DLT:Distributed Ledger Technology)' 또는 '공공거래장부'라고도 한다. 블록체인은 거래 내용이 담긴 블록(Block)을 사슬처럼 연결(chain)한 것이라 하여 붙여진 명칭이다. 이러한 블록체인은 거래 내용의 위변조와 같은 해킹을 막기 위한 기술이며, 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다.
블록체인은 금융기관에서 모든 거래를 담보하고 관리하는 기존의 금융 시스템에서 벗어나 P2P(Peer to Peer;개인 대 개인) 거래를 지향하는, 탈(脫)중앙화를 핵심 개념으로 한다. P2P란 서버나 클라이언트 없이 개인 컴퓨터 사이를 연결하는 통신망을 말하며, 연결된 각각의 컴퓨터가 서버이자 클라이언트 역할을 하며 정보를 공유하는 방식이다. 다수의 노드가 같은 데이터를 공유하고 검증하는 방식을 통해 디지털 상에 신뢰관계를 형성하게 된다. 이러한 환경은 중개자 없이 P2P로 편리하게 계약을 체결하고 수정할 수 있는 스마트 컨트랙트를 실현 가능하게 한다.
기존 금융 시스템에서는 금융회사들이 중앙 서버에 거래 기록을 보관해 온 반면, P2P 방식을 기반으로 하는 블록체인에서는 거래 정보를 블록에 담아 차례대로 연결하고 이를 모든 참여자가 공유한다.
가상화폐(Virtual Currency)는 전자화폐 또는 암호화폐라고도 하며, 지폐나 동전 등의 실물이 없고 온라인에서 거래되는 화폐를 말한다. 가상화폐는 각국 정부나 중앙은행이 발행하는 일반 화폐와 달리 처음 고안한 사람이 정한 규칙에 따라 가치가 매겨진다. 또한, 탈중앙화 특징에 의해 정부나 중앙은행에서 거래 내역을 관리하지 않고 블록체인 기술을 기반으로 유통되기 때문에 정부 등 특정 기관이 가치나 지급을 보장하지 않는다.
본 발명이 해결하고자 하는 기술적 과제는, 중앙집중식으로 개인정보를 관리하는 위험성 및 불편함을 해소하기 위해 블록체인의 암호학적 특성을 이용하여 중앙기관의 관여 없이 개인 신원 증명을 수행하고, 개인이 정보 관리의 주체가 되어 능동적으로 본인의 정보를 관리하고 본인 의지에 따라 신용 및 자산관리 등에 정보를 활용할 수 있는 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 개인정보와 관련된 마이데이터를 암호화하여 IPFS 노드에 저장하고, 암호화된 대칭키를 이용하여 적절한 검증인 노드만 접근가능하게 하여 개인정보에 관한 데이터 접근을 통제할 수 있는 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, DID 문서와 관련한 대용량 파일을 IPFS 노드에 분산 저장하고, 링크를 이용해 적절한 검증인 노드에서만 파일에 접근하도록 함으로써, 저장되는 데이터 크기에 제한을 받지 않으면서 데이터 접근을 통제하되 사용자 의지에 따라 데이터 접근 여부를 관리할 수 있는 비대면 대용량 문서 접근 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 사용자 노드(Holder)의 개인키는 모든 전자 자산 및 신원 증명에 이용되므로 안전하게 보관되고, 분실 시 복원 가능해야 하는데, 이를 위해 대칭키를 이용하여 개인키를 암호화한 결과와 사용자 DID, 및 암호화에 사용된 대칭키와 사용자 DID를 서로 다른 검증인 노드(Verifier)에 분산 저장하는 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 키 에스크로우(Key Escrow) 방식이 아닌 탈중앙화된 방식으로 개인키를 보관할 수 있는 시스템을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 기술적 과제들은 상기 과제들로 한정되는 것이 아니며, 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있다.
이하의 본 명세서에서 설명하는 공개키와 개인키 쌍에 대하여, 사용자 노드의 공개키는 P11, 사용자 노드의 개인키는 P21, 발행인 노드의 공개키는 P12, 발행인 노드의 개인키는 P22, 제1 검증인 노드의 공개키는 P13, 개인키는 P23으로 명명하여 기술하기로 한다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 블록체인 기반의 DID 서비스, IPFS 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 시스템은, 다수의 노드들의 P2P 통신으로 파일을 분산 저장하며, 상기 파일의 업로드에 따른 반환 값으로 링크를 생성하는 IPFS 노드, 원본 데이터(D)의 암호화에 이용되는 대칭키(K)를 생성하고, 상기 대칭키(K)를 이용하여 상기 원본 데이터(D)를 암호화하고, 상기 암호화된 데이터를 상기 IPFS 노드에 업로드하고, 상기 IPFS 노드에 업로드 된 암호화된 데이터에 관한 링크와 암호화된 대칭키의 묶음(B1)을 자신의 개인키(P21)로 암호화하는 사용자 노드, 상기 사용자 노드로부터 상기 암호화된 묶음(B1)을 전달받아 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 링크를 통해 상기 IPFS 노드로부터 상기 암호화된 데이터를 다운로드하고, 자신의 개인키(P22)를 이용하여 상기 암호화된 대칭키를 복호화하여 상기 대칭키(K)를 확보하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화한 후 상기 원본 데이터(D)를 확인하고 검증가능한 자격증명(VC)을 발행하는 발행인 노드, 상기 발행인 노드에서 상기 사용자 노드로 제공된 상기 검증가능한 자격증명(VC)과 대칭키(K)가 함께 암호화된 묶음(B2)을 상기 사용자 노드로부터 전달받고, 상기 묶음(B2)을 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 발행인 노드의 공개키(P12)와 상기 사용자 노드의 공개키(P11)를 이용하여 상기 검증가능한 자격증명(VC)의 데이터를 검증하고, 상기 암호화된 대칭키는 자신의 개인키(P23)로 복호화하여 대칭키(K)를 확보하고, 상기 검증가능한 자격증명(VC)에 포함된 링크 정보를 이용하여 상기 IPFS 노드에 접근하여 암호화된 데이터를 다운로드하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화하여 상기 원본 데이터를 확보하는 제1 검증인 노드, 및 상기 사용자 노드, 상기 발행인 노드, 및 상기 제1 검증인 노드에 관한 DID 및 DID 문서를 블록체인에 저장하는 DID 시스템을 포함하고, 상기 사용자 노드는 상기 발행인 노드 및 상기 사용자 노드의 전자서명이 포함된 상기 검증가능한 자격증명(VC)을 상기 제1 검증인 노드로 전달하고, 상기 제1 검증인 노드는 상기 검증가능한 자격증명(VC)에 등록된 DID를 상기 블록체인에서 검색하여 상기 전자서명들을 검증한다.
본 발명에 따른 몇몇 실시예에서, 상기 검증가능한 자격증명(VC)은 상기 사용자 노드의 신원 정보, 링크 정보, 상기 발행인 노드의 전자서명을 포함할 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 발행인 노드에서 생성한 상기 검증가능한 자격증명(VC)을 상기 사용자 노드로부터 제공받아 검증하고, 상기 검증가능한 자격증명(VC)을 검증한 후 상기 사용자 노드로 암호화된 개인키를 전달하는 제2 검증인 노드를 더 포함할 수 있다.
본 발명에 따른 몇몇 실시예에서, 상기 발행인 노드에서 생성한 상기 검증가능한 자격증명(VC)을 상기 사용자 노드로부터 제공받아 검증하고, 상기 검증가능한 자격증명(VC)을 검증한 후 상기 사용자 노드로 개인키 암호화에 사용된 대칭키를 전달하는 제3 검증인 노드를 더 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면, 대용량 데이터의 송수신의 어려움을 해결하고, 중앙기관을 통한 개인 신원 증명을 벗어남으로써 개인의 프라이버시 보호를 강화할 수 있다.
또한, 본 발명에 따르면, IPFS를 통한 데이터 공유 기술을 이용함으로써 사용자 노드간에 대용량 파일을 공유할 수 있도록 하며, 신뢰된 시스템 상의 파일의 접근 범위를 제한하여 보안을 강화하고, 데이터 위/변조 방지를 가능하게 한다.
또한, 본 발명에 따르면, 개인정보 관련된 대용량 데이터에 대한 접근 범위를 제한할 수 있고, 이를 통해 제공된 정보는 IPFS 노드의 링크가 블록체인 상에 기록되어 있어 정보의 무결성이 보장될 수 있다.
또한, 본 발명에 따르면, 정보제공자가 정당한 사용자라는 것을 DID를 통해 증명가능하여, 정보제공 주체의 신원을 정확하게 보증할 수 있다.
또한, 본 발명에 따르면, 개인이 정보를 관리하고 제공하는 주체가 되며, 정보를 제공함으로써 보상을 받는 구조를 구축할 수 있다.
또한, 본 발명에 따르면, 마이데이터와 DID를 결합하여 신원 증명뿐만 아니라 금융, 통신, 의료, 유통 등 다양한 분야에서 마이데이터를 활용할 수 있는 시스템을 구축할 수 있다.
또한, 본 발명에 따르면, 블록체인을 활용한 서비스를 제공함에 있어서 발생할 수 있는 개인키 분실의 위험성을 방지할 수 있다.
또한, 본 발명에 따르면, 개인키 분실에 따른 DID 서비스의 사용 불가 또는 자신의 신원이 악용될 수 있는 문제를 해결할 수 있다.
또한, 본 발명에 따르면, 탈중앙화된 방식으로 개인키를 보관, 저장, 관리할 수 있어 보안을 강화할 수 있고, 개인키 분실에 따라 파생되는 문제들을 방지하고, 개인키 복원을 안전하게 수행할 수 있다.
다만, 본 발명의 효과는 상기 효과들로 한정되는 것이 아니며, 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있다.
도 1은 본 발명에 따른 기술적 사상이 적용될 수 있는 블록체인을 이용한 분산처리 시스템을 도시한 도면이다.
도 2 및 도 3은 블록체인 시스템에서 이용되는 블록의 연결을 도시한 블록도이다.
도 4는 본 발명에 적용되는 IPFS 노드를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 블록체인 기반의 DID 시스템과 IPFS 노드가 결합된 비대면 대용량 문서 접근 시스템의 구성 및 동작 절차를 도시한 블록도이다.
도 6은 본 발명의 실시예에 따른 블록체인 기반의 개인키 분산 저장 방법이 적용된 비대면 대용량 문서 접근 시스템의 구성 및 동작 절차를 도시한 블록도이다.
도 7은 본 발명의 실시예에 따른 노드의 컴퓨팅 장치의 구성도이다.
도 2 및 도 3은 블록체인 시스템에서 이용되는 블록의 연결을 도시한 블록도이다.
도 4는 본 발명에 적용되는 IPFS 노드를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 블록체인 기반의 DID 시스템과 IPFS 노드가 결합된 비대면 대용량 문서 접근 시스템의 구성 및 동작 절차를 도시한 블록도이다.
도 6은 본 발명의 실시예에 따른 블록체인 기반의 개인키 분산 저장 방법이 적용된 비대면 대용량 문서 접근 시스템의 구성 및 동작 절차를 도시한 블록도이다.
도 7은 본 발명의 실시예에 따른 노드의 컴퓨팅 장치의 구성도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
이하에서는 본 발명의 개념이 적용될 수 있는 블록체인을 이용한 분산처리 시스템에 관해 먼저 설명하기로 한다.
도 1은 본 발명에 따른 기술적 사상이 적용될 수 있는 블록체인을 이용한 분산처리 시스템을 도시한 도면이다.
도 1을 참조하면 블록체인을 이용한 분산처리 시스템(100)은 복수의 노드들(110-170)로 이루어진 분산형 네트워크(distributed network) 시스템이다. 상기 분산형 네트워크(100)를 구성하는 노드들(110-170)은 컴퓨터, 이동 단말기, 전용 전자 장치 등 연산 능력이 있는 전자 장치일 수 있다.
일반적으로 분산형 네트워크(100)는 블록체인이라 불리는 블록(block)의 연결 묶음 내에 모든 참여 노드에 공통으로 알려진 정보를 저장하고 참조할 수 있다. 상기 노드들(110-170)은 상호간 통신이 가능하며 블록체인을 저장, 관리 및 전파를 담당하는 완전 노드(full node)와 단순하게 트랜잭션에만 참여할 수 있는 간이 노드(light node)로 구분될 수 있다. 본 명세서에서 별다른 설명 없이 노드에 대하여 언급되는 경우, 이는 분산형 네트워크에 참여하며 블록체인을 생성, 저장 또는 검증하는 동작을 수행하는 완전 노드를 지칭하는 경우가 많으나, 이에 한정되는 것은 아니다.
상기 블록체인에 연결되어 있는 각 블록들은 일정 기간 내의 거래 내역, 즉 트랜잭션(transaction)들을 포함한다. 상기 노드들은 각각 역할에 따라 블록체인을 생성, 저장 또는 검증함으로써 트랜잭션들을 관리할 수 있다.
실시 형태에 따라 상기 트랜잭션은 다양한 형태의 거래를 나타낼 수 있다. 일 실시예에서 상기 트랜잭션은 가상화폐의 소유 상태 및 그 변동을 나타내기 위한 금융 거래에 해당할 수 있다. 다른 실시예에서 상기 트랜잭션은 물건의 소유 상태 및 그 변동을 나타내기 위한 실물 거래에 해당할 수 있다. 또 다른 실시예에서 상기 트랜잭션은 정보의 기록, 저장 및 이송을 나타내기 위한 정보 공유 과정에 해당할 수 있다. 상기 분산형 네트워크(100)에서 거래를 수행하는 노드들은 각각의 암호학적 연관관계가 있는 개인키(private key) 및 공개키(public key) 쌍을 가질 수 있다.
도 2 및 도 3은 블록체인 시스템에서 이용되는 블록의 연결을 도시한 블록도이다.
도 2를 참조하면 블록체인(200)은 순차적으로 연결된 하나 이상의 블록들(210, 220, 230)의 분산 데이터베이스의 일종이다. 상기 블록체인(200)은 블록체인 시스템 내 사용자의 거래 내역을 저장하고 관리하기 위해 사용되며, 상기 블록체인 시스템의 네트워크에 참여하는 각 노드가 블록을 생성하여 상기 블록체인(200)에 연결한다. 도 2에는 제한된 수의 블록들(210, 220, 230)이 도시되어 있으나 블록체인에 포함될 수 있는 블록의 수는 이에 제한되지 아니한다.
상기 블록체인(200)에 포함된 각 블록은 블록 헤더(211)와 블록 바디(213)를 포함하도록 구성될 수 있다. 상기 블록 헤더(211)는 각 블록들간의 연결 관계를 나타내기 위하여 이전 블록(220)의 해시 값을 포함할 수 있다. 상기 블록체인(200)이 유효한지 검증하는 과정에서 상기 블록 헤더(211) 내의 연결 관계가 사용된다. 상기 블록 바디(213)는 상기 블록(210)에 저장되고 관리되는 데이터, 예를 들어 트랜잭션 리스트 또는 트랜잭션 체인을 포함할 수 있다.
도 3을 참조하면, 상기 블록 헤더(211)는 이전 블록의 해시(2112), 현재 블록의 해시(2113), 넌스(Nonce)(2114)를 포함할 수 있다. 또한, 상기 블록 헤더(211)는 블록 내의 트랜잭션 리스트의 헤더를 나타내는 루트(2115)를 포함할 수 있다.
전술된 바와 같이, 상기 블록체인(200)은 연결된 하나 이상의 블록들을 포함할 수 있다. 상기 하나 이상의 블록들은 상기 블록 헤더(211) 내의 해시 값에 기초하여 연결된다. 상기 블록 헤더(211)에 포함된 이전 블록의 해시 값(2112)은 직전 블록(220)에 대한 해시 값으로서 직전 블록(220)에 포함된 현재 해시(2213)와 동일한 값이다. 상기 하나 이상의 블록들은 각 블록 헤더 내의 이전 블록의 해시 값에 의하여 연쇄적으로 연결된다. 상기 분산형 네트워크에 참여하는 노드들은 상기 하나 이상의 블록들에 포함된 이전 블록의 해시 값에 기반하여 블록의 유효성을 검증하므로 악의적인 단일 노드가 이미 생성된 블록의 내용을 위조 또는 변조하는 행위가 불가능하다.
상기 블록 바디(213)는 트랜잭션 리스트(2131)를 포함할 수 있다. 상기 트랜잭션 리스트(2131)는 블록체인 기반의 거래의 목록이다. 예를 들면, 상기 트랜잭션 리스트(2131)는 상기 블록체인 기반의 금융 시스템에서 이루어진 금융 거래에 대한 기록을 포함할 수 있다. 상기 트랜잭션 리스트(2131)는 트리(tree) 형태로 표현될 수 있으며, 예를 들어, 사용자 A가 사용자 B에게 전송한 금액을 목록 형태로 기록하며, 블록 내의 저장 길이는 현재 블록에 포함된 트랜잭션의 수에 기초하여 증감될 수 있다.
그리고, 블록(210)은 블록 헤더(211)와 블록 바디(213)에 포함된 정보 이외의 기타 정보(2116)를 포함할 수 있다.
분산형 네트워크에 참여하는 노드들은 동일한 블록체인을 가지며, 블록에는 동일한 트랜잭션이 저장된다. 트랜잭션 목록이 포함된 블록이 네트워크에 공유되므로 모든 참여자가 검증할 수 있다.
기존의 개인정보 및 인증정보 관리방식은 중앙집중식으로서, 이에 따라 관리한 개인정보 및 인증정보에 대해 개인의 프라이버시 보호라는 측면에서의 위험성 및 관리와 인증과정에서의 불편함이 존재하여 이를 해소하기 위해 대안책이 필요하다. 따라서, 블록체인과 신원증명을 결합한 자기주권신원 서비스(SSI, Self-Sovereign Identity)에 대한 연구가 국내외에서 진행되고 있으나, 기존의 본인인증 방식은 제3의 기관에서 발급하는 공인인증서를 통해 이루어지고 있다.
하지만, 본인인증을 제3의 기관을 통해서 이루어지는 것에 대해 의문이 제기되면서 DID(Decentralized Identifier; 분산 식별자)의 필요성이 등장하게 되었다. 블록체인의 암호학적 특성을 활용하면 중앙기관의 관여 없이 본인을 증명하는 유일한 분산 식별자(DID)를 통해 개인 신원을 증명하는 것이 가능하다. DID를 이용하여 개인 신원 증명 시 개인키를 기반으로 DID 등록, 전자서명 등이 수행되므로 개인키를 안전하게 보관하는 방안도 필요하게 된다.
현재 DID 서비스는 공개할 수 있는 개인정보를 블록체인 상에 등록하고, 필요할 때 개인의 용도나 사용범위를 지정해서 사용하는 것에 중점을 두고 서비스 개발이 이루어지고 있다. 하지만, 이런 서비스는 소유 증명, 위변조 방지에만 초점을 두고 있으며, 가장 중요한 개인키 보관, 관리에 대해서는 논의가 되지 않고 있다. 따라서, 본 명세서에서는 DID 동작 원리 및 문제점 개선에 필요한 기술에 대해 설명하고, 이를 활용한 Advanced DID Service Framework에 대해 제안하고자 한다.
이하에서는 DID와 DID 문서에 대한 개념에 대해 설명하기로 한다.
DID란, 중앙기관 없이 사용자를 중심으로 개인을 식별할 수 있는 정보를 CRUD(Create, Read, Update, Delete)하여 본인임을 증명할 수 있는 유일한 식별자를 의미한다. DID는 하나의 키 값으로 블록체인 트랜잭션의 DID 문서를 가리키는 포인터 역할을 수행한다. 특히, DID는 사용자의 공개키를 기반으로 생성된 식별자이다.
DID 문서란, 개인이 자신을 인증하고 DID와 연관성을 증명하는데 필요한 집합을 의미한다. DID의 CRUD 수행 대상이 DID 문서이며, DID 서비스 이용 시 검증하는데 필요한 정보들을 의미하며 데이터 집합에는 공개키, 인증 방법, 전자서명 값 등의 속성들이 존재한다.
DID와 DID 문서의 연관관계는 DID를 블록체인에서 검색하여 트랜잭션 내용을 기반으로 DID 문서를 생성하는 것이며, DID를 기반으로 DID 문서를 읽어오는 방식은 블록체인마다 상이할 수 있다.
본 발명에 따른 DID 서비스 기반의 비대면 대용량 문서 접근 시스템에서는 참여 주체가 사용자 노드(Holder), 발행인 노드(Issuer), 검증인 노드(Verifier)가 존재한다. 사용자 노드는 신분 또는 신원에 관한 증명서 발급/인증을 받고자 하는 주체로서 하나 또는 그 이상의 Verifiable Credential(검증가능한 자격증명)을 소유한다. 발행인 노드는 검증 가능한 자격증명(VC)을 발행하여 사용자에게 전달하는 기관이다. 검증인 노드는 사용자가 전달한 검증가능한 자격증명(VC에 대해 사용자의 정보가 맞는지 확인하는 기관이다.
검증가능한 자격증명(VC)과 관련하여, Claim은 하나의 주체에 대한 설명으로서 주체-특성-정보의 관계로 표현된다. Credential은 발행인이 발급하는 증명서로서 하나의 주체에 대해 만들어진 하나 이상의 Claim의 집합이다. Verifiable Credential은 Credential에 발행인의 전자서명이 포함된 데이터로 발급한 Credential이 변경되었는지에 관한 정보, 발행인 정보, 전자서명 등의 메타 데이터가 포함된 데이터의 집합이다.
DID 서비스의 동작 순서는, 참여주체를 사용자(A), 발행인(B), 검증인(C)이라 가정하면, 사용자(A)와 발행인(B)은 사전에 자신의 DID를 블록체인에 등록하고, 사용자(A)가 증명서 제출을 위해 발행인(B)에게 증명서 발급을 요청하면, 발행인(B)은 사용자(A)의 신원 증명을 위해 검증가능한 자격증명(VC)을 생성하여 사용자(A)에게 전달한다. 검증가능한 자격증명(VC)에는 발행인(B)의 DID와 사용자(A)의 DID를 포함한다. 사용자(A)는 수신한 검증가능한 자격증명(VC)에 전자서명을 수행하고, 사용자(A)는 발행인(B) 및 사용자 본인(A)의 전자서명이 포함된 검증가능한 자격증명(VC)을 검증인(C)에게 전달한다. 검증인(C)은 검증가능한 자격증명(VC)에 등록된 DID를 블록체인에서 찾아 전자서명을 검증하고, 검증인(C)은 전자서명 값이 일치할 경우 서비스 접근 허용 여부를 결정한다.
이하에서 설명하는 본 발명은 블록체인 기반의 DID 서비스와 IPFS(InterPlanetary File System) 기반의 암호화 데이터 공유 기술이 결합된 것이다. 또한, 블록체인 기반의 DID 서비스를 기초로 개인키를 복수의 검증인 노드에 분산 저장하고, 개인키 복원 요청 시 복수의 검증인 노드에서 암호화된 개인키와 개인키 암호화에 사용된 대칭키를 각각 전달받아 개인키 복원을 수행할 수 있다.
본 발명에 대한 설명에 앞서 KMS(Key Management System) 및 HSM(Hardware Security Module)에 대한 설명이 필요한데, HSM은 하드웨어 보안 모듈로서 암호 키를 하드웨어적으로 안전하게 보관하는 암호 키 보관 전용 장비이다. HSM은 미국 연방정부 정보처리 표준을 준수해야 하며, 등급에 따라 보안 강도가 상이하다. HSM은 PKCS#11 API를 제공하여 HSM에 저장된 키 정보 및 암호 모듈 기능을 활용 가능하게 한다.
KMS는 키 관리 시스템으로서 암호화, 서명, 검증 등에 사용되는 암호 키를 안전하게 관리해주는 시스템을 의미한다. 키 관리에는 키 생성, 백업, 복구, 교체, 폐기 등의 기능을 포함하며, KMS는 HSM 장비와 함께 키 관리에 사용된다.
블록체인을 활용한 서비스는 개인키를 기반으로 모든 트랜잭션 발생, 신원 증명, 검증을 수행하는 바, 개인키를 분실할 경우 DID 서비스 사용 불가 하거나 자신의 신원이 악용될 수 있는 문제가 발생할 수 있다. 따라서, 키 에스크로우(Key Escrow) 방식이 아닌 탈중앙화된 방식으로 개인키를 보관하는 해결방안이 필요하며, KMS/HSM을 단독으로 사용하는 것은 안전할 수 있으나 키가 유출될 위험성이 존재하므로 분산 저장하는 해결방안이 필요하다.
그리고, IPFS는 디지털 상의 신뢰된 시스템에서 안전하게 대용량 데이터를 공유할 수 있는 방법을 제안한다.
IPFS(Inter Planetary File System)는 파일의 내용을 해시, 분할하여 노드에 분산 저장하는 파일 시스템으로서 모든 컴퓨터 노드를 연결하고자 하는 분산된 P2P 파일 시스템이며, IPFS Web은 기존의 HTTP Web의 문제점을 해결하고 보완한 새로운 Web이다. IPFS의 특징으로는, 중앙화된 서버 없이 노드들의 P2P 통신으로 실현된 더욱 빠르고 안전하고 개방된 네트워크이다. 대형 서버의 연결이 차단되면 치명적인 결과를 낳는 과거 HTTP Web과는 달리, IPFS에서는 몇몇 노드들이 연결이 끊어지더라도 시스템이 안정적으로 유지될 수 있다.
또한, 고용량의 파일을 빠르고 효율적으로 전달할 수 있으며(BitSwap), 파일들의 중복을 알 수 있기 때문에 저장소도 효율적으로 사용할 수 있다(Merkle DAG, contents-addressed). IPFS 상에 업로드된 파일의 이름은 영원히 기록되며, 만약 IPFS 상에서 보존하고 싶은 파일은 반영구적으로 보존이 가능하다(pinning). 또한, 파일의 버전 관리(Git)가 가능하다.
IPFS에서는 각각의 파일이 여러 개의 블록으로 이루어져 있으며, 각각의 블록은 해시로 표현된 고유의 이름이 있다. IPFS는 모든 파일의 이름을 데이터베이스에 저장하며, 동일 파일의 중복을 배제하며, 각 파일의 버전 정보를 트래킹한다. 각 노드는 본인이 관심있는 파일만 저장소에 보관하며, 인덱싱 정보를 통해 누가 어떤 파일을 저장하고 있는지 알 수 있다. 네트워크에서 파일을 찾기 위해서는, 파일명을 조회하고 해당 파일을 갖고 있는 노드를 추적하면 된다. IPNS를 통해 모든 파일명은 인간이 읽기 쉬운 형태(DNS와 유사한 개념)로 변환할 수 있다.
IPFS에 파일을 업로드한 결과인 링크를 이용해 파일에 접근 가능하며, 기존 블록체인은 블록에 저장할 수 있는 데이터 크기에 제한이 있다. 블록에 크기가 큰 데이터를 업로드하고 다른 노드에게 공유할 경우 많은 작업량이 필요하거나 DDos 공격에 취약할 수 있는 문제가 발생한다. IPFS를 이용하여 크기가 큰 원본 데이터가 아닌 링크를 블록체인에 업로드하여 데이터 크기에 제한이 있는 문제를 해결할 수 있다.
본 발명에 따른 시스템에서는, IPFS에 파일을 업로드한 후 업로드한 데이터를 수정하여 재업로드시 기존의 링크가 아닌 새로운 링크가 반환되며, 이에 따라 IPFS에 업로드한 데이터는 수정, 위변조가 불가능한 데이터의 무결성이 보장된다. 즉, 블록체인 상에 기록된 IPFS 링크를 통해 개인정보와 관련한 마이데이터 자체의 무결성을 보장할 수 있다.
도 4는 본 발명에 적용되는 IPFS 노드를 도시한 도면이다.
IPFS는 중앙화된 서버 없이 노드들의 P2P 통신으로 대용량 파일을 여러 조각으로 나누어 저장한다. 또한, 대용량 파일을 빠르고 효율적으로 전달할 수 있으며 파일들의 중복을 알 수 있기 때문에 저장소를 효율적으로 사용할 수 있다.
본 발명의 실시예들에 따른 비대면 대용량 문서 접근 시스템은 블록체인과 IPFS 기반의 암호화 데이터 공유 기술을 이용하며, IPFS(320)는 블록체인 네트워크(310) 및 파일 관리 모듈(330)과 연동되어 동작하도록 구성된다.
블록체인 네트워크(310)는 상술한 블록체인 구조를 포함하여 다수의 노드들이 연결되어 구성되며, 블록체인 내의 스마트 컨트랙트는 블록체인에 등록되고 실행되는 계약의 의미를 구현한 소프트웨어이다. 하나의 스마트 컨트랙트에는 다양한 액션이 실행될 수 있으며, 이러한 액션은 블록체인에 저장된 데이터를 생성하고/읽고/수정하고/삭제할 수 있다.
IPFS(320)에 저장되는 파일의 정보는 스마트 컨트랙트의 액션을 통해 블록에 기록할 수 있다. 액션들이 모여 트랜잭션이 되고 트랜잭션들이 모여서 블록이 된다.
모든 네트워크 참여자 노드는 트랜잭션과 블록을 조회할 수 있으므로, IPFS(320)에 관한 모든 세부 사항들을 트랜잭션을 통해서 확인할 수 있다. 이러한 스마트 컨트랙트에서는 IPFS(320)에서의 파일 업로드/다운로드와 대칭키 요청/전송의 액션을 구현한다.
이하에서는 도면을 참조하여 본 발명에 따른 비대면 대용량 문서 접근 시스템의 구성과 동작 절차에 대해 설명하기로 한다.
도 5는 본 발명의 실시예에 따른 블록체인 기반의 DID 시스템과 IPFS 노드가 결합된 비대면 대용량 문서 접근 시스템의 구성 및 동작 절차를 도시한 블록도이다.
본 발명의 실시예에 따른 비대면 대용량 문서 접근 시스템은 사용자 노드(H), 발행인 노드(I), 제1 검증인 노드(V1), IPFS 노드(400), DID 시스템(410)을 포함한다. 본 발명에 따른 비대면 대용량 문서 접근 방법은 제1 어플리케이션을 통해 구현되는 알고리즘일 수 있다.
본 발명에 따른 비대면 대용량 문서 접근 시스템은 IPFS 노드(400)를 이용하며, IPFS(Inter Planetary File System)는 중앙서버 없이 다수의 노드들의 P2P 통신으로 대용량 파일을 여러 조각으로 분산 저장하는 시스템이다. IPFS 노드(400)에는 음원, 영상, 문서 파일 등 데이터 종류 및 크기에 관계없이 업로드 가능하며, IPFS 노드(400)는 파일 업로드 반환 값으로 링크(해시)를 전달한다. 링크를 이용하여 IPFS 게이트웨이에 접근해 업로드된 파일을 다운로드 할 수 있다. DID 서비스의 기반 기술인 블록체인의 트랜잭션에 대용량의 데이터 대신 링크를 등록하여 블록 크기의 제한성 문제를 해결할 수 있다.
특히, 본 발명에 따른 IPFS 노드(400)는 마이데이터 개념의 정보를 저장하고, 이를 제1 검증인 노드(V1)에서 이용할 수 있다. 마이데이터는 데이터 자산화 또는 데이터 소유권에 대해 정의하기 위해 발생된 개념이며, 데이터 자체의 가치 상승과 데이터 가공자들의 보상을 위해 발생한 개념이다. 마이데이터에는 구매데이터, 교통데이터, 통신데이터, 의료기록, 재무정보 등 온라인 서비스에서 파생된 개인정보 및 업무에서 파생되는 모든 데이터를 의미한다.
블록체인 기술과 마이데이터 개념의 결합으로 개인이 정보를 관리하고 제공하는 주체가 되며, 정보를 제공함으로써 보상을 받는 구조를 구축할 수 있다. 개인이 제공한 정보는 블록체인을 통해 무결성이 보장되며, 정보 제공자의 신원은 DID로 증명 가능하다. 마이데이터와 DID를 결합하여 신원 증명뿐만 아니라 금융, 통신, 의료, 유통 등 다양한 분야에서 정보의 이용이 가능해진다.
본 발명에서 이용되는 DID 서비스를 통한 신원 증명, 데이터의 무결성 확보를 위해서는 기본적으로 데이터의 원본 진위성 보장이 필요하다. 이를 위해 본 발명에서는 대칭키를 랜덤하게 생성하여 파일 암호화를 수행하여 IPFS 노드(400)에 업로드하며, 암호화에 사용된 대칭키는 수신자의 공개키로 암호화를 수행한다. 또한, IPFS 노드(400)에 업로드한 링크와 암호화된 대칭키를 블록체인에 등록한다. 링크를 통해 IPFS 노드(400)에 업로드된 파일을 다운로드 할 수 있으나, 복호화를 위한 대칭키가 없으므로 원본 데이터의 기밀성 및 무결성이 보장될 수 있다.
본 발명의 구성요소 중 사용자 노드(H)는 검증가능한 자격증명(VC)을 통해 신원 증명을 수행해야 하는 노드이다. 또한, 발행인 노드(I)는 사용자 노드(H)의 요청에 따라 검증가능한 자격증명(VC)을 생성하는 노드이다. 또한, 제1 검증인 노드(V1)는 발행인 노드(I)에서 생성한 검증가능한 자격증명(VC)을 제공받아 검증하고, 사용자 노드(H)에 해당하는 주체가 올바른 주체인지 또는 올바른 업무를 수행했는지를 검증하는 노드이다. 상술한 바와 같이, IPFS 노드(400)는 대용량 파일을 분산 저장하여 데이터 송수신을 수행하는 노드이다.
본 발명의 일 실시예에 따른 비대면 대용량 문서 접근 시스템의 동작 절차와 관련하여, 우선, 발행인 노드(I), 사용자 노드(H), 제1 검증인 노드(V1)는 각각 사전에 자신의 DID와 DID 문서를 DID 시스템(410)에 등록한다. 그리고, 발행인 노드(I)는 검증가능한 자격증명(VC) 스키마(Schema)를 DID 시스템(410)에 등록한다. 여기에서 DID 시스템(410)은 본 발명에서 이용되는 블록체인을 의미한다. 상기 블록체인에 등록된 DID 문서에는 각 노드(발행인 노드(I), 사용자 노드(H), 제1 검증인 노드(V1))의 공개키가 함께 등록된다.
본 발명의 실시예에 따른 비대면 대용량 문서 접근 시스템의 동작 절차는 다음과 같다.
① 사용자 노드(H)는 원본 데이터(D)를 보호하기 위한 대칭키(K)를 자신의 어플리케이션 또는 시스템에서 생성하여 원본 데이터(D)를 대칭키(K)로 암호화하고, 암호화된 데이터(DK)를 생성한다.
② 사용자 노드(H)는 암호화된 데이터(DK)를 IPFS 노드(400)에 업로드한다. IPFS 노드(400)에서는 이에 관한 링크(L)를 생성한다. 그리고, 사용자 노드(H)는 IPFS 노드(400)로부터 링크(L)를 수신한다.
③ 사용자 노드(H)는 링크(K)와 대칭키(K)를 함께 발행인 노드(I)로 전송한다. 이때, 대칭키(K)는 발행인 노드(I)만 확인 가능하도록 발행인 노드(I)의 공개키(P12)로 암호화하되, 사용자 노드(H)에서 전송한 사실을 증명하기 위해 전체 묶음(B1)을 사용자 노드(H)의 개인키(P21)로 암호화하여 발행인 노드(I)로 전송한다. 사용자 노드(H)의 개인키(P21)로 암호화하여 이와 쌍을 이루는 사용자 노드(H)의 공개키(P11)를 통해 추후 사용자 노드(H)에서 전송한 것임을 확인 가능하다.
④ 발행인 노드(I)는 수신한 묶음(B1)을 사용자 노드(H)의 공개키(P11)로 복호화하여 링크(L)와 발행인 노드(I)의 공개키(P12)로 암호화된 대칭키를 확보한다. 이때, 발행인 노드(I)는 사용자 노드(H)에서 전송한 것임을 확인 가능하다.
⑤ 발행인 노드(I)는 발행인 노드(I)의 개인키(P22)를 이용하여 암호화된 대칭키를 복호화하고, 대칭키(K)를 확보한다.
⑥ 발행인 노드(I)는 링크(L)를 이용해 IPFS 노드(400)에 접근 가능하고, 발행인 노드(I)는 IPFS 노드(400)로부터 암호화된 데이터(DK)를 다운로드 가능하다. 그리고, 발행인 노드(I)는 암호화된 데이터(DK)를 대칭키(K)로 복호화하여 원본 데이터(D) 확인 및 검토가 가능하다.
⑦ 발행인 노드(I)는 원본 데이터(D) 검토 후 블록체인에 등록된 검증가능한 자격증명(VC) 스키마(Schema)를 이용하여 검증가능한 자격증명(VC)을 발급하고, 이를 사용자 노드(H)로 전송한다. 상기 검증가능한 자격증명(VC)에는 사용자 노드(H)의 신원 정보, 링크 정보, 발행인 노드(I)의 전자서명이 포함될 수 있다.
⑧ 사용자 노드(H)는 수신한 검증가능한 자격증명(VC)에 자신의 전자서명을 수행한 후 이를 보관할 수 있고, 예를 들면 사용자 단말장치에 저장된 검증가능한 자격증명(VC)을 통해 신원 증명을 수행할 수 있다.
⑨ 이어서, 사용자 노드(H)는 검증받을 대용량 데이터를 전송하기 위해 검증가능한 자격증명(VC)과 대칭키(K)를 함께 묶어 전체 묶음(B2)을 제1 검증인 노드(V1)로 전송할 수 있으며, 이때, 대칭키(K)는 제1 검증인 노드(V1)만 확인 가능하도록 제1 검증인 노드(V1)의 공개키(P13)로 암호화한다. 그리고, 이를 사용자 노드(H)에서 전송한 사실을 증명하기 위해 전체 묶음(B2)을 사용자 노드(H)의 개인키(P21)로 암호화하여 제1 검증인 노드(V1)로 전송한다.
⑩ 제1 검증인 노드(V1)는 전송받은 전체 묶음(B2)을 복호화하여 검증을 수행하며, 이때, 사용자 노드(H)의 공개키(P11)로 복호화하여 사용자 노드(H)가 전송하였음을 검증한다.
⑪ 제1 검증인 노드(V1)는 블록체인 상의 발행인 노드(I)의 공개키(P12)와 사용자 노드(H)의 공개키(P11)를 이용하여 검증가능한 자격증명(VC) 데이터를 검증한다.
⑫ 제1 검증인 노드(V1)를 위해 암호화된 대칭키는 제1 검증인 노드(V1)의 개인키(P23)로 복호화하여 대칭키(K)를 확보하며, 제1 검증인 노드(V1)는 검증가능한 자격증명(VC)에 포함된 링크 정보를 이용해 IPFS 노드(400)에 접근 가능하다.
⑬ 제1 검증인 노드(V1)는 IPFS 노드(400)로부터 암호화된 데이터(DK)를 다운로드하여 대칭키(K)를 이용해 암호화된 데이터(DK)를 복호화하고 원본 데이터(D)를 얻을 수 있다. 제1 검증인 노드(V1)는 원본 데이터(D)를 검증하여 사용자 노드(H)에서 필요한 서비스를 적절하게 제공할 수 있다.
제1 검증인 노드(V1)에서 검증을 수행하는 대용량 데이터는 앞서 설명한 개인의 금융, 통신, 의료, 유통 등 다양한 분야의 정보일 수 있으며, 마이데이터 개념을 통해 대용량의 마이데이터를 검증하여 신뢰성과 무결성이 확보된 서비스를 제공할 수 있다.
이하에서는 도면을 참조하여 본 발명에 적용된 개인키 분산 저장 관리 방법에 대해 설명하기로 한다.
도 6은 본 발명의 실시예에 따른 블록체인 기반의 개인키 분산 저장 방법이 적용된 비대면 대용량 문서 접근 시스템의 구성 및 동작 절차를 도시한 블록도이다.
본 발명의 실시예에 따른 개인키 분산 저장 관리 방법이 적용된 비대면 대용량 문서 접근 시스템은 사용자 노드(H), 발행인 노드(I), 제2 검증인 노드(V2), 제3 검증인 노드(V3), DID 시스템(410)을 포함한다. 본 발명에 따른 개인키 분산 저장 관리 방법은 제2 어플리케이션을 통해 구현되는 알고리즘일 수 있다. 상술한 상기 제1 어플리케이션과 상기 제2 어플리케이션은 하나의 어플리케이션 내에서 구현될 수 있고, 또는 서로 다른 어플리케이션을 통해 구현될 수도 있다.
본 발명에 따른 개인키 분산 저장 관리 방법이 적용된 비대면 대용량 문서 접근 시스템은 DID 서비스를 통한 신원 증명을 수행하고, 신원 증명이 된 경우에 개인키 복원 요청에 대해 개인키 복원 절차를 수행한다.
특히, 사용자 노드(H)는 개인키 분실 시 개인키 복원을 위해 본 발명에 따른 개인키 분산 저장 관리 방법이 적용될 수 있다.
사용자 노드(H)는 개인키 복원 절차 수행 전에 상술한 방법에 따라 발행인 노드(I)로부터 검증가능한 자격증명(VC)을 발급받아 저장하고 있다.
제2 검증인 노드(V2)는 발행인 노드(I)에서 생성한 검증가능한 자격증명(VC)을 사용자 노드(H)로부터 제공받아 검증하고, 사용자 노드(H)의 검증가능한 자격증명(VC)을 검증한 후 사용자 노드(H)로 암호화된 개인키를 전달하는 노드이다. 제2 검증인 노드(V2)는 암호화된 개인키와 사용자 노드(H)에 관한 검증가능한 자격증명(VC)을 매핑하여 저장하고 있다.
또한, 제3 검증인 노드(V3)는 발행인 노드(I)에서 생성한 검증가능한 자격증명(VC)을 사용자 노드(H)로부터 제공받아 검증하고, 사용자 노드(H)의 검증가능한 자격증명(VC)을 검증한 후 사용자 노드(H)로 개인키 암호화에 사용된 대칭키를 전달하는 노드이다. 제3 검증인 노드(V3)는 사용자 노드(H)의 개인키 암호화에 사용된 대칭키와 사용자 노드(H)에 관한 검증가능한 자격증명(VC)을 매핑하여 저장하고 있다.
본 발명의 실시예에 따른 개인키 분산 저장 관리 방법이 적용된 비대면 대용량 문서 접근 시스템의 동작 절차와 관련하여, 우선, 발행인 노드(I), 사용자 노드(H), 제2 검증인 노드(V2), 제3 검증인 노드(V3)는 각각 사전에 자신의 DID와 DID 문서를 DID 시스템(410)에 등록한다. 그리고, 발행인 노드(I)는 검증가능한 자격증명(VC) 스키마(Schema)를 DID 시스템(410)에 등록한다. 여기에서 DID 시스템(410)은 본 발명에서 이용되는 블록체인을 의미한다. 상기 블록체인에 등록된 DID 문서에는 각 노드(발행인 노드(I), 사용자 노드(H), 제2 검증인 노드(V2), 제3 검증인 노드(V3))의 공개키가 함께 등록된다.
본 발명의 실시예에 따른 개인키 분산 저장 관리 방법이 적용된 비대면 대용량 문서 접근 시스템의 동작 절차는 다음과 같다.
① 사용자 노드(H)는 개인키 분실 시, 분실한 개인키 복원을 위해 발행인 노드(I)에 검증가능한 자격증명(VC) 발급 요청을 수행한다.
② 발행인 노드(I)는 사용자 노드(H)의 정보 확인 후 사용자 노드(H)의 신원 증명 내용이 포함된 검증가능한 자격증명(VC)을 발급하여 사용자 노드(H)로 전달한다. 이때, 발행인 노드(I)는 사용자 노드(H)의 KYC 인증 절차를 수행한 후 검증가능한 자격증명(VC)을 발급할 수 있다.
③ 사용자 노드(H)는 수신한 검증가능한 자격증명(VC)을 보관하고 있다가 개인키 분실 시에 제2 검증인 노드(V2) 및 제3 검증인 노드(V3)로 전달한다. 제2 검증인 노드(V2) 및 제3 검증인 노드(V3)는 사용자 노드(H)로부터 전달받은 데이터를 KMS/HSM에 저장한다.
④ 제2 검증인 노드(V2)는 검증가능한 자격증명(VC)의 검증 및 사용자 노드(H)의 DID가 DID 시스템(410)에 저장되어 있는 데이터와 일치하는지 검증 후, 일치할 경우 암호화된 개인키를 사용자 노드(H)로 전달한다.
⑤ 제3 검증인 노드(V3)는 검증가능한 자격증명(VC)의 검증 및 사용자 노드(H)의 DID가 DID 시스템(410)에 저장되어 있는 데이터와 일치하는지 검증 후, 일치할 경우 사용자 노드(H)의 개인키 암호화에 사용된 대칭키를 사용자 노드(H)로 전달한다.
⑥ 사용자 노드(H)는 제2 검증인 노드(V2) 및 제3 검증인 노드(V3)로부터 전달받은 암호화된 개인키 및 대칭키를 이용하여 복호화를 수행하고, 분실한 개인키를 복원할 수 있다.
도 7은 본 발명의 실시예에 따른 노드의 컴퓨팅 장치의 구성도이다.
도 7을 참조하면, 본 발명의 실시예에 따른 노드의 컴퓨팅 장치(1000)는 프로세서(1100)와 메모리(1200)를 포함하고, 프로세서(1100)는 하나 이상의 코어(core) 및 그래픽 처리부 및/또는 다른 구성요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(1100)는 메모리(1200)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 4 내지 도 6과 관련하여 설명된 비대면 대용량 문서 접근 시스템의 동작을 실행한다.
예를 들어, 프로세서(1100)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 하나 이상의 노드에서 발생되는 데이터 업로드/다운로드에 관한 정보들을 수집하고, 상기 수집된 정보들을 블록에 기록하고, 상기 블록에 기록된 정보에 기초하여, 적어도 하나의 노드에 대해 관련 정보를 제공한다.
한편, 프로세서(1100)는 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory) 및 롬(ROM: Read-Only Memory)을 더 포함할 수 있다. 또한, 프로세서(1100)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(1200)에는 프로세서(1100)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(1200)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
본 발명의 실시예와 관련하여 설명된 시스템의 동작들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
전술된 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 청구범위에 의해 나타내어질 것이다. 그리고 이 청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변경 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 분산형 네트워크
110~170: 노드들
200: 블록체인
210, 220, 230: 블록
300: 데이터 공유 시스템
310: 블록체인 네트워크
320: IPFS
330: 파일 관리 모듈
400: IPFS 노드
410: DID 시스템
H: 사용자 노드
I: 발행인 노드
V1: 제1 검증인 노드
V2: 제2 검증인 노드
V3: 제3 검증인 노드
110~170: 노드들
200: 블록체인
210, 220, 230: 블록
300: 데이터 공유 시스템
310: 블록체인 네트워크
320: IPFS
330: 파일 관리 모듈
400: IPFS 노드
410: DID 시스템
H: 사용자 노드
I: 발행인 노드
V1: 제1 검증인 노드
V2: 제2 검증인 노드
V3: 제3 검증인 노드
Claims (5)
- IPFS 노드, 사용자 노드, 발행인 노드, 제1 검증인 노드, 및 DID 시스템을 포함하는 비대면 대용량 문서 접근 시스템에 있어서,
다수의 노드들의 P2P 통신으로 파일을 분산 저장하며, 상기 파일의 업로드에 따른 반환 값으로 링크를 생성하는 IPFS 노드;
원본 데이터(D)의 암호화에 이용되는 대칭키(K)를 생성하고, 상기 대칭키(K)를 이용하여 상기 원본 데이터(D)를 암호화하고, 상기 암호화된 데이터를 상기 IPFS 노드에 업로드하고, 상기 IPFS 노드에 업로드된 암호화된 데이터에 관한 링크와 상기 발행인 노드의 공개키로 암호화된 대칭키의 묶음(B1) 또는 검증가능한 자격증명(VC)과 상기 제1 검증인 노드의 공개키로 암호화된 대칭키의 묶음(B2)을 자신의 개인키(P21)로 암호화하는 사용자 노드;
상기 사용자 노드로부터 상기 암호화된 묶음(B1)을 전달받아 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 링크를 통해 상기 IPFS 노드로부터 상기 암호화된 데이터를 다운로드하고, 자신의 개인키(P22)를 이용하여 상기 발행인 노드의 공개키로 암호화된 대칭키를 복호화하여 상기 대칭키(K)를 확보하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화한 후 상기 원본 데이터(D)를 확인하고 검증가능한 자격증명(VC)을 발행하는 발행인 노드;
상기 사용자 노드로부터 상기 암호화된 묶음(B2)을 전달받고, 상기 암호화된 묶음(B2)을 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 발행인 노드의 공개키(P12)와 상기 사용자 노드의 공개키(P11)를 이용하여 상기 검증가능한 자격증명(VC)의 데이터를 검증하고, 상기 제1 검증인 노드의 공개키로 암호화된 대칭키는 자신의 개인키(P23)로 복호화하여 대칭키(K)를 확보하고, 상기 검증가능한 자격증명(VC)에 포함된 링크 정보를 이용하여 상기 IPFS 노드에 접근하여 암호화된 데이터를 다운로드하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화하여 상기 원본 데이터를 확보하는 제1 검증인 노드; 및
상기 사용자 노드, 상기 발행인 노드, 및 상기 제1 검증인 노드에 관한 DID 및 DID 문서를 블록체인에 저장하는 DID 시스템;을 포함하고,
상기 사용자 노드는 상기 발행인 노드 및 상기 사용자 노드의 전자서명이 포함된 상기 검증가능한 자격증명(VC)을 상기 제1 검증인 노드로 전달하고,
상기 제1 검증인 노드는 상기 검증가능한 자격증명(VC)에 등록된 DID를 상기 블록체인에서 검색하여 상기 전자서명들을 검증하는, 비대면 대용량 문서 접근 시스템. - 제 1항에 있어서,
상기 검증가능한 자격증명(VC)은 상기 사용자 노드의 신원 정보, 링크 정보, 상기 발행인 노드의 전자서명을 포함하는, 비대면 대용량 문서 접근 시스템. - 제 1항에 있어서,
상기 발행인 노드에서 생성한 상기 검증가능한 자격증명(VC)을 상기 사용자 노드로부터 제공받아 검증하고, 상기 검증가능한 자격증명(VC)을 검증한 후 상기 사용자 노드로 암호화된 개인키를 전달하는 제2 검증인 노드를 더 포함하는, 비대면 대용량 문서 접근 시스템. - 제 3항에 있어서,
상기 발행인 노드에서 생성한 상기 검증가능한 자격증명(VC)을 상기 사용자 노드로부터 제공받아 검증하고, 상기 검증가능한 자격증명(VC)을 검증한 후 상기 사용자 노드로 개인키 암호화에 사용된 대칭키를 전달하는 제3 검증인 노드를 더 포함하는, 비대면 대용량 문서 접근 시스템. - IPFS 노드, 사용자 노드, 발행인 노드, 제1 검증인 노드, DID 시스템, 제2 검증인 노드, 및 제3 검증인 노드를 포함하는 비대면 대용량 문서 접근 시스템에 있어서,
다수의 노드들의 P2P 통신으로 파일을 분산 저장하며, 상기 파일의 업로드에 따른 반환 값으로 링크를 생성하는 IPFS 노드;
원본 데이터(D)의 암호화에 이용되는 대칭키(K)를 생성하고, 상기 대칭키(K)를 이용하여 상기 원본 데이터(D)를 암호화하고, 상기 암호화된 데이터를 상기 IPFS 노드에 업로드하고, 상기 IPFS 노드에 업로드된 암호화된 데이터에 관한 링크와 상기 발행인 노드의 공개키로 암호화된 대칭키의 묶음(B1) 또는 검증가능한 자격증명(VC)과 상기 제1 검증인 노드의 공개키로 암호화된 대칭키의 묶음(B2)을 자신의 개인키(P21)로 암호화하는 사용자 노드;
상기 사용자 노드로부터 상기 암호화된 묶음(B1)을 전달받아 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 링크를 통해 상기 IPFS 노드로부터 상기 암호화된 데이터를 다운로드하고, 자신의 개인키(P22)를 이용하여 상기 발행인 노드의 공개키로 암호화된 대칭키를 복호화하여 상기 대칭키(K)를 확보하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화한 후 상기 원본 데이터(D)를 확인하고 검증가능한 자격증명(VC)을 발행하는 발행인 노드;
상기 사용자 노드로부터 상기 암호화된 묶음(B2)을 전달받고, 상기 암호화된 묶음(B2)을 상기 사용자 노드의 공개키(P11)로 복호화하고, 상기 발행인 노드의 공개키(P12)와 상기 사용자 노드의 공개키(P11)를 이용하여 상기 검증가능한 자격증명(VC)의 데이터를 검증하고, 상기 제1 검증인 노드의 공개키로 암호화된 대칭키는 자신의 개인키(P23)로 복호화하여 대칭키(K)를 확보하고, 상기 검증가능한 자격증명(VC)에 포함된 링크 정보를 이용하여 상기 IPFS 노드에 접근하여 암호화된 데이터를 다운로드하고, 상기 대칭키(K)를 이용하여 상기 암호화된 데이터를 복호화하여 상기 원본 데이터를 확보하는 제1 검증인 노드;
상기 사용자 노드, 상기 발행인 노드, 및 상기 제1 검증인 노드에 관한 DID 및 DID 문서를 블록체인에 저장하는 DID 시스템;
상기 발행인 노드에서 생성한 상기 검증가능한 자격증명(VC)을 상기 사용자 노드로부터 제공받아 검증하고, 상기 검증가능한 자격증명(VC)을 검증한 후 상기 사용자 노드로 암호화된 개인키를 전달하는 제2 검증인 노드; 및
상기 발행인 노드에서 생성한 상기 검증가능한 자격증명(VC)을 상기 사용자 노드로부터 제공받아 검증하고, 상기 검증가능한 자격증명(VC)을 검증한 후 상기 사용자 노드로 개인키 암호화에 사용된 대칭키(KK)를 전달하는 제3 검증인 노드;를 포함하는, 비대면 대용량 문서 접근 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200056781A KR102383099B1 (ko) | 2020-05-12 | 2020-05-12 | 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 블록체인 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200056781A KR102383099B1 (ko) | 2020-05-12 | 2020-05-12 | 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 블록체인 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210138452A KR20210138452A (ko) | 2021-11-19 |
KR102383099B1 true KR102383099B1 (ko) | 2022-04-04 |
Family
ID=78718101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200056781A KR102383099B1 (ko) | 2020-05-12 | 2020-05-12 | 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 블록체인 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102383099B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102483869B1 (ko) * | 2022-10-26 | 2022-12-30 | 김태원 | 블록체인 기반 nft와 관련된 콘텐츠의 ip 추적 및 did 정보를 이용한 위변조 방지 방법 및 장치 |
KR20240141610A (ko) | 2023-03-20 | 2024-09-27 | 주식회사 바운스코드 | 법인 did 및 블록체인 기반의 시험인증 관리 시스템 및 그 방법 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023095967A1 (ko) * | 2021-11-29 | 2023-06-01 | 주식회사 블록체인기술연구소 | 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 시스템 |
CN114553582A (zh) * | 2022-03-02 | 2022-05-27 | 安徽师范大学 | 基于国密算法和ipfs的电子病历共享方法 |
CN114760111B (zh) * | 2022-03-24 | 2024-06-14 | 标信智链(杭州)科技发展有限公司 | 基于区块链的文件保密方法及文件保密装置 |
WO2023229067A1 (ko) * | 2022-05-26 | 2023-11-30 | 주식회사 블록체인기술연구소 | Did 기반의 nft 거래 시스템 |
CN115952527B (zh) * | 2023-03-09 | 2024-07-30 | 北京百度网讯科技有限公司 | 数据授权、提取、验证方法及其装置、设备和介质 |
CN118368154B (zh) * | 2024-06-20 | 2024-08-23 | 宁波梦创信息科技有限公司 | 基于区块链的项目云数据共享方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019191216A1 (en) | 2018-03-27 | 2019-10-03 | Workday, Inc. | System for credential storage and verification |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845960B (zh) * | 2017-01-24 | 2018-03-20 | 上海壹账通区块链科技有限公司 | 基于区块链的安全交易方法及系统 |
CN118863886A (zh) * | 2017-05-22 | 2024-10-29 | 区块链控股有限公司 | 促使先前交易的字节码注入区块链交易中 |
KR102094497B1 (ko) * | 2017-08-16 | 2020-04-23 | 주식회사 케이티 | 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법 |
KR101936758B1 (ko) | 2018-06-08 | 2019-01-11 | 주식회사 미탭스플러스 | 정보 조회 기록의 무결성을 위한 암호화 장치, 방법 및 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 |
KR102096639B1 (ko) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Uuid를 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 |
-
2020
- 2020-05-12 KR KR1020200056781A patent/KR102383099B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019191216A1 (en) | 2018-03-27 | 2019-10-03 | Workday, Inc. | System for credential storage and verification |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102483869B1 (ko) * | 2022-10-26 | 2022-12-30 | 김태원 | 블록체인 기반 nft와 관련된 콘텐츠의 ip 추적 및 did 정보를 이용한 위변조 방지 방법 및 장치 |
KR20240141610A (ko) | 2023-03-20 | 2024-09-27 | 주식회사 바운스코드 | 법인 did 및 블록체인 기반의 시험인증 관리 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20210138452A (ko) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102383099B1 (ko) | 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 블록체인 시스템 | |
KR102347022B1 (ko) | 블록체인과 ipfs 기반의 암호화 데이터 공유 시스템 | |
JP7489422B2 (ja) | ブロックチェーン上の交換を実施するためのトークン化方法及びシステム | |
CN110832519B (zh) | 提高区块链网络与外部数据源之间的通信的完整性 | |
CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
JP6841911B2 (ja) | 情報保護用のシステム及び方法 | |
JP6524347B2 (ja) | 情報共有システム | |
US20190295069A1 (en) | Systems and methods for integrating cryptocurrency wallet identifiers with digital certificates | |
KR20190075793A (ko) | 블록체인을 이용한 일회성 접근 권한 부여 시스템 | |
CN109845220A (zh) | 用于提供区块链参与者身份绑定的方法和装置 | |
KR20210040078A (ko) | 안전한 보관 서비스를 위한 시스템 및 방법 | |
JP7114078B2 (ja) | 電子認証方法及びプログラム | |
CN114900290A (zh) | 一种基于区块链的数据交易模型和隐私保护方法 | |
KR20210041458A (ko) | 블록체인과 ipfs 기반의 그룹별 데이터 공유 시스템 | |
CN109146479A (zh) | 基于区块链的数据加密方法 | |
KR20220143625A (ko) | Did 기반의 사용자 데이터 저장 및 공유 시스템 | |
WO2023095967A1 (ko) | 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 시스템 | |
CN115147224A (zh) | 基于联盟链的交易数据共享方法及装置 | |
KR102195830B1 (ko) | 블록체인 기반의 보안이 강화된 암호화폐 시스템 | |
Hardjono et al. | 13. Exchange Networks for Virtual Assets | |
KR20210041984A (ko) | Kyc 데이터와 생체인증정보를 보유한 스마트 디바이스를 활용한 블록체인 개인키 생성 방법 | |
KR20210041980A (ko) | Kyc 데이터와 생체인증정보를 보유한 스마트 디바이스를 활용한 블록체인 개인키 생성 시스템 | |
Feng et al. | Blockchain-based remote data integrity auditing scheme with deduplication mechanism | |
KR102465466B1 (ko) | 블록체인의 오라클 문제를 보완한 did 기반의 사용자 인증 시스템 | |
Darabi et al. | Identity Chain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |