KR20210017968A - Method for obtaining data through searching and merging distributed data stored using blockchain - Google Patents

Method for obtaining data through searching and merging distributed data stored using blockchain Download PDF

Info

Publication number
KR20210017968A
KR20210017968A KR1020190153410A KR20190153410A KR20210017968A KR 20210017968 A KR20210017968 A KR 20210017968A KR 1020190153410 A KR1020190153410 A KR 1020190153410A KR 20190153410 A KR20190153410 A KR 20190153410A KR 20210017968 A KR20210017968 A KR 20210017968A
Authority
KR
South Korea
Prior art keywords
data
authentication
user terminal
information
server
Prior art date
Application number
KR1020190153410A
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 KR1020190153410A priority Critical patent/KR20210017968A/en
Publication of KR20210017968A publication Critical patent/KR20210017968A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Disclosed is a data obtaining method through search and combination of data distributed and stored in a blockchain. The method, performed by a computer, comprises the steps of: obtaining a search value stored in the blockchain; obtaining pieces of data distributed and stored in a distributed storage network using the search value; combining the pieces of data; and post-processing the combined data to obtain result data.

Description

블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법 {METHOD FOR OBTAINING DATA THROUGH SEARCHING AND MERGING DISTRIBUTED DATA STORED USING BLOCKCHAIN}Data acquisition method through exploration and combination of data distributed in the blockchain {METHOD FOR OBTAINING DATA THROUGH SEARCHING AND MERGING DISTRIBUTED DATA STORED USING BLOCKCHAIN}

본 발명은 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법에 관한 것이다. The present invention relates to a data acquisition method through search and combination of data distributedly stored in a blockchain.

블록체인 기술이 제시된 이후 관련 기술의 발전은 박차를 가해, 현재 블록체인 기술의 구현은 산업 전반에 걸쳐 높은 수준에서 범용화가 되었으며, 관련기술을 활용한 산업 현장의 변화도 발 빠르게 이루어져 사회 곳곳에서 블록체인을 활용한 개량기술들이 활약하고 있다. 이러한 환경의 변화에 따라, 사회와 시장의 요청 또한 블록체인 기술 자체의 활용여부 또는 복잡성보다는 기술을 활용하여 어떠한 비즈니스 모델을 창출하였는가에 자연스레 무게중심이 이동하게 되었다. Since the introduction of blockchain technology, the development of related technologies has spurred, and the implementation of the current blockchain technology has become generalized at a high level throughout the industry, and the industrial field using related technologies has also rapidly changed, making blocks in various places in society. Improved technologies using chains are active. In accordance with these changes in the environment, the center of gravity naturally shifted to what kind of business model was created using the technology rather than whether or not the blockchain technology itself was utilized or the complexity of the request of the society and the market.

즉, 최근 블록체인 기술은 그 고도성이 충분한 성숙기에 이르러 기술 자체의 복잡성보다는 어떠한 비즈니스 모델을 창출할 것인지, 그 비즈니스 모델로 구축된 생태계 안에서 참여자들이 원활하게 기술을 활용할 수 있도록 하는 거버넌스 문제를 어떻게 해결할 것인지의 2가지 핵심 목적으로 수렴되고 있다고 할 수 있다. In other words, what kind of business model will the recent blockchain technology create rather than the complexity of the technology itself as its high level has reached sufficient maturity, and how to solve the governance problem that enables participants to use the technology smoothly within the ecosystem built with the business model. It can be said that it is converging with two key objectives of whether to solve it.

본원 발명은 이러한 이해와 변화한 시장환경, 사용자 및 사회의 요청에 기반하여 창작되었다. 사용자와 기업이 직접 블록체인 인프라를 구축하지 않더라도 기술의 이점을 활용할 수 있는 비즈니스 모델을 제시하며, 이용자가 신뢰할 수 있는 투명한 거버넌스를 함께 제공한다.The present invention was created based on this understanding and the changed market environment, requests from users and society. It presents a business model that allows users and companies to utilize the benefits of technology even if they do not directly build a blockchain infrastructure, and provides transparent governance that users can trust.

본 발명이 해결하고자 하는 과제는 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법을 제공하는 것이다.The problem to be solved by the present invention is to provide a data acquisition method through search and combination of data distributedly stored in a blockchain.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법은, 블록체인에 저장된 탐색값을 획득하는 단계, 상기 탐색값을 이용하여 분산저장 네트워크에 분산저장된 데이터 조각들을 획득하는 단계, 상기 데이터 조각들을 조합하는 단계 및 조합된 데이터를 후처리하여 결과 데이터를 획득하는 단계를 포함한다.A method of obtaining data through search and combination of data distributedly stored in a block chain according to an aspect of the present invention for solving the above-described problem includes the steps of obtaining a search value stored in a block chain, and distributed storage using the search value. And obtaining data pieces distributedly stored in a network, combining the data pieces, and post-processing the combined data to obtain result data.

또한, 상기 조합된 데이터를 후처리하는 단계는, 상기 조합된 데이터를 복호화하는 단계 및 상기 복호화된 데이터로부터 비식별화 코드를 제거하는 단계를 포함할 수 있다.Further, the post-processing of the combined data may include decoding the combined data and removing a de-identification code from the decoded data.

또한, 사용자 단말로부터 인증요청 데이터를 획득하는 단계, 상기 인증요청 데이터를 해시하는 단계, 상기 해시된 값을 상기 결과 데이터와 비교하는 단계 및 상기 비교 결과에 따라 인증 결과를 획득하는 단계를 더 포함할 수 있다.In addition, the step of obtaining authentication request data from a user terminal, hashing the authentication request data, comparing the hashed value with the result data, and obtaining an authentication result according to the comparison result. I can.

또한, 상기 블록체인에 저장된 탐색값을 획득하는 단계는, 사용자 단말로부터 상기 탐색값이 분할된 조각의 M%를 획득하는 단계, 상기 블록체인으로부터 상기 탐색값이 분할된 조각의 나머지 N%를 획득하는 단계 및 상기 M% 및 상기 N%의 분할된 조각을 조합하여 상기 탐색값을 복원하는 단계를 포함하고, 상기 데이터 조각들을 획득하는 단계는, 상기 복원된 탐색값을 이용하여 상기 분산저장 네트워크에 분산저장된 데이터 조각들을 획득하는 단계를 포함할 수 있다.In addition, the step of obtaining the search value stored in the blockchain may include obtaining M% of the fragment divided by the search value from the user terminal, and obtaining the remaining N% of the fragment divided by the search value from the blockchain. And restoring the search value by combining the divided fragments of the M% and the N%, and obtaining the data fragments comprises: using the restored search value to the distributed storage network It may include the step of obtaining distributedly stored data pieces.

또한, 상기 데이터 조각들을 획득하는 단계는, 상기 복원된 탐색값을 폐기하는 단계를 더 포함할 수 있다.In addition, the step of obtaining the data pieces may further include discarding the restored search value.

또한, 상기 데이터 조각들을 획득하는 단계는, 기 설정된 IPFS 시스템에 상기 탐색값을 전달하는 단계 및 상기 IPFS 시스템으로부터 상기 데이터 조각들을 획득하는 단계를 포함할 수 있다.In addition, the step of obtaining the data pieces may include transmitting the search value to a preset IPFS system and obtaining the data pieces from the IPFS system.

또한, 상기 탐색값은, 상기 IPFS 시스템에 저장된 데이터의 해시 값인 것을 특징으로 할 수 있다.In addition, the search value may be a hash value of data stored in the IPFS system.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 장치는, 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 개시된 실시 예에 따른 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법을 수행한다.An apparatus according to an aspect of the present invention for solving the above-described problem includes a memory for storing one or more instructions, and a processor for executing the one or more instructions stored in the memory, and the processor executes the one or more instructions. By doing so, a data acquisition method through search and combination of data distributedly stored in a block chain according to the disclosed embodiment is performed.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 컴퓨터프로그램은, 하드웨어인 컴퓨터와 결합되어, 개시된 실시 예에 따른 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된다.A computer program according to an aspect of the present invention for solving the above-described problems is combined with a computer that is hardware, so that a method of acquiring data through search and combination of data distributedly stored in a block chain according to the disclosed embodiment can be performed. It is stored in a computer-readable recording medium.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the present invention are included in the detailed description and drawings.

도 1은 일 실시 예에 따른 인증 시스템을 도시한 도면이다.
도 2는 일 실시 예에 따른 멤버 OSP를 포함하는 시스템을 도시한 도면이다.
도 3은 일 실시 예에 따른 EID의 발급 및 이를 활용한 인증방법을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따라 2차인증을 위해 디바이스를 등록하는 방법을 도시한 도면이다.
도 5는 2차인증을 위한 OSP의 사용자 등록방법을 도시한 도면이다.
도 6은 일 실시 예에 따른 2차인증 수행방법을 도시한 도면이다.
도 7은 일 실시 예에 따른 인증수단을 이용하는 사용자에게 보상을 지급하는 방법을 도시한 개념도이다.
도 8은 일 실시 예에 따른 BCE(BaaS Currency Exchange) 및 이를 포함하는 시스템을 도시한 도면이다.
도 9는 일 실시 예에 따른 OSP 및 이를 포함하는 시스템의 동작을 도시한 흐름도이다.
도 10은 일 실시 예에 따른 사용자 단말의 월렛 및 이를 포함하는 시스템의 동작을 도시한 흐름도이다.
도 11은 일 실시 예에 따른 BCE의 계정관리 방법을 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 사용자의 월렛을 도시한 개념도이다.
도 13은 월렛의 신분증 기능을 제공하는 화면의 일 예를 도시한 도면이다.
도 14는 월렛의 전자지갑 기능을 제공하는 화면의 일 예를 도시한 도면이다.
도 15는 월렛의 드라이브 기능을 제공하는 화면의 일 예를 도시한 도면이다.
도 16은 일 실시 예에 따른 데이터 분산저장 및 조합방법을 도시한 도면이다.
도 17은 일 실시 예에 따른 데이터의 전처리 및 후처리 방법을 설명하기 위한 도면이다.
도 18은 일 실시 예에 따른 분산저장 및 조합을 통한 인증시스템을 도시한 도면이다.
도 19는 일 실시 예에 따른 비식별화 방법을 도시한 도면이다.
도 20은 일 실시 예에 따른 연결자에 기반한 데이터 분산저장 및 조합방법을 도시한 도면이다.
도 21은 일 실시 예에 따라 사용자 단말을 포함하는 데이터의 분산저장 시스템을 도시한 도면이다.
도 22는 일 실시 예에 따른 사용자 단말을 포함하는 분산저장 시스템에서 조합을 통해 데이터를 획득하는 방법을 도시한 도면이다.
도 23은 일 실시 예에 따른 일회성 인증방법을 도시한 도면이다.
도 24는 개시된 실시 예에 따른 시스템을 이용하여 인증정보 또는 파일을 분산저장 및 조합하여 이용하는 방법을 도시한 흐름도이다.
도 25는 일 실시 예에 따른 컴퓨팅 파워 제공 및 이에 대한 보상방법을 도시한 도면이다.
도 26은 일 실시 예에 따른 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법을 도시한 흐름도이다.
도 27은 일 실시 예에 따른 장치를 도시한 도면이다.
1 is a diagram illustrating an authentication system according to an embodiment.
2 is a diagram illustrating a system including a member OSP according to an embodiment.
3 is a diagram illustrating issuance of an EID and an authentication method using the EID according to an embodiment.
4 is a diagram illustrating a method of registering a device for secondary authentication according to an embodiment.
5 is a diagram showing a user registration method of an OSP for secondary authentication.
6 is a diagram illustrating a method of performing secondary authentication according to an embodiment.
7 is a conceptual diagram illustrating a method of paying a reward to a user who uses an authentication means according to an exemplary embodiment.
8 is a diagram illustrating a BaaS Currency Exchange (BCE) and a system including the same according to an embodiment.
9 is a flowchart illustrating an operation of an OSP and a system including the OSP according to an exemplary embodiment.
10 is a flowchart illustrating an operation of a wallet of a user terminal and a system including the same according to an exemplary embodiment.
11 is a diagram for explaining an account management method of a BCE according to an embodiment.
12 is a conceptual diagram illustrating a user's wallet according to an embodiment.
13 is a diagram illustrating an example of a screen providing an ID card function of a wallet.
14 is a diagram illustrating an example of a screen providing an electronic wallet function of a wallet.
15 is a diagram illustrating an example of a screen providing a drive function of a wallet.
16 is a diagram illustrating a method of distributed storage and combination of data according to an embodiment.
17 is a diagram illustrating a method of pre-processing and post-processing data according to an exemplary embodiment.
18 is a diagram illustrating an authentication system through distributed storage and combination according to an embodiment.
19 is a diagram illustrating a de-identification method according to an embodiment.
20 is a diagram illustrating a method of distributing and combining data based on a connector according to an embodiment.
21 is a diagram illustrating a data distribution storage system including a user terminal according to an embodiment.
22 is a diagram illustrating a method of acquiring data through combination in a distributed storage system including a user terminal according to an embodiment.
23 is a diagram illustrating a one-time authentication method according to an embodiment.
24 is a flowchart illustrating a method of distributedly storing and combining authentication information or files using the system according to the disclosed embodiment.
25 is a diagram illustrating a method of providing computing power and compensating for it according to an exemplary embodiment.
26 is a flowchart illustrating a method of acquiring data through searching and combining data distributedly stored in a block chain according to an embodiment.
27 is a diagram illustrating a device according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, only the present embodiments are intended to complete the disclosure of the present invention, It is provided to fully inform the technician of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification, “comprises” and/or “comprising” do not exclude the presence or addition of one or more other elements other than the mentioned elements. Throughout the specification, the same reference numerals refer to the same elements, and “and/or” includes each and all combinations of one or more of the mentioned elements. Although "first", "second", and the like are used to describe various elements, it goes without saying that these elements are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "unit" or "module" used in the specification refers to a hardware component such as software, FPGA or ASIC, and the "unit" or "module" performs certain roles. However, "unit" or "module" is not meant to be limited to software or hardware. The “unit” or “module” may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Thus, as an example, "sub" or "module" refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, It includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. Components and functions provided within "sub" or "module" may be combined into a smaller number of components and "sub" or "modules" or into additional components and "sub" or "modules". Can be further separated.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In the present specification, a computer refers to all kinds of hardware devices including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to embodiments. For example, the computer may be understood as including all of a smartphone, a tablet PC, a desktop, a laptop, and a user client and an application running on each device, but is not limited thereto.

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

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each of the steps described herein is described as being performed by a computer, but the subject of each step is not limited thereto, and at least some of the steps may be performed by different devices according to embodiments.

개시되는 기술의 상세한 내용을 기술하기에 앞서, 사용되는 용어들의 정의와 배경 및 기술의 목적을 선행하여 서술한다. Before describing the details of the disclosed technology, definitions and backgrounds of terms used, and the purpose of the technology will be described in advance.

BaaS는 Blockchain as a Service의 약어로서, 블록체인 기술로 갖춰진 인프라를 일반에 제공하여, 개인이나 기업이 블록체인 기술의 이점을 손쉽게 이용할 수 있도록 하는 기술을 지칭하기 위해 제시된 개념어이다. BaaS is an abbreviation of Blockchain as a Service, and is a concept term proposed to refer to a technology that provides an infrastructure equipped with blockchain technology to the general so that individuals or companies can easily use the benefits of blockchain technology.

본 명세서에서, BaaSid는 개시된 실시 예에 따른 서비스 및 시스템을 제공하는 주체를 나타내는 의미로도 이해될 수 있다. 예를 들어, 본 명세서에서 개시된 실시 예에 따른 서비스 및 시스템을 제공, 운영 및 관리하는 서버를 BaaSid 서버라고 칭할 수 있으며, 개시된 실시 예에서 이용되는 블록체인을 BaaS 체인이라고 칭할 수도 있다. 또한, 개시된 실시 예에 따른 블록체인 시스템에서 이용 및 제공되는 암호화폐를 BAAS 코인이라고 칭할 수 있다.In this specification, BaaSid may also be understood as a meaning representing a subject providing services and systems according to the disclosed embodiment. For example, a server that provides, operates, and manages services and systems according to an embodiment disclosed in the present specification may be referred to as a BaaSid server, and a block chain used in the disclosed embodiment may be referred to as a BaaS chain. In addition, the cryptocurrency used and provided in the blockchain system according to the disclosed embodiment may be referred to as BAAS coin.

본 발명은 이와 조합되어 하나의 블록체인 기술 생태계를 이루는 집단적 기술의 일부를 구성한다. 상술한 블록체인 기술 생태계를 통해 구현하고자 하는 모습의 개괄은 다음과 같다. The present invention is combined with this to form part of a collective technology that forms a single blockchain technology ecosystem. The outline of the aspect to be implemented through the above-described blockchain technology ecosystem is as follows.

사용자는 개인정보에 기반하여 상술한 블록체인 생태계에서 널리 사용할 수 있는 계정정보를 생성할 수 있다. 이렇게 생성한 개인정보를 토대로, 사용자는 BaaS 생태계와 연결된 다른 OSP(Online Service Provider)에서도 별도의 회원가입 등의 절차 없이 인증된 사용자로서 서비스를 이용할 수 있다. Users can create account information that can be widely used in the above-described blockchain ecosystem based on personal information. Based on the personal information created in this way, the user can use the service as an authenticated user in other OSPs (Online Service Providers) connected to the BaaS ecosystem without a separate membership registration process.

상술한 개인정보 및 계정정보 등은 암호화된 이후 임의적으로 분산되어 블록체인 상에 저장된다. 이러한 임의적인 분산을 전제로 사용자의 정보는 원본이 존재하지 않는 상태에서 필요시에만 일시적으로 재조합되어 사용되며, 재조합 또한 사용자의 생체정보 또는 소유기반 인증도구에 의하므로 사용자 외에는 원본의 열람 또는 접근 등이 불가능한 구조를 구현하였다. The personal information and account information described above are randomly distributed after being encrypted and stored on the blockchain. Under the premise of such random distribution, user information is temporarily recombined and used only when necessary in the absence of the original, and recombination is also based on the user's biometric information or possession-based authentication tool, so other than the user can view or access the original. This impossible structure was implemented.

이처럼 고도한 안정성에 기반하여, 사용자는 시스템 상에서 월렛을 개설하고 재산정보를 관리할 수 있다. 이를 통하여 다른 OSP들이 제공하는 서비스 또는 재화를 구매할 수 있으며, 각종 암호화폐 거래 및 실물 화폐와 교환할 수 있다. Based on this high level of stability, users can open wallets and manage property information on the system. Through this, services or goods provided by other OSPs can be purchased, and various cryptocurrency transactions and real money can be exchanged.

또한 사용자는 상술한 분산저장 및 제한적 재조합의 기술을 이용하여 각종의 디지털 정보를 분산 저장할 수 있다. 이렇게 분산 저장된 정보는, 보편화된 클라우드 서비스와는 달리, 본인이 인증하여 재조합 하지 않으면 서비스 제공자라고 하더라도 정보에 접근, 열람, 수정, 저장, 배포, 삭제 등의 동작을 수행할 수 없다. 이는 상술한 바와 마찬가지로, 본인이 아니면 원본 데이터에 접근 자체가 불가능하기 때문이다. In addition, a user can distribute and store various types of digital information by using the above-described distributed storage and limited recombination techniques. Unlike generalized cloud services, such distributedly stored information cannot be accessed, viewed, modified, stored, distributed, or deleted even by a service provider unless the user authenticates and reassembles the information. This is because, as described above, it is impossible to access the original data without the user.

극단적으로는 BaaSid 시스템을 제공하는 모든 서버가 탈취된다고 하더라도, 블록체인 상에 분산 저장된 정보는 마치 순서가 망실된 상태로 한 글자씩 파쇄된 책의 종이뭉치와 같은 상태이므로, 사용자의 인증없이는 분산된 데이터를 제대로 된 순서와 방법으로 조합할 수 없다. In the extreme, even if all the servers that provide the BaaSid system are stolen, the information distributed on the blockchain is like a roll of paper shredded letter by letter in a lost order, so it is distributed without user authentication. You cannot assemble the data in the right order and method.

이처럼 사용자는 자신의 재정을 비롯한 각종 정보에 관해 극히 고도한 안정성을 담보할 수 있으며, 지문과 같은 자신의 생체정보와 스마트폰과 같은 소유기반 인증도구에 의한 손쉬운 인증과정에 기반하여 편의성을 동시에 확보할 수 있다.In this way, users can guarantee extremely high stability with respect to various information including their own finances, and at the same time secure convenience based on their own biometric information such as fingerprints and an easy authentication process using proprietary authentication tools such as smartphones. can do.

도 1은 일 실시 예에 따른 인증 시스템을 도시한 도면이다.1 is a diagram illustrating an authentication system according to an embodiment.

도 1을 참조하면, 사용자 단말(300), OSP(Online Service Provider, 200) 및 인증서버(100)가 도시되어 있다.Referring to FIG. 1, a user terminal 300, an online service provider (OSP) 200, and an authentication server 100 are shown.

개시된 실시 예에서, 사용자 단말(300)은 상술한 컴퓨터의 일종일 수 있으며, 예를 들어 사용자가 이용하는 퍼스널 컴퓨터 혹은 스마트폰일 수 있으나, 이에 제한되는 것은 아니다.In the disclosed embodiment, the user terminal 300 may be a kind of the above-described computer, for example, a personal computer or a smart phone used by the user, but is not limited thereto.

개시된 실시 예에서, OSP(200)는 온라인을 통해 특정한 서비스 및 플랫폼을 제공하는 제공자를 의미할 수 있으며, 제공되는 서비스 및 플랫폼의 종류는 제한되지 않는다. 예를 들어, OSP(200)는 포털, 금융, 학습, 쇼핑 등의 서비스를 온라인을 통해 제공하는 주체 및 이에 기반하여 제공되는 서비스 및 플랫폼을 의미할 수 있으나, 이에 제한되는 것은 아니다.In the disclosed embodiment, the OSP 200 may refer to a provider that provides a specific service and platform through online, and types of the provided service and platform are not limited. For example, the OSP 200 may refer to a subject providing services such as portal, finance, learning, and shopping through online, and services and platforms provided based thereon, but is not limited thereto.

또한, BSP(Blockchain Service Provider)는 블록체인에 기반한 서비스를 제공하는 공급자를 의미할 수 있으며, 이하에서 설명되는 OSP(200)와 관련된 동작 및 단계들은 BSP에 의하여서도 수행될 수 있다.In addition, BSP (Blockchain Service Provider) may mean a provider that provides a service based on a block chain, and operations and steps related to the OSP 200 described below may also be performed by the BSP.

개시된 실시 예에서, 인증서버(100)는 블록체인에 기반하여 인증을 수행하는 개시된 실시 예에 따른 방법을 수행하는 서버를 의미할 수 있다. 서버는 상술한 컴퓨터의 일종일 수 있으나 이에 제한되는 것은 아니며, 클라우드 형태의 서버를 의미할 수도 있다.In the disclosed embodiment, the authentication server 100 may mean a server that performs a method according to the disclosed embodiment that performs authentication based on a block chain. The server may be a kind of computer described above, but is not limited thereto, and may mean a cloud-type server.

일 실시 예에서, 사용자 단말(300)은 인증서버(100)를 통해 EID(Electrical ID: 전자 식별자)를 발급받을 수 있다. In an embodiment, the user terminal 300 may receive an EID (Electrical ID: Electronic Identifier) through the authentication server 100.

개시된 실시 예에서, EID는 인증서버(100)와 제휴된 사이트 및 기타 일반 사이트에 별도의 회원가입 없이 로그인할 수 있도록 하는 일종의 온라인 신분증을 의미할 수 있다.In the disclosed embodiment, the EID may mean a kind of online identification card that allows users to log in to a site affiliated with the authentication server 100 and other general sites without a separate membership registration.

사용자 단말(300)은 발급받은 EID를 서로 다른 OSP(200)에서 인증 수단으로 활용할 수 있다.The user terminal 300 may use the issued EID as an authentication means in different OSPs 200.

OSP(200)는 사용자 단말(300)로부터 EID에 기반한 인증 요청을 획득하는 경우, 이를 인증서버(100)에 전달하여 인증을 요청한다. 인증서버(100)에서 인증이 완료되고 인증서버(100)로부터 인증에 대한 정보가 획득되는 경우, OSP(200)는 인증서버(100)의 인증 결과를 신뢰하여 사용자에 대한 인증이 완료된 것으로 판단할 수 있다.When the OSP 200 obtains an EID-based authentication request from the user terminal 300, the OSP 200 transmits the request to the authentication server 100 to request authentication. When authentication is completed in the authentication server 100 and information about authentication is obtained from the authentication server 100, the OSP 200 trusts the authentication result of the authentication server 100 to determine that authentication for the user is completed. I can.

예를 들어, 사용자 단말(300)은 OSP(200)의 서비스를 이용하기 위한 로그인을 요청하면서, 로그인 수단으로서 EID에 기반한 인증을 사용할 수 있다. OSP(200)는 인증서버(100)를 통해 사용자 단말(300)에 대한 인증이 완료되는 경우, 사용자 단말(300)의 로그인 요청을 승낙할 수 있다.For example, the user terminal 300 may request a login to use the service of the OSP 200 and use EID-based authentication as a login means. When the authentication for the user terminal 300 is completed through the authentication server 100, the OSP 200 may approve the login request of the user terminal 300.

실시 예에 따라서, 사용자 단말(300)은 OSP(200)에서 제공되는 서비스를 이용하기 위해 OSP용 계정을 생성(즉, OSP에 회원가입)하고, 해당 계정에 대한 로그인 수단으로서 EID에 기반한 인증을 선택한 것일 수 있다.Depending on the embodiment, the user terminal 300 creates an OSP account to use the service provided by the OSP 200 (i.e., registers as a member of the OSP), and performs EID-based authentication as a login method for the account. It may be your choice.

이 경우, 사용자 단말(300)이 OSP(200)에 회원가입한 정보에 기반하여 1차적으로 로그인을 수행하고, 이후 EID에 기반한 2차 인증을 통해 OSP(200)에 가입된 사용자 단말(300)의 계정의 보안을 강화하는 수단으로도 EID에 기반한 인증이 활용될 수 있다. 이에 대한 구체적인 내용에 대해서는 후술한다.In this case, the user terminal 300 first performs a login based on the information on which the user subscribes to the OSP 200, and then the user terminal 300 subscribed to the OSP 200 through secondary authentication based on the EID. EID-based authentication can also be used as a means to strengthen the security of the user's account. Details of this will be described later.

다른 실시 예에서, 사용자 단말(300)은 OSP(200)에 대한 별도의 회원가입을 하지 않을 수 있고, 대신 EID에 기반한 인증을 통해 OSP(200)에 최초로 로그인할 때, OSP(200)는 사용자 단말(300)에 대응하는 계정을 생성하고, 생성된 계정을 사용자 단말(300)에 할당할 수 있다. 이후 사용자 단말(300)이 EID에 기반한 인증을 통해 로그인하는 경우, OSP(200)는 기 할당된 사용자 단말(300)의 계정을 획득하고, 이에 기반하여 서비스를 제공할 수 있다.In another embodiment, the user terminal 300 may not register as a separate member for the OSP 200, and instead, when first logging in to the OSP 200 through EID-based authentication, the OSP 200 An account corresponding to the terminal 300 may be created, and the created account may be assigned to the user terminal 300. Thereafter, when the user terminal 300 logs in through EID-based authentication, the OSP 200 acquires an account of the user terminal 300 that is previously allocated, and may provide a service based thereon.

도 2는 일 실시 예에 따른 멤버 OSP를 포함하는 시스템을 도시한 도면이다.2 is a diagram illustrating a system including a member OSP according to an embodiment.

일 실시 예에서, OSP(200)는 인증서버를 통해 EID(Electrical ID: 전자 식별자)를 발급받을 수 있다. In an embodiment, the OSP 200 may receive an EID (Electrical ID: Electronic Identifier) through an authentication server.

개시된 실시 예에서, EID를 발급받은 OSP를 멤버 OSP(210)라고 칭할 수 있다.In the disclosed embodiment, the OSP to which the EID has been issued may be referred to as the member OSP 210.

멤버 OSP(210)는 발급받은 EID를 이용하여 자체 EID를 발급할 수 있으며, 이는 발급받은 자신의 EID를 이용하여 서브 EID를 생성하는 것이다. 이 경우 EID를 사용할 수 있는 곳이 제한적일 수 있으며, 예를 들어 특정 OSP에서 발급된 EID는 해당 OSP에서만 인증에 사용할 수 있도록 구성될 수 있다.The member OSP 210 can issue its own EID using the issued EID, which generates a sub-EID using its issued EID. In this case, the places where EID can be used may be limited, and for example, an EID issued by a specific OSP may be configured so that only the corresponding OSP can use it for authentication.

일 실시 예에서, 멤버 OSP(210)는 서브 EID를 발급할 수는 있지만, 이를 검증할 수는 없도록 구성될 수 있다. 이 경우, 멤버 OSP(210)는 서브 EID를 발급하되, 이에 대한 검증은 인증서버(100)에 요청하여야 할 수 있다. 다른 실시 예에서, 멤버 OSP(210)는 서브 EID에 대한 발급 및 검증을 모두 수행할 수 있도록 구성될 수도 있다.In an embodiment, the member OSP 210 may be configured to issue a sub-EID, but not verify it. In this case, the member OSP 210 issues a sub-EID, but may have to request the authentication server 100 to verify this. In another embodiment, the member OSP 210 may be configured to perform both issuance and verification of the sub-EID.

도 3은 일 실시 예에 따른 EID의 발급 및 이를 활용한 인증방법을 설명하기 위한 도면이다.3 is a diagram illustrating issuance of an EID and an authentication method using the EID according to an embodiment.

도 3을 참조하면, 비회원 단말(330), OSP 회원 단말(320) 및 BaaSid 회원 단말(310)이 도시되어 있다.Referring to FIG. 3, a non-member terminal 330, an OSP member terminal 320, and a BaaSid member terminal 310 are illustrated.

비회원 단말(330)은 어디에서도 가입되거나 EID를 발급받은 적이 없는 비회원의 단말을 의미한다. The non-member terminal 330 refers to a terminal of a non-member who has never been subscribed or issued an EID anywhere.

OSP 회원 단말(320)은 OSP에 가입된 회원의 단말을 의미하며, 회원 가입 방식은 제한되지 않는다. 예를 들어, OSP의 회원은 ID 및 비밀번호에 기반하여 OSP에 가입하였을 수도 있고, 상술한 바와 같이 OSP의 EID를 이용하여 서브 EID를 발급받는 형태로 가입하였을 수도 있다.The OSP member terminal 320 refers to a terminal of a member who has subscribed to the OSP, and the membership subscription method is not limited. For example, an OSP member may have subscribed to the OSP based on an ID and password, or may have subscribed in the form of receiving a sub-EID using the OSP's EID as described above.

BaaSid 회원 단말(310)은 개시된 실시 예에 따라 BaaSid 인증 서버(100)로부터 EID를 발급받은 회원을 의미할 수 있다.The BaaSid member terminal 310 may mean a member who has been issued an EID from the BaaSid authentication server 100 according to the disclosed embodiment.

개시된 실시 예에서, BaaSid 인증 서버(100)로부터 EID를 발급받은 BaaSid 회원 단말(310)은 EID를 이용하여 서로 다른 OSP(200)에 별도의 회원가입 없이 로그인할 수 있다. 즉, 개시된 실시 예에서 BaaSid 인증 서버(100)로부터 발급받은 EID는 모든 웹 서비스에서 회원가입 없이 사용할 수 있는 온라인 통합 신분증으로서 기능할 수 있다.In the disclosed embodiment, the BaaSid member terminal 310, which has received an EID from the BaaSid authentication server 100, can log in to different OSPs 200 using the EID without separate membership registration. That is, in the disclosed embodiment, the EID issued from the BaaSid authentication server 100 may function as an online integrated identification card that can be used without registering as a member in all web services.

또한, OSP 회원 단말(320)은 OSP(200)에 로그인시 OSP(200)로부터 발급받은 EID를 제시하거나, BaaSid 인증 서버(100)로부터 발급받은 EID를 제시함으로써 OSP(200)에 로그인할 수 있다. 실시 예에 따라, BaaSid 인증 서버(100)로부터 발급받은 EID는 OSP 로그인을 위한 2차인증 수단으로도 활용될 수 있다.In addition, the OSP member terminal 320 may log in to the OSP 200 by presenting the EID issued from the OSP 200 when logging in to the OSP 200 or by presenting the EID issued from the BaaSid authentication server 100. . According to an embodiment, the EID issued from the BaaSid authentication server 100 may be used as a secondary authentication means for OSP login.

또한, 비회원 단말(310)은 BaaSid 인증서버(100)로부터 EID를 발급받거나, OSP(200)에 회원가입을 한 후 OSP(200)에 로그인할 수 있다. In addition, the non-member terminal 310 may receive an EID from the BaaSid authentication server 100 or log in to the OSP 200 after signing up as a member of the OSP 200.

일 실시 예에서, BaaSid 인증 서버(100)는 EID를 발급받고자 하는 주체로부터 EID 발급을 위한 정보를 획득하고, 획득된 정보를 검증한 후 획득된 정보에 기반하여 EID를 생성 및 발급할 수 있다.In an embodiment, the BaaSid authentication server 100 may obtain information for issuing EID from a subject who wishes to obtain an EID, verify the obtained information, and then generate and issue an EID based on the obtained information.

예를 들어, BaaSid 인증 서버(100)는 획득된 정보를 검증하여 EID 생성 여부를 결정하고, 결정 여부에 따라 생성 및 생성 거부를 결정할 수 있다. 생성 거부 메시지 또는 생성된 EID는 EID 발급을 신청한 사용자, OSP 또는 BSP에게 전달된다.For example, the BaaSid authentication server 100 may determine whether to generate an EID by verifying the obtained information, and determine whether to generate or reject the generation according to the determination. The creation rejection message or the generated EID is delivered to the user, OSP, or BSP who applied for issuance of the EID.

예를 들어, 사용자가 EID를 발급받고자 하는 경우, BaaSid 인증 서버(100)는 사용자의 개인식별정보(예를 들어, 이름, 전화번호, 주민등록번호, 생년월일 등의 개인정보, 민감정보, 생체정보 등)를 이용하여 EID를 생성할 수 있으며, 그 구체적인 방법은 제한되지 않는다. 예를 들어, EID는 문자와 숫자를 포함하는 특정 길이의 문자열일 수 있으나, 이에 제한되는 것은 아니다.For example, when a user wants to obtain an EID, the BaaSid authentication server 100 provides the user's personal identification information (for example, personal information such as name, phone number, social security number, date of birth, sensitive information, biometric information, etc.) EID can be generated by using, and the specific method is not limited. For example, the EID may be a character string of a specific length including letters and numbers, but is not limited thereto.

일 실시 예에서, EID는 다른 사용자와 겹치지 않도록 유일하게 생성되어야 하며, 이를 위하여 사용자의 개인정보에 기반하여 생성되는 고유값이 특정 위치에 삽입될 수 있다. In one embodiment, the EID must be uniquely generated so as not to overlap with other users, and for this purpose, a unique value generated based on the user's personal information may be inserted at a specific location.

실시 예에 따라서, BaaSid 인증 서버(100)는 사용자 단말의 디바이스 정보를 획득하고, 사용자의 개인정보와 사용자 단말의 디바이스 정보를 함께 이용하여 EID를 생성할 수도 있다. 이 경우, 사용자 단말이 변경되는 경우 EID가 재생성되어야 할 수 있으나, 이에 제한되는 것은 아니다.According to an embodiment, the BaaSid authentication server 100 may obtain device information of a user terminal and generate an EID by using the user's personal information and the device information of the user terminal together. In this case, when the user terminal is changed, the EID may need to be regenerated, but is not limited thereto.

이외에도 다양한 정보들이 사용자의 EID를 생성하는 데 활용될 수 있다. In addition, various information can be used to generate the user's EID.

EID의 생성방법에 대한 구체적인 내용에 대해서는 후술한다.Details of the EID generation method will be described later.

일 실시 예에서, 인증 서버(100)는 사용자의 계정(Account) 생성 및 EID 생성을 위하여 인증절차를 진행할 수 있다.In an embodiment, the authentication server 100 may perform an authentication procedure to generate an account and an EID of a user.

인증절차는 복수의 단계를 포함할 수 있으며, 그 구체적인 구성은 제한되지 않는다. 예를 들어, 인증절차는 1단계 이메일 인증, 2단계 SMS 인증, 3단계 거주지 인증, 4단계 KYC(Know Your Customer) 인증, 5단계 계좌정보 인증을 포함할 수 있다. 일 실시 예에서, 1단계 이메일 인증이 완료되는 경우 인증서버(100)는 사용자의 계정(Account)을 생성하여 발급하며, 4단계 이상의 인증이 완료되는 경우 인증서버는 EID를 발급할 수 있다.The authentication procedure may include a plurality of steps, and the specific configuration is not limited. For example, the authentication procedure may include step 1 email authentication, step 2 SMS authentication, step 3 residence authentication, step 4 KYC (Know Your Customer) authentication, and step 5 account information authentication. In an embodiment, when the first-step email authentication is completed, the authentication server 100 generates and issues a user's account, and when four or more steps of authentication are completed, the authentication server may issue an EID.

또한, BaaSid 인증 서버(100)로부터 EID를 발급받은 멤버 OSP(210)에 의하여 사용자의 서브 EID가 생성되는 경우, OSP(210)는 자신의 EID를 함께 이용하여 사용자의 서브 EID를 생성할 수 있다.In addition, when the user's sub-EID is generated by the member OSP 210, which has been issued an EID from the BaaSid authentication server 100, the OSP 210 can generate the user's sub-EID by using its EID together. .

멤버를 통하여 발급된 서브 EID는 BaaSid 인증 서버(100)를 통하여 발급받은 EID와 형식(예를 들어, 길이나 문자의 배치 등)이 상이할 수 있으며, 예를 들어 서브 EID를 발급한 멤버의 EID 정보가 기록되는 영역이 서브 EID에 포함될 수 있다.The sub-EID issued through the member may be different from the EID issued through the BaaSid authentication server 100 (for example, the length or the arrangement of characters). For example, the EID of the member who issued the sub EID An area in which information is recorded may be included in the sub EID.

이를 통해, 인증단계에서 서브 EID는 EID를 발급한 멤버의 EID 정보와 일치하는 EID를 보유한 멤버 OSP에서만 활용되도록 인증단계가 구성될 수 있다.Through this, the authentication step can be configured so that the sub-EID in the authentication step is used only by a member OSP having an EID that matches the EID information of the member who issued the EID.

사용자는 발급받은 EID를 사용자 단말에 보관하며, 사용자 단말에는 EID 보관을 위한 전자 월렛(Wallet)이 설치될 수 있다. 개시된 실시 예에 따른 월렛은 이외에도 다양한 정보를 저장할 수 있을 뿐 아니라, 다양한 기능들을 수행할 수 있다. 개시된 실시 예에 따른 월렛에 대해서는 후술한다.The user stores the issued EID in the user terminal, and an electronic wallet for storing the EID may be installed in the user terminal. The wallet according to the disclosed embodiment may not only store various information but also perform various functions. A wallet according to the disclosed embodiment will be described later.

다른 예로, OSP(200)와 같은 서비스 제공자가 EID를 발급받고자 하는 경우, BaaSid 인증 서버(100)는 OSP(200)에 대한 정보를 OSP로부터 획득한다.As another example, when a service provider such as the OSP 200 wants to obtain an EID, the BaaSid authentication server 100 obtains information on the OSP 200 from the OSP.

BaaSid 인증 서버(100)는 획득된 OSP 정보를 검증하여 EID 생성 여부를 결정하고, EID 생성이 결정되는 경우 생성된 EID를 OSP(200)에게 전달한다. The BaaSid authentication server 100 verifies the acquired OSP information to determine whether to generate an EID, and when the EID generation is determined, transmits the generated EID to the OSP 200.

OSP(200)는 BaaSid 인증 서버(100)로부터 발급된 EID를 서버 또는 보안토큰 등의 장비에 저장할 수 있으나, 이에 제한되는 것은 아니다.The OSP 200 may store the EID issued from the BaaSid authentication server 100 in equipment such as a server or a security token, but is not limited thereto.

이하에서는, 개시된 실시 예에 따른 EID의 구조 및 그 생성방법에 대하여 구체적으로 서술한다.Hereinafter, the structure of the EID and a method of generating the EID according to the disclosed embodiment will be described in detail.

EID는 두 개의 블록체인에 의하여 관리되며, 이는 EID의 발급 정보 관리를 위한 블록체인과, 폐기 관리를 위한 블록체인으로 구성된다.EID is managed by two blockchains, consisting of a blockchain for managing EID issuance information and a blockchain for disposal management.

일 실시 예에서, EID 발급 관리를 위한 블록체인은 프라이빗(Private) 블록체인 또는 컨소시엄(Consortium)블록체인 형태로 구성되며, EID 폐기 관리를 위한 블록체인은 퍼블릭(Public), 프라이빗 또는 컨소시엄 형태로 구성될 수 있다.In one embodiment, the blockchain for EID issuance management is configured in the form of a private blockchain or a consortium blockchain, and the blockchain for EID disposal management is configured in a public, private, or consortium form. Can be.

EID 발급에는 DPoS(Delegated Proof of Stake) 방식이 사용될 수 있다. 발급된 EID는 블록체인에 분산저장 형태로 배포된다.DPoS (Delegated Proof of Stake) can be used for EID issuance. The issued EID is distributed in the form of distributed storage on the blockchain.

EID 생성을 위해서는 이메일 인증과 SMS 인증 및 KYC 인증이 수행된다. EID 발급을 위해 사용된 모든 정보는 프라이빗 혹은 컨소시엄 블록체인에 비식별화, 암호화 및 분할되어 불특정 다수의 노드에 분산 저장된다.Email authentication, SMS authentication, and KYC authentication are performed to generate EID. All information used for EID issuance is de-identified, encrypted, and partitioned on a private or consortium blockchain and stored distributed in a number of unspecified nodes.

일 실시 예에서, 인증 서버(100)는 EID 생성을 위한 시리얼 넘버 생성 및 관리를 통해 중복된 시리얼 넘버가 생성되지 않도록 할 수 있다. 이에 따라, 인증 서버는 EID에 포함된 시리얼 넘버만으로도 EID에 대한 유효성을 검증할 수 있다.In an embodiment, the authentication server 100 may prevent duplicate serial numbers from being generated by generating and managing serial numbers for EID generation. Accordingly, the authentication server can verify the validity of the EID only with the serial number included in the EID.

인증 서버(100)는 사용자 단말(300)의 월렛에서 생성된 공개키를 블록체인에 등록하고, SPLIT 엔진을 이용하여 사용자 정보를 블록체인에 분리 및 분산 저장할 수 있다. 사용자로부터 EID 제공을 요청받는 경우, 인증 서버는 SPLIT 엔진을 이용하여 OTP 값을 생성하고, 생성된 OTP값과 EID를 조합하여 사용자 단말에 EID를 제공할 수 있다.The authentication server 100 may register the public key generated in the wallet of the user terminal 300 in the blockchain, and use the SPLIT engine to separate and distribute user information in the blockchain. When a user requests to provide an EID, the authentication server may generate an OTP value using the SPLIT engine, and provide the EID to the user terminal by combining the generated OTP value and the EID.

EID의 제공형태는 제한되지 않으나, 예를 들어 QR 코드 이미지 또는 스트링 형태의 EID 값으로 제공될 수 있다. EID 제공에 OTP 값을 이용하는 것은 이미지 캡쳐 혹은 값 탈취를 통한 위조, 위임으로 인해 발생될 수 있는 위험을 제거하기 위함이다. OTP값 외에도 임의의 랜덤넘버가 EID와 조합될 수 있다.The form of providing the EID is not limited, but may be provided as an EID value in the form of a QR code image or string, for example. The use of OTP values for EID provision is to eliminate the risk that may occur due to forgery or delegation through image capture or value stealing. In addition to the OTP value, any random number may be combined with the EID.

사용자 공개키의 등록을 위하여, 인증 서버(100)는 챌린지 값을 생성하여 사용자 단말(300)의 월렛에 전달할 수 있다. 사용자 단말(300)은 월렛에 저장된 개인키를 이용하여 챌린지 값을 전자서명(암호화)하여 인증 서버에 전달할 수 있다. 인증 서버(100)는 사용자 단말(300)로부터 전달받은 전자서명값(암호화된 챌린지값)을 공개키로 복호화하여 인증 서버(100)에서 생성한 챌린지 값과 비교하고, 일치하는 경우 공개키를 등록할 수 있다. 일치하지 않는 경우, 인증서버(100)는 사용자의 공개키를 등록하지 않는다.In order to register the user public key, the authentication server 100 may generate a challenge value and transmit it to the wallet of the user terminal 300. The user terminal 300 may digitally sign (encrypt) the challenge value using the private key stored in the wallet and transmit it to the authentication server. The authentication server 100 decrypts the digital signature value (encrypted challenge value) received from the user terminal 300 with a public key, compares it with the challenge value generated by the authentication server 100, and registers the public key if it matches. I can. If they do not match, the authentication server 100 does not register the user's public key.

일 실시 예에서, 사용자 단말(300)의 월렛은 BIP39 알고리즘을 이용하여 사용자의 키 쌍을 생성한다. 생성된 키 쌍 중 공개키는 인증 서버(100)를 통해 블록체인에 등록된다. 공개키 등록을 위하여 사용자 단말(300)은 월렛을 이용하여 인증 서버(100)로부터 전달된 챌린지 값을 개인키로 암호화하여 공개키와 함께 인증 서버(100)에 전송하며, 이에 따른 공개키 등록방법은 상술한 바와 같다.In one embodiment, the wallet of the user terminal 300 generates a user's key pair using the BIP39 algorithm. Among the generated key pairs, the public key is registered in the blockchain through the authentication server 100. For public key registration, the user terminal 300 encrypts the challenge value transmitted from the authentication server 100 using a wallet with a private key and transmits it to the authentication server 100 together with the public key. As described above.

일 실시 예에서, EID는 아래와 같은 구성요소들을 포함하는 구조로 구성된다.In one embodiment, the EID has a structure including the following components.

- 시리얼 넘버(Serial No) : 발급 기관의 식별번호 및 일련번호의 조합으로 구성된다. 예를 들어, 시리얼 넘버는 34byte(long serial)를 포함하며, 이는 전세계 인구수 약 77억 8천만명(현 시점 기준)을 기준으로 중복되지 않은 숫자를 발급하기 위하여 필요한 자릿수를 의미할 수 있다. 또한, 시리얼 넘버는 12byte(int issue_auth)를 포함하며, 이는 고유한 발급기관 코드 부여를 위하여 필요한 자릿수와 전자서명 값을 포함할 수 있다.-Serial No: It consists of a combination of the issuing agency's identification number and serial number. For example, the serial number includes 34 bytes (long serial), which may mean the number of digits required to issue a non-overlapping number based on about 7.78 billion people worldwide (as of the present time). In addition, the serial number includes 12 bytes (int issue_auth), which may include the number of digits required to assign a unique personalization agent code and a digital signature value.

- EID 식별자(EID identity) : 개시된 실시 예에 따른 서비스 및 그 인증서버를 통하여 제공되는 통합 아이디로서, 이는 16진수 64byte로 구성되는 온라인 통합 아이디일 수 있으나, 이에 제한되는 것은 아니다.-EID identity: A service according to the disclosed embodiment and an integrated ID provided through the authentication server, which may be an online integrated ID composed of 64 bytes of hexadecimal number, but is not limited thereto.

- 이름 : 사용자 이름으로서, 예를 들어 20byte(string name)로 구성되며, 전 세계 언어를 이용한 사용자 이름을 모두 표기하기에는 그 자릿수가 과도하게 늘어날 수 있으므로 최대 한글 기준 5자로 제한할 수 있으며, 이에 제한되는 것은 아니다.-Name: As a user name, for example, it is composed of 20 bytes (string name), and the number of digits may be excessively increased to indicate all user names in global languages, so the maximum number of Korean characters can be limited to 5 characters. It does not become.

- 생년월일 : 사용자의 생년월일을 의미하며, 8byte로 구성될 수 있다.-Date of Birth: It means the date of birth of the user and can be composed of 8 bytes.

- 발급일자 : EID의 발급일자로서, 8byte로 구성될 수 있다.-Issuance Date: The issuance date of the EID, which can consist of 8 bytes.

- 확장 필드(Extension Field) : 확장 필드는 다양한 정보들을 포함할 수 있으며, 예를 들어 아래와 같은 구성요소들을 포함할 수 있다.-Extension Field: The extension field may include various pieces of information, and may include, for example, the following components.

i) 국가코드 : 10bit 정보로서, 현 시점 기준 전 세계 국가수를 약 228개국이라 하였을 때 국가별 고유 코드를 발급하기 위하여 필요한 자릿수를 의미한다. 예를 들어, 전화번호 국가코드를 참조할 수 있다.i) Country code: This is 10-bit information, which means the number of digits required to issue a unique code for each country when the number of countries around the world is about 228 countries as of the present time. For example, you can refer to the phone number and country code.

ii) 휴대폰 번호 : 사용자의 휴대폰 번호를 표기하기 위하여, 12byte의 자릿수가 이용될 수 있다.ii) Mobile phone number: 12-byte digits can be used to indicate the user's mobile phone number.

iii) E-mail : 사용자의 이메일 주소 입력을 위하여 사용되며, 이는 분실시 사용자의 EID를 찾는 데에도 이용될 수 있다.iii) E-mail: It is used to enter the user's e-mail address, which can also be used to find the user's EID when lost.

iv) SMS 또는 KYC : 2bit 정보로서, SMS 또는 KYC 인증 성공 여부에 따른 True / False 값으로 1bit 정보를 포함할 수 있고, 예외상황을 고려하여 1bit가 추가적으로 포함될 수 있다.iv) SMS or KYC: As 2bit information, 1bit information may be included as a True/False value depending on whether SMS or KYC authentication is successful, and 1bit may be additionally included in consideration of exceptions.

- 결과 값 : 일 실시 예에서, 결과 값은 EID에 포함되는 정보들로부터 기 설정된 기준에 따라 산출된 값이 입력될 수 있으나, 이에 제한되지 않는다.-Result value: In an embodiment, a value calculated according to a preset criterion from information included in the EID may be input as the result value, but is not limited thereto.

- 전자서명(DS: Digital Signature) : 전자서명 값은 사용자 전자서명 값과, 발급 기관의 전자서명 값을 포함할 수 있다. 사용자 전자서명 값은 사용자의 개인키로 암호화한 값이고, 발급 기관의 전자서명 값은 발급 기관의 개인키로 암호화한 값일 수 있으며, 각각의 데이터는 256bit로 구성될 수 있으나, 이에 제한되는 것은 아니다.-Digital Signature (DS): The digital signature value may include the user's digital signature value and the issuing agency's digital signature value. The user's digital signature value is a value encrypted with the user's private key, the personalization agency's digital signature value may be a value encrypted with the issuing agency's private key, and each data may be composed of 256 bits, but is not limited thereto.

상술한 바와 같은 EID는 DPoS 방식에 기반하여 생성 및 등록될 수 있다. DPoS 방식은 선출된 BP(Block Producer)들의 투표에 의하여 의사결정을 수행하는 방식으로, 예를 들어 21명의 BP중 15명 이상이 찬성하는 경우 EID가 생성될 수 있다. BP의 운영 및 정책 설정은 개시된 실시 예에 따른 시스템 관리자에 의하여 수행될 수 있다.The EID as described above may be generated and registered based on the DPoS method. The DPoS method is a method in which a decision is made by voting of elected BPs (Block Producers). For example, an EID may be generated when 15 or more of 21 BPs approve. BP operation and policy setting may be performed by a system administrator according to the disclosed embodiment.

BP들은 SMS 및 KYC 인증 여부를 확인한 후 EID 생성을 찬성 혹은 거부할 수 있으나, 이에 제한되지 않으며, SMS 및 KYC 인증 없이도 BP들의 과반수 찬성 혹은 기 설정된 수 이상의 찬성이 있는 경우 EID가 생성될 수도 있다. 단, 생성된 EID에 의하여 발생되는 사고에 대해 BP에 페널티가 부여될 수 있는 바, BP는 이를 고려하여 EID 생성의 찬성여부를 결정할 수 있다.BPs may approve or reject EID generation after checking whether SMS and KYC are authenticated, but are not limited thereto, and EID may be generated if there is a majority of BPs' approval or more than a preset number of votes without SMS and KYC authentication. However, a penalty may be given to the BP for an accident caused by the generated EID, and the BP may take this into account and decide whether to approve the EID generation.

EID 생성을 위해 모든 BP가 투표를 수행한 후, 마지막 BP는 최종적으로 모든 BP들의 서명을 모아 최종적으로 전자서명을 할 수 있다. 서명된 데이터는 EID에 첨부되며, BP들의 순서에는 정해진 것이 없고, 먼저 처리된 결과가 순차적으로 쌓일 수 있다.After all BPs vote for EID creation, the last BP can finally collect all BPs' signatures and finally digitally sign. The signed data is attached to the EID, there is no set order of the BPs, and the results processed first can be sequentially accumulated.

도 4는 일 실시 예에 따라 2차인증을 위해 디바이스를 등록하는 방법을 도시한 도면이다.4 is a diagram illustrating a method of registering a device for secondary authentication according to an embodiment.

이하에서는 도면들을 참조하여 개시된 실시 예에 따른 2차인증을 수행하는 방법에 대하여 서술하나, 이는 2차인증뿐 아니라 단일 인증 혹은 2차 이상의 다차 인증에도 동일 또는 유사하게 활용될 수 있다.Hereinafter, a method of performing secondary authentication according to the disclosed embodiment will be described with reference to the drawings, but this may be used equally or similarly to not only secondary authentication, but also to single authentication or multiple authentication of two or more orders.

개시된 실시 예에서, 2차인증은 등록된 디바이스에서만 사용이 가능하도록 구성된다. 따라서, 2차인증을 수행하기 전에 디바이스를 등록하는 과정이 선행되어야 하며, 디바이스가 변경되는 경우 등록 절차를 통해 디바이스를 등록하여야 한다.In the disclosed embodiment, the secondary authentication is configured to be usable only in a registered device. Therefore, the process of registering the device must be preceded before performing the secondary authentication, and if the device is changed, the device must be registered through the registration procedure.

도 4를 참조하면, 2차인증을 위한 시스템은 사용자 단말(300), 앱 마켓(500), 인증 플랫폼(100) 및 인증 체인(400)을 포함한다.Referring to FIG. 4, a system for secondary authentication includes a user terminal 300, an app market 500, an authentication platform 100, and an authentication chain 400.

개시된 실시 예에서, 앱 마켓(500)은 애플리케이션을 구매 및 다운로드할 수 있는 모든 종류의 플랫폼을 포괄하는 것으로 이해된다.In the disclosed embodiment, the app market 500 is understood to encompass all kinds of platforms through which applications can be purchased and downloaded.

또한, 인증 플랫폼(100)은 개시된 실시 예에 따른 2차인증 서비스를 제공하는 플랫폼으로서, 개시된 실시 예에 따른 2차인증 서비스를 제공하는 서버를 의미할 수도 있다.In addition, the authentication platform 100 is a platform that provides a secondary authentication service according to the disclosed embodiment, and may mean a server that provides a secondary authentication service according to the disclosed embodiment.

실시 예에 따라서, 인증 플랫폼(100)은 도 1 내지 도 3에서 상술한 인증서버에 대응할 수 있다.According to an embodiment, the authentication platform 100 may correspond to the authentication server described above in FIGS. 1 to 3.

개시된 실시 예에서, 인증 체인(400)은 개시된 인증 플랫폼(100)에 기반한 인증 및 2차인증을 위해 필요한 정보들을 저장하기 위하여 이용되는 블록체인을 의미할 수 있다. 인증 체인(400)의 구조 및 인증 체인에 정보를 저장하는 구체적인 방법에 대해서는 후술한다.In the disclosed embodiment, the authentication chain 400 may mean a block chain used to store information necessary for authentication and secondary authentication based on the disclosed authentication platform 100. The structure of the authentication chain 400 and a specific method of storing information in the authentication chain will be described later.

일 실시 예에서, 사용자 단말(300)은 앱 마켓(500)으로부터 2차인증을 위한 애플리케이션을 다운로드 및 설치할 수 있다. 단, 사용자 단말(300)이 애플리케이션을 획득하는 경로가 앱 마켓(500)으로 제한되는 것은 아니다.In one embodiment, the user terminal 300 may download and install an application for secondary authentication from the app market 500. However, the path through which the user terminal 300 acquires an application is not limited to the app market 500.

일 실시 예에서, 사용자 단말(300)이 다운로드 및 설치하는 애플리케이션은 상술한 월렛 애플리케이션일 수 있으나, 이에 제한되는 것은 아니다.In one embodiment, the application downloaded and installed by the user terminal 300 may be the above-described wallet application, but is not limited thereto.

사용자 단말(300)은 설치된 애플리케이션을 이용하여 계정(Account)을 생성하고, 실시 예에 따라 계정(Account)에 대응하는 월렛을 생성할 수 있다. 일 실시 예에서, 계정(Account)은 개시된 실시 예에 따른 전자지갑의 주소를 의미할 수 있으며, 이에 제한되는 것은 아니다.The user terminal 300 may generate an account using the installed application, and may generate a wallet corresponding to the account according to an embodiment. In an embodiment, the account may mean the address of the electronic wallet according to the disclosed embodiment, but is not limited thereto.

일 실시 예에서, 계정(Account)은 문자와 숫자의 조합으로 이루어진 기 설정된 길이의 문자열(예를 들어, 12자리)로 구성될 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, the account may be composed of a character string (eg, 12 digits) of a preset length consisting of a combination of letters and numbers, but is not limited thereto.

일 실시 예에서, 계정(Account) 생성시 이와 함께 사용자의 공개키와 개인키를 생성할 수 있고, 또한 계정의 복구를 위하여 이용되는 복구 코드를 생성 및 제공할 수 있다.In an embodiment, when an account is created, a user's public key and a private key may be generated together with the user's public key and a private key, and a recovery code used for account recovery may be generated and provided.

일 실시 예에서, BIP 39 표준에 기반한 12개의 단어를 포함하는 니모닉 코드(Mnemonic code)가 계정(Account)의 복구에 이용될 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 제공되는 12개의 단어에 기반하여 시드 키(Seed key)를 획득하고, 획득된 시드 키를 이용하여 사용자의 공개키와 개인키를 생성할 수 있다.In an embodiment, a mnemonic code including 12 words based on the BIP 39 standard may be used for recovering an account, but is not limited thereto. For example, a seed key may be obtained based on 12 words provided, and a user's public key and a private key may be generated using the obtained seed key.

생성된 개인키는 개시된 실시 예에 따른 월렛의 안전공간(Safe Zone)에 안전하게 저장되며, 공개키는 블록체인을 통해 배포될 수 있다.The generated private key is securely stored in a safe zone of the wallet according to the disclosed embodiment, and the public key can be distributed through a block chain.

또한, 계정(Account) 생성 과정에서 별도 채널을 이용한 본인확인 과정이 수행될 수 있다. 예를 들어, 본인확인은 이메일 인증에 기반하여 수행될 수 있으며, 인증서버(100)는 본인확인을 위하여 사용자의 이메일 주소로 6개의 인증코드를 발송하고, 사용자는 해당 인증코드를 입력함으로써 본인인증을 수행할 수 있다.In addition, in the process of creating an account, an identity verification process using a separate channel may be performed. For example, identity verification can be performed based on email authentication, and the authentication server 100 sends six authentication codes to the user's email address for identity verification, and the user authenticates by entering the corresponding authentication code. Can be done.

계정(Account) 생성이 완료된 후 간편 인증 수단으로서 패턴, 핀(PIN), 텍스트, 생체 정보 등이 선택적으로 입력될 수 있으며, 사용자는 해당 간편 인증 수단을 이용하여 애플리케이션을 실행할 수 있다.After the account creation is completed, a pattern, PIN, text, biometric information, etc. may be selectively input as a simple authentication means, and a user may execute an application using the simple authentication means.

일 실시 예에서, 사용자 단말에 의하여 수행되는 계정 생성방법에는 상술한 사용자 단말의 EID 획득방법이 활용될 수 있으나, 이에 제한되는 것은 아니다. In an embodiment, the method for generating an account performed by the user terminal may use the above-described method of obtaining the EID of the user terminal, but is not limited thereto.

일 실시 예에서, 사용자 단말(300)은 계정(Account)을 생성하고, 생성된 계정(Account)을 이용하여 상술한 인증서버로부터 EID를 발급받아 생성된 계정에 의하여 관리되는 월렛에 EID를 저장할 수 있다.In one embodiment, the user terminal 300 may create an account, obtain an EID from the above-described authentication server using the created account, and store the EID in a wallet managed by the created account. have.

일 실시 예에서, 사용자 단말(300)은 푸시 키(Push Key)를 생성할 수 있다.In an embodiment, the user terminal 300 may generate a push key.

사용자 단말(300)은 생성된 푸시 키와 사용자 단말(300)의 디바이스 정보를 인증 플랫폼에 전달하고, 인증 플랫폼(100)에 디바이스 등록을 요청할 수 있다.The user terminal 300 may transmit the generated push key and device information of the user terminal 300 to the authentication platform, and request device registration from the authentication platform 100.

인증 플랫폼(100)은 디바이스 정보를 인증 체인(400)에 등록하고, 이에 대응하는 푸시 키를 저장할 수 있다.The authentication platform 100 may register device information in the authentication chain 400 and store a corresponding push key.

도 5는 2차인증을 위한 OSP의 사용자 등록방법을 도시한 도면이다.5 is a diagram showing a user registration method of an OSP for secondary authentication.

일 실시 예에서, OSP(200)와 인증 플랫폼(100)은 티켓정보를 공유한다. 예를 들어, 인증 플랫폼(100)은 티켓 번호를 생성하고, 생성된 티켓 번호를 OSP(200)에 발급할 수 있다. 다른 예로, OSP(200)는 티켓을 발행하여 인증 플랫폼(100)에 전송할 수 있다.In one embodiment, the OSP 200 and the authentication platform 100 share ticket information. For example, the authentication platform 100 may generate a ticket number and issue the generated ticket number to the OSP 200. As another example, the OSP 200 may issue a ticket and transmit it to the authentication platform 100.

개시된 실시 예에서 티켓은 디바이스 정보를 OSP(200)에 대응하여 인증 플랫폼(100)에 등록하기 위하여 이용된다. 티켓의 형태 및 유형은 제한되지 않으며, 예를 들어 소정의 문자열이나 숫자 등으로 구성될 수 있다.In the disclosed embodiment, a ticket is used to register device information in the authentication platform 100 in response to the OSP 200. The form and type of the ticket is not limited, and may be composed of, for example, a predetermined character string or number.

일 실시 예에서, 티켓은 특정 OSP를 다른 OSP와 구별하기 위하여 사용되는 OSP의 식별자로서 구성될 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, the ticket may be configured as an identifier of an OSP used to distinguish a specific OSP from other OSPs, but is not limited thereto.

인증 플랫폼(100) 또는 OSP(200)는 티켓 정보를 이용하여 QR 코드를 생성할 수 있다. 생성된 QR 코드는 사용자에게 전달되며, 사용자 단말(300)은 전달된 QR 코드를 스캔할 수 있다. 예를 들어, 생성된 QR 코드는 사용자에게 전달되어 사용자가 이용하는 컴퓨터의 모니터에 표시될 수 있으며, 사용자 단말(300)은 이를 스캔함으로써 QR 코드에 포함된 정보를 획득할 수 있다.The authentication platform 100 or OSP 200 may generate a QR code using ticket information. The generated QR code is transmitted to the user, and the user terminal 300 may scan the transmitted QR code. For example, the generated QR code may be transmitted to the user and displayed on a monitor of a computer used by the user, and the user terminal 300 may obtain information included in the QR code by scanning it.

단, 티켓 정보를 사용자 단말(300)에 전달하는 방법은 이에 제한되지 않으며, QR코드 외에 다양한 전자코드 혹은 데이터 암호화 및 송수신 수단들이 활용될 수 있다.However, the method of transmitting the ticket information to the user terminal 300 is not limited thereto, and various electronic codes or data encryption and transmission/reception means may be used in addition to the QR code.

일 실시 예에서, QR코드는 티켓 정보와 함께 디바이스 등록을 위한 링크정보(예를 들어, URL)를 포함할 수 있다. In an embodiment, the QR code may include link information (eg, URL) for device registration along with ticket information.

실시 예에 따라서, QR코드에는 티켓 정보와 링크정보가 함께 포함되고, 사용자 단말(300)은 QR코드를 통해 획득된 티켓정보와 사용자 단말(300)의 디바이스 정보를 링크정보를 통해 연결된 대상에 전달할 수 있다.According to an embodiment, the QR code includes ticket information and link information together, and the user terminal 300 transmits the ticket information obtained through the QR code and the device information of the user terminal 300 to the connected target through the link information. I can.

다른 실시 예에서, 티켓 정보에 대응하는 링크정보가 QR코드에 저장되고, 사용자 단말(300)은 링크정보를 통하여 티켓 정보에 대응하는 대상(예를 들어, 웹페이지)에 접속한 후, 이를 통해 디바이스 정보를 인증 플랫폼(100)에 제공할 수 있다. 이 경우, 인증 플랫폼(100)은 디바이스 정보가 획득된 웹페이지에 대응하는 티켓정보를 디바이스 정보와 함께 획득할 수 있다.In another embodiment, link information corresponding to ticket information is stored in a QR code, and the user terminal 300 accesses a target (for example, a web page) corresponding to the ticket information through the link information. Device information may be provided to the authentication platform 100. In this case, the authentication platform 100 may acquire ticket information corresponding to the web page from which the device information is obtained, together with the device information.

인증 플랫폼(100)은 OSP(200)의 티켓정보와 사용자 단말(300)의 디바이스 정보를 획득하고, 획득된 티켓정보 및 디바이스 정보를 이용하여 인증정보를 생성할 수 있다. The authentication platform 100 may acquire ticket information of the OSP 200 and device information of the user terminal 300, and may generate authentication information using the acquired ticket information and device information.

인증정보를 생성하는 방법은 제한되지 않으며, 티켓정보와 디바이스 정보를 조합하는 다양한 방법들이 이용될 수 있다.A method of generating authentication information is not limited, and various methods of combining ticket information and device information may be used.

인증 플랫폼(100)은 생성된 인증정보를 인증 체인에 저장하고, 이에 대응하는 인증 토큰을 생성할 수 있다.The authentication platform 100 may store the generated authentication information in an authentication chain and generate an authentication token corresponding thereto.

인증 토큰에 저장되는 정보의 종류는 제한되지 않으며, 예를 들어 티켓정보와 디바이스 정보, 또는 티켓정보와 디바이스 정보에 기반하여 생성된 정보가 저장될 수 있다. 또한, 인증 토큰에는 인증 체인에 저장된 인증정보를 획득하기 위하여 필요한 정보가 저장될 수 있다.The type of information stored in the authentication token is not limited, and for example, ticket information and device information, or information generated based on ticket information and device information may be stored. In addition, the authentication token may store information necessary to obtain authentication information stored in the authentication chain.

인증 플랫폼(100)은 생성된 토큰을 OSP(200)에 전달한다. The authentication platform 100 delivers the generated token to the OSP 200.

OSP(200)는 인증 플랫폼으로부터 전달받은 토큰을 사용자 단말(300)의 OSP 계정과 연결하여 저장하고, 디바이스 등록과정을 완료할 수 있다. OSP 계정은 사용자 단말(300)이 OSP에 대한 회원가입을 통해 생성한 OSP의 계정을 의미할 수 있으나, 이에 제한되는 것은 아니다.The OSP 200 may link and store the token received from the authentication platform with the OSP account of the user terminal 300 and complete the device registration process. The OSP account may refer to an account of the OSP created by the user terminal 300 through membership registration to the OSP, but is not limited thereto.

상술한 바와 같은 디바이스 등록과정은 OSP별로 최초에 1회 수행될 수 있으며, 소정의 기간이 도과하거나 사용자 단말이 다른 디바이스로 변경되었을 때 다시 수행될 수 있다.The device registration process as described above may be initially performed once per OSP, and may be performed again when a predetermined period elapses or when a user terminal is changed to another device.

도 6은 일 실시 예에 따른 2차인증 수행방법을 도시한 도면이다.6 is a diagram illustrating a method of performing secondary authentication according to an embodiment.

일 실시 예에서, 사용자 단말(300)은 OSP(200)에 대한 로그인 혹은 인증을 요청한다. 사용자 단말(300)은 1차 인증수단을 이용하여 OSP(200)에 대한 로그인 혹은 인증을 요청할 수 있으며, 예를 들어 사용자 단말(300)은 계정 정보를 이용하여 OSP(200)에 대해 로그인 혹은 인증을 요청할 수 있으나, 이에 제한되는 것은 아니다.In one embodiment, the user terminal 300 requests login or authentication for the OSP 200. The user terminal 300 may request login or authentication for the OSP 200 using the primary authentication means. For example, the user terminal 300 logs in or authenticates the OSP 200 using account information. May be requested, but is not limited thereto.

OSP(200)는 사용자의 계정정보를 통해 인증 토큰을 조회하고, 2차 인증이 완료될 때까지 인증과정을 완료하지 않고 대기한다.The OSP 200 searches for an authentication token through the user's account information, and waits without completing the authentication process until the second authentication is completed.

OSP(200)는 인증 토큰을 인증 플랫폼(100)에 전송하여 인증을 요청하고, 인증 플랫폼(100)은 OSP(200)로부터 전송된 인증 토큰을 이용하여 인증을 수행한 후, 인증 결과를 OSP(200)에 전달한다. OSP(200)는 인증 플랫폼(100)으로부터 전달된 인증 결과에 따라 인증을 완료하거나, 재인증을 요청한다.The OSP 200 transmits an authentication token to the authentication platform 100 to request authentication, and the authentication platform 100 performs authentication using the authentication token transmitted from the OSP 200, and then transmits the authentication result to the OSP ( 200). The OSP 200 completes authentication or requests re-authentication according to the authentication result transmitted from the authentication platform 100.

구체적으로, OSP(200)는 사용자 인증 요청이 수신되는 경우 사용자의 계정정보에 대응하는 인증 토큰을 획득하고, 이를 인증 플랫폼(100)에 전달할 수 있다.Specifically, when a user authentication request is received, the OSP 200 may acquire an authentication token corresponding to the user's account information, and transmit it to the authentication platform 100.

또한, 인증 플랫폼(100)은 인증 토큰을 포함하는 OSP(200)의 인증 요청을 검증할 수 있다. 인증 요청에 대해 검증이 완료되는 경우, 인증 플랫폼(100)은 인증 토큰에 포함된 정보에 기반하여 인증 체인(400)에서 사용자 단말에 대응하는 디바이스 정보를 검색할 수 있다.In addition, the authentication platform 100 may verify an authentication request from the OSP 200 including an authentication token. When verification of the authentication request is completed, the authentication platform 100 may search for device information corresponding to the user terminal in the authentication chain 400 based on information included in the authentication token.

인증 체인(400)에서 기 등록된 사용자 단말(300)의 디바이스 정보가 획득되는 경우, 인증 플랫폼(100)은 기 저장된 사용자 단말(300)의 푸시 키를 획득하고, 획득된 푸시 키를 푸시 서버(600)에 전달하여 사용자 단말(300)에 푸시 메시지를 전송할 수 있다.When the device information of the user terminal 300 that is previously registered in the authentication chain 400 is obtained, the authentication platform 100 obtains the push key of the user terminal 300 stored in advance, and sends the obtained push key to the push server ( 600) to transmit a push message to the user terminal 300.

사용자 단말(300)은 수신된 푸시 메시지에 따라 EID가 저장된 월렛을 실행시키고 EID에 기반한 인증과정을 개시하거나, 월렛이 이미 실행중인 경우 바로 EID에 기반한 인증과정을 개시한다.The user terminal 300 executes the wallet in which the EID is stored according to the received push message and initiates the EID-based authentication process, or immediately starts the EID-based authentication process if the wallet is already running.

인증 플랫폼(100)에서 사용자 단말(300)의 EID에 기반한 인증이 완료되는 경우, 인증 플랫폼(100)은 OSP에 인증 결과를 전송(Call Back)할 수 있다.When authentication based on the EID of the user terminal 300 is completed in the authentication platform 100, the authentication platform 100 may transmit (Call Back) the authentication result to the OSP.

OSP는 인증 플랫폼(100)에서 전송된 인증 결과에 따라 인증 절차를 마무리하거나, 재인증을 요청할 수 있다.The OSP may complete the authentication process or request re-authentication according to the authentication result transmitted from the authentication platform 100.

개시된 실시 예에 따른 인증 수단 및 이를 활용한 인증절차는 상술한 바와 같이 OSP(200)의 2차인증에 활용될 수 있으나 이에 제한되지 않으며, 예를 들어 서로 다른 OSP에서의 1차 인증에 활용되어, 사용자 단말(300)에 저장된 EID에 기반한 SSO(Single Sign On)을 구현하는 데에도 활용될 수 있다.The authentication means according to the disclosed embodiment and the authentication procedure using the same may be used for secondary authentication of the OSP 200 as described above, but is not limited thereto, and, for example, is used for primary authentication in different OSPs. , It may be used to implement Single Sign On (SSO) based on the EID stored in the user terminal 300.

도 7은 일 실시 예에 따른 인증수단을 이용하는 사용자에게 보상을 지급하는 방법을 도시한 개념도이다.7 is a conceptual diagram illustrating a method of paying a reward to a user who uses an authentication means according to an exemplary embodiment.

도 7을 참조하면, 도 1에 도시된 바와 같은 인증시스템이 도시되어 있다.Referring to FIG. 7, an authentication system as shown in FIG. 1 is shown.

개시된 실시 예에서, BAAS는 BAAS Coin으로서, 개시된 실시 예에 따른 서비스에서 제공되는 암호화폐를 의미한다.In the disclosed embodiment, BAAS is BAAS Coin, which means a cryptocurrency provided in a service according to the disclosed embodiment.

또한, BIDT는 BaaS ID Token의 약자로, 개시된 실시 예에 따른 인증시스템에서 사용자 보상을 위해 이용되는 토큰을 의미한다. In addition, BIDT stands for BaaS ID Token, and refers to a token used for user compensation in the authentication system according to the disclosed embodiment.

일 실시 예에서, OSP(200)는 인증서버(100)로부터 BIDT를 구매한다. OSP(200)는 인증서버(100)로부터 구매한 BIDT를 직접 수령 및 보유할 수도 있고, BIDT를 사용자에게 지급할 권한을 구매하되, 이에 해당하는 BIDT를 직접 보관하지는 않을 수도 있다.In one embodiment, the OSP 200 purchases BIDT from the authentication server 100. The OSP 200 may directly receive and hold the BIDT purchased from the authentication server 100, or purchase the right to pay the BIDT to the user, but may not directly store the corresponding BIDT.

개시된 실시 예에서, OSP(200)는 인증서버(100)를 통해 제공되는 인증시스템을 이용하는 대가로서 BIDT를 구매할 수 있다. OSP(200)는 BIDT를 구매하고, OSP(200)에서 인증서버(100)를 통한 인증을 요청하는 사용자에게 인증서비스 이용에 대한 보상으로서 BIDT를 지급할 수 있다. 지급되는 BIDT의 양은 제한되지 않으나, 예를 들어 인증요청시마다 0.01 BIDT가 지급될 수 있다.In the disclosed embodiment, the OSP 200 may purchase BIDT in exchange for using the authentication system provided through the authentication server 100. The OSP 200 may purchase BIDT and pay BIDT as a reward for the use of the authentication service to a user who requests authentication through the authentication server 100 from the OSP 200. The amount of BIDT paid is not limited, but for example, 0.01 BIDT may be paid per authentication request.

구매한 BIDT가 소진되면, OSP(200)는 인증서비스 이용을 위하여 BIDT를 추가로 구매하여야 한다.When the purchased BIDT is exhausted, the OSP 200 must additionally purchase a BIDT to use the authentication service.

일 실시 예에서, BIDT 획득을 위한 과도한 인증요청이 있을 수 있다. 따라서, 1인당 인증요청을 통해 BIDT를 획득할 수 있는 횟수 또는 그 양이 제한될 수 있다.In an embodiment, there may be an excessive authentication request for obtaining BIDT. Accordingly, the number or amount of BIDT that can be obtained through an authentication request per person may be limited.

예를 들어, 1인당 하루에 최대 0.05 BIDT를 지급받을 수 있는 것으로 제한될 수 있다.For example, it may be limited to a maximum of 0.05 BIDT per person per day.

다른 예로, 1인당 BIDT를 획득할 수 있는 횟수가 OSP별로 혹은 개인별로 제한될 수도 있으며, 이에 제한되는 것은 아니다.As another example, the number of times a BIDT can be acquired per person may be limited for each OSP or for each individual, but is not limited thereto.

또한, 1인당 1시간 이내 3회까지 재 로그인 또는 인증 요청시 추가 BIDT를 지급하지 않도록 설정되는 것과 같이 소정의 시간범위 내 반복횟수에 제한을 둘 수도 있다.In addition, it is possible to set a limit on the number of repetitions within a predetermined time range, such as setting not to pay additional BIDT when re-login or authentication is requested up to 3 times per person within 1 hour.

사용자 단말(300)은 상술한 바와 같은 월렛(700)을 구비하며, OSP(200)에 인증요청을 할 때마다 OSP(200) 또는 인증서버(100)로부터 BIDT를 지급받는다. 사용자 단말(300)은 지급받은 BIDT를 월렛(700)에 저장할 수 있다.The user terminal 300 includes the wallet 700 as described above, and receives BIDT from the OSP 200 or the authentication server 100 whenever an authentication request is made to the OSP 200. The user terminal 300 may store the received BIDT in the wallet 700.

사용자 단말(300)은 소정의 BIDT가 모이면 이를 BAAS로 교환해줄 것을 인증서버(100)에 요청할 수 있다. 인증서버(100)는 사용자 단말(300)로부터 BIDT를 받고, 이에 대응하는 BAAS를 사용자 단말(300)에 지급할 수 있다.When a predetermined BIDT is collected, the user terminal 300 may request the authentication server 100 to exchange it for BAAS. The authentication server 100 may receive BIDT from the user terminal 300 and provide BAAS corresponding thereto to the user terminal 300.

예를 들어, 1,000BIDT가 1BAAS로 교환될 수 있으나, 이에 제한되는 것은 아니다.For example, 1,000 BIDT may be exchanged for 1BAAS, but is not limited thereto.

사용자 단말(300)은 획득된 BAAS를 월렛(700)에 저장할 수 있다.The user terminal 300 may store the acquired BAAS in the wallet 700.

도 8은 일 실시 예에 따른 BCE(BaaS Currency Exchange) 및 이를 포함하는 시스템을 도시한 도면이다.8 is a diagram illustrating a BaaS Currency Exchange (BCE) and a system including the same according to an embodiment.

개시된 실시 예에서, BCE(800)를 통하여 관리 및 제공되는 암호화폐는 BAAS(BAAS Coin), BIDT(BaaS ID Token) 및 BRC(BaaS Reward Coin)을 포함할 수 있다.In the disclosed embodiment, cryptocurrencies managed and provided through the BCE 800 may include BAAS (BAAS Coin), BIDT (BaaS ID Token), and BRC (BaaS Reward Coin).

도 8을 참조하면, BCE(800), 사용자 단말(300), OSP(200), BP(Block Producer, 900) 및 각각의 암호화폐를 관리하는 BAAS 관리부(810), BRC 관리부(820) 및 BIDT 관리부(830)가 도시되어 있다.Referring to FIG. 8, a BCE 800, a user terminal 300, an OSP 200, a BP (Block Producer, 900) and a BAAS management unit 810, a BRC management unit 820, and a BIDT that manage each cryptocurrency. The management unit 830 is shown.

일 실시 예에서, BP는 Block Producer, 즉 블록 생성자를 의미한다. 예를 들어 DPoS(Delegated Proof of Stake: 위임지분증명) 방식의 블록체인의 경우 투표를 통해 정해진 수(예를 들어, 21개)의 블록 생성자를 결정한다.In one embodiment, BP means a Block Producer, that is, a block producer. For example, in the case of a DPoS (Delegated Proof of Stake) type of blockchain, a set number (for example, 21) of block producers is determined through voting.

블록 생성자에게는 보상이 지급되는데, 개시된 실시 예에서 블록 생성자에게는 BRC가 보상으로 지급될 수 있다.A reward is paid to the block producer, and in the disclosed embodiment, the BRC may be paid to the block producer as a reward.

이외에도 개시된 실시 예에 따른 시스템에 기반한 다양한 DApp이 제작 및 배포되어 이용될 수 있는데, 이 경우 각각의 DApp에서는 BRC를 이용한 보상을 지급할 수 있다.In addition, various DApps based on the system according to the disclosed embodiment may be produced and distributed to be used. In this case, each DApp may pay compensation using BRC.

BCE(800)는 각 암호화폐의 구매, 지급 및 환전을 관리한다.BCE (800) manages the purchase, payment and exchange of each cryptocurrency.

일 실시 예에서, BAAS는 개시된 실시 예에 따른 시스템의 메인 암호화폐이고, BIDT 및 BRC는 시스템 이용자 및 구성원들에 대한 보상을 위해 이용되는 암호화폐일 수 있다.In one embodiment, BAAS is the main cryptocurrency of the system according to the disclosed embodiment, and BIDT and BRC may be cryptocurrencies used to compensate for system users and members.

BIDT 및 BRC는 일정 개수가 모이면 BAAS와 교환될 수 있으며, 이러한 교환은 BCE를 통하여 수행될 수 있다.BIDT and BRC may be exchanged with BAAS when a certain number of them is collected, and such exchange may be performed through BCE.

BaaS Relay는 사용자 단말, OSP 및 BP와 각각의 암호화폐 관리부를 중개하며, 암호화폐의 구매 요청 및 환전 요청을 중개하는 역할을 수행한다.BaaS Relay mediates the user terminal, OSP and BP and each cryptocurrency management unit, and plays a role of mediating the purchase request and exchange request for cryptocurrency.

일 실시 예에서, BCE(800)는 사용자 단말(300)의 BRC 구매 요청을 BRC 코인 관리부(820)에 전달하고, BRC 코인 관리부(820)로부터 지급받은 BRC를 사용자 단말(300)에 전달할 수 있다.In one embodiment, the BCE 800 may transmit a BRC purchase request from the user terminal 300 to the BRC coin management unit 820, and transmit the BRC received from the BRC coin management unit 820 to the user terminal 300. .

또한, BCE(800)는 사용자 단말(300)의 BIDT에 기반한 BAAS 교환 요청이 수신되면 이를 BIDT 관리부(830)에 전달하고, BIDT 관리부(830)는 사용자 단말(300)의 BIDT를 BAAS로 교환하여 지급한다. BCE(800)는 BIDT 관리부(830)로부터 지급받은 BAAS를 사용자 단말(300)에 전달할 수 있다. 일 실시 예에서, BIDT 관리부(830)는 BIDT를 BAAS로 교환해주기 위한 BAAS를 보유할 수 있다.In addition, when a BAAS exchange request based on the BIDT of the user terminal 300 is received, the BCE 800 transmits it to the BIDT management unit 830, and the BIDT management unit 830 exchanges the BIDT of the user terminal 300 with BAAS. give. The BCE 800 may transmit the BAAS received from the BIDT management unit 830 to the user terminal 300. In an embodiment, the BIDT management unit 830 may hold a BAAS for exchanging BIDT into BAAS.

또한, BCE(800)는 OSP(200)의 BIDT 구매 요청을 획득하고, 이를 직접 보유하여 관리하거나, BIDT 관리부(830)에 전달할 수 있다.In addition, the BCE 800 may obtain a BIDT purchase request from the OSP 200, directly hold and manage it, or transmit it to the BIDT management unit 830.

이후 OSP(200)로부터 인증 요청 및 이에 따른 BIDT 지급 요청이 획득되는 경우, BCE(800)는 이를 BIDT 관리부(830)에 전달하고, BIDT 관리부(830)로부터 BIDT를 지급받아 사용자 단말(300)에 전달할 수 있다.Thereafter, when the authentication request and the BIDT payment request are obtained from the OSP 200, the BCE 800 transmits the request to the BIDT management unit 830, and receives the BIDT from the BIDT management unit 830 to the user terminal 300. I can deliver.

이 과정에서, BCE(800) 또는 BIDT 관리부(830)는 OSP(200)가 구매한 BIDT 한도 내에서 BIDT가 지급되는지 여부를 판단하고, 한도를 초과한 경우 OSP(200)에게 BIDT 추가구매를 요청할 수 있다.In this process, the BCE 800 or the BIDT management unit 830 determines whether or not BIDT is paid within the BIDT limit purchased by the OSP 200, and requests the OSP 200 to purchase additional BIDT if the limit is exceeded. I can.

또한, BCE(800)는 BP(900)로부터 BRC 교환 요청을 수신하고, 이를 BRC 관리부(820)에 전달할 수 있다. BRC 관리부(820)는 BRC를 BAAS로 교환하여 지급할 수 있고, BCE(800)는 BRC 관리부(820)로부터 지급된 BAAS를 BP에 지급할 수 있다. BRC 관리부(820)는 BRC를 BAAS로 교환해주기 위한 BAAS를 보유할 수 있다.In addition, the BCE 800 may receive a BRC exchange request from the BP 900 and transmit it to the BRC management unit 820. The BRC management unit 820 may exchange BRC for BAAS and pay, and the BCE 800 may pay the BAAS paid from the BRC management unit 820 to the BP. The BRC management unit 820 may hold a BAAS for exchanging BRC into BAAS.

상술한 실시 예에서, BAAS 및 BRC의 구매는 현금(예를 들어, USD)을 통해 이루어질 수 있으나, 이에 제한되는 것은 아니다.In the above-described embodiment, the purchase of BAAS and BRC may be made through cash (eg, USD), but is not limited thereto.

또한, BIDT의 구매 또한 현금을 통해 직접 구매도 가능할 수 있으나, 실시 예에 따라 BIDT의 구매는 BAAS의 구매를 통해 이에 대응하는 BIDT를 획득하거나, 이에 대응하는 BIDT를 지급할 수 있는 권한을 획득할 수 있다.In addition, the purchase of BIDT may also be directly purchased through cash. However, according to the embodiment, the purchase of BIDT is to acquire a corresponding BIDT through the purchase of BAAS, or obtain the right to pay a corresponding BIDT. I can.

도 9는 일 실시 예에 따른 OSP 및 이를 포함하는 시스템의 동작을 도시한 흐름도이다.9 is a flowchart illustrating an operation of an OSP and a system including the OSP according to an exemplary embodiment.

일 실시 예에서, OSP(200)는 인증 서버(100)에 서비스 가입 및 이용을 신청한다. 인증 서버(100)는 OSP(200)의 계정인 AccountOSP를 확인하고, 서비스 이용 요청에 대하여 회신한다.In one embodiment, the OSP 200 applies for service subscription and use to the authentication server 100. The authentication server 100 checks the Account OSP , which is the account of the OSP 200, and responds to the service use request.

일 실시 예에서, 인증 서버(100)는 OSP(200)에 서비스 이용을 위한 BAAS의 충전을 요청한다.In one embodiment, the authentication server 100 requests the OSP 200 to charge BAAS for service use.

일 실시 예에서, OSP(200)는 AccountOSP에 대한 정보와 함께, BAAS를 구매하기 위한 금액(예를 들어, USD)을 인증 서버(100)에 전송한다.In one embodiment, the OSP 200 transmits, to the authentication server 100, an amount (eg, USD) for purchasing BAAS along with information on the Account OSP .

일 실시 예에서, 인증 서버(100)는 AccountOSP에 대한 정보와 USD의 입금을 확인한다. 확인이 완료되는 경우, 인증 서버(100)는 BCE(800)에 BAAS의 충전을 요청하며, AccountOSP에 대한 정보와 USD의 입금정보를 전달한다.In one embodiment, the authentication server 100 checks the information on the Account OSP and the deposit of USD. When the verification is completed, the authentication server 100 requests the BCE 800 to charge BAAS, and transmits information on the Account OSP and deposit information of USD.

BCE(800)는 수신된 AccountOSP에 대한 정보와 USD의 입금, 그리고 정책 정보를 확인한 후, AccountOSP의 BAAS를 관리하기 위한 계정인 AccountOSP_BAAS 계정을 생성할 수 있다.The BCE 800 may create an Account OSP_BAAS account, an account for managing BAAS of the Account OSP , after checking the received information about the Account OSP , deposit of USD, and policy information.

BCE(800)는 BAAS 관리부(810)에 AccountOSP_BAAS 계정 및 입금된 USD에 대한 정보를 전달하고, BAAS의 충전을 요청할 수 있다.The BCE 800 may transmit information on the Account OSP_BAAS account and the deposited USD to the BAAS management unit 810, and request the BAAS to be charged.

BAAS 관리부(810)는 AccountOSP_BAAS 계정 및 입금된 USD에 대한 정보를 확인하고, AccountOSP_BAAS 계정에 BAAS를 충전함으로써 충전과정을 완료할 수 있다.The BAAS management unit 810 may complete the charging process by checking the information on the Account OSP_BAAS account and the deposited USD, and charging BAAS to the Account OSP_BAAS account.

나아가, BCE(800)는 OSP(200)의 서비스 이용에 필요한 BIDT를 충전하기 위하여 AccountOSP_BIDT 계정을 생성할 수 있다.Furthermore, the BCE 800 may create an Account OSP_BIDT account to charge BIDT required for service use of the OSP 200.

또한, BCE(800)는 BIDT 관리부(830)에 대하여 AccountOSP_BIDT 계정에 대한 정보 및 AccountOSP_BIDT 계정에 충전된 BAAS를 제공하며 BIDT의 충전(구매)을 요청할 수 있다. In addition, BCE (800) is about the BIDT manager 830 provides the charging information and the BAAS Account OSP_BIDT account for the Account OSP_BIDT account and may request the charge (purchase) of BIDT.

BIDT 관리부(830)는 AccountOSP_BIDT 계정 정보 및 AccountOSP_BAAS 계정으로부터 입금된 BAAS를 확인하고, 이에 대응하는 BIDT를 AccountOSP_BIDT 계정에 지급할 수 있다.BIDT management unit 830 may pay BIDT to make a deposit from BAAS Account OSP_BIDT account information and Account OSP_BAAS accounts, corresponding to the Account OSP_BIDT account.

이후, BCE(800)는 BIDT 충전이 완료되었다는 사실을 인증 서버(100)에 전달하고, 인증 서버(100)는 OSP(200)에 대하여 서비스 이용을 위한 준비가 완료되었음을 알릴 수 있다.Thereafter, the BCE 800 transmits the fact that the BIDT charging has been completed to the authentication server 100, and the authentication server 100 may notify the OSP 200 that preparation for service use is complete.

도 10은 일 실시 예에 따른 사용자 단말의 월렛 및 이를 포함하는 시스템의 동작을 도시한 흐름도이다.10 is a flowchart illustrating an operation of a wallet of a user terminal and a system including the same according to an exemplary embodiment.

일 실시 예에서, 사용자 단말(300)은 설치된 월렛(700)을 통해 생성된 사용자의 계정인 AccountUSER를 이용해 OSP(200)에 서비스 사용을 신청할 수 있다.In an embodiment, the user terminal 300 may apply for a service use to the OSP 200 using an Account USER , which is a user's account created through the installed wallet 700.

OSP(200)는 인증 서버(100)에 AccountUSER의 정보 확인을 요청할 수 있다.The OSP 200 may request the authentication server 100 to check the information of the Account USER .

인증 서버(100)는 AccountUSER정보를 확인하고, 확인 결과를 OSP(200) 및 사용자 단말(300)에 전달할 수 있다. 확인 결과는 인증 성공 또는 실패여부에 대한 정보를 포함할 수 있다.The authentication server 100 may check Account USER information and transmit the result of the check to the OSP 200 and the user terminal 300. The verification result may include information on whether authentication succeeds or fails.

또한, 인증 서버(100)는 BCE(800)에 인증 수행에 따른 BIDT 지급 요청을 수행할 수 있다. 일 실시 예에서, 인증 서버(100)는 BCE(800)에 AccountUSER정보 및 AccountOSP에 대한 정보를 전달할 수 있다. In addition, the authentication server 100 may perform a BIDT payment request to the BCE 800 according to authentication. In one embodiment, the authentication server 100 may transmit the account user information and the account OSP information to the BCE (800).

BCE(800)는 AccountOSP_BIDT 계정에 충전된 잔액 및 정책을 확인하고, 이에 따라 사용자 단말(300)에 BIDT를 지급할 수 있다. The BCE 800 may check the balance and policy charged in the Account OSP_BIDT account, and accordingly, may pay BIDT to the user terminal 300.

일 실시 예에서, BCE(800)는 BIDT 관리부(830)에 대하여 사용자 단말(300)에 지급한 BIDT에 대응하는 비용을 요청할 수 있다. BIDT 관리부(830)는 AccountOSP_BAAS 계정에 충전된 BAAS를 지급함으로써 BCE(800)에 비용을 지급할 수 있다.In an embodiment, the BCE 800 may request the BIDT management unit 830 for a cost corresponding to the BIDT paid to the user terminal 300. The BIDT management unit 830 may pay the BCE 800 by paying the BAAS charged to the Account OSP_BAAS account.

일 실시 예에서, BCE(800)는 사용자 단말(300)로부터 BIDT를 BAAS로 교환해줄 것을 요청받을 수 있다. 이 경우, BCE(800)는 환전 정책을 확인하고, 사용자 단말(300)에 BAAS를 지급할 수 있다.In an embodiment, the BCE 800 may receive a request from the user terminal 300 to exchange BIDT for BAAS. In this case, the BCE 800 may check the currency exchange policy and pay BAAS to the user terminal 300.

이후, BCE(800)는 BIDT를 BIDT 관리부(830)에 제공하고, BIDT 관리부(830)는 이에 대응하는 BAAS를 BCE(800)에 지급할 수 있다.Thereafter, the BCE 800 may provide the BIDT to the BIDT management unit 830, and the BIDT management unit 830 may pay the corresponding BAAS to the BCE 800.

도 11은 일 실시 예에 따른 BCE의 계정관리 방법을 설명하기 위한 도면이다.11 is a diagram for explaining an account management method of a BCE according to an embodiment.

도 11을 참조하면, 도 8에 도시된 바와 같은 BCE(800)의 구조가 도시되어 있다.Referring to FIG. 11, a structure of the BCE 800 as shown in FIG. 8 is shown.

일 실시 예에서, OSP(200)는 BCE(800)에게 AccountOSP를 전달하고, BCE(800)는 OSP(200)의 AccountOSP를 이용하여 서브 계정인 AccountOSP_BAAS와 AccountOSP_BIDT를 생성할 수 있다.In one embodiment, the OSP 200 transmits the Account OSP to the BCE 800, and the BCE 800 may create sub accounts, Account OSP_BAAS and Account OSP_BIDT , using the Account OSP of the OSP 200.

BCE(800)는 OSP(200)에 대한 서브 계정들을 생성한 후, 각각의 서브 계정에 OSP의 BAAS 및 BIDT를 보관할 수 있다.The BCE 800 may create sub accounts for the OSP 200 and then store the OSP's BAAS and BIDT in each sub account.

마찬가지로, BCE(800)는 BP(900)로부터 BP(900)의 계정인 AccountBP를 획득하고, 서브 계정인 AccountBP_BAAS 및 AccountBP_BRC를 생성할 수 있다. 마찬가지로, BCE(800)는 각각의 서브 계정에 BP의 BAAS 및 BRC를 저장할 수 있다.Similarly, BCE (800) can acquire the account Account of BP BP (900) from the BP (900), and generate a sub-account of Account Account BP_BAAS and BP_BRC. Likewise, the BCE 800 may store the BAAS and BRC of the BP in each sub-account.

일 실시 예에서, BaaS Relay는 OSP 계정 및 USD 입금을 확인한다.In one embodiment, BaaS Relay verifies OSP account and USD deposit.

예를 들어, BaaS Relay는 서로 다른 OSP 계정인 Account1OSP, Account2OSP, Account3OSP 등을 관리할 수 있다.For example, BaaS Relay can manage different OSP accounts such as Account1 OSP , Account2 OSP , and Account3 OSP .

또한, BaaS Relay는 외부 요청이 획득되는 경우 이를 BAAS 관리부(810), BRC 관리부(820) 및 BIDT 관리부(830) 중 각 요청에 대응하는 주체에 요청을 전달할 수 있다.In addition, when an external request is obtained, the BaaS Relay may transmit the request to a subject corresponding to each request among the BAAS management unit 810, the BRC management unit 820, and the BIDT management unit 830.

BAAS 관리부(810)는 서브 계정인 Account1OSP_BAAS, Account2OSP_BAAS, Account3OSP_BAAS 등을 관리할 수 있다.The BAAS management unit 810 may manage sub accounts such as Account1 OSP_BAAS , Account2 OSP_BAAS , and Account3 OSP_BAAS .

BRC 관리부(820)는 서브 계정인 Account1BP_BRC, Account2 BP_BRC, Account3 BP_BRC 등을 관리할 수 있다.The BRC management unit 820 may manage sub accounts such as Account1 BP_BRC , Account2 BP_BRC , and Account3 BP_BRC .

BIDT 관리부(830)는 서브 계정인 Account1OSP_BIDT, Account2OSP_BIDT, Account3OSP_BIDT 등을 관리할 수 있다.The BIDT management unit 830 may manage sub accounts such as Account1 OSP_BIDT , Account2 OSP_BIDT , and Account3 OSP_BIDT .

도 12는 일 실시 예에 따른 사용자의 월렛을 도시한 개념도이다.12 is a conceptual diagram illustrating a user's wallet according to an embodiment.

상술한 바와 같이, 사용자 단말(300)에는 개시된 실시 예에 따른 서비스 및 시스템을 이용하기 위한 애플리케이션이 설치된다. 본 명세서에서, 월렛(700)은 상술한 애플리케이션에 의하여 생성 및 저장되고, 인증정보 및 암호화폐 등을 저장하는 데 활용되는 일련의 전자지갑을 의미할 수 있다. As described above, an application for using a service and system according to the disclosed embodiment is installed in the user terminal 300. In this specification, the wallet 700 may refer to a series of electronic wallets that are created and stored by the above-described application and used to store authentication information and cryptocurrency.

또한, 본 명세서에서, 월렛(700)은 상술한 애플리케이션 자체를 의미할 수도 있으며, 이는 사용자의 인증정보뿐 아니라 다양한 암호화폐의 저장기능, 클라우드 저장공간(드라이브) 기능 등을 포함하는 일종의 “슈퍼 월렛”을 의미할 수도 있으며, 월렛의 구체적인 구성 및 기능은 제한되지 않는다.In addition, in this specification, the wallet 700 may refer to the above-described application itself, which is a kind of “super wallet that includes not only user authentication information but also various cryptocurrency storage functions, cloud storage space (drive) functions, etc. It may mean ”, and the specific configuration and function of the wallet are not limited.

일 실시 예에서, 사용자 단말(300)에 설치된 애플리케이션에 로그인하여 개시된 실시 예에 따른 시스템에 의하여 제공되는 서비스를 이용하기 위한 계정에 해당하는 BaaSid가 사용자에게 부여될 수 있다. 사용자는 BaaSid를 이용하여 애플리케이션에 로그인할 수 있으며, 이후 개시된 실시 예에 따른 애플리케이션의 서비스를 이용할 수 있다.In an embodiment, a BaaSid corresponding to an account for using a service provided by the system according to the disclosed embodiment by logging into an application installed in the user terminal 300 may be granted to the user. The user can log in to the application using BaaSid, and then can use the service of the application according to the disclosed embodiment.

일 실시 예에서, BaaSid 인증을 위한 간편 인증 수단으로서 패턴, 핀(PIN), 텍스트, 생체 정보 등이 선택적으로 입력될 수 있으며, 사용자는 해당 간편 인증 수단을 이용하여 애플리케이션을 실행할 수도 있다.In an embodiment, as a simple authentication means for BaaSid authentication, a pattern, PIN, text, biometric information, etc. may be selectively input, and the user may execute an application using the simple authentication means.

도 12를 참조하면, 개시된 실시 예에 따른 월렛(700)에서 제공할 수 있는 기능들이 도시되어 있다. 예를 들어, 월렛(700)에서 제공할 수 있는 기능으로는 전자 신분증(710), 전자지갑(720), 드라이브(730) 및 기타 다양한 기능들(740)을 포함할 수 있으나, 이에 제한되는 것은 아니다.Referring to FIG. 12, functions that can be provided by the wallet 700 according to the disclosed embodiment are illustrated. For example, functions that can be provided by the wallet 700 may include an electronic identification card 710, an electronic wallet 720, a drive 730, and various other functions 740, but are limited thereto. no.

기존의 블록체인 지갑(월렛)은 단순히 이체, 송금, 잔고확인 정도의 기능을 수행하였으나, 개시된 실시 예에 따른 월렛(700)은 다양한 암호화폐의 보관 및 거래, EID 및 신분증 기능, 웹사이트 로그인, 클라우드 드라이브 등 다양한 기능을 수행할 수 있다. The existing blockchain wallet (wallet) simply performed functions such as transfer, remittance, and balance check, but the wallet 700 according to the disclosed embodiment stores and transacts various cryptocurrencies, EID and ID functions, website login, and It can perform various functions such as cloud drive.

특히, 드라이브의 경우 블록체인 및 분산저장에 기반한 보안기능을 제공하여, 기존의 드라이브와 달리 사용자 단말 및 월렛에 저장된 인증수단 없이는 서버 관리자도 그 내용을 확인할 수 없도록 하는 것을 특징으로 하며, 이에 대한 구체적인 내용은 후술한다.In particular, Drive provides a security function based on blockchain and distributed storage, and unlike the existing Drive, it is characterized in that the server administrator cannot check the contents without the authentication means stored in the user terminal and wallet. The contents will be described later.

나아가, 월렛은 사용자의 개인정보, 인증정보, 카드결제 정보 등 보안이 필요한 모든 정보를 저장할 수 있으며, 이에 기반한 다양한 서비스를 제공하되, 다른 서비스들에 비해 높은 수준의 보안성을 제공할 수 있는 것을 특징으로 한다.Furthermore, wallets can store all information that needs security, such as user's personal information, authentication information, and card payment information, and provide various services based on this, but provide a higher level of security compared to other services. It is characterized.

도 13은 월렛의 신분증 기능을 제공하는 화면의 일 예를 도시한 도면이다.13 is a diagram illustrating an example of a screen providing an ID card function of a wallet.

도 13을 참조하면, 사용자 단말(300)에서 월렛 애플리케이션이 실행되는 화면의 일 예가 도시되어 있다.Referring to FIG. 13, an example of a screen on which a wallet application is executed in the user terminal 300 is shown.

일 실시 예에서, 월렛 애플리케이션은 ID탭(710), 월렛 탭(720) 및 드라이브 탭(730)과 개인 설정 탭을 포함할 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, the wallet application may include an ID tab 710, a wallet tab 720, a drive tab 730, and a personal setting tab, but is not limited thereto.

도 13에 도시된 화면은 ID탭(710)을 선택한 경우 표시되는 화면의 일 예이다.The screen shown in FIG. 13 is an example of a screen displayed when the ID tab 710 is selected.

일 실시 예에서, ID 탭 화면에는 개인 인증정보를 포함하는 전자 신분증이 표시될 수 있다. 전자 신분증에 포함되는 정보는 제한되지 않으나, 사용자의 사진, 이름, 국적, 생년월일 및 발급일자 등에 대한 정보가 포함될 수 있다.In an embodiment, an electronic identification card including personal authentication information may be displayed on the ID tab screen. The information included in the electronic identification card is not limited, but information on the user's photo, name, nationality, date of birth and issue date may be included.

화면에 표시되는 정보 외에도, 월렛 애플리케이션에는 사용자의 계정 정보와 EID 등 인증정보가 저장될 수 있으며, 웹사이트 로그인 혹은 본인인증 등을 위해 인증정보가 필요한 경우 월렛 애플리케이션은 저장된 인증정보 및 인증을 위하여 필요한 기타 정보들을 인증 주체에 전송할 수 있다.In addition to the information displayed on the screen, the wallet application may store user account information and authentication information such as EID, and if authentication information is required for website login or user authentication, the wallet application is required for the stored authentication information and authentication. Other information can be transmitted to the authentication subject.

실시 예에 따라서, 도 13에 도시된 전자 신분증은 온라인 및 오프라인 양측에서 사용될 수도 있으나, 온라인에서만 사용 가능한 것으로 그 용도가 제한될 수도 있다. 나아가, 도 13에 도시된 전자 신분증 및 월렛에 저장된 인증정보는 웹사이트의 로그인에만 사용할 수 있도록 그 용도가 제한될 수도 있으며, 이 경우 본인인증 등 기타 인증에는 사용할 수 없도록 용도가 제한될 수도 있다.Depending on the embodiment, the electronic identification card shown in FIG. 13 may be used both online and offline, but may be used only online and its use may be limited. Further, the use of the authentication information stored in the electronic ID card and wallet shown in FIG. 13 may be restricted so that it can be used only for login of the website, and in this case, the use may be restricted so that it cannot be used for other authentication such as identity authentication.

이외에도 전자 신분증을 사용할 수 있는 대상 및 그 용도는 기 설정된 기준에 따라 제한될 수 있다.In addition, the targets and uses for which the electronic identification card can be used may be restricted according to preset standards.

또한, 도 13에 도시된 도면을 참조하면 사용자에게 제공할 공지사항 또는 알림정보와, 과거의 애플리케이션, 신분증 및 인증정보 등의 이용 히스토리가 표시될 수 있다.In addition, referring to the drawing shown in FIG. 13, notices or notification information to be provided to the user, and usage history of past applications, identification cards, and authentication information may be displayed.

화면에 표시되는 정보의 종류는 제한되지 않으며, 기 설정된 목록 내에서 사용자가 선택한 정보들이 선별적으로 화면에 표시될 수도 있다.The type of information displayed on the screen is not limited, and information selected by the user within a preset list may be selectively displayed on the screen.

일 실시 예에서, 사용자의 계정별로 등급이 부여될 수 있다. 예를 들어, 사용자의 등급은 보유한 BAAS 또는 BIDT의 양, 개시된 실시 예에 따른 서비스 이용횟수 및 기간 등 다양한 기준에 기반하여 산정 및 부여될 수 있으며, 이에 제한되는 것은 아니다.In an embodiment, a rating may be assigned for each user's account. For example, the user's rating may be calculated and assigned based on various criteria, such as the amount of BAAS or BIDT possessed, the number and duration of service use according to the disclosed embodiment, but is not limited thereto.

다른 실시 예에서, 등급은 사용자가 수행한 인증의 단계를 의미할 수도 있다. 예를 들어, 상술한 바와 같이 사용자의 인증은 이메일 인증, SMS인증, KYC 인증 등을 단계적으로 포함하며, 사용자가 기 수행한 인증의 단계가 등급으로 표시될 수도 있다.In another embodiment, the grade may refer to the level of authentication performed by the user. For example, as described above, the user's authentication includes e-mail authentication, SMS authentication, KYC authentication, etc. step by step, and the level of authentication previously performed by the user may be displayed as a grade.

일 실시 예에서, 각 사용자에게 등급별로 상이한 혜택이 주어질 수 있다. 예를 들어, 사용자의 등급이 높을수록 하루에 보상으로 획득할 수 있는 BIDT의 양이나 BIDT를 획득할 수 있는 횟수가 증가할 수 있으나, 이에 제한되는 것은 아니다. 다른 예로, 사용자의 등급이 높을수록 암호화폐 거래에 따른 수수료가 감면될 수도 있다.In an embodiment, different benefits may be given to each user for each level. For example, as the user's rating increases, the amount of BIDT that can be acquired as a reward per day or the number of times that BIDT can be acquired may increase, but the present invention is not limited thereto. As another example, the higher the user's rating, the lower the fees for cryptocurrency transactions.

또한, 사용자의 등급이 높을수록 개시된 실시 예에 따른 전자 신분증을 사용할 수 있는 대상이 확대될 수도 있다. 예를 들어, 낮은 등급의 경우 전자 신분증을 특정 웹 사이트에서의 로그인에만 활용할 수 있지만, 등급이 높아질수록 전자 신분증을 이용하여 로그인할 수 있는 웹사이트의 종류가 다양해질 수 있다. 또한, 등급이 높아지면 전자 신분증을 이용하여 로그인뿐 아니라 본인인증을 수행할 수도 있으며, 그 외에도 전자 신분증을 이용할 수 있는 분야가 넓어질 수 있으나, 이에 제한되는 것은 아니다.Also, as the user's rating increases, the number of targets that can use the electronic identification card according to the disclosed embodiment may be expanded. For example, in the case of a low grade, an electronic identification card can be used only for logging in on a specific website, but as the grade increases, the types of websites that can be logged in using an electronic identification card may vary. In addition, when the grade increases, not only login but also user authentication may be performed using an electronic identification card. In addition, the field in which the electronic identification card can be used may expand, but is not limited thereto.

도 14는 월렛의 전자지갑 기능을 제공하는 화면의 일 예를 도시한 도면이다.14 is a diagram illustrating an example of a screen providing an electronic wallet function of a wallet.

도 14를 참조하면, 월렛에 저장된, 혹은 저장될 수 있는 하나 이상의 암호화폐에 대한 정보가 화면에 표시되어 있다. 화면에 표시되는 암호화폐의 종류는 제한되지 않으며, 월렛에 저장되거나 저장될 수 있는 하나 이상의 암호화폐 중 사용자가 선택한 암호화폐의 목록이 표시될 수 있다.Referring to FIG. 14, information on one or more cryptocurrencies that may or may be stored in a wallet is displayed on the screen. The type of cryptocurrency displayed on the screen is not limited, and a list of cryptocurrencies selected by the user among one or more cryptocurrencies that can be stored or stored in the wallet may be displayed.

또한, 실시 예에 따라 월렛에 한 번 이상 저장되었던 암호화폐들의 목록이 화면에 표시될 수 있으며, 이외에도 다양한 기준에 따라 암호화폐들이 화면에 표시될 수 있다.In addition, according to an embodiment, a list of cryptocurrencies that have been stored in the wallet more than once may be displayed on the screen, and cryptocurrencies may be displayed on the screen according to various criteria.

일 실시 예에서, 화면에는 상술한 BAAS 코인이 표시될 수 있으며, 코인의 보유량 및 이에 해당하는 현금가치 혹은 코인 1개당 현재 시세가 표시될 수도 있으며, 표시되는 정보의 종류는 제한되지 않는다.In one embodiment, the above-described BAAS coin may be displayed on the screen, and the amount of holding the coin and the corresponding cash value or the current price per coin may be displayed, and the type of displayed information is not limited.

이외에도, BIDT와 같은 토큰 및 그 보유량이 월렛에 표시될 수도 있다.In addition, tokens such as BIDT and their holdings may be displayed in the wallet.

일 실시 예에서, BIDT와 같이 직접 현금으로 교환되지 않을 수 있는 형태의 암호화폐라 할지라도 그 교환가치를 산정하여 현금가치가 화면에 표시될 수도 있다.In one embodiment, even in a form of cryptocurrency that cannot be directly exchanged for cash, such as BIDT, the cash value may be displayed on the screen by calculating the exchange value.

실시 예에 따라서, 사용자가 보유한 암호화폐라 할지라도 화면에 표시되지 않고 숨겨질 수 있으며, 각각의 암호화폐 보유량 또한 화면에 표시될 수도 있으나, 사용자의 선택에 따라 표시되지 않을 수도 있다.Depending on the embodiment, even the cryptocurrency held by the user may be hidden without being displayed on the screen, and the amount of each cryptocurrency may also be displayed on the screen, but may not be displayed according to the user's selection.

도 15는 월렛의 드라이브 기능을 제공하는 화면의 일 예를 도시한 도면이다.15 is a diagram illustrating an example of a screen providing a drive function of a wallet.

도 15를 참조하면, 월렛의 드라이브를 통해 제공하는 하나 이상의 항목의 카테고리가 화면에 표시될 수 있다.Referring to FIG. 15, categories of one or more items provided through a wallet drive may be displayed on a screen.

예를 들어, 드라이브를 통해 저장 및 제공될 수 있는 항목의 카테고리는 메모, 패스워드, 문서, 사진, 신용카드 및 동영상 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.For example, categories of items that can be stored and provided through the drive may include memos, passwords, documents, photos, credit cards, and videos, but are not limited thereto.

상술한 바와 같이, 드라이브를 통해 저장되는 정보는 블록체인에 기반하여 분산저장되므로, 일반적인 저장매체 혹은 클라우드 저장공간에 비해 높은 보안성을 제공한다.As described above, since information stored through the drive is distributed and stored based on a block chain, it provides high security compared to general storage media or cloud storage space.

블록체인에 기반한 데이터의 분산저장 방법에 대해서는 후술한다.A method for distributed storage of data based on the blockchain will be described later.

또한, 사용자 단말(300)에 저장된 정보가 없으면 드라이브 관리자 및 서버에서도 그 내용을 확인하는 것이 불가능하며, 사용자 단말(300)에 저장된 정보는 사용자를 통해 제공되는 인증정보(예를 들어, 생체정보 등) 없이는 접근이 불가능하도록 설정된다. In addition, if there is no information stored in the user terminal 300, it is impossible to check the contents in the drive manager and the server, and the information stored in the user terminal 300 is provided with authentication information (e.g., biometric information, etc.) ), access is impossible without it.

예를 들어, 개시된 실시 예에 따른 애플리케이션을 실행할 때 사용자 단말(300)은 사용자에게 인증정보 제공을 요청할 수 있다. 또한, 웹사이트 로그인, 본인인증 및 드라이브 접근 등을 위해 애플리케이션에 기반한 인증을 수행할 때, 사용자 단말(300)은 사용자에게 인증정보 제공을 요청할 수 있다.For example, when executing an application according to the disclosed embodiment, the user terminal 300 may request the user to provide authentication information. In addition, when performing application-based authentication for website login, user authentication, and drive access, the user terminal 300 may request the user to provide authentication information.

따라서, 사용자 단말(300)이 분실되는 경우 혹은 타인에 의하여 사용자 단말(300)이 이용되는 경우에도 드라이브에 저장된 정보는 획득이 불가능하도록 설정되며, 오직 사용자 본인이 직접 사용자 단말(300)을 이용하는 경우에만 드라이브에 저장된 정보들을 확인할 수 있도록 구성된다.Therefore, even when the user terminal 300 is lost or when the user terminal 300 is used by another person, information stored in the drive is set to be impossible to obtain, and only when the user himself or herself directly uses the user terminal 300 It is configured to only check the information stored on the drive.

따라서, 사용자는 일반적인 문서, 파일이나 메모 외에도 외부에 공개할 수 없는 기밀정보나, 본인의 아이디 및 패스워드 정보, 신용카드 및 기타 결제정보 등을 개시된 실시 예에 따른 드라이브에 안전하게 저장할 수 있다.Accordingly, in addition to general documents, files, and memos, the user may safely store confidential information that cannot be disclosed to the outside, personal ID and password information, credit card, and other payment information in the drive according to the disclosed embodiment.

단, 서로 다른 노드에 분산저장된 데이터의 적어도 일부에 대해 접근이 불가능한 경우가 있을 수 있다. 예를 들어, 노드들 중 적어도 일부에 대한 통신이 어렵거나, 노드들 중 적어도 일부에 장애가 발생하거나, 노드들 중 적어도 일부가 노드로서의 역할을 중단할 수 있다.However, there may be cases in which it is impossible to access at least some of the data distributed and stored in different nodes. For example, communication with at least some of the nodes may be difficult, at least some of the nodes may fail, or at least some of the nodes may cease to function as nodes.

이러한 경우에 대비하기 위하여, 개시된 실시 예에서는 안전 노드(Safe Node)를 마련하여 드라이브에 저장되는 모든 데이터를 안전 노드에도 함께 저장할 수 있다.In order to prepare for such a case, in the disclosed embodiment, a safe node may be provided so that all data stored in the drive may be stored together in the safe node.

이에 따라, 분산저장 네트워크에 포함된 노드로부터 특정 데이터의 획득이 어려운 경우, 해당 데이터는 안전 노드로부터 획득되어 사용자 단말(300)에 제공될 수 있다.Accordingly, when it is difficult to obtain specific data from a node included in the distributed storage network, the data may be obtained from a safe node and provided to the user terminal 300.

도 12 내지 도 15를 참조하여 상술한 바와 같이, 개시된 실시 예에 따른 월렛 애플리케이션은 사용자의 인증정보, 전자 신분증, 전자지갑 및 각종 정보가 저장되는 드라이브를 포함하는 통합 서비스를 제공할 수 있다.As described above with reference to FIGS. 12 to 15, the wallet application according to the disclosed embodiment may provide an integrated service including a user's authentication information, an electronic ID card, an electronic wallet, and a drive storing various types of information.

이에 따라, 사용자의 이용상의 편의성을 높일 수 있으며, 동시에 개인정보 유출이나 해킹 등으로부터 안전한 높은 보안성을 갖는 서비스를 제공할 수 있는 바 기존의 서비스들과 차별화된 사용자 경험을 제공할 수 있다.Accordingly, it is possible to increase the user's convenience in use and at the same time provide a service having high security that is safe from leakage of personal information or hacking, etc., thereby providing a user experience differentiated from existing services.

도 16은 일 실시 예에 따른 데이터 분산저장 및 조합방법을 도시한 도면이다.16 is a diagram illustrating a method of distributed storage and combination of data according to an embodiment.

상술한 바와 같이, 개시된 실시 예에 따른 시스템은 데이터를 분산저장함으로써 데이터를 안전하게 보관하고, 사용자 단말(300)을 통한 사용자 본인의 인증이 없으면 저장된 데이터를 확인하는 것이 불가능하도록 구성되는 것을 특징으로 한다.As described above, the system according to the disclosed embodiment is characterized in that it is configured to safely store data by distributing and storing data, and to make it impossible to check the stored data without the user's authentication through the user terminal 300. .

이하에서 설명되는 실시 예의 각 단계들은 개시된 실시 예에 따른 시스템의 서버에 의하여 수행될 수 있으나, 이에 제한되는 것은 아니다. 일 실시 예에서, 본 실시 예에서 언급되는 서버는 상술한 인증서버(100)에 대응할 수 있다.Each of the steps of the embodiments described below may be performed by the server of the system according to the disclosed embodiment, but is not limited thereto. In one embodiment, the server mentioned in this embodiment may correspond to the above-described authentication server 100.

일 실시 예에서, 서버(100)는 사용자 단말(300)로부터 시스템에 저장하기 위한 입력 데이터(1000)를 획득한다. 시스템에 저장되는 입력 데이터(1000)의 종류는 제한되지 않으며, 예를 들어 개인식별정보 등의 인증 데이터와, 결제정보, 그리고 텍스트, 이미지, 동영상, 음성, 문서 등의 파일 정보를 포함할 수 있다. 개시된 실시 예에서, 파일은 컴퓨터에서 사용 가능한 모든 형태의 데이터를 의미하며, 예를 들어 문서의 경우 hwp, doc, pdf 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, the server 100 obtains input data 1000 for storage in the system from the user terminal 300. The type of input data 1000 stored in the system is not limited, and may include authentication data such as personal identification information, payment information, and file information such as text, image, video, voice, and document. . In the disclosed embodiment, a file refers to all types of data usable in a computer, and for example, a document may include hwp, doc, pdf, etc., but is not limited thereto.

즉, 본 실시 예에 따른 분산저장 방법은 도 13에 도시된 전자 신분증과 도 15에 도시된 드라이브 서비스를 제공하는 데 활용될 수 있다.That is, the distributed storage method according to the present embodiment may be used to provide the electronic identification card shown in FIG. 13 and the drive service shown in FIG. 15.

일 실시 예에서, 서버(100)는 입력 데이터(1000)에 대한 전처리를 수행한다. 입력 데이터(1000)의 구체적인 전처리 방법에 대해서는 후술한다.In one embodiment, the server 100 performs preprocessing on the input data 1000. A detailed preprocessing method of the input data 1000 will be described later.

일 실시 예에서, 서버(100)는 SPLIT 모듈을 호출하고, SPLIT 모듈은 입력 데이터(1000)를 복수의 조각으로 분할한다. 데이터를 복수의 조각으로 분할하는 구체적인 방법 및 입력 데이터(1000)가 분할되는 조각의 개수는 제한되지 않는다.In one embodiment, the server 100 calls the SPLIT module, and the SPLIT module divides the input data 1000 into a plurality of pieces. A specific method of dividing data into a plurality of pieces and the number of pieces into which the input data 1000 is divided are not limited.

일 실시 예에서, 서버(100)는 분할된 조각들을 IPFS(Inter-Planetary File System) 시스템(1100)을 이용하여 저장한다. IPFS 시스템(1100)은 데이터를 분산저장 네트워크(1200)에 분할하여 저장하며, 데이터를 해시한 값(1002)을 블록체인(1110)에 저장한다. 분산저장 네트워크(1200)에 분할하여 저장된 데이터는 데이터의 해시값(1002)에 기반하여 탐색 및 획득될 수 있다.In an embodiment, the server 100 stores the divided pieces by using the IPFS (Inter-Planetary File System) system 1100. The IPFS system 1100 divides and stores data in the distributed storage network 1200, and stores the hashed value 1002 in the blockchain 1110. The data divided and stored in the distributed storage network 1200 may be searched and acquired based on the hash value 1002 of the data.

일 실시 예에서, IPFS 시스템(1100)은 SPLIT 모듈에 의하여 분할된 데이터 조각들을 분산저장 네트워크(1200)에 분할하여 저장하며, 데이터를 해시한 값(1002)을 블록체인(1110)에 저장할 수 있다. In one embodiment, the IPFS system 1100 divides and stores data fragments divided by the SPLIT module in the distributed storage network 1200, and stores the hashed data 1002 in the blockchain 1110. .

일 실시 예에서, 분산저장 네트워크(1200)는 복수의 노드로 구성되며, 각각의 노드에 데이터 조각들이 분산저장될 수 있다. 일 실시 예에서, IPFS 시스템(1100)은 데이터 조각들이 분산저장된 위치에 대한 정보를 저장할 수 있으며, 이는 데이터의 해시값(1002)에 기반하여 탐색될 수 있다. 실시 예에 따라서, 분산저장 네트워크(1200)에 포함된 각각의 노드들은 동일한 데이터의 다른 데이터 조각을 저장하는 다른 노드에 대한 정보를 저장할 수도 있다.In an embodiment, the distributed storage network 1200 is composed of a plurality of nodes, and pieces of data may be distributed and stored in each node. In an embodiment, the IPFS system 1100 may store information on a location where pieces of data are distributed and stored, which may be searched based on a hash value 1002 of data. According to an embodiment, each of the nodes included in the distributed storage network 1200 may store information on other nodes that store different pieces of data of the same data.

다른 실시 예에서, IPFS 시스템(1100)은 SPLIT 모듈에 의하여 분할된 데이터 조각 자체를 IPFS 시스템(1100)의 분할 도구를 이용하여 다시 분할하고, 분할된 데이터 조각 각각을 해시하여 그 해시값을 블록체인에 저장할 수도 있다.In another embodiment, the IPFS system 1100 divides the data fragment itself divided by the SPLIT module again using the partitioning tool of the IPFS system 1100, hashes each of the divided data pieces, and uses the You can also save it.

IPFS 시스템(1100)은 블록체인(1110)에 저장된 해시값(1002)을 리턴하며, 서버(100)는 리턴된 해시값(1002)의 적어도 일부를 저장할 수 있다. 실시 예에 따라서, 서버(100)는 리턴된 해시값(1002)을 다시 분산저장할 수 있으며, 이에 대한 구체적인 내용은 후술한다.The IPFS system 1100 returns the hash value 1002 stored in the block chain 1110, and the server 100 may store at least a portion of the returned hash value 1002. According to an embodiment, the server 100 may re-distributedly store the returned hash value 1002, and detailed information about this will be described later.

이후 분산저장된 데이터를 획득하고자 하는 경우, 서버(100)는 해시값(1002)에 기반하여 분산저장 네트워크(1200)에 저장된 데이터 조각들을 획득할 수 있다. Thereafter, in the case of obtaining distributedly stored data, the server 100 may obtain pieces of data stored in the distributed storage network 1200 based on the hash value 1002.

서버(100)는 MERGE 모듈을 호출하고, 분산저장 네트워크(1200)로부터 획득된 데이터 조각들을 병합하여 데이터를 획득할 수 있다.The server 100 may obtain data by calling the MERGE module and merging pieces of data obtained from the distributed storage network 1200.

서버(100)는 데이터에 대하여 수행된 전처리에 대응하는 후처리를 통해 최종 데이터(1010)를 획득할 수 있으며, 최종 데이터(1010)를 획득하기 위하여 수행되는 구체적인 후처리 방법에 대해서는 후술한다.The server 100 may obtain the final data 1010 through post-processing corresponding to the pre-processing performed on the data, and a detailed post-processing method performed to obtain the final data 1010 will be described later.

일 실시 예에서, 도 16에 도시된 입력 데이터(1000)와 획득 데이터(1010)는 서로 동일한 데이터일 수도 있고, 입력 데이터(1000)에 대하여 수행되는 전처리 및 후처리 방법에 따라 입력 데이터(1000)와 획득 데이터(1010)는 서로 상이할 수도 있다.In one embodiment, the input data 1000 and the acquisition data 1010 shown in FIG. 16 may be the same data, or the input data 1000 according to a pre-processing and post-processing method performed on the input data 1000 And the acquired data 1010 may be different from each other.

예를 들어, 입력 데이터(1000)가 인증 데이터인 경우 입력 데이터(1000)와 획득 데이터(1010)는 서로 상이할 수 있으며, 이에 대해서는 도 18을 참조하여 후술한다.For example, when the input data 1000 is authentication data, the input data 1000 and the acquired data 1010 may be different from each other, which will be described later with reference to FIG. 18.

도 17은 일 실시 예에 따른 데이터의 전처리 및 후처리 방법을 설명하기 위한 도면이다.17 is a diagram illustrating a method of pre-processing and post-processing data according to an exemplary embodiment.

도 17을 참조하면, 도 16에 도시된 바와 같은 분산저장 시스템이 도시되어 있다.Referring to FIG. 17, a distributed storage system as shown in FIG. 16 is shown.

일 실시 예에서, 서버(100)는 사용자 단말(300)로부터 획득된 입력 데이터(1000)에 대한 비식별화를 수행할 수 있다. 예를 들어, 서버(100)는 사용자 단말(300)로부터 획득되는 사용자의 개인식별정보에 대한 비식별화를 수행할 수 있다. 개시된 실시 예에서, 개인식별정보(Personally Identifiable Information)란 생존하는 개인에 관한 정보로서 해당 정보에 의하여 개인을 식별할 수 있는 정보를 말한다. 즉, 하나 이상의 다른 정보와 결합하여 개인을 식별할 수 있는 정보들을 포함하며, 예를 들어 개인정보, 민감정보, 생체정보 등을 포함할 수 있다.In an embodiment, the server 100 may perform de-identification of the input data 1000 obtained from the user terminal 300. For example, the server 100 may de-identify the user's personal identification information obtained from the user terminal 300. In the disclosed embodiment, personally identifiable information refers to information about a surviving individual, which can identify an individual by the information. That is, it includes information capable of identifying an individual by combining with one or more other information, and may include, for example, personal information, sensitive information, biometric information, and the like.

비식별화는 원본 데이터를 가공 및 변조하여 원본 데이터의 내용을 직접적으로 파악할 수 없도록 하는 것으로, 데이터 저장의 전처리 단계에서 수행된다. 일반적으로 데이터에 포함된 개인정보를 식별할 수 없도록 하는 데 이용되나, 반드시 이에 제한되는 것은 아니다.De-identification is to process and alter the original data so that the contents of the original data cannot be directly grasped, and is performed in the preprocessing stage of data storage. In general, it is used to make it impossible to identify personal information included in data, but is not limited thereto.

입력 데이터(1000)에 대한 비식별화 방법은 특정한 방법으로 제한되지 않으나, 개시된 실시 예에서 이용될 수 있는 구체적인 비식별화 방법의 일 예에 대해서는 후술한다.The de-identification method for the input data 1000 is not limited to a specific method, but an example of a specific de-identification method that can be used in the disclosed embodiment will be described later.

일 실시 예에서, 서버(100)는 비식별화 처리된 데이터의 암호화를 수행할 수 있다. 암호화에 사용되는 구체적인 기술이나 알고리즘은 제한되지 않으나, 예를 들어 AES256 알고리즘에 의한 암호화가 수행될 수 있다.In one embodiment, the server 100 may encrypt data that has been de-identified. The specific technique or algorithm used for encryption is not limited, but encryption may be performed by, for example, the AES256 algorithm.

암호화된 데이터는 SPLIT 모듈에 의하여 분할 여부, 분할 사이즈 및 분할 개수를 포함하는 분할 설정이 결정된 후 데이터 조각들로 분할될 수 있다. 분할 설정을 수행하는 방법은 제한되지 않으나, 사용자에 의하여 기 설정된 분할 설정이 적용될 수도 있으며, 이 경우 해당 분할 설정은 설정 파일에 의하여 SPLIT 모듈에 전달될 수 있다. 또한, 분할 설정은 데이터의 크기 및 종류 등에 기반하여 SPLIT 모듈에 의하여 자동으로 결정될 수도 있다.The encrypted data may be divided into data pieces after a division setting including whether or not to be divided, a division size, and the number of divisions is determined by the SPLIT module. A method of performing the division setting is not limited, but a division setting preset by the user may be applied. In this case, the division setting may be transmitted to the SPLIT module by a configuration file. Further, the division setting may be automatically determined by the SPLIT module based on the size and type of data.

SPLIT 모듈에 의하여 분할된 데이터 조각들은 IPFS 시스템(1100)에 전달되며, IPFS 시스템(1100)은 분할된 데이터 조각들을 분산저장 네트워크(1200)의 노드들에 저장하고, 데이터를 해시한 해시 결과값(1002)을 리턴한다.The data fragments divided by the SPLIT module are transferred to the IPFS system 1100, and the IPFS system 1100 stores the divided data fragments in nodes of the distributed storage network 1200, and hash result ( 1002) is returned.

서버(100)는 분산저장된 데이터를 획득하고자 하는 경우 상술한 바와 같이 데이터의 해시값에 기반하여 IPFS 시스템(1100)으로부터 데이터 조각들을 획득한 후, MERGE 모듈을 호출하여 데이터를 조합한다.When attempting to obtain distributedly stored data, the server 100 acquires pieces of data from the IPFS system 1100 based on the hash value of the data as described above, and then calls the MERGE module to combine the data.

서버(100)는 조합된 데이터들을 복호화하며, 복호화에 이용되는 알고리즘은 제한되지 않으나 상술한 바와 같이 데이터가 AES256 알고리즘에 기반하여 암호화된 경우 동일한 방법을 이용하여 데이터를 복호화할 수 있다.The server 100 decrypts the combined data, and the algorithm used for decryption is not limited, but as described above, when the data is encrypted based on the AES256 algorithm, the data may be decrypted using the same method.

서버(100)는 복호화된 데이터로부터 비식별화 코드를 제거함으로써 최종 데이터(1010)를 획득할 수 있다.The server 100 may obtain the final data 1010 by removing the de-identification code from the decoded data.

서버(100)는 데이터를 비식별화하는 데 이용한 방법에 대한 정보를 저장하거나, 데이터의 비식별화 규칙을 저장함으로써, 비식별화된 데이터로부터 비식별화 코드를 제거할 수 있도록 구성될 수 있다.The server 100 may be configured to remove the de-identification code from the de-identified data by storing information on a method used to de-identify data or by storing a de-identification rule of data. .

도 17에 도시된 실시 예에 따르면, 도 17에 도시된 입력 데이터(1000)와 최종적으로 획득된 획득 데이터(1010)는 서로 동일할 수 있다. 이는 개시된 실시 예에 따른 시스템이 인증정보의 저장 및 인증에 활용되는 경우에는 상이할 수 있다.According to the embodiment illustrated in FIG. 17, the input data 1000 illustrated in FIG. 17 and the finally acquired acquired data 1010 may be identical to each other. This may be different when the system according to the disclosed embodiment is used for storing and authenticating authentication information.

도 18은 일 실시 예에 따른 분산저장 및 조합을 통한 인증시스템을 도시한 도면이다.18 is a diagram illustrating an authentication system through distributed storage and combination according to an embodiment.

일 실시 예에서, 서버(100)는 사용자 단말(300)로부터 인증 데이터(1000)를 획득할 수 있다. 예를 들어, 인증 데이터(1000)는 상술한 EID 또는 사용자의 개인식별정보를 포함할 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, the server 100 may obtain the authentication data 1000 from the user terminal 300. For example, the authentication data 1000 may include the above-described EID or personal identification information of the user, but is not limited thereto.

일 실시 예에서, 서버(100)는 인증 데이터(1000)를 해시할 수 있다.In an embodiment, the server 100 may hash the authentication data 1000.

인증 데이터의 경우, 보안을 위해 원본이 아닌 해시값을 저장하는 것이 일반적이다. 또한, 인증 데이터의 경우 인증시 저장된 인증 데이터와의 동일성만을 확인하면 되기 때문에, 서버(100)는 인증 데이터(1000)에 대한 해시를 수행한다.In the case of authentication data, it is common to store a hash value other than the original for security. In addition, in the case of authentication data, since only the identity with the stored authentication data during authentication needs to be checked, the server 100 performs a hash on the authentication data 1000.

이후 절차는 도 17과 관련하여 설명된 바와 같다. 일 실시 예에서, 서버(100)는 인증 데이터(1000)의 해시값을 비식별화하고, 비식별화된 데이터를 암호화한다. 서버는 암호화된 데이터를 SPLIT 모듈을 이용하여 분할하고, 분할된 데이터 조각들은 IPFS 시스템(1100)에 기반하여 분산저장된다.Subsequent procedures are as described with reference to FIG. 17. In one embodiment, the server 100 de-identifies the hash value of the authentication data 1000 and encrypts the de-identified data. The server divides the encrypted data using the SPLIT module, and the divided data pieces are distributed and stored based on the IPFS system 1100.

일 실시 예에서, 서버(100)는 사용자 단말(300)로부터 인증요청을 수신할 수 있다. 서버는 인증요청과 함께 수신된 인증정보(1020)를 해시할 수 있으며, 실시 예에 따라 해시된 인증정보(1030)가 인증요청과 함께 서버에서 수신될 수도 있다.In an embodiment, the server 100 may receive an authentication request from the user terminal 300. The server may hash the authentication information 1020 received together with the authentication request, and according to an embodiment, the hashed authentication information 1030 may be received from the server together with the authentication request.

서버는 IPFS 시스템(1100)으로부터 사용자의 인증 데이터(1000)를 분산저장한 데이터 조각들을 획득하고, MERGE 모듈을 이용하여 획득된 데이터 조각들을 조합한다. 서버는 조합된 데이터를 복호화하고, 이로부터 비식별화 코드를 제거함으로써 해시된 인증 데이터(1010)를 획득한다.The server acquires data pieces in which the user's authentication data 1000 is distributed and stored from the IPFS system 1100, and combines the acquired data pieces using the MERGE module. The server decrypts the combined data and obtains the hashed authentication data 1010 by removing the de-identification code from it.

서버는 인증요청과 함께 획득된 인증 데이터(1020)의 해시값(1030)을, 분산저장된 데이터로부터 획득된 데이터(1010)와 비교하고, 그 일치여부에 따라 인증 성공여부를 결정할 수 있다.The server may compare the hash value 1030 of the authentication data 1020 obtained together with the authentication request with the data 1010 obtained from distributedly stored data, and determine whether or not the authentication is successful.

도 19는 일 실시 예에 따른 비식별화 방법을 도시한 도면이다.19 is a diagram illustrating a de-identification method according to an embodiment.

개시된 실시 예에서, 서버는 데이터를 분산저장하기 전의 전처리 단계의 하나로서 데이터에 대한 비식별화를 수행한다. 일 실시 예에서, 데이터의 비식별화는 데이터의 암호화 전단계에서 수행될 수 있다. 또한, 데이터의 비식별화는 데이터의 해시 이후 단계에서 수행될 수 있다.In the disclosed embodiment, the server performs de-identification of data as one of the preprocessing steps before distributed storage of the data. In an embodiment, de-identification of data may be performed before encryption of data. In addition, de-identification of data may be performed in a step after hashing of data.

개시된 실시 예에서, 데이터의 비식별화는 랜덤 문자 집합(Random Character Set, 1350)으로부터 랜덤하게 추출된 문자와 데이터(1300)를 결합하는 방식으로 데이터를 가공함으로써 수행된다.In the disclosed embodiment, the de-identification of data is performed by processing the data in a manner that combines the data 1300 and characters randomly extracted from a random character set (Random Character Set) 1350.

랜덤 문자 집합(1350)에 포함되는 문자의 종류는 제한되지 않으며, 랜덤 문자 집합(1350)은 공통적으로 이용되거나 기 설정된 기준에 따라 변경될 수 있으며, 실시 예에 따라 사용자별로 상이한 랜덤 문자 집합(1350)이 이용될 수도 있다.The types of characters included in the random character set 1350 are not limited, and the random character set 1350 may be commonly used or may be changed according to a preset criterion. According to an embodiment, the random character set 1350 is different for each user. ) May be used.

또한, 랜덤 문자 집합(1350)으로부터 추출된 문자와 데이터(1300)의 결합방식 또한 제한되지 않는다. 예를 들어, 서버(100)는 비식별화를 수행할 데이터(1300)에서 랜덤 문자 집합(1350)으로부터 추출된 문자가 결합될 위치를 결정할 수 있으며, 이는 기 설정된 규칙에 의하여 결정될 수도 있고, 임의로 결정될 수도 있다. 서버(100)는 결정된 위치에 랜덤 문자 집합(1350)으로부터 추출된 문자를 결합할 수 있으며, 추출된 문자가 결합되는 순서 또한 다양하게 결정될 수 있다.Also, a method of combining the characters extracted from the random character set 1350 and the data 1300 is not limited. For example, the server 100 may determine the location where the characters extracted from the random character set 1350 are combined in the data 1300 to be de-identified, which may be determined according to a preset rule, or It may be decided. The server 100 may combine characters extracted from the random character set 1350 at the determined location, and the order in which the extracted characters are combined may also be determined in various ways.

또한, 비식별화 코드(랜덤 문자 집합으로부터 추출된 문자)가 데이터(1300)와 결합되는 방법은 제한되지 않으며, 도 19에 도시된 바와 같은 단순 삽입뿐 아니라 비식별화 코드를 이용하여 데이터를 연산함으로써 데이터를 가공하는 방법도 이용될 수 있다.In addition, the method in which the de-identification code (character extracted from the random character set) is combined with the data 1300 is not limited, and data is calculated using the de-identification code as well as simple insertion as shown in FIG. By doing so, a method of processing the data can also be used.

비식별화 데이터가 결합된 위치 혹은 결합 규칙에 대한 정보는 추후 비식별화된 데이터의 비식별화 코드 제거를 위해 별도로 저장될 수 있다.Information on a location or a combination rule to which the de-identified data is combined may be stored separately to remove the de-identification code of the de-identified data later.

도 20은 일 실시 예에 따른 연결자에 기반한 데이터 분산저장 및 조합방법을 도시한 도면이다.20 is a diagram illustrating a method of distributing and combining data based on a connector according to an embodiment.

도 20을 참조하면, 도 16에 도시된 바와 같은 데이터 분산저장 시스템이 도시되어 있다. 단, 도 20에는 도 16에 도시된 IPFS 시스템 대신 분산저장 네트워크(1200)와 블록체인(1400) 및 연결자(1250)가 도시되어 있다.Referring to FIG. 20, a data distributed storage system as shown in FIG. 16 is shown. However, in FIG. 20, instead of the IPFS system shown in FIG. 16, a distributed storage network 1200, a blockchain 1400, and a connector 1250 are shown.

일 실시 예에서, 서버(100)는 입력 데이터(1000)에 대한 전처리를 수행한 후, SPLIT 모듈을 호출하여 데이터를 분할함으로써 데이터 조각들을 생성할 수 있다.In an embodiment, the server 100 may generate data fragments by performing preprocessing on the input data 1000 and then calling the SPLIT module to divide the data.

분할된 데이터 조각들은 분산저장 네트워크(1200)의 노드들에 분산저장되며, 분산저장된 데이터들을 추적하기 위한 정보로서 연결자(1250)가 생성된다. 실시 예에 따라서, 연결자(1250)와 데이터가 분산저장된 노드들 간의 관계를 나타내는 조각 분산 맵이 생성되어 저장될 수도 있다.The divided data pieces are distributedly stored in nodes of the distributed storage network 1200, and a connector 1250 is generated as information for tracking distributed stored data. According to an embodiment, a fragment distribution map indicating a relationship between the connector 1250 and nodes in which data is distributed and stored may be generated and stored.

일 실시 예에서, 조각 분산 맵은 분산저장 네트워크(1200)에서 데이터 조각들이 저장된 노드에 관한 정보 및 데이터 조각들이 저장된 순서에 대한 정보를 포함할 수 있다. 서버(100)는 연결자(1250)를 이용하여 조각 분산 맵에서 추적할 데이터에 대한 정보를 탐색할 수 있으며, 탐색된 정보에 기반하여 데이터 조각들을 추적할 수 있다.In an embodiment, the fragment distribution map may include information on a node in which data fragments are stored in the distributed storage network 1200 and information on an order in which the data fragments are stored. The server 100 may use the connector 1250 to search for information on data to be tracked in the fragment distribution map, and track data pieces based on the searched information.

또한, 연결자(1250)는 블록체인(1400)에 분산저장될 수 있다. 예를 들어, 연결자(1250)는 2개 이상의 조각으로 분할되어, 블록체인(1400)의 2개 이상의 노드에 분산저장될 수 있다.In addition, the connector 1250 may be distributed and stored in the blockchain 1400. For example, the connector 1250 may be divided into two or more pieces, and distributed and stored in two or more nodes of the blockchain 1400.

일 실시 예에서, 연결자(1250)가 저장된 노드의 위치에 대한 정보를 포함하는 연결자 분산 맵이 생성되어 저장될 수도 있다.In an embodiment, a connector distribution map including information on the location of a node in which the connector 1250 is stored may be generated and stored.

분산저장된 데이터의 획득이 필요한 경우, 서버(100)는 연결자 분산 맵에 기반하여 블록체인(1400)으로부터 연결자(1250)를 획득할 수 있다. 또한, 서버(100)는 연결자 및 조각 분산 맵을 이용하여 분산저장 네트워크(1200)에 저장된 데이터 조각들을 획득할 수 있다.When it is necessary to obtain distributedly stored data, the server 100 may obtain the connector 1250 from the blockchain 1400 based on the connector distribution map. In addition, the server 100 may acquire pieces of data stored in the distributed storage network 1200 by using a connector and a piece distribution map.

이후, 서버(100)는 MERGE 모듈을 호출하여 데이터 조각들을 조합하고, 이를 후처리함으로써 데이터를 획득할 수 있다.Thereafter, the server 100 may call the MERGE module to combine data pieces and post-process the data to obtain data.

도 20에 도시된 실시 예에서, 분산저장 네트워크(1200)는 도 16에 도시된 분산저장 네트워크(1200)에, 블록체인(1400)은 도 16에 도시된 IPFS 시스템 내부의 블록체인(1110)에 각각 대응할 수 있으며, 실시 예에 따라 연결자(1250)는 도 16에 도시된 데이터의 해시 값(1002)에 대응할 수도 있다.In the embodiment shown in FIG. 20, the distributed storage network 1200 is in the distributed storage network 1200 shown in FIG. 16, and the blockchain 1400 is in the block chain 1110 inside the IPFS system shown in FIG. Each may correspond, and according to an embodiment, the connector 1250 may correspond to the hash value 1002 of data shown in FIG. 16.

도 21은 일 실시 예에 따라 사용자 단말을 포함하는 데이터의 분산저장 시스템을 도시한 도면이다.21 is a diagram illustrating a data distribution storage system including a user terminal according to an embodiment.

도 21을 참조하면, 도 16에 도시된 바와 유사한 데이터의 분산저장 시스템이 도시되어 있다.Referring to FIG. 21, a distributed storage system for data similar to that shown in FIG. 16 is shown.

단, 도 21에 도시된 실시 예에 따르면 분산저장 과정에 사용자 단말(300)을 참여시킴으로써, 사용자 단말(300) 없이는 분산저장된 데이터를 획득할 수 없도록 하는 것을 특징으로 한다.However, according to the embodiment shown in FIG. 21, by participating the user terminal 300 in the distributed storage process, the distributed storage data cannot be obtained without the user terminal 300.

일 실시 예에서, 서버(100)는 입력 데이터(1000)에 대한 전처리를 수행하고, SPLIT 모듈에 기반하여 데이터를 복수의 데이터 조각으로 분할한 후, 이를 IPFS 시스템(1100)을 통해 분산저장한다.In an embodiment, the server 100 performs pre-processing on the input data 1000, divides the data into a plurality of data pieces based on the SPLIT module, and then distributes and stores the data through the IPFS system 1100.

서버(100)는 IPFS 시스템(1100)으로부터 데이터의 해시값(1002)을 리턴받으며, 데이터의 해시값(1002)을 이용하여 IPFS 시스템(1100)으로부터 데이터 조각들을 탐색 및 획득할 수 있다.The server 100 may return a hash value 1002 of data from the IPFS system 1100, and may search for and obtain pieces of data from the IPFS system 1100 using the hash value 1002 of the data.

서버(100)는 리턴된 해시값(1002)을 M:N으로 분할하여, M%는 사용자 단말(300)에 전송하고, N%는 블록체인(1500)에 배포하여 저장한다. N%의 해시값이 저장되는 블록체인의 종류 및 구성은 제한되지 않는다.The server 100 divides the returned hash value 1002 into M:N, transmits M% to the user terminal 300, and distributes and stores N% to the blockchain 1500. The type and composition of the blockchain in which N% of hash values are stored are not limited.

일 실시 예에서, M%와 N%의 합은 100%가 되도록 구성되며, 그 구체적인 비율은 한정되지 않으나, 예를 들어, M%는 51%, N%는 49%가 되도록 해시값이 분할될 수 있다. 단, 해시값을 분할하는 M%와 N%의 비율은 이에 제한되지 않으며, 사용자의 설정 혹은 데이터의 특성에 따라 다양하게 설정될 수 있고, 또한 유동적으로 변경될 수 있다.In one embodiment, the sum of M% and N% is configured to be 100%, and the specific ratio is not limited, but for example, the hash value is divided so that M% is 51% and N% is 49%. I can. However, the ratio of M% and N% for dividing the hash value is not limited thereto, and may be variously set according to the user's setting or the characteristics of the data, and may be changed flexibly.

사용자 단말(300)은 상술한 애플리케이션에 기반하여, 서버(100)로부터 수신된 M%의 해시값을 저장한다. 예를 들어, M%의 해시값은 사용자의 인증 데이터와 함께 애플리케이션을 통해 저장될 수 있다.The user terminal 300 stores a hash value of M% received from the server 100 based on the above-described application. For example, the hash value of M% may be stored through the application together with the user's authentication data.

사용자 단말(300)에 저장되는 M%의 데이터는 서버(100) 또는 블록체인(1500)에는 저장되지 않거나, 사용자 인증이 없이는 접근할 수 없는 형태로 저장됨으로써, 사용자가 M%의 데이터를 제공하지 않으면 서버(100)가 저장된 데이터를 획득할 수 없도록 구성될 수 있다.M% of data stored in the user terminal 300 is not stored in the server 100 or the blockchain 1500, or is stored in a form that cannot be accessed without user authentication, so that the user does not provide M% of data. Otherwise, the server 100 may be configured so that the stored data cannot be obtained.

일 실시 예에서, 사용자가 M%의 데이터가 저장된 사용자 단말(300)을 분실하거나, 사용자 단말(300)이 백업되지 않은 상태로 파손될 수 있다.In one embodiment, the user may lose the user terminal 300 in which M% of data is stored, or the user terminal 300 may be damaged without being backed up.

이러한 경우를 대비하여, 서버(100)는 사용자의 계정과 관련된 데이터를 별도로 저장하며, 사용자 단말(300)을 통해 사용자의 계정을 복구하기 위한 정보가 획득되는 경우 복구 데이터를 사용자 단말로 전송할 수 있다.In preparation for such a case, the server 100 separately stores data related to the user's account, and when information for recovering the user's account is obtained through the user terminal 300, the recovery data may be transmitted to the user terminal. .

일 실시 예에서, 사용자 계정의 복구에는 BIP 39 표준에 기반한 12개의 단어를 포함하는 니모닉 코드(Mnemonic code)가 이용될 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, a mnemonic code including 12 words based on the BIP 39 standard may be used to restore a user account, but is not limited thereto.

일 실시 예에서, 사용자 계정의 복구에 이용되는 니모닉 코드가 분실되는 경우를 대비하기 위하여 안전 노드(Safe Node)에 니모닉 코드가 보관될 수 있다. 일 실시 예에서, 안전 노드는 프라이빗 블록체인 형태로 구성될 수 있으며, 안전 노드에 저장되는 데이터는 개시된 실시 예에 따른 분할 방법을 통해 분산저장될 수 있다. 다른 실시 예에서, 안전 노드와 별도의 프라이빗 블록체인 형태로 구성되는 사용자의 프라이빗 클라우드를 통해 복구를 위한 데이터가 저장되거나, 일부 정보가 백업될 수도 있다.In one embodiment, the mnemonic code may be stored in a safe node in order to prepare for a case in which the mnemonic code used for recovery of a user account is lost. In an embodiment, the secure node may be configured in the form of a private blockchain, and data stored in the secure node may be distributed and stored through a partitioning method according to the disclosed embodiment. In another embodiment, data for recovery may be stored or some information may be backed up through a user's private cloud configured in the form of a private blockchain separate from the safety node.

안전 노드는 복수의 관리자에 의하여 관리되며, 사용자가 복구를 요청하는 경우 모든 관리자의 승인이 있어야 안전 노드로부터 니모닉 코드가 사용자 단말(300)에 제공되도록 하는 것을 특징으로 한다.The safety node is managed by a plurality of administrators, and when a user requests recovery, the mnemonic code is provided to the user terminal 300 from the safety node only after approval of all administrators.

단일 관리자가 안전 노드를 관리하는 경우 관리자가 임의로 특정 사용자의 니모닉 코드를 유출시킬 수 있는 바, 모든 관리자의 서명이 있어야만 사용자 단말(300)이 안전 노드에 저장된 니모닉 코드를 획득할 수 있도록 구성된다.When a single administrator manages the safety node, the administrator can arbitrarily leak the mnemonic code of a specific user, and it is configured so that the user terminal 300 can acquire the mnemonic code stored in the safety node only when all the administrators have signed it.

또한, 사용자 단말(300)이 계정을 생성하고 월렛을 설치하는 경우, 추후 복구를 위해 일회용 키 쌍을 생성할 수 있다. 일회용 키 쌍은 개인키와 공개키를 포함하며, 개인키는 사용자 단말(300)에 저장되고, 공개키는 블록체인에 배포될 수 있다.In addition, when the user terminal 300 creates an account and installs a wallet, a one-time key pair may be generated for later recovery. The disposable key pair includes a private key and a public key, the private key is stored in the user terminal 300, and the public key can be distributed in a blockchain.

사용자가 계정 복구를 원하는 경우, 사용자 단말(300)은 안전 노드에 니모닉 코드를 요청할 수 있다. 안전 노드를 관리하는 복수의 관리자의 승인 및 서명이 완료되는 경우, 안전 노드에 저장된 니모닉 코드는 사용자의 공개키로 암호화되어 사용자 단말(300)에 전달된다.When a user wants to recover an account, the user terminal 300 may request a mnemonic code from the secure node. When approval and signature of a plurality of administrators managing the secure node are completed, the mnemonic code stored in the secure node is encrypted with the user's public key and transmitted to the user terminal 300.

즉, 관리자는 복구 승인에 대한 권한이 있을 뿐, 사용자의 개인키를 보유하지 않는 바 그 내용을 확인할 권한은 부여되지 않는다.In other words, the administrator only has the authority to approve recovery, but does not hold the user's private key, so the authority to check the contents is not granted.

사용자 단말(300)은 개인키를 이용하여 암호화된 데이터를 복호화함으로써 니모닉 코드를 획득하고, 이를 이용하여 계정을 복구할 수 있다. 계정 복구가 완료되는 경우, 일회용 키 쌍은 더 이상 사용되지 않고 폐기될 수 있다.The user terminal 300 may obtain a mnemonic code by decrypting the encrypted data using the private key, and recover the account using this. When account recovery is complete, the disposable key pair can no longer be used and discarded.

실시 예에 따라서, 안전 노드에 사용자의 개인키가 보관될 수도 있다.Depending on the embodiment, the user's private key may be stored in the secure node.

또한, 상술한 바와 같이 사용자 단말(300)에 저장되는 M%의 데이터 또한 안전 노드에 보관되어 상술한 방법을 이용하여 복구될 수 있다.In addition, as described above, M% of data stored in the user terminal 300 may also be stored in the safe node and recovered using the above-described method.

상술한 니모닉 코드와 개인키는 개시된 실시 예에 따른 방법에 의하여 분할되며, 분할된 데이터 중 M%의 데이터는 OSP의 안전 노드에, N%의 데이터는 프라이빗 블록체인에 각각 분산저장될 수도 있다.The above-described mnemonic code and private key are divided by the method according to the disclosed embodiment, and M% of the divided data may be stored in a secure node of the OSP, and N% of the data may be distributed and stored in a private blockchain.

분산저장된 데이터는 복구 요청시 획득 및 조합되어 이용되고, 복구에 사용된 데이터는 시스템에 저장하지 않고 폐기(삭제)될 수 있다.Distributed-stored data is acquired and combined at the time of a recovery request, and data used for recovery can be discarded (deleted) without being stored in the system.

일 실시 예에서, 사용자 계정이나 백업된 데이터의 복구에는 사용자 정보에 기반한 검증과, 사용자의 생체정보를 이용한 2차 검증이 필수적으로 수행될 수 있다. 예를 들어, 계정의 복구에는 FIDO(Fast Identity Online)에 기반한 2차 인증이 필수적으로 수행되도록 설정될 수 있다. FIDO 인증에는 사용자의 생체정보가 이용될 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, for restoring a user account or backed up data, verification based on user information and secondary verification using biometric information of the user may be essentially performed. For example, it may be set so that secondary authentication based on FIDO (Fast Identity Online) is essentially performed for account recovery. Biometric information of a user may be used for FIDO authentication, but is not limited thereto.

상술한 바와 같이, 안전 노드는 복수의 관리자에 의하여 관리되고, 복수의 관리자 전원의 승인 및 서명을 요하고, 데이터의 전송은 사용자의 비대칭 키 쌍에 기반하여 수행된다는 점에서, 사용자 단말(300)과 직접적으로 1:1로 연결되는 프라이빗 저장공간과 같은 역할을 수행한다. 즉, 관리자가 임의로 데이터 반출을 승인하거나, 데이터의 내용을 확인할 수 없는 바, 마치 사용자가 직접 물리적으로 보유하는 저장공간(예를 들어, 저장 토큰이나 사용자 단말 등)과 같은 보안성을 제공할 수 있다.As described above, in that the secure node is managed by a plurality of administrators, requires approval and signature of all the plurality of administrators, and data transmission is performed based on a user's asymmetric key pair, the user terminal 300 It plays the same role as a private storage space that is directly connected 1:1 with each other. In other words, since the administrator cannot arbitrarily approve the data export or check the contents of the data, it is possible to provide security such as a storage space (for example, a storage token or user terminal, etc.) physically held by the user. have.

따라서, 개시된 실시 예에 따른 사용자의 개인키나 M%의 데이터, 니모닉 코드 등은 사용자 단말(300)뿐 아니라 안전 노드에도 저장될 수 있다.Accordingly, the user's private key, M% data, mnemonic code, etc. according to the disclosed embodiment may be stored not only in the user terminal 300 but also in the secure node.

또한, 안전 노드에 저장되는 정보들은 개시된 실시 예에 따른 분할방법을 통해 분산저장되고, 이용시에는 조합되어 이용될 수 있다.In addition, information stored in the safe node may be distributed and stored through a partitioning method according to the disclosed embodiment, and may be combined and used when used.

일 실시 예에서, 안전 노드를 이용한 콜드 월렛 서비스가 제공될 수 있다. 콜드 월렛은 사용자가 보유한 물리적 저장장치에 월렛을 저장하는 것이 일반적이나, 개시된 실시 예에 따르면 물리적 저장장치와 같은 수준의 보안을 제공하는 안전 노드를 이용하여 콜드 월렛을 구현할 수 있다.In one embodiment, a cold wallet service using a safety node may be provided. A cold wallet generally stores the wallet in a physical storage device owned by a user, but according to the disclosed embodiment, a cold wallet may be implemented using a safety node that provides the same level of security as a physical storage device.

예를 들어, 콜드 월렛에 사용자의 개인키가 분산되어 저장될 수 있다. 사용자가 트랜젝션을 요청하는 경우, 이에 대하여 상술한 바와 같이 복수 관리자의 승인 및 서명을 통해 개인키 이용을 허가할 수 있고, 안전 노드에 분산저장된 개인키는 조합되어 트랜젝션 서명에 사용되고, 이후 개인키를 조합하는 데 사용된 정보 및 조합된 개인키는 모두 폐기될 수 있다.For example, a user's private key may be distributed and stored in a cold wallet. When a user requests a transaction, as described above, the use of the private key can be permitted through the approval and signature of multiple administrators, and the private key distributed in the secure node is combined and used to sign the transaction, and then the private key Both the information used to combine and the combined private key can be discarded.

도 22는 일 실시 예에 따른 사용자 단말을 포함하는 분산저장 시스템에서 조합을 통해 데이터를 획득하는 방법을 도시한 도면이다.22 is a diagram illustrating a method of acquiring data through combination in a distributed storage system including a user terminal according to an exemplary embodiment.

일 실시 예에서, 서버(100)는 사용자 단말(300)로부터 사용자 단말(300)에 분산저장된 M%의 정보를 획득할 수 있다.In an embodiment, the server 100 may obtain M% of information distributed and stored in the user terminal 300 from the user terminal 300.

또한, 서버(100)는 이에 대응하는 나머지 N%의 정보를 블록체인(1500)으로부터 획득할 수 있다.In addition, the server 100 may obtain the remaining N% of information corresponding to this from the blockchain 1500.

서버(100)는 M%의 데이터와 N%의 데이터를 조합하여 결과 데이터를 획득할 수 있다. 일 실시 예에서, 결과 데이터는 IPFS 시스템(1100)에서 데이터 획득을 위해 이용되는 데이터의 해시 값(1002)일 수 있으나, 이에 제한되는 것은 아니다.The server 100 may obtain result data by combining M% of data and N% of data. In an embodiment, the result data may be a hash value 1002 of data used to acquire data in the IPFS system 1100, but is not limited thereto.

서버는 IPFS 시스템(1100)을 통하여 분산저장 네트워크(1200)에 저장된 데이터 조각들을 획득하고, 획득된 데이터 조각들을 병합하여 데이터를 획득할 수 있다.The server may obtain data pieces stored in the distributed storage network 1200 through the IPFS system 1100 and merge the obtained data pieces to obtain data.

도 23은 일 실시 예에 따른 일회성 인증방법을 도시한 도면이다.23 is a diagram illustrating a one-time authentication method according to an embodiment.

도 22를 참조하여 설명한 바와 같이, 서버(100)는 사용자 단말(300)로부터 M%의 데이터를, 블록체인(1500)으로부터 N%의 데이터를 획득한다. As described with reference to FIG. 22, the server 100 obtains M% of data from the user terminal 300 and N% of data from the block chain 1500.

서버(100)는 M%의 데이터와 N%의 데이터를 조합하여 데이터 획득을 위한 정보(예를 들어, 데이터의 해시값)를 획득하고, 획득된 정보에 기반하여 IPFS 시스템(1100)으로부터 분산저장된 데이터를 획득한다.The server 100 acquires information for data acquisition (eg, hash value of data) by combining M% data and N% data, and is distributed and stored from the IPFS system 1100 based on the obtained information. Acquire the data.

단, 서버(100)에 M%의 데이터와 N%의 데이터를 조합하여 획득된 정보가 저장되는 경우, 개시된 실시 예에 따른 분산저장 시스템의 이점이 사라지게 되는 문제점이 존재한다However, when information obtained by combining M% of data and N% of data is stored in the server 100, there is a problem that the advantages of the distributed storage system according to the disclosed embodiment disappear.

따라서, 서버(100)는 M%의 데이터와 N%의 데이터를 조합하여 획득된 정보의 이용이 완료되는 경우(즉, IPFS 시스템에 분산저장된 데이터의 획득이 완료되는 경우) M%의 데이터와 N%의 데이터를 조합하여 획득된 정보를 반드시 폐기하도록 구성된다.Therefore, when the use of information obtained by combining M% of data and N% of data is completed (that is, when the acquisition of data distributed and stored in the IPFS system is completed), the server 100 is It is configured to discard the information obtained by combining% data.

특히 사용자 단말(300)로부터 획득한 M%의 정보는 반드시 폐기되어야 하며, 이를 통해 사용자 단말(300)로부터 획득한 M%의 정보는 서버(100)에서 일회성으로 이용되며, 이용 후에는 반드시 폐기된다는 점이 보장되어야 한다.In particular, the M% information obtained from the user terminal 300 must be discarded, and through this, the M% information obtained from the user terminal 300 is used once in the server 100 and must be discarded after use. Points must be guaranteed.

이는 개시된 실시 예에 따른 시스템을 이용하는 사용자 인증방법에서도 일회성으로 그 인증이 수행됨을 의미할 수 있다. 예를 들어, 사용자 단말(300)이 서버(100)에 인증을 요청하는 경우, 사용자 단말(300)은 인증 데이터와 함께 이에 대응하는 M%의 정보를 서버(100)에 제공할 수 있다. This may mean that the authentication is performed once in the user authentication method using the system according to the disclosed embodiment. For example, when the user terminal 300 requests authentication from the server 100, the user terminal 300 may provide the authentication data and M% of information corresponding thereto to the server 100.

서버(100)는 M%의 정보를 이용하여 분산저장된 인증 데이터를 획득하고, 이를 사용자 단말(300)로부터 제공된 인증 데이터와 비교함으로써 인증을 수행할 수 있다. 인증이 완료되면 서버(100)는 사용자 단말(300)로부터 제공받은 M%의 정보를 폐기하고, 사용자 단말(300)로부터 제공된 정보를 이용하여 1회 이상의 인증을 수행하지는 않도록 구성될 수 있다.The server 100 may perform authentication by obtaining distributedly stored authentication data using M% information and comparing it with authentication data provided from the user terminal 300. When authentication is complete, the server 100 may be configured to discard M% information provided from the user terminal 300 and not perform authentication more than once using the information provided from the user terminal 300.

이러한 일회성 인증방법을 통하여, 서버(100)는 사용자 단말(300)을 통한 인증요청이 수신되는 경우에만 단 한 번 분산저장된 사용자 인증정보에 접근할 수 있도록 구성되고, 이외에는 서버 관리자라 할지라도 분산저장된 사용자 인증정보에 접근할 수 없도록 하여, 사용자 인증정보를 더욱 안전하게 보관할 수 있다.Through this one-time authentication method, the server 100 is configured to access the distributedly stored user authentication information only once only when an authentication request through the user terminal 300 is received. By preventing access to user authentication information, user authentication information can be more securely stored.

도 24는 개시된 실시 예에 따른 시스템을 이용하여 인증정보 또는 파일을 분산저장 및 조합하여 이용하는 방법을 도시한 흐름도이다.24 is a flowchart illustrating a method of distributedly storing and combining authentication information or files using the system according to the disclosed embodiment.

일 실시 예에서, 서버(100)는 사용자 단말(300)로부터 요청을 획득할 수 있다.In an embodiment, the server 100 may obtain a request from the user terminal 300.

서버(100)는 요청의 종류를 판단할 수 있으며, 예를 들어 요청의 종류는 인증요청과 파일요청을 포함할 수 있다. The server 100 may determine the type of request, for example, the type of request may include an authentication request and a file request.

요청의 종류가 인증요청인 것으로 판단되는 경우, 서버(100)는 인증단계를 개시할 수 있다. 서버(100)는 인증요청의 종류가 인증 데이터의 저장 요청인지, 혹은 인증 수행 요청인지를 판단할 수 있다. When it is determined that the type of request is an authentication request, the server 100 may initiate an authentication step. The server 100 may determine whether the type of the authentication request is a request to store authentication data or a request to perform authentication.

인증요청의 종류가 인증 데이터의 저장 요청인 경우, 서버(100)는 데이터 전처리 후 SPLIT 모듈을 호출하여 데이터를 IPFS 모듈에 분산저장할 수 있다. 인증요청의 종류가 인증 수행 요청인 경우, 서버(100)는 MERGE 모듈을 호출하여 IPFS에 분산저장된 인증 데이터를 조합하여 획득하고, 인증을 수행할 수 있다.When the type of the authentication request is a storage request for authentication data, the server 100 may call the SPLIT module after pre-processing the data to store the data distributedly in the IPFS module. When the type of the authentication request is a request to perform authentication, the server 100 may call the MERGE module to obtain the combination of authentication data distributed and stored in IPFS, and perform authentication.

마찬가지로, 요청의 종류가 파일요청인 것으로 판단되는 경우, 서버(100)는 파일 관리단계를 개시할 수 있다. 서버(100)는 파일요청의 종류가 파일 저장요청인지, 혹은 파일 획득(열람 또는 다운로드)요청인지를 판단할 수 있다.Similarly, when it is determined that the type of the request is a file request, the server 100 may initiate a file management step. The server 100 may determine whether the type of the file request is a file storage request or a file acquisition (view or download) request.

파일요청의 종류가 파일 저장요청인 경우, 서버(100)는 데이터 전처리 후 SPLIT 모듈을 호출하여 데이터를 IPFS 모듈에 분산저장할 수 있다. 파일요청의 종류가 파일 획득요청인 경우, 서버(100)는 MERGE 모듈을 호출하여 IPFS에 분산저장된 파일 데이터를 조합하여 획득하고, 이를 사용자 단말(300)에 제공할 수 있다.When the type of the file request is a file storage request, the server 100 may call the SPLIT module after pre-processing of data to store the data distributedly in the IPFS module. When the type of the file request is a file acquisition request, the server 100 may call the MERGE module to obtain a combination of file data distributed and stored in IPFS, and provide it to the user terminal 300.

파일의 저장 및 획득 과정에서, 서버(100)는 파일의 손상 여부를 확인할 수 있다. 또한, 서버(100)는 파일의 속성을 통해 파일의 종류를 확인하고, 파일의 종류에 따라 구체적인 분산저장 방법을 결정할 수 있다.In the process of storing and acquiring a file, the server 100 may check whether the file is damaged. In addition, the server 100 may check the type of file through the properties of the file and determine a specific distributed storage method according to the type of file.

도 25는 일 실시 예에 따른 컴퓨팅 파워 제공 및 이에 대한 보상방법을 도시한 도면이다.25 is a diagram illustrating a method of providing computing power and compensating for it according to an exemplary embodiment.

도 25를 참조하면, 개시된 실시 예에 따른 BaaSid 시스템(1600) 및 BaaSid 시스템에 컴퓨팅 파워를 제공하는 사용자 단말들(1700)이 도시되어 있다.Referring to FIG. 25, a BaaSid system 1600 and user terminals 1700 providing computing power to the BaaSid system according to the disclosed embodiment are illustrated.

일 실시 예에서, 사용자 단말들(1700)은 각각의 컴퓨팅 파워의 적어도 일부를 개시된 실시 예에 따른 BaaSid 시스템(1600)에 위탁할 수 있다. 예를 들어, 컴퓨팅 파워는 CPU, RAM 및 네트워크 자원을 의미할 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, the user terminals 1700 may entrust at least a portion of each computing power to the BaaSid system 1600 according to the disclosed embodiment. For example, computing power may refer to CPU, RAM, and network resources, but is not limited thereto.

BaaSid 시스템(1600)은 컴퓨팅 파워 제공에 대한 대가로서 사용자 단말에 보상을 지급할 수 있다. 지급되는 보상의 형태 및 양은 제한되지 않으나, 예를 들어 서버(100)는 사용자가 위탁한 컴퓨팅 파워의 양을 정량적으로 측정하고, 이에 비례하는 양의 보상을 지급할 수 있다. 보상은 상술한 BRC 또는 BIDT로 지급될 수 있다.The BaaSid system 1600 may pay a compensation to a user terminal in exchange for providing computing power. Although the form and amount of the reward to be paid are not limited, for example, the server 100 may quantitatively measure the amount of computing power entrusted by the user, and may provide a reward in proportion to the amount. Reward may be paid in BRC or BIDT described above.

사용자 단말은 위탁할 컴퓨팅 파워의 양 및 위탁기간을 결정할 수 있으며, 보상은 컴퓨팅 파워의 양 및 위탁기간에 따라 상이하게 책정될 수 있다. 예를 들어, 사용자 단말이 위탁기간을 길게 설정할수록, 단위 기간당 보상의 크기가 증가할 수 있다.The user terminal may determine the amount of computing power to be entrusted and the entrusted period, and compensation may be set differently according to the amount of computing power and the entrusted period. For example, as the user terminal sets the consignment period longer, the amount of compensation per unit period may increase.

단, 사용자 단말이 계약된 위탁기간이 만료되기 전에 컴퓨팅 파워의 거치를 해지하는 경우, 지급되는 보상의 양이 조정될 수 있다.However, if the user terminal terminates the deferral of computing power before the contracted consignment period expires, the amount of compensation paid may be adjusted.

사용자 단말들(1700)로부터 제공되는 컴퓨팅 파워는 개시된 실시 예에 따른 시스템의 저장공간, 프로세싱 능력 향상 및 통신능력 향상에 활용될 수 있다. The computing power provided from the user terminals 1700 may be utilized to improve storage space, processing capability, and communication capability of the system according to the disclosed embodiment.

실시 예에 따라서, 도 16에 도시된 분산저장 네트워크(1200)를 구성하는 노드에 해당하는 각각의 사용자 단말에 대해서도 보상이 지급될 수 있다. 각각의 사용자 단말에 저장된 정보의 안정적인 보관 및 유지관리를 위하여 서버(100)는 보상을 지급할 수 있으며, 마찬가지로 보상은 BRC 또는 BIDT 형태로 지급될 수 있다.According to an embodiment, a compensation may be paid to each user terminal corresponding to a node constituting the distributed storage network 1200 shown in FIG. 16. For stable storage and maintenance of information stored in each user terminal, the server 100 may pay a compensation, and similarly, the compensation may be paid in the form of BRC or BIDT.

일 실시 예에서, 특정한 정보를 보관하는 노드가 그 역할을 종료하고자 하는 경우, 서버(100)에 사전에 해지요청을 하도록 하여야 서버(100)가 해당 정보를 다른 노드에 옮겨서 저장함으로써 정보를 안정적으로 관리할 수 있다.In one embodiment, when a node storing specific information wants to end its role, the server 100 must request termination in advance so that the server 100 transfers the information to another node and stores the information stably. Can be managed.

일 실시 예에서, 서버(100)는 노드의 역할종료 고지를 유도하기 위하여 노드가 역할종료를 고지하고 해당 노드에 저장된 정보가 다른 노드에 옮겨서 저장된 후에 해당 노드에 대한 보상을 정산하여 지급하거나, 해당 노드에 대하여 추가 보상을 지급하도록 하는 등의 규칙을 설정할 수 있다.In one embodiment, in order to induce the end of the role of the node, the server 100 notifies the end of the role of the node, and after the information stored in the node is transferred to another node and stored, the compensation for the node is calculated and paid, or Rules such as paying additional rewards to nodes can be set.

또한, 서버(100)는 도 8과 관련하여 설명한 바와 같이 블록체인 시스템을 유지하는 BP(900)에 대해서도 보상을 지급할 수 있다. 보상은 BRC 형태로 지급될 수 있으며, DPoS 기반의 블록체인 시스템의 경우 BP는 기 설정된 수(예를 들어, 21개)가 구성원들의 투표에 기반하여 선출될 수 있다. 선출된 BP는 블록체인 시스템의 안정적인 유지를 위한 역할을 수행하며, 이에 대한 보상을 획득한다.In addition, the server 100 may also pay compensation for the BP 900 maintaining the blockchain system as described in connection with FIG. 8. Rewards can be paid in the form of BRC, and in the case of a DPoS-based blockchain system, a preset number (for example, 21) of BPs can be elected based on the votes of members. The elected BP plays a role in maintaining the stable blockchain system and obtains rewards for it.

이하에서는, 도면을 참조하여 본 발명의 실시 예를 구체적으로 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings.

도 26은 일 실시 예에 따른 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법을 도시한 흐름도이다.26 is a flowchart illustrating a method of obtaining data through search and combination of data distributedly stored in a block chain according to an embodiment.

이하의 실시 예는 도 1 내지 도 25와 관련하여 상술한 내용들에 기반하며, 이에 도 26과 관련하여 생략된 내용이라 하더라도 도 1 내지 도 25와 관련하여 설명된 내용은 본 실시 예에도 적용될 수 있다.The following embodiments are based on the contents described above with respect to FIGS. 1 to 25, and even though the contents are omitted with respect to FIG. 26, the contents described with respect to FIGS. 1 to 25 may be applied to the present embodiment. have.

단계 S110에서, 컴퓨터는 블록체인에 저장된 탐색값을 획득할 수 있다. In step S110, the computer may acquire the search value stored in the blockchain.

일 실시 예에서, 컴퓨터는 사용자 단말로부터 상기 탐색값이 분할된 조각의 M%를 획득할 수 있다. 컴퓨터는 상기 블록체인으로부터 상기 탐색값이 분할된 조각의 나머지 N%를 획득하고, 상기 M% 및 상기 N%의 분할된 조각을 조합하여 상기 탐색값을 복원할 수 있다.In an embodiment, the computer may obtain the M% of the segment divided by the search value from the user terminal. The computer may obtain the remaining N% of the segment divided by the search value from the blockchain, and restore the search value by combining the M% and the N% divided pieces.

단계 S120에서, 컴퓨터는 상기 탐색값을 이용하여 분산저장 네트워크에 분산저장된 데이터 조각들을 획득할 수 있다.In step S120, the computer may acquire pieces of data distributedly stored in the distributed storage network by using the search value.

일 실시 예에서, 컴퓨터는 사용자 단말 및 블록체인으로부터 각각 획득된 조각을 조합하여 복원된 탐색값을 이용하여 상기 분산저장 네트워크에 분산저장된 데이터 조각들을 획득할 수 있다.In an embodiment, the computer may obtain pieces of data distributedly stored in the distributed storage network using a search value restored by combining pieces obtained from the user terminal and the block chain, respectively.

일 실시 예에서, 컴퓨터는 복원된 탐색값을 폐기하여 재사용이 불가능하도록 할 수 있다.In one embodiment, the computer may discard the restored search value so that it cannot be reused.

일 실시 예에서, 컴퓨터는 기 설정된 IPFS 시스템에 상기 탐색값을 전달하고, 상기 IPFS 시스템으로부터 상기 데이터 조각들을 획득할 수 있다. 이 경우, 탐색 값은 상기 IPFS 시스템에 저장된 데이터의 해시 값을 의미할 수 있다.In an embodiment, the computer may transmit the search value to a preset IPFS system and obtain the data pieces from the IPFS system. In this case, the search value may mean a hash value of data stored in the IPFS system.

단계 S130에서, 컴퓨터는 상기 데이터 조각들을 조합할 수 있다.In step S130, the computer may assemble the data pieces.

단계 S140에서, 컴퓨터는 조합된 데이터를 후처리하여 결과 데이터를 획득할 수 있다.In step S140, the computer may post-process the combined data to obtain result data.

일 실시 예에서, 컴퓨터는 상기 조합된 데이터를 복호화하고, 상기 복호화된 데이터로부터 비식별화 코드를 제거할 수 있다.In an embodiment, the computer may decode the combined data and remove the de-identification code from the decoded data.

일 실시 예에서, 컴퓨터는 사용자 단말로부터 인증요청 데이터를 획득할 수 있다. 컴퓨터는 상기 인증요청 데이터를 해시하고, 상기 해시된 값을 상기 결과 데이터와 비교할 수 있다. In an embodiment, the computer may obtain authentication request data from the user terminal. The computer may hash the authentication request data, and compare the hashed value with the result data.

컴퓨터는 상기 비교 결과에 따라 인증 결과를 획득할 수 있다. 예를 들어, 결과 데이터와 해시된 인증요청 데이터가 일치하는 경우 인증에 성공한 것으로 판단할 수 있으나, 이에 제한되는 것은 아니다.The computer may obtain an authentication result according to the comparison result. For example, if the result data and the hashed authentication request data match, it may be determined that authentication is successful, but the present invention is not limited thereto.

도 27은 일 실시 예에 따른 장치의 구성도이다.27 is a block diagram of an apparatus according to an embodiment.

일 실시 예에서, 장치(10)는 프로세서(12) 및 메모리(14)를 포함한다.In one embodiment, device 10 includes a processor 12 and a memory 14.

프로세서(12)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.The processor 12 may include one or more cores (not shown) and a graphic processing unit (not shown), and/or a connection path (eg, a bus) for transmitting and receiving signals with other components. .

일 실시예에 따른 프로세서(12)는 메모리(14)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 26과 관련하여 설명된 방법을 수행한다.The processor 12 according to an embodiment executes one or more instructions stored in the memory 14 to perform the method described with reference to FIGS. 1 to 26.

한편, 프로세서(12)는 프로세서(12) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(12)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다. On the other hand, the processor 12 is a RAM (Random Access Memory, not shown) and a ROM (ROM: Read-Only Memory) that temporarily and/or permanently store signals (or data) processed inside the processor 12. , Not shown) may further include. In addition, the processor 12 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, RAM, and ROM.

메모리(14)에는 프로세서(12)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(14)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 14 may store programs (one or more instructions) for processing and controlling the processor 12. Programs stored in the memory 14 may be divided into a plurality of modules according to functions.

이하에서는, 본 발명의 다른 실시 예에 대하여 설명한다. 이하에서 설명되는 실시 예들은 본 발명에 적용되거나 본 발명이 응용될 수 있는 기술분야의 예시를 설명하기 위한 것으로, 이하의 구성들이 본 발명에 반드시 포함되거나 본 발명의 구성이 이에 제한되는 것은 아니다.Hereinafter, another embodiment of the present invention will be described. The embodiments described below are for explaining examples of the technical field to which the present invention can be applied or to which the present invention can be applied, and the following components are not necessarily included in the present invention or the configuration of the present invention is not limited thereto.

일 실시 예에서, 서버(100)는 사용자 단말(300)에 인증 절차의 개시를 위해 푸시 메시지를 전달할 수 있다. 예를 들어, 도 6에 도시된 실시 예를 참조할 수 있다.In an embodiment, the server 100 may transmit a push message to the user terminal 300 to initiate an authentication procedure. For example, reference may be made to the embodiment shown in FIG. 6.

단, 실시 예에 따라 사용자 단말(300)에서 푸시 메시지를 수신하기 어려운 경우가 있을 수 있다.However, in some embodiments, it may be difficult to receive a push message from the user terminal 300.

예를 들어, 사용자 단말(300)에 설치된 애플리케이션에서 푸시 메시지 수신을 거부한 상태이거나, 애플리케이션이 푸시 메시지를 수신할 수 있도록 백그라운드에서 동작중인 상태가 아닐 수 있다.For example, the application installed in the user terminal 300 may be in a state in which the reception of the push message is rejected, or the application may not be in a state in which it is operating in the background so that the push message can be received.

일 실시 예에서, 서버(100)는 사용자 단말(300)이 푸시 메시지 수신이 가능한 상태인지 여부를 판단하고, 사용자 단말(300)이 푸시 메시지 수신이 어려운 상태인 것으로 판단되는 경우 푸시 메시지 대신 SMS, LMS 및 MMS 등의 문자 메시지를 사용자 단말(300)에 전송할 수 있다.In one embodiment, the server 100 determines whether the user terminal 300 is in a state in which the push message reception is possible, and when it is determined that the user terminal 300 is in a state in which it is difficult to receive the push message, an SMS, Text messages such as LMS and MMS may be transmitted to the user terminal 300.

다른 실시 예에서, 서버(100)는 사용자 단말(300)이 푸시 메시지를 수신할 수 없는 경우, 다른 단말을 통하여 사용자 단말(300)에 문자 메시지를 발송할 수도 있다. In another embodiment, when the user terminal 300 cannot receive the push message, the server 100 may send a text message to the user terminal 300 through another terminal.

일 실시 예에서, 서버(100)에 의하여 서로 문자 메시지를 발송할 수 있는 단말은 각각의 단말로부터의 신청 혹은 신청 및 승인에 근거하여 서버(100)에 기 등록된 단말들일 수 있다.In one embodiment, the terminals capable of sending text messages to each other by the server 100 may be terminals previously registered with the server 100 based on an application or application and approval from each terminal.

예를 들어, 제1 사용자 단말에 대하여 제2 사용자 단말이 상호 간 신청 및 승인에 기반하여 서버(100)에 등록되어 있는 경우, 제1 사용자 단말이 푸시 메시지를 받을 수 없는 단말이거나, 푸시 메시지를 받을 수 없는 상태에 있는 경우 서버(100)는 푸시 메시지를 받을 수 있는 상태에 있는 제2 사용자 단말에 푸시 메시지를 전송하고, 제2 사용자 단말은 푸시 메시지에 대응하는 문자 메시지를 생성하여 제1 사용자 단말에 전송할 수 있다.For example, when a second user terminal is registered with the server 100 based on mutual application and approval for a first user terminal, the first user terminal is a terminal that cannot receive a push message or sends a push message. When in a state where it cannot be received, the server 100 transmits a push message to a second user terminal in a state capable of receiving the push message, and the second user terminal generates a text message corresponding to the push message, and Can be transmitted to the terminal.

이 경우, 메시지에는 애플리케이션을 실행하여 인증절차를 개시하도록 하는 명령어만이 포함되어, 제1 사용자 단말의 개인정보가 제2 사용자 단말에 공유되거나 노출되는 문제가 발생하지 않도록 한다.In this case, the message includes only a command for executing an application to start an authentication procedure, so that the personal information of the first user terminal is not shared or exposed to the second user terminal.

서버(100)가 사용자 단말 각각에 문자 메시지를 보내는 것은 시스템상 어려움이 있을 수 있다. 따라서, 제1 사용자 단말이 푸시 메시지를 받을 수 없는 경우 서버(100)는 제2 사용자 단말을 통하여 제1 사용자 단말에 문자 메시지를 발송하도록 하고, 대신 서버(100)는 제2 사용자 단말에 소정의 보상을 제공할 수 있다. 제공되는 보상은 상술한 BIDT 또는 BRC로 제공될 수 있으나, 이에 제한되는 것은 아니다.It may be difficult in the system for the server 100 to send a text message to each user terminal. Therefore, when the first user terminal cannot receive the push message, the server 100 sends a text message to the first user terminal through the second user terminal, and instead, the server 100 sends a predetermined message to the second user terminal. Reward can be provided. The provided compensation may be provided by the above-described BIDT or BRC, but is not limited thereto.

다른 예로, 서버(100)에 의하여 서로 문자 메시지를 발송할 수 있는 단말은 서버(100)의 요청을 승인하여 특정한 풀에 등록된 단말들일 수 있다.As another example, the terminals capable of sending text messages to each other by the server 100 may be terminals registered in a specific pool by approving the request of the server 100.

예를 들어, 상술한 예와 같이 일대일로 등록되는 것과 달리, 본 실시 예에 따르면 복수의 사용자 단말들이 사전 승인에 기반하여 서버(100)에 풀로서 등록되어 있을 수 있다.For example, unlike the one-to-one registration as in the above-described example, according to the present embodiment, a plurality of user terminals may be registered as a pool in the server 100 based on prior approval.

예를 들어, 풀은 개시된 실시 예에 따른 분산저장 네트워크 또는 블록체인의 노드를 구성하는 사용자 단말들을 포함할 수 있으며, 또한 개시된 실시 예에 따라 컴퓨팅 파워를 BaaSid 시스템에 제공하는 사용자 단말을 포함할 수도 있으나, 이에 제한되는 것은 아니다.For example, the pool may include user terminals configuring nodes of a distributed storage network or block chain according to the disclosed embodiment, and may also include user terminals that provide computing power to the BaaSid system according to the disclosed embodiment. However, it is not limited thereto.

다른 예로, 풀은 개시된 실시 예에 따른 BP 또는 안전 노드를 관리하는 관리자들 중 적어도 일부로 구성될 수도 있다.As another example, the pool may be composed of at least some of the managers managing the BP or the safe node according to the disclosed embodiment.

일 실시 예에서, 서버(100)는 제1 사용자 단말에 대하여 푸시 메시지 수신이 가능한지 여부를 확인하기 위한 질의 메시지를 전송하고, 제1 사용자 단말로부터 질의 메시지에 대한 회신이 수신되는 경우 제1 사용자 단말에 푸시 메시지를 전송하고, 제1 사용자 단말로부터 회신이 수신되지 않는 경우, 풀에 등록된 사용자 단말들 중 푸시 메시지 수신이 가능한 적어도 하나의 단말을 선택하고, 해당 단말에 푸시 메시지를 전송하면서 제1 사용자 단말에 문자 메시지 발송을 요청할 수 있다.In one embodiment, the server 100 transmits a query message to check whether the push message reception is possible to the first user terminal, and when a reply to the query message is received from the first user terminal, the first user terminal When a push message is transmitted to the user terminal and a reply is not received from the first user terminal, at least one terminal capable of receiving a push message is selected from among the user terminals registered in the pool, and the push message is transmitted to the terminal. You can request to send a text message to the user terminal.

일 실시 예에서, 서버(100)는 사용자 단말(300)로부터 문자 메시지 발송 실패정보가 수신되는 경우에도, 다른 사용자 단말에 사용자 단말(300)로 문자 메시지 발송을 요청하는 푸시 메시지를 전송할 수 있다.In an embodiment, the server 100 may transmit a push message requesting to send a text message to the user terminal 300 to another user terminal even when the text message transmission failure information is received from the user terminal 300.

일 실시 예에서, 서버(100)는 풀에 등록된 사용자 단말들에게 소정의 보상을 지급할 수 있다. 보상 지급의 주기, 정도 및 방법은 제한되지 않는다.In one embodiment, the server 100 may pay a predetermined reward to user terminals registered in the pool. The frequency, degree and method of compensation payments are not limited.

상기한 실시 예를 수행하기 위하여, 사용자 단말(300)은 서버(100)로부터 제1 사용자 단말에 대한 문자 메시지 발송 승인요청을 수신하는 단계, 상기 승인요청에 대한 승인정보를 상기 서버에 전송하는 단계, 상기 제1 사용자 단말의 전화번호를 포함하는, 상기 제1 사용자 단말에 대한 정보를 저장하는 단계, 상기 서버로부터 상기 제1 사용자 단말에 대한 메시지 발송 요청정보를 포함하는 제1 푸시 메시지를 수신하는 단계, 상기 제1 푸시 메시지에 포함된 콘텐츠를 획득하는 단계, 상기 제1 푸시 메시지에 포함된 콘텐츠를 이용하여 제1 문자 메시지를 생성하는 단계, 상기 제1 푸시 메시지에 포함된 제1 전화번호를 획득하는 단계, 상기 제1 전화번호와 상기 제1 사용자 단말의 전화번호를 비교하는 단계, 상기 제1 전화번호와 상기 제1 사용자 단말의 전화번호가 일치하는 경우, 상기 제1 전화번호로 상기 제1 문자 메시지를 전송하는 단계, 상기 서버에 상기 제1 문자 메시지의 전송결과를 전송하는 단계, 상기 서버로부터 상기 제1 문자 메시지 전송결과에 대응하는 포인트를 획득하는 단계, 상기 서버로부터 제1 풀에 대한 등록요청을 수신하는 단계, 상기 등록요청에 대한 승인정보를 상기 서버에 전송하는 단계, 상기 서버로부터 상기 제1 풀에 대응하는 암호화 키를 수신하는 단계, 상기 서버로부터 상기 제1 풀에 포함된 제2 사용자 단말에 대한 메시지 발송 요청정보를 포함하는 제2 푸시 메시지를 수신하는 단계, 상기 제2 푸시 메시지에 포함된 콘텐츠를 획득하는 단계, 상기 제2 푸시 메시지에 포함된 콘텐츠를 이용하여 제2 문자 메시지를 생성하는 단계, 상기 암호화 키를 이용하여 상기 제2 문자 메시지를 암호화하는 단계, 상기 제2 푸시 메시지에 포함된 제2 전화번호를 획득하는 단계, 상기 암호화된 제2 문자 메시지를 상기 제2 전화번호로 전송하는 단계, 상기 서버에 상기 제2 문자 메시지의 전송결과를 전송하는 단계 및 상기 서버로부터 상기 제2 문자 메시지 전송결과에 대응하는 포인트를 획득하는 단계를 수행할 수 있다.In order to perform the above-described embodiment, the user terminal 300 receives a text message transmission approval request from the server 100 to the first user terminal, and transmits approval information for the approval request to the server. , Storing information on the first user terminal, including the phone number of the first user terminal, receiving a first push message including message transmission request information for the first user terminal from the server Steps, acquiring content included in the first push message, generating a first text message using content included in the first push message, and receiving a first phone number included in the first push message Obtaining, comparing the first phone number with the phone number of the first user terminal, and when the first phone number and the phone number of the first user terminal match, the first phone number 1 Transmitting a text message, transmitting a transmission result of the first text message to the server, acquiring a point corresponding to the transmission result of the first text message from the server, from the server to a first pool Receiving a registration request for, transmitting approval information for the registration request to the server, receiving an encryption key corresponding to the first pool from the server, included in the first pool from the server Receiving a second push message including message transmission request information to a second user terminal, acquiring content included in the second push message, and using content included in the second push message. Generating a text message, encrypting the second text message using the encryption key, obtaining a second phone number included in the second push message, and sending the encrypted second text message to the second text message. 2 Transmitting to a phone number, transmitting a transmission result of the second text message to the server, and a point corresponding to the transmission result of the second text message from the server The step of acquiring the data may be performed.

또한, 사용자 단말(300)은, 문자 메시지 발송에 실패하는 경우, 서버(100)에 문자 메시지 발송 실패사실을 전송할 수 있다.In addition, the user terminal 300 may transmit a failure to send the text message to the server 100 when the text message transmission fails.

또한, 사용자 단말(300)은, 문자 메시지를 수신할 때 제3 사용자 단말로부터 제3 문자 메시지를 수신하는 단계, 상기 제3 문자 메시지의 암호화 여부를 확인하는 단계, 상기 제3 문자 메시지가 암호화되어 있는 경우, 암호화 키를 이용하여 상기 제3 문자 메시지를 복호화하는 단계, 상기 푸시 메시지의 콘텐츠와 상기 제3 문자 메시지에 포함된 콘텐츠를 비교하는 단계 및 상기 푸시 메시지의 콘텐츠와 상기 제3 문자 메시지에 포함된 콘텐츠가 일치하는 경우, 상기 서버에 상기 제3 문자 메시지 획득사실을 전송하는 단계를 수행할 수 있다.In addition, the user terminal 300 includes receiving a third text message from a third user terminal when receiving a text message, confirming whether the third text message is encrypted, and the third text message is encrypted. If present, decrypting the third text message using an encryption key, comparing the content of the push message with the content included in the third text message, and the content of the push message and the third text message If the included content matches, transmitting the fact that the third text message was acquired to the server may be performed.

본 실시 예에 따른 암호화 키는 각 사용자 단말의 월렛에 저장될 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 암호화 키는 안전 노드에 저장될 수도 있고, 개시된 실시 예에 따른 분산저장 시스템에 분산저장될 수도 있다.The encryption key according to the present embodiment may be stored in the wallet of each user terminal, but is not limited thereto. For example, the encryption key may be stored in a secure node or distributedly stored in a distributed storage system according to the disclosed embodiment.

암호화 키가 안전 노드에 저장되고, 개시된 실시 예에 따라 문자 메시지를 발송하는 풀이 안전 노드의 관리자들로 구성되는 경우, 사용자 단말에 대한 문자 메시지는 모든 관리자의 승인 및 서명이 이루어지는 경우에만 발송될 수도 있다.When the encryption key is stored in the secure node, and the pool for sending text messages according to the disclosed embodiment is composed of administrators of the secure node, the text message to the user terminal may be sent only when approval and signature of all administrators are made. have.

또한, 서버(100)는 메시지의 내용을 사용자 단말(300)에 저장된 개인키에 대응하는 공개키로 암호화하여 푸시 메시지를 통하여 중간 전달자에게 전달하고, 중간 전달자는 문자 메시지를 통하여 사용자 단말(300)에 전달함으로써, 사용자 단말(300)만이 메시지의 내용을 확인 가능하도록 할 수도 있다.In addition, the server 100 encrypts the contents of the message with a public key corresponding to the private key stored in the user terminal 300 and delivers it to an intermediate forwarder through a push message, and the intermediate forwarder to the user terminal 300 through a text message. By transmitting, only the user terminal 300 can check the contents of the message.

일 실시 예에서, 서버(100) 또는 OSP(200)는 QR코드를 이용하여 티켓 정보를 사용자 단말(300)에 전달할 수 있다. 일 실시 예에서 사용자 단말(300)은 QR코드가 다른 단말에 전달되고, 디스플레이를 통하여 표시되는 경우 이를 촬영 및 스캔하여 티켓 정보를 획득하고, 디바이스 등록절차를 개시할 수 있다.In an embodiment, the server 100 or the OSP 200 may transmit ticket information to the user terminal 300 using a QR code. In an embodiment, when the QR code is transmitted to another terminal and displayed through a display, the user terminal 300 may acquire ticket information by photographing and scanning the QR code, and initiate a device registration procedure.

다른 실시 예에서, QR코드가 사용자 단말(300)에 직접 전달되는 경우, 사용자 단말(300)은 QR코드 이미지를 캡쳐하여 캡쳐된 이미지를 분석하고, 이에 기반하여 QR코드에 저장된 정보를 획득할 수 있다.In another embodiment, when the QR code is directly transmitted to the user terminal 300, the user terminal 300 captures the QR code image, analyzes the captured image, and obtains information stored in the QR code based on this. have.

일 실시 예에서, 사용자 단말(300)에 전달되는 QR코드는 이미지 유출에 따른 정보유출을 막기 위하여, 기 설정된 조각으로 분할, 회전 및 재조합된 것일 수 있다. 예를 들어, QR코드는 기 설정된 규칙에 따라 복수의 조각으로 분할되고, 회전 및 재조합된 것일 수 있다. 사용자 단말(300)은 획득된 QR코드 이미지를 기 설정된 규칙에 따라 분할, 회전 및 재조합함으로써 최종 QR코드 이미지를 획득하고, 획득된 이미지를 분석하여 이에 포함된 정보를 획득할 수 있다.In one embodiment, the QR code transmitted to the user terminal 300 may be divided, rotated, and reassembled into preset pieces to prevent information leakage due to image leakage. For example, the QR code may be divided into a plurality of pieces, rotated and recombined according to a preset rule. The user terminal 300 may obtain a final QR code image by dividing, rotating, and recombining the obtained QR code image according to a preset rule, and analyzing the obtained image to obtain information included therein.

예를 들어, QR코드는 원본 QR코드 이미지를 9분할하여 각각의 분할된 이미지 중 적어도 일부를 90도 회전하고, 분할된 이미지를 재배치하여 사용자 단말(300)에 전달될 수 있다.For example, the QR code may be transmitted to the user terminal 300 by dividing the original QR code image by nine, rotating at least a part of each divided image by 90 degrees, rearranging the divided image.

이러한 분할 및 재조합 규칙은 기 설정된 규칙 테이블에 기반하여 결정될 수 있으며, 이는 시간에 따라 달라질 수 있다. 예를 들어, 규칙 테이블의 인덱스를 탐색함으로써 이에 대응하는 규칙을 획득할 수 있으며, 규칙 테이블의 인덱스는 OTP값에 기반하여 산출될 수 있다. 즉, 시간에 따라 OTP값이 변하고, 이에 따라 코드를 분할, 회전 및 조합하는 규칙이 달라지는 바, QR코드 이미지가 유출되더라도 이에 기반한 정보유출을 막을 수 있다.These division and recombination rules may be determined based on a preset rule table, which may vary over time. For example, by searching the index of the rule table, a corresponding rule may be obtained, and the index of the rule table may be calculated based on the OTP value. That is, the OTP value changes over time, and the rules for dividing, rotating, and combining codes change accordingly. Even if the QR code image is leaked, information leakage based on this can be prevented.

또한, QR코드에 저장되는 데이터 또한 상술한 바와 같이 OTP값에 기반하여 암호화 혹은 비식별화된 것일 수 있다.In addition, data stored in the QR code may also be encrypted or de-identified based on the OTP value as described above.

개시된 실시 예에 따른 데이터의 비식별화 방법에 있어서, 도 19에 도시된 바와 같이 데이터의 임의의 위치에 랜덤문자집합으로부터 추출된 문자가 삽입되는 방법이 활용될 수 있다.In the method of de-identifying data according to the disclosed embodiment, a method in which a character extracted from a random character set is inserted in an arbitrary position of data as shown in FIG. 19 may be used.

랜덤문자집합의 구성과 랜덤문자집합으로부터 문자를 추출하는 방법, 그리고 추출된 문자를 삽입할 데이터의 위치를 결정하는 방법은 제한되지 않으나, 실시 예에 따라 아래와 같은 방법이 이용될 수 있다.The configuration of the random character set, a method of extracting a character from the random character set, and a method of determining a location of data to insert the extracted character are not limited, but the following method may be used according to embodiments.

일 실시 예에서, 서버는 비식별화를 수행할 데이터를 분석하여, 비식별화를 수행할 대상 데이터에서 등장하지 않는 n글자의 문자열을 m개 생성할 수 있다. 실시 예에 따라서, n글자는 비식별화를 수행할 대상 데이터에서 등장하지 않는 m개의 문자열을 획득할 수 있는 최소한의 글자 수로 결정될 수 있으나, 이에 제한되는 것은 아니다.In an embodiment, the server may analyze data to be de-identified and generate m strings of n characters that do not appear in target data to be de-identified. According to an embodiment, n characters may be determined as the minimum number of characters for acquiring m character strings that do not appear in target data to be de-identified, but is not limited thereto.

서버는 결정된 m개의 문자열을 포함하는 랜덤문자집합을 생성할 수 있다.The server may generate a random character set including the determined m character strings.

일 실시 예에서, 랜덤문자집합은 결정된 m개의 문자열 및 m개의 문자열 전후로 기 설정된 수의 랜덤문자가 결합된 문자열들을 포함할 수 있다.In an embodiment, the random character set may include m strings determined and strings in which a preset number of random characters are combined before and after m strings.

일 실시 예에서, m개의 문자열은 사용자의 계정을 생성하는 데 이용되는 12개의 니모닉 코드 단어에 포함된 문자열만으로 구성될 수 있고, n과 m은 본 조건을 만족하는 숫자로 결정될 수 있으나, 이에 제한되는 것은 아니다.In one embodiment, m strings may consist of only strings included in 12 mnemonic code words used to create a user's account, and n and m may be determined as numbers satisfying this condition, but are limited thereto. It does not become.

일 실시 예에서, 서버는 랜덤문자집합에 포함된 문자열을 데이터의 임의의 위치에 삽입함으로써 비식별화를 수행할 수 있다. 실시 예에 따라서, 문자열은 연속된 형태로 삽입될 수도 있으나, 기 설정된 간격 또는 기 설정된 규칙에 기반하여 산출되는 위치에 삽입될 수도 있다.In an embodiment, the server may perform de-identification by inserting a character string included in the random character set into an arbitrary position of data. Depending on the embodiment, the character string may be inserted in a continuous form, but may be inserted at a preset interval or a position calculated based on a preset rule.

서버는 비식별화에 사용된 규칙을 저장하고, 추후 저장된 규칙에 기반하여 비식별화 코드 제거를 수행할 수 있다.The server may store the rules used for de-identification, and perform de-identification code removal based on the stored rules later.

일 실시 예에서, 서버는 랜덤문자집합에 포함된 문자열들을 비식별화된 데이터에서 탐색하고, 탐색된 문자열들을 제거함으로써 비식별화 코드 제거를 수행할 수 있다.In an embodiment, the server may perform de-identification code removal by searching for character strings included in the random character set from de-identified data and removing the searched character strings.

실시 예에 따라서, 각각의 문자열을 연산한 결과에 따라 문자열의 전후로 특정한 수의 문자가 결합될 수 있다. 예를 들어, 문자열에 포함된 문자들의 아스키 코드에 기반하여 제1 수식을 이용하여 산출된 특정한 값에 해당하는 문자가 문자열의 앞 또는 뒤에 삽입될 수 있다. 또한, 제2 수식을 이용하여 산출된 값을 통해 문자를 삽입할 위치와 개수가 결정될 수 있다.Depending on the embodiment, a specific number of characters may be combined before or after the character string according to the result of calculating each character string. For example, a character corresponding to a specific value calculated using a first equation based on ASCII codes of characters included in the character string may be inserted before or after the character string. Also, the position and number of characters to be inserted may be determined through a value calculated using the second equation.

즉, 랜덤문자집합에 속하는 문자열들에 대한 정보와, 문자열 연산을 위한 수식정보를 저장함으로써 직접적으로 비식별화 코드가 저장된 위치나 해당 코드에 대한 정보를 저장하지 않고도 비식별화 코드 제거를 수행할 수 있다.That is, by storing information on strings belonging to the random character set and formula information for string operation, the de-identification code can be removed without directly storing the location where the de-identification code is stored or information on the corresponding code. I can.

실시 예에 따라서, 랜덤문자집합에 속하는 문자열들에 대한 정보 또한 사용자의 니모닉 코드에 기반하여 재구성될 수도 있다. 예를 들어, 랜덤문자집합에 속하는 문자열들은 사용자의 니모닉 코드에 속하는 문자열들로부터 추출되도록 구성되며, 각각의 단어의 몇 번째 문자로부터 몇 개의 문자를 포함하는 문자열을 추출하는가에 대한 규칙을 공유함으로써, 랜덤문자집합을 별도로 저장하지 않고도 그 재구성이 가능할 수 있다. 문자열 추출에 대한 규칙은, 상술한 바와 같이 n과 m의 산출조건을 만족하도록 계산되어 저장 및 공유될 수 있으나, 이에 제한되는 것은 아니다.According to an embodiment, information on character strings belonging to the random character set may also be reconstructed based on the user's mnemonic code. For example, strings belonging to the random character set are configured to be extracted from strings belonging to the user's mnemonic code, and by sharing the rules for extracting strings including how many characters from the number of characters of each word, The random character set can be reconstructed without storing it separately. The rule for extracting the character string may be calculated to satisfy the calculation conditions of n and m, stored and shared, as described above, but is not limited thereto.

일 실시 예에서, IPFS시스템으로부터 리턴되는 해시 값을 M:N으로 분할함에 있어서, M:N의 분할비율은 다양하게 설정될 수 있고, 이를 M:N의 비율로 분할하는 방법 또한 제한되지 않는다.In one embodiment, in dividing the hash value returned from the IPFS system into M:N, the M:N division ratio may be variously set, and a method of dividing the hash value returned from the IPFS system into the M:N ratio is also not limited.

예를 들어, 분할은 글자수를 기준으로 수행될 수도 있고, 해시 값을 기 설정된 글자수 단위의 복수의 문자열로 분할한 후 각각의 문자열을 분산저장하는 방식으로도 수행될 수도 있다. 분산저장된 정보는 순서에 따라 재조합되어 복구될 수 있다.For example, the division may be performed based on the number of characters, or may be performed by dividing the hash value into a plurality of character strings in units of a preset number of characters and then storing each character string in a distributed manner. Distributed stored information can be recombined and restored in sequence.

다른 예로, 해시 값의 분할은 문자 혹은 문자열이 아닌 이를 구성하는 아스키 코드를 기반으로도 수행될 수 있다. 예를 들어, 특정 문자를 구성하는 아스키 코드의 숫자를 M:N비율으로 분할하여 사용자 단말과 블록체인에 각각 저장할 수 있으며, 양쪽에서 획득된 값을 합산함으로써 원래의 문자를 복구하는 방식도 이용될 수 있다.As another example, the partitioning of the hash value may be performed based on the ASCII code constituting it, not a character or string. For example, the number of ASCII codes constituting a specific character can be divided by M:N ratio and stored in the user terminal and the blockchain, respectively, and a method of recovering the original character by summing the values obtained from both can also be used. I can.

일 실시 예에서, 사용자는 복수의 단말을 이용하여 분산저장을 수행할 수도 있다. 예를 들어, 사용자의 설정에 따라 사용자 단말에 저장되는 M%의 값이 다시 서로 다른 2개의 단말에 분산저장될 수 있다.In an embodiment, a user may perform distributed storage using a plurality of terminals. For example, the M% value stored in the user terminal according to the user's setting may be distributed and stored in two different terminals again.

이 경우, 사용자는 제1 단말을 통해 저장된 데이터를 요청하는 경우, 제2 단말을 통한 인증 및 데이터 전송을 함께 수행하여야 한다. 이는 저장되는 데이터의 유형이나, 사용자가 보안 강화를 선택한 특정 데이터에 대하여 수행될 수 있다. In this case, when a user requests stored data through the first terminal, authentication and data transmission through the second terminal must be performed together. This may be done for the type of data to be stored, or for specific data for which the user has chosen to enhance security.

예를 들어, 사용자가 특정 데이터에 대하여 복수 단말을 이용한 보안을 선택하는 경우, 해당 데이터를 탐색하기 위한 값의 M%가 복수 단말에 분산저장되고, 복수 단말 전체로부터 인증이 수행되고, 분산저장된 M%의 값이 취합되는 경우에 원하는 데이터에 접근이 가능하도록 구성될 수도 있다.For example, when a user selects security using multiple terminals for specific data, M% of the value for searching the data is distributed and stored in multiple terminals, authentication is performed from all terminals, and distributed stored M If the value of% is collected, it may be configured to allow access to the desired data.

일 실시 예에서, M% 및 N%가 취합되어 데이터 획득에 활용된 이후, 취합된 데이터는 폐기됨으로써 재활용을 방지할 수 있다.In an embodiment, after M% and N% are collected and used for data acquisition, the collected data is discarded, thereby preventing recycling.

일 실시 예에서, 취합된 데이터의 폐기를 보장하기 위한 수단이 마련될 수 있다.In an embodiment, a means may be provided to ensure the destruction of the collected data.

예를 들어, 데이터의 취합과, 취합된 데이터에 기반한 탐색, 그리고 취합된 데이터의 삭제를 포함하는 일련의 과정이 블록체인의 스마트 컨트랙트에 기반하여 수행될 수 있다. For example, a series of processes including data collection, search based on the collected data, and deletion of the collected data can be performed based on the smart contract of the blockchain.

이 경우, 스마트 컨트랙트의 무결성에 문제가 없는 한 취합된 데이터가 사용 이후 반드시 폐기됨이 보장될 수 있다. 이는 스마트 컨트랙트의 내용을 공개함으로써 사용된 데이터가 반드시 폐기된다는 것을 대외적으로 보장하는 데에도 활용될 수 있다.In this case, as long as there is no problem with the integrity of the smart contract, it can be guaranteed that the collected data is necessarily discarded after use. This can also be used to externally guarantee that the used data will be discarded by disclosing the contents of the smart contract.

또한, 도 25에 도시된 실시 예에 따라 컴퓨팅 파워를 제공받고, 이에 대응하여 보상을 지급하는 시스템에 있어서, 컴퓨팅 파워를 제공하는 각각의 단말들은 컴퓨팅 파워의 실제 제공량에 대응하는 보상을 받도록 구성될 수도 있다. 이 경우, 서버는 필요한 컴퓨팅 파워의 총량이 있을 때 컴퓨팅 파워를 제공하는 각각의 단말들의 성능 및 설정된 제공량의 상한에 기반하여 각각의 단말이 제공할 수 있는 컴퓨팅 파워의 양을 산출할 수 있다.In addition, in the system for receiving computing power according to the embodiment shown in FIG. 25 and paying compensation in response thereto, each terminal providing computing power will be configured to receive a compensation corresponding to the actual amount of computing power provided. May be. In this case, the server may calculate the amount of computing power that can be provided by each terminal based on the performance of each terminal providing computing power and an upper limit of the set amount of provision when there is a total amount of computing power required.

서버는 계약된 단말들 각각이 제공할 수 있는 컴퓨팅 파워의 양을 산출하고, 산출된 양에 비례하는 컴퓨팅 파워를 각각 분배하여 이용할 수 있다. 이에 따라 높은 성능의 단말을 제공하고, 더 많은 컴퓨팅 파워를 제공하는 것으로 계약할수록 더 많은 보상을 지급받을 기회를 획득할 수 있다.The server may calculate an amount of computing power that each of the contracted terminals can provide, and may distribute and use computing power proportional to the calculated amount. Accordingly, the more a user contracts to provide a high-performance terminal and to provide more computing power, the more rewards can be obtained.

또한, 실시 예에 따라 본 시스템에 컴퓨팅 파워를 제공하기 위해서만 이용되는 전용 단말이 등록될 수 있다.Also, according to an embodiment, a dedicated terminal used only to provide computing power to the system may be registered.

전용 단말은 기 설정된 기준 이상의 성능을 구비하고, 모든 컴퓨팅 파워를 개시된 실시 예에 따른 시스템에 제공하는 것으로 계약되는 단말을 의미할 수 있다. 전용 단말 설정에 따른 보상비율은 일반 단말과 상이하게 설정될 수 있다.The dedicated terminal may refer to a terminal having a performance equal to or greater than a preset standard and contracted to provide all computing power to the system according to the disclosed embodiment. The compensation ratio according to the dedicated terminal setting may be set differently from the general terminal.

일 실시 예에서, 컴퓨팅 파워 지급에 따른 보상으로서 개시된 실시 예에 따른 월렛 애플리케이션 및 제반 서비스의 이용비용을 할인하거나, 갈음할 수도 있다. 실시 예에 따라 보상액이 서비스의 이용비용을 초과하는 경우, 초과분에 대해서 BIDT 혹은 BRC에 기반한 보상이 지급될 수도 있다.In an embodiment, as compensation for payment of computing power, the cost of using the wallet application and all services according to the disclosed embodiment may be discounted or replaced. According to an embodiment, when the amount of compensation exceeds the cost of using the service, a BIDT or BRC-based compensation may be paid for the excess amount.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. Software modules include Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.Components of the present invention may be implemented as a program (or application) and stored in a medium in order to be executed in combination with a computer that is hardware. Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments include various algorithms implemented with a combination of data structures, processes, routines or other programming elements, including C, C++ , Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects can be implemented with an algorithm running on one or more processors.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.In the above, embodiments of the present invention have been described with reference to the accompanying drawings, but those of ordinary skill in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features. You can understand. Therefore, the embodiments described above are illustrative in all respects, and should be understood as non-limiting.

Claims (9)

컴퓨터에 의하여 수행되는 방법에 있어서,
블록체인에 저장된 탐색값을 획득하는 단계;
상기 탐색값을 이용하여 분산저장 네트워크에 분산저장된 데이터 조각들을 획득하는 단계;
상기 데이터 조각들을 조합하는 단계; 및
조합된 데이터를 후처리하여 결과 데이터를 획득하는 단계; 를 포함하는,
블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법.
In the method performed by a computer,
Obtaining a search value stored in the blockchain;
Obtaining pieces of data distributedly stored in a distributed storage network by using the search value;
Combining the pieces of data; And
Post-processing the combined data to obtain result data; Containing,
A method of acquiring data through exploration and combination of data distributed in the blockchain.
제1 항에 있어서,
상기 조합된 데이터를 후처리하는 단계는,
상기 조합된 데이터를 복호화하는 단계; 및
상기 복호화된 데이터로부터 비식별화 코드를 제거하는 단계; 를 포함하는,
블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법.
The method of claim 1,
Post-processing the combined data,
Decoding the combined data; And
Removing a de-identification code from the decrypted data; Containing,
A method of acquiring data through exploration and combination of data distributed in the blockchain.
제2 항에 있어서,
사용자 단말로부터 인증요청 데이터를 획득하는 단계;
상기 인증요청 데이터를 해시하는 단계;
상기 해시된 값을 상기 결과 데이터와 비교하는 단계; 및
상기 비교 결과에 따라 인증 결과를 획득하는 단계; 를 더 포함하는,
블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법.
The method of claim 2,
Obtaining authentication request data from a user terminal;
Hashing the authentication request data;
Comparing the hashed value with the result data; And
Obtaining an authentication result according to the comparison result; Further comprising,
A method of acquiring data through exploration and combination of data distributed in the blockchain.
제1 항에 있어서,
상기 블록체인에 저장된 탐색값을 획득하는 단계는,
사용자 단말로부터 상기 탐색값이 분할된 조각의 M%를 획득하는 단계;
상기 블록체인으로부터 상기 탐색값이 분할된 조각의 나머지 N%를 획득하는 단계; 및
상기 M% 및 상기 N%의 분할된 조각을 조합하여 상기 탐색값을 복원하는 단계; 를 포함하고,
상기 데이터 조각들을 획득하는 단계는,
상기 복원된 탐색값을 이용하여 상기 분산저장 네트워크에 분산저장된 데이터 조각들을 획득하는 단계; 를 포함하는,
블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법.
The method of claim 1,
The step of obtaining the search value stored in the blockchain,
Acquiring M% of the segment divided by the search value from the user terminal;
Acquiring the remaining N% of the fragment divided by the search value from the blockchain; And
Restoring the search value by combining the M% and N% divided pieces; Including,
Acquiring the data pieces,
Obtaining pieces of data distributedly stored in the distributed storage network by using the restored search value; Containing,
A method of acquiring data through exploration and combination of data distributed in the blockchain.
제4 항에 있어서,
상기 데이터 조각들을 획득하는 단계는,
상기 복원된 탐색값을 폐기하는 단계; 를 더 포함하는,
블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법.
The method of claim 4,
Acquiring the data pieces,
Discarding the restored search value; Further comprising,
A method of acquiring data through exploration and combination of data distributed in the blockchain.
제1 항에 있어서,
상기 데이터 조각들을 획득하는 단계는,
기 설정된 IPFS 시스템에 상기 탐색값을 전달하는 단계; 및
상기 IPFS 시스템으로부터 상기 데이터 조각들을 획득하는 단계; 를 포함하는,
블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법.
The method of claim 1,
Acquiring the data pieces,
Transmitting the search value to a preset IPFS system; And
Obtaining the data pieces from the IPFS system; Containing,
A method of acquiring data through exploration and combination of data distributed in the blockchain.
제6 항에 있어서,
상기 탐색값은,
상기 IPFS 시스템에 저장된 데이터의 해시 값인 것을 특징으로 하는,
블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법.
The method of claim 6,
The search value is,
Characterized in that the hash value of the data stored in the IPFS system,
A method of acquiring data through exploration and combination of data distributed in the blockchain.
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
제1 항의 방법을 수행하는, 장치.
A memory for storing one or more instructions; And
And a processor that executes the one or more instructions stored in the memory,
The processor executes the one or more instructions,
An apparatus for performing the method of claim 1.
하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램.A computer program that is combined with a computer as hardware and stored in a recording medium readable by a computer to perform the method of claim 1.
KR1020190153410A 2019-11-26 2019-11-26 Method for obtaining data through searching and merging distributed data stored using blockchain KR20210017968A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190153410A KR20210017968A (en) 2019-11-26 2019-11-26 Method for obtaining data through searching and merging distributed data stored using blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190153410A KR20210017968A (en) 2019-11-26 2019-11-26 Method for obtaining data through searching and merging distributed data stored using blockchain

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190096189A Division KR102052036B1 (en) 2019-07-30 2019-08-07 Method for obtaining data through searching and merging distributed data stored using blockchain

Publications (1)

Publication Number Publication Date
KR20210017968A true KR20210017968A (en) 2021-02-17

Family

ID=74732541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190153410A KR20210017968A (en) 2019-11-26 2019-11-26 Method for obtaining data through searching and merging distributed data stored using blockchain

Country Status (1)

Country Link
KR (1) KR20210017968A (en)

Similar Documents

Publication Publication Date Title
KR102052036B1 (en) Method for obtaining data through searching and merging distributed data stored using blockchain
US20210314313A1 (en) Certificate issuing system based on block chain
EP3721578B1 (en) Methods and systems for recovering data using dynamic passwords
CN110692214B (en) Method and system for ownership verification using blockchain
US9892404B2 (en) Secure identity authentication in an electronic transaction
RU2747947C2 (en) Systems and methods of personal identification and verification
US9864983B2 (en) Payment method, payment server performing the same and payment system performing the same
EP3647977A1 (en) Secure data communication
KR20190075793A (en) Authentication System for Providing Instant Access Using Block Chain
KR102333811B1 (en) System and method for processing card payment based on block-chain
KR20210017308A (en) Method for providing secondary authentication service using device registration and distributed storage of data
KR20210014458A (en) Method for providing integrated authentication service based on blockchain
KR20210017968A (en) Method for obtaining data through searching and merging distributed data stored using blockchain
KR20210017969A (en) Data management method through distributed storage of data between user and blockchain
KR20210017310A (en) System for managing payment and exchange of blockchain-based cryptocurrency
CN112785410A (en) Relying party risk adjustment indicator systems and methods
KR20210014457A (en) Method for providing data cloud service using blockchain-based data distribution
RU2795371C1 (en) Method and system of depersonalized assessment of clients of organizations for carrying out operations between organizations
US11893587B2 (en) System for enhanced authentication using non-fungible tokens (NFTs)
JP7171977B1 (en) digital authentication system
KR102261195B1 (en) Integrated authentication and data providing method and apparatus for personal data utilization service
KR102509633B1 (en) Blockchain decentralized identity based integrated authentication payment terminal, platform system capable of selective promotion and control method thereof
KR20240014317A (en) The ownership proof system of personal signature through NFT issuance about personal signature data
CN117455489A (en) Transaction authorization method, device, equipment and storage medium