KR20200091112A - Method for sharing information using blockchain technology - Google Patents

Method for sharing information using blockchain technology Download PDF

Info

Publication number
KR20200091112A
KR20200091112A KR1020190007927A KR20190007927A KR20200091112A KR 20200091112 A KR20200091112 A KR 20200091112A KR 1020190007927 A KR1020190007927 A KR 1020190007927A KR 20190007927 A KR20190007927 A KR 20190007927A KR 20200091112 A KR20200091112 A KR 20200091112A
Authority
KR
South Korea
Prior art keywords
decryption
node
nodes
ciphertext
decryption key
Prior art date
Application number
KR1020190007927A
Other languages
Korean (ko)
Inventor
송유진
Original Assignee
동국대학교 경주캠퍼스 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 경주캠퍼스 산학협력단 filed Critical 동국대학교 경주캠퍼스 산학협력단
Priority to KR1020190007927A priority Critical patent/KR20200091112A/en
Publication of KR20200091112A publication Critical patent/KR20200091112A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

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

Abstract

The present invention relates to an information sharing method using blockchain technology for safer information sharing. The method includes: a step in which an information generation node as one of M nodes generates information A-encrypted cryptogram A, N distributed decryption keys (N is an integer equal to or less than M) for decrypting cryptogram A, and block A including cryptogram A; a step in which the information generation node transmits block A to the M nodes; a step in which the information generation node transmits the N distributed decryption keys one by one to N decryption key storage nodes constituting the M nodes; a step in which each of the M nodes generates and stores a new blockchain by connection between block A and a pre-stored blockchain; a step in which a decryption request node as one of the M nodes generates a decryption request signal and transmits the signal to the decryption key storage nodes; a step in which each of the decryption key storage nodes determines whether to transmit the distributed decryption key stored in itself by using the decryption request signal and transmits the key to the decryption request node; and a step in which the decryption request node decrypts cryptogram A by using the distributed decryption key transmitted from the decryption storage nodes. As described above, cryptogram A can be decrypted only after the decryption request node obtains consent of the decryption storage nodes and obtains a predetermined number of distributed decryption keys. Accordingly, the security of information A can be strengthened.

Description

블록체인 기술을 이용한 정보 공유 방법{METHOD FOR SHARING INFORMATION USING BLOCKCHAIN TECHNOLOGY}Information sharing method using blockchain technology{METHOD FOR SHARING INFORMATION USING BLOCKCHAIN TECHNOLOGY}

본 발명은 정보 공유 방법에 관한 것으로, 더욱 상세하게는 임의의 서버에서 생성된 정보를 블록체인 기술을 이용하여 다른 서버와 공유시킬 수 있는 정보 공유 방법에 관한 것이다.The present invention relates to an information sharing method, and more particularly, to an information sharing method capable of sharing information generated in an arbitrary server with another server using a blockchain technology.

블록체인 플랫폼은 시스템에 참여한 구성원들(노드)이 각자의 블록(서버)에 데이터를 분산해서 저장함으로써, 데이터의 위변조가 사실상 불가능해지고, 구성원들이 각자 분산된 정보를 보유할 수 있으며, 별도로 중앙서버의 관리자도 불필요한 장점을 갖고 있다.In the blockchain platform, the members (nodes) participating in the system distribute and store data in their respective blocks (servers), making forgery and alteration of data virtually impossible, and members can retain their distributed information, and a separate central server The manager of has also had unnecessary advantages.

이러한 블록체인 플랫폼은 일반적으로 비트코인, 이더리움 등과 같은 암호화폐의 거래에 적용되고 있지만, 최근에는 그 외 다른 정보를 안전하게 공유하는 데에도 적용되고 있다. 예를 들어, 한국등록특허 제10-1893729호에는 '복수의 블록체인에 기반한 데이터 공유 방법'이 개시되어 있다.These blockchain platforms are generally applied to the trading of cryptocurrencies such as Bitcoin and Ethereum, but recently they are also applied to securely sharing other information. For example, Korean Patent Registration No. 10-1893729 discloses a method for sharing data based on multiple blockchains.

한편, 각 국가 또는 각 지역마다 다양한 종류의 서버들이 존재하고, 이러한 서버들은 네트워크에 의해 연결되어 정보를 공유할 수 있다. 이때, 상기 서버들은 블록체인 플랫폼 내에서 각자가 생성한 정보를 안전하게 공유할 수도 있다.Meanwhile, various types of servers exist in each country or region, and these servers may be connected by a network to share information. At this time, the servers may safely share information generated by each in the blockchain platform.

구체적으로 예를 들면, 임의의 지역에 위치하고 있는 서버는 자신이 수집한 정보를 블록으로 생성한 후 타 지역의 서버들로 전파하여 저장시킬 수 있다. 이때, 다른 서버로 전파되는 정보는 타 지역의 서버와 공유될 수 있는 내용의 정보만으로 이루어질 수 있지만, 경우에 따라서는 지역의 이익, 개인의 이익 또는 개인의 프라이버시에 대한 정보도 포함될 수 있다. 따라서, 블록체인 플랫폼에서 정보를 공유하고자 할 때, 일부 정보에 대한 보안성을 향상시킬 필요가 있다.Specifically, for example, a server located in an arbitrary region may generate and collect information collected by itself as a block, then propagate it to servers in other regions and store it. In this case, the information propagated to other servers may consist of only information of contents that can be shared with servers in other regions, but in some cases, information about local interests, personal interests, or personal privacy may also be included. Therefore, when sharing information on a blockchain platform, it is necessary to improve the security of some information.

따라서, 본 발명은 이러한 문제점을 해결하기 위한 것으로, 본 발명의 해결하고자 하는 과제는 블록체인 기술을 이용하여 정보를 보다 안전하게 공유시킬 수 있는 정보 공유 방법을 제공하는 것이다.Therefore, the present invention is intended to solve this problem, and the problem to be solved by the present invention is to provide an information sharing method capable of more securely sharing information using a blockchain technology.

본 발명의 일 실시예에 의한 정보 공유 방법은 M개의 노드들 중 임의의 노드(이하, '정보 생성 노드'라 함)가 정보 A가 암호화된 암호문 A, 상기 암호문 A를 복호화하기 위한 N개의 분산 복호키들(단, N은 M 이하의 정수임) 및 상기 암호문 A를 포함하는 블록 A를 생성하는 단계; 상기 정보 생성 노드가 상기 블록 A를 상기 M개의 노드들에게 전송하는 단계; 상기 정보 생성 노드가 상기 N개의 분산 복호키들을 상기 M개의 노드들 중 N개의 노드들(이하, '복호키 저장 노드들'이라 함)에게 하나씩 전송하는 단계; 상기 M개의 노드들 각각이 상기 블록 A를 기 저장된 블록체인에 연결시켜 신규 블록체인을 생성하여 저장하는 단계; 상기 M개의 노드들 중 임의의 노드(이하, '복호화 요청 노드'라 함)가 복호화 요청 신호를 생성하여 상기 복호키 저장 노드들로 전송하는 단계; 상기 복호키 저장 노드들 각각이 상기 복호화 요청 신호를 이용하여 자신이 저장하고 있는 분산 복호키의 전송 여부를 판단하여 상기 복호화 요청 노드로 전송하는 단계; 및 상기 복호화 요청 노드가 상기 복호화 저장 노드들로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A를 복호화하는 단계를 포함한다.In the information sharing method according to an embodiment of the present invention, any node among the M nodes (hereinafter referred to as an'information generating node') is encrypted cipher A where information A is encrypted, and N distributions for decrypting the ciphertext A. Generating a block A including decryption keys (where N is an integer equal to or less than M) and the ciphertext A; The information generating node transmitting the block A to the M nodes; Transmitting, by the information generating node, the N distributed decryption keys to N nodes among the M nodes (hereinafter referred to as'decryption key storage nodes'); Each of the M nodes connecting the block A to a pre-stored blockchain to generate and store a new blockchain; A step in which any of the M nodes (hereinafter referred to as a'decryption request node') generates a decryption request signal and transmits it to the decryption key storage nodes; Each of the decryption key storage nodes using the decryption request signal, determining whether to transmit the distributed decryption key stored therein and transmitting it to the decryption request node; And decrypting the ciphertext A by the decryption request node using the distributed decryption key received from the decryption storage nodes.

상기 정보 생성 노드가 상기 암호문 A, 상기 N개의 분산 복호키들 및 상기 블록 A를 생성하는 단계는, 상기 정보 생성 노드가 상기 정보 A를 생성하는 단계; 상기 정보 생성 노드가 상기 정보 A를 암호화하여 상기 암호문 A를 생성하는 단계; 상기 정보 생성 노드가 상기 암호문 A를 복호화하기 위한 복호키 A를 생성하는 단계; 상기 정보 생성 노드가 상기 복호키 A를 이용하여 상기 N개의 분산 복호키들을 생성하는 단계; 및 상기 정보 생성 노드가 상기 암호문 A를 포함하는 상기 블록 A를 생성하는 단계를 포함할 수 있다.The information generating node generating the ciphertext A, the N distributed decryption keys, and the block A includes: the information generating node generating the information A; Generating, by the information generating node, the information A by encrypting the information A; Generating, by the information generating node, a decryption key A for decrypting the ciphertext A; Generating, by the information generating node, the N distributed decryption keys using the decryption key A; And generating, by the information generating node, the block A including the ciphertext A.

상기 복호키 저장 노드들 각각이 자신이 저장하고 있는 분산 복호키의 전송 여부를 판단하여 상기 복호화 요청 노드로 전송하는 단계는, 상기 복호키 저장 노드들 각각이 상기 복호화 요청 신호를 이용하여 상기 복호화 요청 노드의 복호화 요청에 따른 복호화 허여 여부를 판단하는 단계; 및 상기 복호키 저장 노드들 중 상기 복호화 요청 노드에서의 복호화를 허여하기로 판단한 노드(이하, '복호화 허여 노드'라 함)가 상기 N개의 분산 복호키들 중 자신이 저장하고 있는 분산 복호키를 상기 복호화 요청 노드로 전송하는 단계를 포함할 수 있다.Each of the decryption key storage nodes determines whether to transmit the distributed decryption key stored therein and transmits it to the decryption request node. Each decryption key storage node requests the decryption using the decryption request signal. Determining whether to allow decryption according to the node's decryption request; And among the decryption key storage nodes, a node determined to allow decryption at the decryption request node (hereinafter referred to as a'decryption grant node') is the distributed decryption key stored by itself among the N distributed decryption keys. It may include transmitting to the decryption request node.

상기 복호화 요청 노드가 상기 암호문 A를 복호화하는 단계는, 상기 복호화 요청 노드가 상기 복호화 허여 노드로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A의 복호화 가능 여부를 판단하는 단계; 및 상기 복호화 요청 노드가 상기 암호문 A에 대한 복호화가 가능하다고 판단하면, 상기 암호문 A를 복호화하여 상기 정보 A를 추출하는 단계를 포함할 수 있다.The decryption request node decrypting the ciphertext A may include determining whether the decryption request node can decrypt the ciphertext A using a distributed decryption key transmitted from the decryption granting node; And when the decryption request node determines that decryption of the ciphertext A is possible, decrypting the ciphertext A to extract the information A.

상기 복호키 저장 노드들은 상기 M개의 노드들 중 N-1개의 노드들과, 상기 정보 생성 노드를 포함할 수 있다. 이와 다르게, 상기 복호키 저장 노드들은 상기 M개의 노드들 중 상기 정보 생성 노드를 제외한 N개의 노드들을 포함할 수도 있다.The decryption key storage nodes may include N-1 nodes among the M nodes and the information generation node. Alternatively, the decryption key storage nodes may include N nodes excluding the information generating node among the M nodes.

상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 하나의 노드일 수 있다. 이때, 상기 복호화 요청 노드가 상기 복호화 요청 신호를 상기 복호키 저장 노드들로 전송하는 단계에서는, 상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 상기 복호화 요청 노드를 제외한 N-1개의 노드들에게 상기 복호화 요청 신호를 전송할 수 있다. 또한, 상기 복호화 요청 노드가 상기 암호문 A의 복호화 가능 여부를 판단하는 단계에서는, 상기 복호화 요청 노드가 자신이 저장하고 있는 분산 복호키 및 상기 복호화 허여 노드로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A의 복호화 가능 여부를 판단할 수 있다.The decryption request node may be one of the decryption key storage nodes. At this time, in the step of transmitting the decryption request signal to the decryption key storage nodes by the decryption request node, the decryption request node sends the decryption key storage nodes to N-1 nodes other than the decryption request node among the decryption key storage nodes. A decryption request signal can be transmitted. In addition, in the step of determining whether the decryption request node can decrypt the ciphertext A, the decryption request node uses the distributed decryption key stored by the decryption request node and the distributed decryption key received from the decryption granting node. It is possible to determine whether decoding is possible.

이와 다르게, 상기 복호화 요청 노드가 상기 M개의 노드들 중 상기 복호키 저장 노드들에 포함되지 않은 노드일 수 있다.Alternatively, the decryption request node may be a node not included in the decryption key storage nodes among the M nodes.

상기 복호화 요청 노드가 상기 암호문 A의 복호화 가능 여부를 판단하는 단계에는, 상기 복호화 요청 노드가 상기 복호키 저장 노드들로부터 K개 이상의 분산 복호키들을 수신할 경우 상기 암호문 A에 대한 복호화가 가능하다고 판단하고, 상기 복호키 저장 노드들로부터 K개 미만의 분산 복호키들을 수신할 경우 상기 암호문 A에 대한 복호화가 불가능하다고 판단할 수 있다.In the step of determining whether the decryption request node can decrypt the ciphertext A, it is determined that decryption of the ciphertext A is possible when the decryption request node receives K or more distributed decryption keys from the decryption key storage nodes. And, when receiving less than K distributed decryption keys from the decryption key storage nodes, it can be determined that decryption of the ciphertext A is impossible.

상기 복호화 요청 노드가 상기 암호문 A의 복호화 가능 여부를 판단하는 단계에는, 상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 1/2 이상의 노드들로부터 분산 복호키를 수신할 경우 상기 암호문 A에 대한 복호화가 가능하다고 판단하고, 상기 복호키 저장 노드들 중 1/2 미만의 노드들로부터 분산 복호키를 수신할 경우 상기 암호문 A에 대한 복호화가 불가능하다고 판단할 수 있다.In the step of determining whether the decryption request node can decrypt the ciphertext A, when the decryption request node receives a distributed decryption key from at least 1/2 of the decryption key storage nodes, decryption of the ciphertext A If it is determined that it is possible, and if a distributed decryption key is received from nodes less than 1/2 of the decryption key storage nodes, it may be determined that decryption of the ciphertext A is impossible.

이와 같이 본 발명에 의한 정보 공유 방법에 따르면, 임의의 노드가 자신이 갖고 있는 정보 A를 암호화하여 암호문 A를 생성한 후 블록 형태로 M개의 노드들에게 전송할 뿐만 아니라, 상기 암호문 A를 복호화할 수 있는 N개의 분산 복호키들을 생성한 후 N개의 노드들에게 하나씩 전송함에 따라, 상기 M개의 노드들 중 상기 암호문 A를 복호화하여 상기 정보 A를 추출하고자 하는 노드는 상기 N개의 노드들에게 동의를 얻어 상기 N개의 분산 복호키들 중 K개 이상의 분산 복호키들을 획득해야만 한다. 그 결과, 상기 정보 A의 보안성이 더욱 향상될 수 있다.As described above, according to the information sharing method according to the present invention, any node encrypts the information A owned by itself and generates the ciphertext A, and then transmits it to the M nodes in a block form and can decrypt the ciphertext A. After generating the N distributed decryption keys and transmitting them to the N nodes one by one, the node that wants to extract the information A by decrypting the ciphertext A among the M nodes obtains consent from the N nodes Among the N distributed decryption keys, K or more distributed decryption keys must be obtained. As a result, the security of the information A can be further improved.

도 1은 본 발명의 일 실시예에 따른 정보 공유 시스템을 도시한 개념도이다.
도 2는 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 암호문 A, N개의 분산 복호키들 및 블록 A를 생성하는 과정을 설명하기 위한 개념도이다.
도 3은 도 2의 과정에서 생성된 블록 A 및 N개의 분산 복호키들을 전송하는 과정을 설명하기 위한 개념도이다.
도 4는 도 3의 과정에서 전송된 블록 A를 이용하여 신규 블록체인을 생성하는 과정을 설명하기 위한 개념도이다.
도 5는 도 4의 과정에서 생성된 신규 블록체인을 예시적으로 나타낸 개념도이다.
도 6은 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 복호화 요청 노드가 복호화 요청 신호를 전송하는 과정을 설명하기 위한 개념도이다.
도 7은 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 복호화 요청 노드가 암호문 A를 복호화하는 과정의 일 예를 설명하기 위한 개념도이다.
도 8은 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 복호화 요청 노드가 암호문 A를 복호화하는 과정의 다른 예를 설명하기 위한 개념도이다.
1 is a conceptual diagram illustrating an information sharing system according to an embodiment of the present invention.
FIG. 2 is a conceptual diagram illustrating a process of generating ciphertext A, N distributed decryption keys and block A among information sharing methods by the information sharing system of FIG. 1.
FIG. 3 is a conceptual diagram illustrating a process of transmitting the block A and N distributed decryption keys generated in the process of FIG. 2.
FIG. 4 is a conceptual diagram illustrating a process of generating a new blockchain using block A transmitted in the process of FIG. 3.
5 is a conceptual diagram illustrating a new blockchain created in the process of FIG. 4 as an example.
6 is a conceptual diagram illustrating a process of a decryption request node transmitting a decryption request signal among the information sharing methods by the information sharing system of FIG. 1.
7 is a conceptual diagram illustrating an example of a process of decrypting a ciphertext A by a decryption request node among information sharing methods by the information sharing system of FIG. 1.
8 is a conceptual diagram illustrating another example of a process of decrypting a ciphertext A by a decryption request node among information sharing methods by the information sharing system of FIG. 1.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.The present invention may be variously modified and may have various forms, and specific embodiments will be illustrated in the drawings and described in detail in the text.

그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.However, this is not intended to limit the present invention to specific disclosure forms, and it should be understood that all modifications, equivalents, and substitutes included in the spirit and scope of the present invention are included. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may also be referred to as a first component.

본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "include" or "have" are intended to indicate the presence of a feature, number, step, action, component, part, or combination thereof described in the specification, but one or more other features or It should be understood that the presence or addition possibilities of numbers, steps, actions, components, parts or combinations thereof are not excluded in advance.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 정보 공유 시스템을 도시한 개념도이다.1 is a conceptual diagram illustrating an information sharing system according to an embodiment of the present invention.

도 1을 참조하면, 본 실시예에 의한 정보 공유 시스템은 네트워크를 통해 서로 연결된 M개의 노드들(10)을 포함한다(단, M은 2 이상의 정수임). 이때, 상기 M개의 노드들(10)은 네트워크를 통해 서로 연결된 컴퓨터 시스템들, 예를 들어 서버 시스템들일 수 있다.Referring to FIG. 1, the information sharing system according to the present embodiment includes M nodes 10 connected to each other through a network (where M is an integer of 2 or more). In this case, the M nodes 10 may be computer systems connected to each other through a network, for example, server systems.

본 실시예에서, 상기 M개의 노드들(10) 각각은 블록을 생성하여 공유시킬 수 있는 블록 생성 기능과, 전송받은 블록을 검증한 후 피드백(feedback)할 수 있는 블록 검증 기능을 수행할 수도 있다.In this embodiment, each of the M nodes 10 may perform a block generation function capable of generating and sharing a block, and a block verification function capable of feedback after verifying the transmitted block. .

한편, 상기 M개의 노드들(10) 중에는 복호키를 분산 저장하기 위한 N개의 노드들(이하, '복호키 저장 노드들'이라 함)이 포함되어 있을 수 있다(단, N은 2 이상이고 M 이하인 정수임).Meanwhile, among the M nodes 10, N nodes (hereinafter referred to as'decryption key storage nodes') for storing and storing a decryption key may be included (wherein N is 2 or more and M Less than or equal to).

이하, 위에서 설명한 상기 정보 공유 시스템을 이용하여 정보 공유 방법을 상세하게 설명하고자 한다.Hereinafter, an information sharing method will be described in detail by using the information sharing system described above.

도 2는 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 암호문 A, N개의 분산 복호키들 및 블록 A를 생성하는 과정을 설명하기 위한 개념도이다.FIG. 2 is a conceptual diagram illustrating a process of generating ciphertext A, N distributed decryption keys and block A among information sharing methods by the information sharing system of FIG. 1.

도 2를 참조하면, 본 실시예에 의한 정보 공유 방법으로, 상기 M개의 노드들 중 임의의 노드(이하, '정보 생성 노드'라 함), 예를 들어 노드 D1이 정보 A가 암호화된 암호문 A, 상기 암호문 A를 복호화하기 위한 N개의 분산 복호키들 및 상기 암호문 A를 포함하는 블록 A를 생성할 수 있다.Referring to FIG. 2, in the information sharing method according to the present embodiment, any node among the M nodes (hereinafter referred to as an'information generating node'), for example, node D1 is encrypted cipher text A in which information A is encrypted. , Block A including N distributed decryption keys for decrypting the ciphertext A and the ciphertext A may be generated.

구체적으로 설명하면, 상기 정보 생성 노드가 상기 정보 A를 생성한 후, 상기 정보 A를 안전하게 공유시키기로 결정하면, 상기 정보 A를 암호화하여 상기 암호문 A를 생성할 수 있다. 이때, 상기 정보 생성 노드는 상기 암호문 A를 복호화하기 위한 복호키 A를 함께 생성할 수 있다. 이후, 상기 정보 생성 노드는 상기 복호키 A를 이용하여 상기 N개의 분산 복호키들을 생성할 수 있다. 예를 들어, 상기 정보 생성 노드는 (K, N) 임계치 비밀분산 방법에 의해, 상기 복호키 A를 N개로 분할하여 상기 N개의 분산 복호키들을 생성할 수 있다. 여기서, 상기 N개의 분산 복호키들 중 K개의 분산 복호키들이 모여야 상기 복호키 A를 복원할 수 있다. 본 실시예에서, (K, N) 임계치 비밀분산 방법은 BLS 서명에 의한 비밀분산 방법일 수도 있다. 이후, 상기 정보 생성 노드가 상기 암호문 A를 포함하는 상기 블록 A를 생성할 수 있다. 이때, 상기 블록 A는 상기 암호문 A를 포함하고, 그 외 다른 종류의 정보를 포함할 수도 있다.Specifically, after the information generating node generates the information A and decides to safely share the information A, the ciphertext A can be generated by encrypting the information A. At this time, the information generating node may generate a decryption key A for decrypting the ciphertext A together. Thereafter, the information generating node may generate the N distributed decryption keys using the decryption key A. For example, the information generation node may generate the N distributed decryption keys by dividing the decryption key A into N pieces by a (K, N) threshold secret distribution method. Here, K distributed decryption keys among the N distributed decryption keys must be collected to restore the decryption key A. In this embodiment, the (K, N) threshold secret distribution method may be a secret distribution method by BLS signature. Thereafter, the information generating node may generate the block A including the ciphertext A. At this time, the block A includes the ciphertext A, and may include other types of information.

본 실시예에서, 상기 블록 A는 블록 헤더 및 블록 바디를 포함할 수 있다. 상기 블록 헤더는 해당 블록을 대표할 수 있는 해당 블록 대푯값과, 해당 블록이 바로 이전에 생성된 이전 블록을 대표할 수 있는 이전 블록 대푯값을 포함할 수 있다. 예를 들어, 상기 해당 블록 대푯값은 해시 함수(hash function)을 통해 생성된 해당 블록 해시값일 수 있고, 상기 이전 블록 대푯값은 해시 함수(hash function)을 통해 생성된 이전 블록 해시값일 수 있다. 상기 블록 바디는 상기 암호문 A를 포함하고, 그 외 다른 종류의 정보를 포함할 수도 있다.In this embodiment, the block A may include a block header and a block body. The block header may include a corresponding block representative value that can represent the corresponding block, and a previous block representative value that can represent the previous block in which the corresponding block was immediately generated. For example, the corresponding block representative value may be a corresponding block hash value generated through a hash function, and the previous block representative value may be a previous block hash value generated through a hash function. The block body includes the ciphertext A, and may include other types of information.

도 3은 도 2의 과정에서 생성된 블록 A 및 N개의 분산 복호키들을 전송하는 과정을 설명하기 위한 개념도이고, 도 4는 도 3의 과정에서 전송된 블록 A를 이용하여 신규 블록체인을 생성하는 과정을 설명하기 위한 개념도이며, 도 5는 도 4의 과정에서 생성된 신규 블록체인을 예시적으로 나타낸 개념도이다.FIG. 3 is a conceptual diagram illustrating a process of transmitting the block A and N distributed decryption keys generated in the process of FIG. 2, and FIG. 4 is a method of generating a new blockchain using block A transmitted in the process of FIG. 3 It is a conceptual diagram for explaining the process, and FIG. 5 is a conceptual diagram illustrating a new blockchain created in the process of FIG. 4 as an example.

도 3, 도 4 및 도 5를 참조하면, 이후, 상기 정보 생성 노드가 상기 블록 A를 상기 M개의 노드들에게 전송할 수 있다. 구체적으로 설명하면, 상기 정보 생성 노드가 상기 블록 A를 상기 M개의 노드들로 전송하면, 상기 M개의 노드들은 전송받은 상기 블록 A에 대한 검증을 수행하여 검증 결과를 생성한 후, 상기 검증 결과를 상기 정보 생성 노드로 피드백(feedback)할 수 있다. 여기서, 상기 정보 생성 노드가 상기 M개의 노드들에 포함되어 있으므로, 상기 정보 생성 노드가 상기 블록 A를 자체적으로 검증하여 스스로 피드백할 수 있다. 이후, 상기 정보 생성 노드가 상기 검증 결과들을 이용하여 상기 블록 A의 검증 통과 여부를 결정하고, 결정 결과가 검증 통과인 경우 상기 블록 A를 상기 M개의 노드들로 전송할 수 있다.3, 4 and 5, the information generating node may then transmit the block A to the M nodes. Specifically, when the information generating node transmits the block A to the M nodes, the M nodes perform verification on the received block A to generate a verification result, and then generate the verification result. The information generating node may be fed back. Here, since the information generating node is included in the M nodes, the information generating node can self-verify the block A and feed it back. Thereafter, the information generation node may determine whether the verification of the block A has passed using the verification results, and if the determination result is verification verification, the block A may be transmitted to the M nodes.

상기 블록 A의 전송과 동시에 또는 상기 블록 A의 전송 이후, 상기 정보 생성 노드가 상기 N개의 분산 복호키들을 상기 M개의 노드들 중 N개의 노드들(이하, '복호키 저장 노드들'이라 함)에게 하나씩 전송할 수 있다. 예를 들어, 상기 정보 생성 노드가 5개의 분산 복호키들을 N개의 복호키 저장 노드들에게 하나씩 전송할 수 있다.At the same time as the transmission of the block A or after the transmission of the block A, the information generating node has the N distributed decryption keys N nodes among the M nodes (hereinafter referred to as'decryption key storage nodes'). Can be sent one by one. For example, the information generating node may transmit five distributed decryption keys to N decryption key storage nodes one by one.

본 실시예에서, 상기 정보 생성 노드가 상기 N개의 분산 복호키들에 포함될 수 있다. 즉, 상기 복호키 저장 노드들은 상기 M개의 노드들 중 N-1개의 노드들과, 상기 정보 생성 노드를 포함할 수 있다. 예를 들어, 도 3과 같이, 상기 N개의 분산 복호키들 중 분산 복호키 K1은 상기 정보 생성 노드에 저장되고, 상기 N개의 분산 복호키들 중 분산 복호키 K2 내지 분산 복호키 K5은 노드 N2 내지 노드 N5에 하나씩 전송되어 저장될 수 있다.In this embodiment, the information generating node may be included in the N distributed decryption keys. That is, the decryption key storage nodes may include N-1 nodes among the M nodes and the information generation node. For example, as shown in FIG. 3, among the N distributed decryption keys, the distributed decryption key K1 is stored in the information generating node, and among the N distributed decryption keys, the distributed decryption key K2 to the distributed decryption key K5 are nodes N2 to nodes. It can be transmitted and stored one by one in N5.

이와 다르게, 상기 정보 생성 노드가 상기 N개의 분산 복호키들에 포함되어 있지 않을 수 있다. 즉, 상기 복호키 저장 노드들은 상기 M개의 노드들 중 상기 정보 생성 노드를 제외한 N개의 노드들을 포함할 수도 있다.Alternatively, the information generating node may not be included in the N distributed decryption keys. That is, the decryption key storage nodes may include N nodes excluding the information generating node among the M nodes.

이어서, 상기 M개의 노드들 각각이 상기 블록 A를 기 저장된 블록체인에 연결시켜 신규 블록체인을 생성하여 저장할 수 있다. 그 결과, 상기 M개의 노드들 모두는 상기 신규 블록체인을 저장하고 있을 수 있다.Subsequently, each of the M nodes may connect the block A to a pre-stored blockchain to generate and store a new blockchain. As a result, all of the M nodes may be storing the new blockchain.

도 6은 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 복호화 요청 노드가 복호화 요청 신호를 전송하는 과정을 설명하기 위한 개념도이다.6 is a conceptual diagram illustrating a process of a decryption request node transmitting a decryption request signal among the information sharing methods by the information sharing system of FIG. 1.

도 6을 참조하면, 이후, 상기 M개의 노드들 중 임의의 노드(이하, '복호화 요청 노드'라 함)가 복호화 요청 신호를 생성하여 상기 복호키 저장 노드들로 전송할 수 있다.Referring to FIG. 6, thereafter, any of the M nodes (hereinafter referred to as a'decryption request node') may generate a decryption request signal and transmit it to the decryption key storage nodes.

본 실시예에서, 상기 복호화 요청 노드가 상기 M개의 노드들 중 상기 복호키 저장 노드들에 포함되지 않은 노드, 예를 들어 노드 N6일 수 있다. 예를 들어, 도 6에서와 같이 상기 복호화 요청 노드가 노드 N6인 경우, 상기 노드 N6은 상기 블록 A에 포함된 상기 암호문 A의 복호화가 필요하다고 판단하면, 상기 복호화 요청 신호를 생성한 후 노드 N1, 노드 N2, 노드 N3, 노드 N4 및 노드 N5에 각각 전송할 수 있다.In this embodiment, the decryption request node may be a node not included in the decryption key storage nodes among the M nodes, for example, node N6. For example, when the decryption request node is a node N6 as shown in FIG. 6, when the node N6 determines that decryption of the ciphertext A included in the block A is necessary, the node N1 is generated after generating the decryption request signal. , Node N2, node N3, node N4 and node N5, respectively.

이와 다르게, 상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 하나의 노드일 수도 있다. 즉, 상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 상기 복호화 요청 노드를 제외한 N-1개의 노드들에게 상기 복호화 요청 신호를 전송할 수 있다. 예를 들어, 상기 복호화 요청 노드가 노드 N2인 경우, 상기 노드 N2는 상기 블록 A에 포함된 상기 암호문 A의 복호화가 필요하다고 판단하면, 상기 복호화 요청 신호를 생성한 후 노드 N1, 노드 N3, 노드 N4 및 노드 N5에 각각 전송할 수 있다.Alternatively, the decryption request node may be one of the decryption key storage nodes. That is, the decryption request node may transmit the decryption request signal to N-1 nodes other than the decryption request node among the decryption key storage nodes. For example, when the decryption request node is a node N2, if the node N2 determines that decryption of the ciphertext A included in the block A is necessary, the node N1, node N3, node after generating the decryption request signal N4 and node N5, respectively.

도 7은 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 복호화 요청 노드가 암호문 A를 복호화하는 과정의 일 예를 설명하기 위한 개념도이고, 도 8은 도 1의 정보 공유 시스템에 의한 정보 공유 방법 중 복호화 요청 노드가 암호문 A를 복호화하는 과정의 다른 예를 설명하기 위한 개념도이다.7 is a conceptual diagram illustrating an example of a process of decrypting a ciphertext A by a decryption request node among the information sharing methods by the information sharing system of FIG. 1, and FIG. 8 is a method of sharing information by the information sharing system of FIG. 1 It is a conceptual diagram for explaining another example of a process in which the decryption request node decrypts the ciphertext A.

도 7 및 도 8을 참조하면, 이후, 상기 복호키 저장 노드들 각각이 상기 복호화 요청 신호를 이용하여 자신이 저장하고 있는 분산 복호키의 전송 여부를 판단하여 상기 복호화 요청 노드로 전송할 수 있다.7 and 8, thereafter, each of the decryption key storage nodes may determine whether to transmit the distributed decryption key that it stores by using the decryption request signal and transmit it to the decryption request node.

구체적으로 설명하면, 상기 복호키 저장 노드들 각각이 상기 복호화 요청 노드로부터 전송받은 상기 복호화 요청 신호를 이용하여 상기 복호화 요청 노드의 복호화 요청에 따른 복호화 허여 여부를 판단할 수 있다. 예를 들어, 상기 복호화 요청 신호에 상기 복호화 요청 노드의 속성 정보, 상기 정보 A가 쓰일 용도, 목적, 시급성에 대한 정보 등이 포함되어 있을 경우, 상기 복호키 저장 노드들 각각은 상기 복호화 요청 노드가 상기 정보 A를 사용할 수 있는 속성을 갖고 있는지, 상기 정보 A를 사용할 용도 및 목적이 적합한지 그리고 상기 정보 A을 꼭 사용해야할 시급한 상황인지 등을 판단하여 상기 복호화 요청에 따른 복호화 허여 여부를 판단할 수 있다.In detail, each of the decryption key storage nodes can determine whether or not to allow decryption according to the decryption request of the decryption request node by using the decryption request signal received from the decryption request node. For example, when the decryption request signal includes attribute information of the decryption request node, information about the purpose, purpose, and urgency of use of the information A, each of the decryption key storage nodes includes the decryption request node. It is possible to determine whether or not to allow decryption according to the decryption request by determining whether the information A has an attribute that can be used, whether the purpose and purpose of using the information A are appropriate, and whether the information A is in an urgent situation. have.

이후, 상기 복호키 저장 노드들 중 상기 복호화 요청 노드에서의 복호화를 허여하기로 판단한 노드(이하, '복호화 허여 노드'라 함)가 상기 N개의 분산 복호키들 중 자신이 저장하고 있는 분산 복호키를 상기 복호화 요청 노드로 전송할 수 있다. 반면, 상기 복호키 저장 노드들 중 상기 복호화 요청 노드에서의 복호화를 불허하기로 판단한 노드는 자신이 저장하고 있는 분산 복호키를 전송하는 대신에 복호화 불허 메시지를 상기 복호화 요청 노드로 전송할 수도 있다.Then, among the decryption key storage nodes, a node determined to allow decryption at the decryption request node (hereinafter referred to as a'decryption grant node') uses the distributed decryption key stored by itself among the N distributed decryption keys. It can be transmitted to the decryption request node. On the other hand, among the decryption key storage nodes, the node determined to disallow decryption at the decryption request node may transmit an unauthorized decryption message to the decryption request node instead of transmitting the distributed decryption key stored therein.

이어서, 상기 복호화 요청 노드가 상기 복호화 저장 노드들로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A를 복호화할 수 있다.Subsequently, the decryption request node may decrypt the ciphertext A using the distributed decryption key transmitted from the decryption storage nodes.

구체적으로 설명하면, 상기 복호화 요청 노드가 상기 복호화 허여 노드로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A의 복호화 가능 여부를 판단할 수 있다. 예를 들어, 상기 복호화 요청 노드가 도 7과 같이 자신이 저장하고 있는 분산 복호키를 갖고 있지 않을 경우, 상기 복호화 허여 노드로부터 전송받은 분산 복호키만을 이용하여 상기 암호문 A의 복호화 가능 여부를 판단할 수 있다. 반면, 상기 복호화 요청 노드가 도 8과 같이 자신이 저장하고 있는 분산 복호키를 갖고 있을 경우, 자신이 저장하고 있는 분산 복호키와 상기 복호화 허여 노드로부터 전송받은 분산 복호키를 함께 이용하여 상기 암호문 A의 복호화 가능 여부를 판단할 수 있다.In detail, the decryption request node can determine whether the ciphertext A can be decrypted using the distributed decryption key transmitted from the decryption granting node. For example, if the decryption request node does not have a distributed decryption key stored by the decryption request node as shown in FIG. 7, it is determined whether the decryption of the ciphertext A is possible using only the distributed decryption key transmitted from the decryption granting node. Can. On the other hand, when the decryption request node has a distributed decryption key that it stores, as shown in FIG. 8, it uses the distributed decryption key that it stores and the distributed decryption key transmitted from the decryption permission node together, thereby encrypting the ciphertext A. It is possible to determine whether decoding is possible.

본 실시예에서, 상기 복호키 A가 (K, N) 임계치 비밀분산 방법에 의해 N개로 분할되어 상기 N개의 분산 복호키들이 생성된 경우, 상기 복호화 요청 노드가 상기 복호키 저장 노드들로부터 K개 이상의 분산 복호키들을 수신할 경우 상기 암호문 A에 대한 복호화가 가능하다고 판단하고, 상기 복호키 저장 노드들로부터 K개 미만의 분산 복호키들을 수신할 경우 상기 암호문 A에 대한 복호화가 불가능하다고 판단할 수 있다. 예를 들어, K는 N/2의 반올림한 정수일 수 있다.In the present embodiment, when the decryption key A is divided into N by the (K, N) threshold secret distribution method and the N distributed decryption keys are generated, the decryption request node has K from the decryption key storage nodes. When receiving the above distributed decryption keys, it is determined that decryption of the ciphertext A is possible, and when less than K distributed decryption keys are received from the decryption key storage nodes, it can be determined that decryption of the ciphertext A is impossible. have. For example, K may be a rounded integer of N/2.

이후, 상기 복호화 요청 노드가 상기 암호문 A에 대한 복호화가 가능하다고 판단하면, 상기 암호문 A를 복호화하여 상기 정보 A를 추출할 수 있다.Thereafter, when the decryption request node determines that decryption of the ciphertext A is possible, the ciphertext A may be decrypted to extract the information A.

이와 같이 본 실시예에 따르면, 상기 정보 저장 노드가 자신이 갖고 있는 상기 정보 A를 암호화하여 상기 암호문 A를 생성한 후 블록 형태로 M개의 노드들에게 전송할 뿐만 아니라, 상기 암호문 A를 복호화할 수 있는 N개의 분산 복호키들을 생성한 후 N개의 노드들에게 하나씩 전송함에 따라, 상기 M개의 노드들 중 상기 암호문 A를 복호화하여 상기 정보 A를 추출하고자 하는 노드는 상기 N개의 노드들에게 동의를 얻어 상기 N개의 분산 복호키들 중 K개 이상의 분산 복호키들을 획득해야만 한다. 그 결과, 상기 정보 A의 보안성이 더욱 향상될 수 있다.As described above, according to the present embodiment, the information storage node encrypts the information A owned by the information storage node to generate the ciphertext A, and then transmits it to the M nodes in a block form, and can decrypt the ciphertext A. After generating N distributed decryption keys and transmitting them to N nodes one by one, a node that wants to extract the information A by decrypting the ciphertext A among the M nodes obtains consent from the N nodes Of the N distributed decryption keys, more than K distributed decryption keys must be obtained. As a result, the security of the information A can be further improved.

앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.In the detailed description of the present invention described above, it has been described with reference to preferred embodiments of the present invention, but those skilled in the art or those skilled in the art will appreciate the spirit of the present invention as set forth in the claims below. And it will be understood that various modifications and changes can be made to the present invention without departing from the scope of the technology.

10 : 노드10: node

Claims (12)

M개의 노드들 중 임의의 노드(이하, '정보 생성 노드'라 함)가 정보 A가 암호화된 암호문 A, 상기 암호문 A를 복호화하기 위한 N개의 분산 복호키들(단, N은 M 이하의 정수임) 및 상기 암호문 A를 포함하는 블록 A를 생성하는 단계;
상기 정보 생성 노드가 상기 블록 A를 상기 M개의 노드들에게 전송하는 단계;
상기 정보 생성 노드가 상기 N개의 분산 복호키들을 상기 M개의 노드들 중 N개의 노드들(이하, '복호키 저장 노드들'이라 함)에게 하나씩 전송하는 단계;
상기 M개의 노드들 각각이 상기 블록 A를 기 저장된 블록체인에 연결시켜 신규 블록체인을 생성하여 저장하는 단계;
상기 M개의 노드들 중 임의의 노드(이하, '복호화 요청 노드'라 함)가 복호화 요청 신호를 생성하여 상기 복호키 저장 노드들로 전송하는 단계;
상기 복호키 저장 노드들 각각이 상기 복호화 요청 신호를 이용하여 자신이 저장하고 있는 분산 복호키의 전송 여부를 판단하여 상기 복호화 요청 노드로 전송하는 단계; 및
상기 복호화 요청 노드가 상기 복호화 저장 노드들로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A를 복호화하는 단계를 포함하는 정보 공유 방법.
Any of the M nodes (hereinafter referred to as an'information generating node') is a ciphertext A with information A encrypted, and N distributed decryption keys for decrypting the ciphertext A (where N is an integer equal to or less than M) And generating block A including the ciphertext A.
The information generating node transmitting the block A to the M nodes;
Transmitting, by the information generating node, the N distributed decryption keys to N nodes among the M nodes (hereinafter referred to as'decryption key storage nodes');
Each of the M nodes connecting the block A to a pre-stored blockchain to generate and store a new blockchain;
A step in which any of the M nodes (hereinafter referred to as a'decryption request node') generates a decryption request signal and transmits it to the decryption key storage nodes;
Each of the decryption key storage nodes using the decryption request signal, determining whether to transmit the distributed decryption key stored therein and transmitting it to the decryption request node; And
And decrypting the ciphertext A by the decryption request node using a distributed decryption key received from the decryption storage nodes.
제1항에 있어서,
상기 정보 생성 노드가 상기 암호문 A, 상기 N개의 분산 복호키들 및 상기 블록 A를 생성하는 단계는
상기 정보 생성 노드가 상기 정보 A를 생성하는 단계;
상기 정보 생성 노드가 상기 정보 A를 암호화하여 상기 암호문 A를 생성하는 단계;
상기 정보 생성 노드가 상기 암호문 A를 복호화하기 위한 복호키 A를 생성하는 단계;
상기 정보 생성 노드가 상기 복호키 A를 이용하여 상기 N개의 분산 복호키들을 생성하는 단계; 및
상기 정보 생성 노드가 상기 암호문 A를 포함하는 상기 블록 A를 생성하는 단계를 포함하는 것을 특징으로 하는 정보 공유 방법.
According to claim 1,
The step of generating the ciphertext A, the N distributed decryption keys, and the block A by the information generating node is
The information generating node generating the information A;
Generating, by the information generating node, the information A by encrypting the information A;
Generating, by the information generating node, a decryption key A for decrypting the ciphertext A;
The information generating node generating the N distributed decryption keys using the decryption key A; And
And generating, by the information generating node, the block A including the ciphertext A.
제1항에 있어서,
상기 복호키 저장 노드들 각각이 자신이 저장하고 있는 분산 복호키의 전송 여부를 판단하여 상기 복호화 요청 노드로 전송하는 단계는
상기 복호키 저장 노드들 각각이 상기 복호화 요청 신호를 이용하여 상기 복호화 요청 노드의 복호화 요청에 따른 복호화 허여 여부를 판단하는 단계; 및
상기 복호키 저장 노드들 중 상기 복호화 요청 노드에서의 복호화를 허여하기로 판단한 노드(이하, '복호화 허여 노드'라 함)가 상기 N개의 분산 복호키들 중 자신이 저장하고 있는 분산 복호키를 상기 복호화 요청 노드로 전송하는 단계를 포함하는 것을 특징으로 하는 정보 공유 방법.
According to claim 1,
The step of determining whether each of the decryption key storage nodes transmits the distributed decryption key stored in the decryption key and transmitting the decryption key to the decryption request node is performed.
Determining whether each of the decryption key storage nodes grants decryption according to a decryption request of the decryption request node using the decryption request signal; And
Among the decryption key storage nodes, a node determined to allow decryption at the decryption request node (hereinafter referred to as a'decryption grant node') decrypts the decryption key stored by itself among the N distributed decryption keys. And transmitting to the requesting node.
제3항에 있어서,
상기 복호화 요청 노드가 상기 암호문 A를 복호화하는 단계는
상기 복호화 요청 노드가 상기 복호화 허여 노드로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A의 복호화 가능 여부를 판단하는 단계; 및
상기 복호화 요청 노드가 상기 암호문 A에 대한 복호화가 가능하다고 판단하면, 상기 암호문 A를 복호화하여 상기 정보 A를 추출하는 단계를 포함하는 정보 공유 방법.
According to claim 3,
The step of decrypting the ciphertext A by the decryption request node
Determining whether the decryption request node can decrypt the ciphertext A by using a distributed decryption key transmitted from the decryption granting node; And
And if the decryption request node determines that decryption of the ciphertext A is possible, decrypting the ciphertext A to extract the information A.
제4항에 있어서,
상기 복호키 저장 노드들은
상기 M개의 노드들 중 N-1개의 노드들과, 상기 정보 생성 노드를 포함하는 것을 특징으로 하는 정보 공유 방법.
According to claim 4,
The decryption key storage nodes are
And N-1 nodes among the M nodes, and the information generating node.
제4항에 있어서,
상기 복호키 저장 노드들은
상기 M개의 노드들 중 상기 정보 생성 노드를 제외한 N개의 노드들을 포함하는 것을 특징으로 하는 정보 공유 방법.
According to claim 4,
The decryption key storage nodes are
Information sharing method characterized in that it comprises N nodes of the M nodes excluding the information generation node.
제4항에 있어서,
상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 하나의 노드인 것을 특징으로 하는 정보 공유 방법.
According to claim 4,
And the decryption request node is one of the decryption key storage nodes.
제7항에 있어서,
상기 복호화 요청 노드가 상기 복호화 요청 신호를 상기 복호키 저장 노드들로 전송하는 단계에서는,
상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 상기 복호화 요청 노드를 제외한 N-1개의 노드들에게 상기 복호화 요청 신호를 전송하는 것을 특징으로 하는 정보 공유 방법.
The method of claim 7,
In the decryption request node transmitting the decryption request signal to the decryption key storage nodes,
And the decryption request node transmits the decryption request signal to N-1 nodes other than the decryption request node among the decryption key storage nodes.
제8항에 있어서,
상기 복호화 요청 노드가 상기 암호문 A의 복호화 가능 여부를 판단하는 단계에서는,
상기 복호화 요청 노드가 자신이 저장하고 있는 분산 복호키 및 상기 복호화 허여 노드로부터 전송받은 분산 복호키를 이용하여 상기 암호문 A의 복호화 가능 여부를 판단하는 것을 특징으로 하는 정보 공유 방법.
The method of claim 8,
In the step of determining whether the decryption request node can decrypt the ciphertext A,
The decryption request node determines whether it is possible to decrypt the ciphertext A by using the distributed decryption key stored in the decryption key received from the decryption grant node and its own.
제4항에 있어서,
상기 복호화 요청 노드가 상기 M개의 노드들 중 상기 복호키 저장 노드들에 포함되지 않은 노드인 것을 특징으로 하는 정보 공유 방법.
According to claim 4,
And the decryption request node is a node not included in the decryption key storage nodes among the M nodes.
제4항에 있어서,
상기 복호화 요청 노드가 상기 암호문 A의 복호화 가능 여부를 판단하는 단계에는,
상기 복호화 요청 노드가 상기 복호키 저장 노드들로부터 K개 이상의 분산 복호키들을 수신할 경우 상기 암호문 A에 대한 복호화가 가능하다고 판단하고, 상기 복호키 저장 노드들로부터 K개 미만의 분산 복호키들을 수신할 경우 상기 암호문 A에 대한 복호화가 불가능하다고 판단하는 것을 특징으로 하는 정보 공유 방법.
According to claim 4,
In the step of determining whether the decryption request node can decrypt the ciphertext A,
When the decryption request node receives more than K distributed decryption keys from the decryption key storage nodes, it is determined that decryption of the ciphertext A is possible, and less than K distributed decryption keys are received from the decryption key storage nodes. If it does, it is determined that decryption of the ciphertext A is impossible.
제11항에 있어서,
상기 복호화 요청 노드가 상기 암호문 A의 복호화 가능 여부를 판단하는 단계에는,
상기 복호화 요청 노드가 상기 복호키 저장 노드들 중 1/2 이상의 노드들로부터 분산 복호키를 수신할 경우 상기 암호문 A에 대한 복호화가 가능하다고 판단하고, 상기 복호키 저장 노드들 중 1/2 미만의 노드들로부터 분산 복호키를 수신할 경우 상기 암호문 A에 대한 복호화가 불가능하다고 판단하는 것을 특징으로 하는 정보 공유 방법.
The method of claim 11,
In the step of determining whether the decryption request node can decrypt the ciphertext A,
When the decryption request node receives a distributed decryption key from at least 1/2 of the decryption key storage nodes, it is determined that decryption of the ciphertext A is possible, and less than 1/2 of the decryption key storage nodes When receiving a distributed decryption key from nodes, it is determined that decryption of the ciphertext A is impossible.
KR1020190007927A 2019-01-22 2019-01-22 Method for sharing information using blockchain technology KR20200091112A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190007927A KR20200091112A (en) 2019-01-22 2019-01-22 Method for sharing information using blockchain technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190007927A KR20200091112A (en) 2019-01-22 2019-01-22 Method for sharing information using blockchain technology

Publications (1)

Publication Number Publication Date
KR20200091112A true KR20200091112A (en) 2020-07-30

Family

ID=71839210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190007927A KR20200091112A (en) 2019-01-22 2019-01-22 Method for sharing information using blockchain technology

Country Status (1)

Country Link
KR (1) KR20200091112A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000632A (en) * 2020-07-31 2020-11-27 天翼电子商务有限公司 Ciphertext sharing method, medium, sharing client and system
US11451369B2 (en) * 2019-04-16 2022-09-20 Nec Corporation Method and system for multi-authority controlled functional encryption
CN112000632B (en) * 2020-07-31 2024-05-14 天翼电子商务有限公司 Ciphertext sharing method, medium, sharing client and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11451369B2 (en) * 2019-04-16 2022-09-20 Nec Corporation Method and system for multi-authority controlled functional encryption
CN112000632A (en) * 2020-07-31 2020-11-27 天翼电子商务有限公司 Ciphertext sharing method, medium, sharing client and system
CN112000632B (en) * 2020-07-31 2024-05-14 天翼电子商务有限公司 Ciphertext sharing method, medium, sharing client and system

Similar Documents

Publication Publication Date Title
US11132451B2 (en) Secret data access control systems and methods
US7975312B2 (en) Token passing technique for media playback devices
EP3694143B1 (en) Enabling access to data
US10805076B2 (en) Information processing apparatus, server apparatus, and computer program product
US8694783B2 (en) Lightweight secure authentication channel
CN101883100B (en) Digital content distributed authorization method
US20100017599A1 (en) Secure digital content management using mutating identifiers
KR101982237B1 (en) Method and system for data sharing using attribute-based encryption in cloud computing
WO2006080754A1 (en) Contents encryption method, system and method for providing contents through network using the encryption method
JP6072806B2 (en) Group secret management by group members
CN111371790A (en) Data encryption sending method based on alliance chain, related method, device and system
CN102546528A (en) Stream media playing method and stream media playing equipment
CN113949541B (en) DDS (direct digital synthesizer) secure communication middleware design method based on attribute strategy
EP3455763B1 (en) Digital rights management for anonymous digital content sharing
KR100875341B1 (en) How to create a virtual private network using a public network
KR20200091112A (en) Method for sharing information using blockchain technology
KR20210058313A (en) Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment
CN111314059A (en) Processing method, device and equipment of account authority proxy and readable storage medium
KR100989371B1 (en) DRM security mechanism for the personal home domain
KR102199196B1 (en) Method for sharing information using blockchain technology
CN112398818B (en) Software activation method and related device thereof
KR20240030213A (en) Electronic device and method providing secret messenger function through ene to ene encryption based on blockchain did technology
CN116488855A (en) Lightweight weight determining system and method based on chained memory structure encryption technology
JP2001217828A (en) Method and system for authentication processing
CN116340972A (en) Resource sharing system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination