KR102162044B1 - The Method for User Authentication Based on Block Chain and The System Thereof - Google Patents

The Method for User Authentication Based on Block Chain and The System Thereof Download PDF

Info

Publication number
KR102162044B1
KR102162044B1 KR1020190034497A KR20190034497A KR102162044B1 KR 102162044 B1 KR102162044 B1 KR 102162044B1 KR 1020190034497 A KR1020190034497 A KR 1020190034497A KR 20190034497 A KR20190034497 A KR 20190034497A KR 102162044 B1 KR102162044 B1 KR 102162044B1
Authority
KR
South Korea
Prior art keywords
authentication
user
blockchain
user terminal
random number
Prior art date
Application number
KR1020190034497A
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 KR1020190034497A priority Critical patent/KR102162044B1/en
Application granted granted Critical
Publication of KR102162044B1 publication Critical patent/KR102162044B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a blockchain-based user authentication method and a system thereof. According to the present invention, the user authentication method may be performed by a blockchain-based user authentication system comprising a plurality of blockchain nodes constituting a blockchain network, a service providing server, and a user terminal.

Description

블록체인 기반의 사용자 인증 방법 및 그 시스템{The Method for User Authentication Based on Block Chain and The System Thereof}The Method for User Authentication Based on Block Chain and The System Thereof}

본 발명은 블록체인 기반으로 사용자 인증을 수행하는 방법 및 그 시스템에 관한 것이다. 보다 자세하게는, 블록체인 상에 기록된 인증 데이터에 기초하여 사용자에 대한 인증 서비스를 수행하는 방법 및 그 시스템에 관한 것이다. The present invention relates to a method and a system for performing user authentication based on a block chain. In more detail, it relates to a method and system for performing an authentication service for a user based on authentication data recorded on a blockchain.

블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드들이 상기 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 상기 체인 형태의 자료 구조로 구성된 데이터 그 자체를 의미한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는, 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.Blockchain is a data management technology in which continuously increasing data is recorded in a specific unit of block, and each node constituting a P2P (peer-to-peer) network manages the block in a chain-type data structure. Or it means the data itself composed of the data structure in the form of a chain. At this time, blockchain data composed of a chain-type data structure is operated in the form of a distributed ledger at each node without a central system.

블록체인 네트워크를 구성하는 각각의 블록체인 노드는 도 1에 도시된 바와 같은 자료 구조로 블록들을 관리한다. 여기서, 각 블록에는 이전 블록에 대한 해쉬 값이 기록되며, 상기 해쉬 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 거래 데이터의 위변조는 어려워지고, 각 블록에 기록된 거래 데이터의 신뢰도는 향상되게 된다.Each blockchain node constituting the blockchain network manages blocks in a data structure as shown in FIG. 1. Here, a hash value for a previous block is recorded in each block, and a previous block may be referenced through the hash value. Accordingly, as blocks are accumulated, forgery and alteration of transaction data recorded in the block becomes difficult, and the reliability of transaction data recorded in each block is improved.

한편, 사용자 인증 방법에 관한 기술분야에서는 보안이 가장 중요한 문제가 되는데, 사용자 인증 서비스를 제공하는 서버가 해킹 당할 우려가 있기 때문에, 종래의 사용자 인증 방법은 보안문제에서 자유롭지 못한 한계점이 존재한다.On the other hand, in the technical field related to the user authentication method, security is the most important problem. Since there is a risk that the server providing the user authentication service may be hacked, the conventional user authentication method has a limitation that is not free from security problems.

(KR) 등록특허 제 10-0791485 호(KR) Registered Patent No. 10-0791485

본 발명은 상기 문제점을 해결하기 위해 안출된 것으로서, 블록체인 기반의 사용자 인증 방법 및 그 시스템을 제공하기 위함이다. The present invention has been devised to solve the above problem, and is to provide a block chain-based user authentication method and system thereof.

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

본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법은 블록체인 네트워크(Blockchain network)를 구성하는 복수의 블록체인 노드, 서비스 제공 서버 및 사용자 단말기를 포함하는 블록체인 기반의 사용자 인증 시스템에 의해 수행될 수 있다.Blockchain-based user authentication method according to an embodiment of the present invention is a block-chain-based user authentication system including a plurality of block-chain nodes constituting a block-chain network, a service providing server, and a user terminal. Can be done.

본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법은 상기 서비스 제공 서버가, 인증 요청에 대한 응답으로 상기 복수의 블록체인 노드 중 어느 하나의 블록체인 노드를 통해 신규 블록을 생성하는 단계; 상기 사용자 단말기가, 인증 요청에 대한 응답으로 인증관련정보를 호출하여, 상기 블록체인 네트워크를 통해서 상기 신규 블록에 상기 인증관련정보를 저장하는 단계; 상기 사용자 단말기가, 상기 블록체인 네트워크를 통해서 블록체인에 저장된 상기 인증관련정보에 기초하여 사용자 단말기를 검증하는 단계; 상기 사용자 단말기 검증이 유효한 경우, 상기 사용자 단말기가, 사용자 식별정보를 검증하는 단계; 상기 사용자 식별정보 검증이 유효한 경우, 상기 서비스 제공 서버가, 사용자 인증 처리를 수행하는 단계; 및 상기 사용자 식별정보가 유효한 경우, 상기 서비스 제공 서버 및 상기 사용자 단말기는 상기 블록체인에 인증결과를 저장하는 단계를 포함할 수 있다.Blockchain-based user authentication method according to an embodiment of the present invention, the service providing server, in response to an authentication request, generating a new block through any one of the plurality of blockchain nodes; Calling, by the user terminal, authentication-related information in response to an authentication request, and storing the authentication-related information in the new block through the blockchain network; Verifying, by the user terminal, the user terminal based on the authentication related information stored in the block chain through the block chain network; If the user terminal verification is valid, verifying, by the user terminal, user identification information; If the verification of the user identification information is valid, performing, by the service providing server, a user authentication process; And when the user identification information is valid, the service providing server and the user terminal storing an authentication result in the block chain.

본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법에서, 상기 사용자 단말기를 검증하는 단계는, 인증 횟수에 기초한 난수를 생성하는 단계; 및 상기 생성된 난수와 이전 블록의 난수와 일치하는지 비교하는 단계를 포함할 수 있다.In the block chain-based user authentication method according to an embodiment of the present invention, the verifying of the user terminal includes: generating a random number based on the number of authentications; And comparing the generated random number with the random number of the previous block.

본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법에서, 상기 난수를 생성하는 단계는, 현재의 인증 횟수(n)-1에 기초하여 난수를 생성하는 것을 특징으로 하는 블록체인 기반의 사용자 인증 방법.In the block chain-based user authentication method according to an embodiment of the present invention, the generating of the random number comprises generating a random number based on the current number of authentications (n) -1. Authentication method.

본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법에서, 상기 사용자 식별정보는 생체정보 또는 사용자 디바이스의 위치정보인 것을 특징으로 할 수 있다.In the block chain-based user authentication method according to an embodiment of the present invention, the user identification information may be biometric information or location information of a user device.

본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법에서, 상기 사용자 단말기가 상기 사용자 식별정보를 검증하는 단계 및 상기 서비스 제공 서버가 사용자 인증 처리를 수행하는 단계는 병렬로 처리될 수 있다.In the block chain-based user authentication method according to an embodiment of the present invention, the step of verifying the user identification information by the user terminal and the step of performing the user authentication process by the service providing server may be processed in parallel.

본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 시스템은 블록체인 네트워크(Blockchain network)를 구성하고, 복수의 블록이 체인 형태로 연결된 블록체인 데이터를 분산 관리하며, 상기 블록체인 데이터를 이용하여 사용자 인증관련정보에 대한 인증 데이터를 기록하는 복수의 블록체인 노드; 상기 블록체인 네트워크와 연동하여, 사용자 인증 서비스를 제공하는 서비스 제공 서버; 및 상기 서비스 제공 서버로부터 수신한 인증 요청에 대한 응답으로 상기 블록체인 네트워크와 연동하여 상기 인증 데이터에 기초하여 사용자 단말기를 검증하고, 상기 사용자 단말기에 대한 검증이 유효한 경우 사용자 식별정보를 검증하는 사용자 단말기를 포함할 수 있다.The block chain-based user authentication system according to an embodiment of the present invention configures a block chain network, distributes and manages block chain data connected in a chain form, and uses the block chain data. A plurality of blockchain nodes for recording authentication data for user authentication related information; A service providing server interworking with the blockchain network to provide a user authentication service; And a user terminal that verifies a user terminal based on the authentication data by interworking with the blockchain network in response to an authentication request received from the service providing server, and verifies user identification information when the verification of the user terminal is valid. It may include.

본 발명에 따른 블록체인 기반의 사용자 인증 방법 및 그 시스템은 사용자 디바이스의 복제를 통해 인증을 수행하는 해킹 경로를 차단할 수 있기 때문에 종래의 사용자 인증 방법에 비하여 보안을 더욱 향상시킬 수 있다.The blockchain-based user authentication method and the system according to the present invention can further improve security compared to the conventional user authentication method because it is possible to block a hacking path that performs authentication through cloning of a user device.

즉, 본 발명에 따른 블록체인 기반의 사용자 인증 방법 및 그 시스템은 블록체인에 인증 히스토리를 저장하고, 다음 인증시 재사용함으로써 디바이스 복제에 대한 피해를 최소화시킬 수 있다.That is, the block chain-based user authentication method and the system according to the present invention can minimize damage to device duplication by storing the authentication history in the blockchain and reusing it at the next authentication.

또한, 본 발명에 따른 블록체인 기반의 사용자 인증 방법 및 그 시스템은 사용자 인증에 관한 정보를 암호화된 난수 값으로 블록체인에 저장하기 때문에 개인정보 유출 피해가 없다.In addition, since the block chain-based user authentication method and the system according to the present invention store information on user authentication as an encrypted random number in the blockchain, there is no damage to personal information leakage.

나아가, 사용자 인증 서비스를 제공하는 서버가 해킹되는 경우에도, 사용자 인증에 관한 정보는 블록체인에 저장되어 있기 때문에 서버해킹문제에도 안전하다.Furthermore, even if the server providing the user authentication service is hacked, the information on user authentication is stored in the blockchain, so it is safe even for the server hacking problem.

또한, 본 발명에 따른 블록체인 기반의 사용자 인증 방법 및 그 시스템에 의하면, 사용자 단말기에 관한 정보는 인증 당시 실시간으로 조회되고, 사용자 식별정보는 사용자 단말기에 저장된 정보를 이용하기 때문에, 인증 서비스 제공 서버에 문제가 발생하더라도 사용자 인증을 수행할 수 있는 이점이 있다.In addition, according to the block chain-based user authentication method and the system according to the present invention, information on the user terminal is inquired in real time at the time of authentication, and the user identification information uses information stored in the user terminal. Even if a problem occurs, there is an advantage of performing user authentication.

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

도 1은 본 발명의 실시예에서 참조될 수 있는 블록체인 데이터의 구조를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증이 이루어지는 전 과정을 설명하기 위한 도면이다.
1 is a view for explaining the structure of block chain data that can be referred to in an embodiment of the present invention.
2 is a block diagram of a block chain-based user authentication system according to an embodiment of the present invention.
3 is a flowchart of a block chain-based user authentication method according to an embodiment of the present invention.
4 is a view for explaining the entire process of performing a block chain-based user authentication according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면을 참조하여 상세하게 설명하도록 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be described in detail with reference to the drawings. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재 항목들의 조합 또는 복수의 관련된 기재 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related items or any of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it should be understood that it may be directly connected to or connected to the other component, but other components may exist in the middle. something to do. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

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

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다. Throughout the specification and claims, when a certain part includes a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated.

본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description of the present specification, some terms used in the present specification will be clarified.

본 명세서에서, 블록체인 데이터란 블록체인 네트워크를 구성하는 각각의 블록체인 노드가 유지하는 데이터로, 적어도 하나의 블록이 체인 형태의 자료 구조로 구성되는 데이터를 의미한다. 각 블록에 기록된 데이터가 트랜잭션 데이터인 경우, 상기 블록체인 데이터는 분산 원장으로 이용될 수 있다. 다만, 각 블록에 기록되는 데이터의 종류는 얼마든지 달라질 수 있다. 상기 블록체인 데이터의 구조는 도 1을 참조하도록 한다.In this specification, block chain data is data maintained by each block chain node constituting a block chain network, and refers to data in which at least one block is composed of a chain-type data structure. If the data recorded in each block is transaction data, the blockchain data can be used as a distributed ledger. However, the type of data recorded in each block can vary. For the structure of the blockchain data, refer to FIG. 1.

본 명세서에서, 블록체인 네트워크란, 블록체인 알고리즘에 따라 동작하는 복수의 블록체인 노드로 구성된 P2P 구조의 네트워크를 의미한다.In this specification, a blockchain network refers to a P2P-structured network consisting of a plurality of blockchain nodes operating according to a blockchain algorithm.

본 명세서에서, 블록체인 노드란, 블록체인 네트워크를 구성하고 블록체인 알고리즘에 기초하여 블록체인 데이터를 유지하고 관리하는 주체를 의미한다. 상기 블록체인 노드는 단일 컴퓨팅 장치로 구현될 수 있으나, 가상 머신(virtual machine) 등으로 구현될 수도 있다. 가상 머신으로 구현되는 경우, 단일컴퓨팅 장치에 복수의 블록체인 노드가 존재할 수 있다. 본 발명의 일 실시예에 따른 사용자 인증 서비스를 제공하는 서비스 제공 서버 등이 블록체인 노드에 해당될 수 있다.In this specification, a block chain node refers to a subject that configures a block chain network and maintains and manages block chain data based on a block chain algorithm. The blockchain node may be implemented as a single computing device, but may also be implemented as a virtual machine. When implemented as a virtual machine, multiple blockchain nodes can exist on a single computing device. A service providing server that provides a user authentication service according to an embodiment of the present invention may correspond to a block chain node.

본 명세서에서, 복수의 블록체인 노드들 중 어느 하나의 블록체인 노드는 신규 블록을 생성하는 노드이고, 블록 생성 노드라고 지칭될 수 있다.In the present specification, any one of the plurality of blockchain nodes is a node that generates a new block, and may be referred to as a block generation node.

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

도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 시스템의 구성도이다.2 is a block diagram of a block chain-based user authentication system according to an embodiment of the present invention.

도 2를 참조하면, 블록체인 기반의 사용자 인증 시스템은 블록체인 네트워크(100), 인증 요청 시스템(200), 서비스 제공 서버(300) 및 사용자 단말기(400)를 포함하도록 구성될 수 있다. 단 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. Referring to FIG. 2, a block chain-based user authentication system may be configured to include a block chain network 100, an authentication request system 200, a service providing server 300, and a user terminal 400. However, this is only a preferred embodiment for achieving the object of the present invention, and of course, some components may be added or deleted as necessary.

상기 사용자 인증 시스템에서, 인증 요청 시스템(200)은 사용자가 접근하려는 기업 내부 시스템으로 출입 시스템, 컴퓨터, 업무시스템, 보안 시스템 등이 될 수 있다. 단, 인증 요청 시스템(200)은 기업 내부 시스템으로 한정되는 것은 아니며, 금융 서비스 서버, 클라우드 서버, IoT 허브 서버, 특정 웹사이트나 콘텐츠를 제공하는 서버 등도 인증 요청 시스템(200)에 해당될 수 있다.In the user authentication system, the authentication request system 200 may be an access system, a computer, a work system, a security system, etc. as an internal system of a company to which a user intends to access. However, the authentication request system 200 is not limited to a corporate internal system, and a financial service server, a cloud server, an IoT hub server, a server that provides a specific website or content, etc. may also correspond to the authentication request system 200. .

상기 사용자 인증 시스템에서, 서비스 제공 서버(300)는 블록체인 네트워크(100)를 통해 사용자 인증에 대한 서비스를 제공하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 다수의 거래 요청을 처리하기 위해서, 서비스 제공 서버(300)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다.In the user authentication system, the service providing server 300 is a computing device that provides a service for user authentication through the blockchain network 100. Here, the computing device may be a notebook, a desktop, a laptop, etc., but is not limited thereto, and may include all types of devices equipped with a computing means and a communication means. However, in order to process a plurality of transaction requests, the service providing server 300 may be preferably implemented as a high-performance server computing device.

상기 사용자 인증 시스템에서, 사용자 단말기(400)는 사용자 인증에 관한 정보를 획득하기 위한 수단으로, 사용자가 휴대하는 스마트폰과 같은 단말기가 이에 해당될 수 있다.In the user authentication system, the user terminal 400 is a means for obtaining information on user authentication, and a terminal such as a smartphone carried by the user may correspond to this.

상기 사용자 인증 시스템에서, 블록체인 네트워크(100)는 복수의 블록체인 노드로 구성된 P2P 구조의 네트워크이다. 블록체인 네트워크(100)를 구성하는 블록체인 노드는 블록체인 알고리즘에 기초하여 블록 생성, 전파, 검증, 기록 등의 동작을 수행한다. 또한, 각각의 블록체인 노드는 동일한 블록체인 데이터를 유지한다.In the user authentication system, the blockchain network 100 is a P2P-structured network composed of a plurality of blockchain nodes. Blockchain nodes constituting the blockchain network 100 perform operations such as block creation, propagation, verification, and recording based on a blockchain algorithm. In addition, each blockchain node maintains the same blockchain data.

각각의 블록체인 노드는 사용자 인증의 내역이 기록된 블록체인 데이터가 수신될 때마다 블록체인 알고리즘에 따라 상기 블록체인 데이터에 함께 기록된 사용자 인증 내역의 유효성(e.g. UTXO 검증)을 검증한다.Each blockchain node verifies the validity (e.g. UTXO verification) of the user authentication details recorded together in the blockchain data according to the blockchain algorithm whenever the blockchain data recorded with the user authentication details is received.

이하, 도 3 및 도 4를 참조하여 블록체인 기반의 사용자 인증 방법이 실행되는 동작을 설명한다.Hereinafter, an operation of executing a block chain-based user authentication method will be described with reference to FIGS. 3 and 4.

도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증 방법의 순서도이다. 3 is a flowchart of a block chain-based user authentication method according to an embodiment of the present invention.

도 3을 참조하면, 사용자가 인증요청 시스템(200)에 접근하여 사용자 인증 요청이 발생하면(S300), 블록체인 노드는 신규 블록을 생성할 수 있다.Referring to FIG. 3, when a user accesses the authentication request system 200 and a user authentication request is generated (S300), the blockchain node may generate a new block.

그리고 사용자 단말기(400)는 인증관련정보를 사용자 단말기의 내부 센서 또는 내부 정보를 통해 호출하여 상기 생성된 블록에 저장할 수 있다(S310). In addition, the user terminal 400 may call the authentication-related information through an internal sensor or internal information of the user terminal and store it in the generated block (S310).

상기 인증관련정보는 사용자의 아이디(ID), 이메일주소, 디바이스 기종, 디바이스 제조사, 디바이스 ID, 사용자 단말기가 사용하는 전화번호, 유심번호, 위치정보를 포함할 수 있다. 한편, 위치정보는 선택적으로 상기 블록에 저장되는 구성요소일 수 있다.The authentication-related information may include a user's ID, an email address, a device model, a device manufacturer, a device ID, a phone number used by the user terminal, a sim number, and location information. Meanwhile, the location information may be a component selectively stored in the block.

사용자 단말기는 상기 블록체인 네트워크를 통해서 블록체인에 저장된 상기 인증관련정보를 이용하여 사용자 인증을 수행한다. 보다 구체적으로는, 현재의 디바이스가 사용자가 이전에도 사용한 디바이스인지 검증하는 사용자 단말기 검증 프로세스를 실행할 수 있다(S320). 이러한 사용자 단말기 검증 프로세스는 사용자 단말기 복제에 따른 보안문제를 해결할 수 있다.The user terminal performs user authentication using the authentication-related information stored in the blockchain through the blockchain network. More specifically, a user terminal verification process for verifying whether the current device is a device previously used by the user may be executed (S320). This user terminal verification process can solve the security problem caused by user terminal duplication.

상기 사용자 단말기 검증 프로세스는 인증횟수에 기초하여 임의의 숫자로 구성된 난수(예컨대, 해쉬 값)를 생성하고(S321), 생성된 난수를 이전 블록에 기록된 난수와 일치하는지 비교한다(S322).The user terminal verification process generates a random number (eg, hash value) composed of a random number based on the number of authentications (S321), and compares the generated random number with the random number recorded in the previous block (S322).

본 발명의 일 실시예에 따른 난수는 사용자 ID, 이메일 주소, 디바이스 정보(예컨대, 기종, 제조사, 디바이스 ID), 전화번호, 유심번호, 위치정보, 인증횟수(예컨대, 카운트 정보)를 기초로 하여 생성될 수 있다.The random number according to an embodiment of the present invention is based on user ID, email address, device information (eg, model, manufacturer, device ID), phone number, sim number, location information, and the number of authentications (eg, count information). Can be created.

한편, 명세서 전체에서, 난수는 서로 같은 값을 암호화하는 경우 같은 값의 난수가 생성되는 것이다.Meanwhile, throughout the specification, a random number is a random number having the same value when the same value is encrypted.

본 발명의 일 실시예에 따라 생성되는 난수에 관하여 상세하게 설명한다. 사용자 ID와 같은 사용자 정보의 해시값과 디바이스 ID와 같은 디바이스 정보의 해시값에 인증횟수 정보를 추가하여 새로운 난수(해쉬 값)가 생성될 수 있다.A detailed description will be given of a random number generated according to an embodiment of the present invention. A new random number (hash value) may be generated by adding authentication count information to a hash value of user information such as a user ID and a hash value of device information such as a device ID.

즉, 본 발명에 따른 알고리즘은 고정된 인증관련 정보에 대한 해쉬값과 인증 횟수를 이용하여 사용자 단말기 검증 프로세스에 활용되는 난수를 생성할 수 있다.That is, the algorithm according to the present invention may generate a random number used in the user terminal verification process by using a hash value for fixed authentication-related information and the number of authentications.

그리고 고정된 인증관련 정보에 대한 해쉬값과 인증 횟수를 이용하여 생성한 상기 난수는 복호화 가능한 암호값이며, 상기 난수를 복호화함으로써 상기 인증횟수 정보를 확인할 수 있다. 따라서, 확인된 인증횟수 정보는 이전 블록에 기록된 난수와 일치하는지 비교하는 절차(S322)에서 활용될 수 있다.보다 구체적으로, 생성하는 난수는 현재의 인증 횟수(n)에서 1을 차감한 (n-1)을 사용하여 생성되는 것을 특징으로 한다.In addition, the random number generated by using the hash value of the fixed authentication-related information and the number of authentications is a decryptable encryption value, and the authentication number information can be checked by decrypting the random number. Accordingly, the verified authentication number information may be used in a procedure (S322) for comparing whether or not it matches the random number recorded in the previous block. More specifically, the generated random number is ( It is characterized by being produced using n-1).

즉, 인증 횟수를 제외한 나머지 정보는 모두 동일하기 때문에 현재의 인증 횟수(n)에서 1을 차감한 (n-1)을 해쉬 함수에 이용하면, 이전 인증 절차에서 기록된 난수와 일치하는지 비교할 수 있다.That is, since all of the information except the number of authentications is the same, if (n-1) minus 1 from the current number of authentications (n) is used for the hash function, it is possible to compare whether it matches the random number recorded in the previous authentication procedure. .

난수는 서로 같은 값을 암호화하는 경우 같은 값의 난수가 생성되기 때문에, 현재 인증 절차에서 생성된 난수와 이전 블록에서 저장된 난수가 일치하면, 사용자 단말기가 동일한 것으로 판단되고 사용자 단말기 검증은 유효한 것으로 보아 사용자 식별정보를 검증하는 프로세스로 넘어갈 수 있다(S330). 그러나 현재 인증 절차에서 생성된 난수와 이전 블록의 난수가 일치하지 않아 사용자 단말기 검증이 유효하지 않은 경우, 사용자 식별정보 검증 프로세스는 진행되지 않고 사용자 단말기는 오류 메시지를 표시할 수 있다(S323).Since random numbers with the same value are generated when encrypting the same value, if the random number generated in the current authentication procedure matches the random number stored in the previous block, the user terminal is determined to be the same and the user terminal verification is considered valid. It is possible to proceed to the process of verifying the identification information (S330). However, when the user terminal verification is not valid because the random number generated in the current authentication procedure and the random number of the previous block do not match, the user identification information verification process does not proceed and the user terminal may display an error message (S323).

사용자 식별정보 검증 프로세스는(S330) 사용자 단말기를 소지하고 있는 사용자가 올바른 사용자인지를 확인하는 단계로, 사용자의 지문과 같은 생체정보 또는 사용자 단말기의 위치정보에 기초하여 검증하는 것일 수 있다.The user identification information verification process (S330) is a step of confirming whether the user who has the user terminal is a correct user, and may be verified based on biometric information such as a user's fingerprint or location information of the user terminal.

한편, 상기 위치정보는 사용자 단말기의 GPS, 사용자 단말이 수신한 비콘 정보, Wifi 주소를 통해 획득될 수 있다.Meanwhile, the location information may be obtained through the GPS of the user terminal, beacon information received by the user terminal, and Wifi address.

상기 사용자 식별정보가 일치하여 검증이 유효하면, 사용자 인증이 완료되고, 인증결과는 블록체인에 저장되고(S340), 사용자 식별정보 검증이 유효하지 않으면 사용자 단말기는 오류메시지를 표시할 수 있다(S323).If the user identification information matches and the verification is valid, the user authentication is completed, the authentication result is stored in the blockchain (S340), and if the user identification information verification is not valid, the user terminal may display an error message (S323). ).

상기 인증결과는 현재의 인증횟수(n)에 기초하여 생성된 난수를 포함할 수 있고, 다음 번 인증에서 사용될 수 있다. 그리고 상기 블록체인에 저장된 인증결과는 블록체인 노드를 통해 다른 디바이스와 연동될 수 있으며, 모든 디바이스 또는 특정 그룹에 속한 디바이스는 상기 난수를 포함하는 인증결과 정보를 확인할 수 있다.The authentication result may include a random number generated based on the current authentication number n, and may be used in the next authentication. In addition, the authentication result stored in the blockchain can be linked with other devices through the blockchain node, and all devices or devices belonging to a specific group can check authentication result information including the random number.

도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 사용자 인증이 이루어지는 전 과정을 설명하기 위한 도면이다. 4 is a view for explaining the entire process of performing a block chain-based user authentication according to an embodiment of the present invention.

사용자가 인증요청 시스템(200)에 접근하면, 인증요청 시스템(200)은 시스템 접속을 확인하여(S400), API 모듈을 호출하고, 서비스 제공 서버(300)에 인증요청 시스템의 ID 및 사용자 ID를 전송한다(S402).When the user approaches the authentication request system 200, the authentication request system 200 checks the system connection (S400), calls the API module, and sends the ID and user ID of the authentication request system to the service providing server 300. Transmit (S402).

인증요청 시스템(200)은 서비스 제공 서버(300)로부터 사용자 인증결과를 수신하기까지 대기 상태에 있다.The authentication request system 200 is in a standby state until receiving the user authentication result from the service providing server 300.

서비스 제공 서버(300)가 인증요청 사항을 확인하면(S404), 블록체인 네트워크(100)를 통하여 신규 블록을 생성할 수 있다(S406). When the service providing server 300 confirms the authentication request (S404), a new block may be generated through the blockchain network 100 (S406).

그리고 서비스 제공 서버(300)는 사용자 단말기(400)에 인증 요청 메시지를 전송할 수 있다(S408). 상기 인증 요청 메시지는 상기 시스템 ID, 사용자 ID 및 상기 생성된 블록의 해쉬값을 포함할 수 있으며, 사용자 단말기(400)는 상기 인증 요청 메시지에 포함된 정보를 기초로 하여 사용자 인증 프로세스를 수행할 수 있다.In addition, the service providing server 300 may transmit an authentication request message to the user terminal 400 (S408). The authentication request message may include the system ID, the user ID, and a hash value of the generated block, and the user terminal 400 may perform a user authentication process based on the information included in the authentication request message. have.

사용자 인증 프로세스는 도 3에서 설명한 바와 같이, 사용자 단말기 검증 프로세스(S409-1, S409-2, S410, S412, S414)와 사용자 식별정보 검증 프로세스(S416)를 포함할 수 있다.The user authentication process may include a user terminal verification process (S409-1, S409-2, S410, S412, S414) and a user identification information verification process (S416), as described in FIG. 3.

사용자 단말기 검증 프로세스에 관하여 자세히 설명하면, 사용자 단말기(400)는 인증관련정보를 호출하여(S409-1) 블록체인 네트워크(100)를 통해 생성된 블록에 저장할 수 있다(S409-2).In a detailed description of the user terminal verification process, the user terminal 400 may call the authentication-related information (S409-1) and store it in a block generated through the blockchain network 100 (S409-2).

상기 인증관련정보는 사용자의 아이디(ID), 이메일주소, 디바이스 기종, 디바이스 제조사, 디바이스 ID, 사용자 단말기가 사용하는 전화번호, 유심번호, 위치정보를 포함할 수 있다. 한편, 위치정보는 선택적으로 상기 블록에 저장되는 구성요소일 수 있다.The authentication-related information may include a user's ID, an email address, a device model, a device manufacturer, a device ID, a phone number used by the user terminal, a sim number, and location information. Meanwhile, the location information may be a component selectively stored in the block.

사용자 단말기는 상기 인증관련정보에 기초하여 해쉬 함수를 통해 임의의 숫자로 구성된 난수(예컨대, 해쉬 값)을 생성한다(S410). 그리고 이전 블록에 기록된 난수를 조회함(S412)으로써, 현재 인증절차에서 생성된 난수와 이전 블록에 기록된 난수와 일치하는지 비교한다(S414).The user terminal generates a random number (eg, hash value) composed of a random number through a hash function based on the authentication-related information (S410). Then, by inquiring the random number recorded in the previous block (S412), the random number generated in the current authentication procedure is compared with the random number recorded in the previous block (S414).

사용자 단말기(400)는 이전 블록에 기록된 난수를 조회한 후 복호화함으로써, 이전의 인증횟수 정보를 확인할 수 있고, 이전의 인증횟수 정보에 기초하여 난수를 생성할 수 있다. The user terminal 400 retrieves and decodes the random number recorded in the previous block to check the previous authentication count information, and may generate a random number based on the previous authentication count information.

인증횟수 정보에 기초하여 난수를 생성하는 점에 관하여 상세하게 설명한다.The point of generating a random number based on the authentication number information will be described in detail.

본 발명의 일 실시예에 따른 난수는 사용자 ID, 이메일 주소, 디바이스 정보(예컨대, 기종, 제조사, 디바이스 ID), 전화번호, 유심번호, 위치정보, 인증횟수를 기초로 하여 생성될 수 있다.The random number according to an embodiment of the present invention may be generated based on user ID, email address, device information (eg, model, manufacturer, device ID), phone number, sim number, location information, and number of authentications.

보다 구체적으로, 사용자 ID와 같은 사용자 정보의 해시값과 디바이스 ID와 같은 디바이스 정보의 해시값에 인증횟수 정보를 추가하여 새로운 난수(해쉬 값)가 생성될 수 있다.More specifically, a new random number (hash value) may be generated by adding authentication count information to a hash value of user information such as a user ID and a hash value of device information such as a device ID.

즉, 본 발명에 따른 알고리즘은 고정된 인증관련 정보에 대한 해쉬값과 인증 횟수를 이용하여 사용자 단말기 검증 프로세스에 활용되는 난수를 생성할 수 있다.That is, the algorithm according to the present invention may generate a random number used in the user terminal verification process by using a hash value for fixed authentication-related information and the number of authentications.

그리고 고정된 인증관련 정보에 대한 해쉬값과 인증 횟수를 이용하여 생성한 상기 난수는 복호화 가능한 암호값이며, 상기 난수를 복호화함으로써 상기 인증횟수 정보를 확인할 수 있다. 따라서, 확인된 인증횟수 정보는 이전 블록에 기록된 난수와 일치하는지 비교하는 절차(S414)에서 활용될 수 있다.In addition, the random number generated by using the hash value of the fixed authentication-related information and the number of authentications is a decryptable encryption value, and the authentication number information can be checked by decrypting the random number. Accordingly, the verified authentication count information may be used in a procedure (S414) for comparing whether or not it matches the random number recorded in the previous block.

보다 구체적으로, 상기 현재 인증절차에서 난수를 생성할 때에는(S410), 현재의 인증 횟수(n)에서 1을 차감한 (n-1)을 사용하여 난수를 생성함으로써, 이전 블록에 기록된 난수와 현재 인증절차에서 생성된 난수를 비교할 수 있다.More specifically, when generating a random number in the current authentication procedure (S410), by generating a random number using (n-1) minus 1 from the current authentication number (n), the random number recorded in the previous block and Random numbers generated in the current authentication process can be compared.

즉, 도 3에서 설명한 내용이 사용자 단말기(400)가 수행하는 사용자 단말기 검증 프로세스(S409-1, S409-2, S410, S412, S414)에 적용될 수 있다.That is, the contents described in FIG. 3 may be applied to the user terminal verification processes (S409-1, S409-2, S410, S412, S414) performed by the user terminal 400.

상기 비교한 난수들이 동일하여 사용자 단말기 검증이 유효하면, 사용자 단말기는 사용자 식별정보를 검증할 수 있다(S416).If the compared random numbers are the same and the user terminal verification is valid, the user terminal may verify the user identification information (S416).

상기 사용자 식별정보 검증 프로세스는 사용자 단말기에 인증관련 메시지가 팝업 됨으로써 푸시 형태로 나타날 수 있다. The user identification information verification process may appear in a push form by popping up an authentication related message on the user terminal.

사용자는 사용자 단말기(400)에 표시된 메시지의 종류에 따라 지문 또는 홍채와 같은 생체정보가 인식되도록 할 수 있다. The user may allow biometric information such as a fingerprint or an iris to be recognized according to the type of message displayed on the user terminal 400.

상기 사용자 식별정보는 사용자의 생체정보뿐만 아니라 사용자 단말기의 위치정보도 포함할 수 있다. 한편, 상기 위치정보는 사용자 단말기의 GPS, 사용자 단말이 수신한 비콘 정보, Wifi 주소를 통해 획득될 수 있다.The user identification information may include not only the user's biometric information but also the location information of the user terminal. Meanwhile, the location information may be obtained through the GPS of the user terminal, beacon information received by the user terminal, and Wifi address.

상기 사용자 식별정보 검증이 유효하면, 사용자 단말기(400)는 서비스 제공 서버(300)에 인증 성공 여부를 전송하고(S418), 서비스 제공 서버(300)는 인증 처리를 수행할 수 있다(S420).If the verification of the user identification information is valid, the user terminal 400 may transmit whether or not authentication is successful to the service providing server 300 (S418), and the service providing server 300 may perform authentication processing (S420).

서비스 제공 서버(300)가 수행하는 인증 처리는 사용자 인증 여부에 관한 성공 또는 실패 키를 인증요청 시스템(200)에 전송하여(S422), 인증요청 시스템(200)이 사용자의 시스템 접속을 허락하게 할 수 있다(S426).The authentication process performed by the service providing server 300 transmits a success or failure key regarding whether or not the user is authenticated to the authentication request system 200 (S422), so that the authentication request system 200 allows the user to access the system. Can be (S426).

상기 사용자 식별정보 검증이 유효한 경우, 사용자 단말기 및 서비스 제공 서버는 인증결과를 블록체인에 업데이트(S424)하고, 인증결과를 블록체인에 저장한다(S424). When the verification of the user identification information is valid, the user terminal and the service providing server update the authentication result in the blockchain (S424) and store the authentication result in the blockchain (S424).

상기 인증결과는 현재의 인증횟수(n)에 기초하여 생성된 난수를 포함할 수 있고, 다음 번 인증에서 사용될 수 있다. 그리고 상기 블록체인에 저장된 인증결과는 블록체인 노드를 통해 다른 디바이스와 연동될 수 있으며, 모든 디바이스 또는 특정 그룹에 속한 디바이스는 상기 난수를 포함하는 인증결과 정보를 확인할 수 있다.The authentication result may include a random number generated based on the current authentication number n, and may be used in the next authentication. In addition, the authentication result stored in the blockchain can be linked with other devices through the blockchain node, and all devices or devices belonging to a specific group can check authentication result information including the random number.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람이라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

100 : 블록체인 네트워크
200 : 인증요청 시스템
300 : 서비스 제공 서버
400 : 사용자 단말기
100: Blockchain network
200: authentication request system
300: service providing server
400: user terminal

Claims (6)

블록체인 네트워크(Blockchain network)를 구성하는 복수의 블록체인 노드, 서비스 제공 서버 및 사용자 단말기를 포함하는 블록체인 기반의 사용자 인증 시스템에 의해 수행되는 블록체인 기반의 사용자 인증 방법에 있어서,
상기 서비스 제공 서버가, 인증 요청에 대한 응답으로 상기 복수의 블록체인 노드 중 어느 하나의 블록체인 노드를 통해 신규 블록을 생성하는 단계;
상기 사용자 단말기가, 인증 요청에 대한 응답으로 인증관련정보를 호출하여, 상기 블록체인 네트워크를 통해서 상기 신규 블록에 상기 인증관련정보를 저장하는 단계;
상기 사용자 단말기가, 상기 블록체인 네트워크를 통해서 블록체인에 저장된 상기 인증관련정보에 기초하여 사용자 단말기를 검증하는 단계;
상기 사용자 단말기 검증이 유효한 경우, 상기 사용자 단말기가, 사용자 식별정보를 검증하는 단계;
상기 사용자 식별정보 검증이 유효한 경우, 상기 서비스 제공 서버가, 사용자 인증 처리를 수행하는 단계; 및
상기 사용자 식별정보가 유효한 경우, 상기 서비스 제공 서버 및 상기 사용자 단말기는 상기 블록체인에 인증결과를 저장하는 단계;를 포함하는 블록체인 기반의 사용자 인증 방법.
In a blockchain-based user authentication method performed by a blockchain-based user authentication system including a plurality of blockchain nodes constituting a blockchain network, a service providing server and a user terminal,
Generating, by the service providing server, a new block through any one of the plurality of block chain nodes in response to the authentication request;
Calling, by the user terminal, authentication-related information in response to an authentication request, and storing the authentication-related information in the new block through the blockchain network;
Verifying, by the user terminal, the user terminal based on the authentication related information stored in the block chain through the block chain network;
If the user terminal verification is valid, verifying, by the user terminal, user identification information;
If the verification of the user identification information is valid, performing, by the service providing server, a user authentication process; And
If the user identification information is valid, the service providing server and the user terminal storing the authentication result in the block chain; Blockchain-based user authentication method comprising a.
제1항에 있어서,
상기 사용자 단말기를 검증하는 단계는,
인증 횟수에 기초한 난수를 생성하는 단계; 및
상기 생성된 난수와 이전 블록의 난수와 일치하는지 비교하는 단계를 포함하는 블록체인 기반의 사용자 인증 방법.
The method of claim 1,
The step of verifying the user terminal,
Generating a random number based on the number of authentications; And
Comprising the step of comparing whether the generated random number matches the random number of the previous block.
제2항에 있어서,
상기 난수를 생성하는 단계는,
현재의 인증 횟수(n)-1에 기초하여 난수를 생성하는 것을 특징으로 하는 블록체인 기반의 사용자 인증 방법.
The method of claim 2,
The step of generating the random number,
Blockchain-based user authentication method, characterized in that a random number is generated based on the current number of authentications (n)-1.
제1항에 있어서,
상기 사용자 식별정보는 생체정보 또는 사용자 디바이스의 위치정보인 것을 특징으로 하는 블록체인 기반의 사용자 인증 방법.
The method of claim 1,
The user identification information is a block chain-based user authentication method, characterized in that the biometric information or the location information of the user device.
제1항에 있어서,
상기 사용자 단말기가 상기 사용자 식별정보를 검증하는 단계 및 상기 서비스 제공 서버가 사용자 인증 처리를 수행하는 단계는 병렬로 처리되는 블록체인 기반의 사용자 인증 방법.
The method of claim 1,
The step of verifying the user identification information by the user terminal and the step of performing the user authentication process by the service providing server are processed in parallel.
블록체인 네트워크(Blockchain network)를 구성하고, 복수의 블록이 체인 형태로 연결된 블록체인 데이터를 분산 관리하며, 상기 블록체인 데이터를 이용하여 사용자 인증관련정보에 대한 인증 데이터를 기록하는 복수의 블록체인 노드;
상기 블록체인 네트워크와 연동하여, 사용자 인증 서비스를 제공하는 서비스 제공 서버; 및
상기 서비스 제공 서버로부터 수신한 인증 요청에 대한 응답으로 상기 블록체인 네트워크와 연동하여 상기 인증 데이터에 기초하여 사용자 단말기를 검증하고, 상기 사용자 단말기에 대한 검증이 유효한 경우 사용자 식별정보를 검증하는 사용자 단말기를 포함하는 블록체인 기반의 사용자 인증 시스템.
A plurality of blockchain nodes that form a blockchain network, distribute and manage blockchain data in which a plurality of blocks are connected in a chain form, and record authentication data for user authentication-related information using the blockchain data. ;
A service providing server interworking with the blockchain network to provide a user authentication service; And
In response to the authentication request received from the service providing server, a user terminal interworking with the blockchain network to verify a user terminal based on the authentication data, and verifying user identification information when the verification for the user terminal is valid. Blockchain-based user authentication system including.
KR1020190034497A 2019-03-26 2019-03-26 The Method for User Authentication Based on Block Chain and The System Thereof KR102162044B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190034497A KR102162044B1 (en) 2019-03-26 2019-03-26 The Method for User Authentication Based on Block Chain and The System Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190034497A KR102162044B1 (en) 2019-03-26 2019-03-26 The Method for User Authentication Based on Block Chain and The System Thereof

Publications (1)

Publication Number Publication Date
KR102162044B1 true KR102162044B1 (en) 2020-10-06

Family

ID=72826368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190034497A KR102162044B1 (en) 2019-03-26 2019-03-26 The Method for User Authentication Based on Block Chain and The System Thereof

Country Status (1)

Country Link
KR (1) KR102162044B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221189A (en) * 2021-04-29 2021-08-06 华中科技大学 Identity authentication system, authentication method, medium and terminal based on block chain
KR102337150B1 (en) * 2021-07-01 2021-12-10 (주)코아메소드 Student locating system
KR20220058270A (en) * 2020-10-30 2022-05-09 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium
KR102345050B1 (en) * 2021-05-25 2022-11-25 동국대학교 와이즈캠퍼스 산학협력단 Information sharing system and information sharing method using the system
KR20230000149A (en) * 2021-06-24 2023-01-02 삼정데이타서비스 주식회사 Method and server for verifying authenticity of mail
KR102657594B1 (en) * 2023-12-13 2024-04-15 주식회사 블로코엑스와이지 Method, computing device and computer program for providing user authentication service using badge based on blockchain

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791485B1 (en) 2006-03-18 2008-01-04 (주) 코아보이스 A Voice One Time Password Security Authentication System and Security Authentication Method Thereof
KR20180054530A (en) * 2018-05-03 2018-05-24 유비벨록스(주) Identification System Using a Relay Server and Identification Method by the Same
KR20180079806A (en) * 2017-01-02 2018-07-11 주식회사 코인플러그 Method for authenticating a user without a face-to-face contact by using mobile id based on blockchain and merkle tree structure related thereto, and terminal and server using the same
KR20180113084A (en) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 Method for managing Digital Identity based on Blockchain
KR20180129027A (en) * 2017-05-24 2018-12-05 라온시큐어(주) Authentification methods and system based on programmable blockchain and one-id
KR20190026558A (en) * 2017-09-04 2019-03-13 한국전자통신연구원 Teriminal apparatus, server apparatus, blockchain and method for fido universal authentication using the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791485B1 (en) 2006-03-18 2008-01-04 (주) 코아보이스 A Voice One Time Password Security Authentication System and Security Authentication Method Thereof
KR20180079806A (en) * 2017-01-02 2018-07-11 주식회사 코인플러그 Method for authenticating a user without a face-to-face contact by using mobile id based on blockchain and merkle tree structure related thereto, and terminal and server using the same
KR20180113084A (en) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 Method for managing Digital Identity based on Blockchain
KR20180129027A (en) * 2017-05-24 2018-12-05 라온시큐어(주) Authentification methods and system based on programmable blockchain and one-id
KR20190026558A (en) * 2017-09-04 2019-03-13 한국전자통신연구원 Teriminal apparatus, server apparatus, blockchain and method for fido universal authentication using the same
KR20180054530A (en) * 2018-05-03 2018-05-24 유비벨록스(주) Identification System Using a Relay Server and Identification Method by the Same

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220058270A (en) * 2020-10-30 2022-05-09 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium
KR102431379B1 (en) * 2020-10-30 2022-08-10 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium
CN113221189A (en) * 2021-04-29 2021-08-06 华中科技大学 Identity authentication system, authentication method, medium and terminal based on block chain
CN113221189B (en) * 2021-04-29 2022-05-03 华中科技大学 Identity authentication system, authentication method, medium and terminal based on block chain
KR102345050B1 (en) * 2021-05-25 2022-11-25 동국대학교 와이즈캠퍼스 산학협력단 Information sharing system and information sharing method using the system
KR20230000149A (en) * 2021-06-24 2023-01-02 삼정데이타서비스 주식회사 Method and server for verifying authenticity of mail
KR102605368B1 (en) * 2021-06-24 2023-11-23 삼정데이타서비스 주식회사 Method and server for verifying authenticity of mail
KR102337150B1 (en) * 2021-07-01 2021-12-10 (주)코아메소드 Student locating system
KR102657594B1 (en) * 2023-12-13 2024-04-15 주식회사 블로코엑스와이지 Method, computing device and computer program for providing user authentication service using badge based on blockchain

Similar Documents

Publication Publication Date Title
KR102162044B1 (en) The Method for User Authentication Based on Block Chain and The System Thereof
EP3685334B1 (en) Improving integrity of communications between blockchain networks and external data sources
JP6547079B1 (en) Registration / authorization method, device and system
US11336634B2 (en) Identity management via a centralized identity management server device
KR102493744B1 (en) Security Verification Method Based on Biometric Characteristics, Client Terminal, and Server
US9867043B2 (en) Secure device service enrollment
JP2023502346A (en) Quantum secure networking
US20170011394A1 (en) Cryptographic security for mobile payments
CN107483509A (en) A kind of auth method, server and readable storage medium storing program for executing
CN106657152A (en) Authentication method, server and access control device
CN104715187A (en) Method and apparatus used for authenticating nodes of electronic communication system
CN113285802B (en) Key agreement method and device based on FPGA
KR102137122B1 (en) Security check method, device, terminal and server
KR100315387B1 (en) Private Key, Certificate Administration System and Method Thereof
KR20210046357A (en) Method and apparatus for key storing and recovery for blockchain based system
CN110716728B (en) Credible updating method and device for FPGA (field programmable Gate array) logic
US11861582B2 (en) Security protection of association between a user device and a user
KR102157695B1 (en) Method for Establishing Anonymous Digital Identity
TW202137199A (en) Method of authenticating biological payment device, apparatus, electronic device, and computer-readable medium
US20200412541A1 (en) Authentication ledger interactions for decentralized biometric authentication
CN114629713B (en) Identity verification method, device and system
US11823194B2 (en) Decentralized biometric authentication platform
CN114143312A (en) Block chain-based edge computing terminal authentication method, system and equipment
CN110688651A (en) Method and device for realizing state updating based on FPGA
CN113872986B (en) Power distribution terminal authentication method and device and computer equipment

Legal Events

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