KR102355708B1 - Method for processing request based on user authentication using blockchain key and system applying same - Google Patents

Method for processing request based on user authentication using blockchain key and system applying same Download PDF

Info

Publication number
KR102355708B1
KR102355708B1 KR1020190133709A KR20190133709A KR102355708B1 KR 102355708 B1 KR102355708 B1 KR 102355708B1 KR 1020190133709 A KR1020190133709 A KR 1020190133709A KR 20190133709 A KR20190133709 A KR 20190133709A KR 102355708 B1 KR102355708 B1 KR 102355708B1
Authority
KR
South Korea
Prior art keywords
terminal
block chain
information
identification information
request
Prior art date
Application number
KR1020190133709A
Other languages
Korean (ko)
Other versions
KR20210049421A (en
Inventor
안영건
Original Assignee
주식회사 락키
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 락키 filed Critical 주식회사 락키
Priority to KR1020190133709A priority Critical patent/KR102355708B1/en
Publication of KR20210049421A publication Critical patent/KR20210049421A/en
Application granted granted Critical
Publication of KR102355708B1 publication Critical patent/KR102355708B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법은, 식별 정보 및 요청 정보를 포함하는 메시지와, 메시지의 적어도 일부가 암호화된 정보를 포함하는 요청(request)을 단말로부터 수신하는 단계; 식별 정보에 대응되는 블록체인 주소 정보를 이용하여 암호화된 정보의 복호화를 수행하는 단계; 및 복호화의 결과에 기초하여 암호화된 정보가 블록체인 주소 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우 요청의 처리를 승인할 지의 여부를 결정하는 단계를 포함할 수 있다. A user authentication-based request processing method using a block chain key according to an embodiment of the present invention transmits a message including identification information and request information, and a request including information in which at least a part of the message is encrypted. receiving from; performing decryption of encrypted information using block chain address information corresponding to identification information; and determining whether to approve the processing of the request when it is determined that the encrypted information is encrypted using the block chain secret key corresponding to the block chain address information based on the decryption result.

Description

블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법, 그 방법이 적용된 시스템{METHOD FOR PROCESSING REQUEST BASED ON USER AUTHENTICATION USING BLOCKCHAIN KEY AND SYSTEM APPLYING SAME}User authentication-based request processing method using block chain key, and the system to which the method is applied

본 발명은 단말로부터의 수신한 요청(request)을 처리함에 있어서, 블록체인 키 기술을 이용하여 해당 요청의 정당성을 판단하고, 정당성 판단의 결과에 기초하여 요청(request)에 포함된 로그인, 인증, 결제 등의 동작을 처리하는 방법 및 상기 방법이 적용된 시스템에 관한 것이다.In the present invention, in processing a request received from a terminal, the validity of the request is determined using block chain key technology, and login, authentication, and It relates to a method for processing an operation such as payment, and a system to which the method is applied.

생활수준의 향상과 정보통신 기술의 발달에 힘입어, 다수의 사람들이 개인용 컴퓨터(personal computer) 혹은 휴대용 전화기(cell phone)와 같은 개인용의 단말을 소지하여 사용하고 있다. 이와 같은 단말은 네트워크를 통하여 서버(server)와 연결되며, 서버로부터 다양한 서비스 혹은 콘텐츠를 제공받을 수 있다.BACKGROUND ART With the improvement of living standards and the development of information and communication technology, many people possess and use a personal terminal such as a personal computer or a cell phone. Such a terminal is connected to a server through a network, and may receive various services or contents from the server.

이러한 서비스 혹은 콘텐츠 제공과 관련된, 단말로부터의 요청(예컨대, 로그인, 성인 인증, 결제, 이체 요청 등)을 처리함에 있어서, 서버는 단말 혹은 사용자가 상기 요청을 할 수 있는 정당한 권한을 갖는지를 판단, 즉, 단말 혹은 사용자가 정당한 지의 여부를 확인해야 할 필요가 있다. 이와 같은 인증 방법의 가장 일반적인 예로서, 사용자가 정한 패스워드(password)를 이용한 방법을 들 수 있다. 서버는 사용자가 정한 패스워드를 가입 시 저장하고, 이후 단말로부터 입력된 패스워드가 올바른 지를 비교하여, 입력된 패스워드가 일치할 경우 정당한 사용자에 의한 요청이 수신된 것으로 확인할 수 잇다.In processing the request from the terminal (eg, login, adult authentication, payment, transfer request, etc.) related to the provision of these services or contents, the server determines whether the terminal or user has a legitimate right to make the request, That is, it is necessary to check whether the terminal or the user is legitimate. As the most common example of such an authentication method, a method using a password determined by a user may be cited. The server stores the password set by the user at the time of signing up, and then compares whether the password input from the terminal is correct.

하지만, 기존의 인증 방식으로 사용되는 패스워드는 서버에도 저장된다는 점, 사용자가 패스워드 입력 시나 전송 시에 탈취가 가능하다는 점 등의 취약점을 이용한 다양한 해킹 방법이 등장하여 보안이 취약하다는 문제가 제기되고 있다. 예를 들어, 일반적으로 패스워드는 서비스를 제공하는 주체인 서버에도 저장되어 있기 때문에 서버가 해킹되는 경우, 사용자의 개인정보가 유출되거나 금전적인 피해가 발생할 수 있다. 또한, 특정 프로젝트를 수행하는 다수의 그룹원이 정보나 계획을 공유하기 위해 동일한 계정을 사용하여 패스워드를 공유하는 경우에는, 그룹원 간의 기술적 인증 수단 없이, 단순하게 구두, 메모, 메신저 등 보안이 이루어지지 않는 수단을 통해 비밀번호를 공유하는 경우가 많아, 비밀번호가 유출되어 프로젝트의 기밀이 외부로 유출될 위험이 존재한다. However, various hacking methods using vulnerabilities such as the fact that the password used in the existing authentication method is also stored on the server and that it can be stolen when the user enters or transmits the password has emerged, raising the issue that the security is weak. . For example, in general, since passwords are also stored in the server that provides the service, if the server is hacked, the user's personal information may be leaked or financial damage may occur. In addition, when multiple group members performing a specific project share a password using the same account to share information or plans, security such as verbal, memo, and messenger is simply achieved without technical authentication means between group members. In many cases, passwords are shared through unsecured means, so there is a risk that the password is leaked and the project's confidentiality is leaked to the outside.

본 발명이 해결하고자 하는 과제는, 블록체인 키 기술을 이용하여 정당한 사용자임을 인증할 수 있는 수단을 기본적으로 서버가 아닌 정당한 사용자만 보관할 수 있게 하고, 이를 통해 정당한 사용자만이 서버에 특정한 요청을 수행할 수 있도록 하는, 보다 안전하고 효과적인 인증 방법이 적용된 시스템을 제공하는 것이다.The problem to be solved by the present invention is to enable only legitimate users, not the server, to basically store the means for authenticating legitimate users using block chain key technology, and through this, only legitimate users can make specific requests to the server It is to provide a system to which a more secure and effective authentication method is applied.

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

본 발명의 일 실시예에 따른 서버에 의해 수행되는 인증 방법은, 식별 정보 및 요청 정보를 포함하는 메시지와, 상기 메시지의 적어도 일부가 암호화된 정보를 포함하는 요청을, 단말로부터 수신하는 단계, 상기 식별 정보에 대응되는 블록체인 주소 정보를 이용하여 상기 암호화된 정보의 복호화를 수행하는 단계 및 상기 복호화의 결과에 기초하여 상기 암호화된 정보가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우 상기 요청의 처리를 승인할 지의 여부를 결정하는 단계를 포함할 수 있다. The authentication method performed by the server according to an embodiment of the present invention comprises the steps of: receiving, from a terminal, a message including identification information and request information, and a request including information in which at least a part of the message is encrypted; performing decryption of the encrypted information using the block chain address information corresponding to the identification information, and based on the result of the decryption, the encrypted information is encrypted using the block chain secret key corresponding to the identification information. It may include determining whether to approve the processing of the request if it is determined that the

또한, 상기 결정하는 단계는, 상기 암호화된 정보가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우 상기 요청의 처리를 승인하는 단계를 포함할 수 있다.In addition, the determining may include authorizing the processing of the request when it is determined that the encrypted information is encrypted using a block chain secret key corresponding to the identification information.

또한, 상기 결정하는 단계는, 상기 암호화된 정보를 상기 식별 정보에 대응되는 블록체인 주소 정보를 이용하여 복호화할 때 도출되는 값이 소정의 값과 동일할 경우, 상기 암호화된 정보가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단하는 단계를 더 포함할 수 있다.In addition, in the determining step, when a value derived when decrypting the encrypted information using block chain address information corresponding to the identification information is the same as a predetermined value, the encrypted information is added to the identification information The method may further include determining that it is encrypted using the corresponding block chain secret key.

또한, 상기 식별 정보는, 상기 단말을 특정하거나, 상기 단말의 사용자를 특정하기 위한 정보이고, 상기 요청 정보는, 상기 서버에 의해 승인되어 수행되는 상기 단말의 동작에 관한 정보로서, 상기 동작은 로그인, 인증 및 결제 동작 중 적어도 하나를 포함할 수 있다.In addition, the identification information is information for specifying the terminal or for specifying a user of the terminal, and the request information is information about the operation of the terminal that is approved and performed by the server, and the operation is login , may include at least one of authentication and payment operations.

또한, 상기 방법은, 상기 수신하는 단계의 이전에, 상기 식별 정보, 상기 식별 정보에 대응되는 블록체인 주소 정보 및 암호화된 검증 정보를 상기 단말로부터 제공받는 단계 및 상기 암호화된 검증 정보가, 상기 식별 정보에 대응되는 블록체인 주소 정보를 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우, 상기 제공받은 블록체인 주소 정보를 상기 식별 정보에 매칭시켜 상기 서버에 저장하는 단계를 포함할 수 있다.In addition, the method includes, before the receiving step, the steps of receiving the identification information, block chain address information corresponding to the identification information, and encrypted verification information from the terminal, and the encrypted verification information is the identification If it is determined that the block chain address information corresponding to the information is encrypted using the block chain secret key corresponding to the identification information, matching the received block chain address information with the identification information and storing the information in the server may include

또한, 상기 결정하는 단계는, 상기 복호화의 결과에 더하여, 상기 요청과 함께 획득된 추가 인증 수단에 기초한 추가 인증이 성공적인지의 여부에 기초하여 상기 요청의 처리를 승인할 지의 여부를 결정하는 단계를 포함할 수 있으며, 상기 추가 인증 수단은, 상기 단말의 접속 IP 주소(internet protocol address), 상기 단말의 접속 시간, 상기 단말의 OS(operating system)의 종류, 생체 인증 데이터, 패스워드(password) 및 개인 식별 번호(personal identification number, PIN) 중 적어도 하나를 포함할 수 있다.Further, the determining may include, in addition to the result of the decryption, determining whether to approve the processing of the request based on whether additional authentication based on the additional authentication means obtained with the request is successful. It may include, wherein the additional authentication means, the access IP address (internet protocol address) of the terminal, the access time of the terminal, the type of OS (operating system) of the terminal, biometric data, password (password) and personal It may include at least one of a personal identification number (PIN).

또한, 상기 방법은, 상기 결정하는 단계의 결과, 상기 요청의 처리를 승인하지 않는 것으로 결정하여야 할 경우, 상기 식별 정보에 기 매칭된 수신처로 알림을 발송하는 단계를 더 포함할 수 있다.In addition, the method may further include the step of sending a notification to a destination previously matched with the identification information when it is to be determined not to approve the processing of the request as a result of the determining step.

또한, 상기 방법은, 상기 알림에 대한 회신을 수신하는 단계 및 상기 수신된 회신의 내용에 기초하여, 상기 요청의 처리를 승인하거나 거부하는 단계를 더 포함할 수 있다.Also, the method may further include receiving a reply to the notification and approving or rejecting the processing of the request based on contents of the received reply.

또한, 상기 방법은, 상기 수신된 회신의 내용에 기초하여, 상기 요청과는 상이한, 상기 단말로부터의 이후의 다른 요청은 상기 알림의 발송 없이 자동적으로 거부되도록 설정하는 단계를 더 포함할 수 있다.In addition, the method may further include setting, based on the content of the received reply, subsequent other requests from the terminal different from the request to be automatically rejected without sending the notification.

또한, 상기 방법은, 상기 단말과 상이한 다른 단말로부터, 상기 식별 정보에 대응되는 블록체인 비밀키의 사용에 대한 신청을 수신하는 단계, 상기 신청이 정당한지의 여부를 소정의 기준에 의해 판정하는 단계 및 상기 신청이 정당하다고 판정될 경우, 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 상기 서버를 거치지 않고 상기 다른 단말로 전송하도록, 상기 단말을 제어하는 단계를 더 포함할 수 있다.In addition, the method includes the steps of receiving, from another terminal different from the terminal, an application for use of a blockchain private key corresponding to the identification information, and determining whether the application is legitimate according to a predetermined criterion and when it is determined that the application is justified, controlling the terminal so that the terminal transmits the block chain secret key corresponding to the identification information to the other terminal without going through the server.

또한, 상기 제어하는 단계는, 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 P2P(peer-to-peer) 통신을 통하여 상기 다른 단말로 전송하도록, 상기 단말을 제어하는 단계를 포함할 수 있다.In addition, the controlling may include controlling the terminal so that the terminal transmits the block chain secret key corresponding to the identification information to the other terminal through peer-to-peer (P2P) communication. have.

또한, 상기 방법은, 상기 식별 정보를 포함하는, 상기 요청과는 상이한 다른 요청을, 상기 다른 단말로부터 수신하는 단계, 상기 식별 정보에 대응되는 블록체인 주소 정보를 이용하여, 상기 다른 요청에 포함된 암호화된 정보의 복호화를 수행하는 단계 및 상기 다른 요청에 포함된 상기 암호화된 정보가, 상기 다른 요청에 포함된 메시지의 적어도 일부가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우, 상기 다른 요청의 처리를 승인하는 단계를 더 포함할 수 있다.In addition, the method includes the steps of receiving, from the other terminal, another request different from the request, including the identification information, using the block chain address information corresponding to the identification information, included in the other request. Decrypting the encrypted information and determining that the encrypted information included in the other request is encrypted using a block chain secret key corresponding to the identification information at least a part of the message included in the other request If yes, it may further include the step of approving the processing of the other request.

또한, 상기 판정하는 단계는, 상기 다른 단말로부터, 상기 식별 정보에 대한 지정을 받는 단계, 상기 지정에 기초하여, 상기 다른 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 사용하는 것을 허용할 지의 여부에 대한 질의를, 상기 식별 정보에 기 매칭된 수신처로 전송하는 단계, 상기 질의에 대한 회신을 수신하는 단계 및 상기 수신된 회신에 기초하여, 상기 신청이 정당한지의 여부를 판정하는 단계를 포함할 수 있다.In addition, the determining includes: receiving a designation for the identification information from the other terminal; based on the designation, whether to allow the other terminal to use the blockchain private key corresponding to the identification information Transmitting an inquiry as to whether or not to a destination matched with the identification information, receiving a reply to the inquiry, and determining whether the application is legitimate based on the received reply can do.

또한, 상기 방법은, 상기 단말과 상이한 다른 단말로부터 상기 다른 단말이 생성한 제2 블록체인 주소를 수신하는 단계, 상기 다른 단말이 생성한 제3 블록체인 주소를 수신한 상기 단말로부터 상기 제3 블록체인 주소를 수신하는 단계, 상기 제2 블록체인 주소 및 상기 제3 블록체인 주소가 동일한 경우, 상기 단말과 상기 다른 단말의 식별 정보를 비교하거나 또는 상기 단말에 상기 다른 단말에 대해 질의하여 사용자의 동일성을 검증하는 단계 및 상기 검증을 기초로 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 상기 서버를 거치지 않고 상기 다른 단말로 전송하도록 상기 단말을 제어하는 단계를 더 포함할 수 있다. In addition, the method includes the steps of receiving a second block chain address generated by the other terminal from another terminal different from the terminal, and the third block from the terminal receiving the third block chain address generated by the other terminal Receiving a chain address, if the second block chain address and the third block chain address are the same, comparing identification information of the terminal and the other terminal or querying the terminal for the other terminal to determine the identity of the user The method may further include verifying and controlling the terminal so that the terminal transmits the block chain secret key corresponding to the identification information to the other terminal without going through the server based on the verification.

또한, 상기 방법은, 상기 다른 단말로부터, 상기 다른 단말에 대응되는 블록체인 주소를 수신하는 단계를 더 포함할 수 있으며, 상기 다른 단말에 대응되는 블록체인 주소는, 임의의 암호화된 정보가 상기 다른 단말에 대응되는 블록체인 비밀키를 이용하여 암호화된 것인지의 여부를 판단하는 데 이용될 수 있다.In addition, the method may further include receiving, from the other terminal, a block chain address corresponding to the other terminal, and the block chain address corresponding to the other terminal is a block chain address corresponding to the other terminal. It can be used to determine whether it is encrypted using the block chain secret key corresponding to the terminal.

또한, 상기 제어하는 단계는, 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 상기 다른 단말에 대응되는 블록체인 주소로 암호화하여 상기 다른 단말로 전송하도록, 상기 단말을 제어하는 단계를 포함할 수 있다.In addition, the controlling may include controlling the terminal so that the terminal encrypts the block chain secret key corresponding to the identification information with a block chain address corresponding to the other terminal and transmits it to the other terminal. can

또한, 상기 다른 단말에 대응되는 블록체인 주소는 상기 서버로부터 상기 단말에 제공되며, 상기 다른 단말에 대응되는 블록체인 비밀키는 상기 다른 단말에 저장되어 있을 수 있다.In addition, the block chain address corresponding to the other terminal may be provided to the terminal from the server, and the block chain secret key corresponding to the other terminal may be stored in the other terminal.

본 발명의 일 실시예에 따른, 인증 절차에 기초하여 단말로부터의 요청을 처리하는 서버는, 명령어를 저장하는 메모리와, 상기 명령어를 실행하도록 구성된 프로세서를 포함하되, 상기 명령어는 실행될 때, 상기 프로세서로 하여금, 식별 정보 및 요청 정보를 포함하는 메시지와, 상기 메시지의 적어도 일부가 블록체인 비밀키를 이용하여 암호화됨으로써 생성된 정보인 암호화된 정보를 포함하는 요청을 단말로부터 수신하는 동작, 상기 식별 정보에 대응되는 블록체인 주소 정보를 이용하여 상기 암호화된 정보의 복호화를 수행하는 동작 및 상기 복호화의 결과에 기초하여 상기 암호화된 정보가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우 상기 요청의 처리를 승인할 지의 여부를 결정하는 동작을 수행하도록 할 수 있다.A server for processing a request from a terminal based on an authentication procedure according to an embodiment of the present invention includes a memory storing an instruction and a processor configured to execute the instruction, wherein when the instruction is executed, the processor an operation of receiving, from a terminal, a message including identification information and request information, and a request including encrypted information, which is information generated when at least a part of the message is encrypted using a block chain secret key, the identification information Based on the operation of decrypting the encrypted information using the block chain address information corresponding to If necessary, an operation for determining whether to approve the processing of the request may be performed.

본 발명의 일 실시예에 따르면, 비공개 데이터인 블록체인 비밀키와 공개 데이터인 블록체인 주소를 이용한 암호화 및 복호화를 이용하여, 단말 혹은 사용자에 대한 인증을 안전하고 효과적으로 수행할 수 있으며, 부정한 인증 시도가 있을 경우 정당 사용자에게 이를 통지함으로써, 부정 인증으로 인한 피해를 미연에 방지할 수 있다.According to an embodiment of the present invention, by using encryption and decryption using a blockchain secret key, which is private data, and a blockchain address, which is public data, authentication for a terminal or user can be safely and effectively performed, and unauthorized authentication attempts By notifying party users when there is a problem, damage due to unauthorized authentication can be prevented in advance.

또한, 본 발명의 일 실시예에 따르면, 인증에 이용되는 비공개 데이터인 블록체인 비밀키가 서버를 거치지 않고 인증을 거친 다른 단말에 직접 전송될 수 있도록 하며, 이때 전송은 비밀키 공유 대상인 단말끼리만 아는 블록체인 주소 정보를 이용한 암호화를 통해 전송되고, 그 복호화는 공유 대상인 단말만이 보유하는 비밀키를 통해서만 가능하기에, 공유 과정에서의 탈취에 대한 보안성 또한 대폭 향상시킬 수 있다.In addition, according to an embodiment of the present invention, the block chain secret key, which is private data used for authentication, can be transmitted directly to another terminal that has been authenticated without going through a server, and in this case, the transmission is only known between the terminals that are the target of sharing the secret key. Since it is transmitted through encryption using block chain address information, and its decryption is only possible with a secret key possessed only by the terminal to be shared, the security against theft in the sharing process can also be greatly improved.

도 1은 본 발명의 일 실시예에 따른, 블록체인 기술을 이용한 인증 방법이 적용된 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른, 블록체인 기술을 이용한 인증 방법의 각 단계를 도시한 도면이다.
도 3a 및 3b는 본 발명의 일 실시예에 따른, 블록체인 기술을 이용한 인증 방법의 적용 예시를 설명하기 위한 도면이다.
도 4는 본 발명의 추가 실시예에 따른, 블록체인 기술을 이용한 인증 방법의 각 단계를 도시한 도면이다.
도 5는 본 발명의 또 다른 추가 실시예에 따른, 블록체인 기술을 이용한 인증 방법의 각 단계를 도시한 도면이다.
1 is a diagram showing the configuration of a system to which an authentication method using a block chain technology is applied, according to an embodiment of the present invention.
2 is a diagram illustrating each step of an authentication method using a block chain technology, according to an embodiment of the present invention.
3A and 3B are diagrams for explaining an application example of an authentication method using a block chain technology, according to an embodiment of the present invention.
4 is a diagram illustrating each step of an authentication method using a block chain technology, according to a further embodiment of the present invention.
5 is a diagram illustrating each step of an authentication method using a block chain technology, according to another additional embodiment of the present invention.

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

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 가입자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a well-known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, the terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to intentions or customs of subscribers and operators. Therefore, the definition should be made based on the content throughout this specification.

도 1은 본 발명의 일 실시예에 따른, 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법이 적용된 시스템의 구성을 도시한 도면이다. 도 1의 시스템(10)은 서버(20), 제1 단말(100) 및 제2 단말(200)을 포함할 수 있다. 단, 도 1의 시스템(10)의 세부 구성은 본 발명의 일 실시예에 불과하므로, 도 1에 의해 본 발명의 기술적 사상이 제한적으로 해석되는 것은 아니다. 예컨대, 제1 단말(100) 및 제2 단말(200) 외의 또 다른 사용자 단말이 시스템(10)에 존재할 수 있다. 또한, 시스템(10)은 도 1에 도시된 구성 외에도, 서버 및 사용자 단말로 구성된 시스템이 포함할 수 있는 것으로서 통상의 기술자에게 자명한 구성을 더 포함할 수 있다. 1 is a diagram showing the configuration of a system to which a user authentication-based request processing method using a block chain key is applied, according to an embodiment of the present invention. The system 10 of FIG. 1 may include a server 20 , a first terminal 100 , and a second terminal 200 . However, since the detailed configuration of the system 10 of FIG. 1 is only an embodiment of the present invention, the technical idea of the present invention is not limitedly interpreted by FIG. 1 . For example, another user terminal other than the first terminal 100 and the second terminal 200 may exist in the system 10 . In addition, in addition to the configuration shown in FIG. 1 , the system 10 may further include a configuration that is obvious to a person skilled in the art as a system including a server and a user terminal.

서버(20)는 프로세서(processor) 및 메모리(memory)를 포함할 수 있으며, 프로세서는 메모리에 저장되어 있는 명령어를 실행함으로써, 상기 명령어에 기초한 일련의 동작을 수행할 수 있다. 제1 단말(100) 및 제2 단말(200)은 스마트폰(smartphone)과 같은 이동 단말일 수 있으나, 개인용 컴퓨터(personal computer)와 같은 비이동식 단말일 수도 있으며, 메모리나 프로세서와 같은 하드웨어 컴포넌트를 포함할 수 있음은 주지의 사실이다. 서버(server) 및 단말(terminal)이라는 개념은 통상의 기술자에게 자명한 것이므로, 서버(20), 제1 단말(100) 및 제2 단말(200)의 하드웨어적 구현에 대해서는 더 이상의 자세한 설명을 생략하도록 한다.The server 20 may include a processor and a memory, and the processor may execute an instruction stored in the memory, thereby performing a series of operations based on the instruction. The first terminal 100 and the second terminal 200 may be mobile terminals such as smartphones, but may also be non-mobile terminals such as personal computers, and may include hardware components such as memory or processors. It is a well-known fact that it may be included. Since the concept of a server and a terminal is obvious to those skilled in the art, further detailed description of the hardware implementation of the server 20 , the first terminal 100 and the second terminal 200 is omitted. to do it

서버(20)는 제1 단말(100)이나 제2 단말(200)과 같은 사용자 단말에게 서비스와 콘텐츠 등을 제공할 수 있다. 제1 단말(100) 및 제2 단말(200)은 서버(20)와 네트워크를 통해 각각 연결되며, 이와 같은 네트워크는 유/무선 여부와 상관없이 현존하는 모든 종류의 네트워크가 될 수 있다.The server 20 may provide services and content to a user terminal such as the first terminal 100 or the second terminal 200 . The first terminal 100 and the second terminal 200 are respectively connected to the server 20 through a network, and such a network may be any type of existing network regardless of whether it is wired or wireless.

제1 단말(100)과 제2 단말(200)과 같은 사용자 단말은, 서버(20)로부터 서비스 혹은 콘텐츠를 제공받는 것과 관련하여, 다양한 유형의 요청(예컨대, 로그인 요청, 성인 인증 요청, 결제 요청 및 이체 요청 등)을 서버(20)로 전송할 수 있다. 서버(20)는 이와 같은 사용자 단말로부터 전송된 요청을 승인할 지의 여부를 결정하기 위해, 상기 요청이 정당하게 이루어졌는지를 인증할 수 있다. 이와 관련하여, 본 발명의 일 실시예에서는, 비공개 데이터인 블록체인 비밀키와 공개 데이터인 블록체인 주소를 이용한 암호화 및 복호화를 이용하여, 이와 같은 인증 절차를 수행할 수 있다.User terminals such as the first terminal 100 and the second terminal 200 may request various types of requests (eg, login request, adult authentication request, payment request) in relation to receiving a service or content from the server 20 . and transfer request) to the server 20 . In order to determine whether to approve the request transmitted from the user terminal, the server 20 may authenticate whether the request has been made legitimately. In this regard, in an embodiment of the present invention, such an authentication procedure may be performed using encryption and decryption using a blockchain secret key that is private data and a blockchain address that is public data.

이하에서는, 본 발명의 일 실시예에 따른 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법에 대해 구체적으로 살펴보도록 한다.Hereinafter, a user authentication-based request processing method using a block chain key according to an embodiment of the present invention will be described in detail.

도 2는 본 발명의 일 실시예에 따른, 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법의 각 단계를 도시한 도면이다. 도 2의 방법은 도 1의 서버(20) 및 제1 단말(100)에 의해 수행될 수 있다. 단, 도 2에 도시된 방법은 본 발명의 일 실시예에 불과하므로 도 2에 의해 본 발명의 사상이 한정 해석되는 것은 아니고, 도 2에 도시된 방법의 각 단계는 경우에 따라 도면과 그 순서를 달리하여 수행될 수 있음은 물론이며, 이러한 점은 이후의 도 4에 대해서도 같다. 또한, 도 2 및 4의 방법은 서버(20), 제1 단말(100) 및 제2 단말(200)에 애플리케이션 프로그램을 설치하는 방법을 통해 구현될 수 있으며, 보다 구체적으로는 SDK(software development kit), API(application programming interface) 등을 통해 구현될 수 있다.2 is a diagram illustrating each step of a user authentication-based request processing method using a block chain key, according to an embodiment of the present invention. The method of FIG. 2 may be performed by the server 20 and the first terminal 100 of FIG. 1 . However, since the method shown in FIG. 2 is only an embodiment of the present invention, the spirit of the present invention is not limitedly interpreted by FIG. 2 , and each step of the method shown in FIG. Of course, it can be performed differently, and this point is also the same with respect to FIG. In addition, the methods of FIGS. 2 and 4 may be implemented through a method of installing an application program in the server 20 , the first terminal 100 and the second terminal 200 , and more specifically, a software development kit (SDK) ), an application programming interface (API), and the like.

또한, 도 2의 방법은 제1 단말(100) 혹은 제1 단말(100)의 사용자를 식별하기 위한 식별 정보나, 상기 식별 정보에 대응되는 블록체인 주소 및 블록체인 비밀키 등, 인증 과정에 필요한 정보들이 서버(20) 혹은 제1 단말(100)에 구비되어 있는 상태에서 수행된다는 가정 하에 설명을 진행하도록 한다. 도 2의 각 단계 수행을 위한 사전 절차에 관해서는 아래에서 도 4를 통하여 살펴보도록 한다.In addition, in the method of FIG. 2, identification information for identifying the first terminal 100 or a user of the first terminal 100, a block chain address corresponding to the identification information, a block chain secret key, etc., are necessary for the authentication process. The description will proceed on the assumption that the information is performed in a state in which the information is provided in the server 20 or the first terminal 100 . A preliminary procedure for performing each step of FIG. 2 will be described with reference to FIG. 4 below.

우선 제1 단말(100)은, 서버(20)로 송신될 요청을 생성할 수 있다(S101). 이와 같은 요청의 종류로는 앞서 설명한 바와 같이 다양한 것들이 있을 수 있으나, 이하에서는 제1 단말(100)이 생성한 요청이 로그인 요청임을 가정하고 설명하도록 한다. 제1 단말(100)이 생성한 요청은, 식별 정보 및 요청 정보를 포함하는 메시지와, 상기 메시지의 전부 혹은 일부가 암호화됨으로써 생성된 정보인 암호화된 정보를 포함할 수 있다. First, the first terminal 100 may generate a request to be transmitted to the server 20 (S101). There may be various types of such a request as described above. Hereinafter, it is assumed that the request generated by the first terminal 100 is a login request and will be described. The request generated by the first terminal 100 may include a message including identification information and request information, and encrypted information that is information generated by encrypting all or part of the message.

메시지에 포함된 정보 중, 식별 정보는 제1 단말(100) 혹은 제1 단말(100)의 사용자를 식별하기 위한 정보로서, 가장 일반적으로 생각할 수 있는 예에 의하면 제1 단말(100)의 사용자가 자신을 나타내기 위한 고유 정보인 ID(identification)일 수 있다. 이와 달리, 식별 정보는 사용자가 아닌 장치, 즉 제1 단말(100)을 나타내는 고유 정보일 수도 있으며, 이 경우 제1 단말(100)의 디바이스 ID, UUID(universally unique identifier), 디바이스 OS(operating system)의 식별번호 등이 될 수 있다. 물론, 제1 단말(100)과 사용자 모두를 나타내는 식별 정보가 이용될 수도 있을 것이다.Among the information included in the message, identification information is information for identifying the first terminal 100 or the user of the first terminal 100, and according to the most generally conceivable example, the user of the first terminal 100 It may be ID (identification) which is unique information for representing itself. Alternatively, the identification information may be unique information indicating a device other than the user, that is, the first terminal 100, in this case, a device ID, a universally unique identifier (UUID), and a device operating system (OS) of the first terminal 100 . ) may be an identification number, etc. Of course, identification information indicating both the first terminal 100 and the user may be used.

요청 정보는 요청의 구체적인 내용을 포함할 수 있다. 예컨대, 요청 정보는 메시지에 포함된 식별 정보로 서버(20)에 로그인하고자 한다는 취지를 포함할 수 있다.The request information may include specific details of the request. For example, the request information may include the intention to log in to the server 20 with identification information included in the message.

제1 단말(100)은, 상기 메시지의 전부 혹은 일부로부터 암호화된 정보를 생성할 수 있으며, 이와 같은 암호화된 정보는 패스워드와 같은 고전적인 인증 수단을 대신할 수 있다. 제1 단말(100)은 상기 암호화된 정보를 생성함에 있어서, 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화할 수 있다.The first terminal 100 may generate encrypted information from all or part of the message, and such encrypted information may be substituted for classical authentication means such as a password. When generating the encrypted information, the first terminal 100 may encrypt it using a block chain secret key corresponding to the identification information.

여기서, 블록체인 비밀키 및 블록체인 주소를 이용한 암호화 및 복호화에 대해 설명하도록 한다. 어떤 암호화된 데이터가 있다고 가정할 때, 상기 암호화된 데이터가 특정 블록체인 비밀키를 이용하여 암호화된 것인지를 검증해야 할 필요가 있을 수 있다. 이 때, 상기 블록체인 비밀키에 대응되는 블록체인 주소를 이용하면 이와 같은 검증이 가능하며, 이러한 검증에는 공개 키 기반 구조(public key infrastructure, PKI)에 기초한 방식이 사용될 수 있다.Here, encryption and decryption using the block chain secret key and block chain address will be described. Assuming that there is some encrypted data, it may be necessary to verify whether the encrypted data is encrypted using a specific block chain secret key. In this case, such verification is possible by using a block chain address corresponding to the block chain secret key, and a method based on a public key infrastructure (PKI) may be used for such verification.

보다 구체적으로, 특정 블록체인 비밀키를 이용하여 암호화된 데이터를, 블록체인 비밀키와 대응되는 블록체인 주소를 이용하여 복호화할 경우, 소정의 값과 동일한 값이 도출된다면 상기 암호화된 데이터가 상기 특정 블록체인 비밀키를 이용하여 암호화된 것이라고 판단할 수 있으며, 이와 반대로 소정의 값과 동일한 값이 도출되지 않는다면 상기 암호화된 데이터가 상기 특정 블록체인 비밀키를 이용하여 암호화된 것이 아니라고 판단할 수 있다. More specifically, when data encrypted using a specific block chain secret key is decrypted using a block chain address corresponding to the block chain secret key, if a value equal to a predetermined value is derived, the encrypted data is It can be determined that the encrypted data is encrypted using the block chain secret key. Conversely, if a value equal to a predetermined value is not derived, it can be determined that the encrypted data is not encrypted using the specific block chain secret key.

따라서, 블록체인 비밀키를 이용한 암호화를 "서명", 블록체인 주소를 이용한 복호화를 해당 서명의 "검증"이라고 각각 칭할 수 있다. 특정 블록체인 비밀키를 통한 서명의 검증은, 해당 특정 블록체인 비밀키에 대응되는 블록체인 주소를 이용한 복호화를 통해서만 가능하도록 할 수 있다. 이와 같은 알고리즘은 "비대칭키 암호화 알고리즘"이라 칭해지며, 구체적으로는 RSA, ECDSA 등의 알고리즘이 사용될 수 있다. Therefore, encryption using the block chain secret key can be referred to as a "signature" and decryption using a block chain address can be referred to as "verification" of the corresponding signature, respectively. Verification of a signature through a specific block chain secret key can be made possible only through decryption using the block chain address corresponding to the specific block chain secret key. Such an algorithm is referred to as an "asymmetric key encryption algorithm", and specifically, algorithms such as RSA and ECDSA may be used.

한편, 본 문서에 사용되는 용어인 '블록체인 비밀키'는 다양한 비대칭키 암호화 알고리즘에 기반한 비밀키(private key)를 포함할 수 있고, '블록체인 주소 정보'는 다양한 비대칭키 암호화 알고리즘에 기반한 공개키(public key)를 포함할 수 있다. 본 문서에서는 이해의 편의를 위해, 다양한 용어로 불릴 수 있는 용어를 '블록체인 비밀키' 및 '블록체인 주소'의 명칭으로 통일하여 그 개념을 기술하기로 한다. Meanwhile, the term 'blockchain secret key' used in this document may include a private key based on various asymmetric key encryption algorithms, and 'blockchain address information' is a public key based on various asymmetric key encryption algorithms. It may contain a public key. In this document, for the convenience of understanding, terms that can be called various terms are unified into the names of 'blockchain secret key' and 'blockchain address' to describe the concepts.

제1 단말(100)은 식별 정보에 대응되는 블록체인 비밀키를 자신만이 저장하고 있도록 할 수 있으며, 블록체인 비밀키에 대응되는 블록체인 주소는 서버(20)를 비롯한 다른 주체들도 가질 수 있도록 할 수 있다. The first terminal 100 may allow only itself to store the block chain secret key corresponding to the identification information, and the block chain address corresponding to the block chain secret key may also be possessed by other entities including the server 20 can make it

이와 같은 방식에 의하면, 제1 단말(100)만이 요청에 포함된 메시지를 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화할 수 있으므로, 상기 식별 정보에 대응되는 블록체인 비밀키는, 요청이 제1 단말(100)에 의해 정당하게 생성되었다는 것을 입증하는 인증 수단으로서의 역할을 할 수 있다. 상기 요청에 대한 검증은 전술한 바와 같이 상기 식별 정보에 대응되는 블록체인 주소를 가진 주체라면 누구든지 가능하다. 이에 따르면, 상기 요청에 포함된 암호화된 정보는 공개된 정보인 블록체인 주소를 통해 누구나 해독이 가능하므로 암호화된 정보 그 자체가 보호될 수는 없지만, 암호화된 정보가 정당한지의 여부를 판별할 수는 있다.According to this method, since only the first terminal 100 can encrypt the message included in the request using the block chain secret key corresponding to the identification information, the block chain secret key corresponding to the identification information is It may serve as an authentication means to prove that it was created legitimately by the first terminal 100 . As described above, the verification of the request is possible by anyone having a block chain address corresponding to the identification information. According to this, since the encrypted information included in the request can be decrypted by anyone through the public information block chain address, the encrypted information itself cannot be protected, but it can be determined whether the encrypted information is legitimate. is there

한편, 비공개의 블록체인 비밀키를 이용한 암호화 및 공개된 블록체인 주소를 이용한 복호화를 서명 및 검증, 즉 인증에 이용하는 것과 달리, 반대로 공개된 블록체인 주소를 이용하여 데이터를 암호화하고, 비공개의 블록체인 비밀키를 이용하여 암호화된 데이터를 복호화 하도록 할 수도 있다. 이 경우, 공개되지 않은 블록체인 비밀키를 가진 정당한 사용자만이 암호화된 데이터를 해독할 수 있으므로, 정당하지 않은 사용자는 암호화된 데이터를 입수한다 하더라도 해독이 불가능하며, 결과적으로 암호화된 데이터는 정당하지 않은 사용자로부터 보호될 수 있다.On the other hand, unlike encryption using a private block chain secret key and decryption using a public block chain address for signing and verification, that is, authentication, data is encrypted using a public block chain address on the contrary, and a private block chain You can also use the secret key to decrypt the encrypted data. In this case, only a legitimate user with an undisclosed blockchain secret key can decrypt the encrypted data, so even if an unjust user obtains the encrypted data, it cannot be decrypted, and as a result, the encrypted data is not legitimate. It can be protected from unauthorized users.

서버(20)는 제1 단말(100)에 의해 생성된 상기 요청을 제1 단말(100)로부터 수신(예컨대, 제1 단말(100)의 로그인 요청을 수신)할 수 있다(S102). 수신된 요청에 포함된 메시지의 식별 정보에 대응되는 블록체인 주소를 이용하여, 서버(20)는 수신된 요청에 포함된 암호화된 정보를 복호화할 수 있다(S103). 상기 식별 정보에 대응되는 블록체인 주소는 모두에게 공개되어 있으므로, 서버(20)는 상기 블록체인 주소를 직접 저장하고 있을 수도 있고, 필요할 경우 네트워크에 연결된 다른 장치로부터 제공받아 사용할 수도 있다.The server 20 may receive the request generated by the first terminal 100 from the first terminal 100 (eg, receive the login request of the first terminal 100) (S102). Using the block chain address corresponding to the identification information of the message included in the received request, the server 20 may decrypt the encrypted information included in the received request (S103). Since the block chain address corresponding to the identification information is open to everyone, the server 20 may directly store the block chain address or, if necessary, may use it by receiving it from another device connected to the network.

복호화의 결과에 기초하여, 서버(20)는 제1 단말(100)로부터 수신된 요청의 처리를 승인할 지의 여부를 결정(예컨대, 제1 단말(100)의 로그인을 허용하거나 불허함)할 수 있다(S104). 보다 구체적으로, 추가적인 인증이 수행되어야 할 것과 같은 다른 조건이 없다면(S105), 서버(20)는 상기 암호화된 정보가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화됨으로써 생성된 것이라고 판단될 경우, 즉 요청이 정당하다고 판단될 경우 상기 요청의 처리를 승인(예컨대, 로그인의 허용)할 수 있다(S106). Based on the decryption result, the server 20 may determine whether to approve the processing of the request received from the first terminal 100 (eg, allow or disallow the login of the first terminal 100 ). There is (S104). More specifically, if there is no other condition such as additional authentication to be performed (S105), the server 20 determines that the encrypted information is generated by being encrypted using a block chain secret key corresponding to the identification information. In other words, when it is determined that the request is justified, the processing of the request may be approved (eg, login is allowed) (S106).

반대로, 상기 암호화된 정보가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화됨으로써 생성된 것이 아니라고 판단된다면, 서버(20)는 상기 요청이 정당하지 않은 사용자 혹은 단말에 의해 생성된 것이라고 간주하고, 정당 사용자에게 알림을 발송하는 조치를 취하는 등의 다른 조건이 없다면(S108), 상기 요청의 처리를 거부(예컨대, 로그인의 불허)할 수 있다(S109).Conversely, if it is determined that the encrypted information is not generated by being encrypted using the block chain secret key corresponding to the identification information, the server 20 regards the request as being generated by an invalid user or terminal, and , if there are no other conditions such as taking action to send a notification to a party user (S108), the processing of the request may be rejected (eg, log-in is not allowed) (S109).

이와 같은 인증 방법은, 패스워드 등 고전적인 인증 수단을 이용하는 종래의 방법에 비해 보안성이 높다는 장점을 가질 수 있다. 예컨대, 패스워드의 경우 정당한 사용자가 패스워드를 입력하는 모습이 정당하지 않은 사용자에게 그대로 노출된다면 그 신뢰성을 상실하게 되지만, 본 발명의 일 실시예에 따른 인증 방법의 경우, 식별 정보에 대응되는 블록체인 비밀키 자체가 제1 단말(100)로부터 유출된다거나 사용자가 제1 단말(100)의 점유를 상실하는 등의 상황이 발생하지 않는 이상, 인증의 신뢰성이 담보될 수 있다.Such an authentication method may have an advantage of high security compared to a conventional method using a classical authentication means such as a password. For example, in the case of a password, if the appearance of a legitimate user inputting a password is exposed to an unjustified user as it is, the reliability is lost. As long as the key itself does not leak from the first terminal 100 or the user loses possession of the first terminal 100 , the reliability of authentication can be guaranteed.

실시예에 따라서는, 추가 인증 수단이 더 이용될 수 있다. 예컨대, 서버(20)는 상기 복호화의 결과에 더하여, 상기 요청과 함께 획득된 추가 인증 수단에 기초한 추가 인증이 성공적인지의 여부에 기초하여 상기 요청의 처리를 승인할 지의 여부를 결정할 수도 있다(S107). 이와 같은 추가 인증 수단은, 제1 단말(100)의 접속 IP 주소(internet protocol address), 제1 단말(100)의 접속 시간, 제1 단말(100)의 OS(operating system)의 종류, 생체 인증 데이터, 패스워드(password) 및 개인 식별 번호(personal identification number, PIN) 등이 될 수 있으나, 반드시 이에 한정되는 것은 아니다. Depending on the embodiment, additional authentication means may be further used. For example, the server 20 may determine whether to approve the processing of the request based on whether or not additional authentication based on the additional authentication means obtained with the request is successful, in addition to the result of the decryption (S107) ). Such additional authentication means, the access IP address of the first terminal 100 (internet protocol address), the access time of the first terminal 100, the type of OS (operating system) of the first terminal 100, biometric authentication It may be data, a password, and a personal identification number (PIN), but is not necessarily limited thereto.

추가 인증 수단을 이용할 경우, 서버(20)는 요청을 전송할 정당한 권한이 있는 단말들을 보다 효율적으로 관리할 수 있다. 예컨대, 접속 IP 주소를 추가 인증 수단으로 이용할 경우, 일정 집단(예컨대, 회사나 홈 네트워크) 내에 속해 있는 단말만을 정당한 권한이 있는 단말로 인정할 수 있다. 혹은, 접속 시간을 추가 인증 수단으로 이용할 경우에는, 특정 시간대(예컨대, 평일 업무 시간)에만 요청이 가능하도록 설정할 수도 있을 것이다.When additional authentication means is used, the server 20 can more efficiently manage terminals having a legitimate right to transmit a request. For example, when an access IP address is used as an additional authentication means, only a terminal belonging to a certain group (eg, a company or a home network) may be recognized as a terminal having a legitimate authority. Alternatively, when the access time is used as an additional authentication means, the request may be set to be possible only during a specific time period (eg, weekday business hours).

한편, 실시예에 따라, 서버(20)는 상기 복호화의 결과 요청의 처리를 거부해야 하는 상황에서 바로 요청의 처리를 거부하는 대신, 정당한 사용자를 위해 식별 정보에 기 매칭된 수신처로 알림을 발송할 수도 있다(S110). 이 경우, 앞에서 서술한 바와는 달리 제1 단말(100)은 상기 식별 정보에 대응되는 정당한 사용자의 단말이 아닌 것(예컨대, 미등록 디바이스)이므로, 식별 정보에 대응되는 정당한 단말은 따로 있을 수 있으며, 서버(20)는 식별 정보에 기 매칭되어 있는 정당한 단말로 알림을 발송할 수 있다. 혹은, 식별 정보가 단말과 같은 장치가 아닌 특정 사용자를 나타낸다면, 서버(20)는 메일이나 SNS(social network service) 등을 통해 상기 특정 사용자의 계정으로 알림을 보낼 수도 있을 것이다. 이 경우, 알림은 메일, 단문 메시지(short message service, SMS) 혹은 SNS 어플리케이션의 팝업(pop-up) 메시지 등의 형태로 전송될 수 있다.On the other hand, according to an embodiment, the server 20 may send a notification to a destination previously matched to the identification information for a legitimate user, instead of immediately rejecting the processing of the request in a situation where processing of the request as a result of the decryption should be rejected There is (S110). In this case, unlike as described above, since the first terminal 100 is not a terminal of a legitimate user corresponding to the identification information (eg, an unregistered device), there may be a legitimate terminal corresponding to the identification information separately, The server 20 may send a notification to a legitimate terminal already matched with the identification information. Alternatively, if the identification information indicates a specific user rather than a device such as a terminal, the server 20 may send a notification to the specific user's account through mail or social network service (SNS). In this case, the notification may be transmitted in the form of mail, a short message service (SMS), or a pop-up message of an SNS application.

서버(20)는 상기 알림에 대한 회신을 수신하고, 수신된 회신의 내용이 긍정적인지 부정적인지 확인하며(S111), 확인된 회신의 내용에 기초하여 상기 요청의 처리를 승인하거나 거부할 수 있다. 만일 정당한 사용자가 회신을 통해, 요청이 정당함을 확인(예컨대, 자신이 새롭게 사용하게 된 제1 단말(100)을 통해 상기 요청을 정당하게 전송하였다는 취지의 답변을 함)한다면(즉, 긍정적인 답변을 한다면), 서버(20)는 요청의 처리를 승인할 수 있을 것이다(S106). 이와 달리, 정당한 사용자가 회신을 통해 요청이 정당하지 않다는 취지의 답변을 한다면(즉, 부정적인 답변을 한다면), 서버(20)는 요청의 처리를 거부하게 될 것이다(S109).The server 20 may receive a reply to the notification, check whether the content of the received reply is positive or negative (S111), and may approve or reject the processing of the request based on the content of the confirmed reply. If the legitimate user confirms that the request is legitimate through a reply (eg, responds to the effect that the request has been legitimately transmitted through the first terminal 100 that the user has newly used) (ie, positive answer), the server 20 may approve the processing of the request (S106). On the other hand, if the legitimate user replies to the effect that the request is not legitimate (that is, gives a negative answer), the server 20 will reject the processing of the request (S109).

한편, 위에서 정당한 사용자로부터 요청이 정당하지 않다는 취지의 회신을 받을 경우, 서버(20)는 제1 단말(100)을 정당하지 않은 단말로 간주하고, 제1 단말(100)로부터의 이후의 다른 요청은 알림 발송 없이 자동적으로 거부되도록 설정할 수도 있다. 즉, 제1 단말(100)이 일종의 블랙리스트(blacklist)에 포함되도록 할 수 있다. 이를 통해, 동일한 부정 단말이 부정한 요청 전송을 복수 회 수행할 때마다 정당한 사용자가 매번 알림을 받게 되는 번거로움이 방지될 수 있다.On the other hand, when receiving a reply from the legitimate user to the effect that the request is not justified, the server 20 regards the first terminal 100 as an invalid terminal, and other requests from the first terminal 100 thereafter. can also be set to be automatically rejected without sending a notification. That is, the first terminal 100 may be included in a kind of blacklist. Through this, whenever the same fraudulent terminal transmits an illegal request a plurality of times, the inconvenience of a legitimate user receiving a notification every time can be prevented.

도 3a 및 3b는 본 발명의 일 실시예에 따른, 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법의 적용 예시를 설명하기 위한 도면이다. 도 3a 및 3b에 도시된 예시는 모두, 도 2의 방법 중 단계 S110에서 설명하는 알림의 유형이 될 수 있다. 도 3a의 예시는, 제1 단말(100)로부터의 요청이 서버(20)로의 로그인 혹은 접속 허용 요청일 경우의 예시가 될 수 있다. 도 3b의 예시는, 제1 단말(100)로부터의 요청이 결제 요청일 경우의 예시가 될 수 있다.3A and 3B are diagrams for explaining an application example of a user authentication-based request processing method using a block chain key, according to an embodiment of the present invention. All of the examples shown in FIGS. 3A and 3B may be the types of notifications described in step S110 of the method of FIG. 2 . The example of FIG. 3A may be an example when the request from the first terminal 100 is a login or access permission request to the server 20 . The example of FIG. 3B may be an example when the request from the first terminal 100 is a payment request.

여기에서는, 도 4의 추가 실시예에 대해 설명하기에 앞서, 도 2의 방법의 수행의 전제가 되는 사전 등록 절차(예컨대, 회원 가입 절차)에 대해 잠시 설명하도록 한다. 즉, 이와 같은 사전 등록 절차는 도 2의 방법이 수행되기 전에 완료되어 있는 것이 바람직하다.Here, before describing the additional embodiment of FIG. 4 , a pre-registration procedure (eg, membership registration procedure), which is a premise for performing the method of FIG. 2 , will be briefly described. That is, it is preferable that such a pre-registration procedure is completed before the method of FIG. 2 is performed.

도 2의 방법의 수행을 위해서는, 앞서 설명한 바와 같이, 서버(20)가 식별 정보와, 해당 식별 정보에 대응되는 블록체인 주소 정보를 확보하고 있을 필요가 있다. 서버(20)는 제1 단말(100)이 생성한, 식별 정보 및 상기 식별 정보에 대응되는 블록체인 주소 정보를 제1 단말(100)로부터 제공받음으로써, 상기 제공받은 식별 정보를 포함하는 요청이 수신될 때마다 해당 요청에 포함되어 있는 암호화된 정보를 상기 대응되는 블록체인 주소 정보를 이용하여 복호화하기 위한 준비를 할 수 있다. 상기 식별 정보 및 블록체인 주소 정보는 서버(20)에 계속 저장되어 있는 것이 바람직하겠지만, 필요할 때마다 다른 장치로부터 서버(20)로 제공될 수도 있을 것이다.In order to perform the method of FIG. 2 , as described above, the server 20 needs to secure identification information and block chain address information corresponding to the identification information. The server 20 receives the identification information generated by the first terminal 100 and the block chain address information corresponding to the identification information from the first terminal 100, so that a request including the received identification information is Each time it is received, it is possible to prepare for decrypting the encrypted information included in the request using the corresponding block chain address information. The identification information and the block chain address information are preferably continuously stored in the server 20, but may be provided to the server 20 from other devices whenever necessary.

한편, 식별 정보 및 상기 식별 정보에 대응되는 블록체인 주소 정보를 제공받을 때, 서버(20)는 암호화된 검증 정보를 제1 단말(100)로부터 함께 제공받을 수 있다. 이와 같은 암호화된 검증 정보는, 제1 단말(100)이 상기 식별 정보에 대응되는 블록체인 주소 정보를 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화하여 생성한 것일 수 있다. 서버(20)는 상기 암호화된 검증 정보를 블록체인 주소 정보를 이용하여 복호화함으로써, 상기 암호화된 검증 정보의 정당성(즉, 상기 식별 정보에 대응되는 블록체인 주소 정보를 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화함으로써 생성된 것인지의 여부)를 판단할 수 있으며, 정당하다고 판단된 경우, 상기 제공받은 블록체인 주소 정보를 상기 식별 정보에 매칭(matching)시켜 서버(20) 혹은 다른 장치에 저장할 수 있다.Meanwhile, when receiving identification information and block chain address information corresponding to the identification information, the server 20 may receive encrypted verification information from the first terminal 100 together. Such encrypted verification information may be generated by encrypting the block chain address information corresponding to the identification information by the first terminal 100 using a block chain secret key corresponding to the identification information. The server 20 decrypts the encrypted verification information using the block chain address information, so that the validity of the encrypted verification information (that is, the block chain address information corresponding to the identification information is converted to the block chain address information corresponding to the identification information) Whether or not it is generated by encryption using a secret key) can be determined, and if it is determined that it is justified, the provided block chain address information is matched with the identification information to be sent to the server 20 or other device. can be saved

도 4는 본 발명의 추가 실시예에 따른, 블록체인 기술을 이용한 인증 방법의 각 단계를 도시한 도면이다. 도 4의 실시예는 기존의 제1 단말(100)에 더하여, 제2 단말(200)을 정당한 권한이 있는 단말로 추가하는 것과 관련된 실시예이다. 예를 들면, 제1 단말(100)(ex. 스마트폰)을 사용하는 사용자가 소지하는 다른 단말인 제2 단말(200)(ex. 태블릿 PC, 데스크탑)을 통해서도 서버(20)에 접속 및 요청하는 경우, 또는 프로젝트를 진행하는 그룹원들이 보유한 제1 단말 내지 제 n 단말(n은 2 이상의 자연수)(ex. 다수의 컴퓨터)을 통해 같은 계정으로 서버(20)에 접속할 수 있도록 하는 경우가 있다. 아울러, 별도의 언급이 없다 하더라도, 도 2와 관련하여 설명된 사항들은 도 4의 실시예에도 적용될 수 있다.4 is a diagram illustrating each step of an authentication method using a block chain technology, according to a further embodiment of the present invention. The embodiment of FIG. 4 is an embodiment related to adding the second terminal 200 as a terminal having a legitimate authority in addition to the existing first terminal 100 . For example, access and request to the server 20 through the second terminal 200 (ex. tablet PC, desktop), which is another terminal possessed by the user using the first terminal 100 (ex. a smartphone) In some cases, it is possible to access the server 20 with the same account through the first to nth terminals (n is a natural number greater than or equal to 2) (ex. multiple computers) owned by group members conducting the project. . In addition, even if there is no separate mention, the matters described in relation to FIG. 2 may also be applied to the embodiment of FIG. 4 .

먼저, 서버(20)는 제2 단말(200)로부터, 제1 단말(100) 혹은 제1 단말(100)의 사용자를 나타내는 식별 정보에 대응되는 블록체인 비밀키의 사용에 대한 신청을 수신할 수 있다(S201). 이와 같은 신청은 제1 단말(100)뿐 아니라 제2 단말(200)로도 도 2의 방법을 수행하는 것이 가능해지도록 하기 위한 목적을 갖는다.First, the server 20 may receive, from the second terminal 200 , an application for use of the block chain secret key corresponding to the identification information representing the first terminal 100 or the user of the first terminal 100 . There is (S201). Such an application has the purpose of making it possible to perform the method of FIG. 2 not only with the first terminal 100 but also with the second terminal 200 .

서버(20)는 상기 신청이 정당한지의 여부를 소정의 기준에 의해 판정할 수 있다. 우선, 서버(20)는 상기 신청과 관련하여, 제2 단말(200)이 어떠한 식별 정보를 지정하였는지를 알아낼 수 있다(S202). 즉, 제2 단말(200)이 사용하기를 원하는 블록체인 비밀키가, 제1 단말(100) 혹은 제1 단말(100)의 사용자를 나타내는 식별 정보에 대응되는 블록체인 비밀키라는 취지를 알아내야 할 필요가 있다. 이러한 지정을 위한 취지는 상기 신청에 포함되어 있을 수도 있고, 별도의 메시지를 통해 제2 단말(200)로부터 서버(20)에 전달될 수도 있다.The server 20 may determine whether the application is justified based on a predetermined criterion. First, the server 20 may find out what kind of identification information has been designated by the second terminal 200 in relation to the application (S202). That is, it is necessary to find out that the block chain secret key that the second terminal 200 wants to use is the block chain secret key corresponding to the identification information representing the first terminal 100 or the user of the first terminal 100 . Needs to be. The purpose for such designation may be included in the application, or may be transmitted from the second terminal 200 to the server 20 through a separate message.

다음으로, 서버(20)는 상기 식별 정보에 대한 지정에 기초하여, 제2 단말(200)이 상기 식별 정보에 대응되는 블록체인 비밀키, 즉 제1 단말(100)을 위한 블록체인 비밀키를 사용하는 것을 허용할 지의 여부에 대한 질의를, 상기 식별 정보에 기 매칭된 수신처로 전송할 수 있다(S203). 이와 같은 수신처는 제1 단말(100)이 될 수 있겠지만, 제1 단말(100)의 사용자의 메일이나 SNS(social network service) 계정일 수도 있다.Next, the server 20, based on the designation of the identification information, allows the second terminal 200 to obtain a block chain secret key corresponding to the identification information, that is, a block chain secret key for the first terminal 100. A query as to whether to allow use may be transmitted to a destination previously matched to the identification information (S203). Such a destination may be the first terminal 100 , but may also be a user's mail or social network service (SNS) account of the first terminal 100 .

서버(20)는 상기 질의에 대한 회신을 수신할 수 있으며(S204), 상기 수신된 회신에 기초하여 제2 단말(200)에 의한 신청이 정당한지의 여부를 판정할 수 있다(S205). 물론 상기 회신은 제1 단말(100)의 사용자에 의해 발송된 것이며, 만일 제1 단말(100)의 사용자가 회신을 통해 거부의 의사를 표시한 경우, 서버(20)는 제2 단말(200)의 신청이 정당하지 않은 것으로 간주하고 제1 단말(100)을 위한 블록체인 비밀키의 신청을 불허할 수 있다(S206). The server 20 may receive a reply to the query (S204), and may determine whether the application by the second terminal 200 is legitimate based on the received reply (S205). Of course, the reply is sent by the user of the first terminal 100, and if the user of the first terminal 100 expresses an intention of refusal through the reply, the server 20 sends the second terminal 200 It may be regarded that the application of is not justified and the application of the block chain secret key for the first terminal 100 may be rejected (S206).

이와 달리, 제1 단말(100)의 사용자가 회신을 통해 승인의 의사를 표시한 경우, 이는 제2 단말(200)에 의한 신청이 제1 단말(100)의 사용자에 의해 정당하게 이루어졌다는 것을 나타내므로, 서버(20)는 제1 단말(100)이 제2 단말(200)로 제1 단말(100)을 위한 블록체인 비밀키를 전송하도록, 제1 단말(100)을 제어할 수 있다. 이 때, 상기 블록체인 비밀키는 서버(20)를 거치지 않고 제1 단말(100)로부터 제2 단말(200)로, 예컨대 P2P(peer-to-peer) 통신을 통하여 바로 전송될 수 있다. 이와 같이 서버(20)가 중간에 개입되지 않은 단말 간의 블록체인 비밀키 전송에 의해, 블록체인 비밀키의 복제가 종래의 중앙 관리식의 방법에 비해 보다 간편하게 이루어질 수 있다.On the other hand, when the user of the first terminal 100 expresses the intention of approval through a reply, this indicates that the application by the second terminal 200 has been legitimately made by the user of the first terminal 100 . Therefore, the server 20 may control the first terminal 100 so that the first terminal 100 transmits the block chain secret key for the first terminal 100 to the second terminal 200 . At this time, the block chain secret key may be directly transmitted from the first terminal 100 to the second terminal 200 without going through the server 20, for example, through peer-to-peer (P2P) communication. As such, by the transmission of the block chain secret key between terminals without the server 20 intervening in the middle, the duplication of the block chain secret key can be made more conveniently compared to the conventional central management method.

또한, 이와 같은 서버(20)를 거치지 않는 단말 간 전송이 이루어진다는 것은, 블록체인 비밀키에 관한 정보가 서버(20)에 저장되지 않는다는 것을 의미하므로, 서버(20)가 해킹당한다 하여도 제1 단말(100)의 블록체인 비밀키는 탈취되지 않기 때문에, 결과적으로 보다 높은 보안성이 달성될 수 있다.In addition, since the transmission between terminals without going through the server 20 means that the information about the block chain secret key is not stored in the server 20, even if the server 20 is hacked, the first Since the block chain secret key of the terminal 100 is not stolen, as a result, higher security can be achieved.

그렇다 해도, 제1 단말(100)로부터 제2 단말(200)로 블록체인 비밀키가 전송될 때 블록체인 비밀키가 탈취됨으로써 부정하게 이용될 수 있다는 우려가 여전히 있을 수 있다. 이에 따라, 본 발명의 일 실시예에서는 제2 단말(200)의 블록체인 주소를 이용하여 제1 단말(100)의 블록체인 비밀키를 암호화하는 방식으로 이러한 문제를 해결하고 있다.Even so, when the block chain secret key is transmitted from the first terminal 100 to the second terminal 200, there may still be concerns that the block chain secret key may be stolen and used illegally. Accordingly, in an embodiment of the present invention, this problem is solved by using the block chain address of the second terminal 200 to encrypt the block chain secret key of the first terminal 100 .

이하에서는 상기 방식에 따른 단계에 대해 설명하도록 한다. 제1 단말(100)과는 별개로, 제2 단말(200) 역시 자신의 고유한 제2 블록체인 주소 및 제2 블록체인 비밀키를 생성할 수 있다(S207). 제2 블록체인 주소는 공개될 수 있으므로, 서버(20)는 제2 단말(200)의 제2 블록체인 주소를 제2 단말(200)로부터 수신할 수 있으나(S208), 이에 반해 비공개 데이터인 제2 단말(200)의 제2 블록체인 비밀키는 제2 단말(200)에만 저장되어 제2 단말(200) 외부로 유출되지 않도록 관리된다. Hereinafter, the steps according to the above method will be described. Separately from the first terminal 100, the second terminal 200 may also generate its own second block chain address and second block chain secret key (S207). Since the second block chain address may be made public, the server 20 may receive the second block chain address of the second terminal 200 from the second terminal 200 (S208), but on the other hand, the The second block chain secret key of the second terminal 200 is stored only in the second terminal 200 and managed so as not to be leaked to the outside of the second terminal 200 .

앞서 설명한 바와 같은 취지로, 제2 단말(200)의 블록체인 비밀키로 암호화된 정보는 제2 단말(200)의 블록체인 주소를 이용하여 복호화될 수 있으며, 제2 단말(200)의 블록체인 주소로 암호화된 정보는 제2 단말(200)의 블록체인 비밀키를 이용하여 복호화될 수 있다. 이에 따라, 제2 단말(200)의 블록체인 주소는, 임의의 암호화된 정보가 제2 단말(200)의 블록체인 비밀키를 이용하여 암호화된 것인지의 여부를 판단하는 데 이용될 수 있으며, 제2 단말(200)의 블록체인 비밀키는, 제2 단말(200)의 블록체인 주소를 이용하여 암호화된 정보를 해독하는 데 이용될 수 있다.For the same purpose as described above, information encrypted with the block chain secret key of the second terminal 200 can be decrypted using the block chain address of the second terminal 200, and the block chain address of the second terminal 200 The encrypted information may be decrypted using the block chain secret key of the second terminal 200 . Accordingly, the block chain address of the second terminal 200 may be used to determine whether any encrypted information is encrypted using the block chain secret key of the second terminal 200, The block chain secret key of the second terminal 200 may be used to decrypt information encrypted using the block chain address of the second terminal 200 .

서버(20)는 수신된 제2 단말(200)의 블록체인 주소를 제1 단말(100)로 전송하는 한편(S209), 제1 단말(100)이 자신이 저장하고 있는 자신의 블록체인 비밀키를 제2 단말(200)의 블록체인 주소로 암호화하여 제2 단말(200)로 송신하도록 제1 단말(100)에 명령할 수 있다(S210). 그러면 제1 단말(100)은 제1 단말(100) 자신의 블록체인 비밀키를 제2 단말(200)의 블록체인 주소로 암호화할 수 있으며(S211), 암호화된 제1 단말(100)의 블록체인 비밀키를 제2 단말(200)로 송신할 수 있다(S212). The server 20 transmits the received block chain address of the second terminal 200 to the first terminal 100 (S209), while the first terminal 100 stores its own block chain secret key. may instruct the first terminal 100 to be encrypted with the block chain address of the second terminal 200 and transmitted to the second terminal 200 (S210). Then, the first terminal 100 may encrypt the first terminal 100's own block chain secret key to the block chain address of the second terminal 200 (S211), and the encrypted block of the first terminal 100 The chain secret key may be transmitted to the second terminal 200 (S212).

이와 같이 제2 단말(200)의 블록체인 주소로 암호화된 제1 단말(100)의 블록체인 비밀키는 제2 단말(200)의 블록체인 비밀키를 이용하여서만 정상적으로 복호화할 수 있으므로, 제2 단말(200)의 블록체인 비밀키를 저장하고 있는 제2 단말(200) 외의 다른 주체가 제2 단말(200)의 블록체인 주소로 암호화된 제1 단말(100)의 블록체인 비밀키를 탈취한다 한들, 제2 단말(200)의 블록체인 비밀키를 갖고 있지 않기 때문에, 탈취한 제1 단말(100)의 블록체인 비밀키를 이용할 수 없다. 따라서, 이와 같은 방식에 의하면, 보안성이 더욱 향상될 수 있다.As described above, since the block chain secret key of the first terminal 100 encrypted with the block chain address of the second terminal 200 can be normally decrypted only by using the block chain secret key of the second terminal 200, the second A subject other than the second terminal 200 storing the block chain secret key of the terminal 200 steals the block chain secret key of the first terminal 100 encrypted with the block chain address of the second terminal 200 However, since the second terminal 200 does not have the block chain secret key, the stolen block chain secret key of the first terminal 100 cannot be used. Therefore, according to this method, security can be further improved.

도 5는 본 발명의 또 다른 추가 실시예에 따른, 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법의 각 단계를 도시한 도면이다. 도 5의 실시예는 기존의 제1 단말(100)에 더하여, 제2 단말(200)을 정당한 권한이 있는 단말로 추가하는 것과 관련된 실시예이다. 예를 들면, 제1 단말(100)(ex. 스마트폰)을 사용하는 사용자가 소지하는 다른 단말인 제2 단말(200)(ex. 태블릿 PC, 데스크탑)을 통해서도 서버(20)에 접속 및 요청하는 경우, 또는 프로젝트를 진행하는 그룹원들이 보유한 제1 단말 내지 제 n 단말(n은 2 이상의 자연수)(ex. 다수의 컴퓨터)을 통해 같은 계정으로 서버(20)에 접속할 수 있도록 하는 경우가 있다. 아울러, 별도의 언급이 없다 하더라도, 도 2와 관련하여 설명된 사항들은 도 4의 실시예에도 적용될 수 있다.5 is a diagram illustrating each step of a user authentication-based request processing method using a block chain key, according to another additional embodiment of the present invention. The embodiment of FIG. 5 is an embodiment related to adding the second terminal 200 as a terminal having a legitimate authority in addition to the existing first terminal 100 . For example, access and request to the server 20 through the second terminal 200 (ex. tablet PC, desktop), which is another terminal possessed by the user using the first terminal 100 (ex. a smartphone) In some cases, it is possible to access the server 20 with the same account through the first to nth terminals (n is a natural number greater than or equal to 2) (ex. multiple computers) owned by group members conducting the project. . In addition, even if there is no separate mention, the matters described in relation to FIG. 2 may also be applied to the embodiment of FIG. 4 .

먼저, 제2 단말(200)은 제2 단말이 제1 단말과 동일한 사용자에 의해 사용된다는 정보를 포함하는 식별 정보, 블록체인 비밀키 및 블록체인 주소 정보를 생성할 수 있다(S301). 이후, 서버(20)는 제2 단말(200)로부터, 제1 단말(100) 혹은 제1 단말(100)의 사용자를 나타내는 식별 정보와 함께, 제2 단말(200)이 생성한 블록체인 주소 정보 및 제2 단말(200)이 생성한 블록체인 비밀키로 생성한 서명을 수신할 수 있다(S302). 서버(20)는 상기 서명이 올바른 것인지 상기 블록체인 주소 정보(또는 공개키)로 검증하여 서명이 올바른 경우, 제2 단말이 전송한 식별 정보 및 블록체인 주소 정보를 저장할 수 있다(S303). First, the second terminal 200 may generate identification information including information that the second terminal is used by the same user as the first terminal, a block chain secret key, and block chain address information (S301). Thereafter, the server 20 receives the block chain address information generated by the second terminal 200 together with the identification information indicating the first terminal 100 or the user of the first terminal 100 from the second terminal 200 . and a signature generated by the block chain private key generated by the second terminal 200 (S302). The server 20 verifies whether the signature is correct with the block chain address information (or public key), and when the signature is correct, it can store the identification information and block chain address information transmitted from the second terminal (S303).

이후, 제2 단말(200)은 제1 단말(100)에 제1 단말(100)의 블록체인 비밀키의 사용을 신청하고, 이를 위한 검증용 정보로 제2 단말(200)이 생성한 블록체인 주소 및 서명을 전송할 수 있다. 이와 같은 신청은 제1 단말(100)뿐 아니라 제2 단말(200)로도 도 2의 방법을 수행하는 것이 가능해지도록 하기 위한 목적을 갖는다.Thereafter, the second terminal 200 applies to the first terminal 100 to use the block chain secret key of the first terminal 100 , and the block chain generated by the second terminal 200 as verification information for this purpose Addresses and signatures can be sent. Such an application has the purpose of making it possible to perform the method of FIG. 2 not only with the first terminal 100 but also with the second terminal 200 .

이때, 제1 단말(100)은 제2 단말(200)로부터 수신한 블록체인 주소 정보가 올바르게 서버(20)에 저장되어 있는지 서버(20)에 확인할 수 있고, 서버(20)는 제1 단말(100)과 제2 단말(200)이 동일한 사용자에 의해 사용되는 것인지 확인한다(S305). 서버는 S302 단계에서 전송 받아 S303 단계에서 저장한 블록체인 주소와, S305 단계를 통해 전송받은 블록체인 주소가 동일한 경우, 제1 단말(100)과 제2 단말(200)의 식별 정보를 비교하여 동일 사용자를 판별하여 제1 단말(100)에 제2 단말(200)이 동일한 사용자임을 전송할 수 있다. 또는 도 4의 S203 내지 S206 단계와 마찬가지로 서버(20)는 제1 단말(100)에 제2 단말(200)에 대해 질의하여 사용자의 동일성을 검증할 수 있다. At this time, the first terminal 100 can check in the server 20 whether the block chain address information received from the second terminal 200 is correctly stored in the server 20, and the server 20 is the first terminal ( It is checked whether 100) and the second terminal 200 are used by the same user (S305). The server compares the identification information of the first terminal 100 and the second terminal 200 and compares the identification information of the first terminal 100 and the second terminal 200 when the block chain address received in step S302 and stored in step S303 and the block chain address transmitted through step S305 are the same By determining the user, it is possible to transmit that the second terminal 200 is the same user to the first terminal 100 . Alternatively, similarly to steps S203 to S206 of FIG. 4 , the server 20 may query the first terminal 100 for the second terminal 200 to verify the identity of the user.

제1 단말(100)은 S305 단계를 통해 제2 단말(200)이 전송한 블록체인 주소가동일 서버에 저장된 블록체인 주소와 동일한 것으로 확인하면, 제2 단말(200)로부터 수신한 서명이 올바른 것인지 판별하여, 제1 단말(100)의 블록체인 비밀키를 제2 단말(200)로 전송할 것인지 결정할 수 있다. 예컨대, 제1 단말(100)은 제2 단말(200)에 P2P(peer-to-peer) 통신을 통하여 제1 단말(100)의 블록체인 비밀키를 전송될 수 있다. 이와 같이 서버(20)가 중간에 개입되지 않은 단말 간의 블록체인 비밀키 전송에 의해, 블록체인 비밀키의 복제가 종래의 중앙 관리식의 방법에 비해 보다 간편하게 이루어질 수 있다. If the first terminal 100 confirms that the block chain address transmitted by the second terminal 200 is the same as the block chain address stored in the same server through step S305, check whether the signature received from the second terminal 200 is correct By determining, it is possible to determine whether to transmit the block chain secret key of the first terminal 100 to the second terminal 200 . For example, the first terminal 100 may transmit the block chain secret key of the first terminal 100 to the second terminal 200 through peer-to-peer (P2P) communication. As such, by the transmission of the block chain secret key between terminals without the server 20 intervening in the middle, the duplication of the block chain secret key can be made more conveniently compared to the conventional central management method.

또한, 이와 같은 서버(20)를 거치지 않는 단말 간 전송이 이루어진다는 것은, 블록체인 비밀키에 관한 정보가 서버(20)에 저장되지 않는다는 것을 의미하므로, 서버(20)가 해킹당한다 하여도 제1 단말(100)의 블록체인 비밀키는 탈취되지 않기 때문에, 결과적으로 보다 높은 보안성이 달성될 수 있다.In addition, since the transmission between terminals without going through the server 20 means that the information about the block chain secret key is not stored in the server 20, even if the server 20 is hacked, the first Since the block chain secret key of the terminal 100 is not stolen, as a result, higher security can be achieved.

그렇다 해도, 제1 단말(100)로부터 제2 단말(200)로 블록체인 비밀키가 전송될 때 블록체인 비밀키가 탈취됨으로써 부정하게 이용될 수 있다는 우려가 여전히 있을 수 있다. 이에 따라, 본 발명의 일 실시예에서는 제2 단말(200)의 블록체인 주소를 이용하여 제1 단말(100)의 블록체인 비밀키를 암호화하는 방식으로 이러한 문제를 해결하고 있다.Even so, when the block chain secret key is transmitted from the first terminal 100 to the second terminal 200, there may still be concerns that the block chain secret key may be stolen and used illegally. Accordingly, in an embodiment of the present invention, this problem is solved by using the block chain address of the second terminal 200 to encrypt the block chain secret key of the first terminal 100 .

S306 단계 판별 결과 제2 단말(200)의 서명이 정당한 경우, 제1 단말(100)은 제1 단말(100) 자신의 블록체인 비밀키를 제2 단말(200)의 블록체인 주소로 암호화할 수 있으며(S308), 암호화된 제1 단말(100)의 블록체인 비밀키를 제2 단말(200)로 송신할 수 있다(S309). As a result of the determination in step S306, if the signature of the second terminal 200 is correct, the first terminal 100 may encrypt the first terminal 100's own block chain secret key with the block chain address of the second terminal 200 and (S308), the encrypted block chain secret key of the first terminal 100 may be transmitted to the second terminal 200 (S309).

이와 같이 제2 단말(200)의 블록체인 주소로 암호화된 제1 단말(100)의 블록체인 비밀키는 제2 단말(200)의 블록체인 비밀키를 이용하여서만 정상적으로 복호화할 수 있으므로, 제2 단말(200)의 블록체인 비밀키를 저장하고 있는 제2 단말(200) 외의 다른 주체가 제2 단말(200)의 블록체인 주소로 암호화된 제1 단말(100)의 블록체인 비밀키를 탈취한다 한들, 제2 단말(200)의 블록체인 비밀키를 갖고 있지 않기 때문에, 탈취한 제1 단말(100)의 블록체인 비밀키를 이용할 수 없다. 따라서, 이와 같은 방식에 의하면, 보안성이 더욱 향상될 수 있다.As described above, since the block chain secret key of the first terminal 100 encrypted with the block chain address of the second terminal 200 can be normally decrypted only by using the block chain secret key of the second terminal 200, the second A subject other than the second terminal 200 storing the block chain secret key of the terminal 200 steals the block chain secret key of the first terminal 100 encrypted with the block chain address of the second terminal 200 However, since the second terminal 200 does not have the block chain secret key, the stolen block chain secret key of the first terminal 100 cannot be used. Therefore, according to this method, security can be further improved.

본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block in the block diagram attached to the present invention and each step in the flowchart may be performed by computer program instructions. These computer program instructions may be embodied in the encoding processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions executed by the encoding processor of the computer or other programmable data processing equipment may correspond to each block of the block diagram or Each step of the flowchart creates a means for performing the functions described. These computer program instructions may also be stored in a computer-usable or computer-readable memory which may direct a computer or other programmable data processing equipment to implement a function in a particular way, and thus the computer-usable or computer-readable memory. The instructions stored in the block diagram may also produce an item of manufacture containing instruction means for performing a function described in each block of the block diagram or each step of the flowchart. The computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for carrying out the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Further, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative embodiments it is also possible for the functions recited in blocks or steps to occur out of order. For example, it is possible that two blocks or steps shown one after another may in fact be performed substantially simultaneously, or that the blocks or steps may sometimes be performed in the reverse order according to the corresponding function.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. The above description is merely illustrative of the technical spirit of the present invention, and various modifications and variations will be possible without departing from the essential quality of the present invention by those skilled in the art to which the present invention pertains. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope 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.

Claims (15)

서버에 의해 수행되는 사용자 인증 기반의 요청 처리 방법으로서,
식별 정보 및 요청 정보를 포함하는 메시지와, 상기 메시지의 적어도 일부가 암호화된 정보를 포함하는 요청(request)을, 단말로부터 수신하는 단계;
상기 식별 정보에 대응되는 블록체인 주소 정보를 이용하여 상기 암호화된 정보의 복호화를 수행하는 단계;
상기 복호화의 결과에 기초하여 상기 암호화된 정보가 상기 블록체인 주소 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우 상기 요청의 처리를 승인할 지의 여부를 결정하는 단계;
상기 단말과 상이한 다른 단말로부터, 상기 식별 정보에 대응되는 블록체인 비밀키의 사용에 대한 신청을 수신하는 단계;
상기 신청이 정당한지의 여부를 소정의 기준에 의해 판정하는 단계; 및
상기 신청이 정당하다고 판정될 경우, 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 상기 서버를 거치지 않고 상기 다른 단말로 전송하도록, 상기 단말을 제어하는 단계
를 포함하고,
상기 판정하는 단계는,
상기 다른 단말로부터, 상기 식별 정보에 대한 지정을 받는 단계;
상기 지정에 기초하여, 상기 다른 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 사용하는 것을 허용할 지의 여부에 대한 질의를, 상기 식별 정보에 기 매칭된 수신처로 전송하는 단계;
상기 질의에 대한 회신을 수신하는 단계; 및
상기 수신된 회신에 기초하여, 상기 신청이 정당한지의 여부를 판정하는 단계를 포함하는,
사용자 인증 기반의 요청 처리 방법.
As a user authentication-based request processing method performed by a server,
Receiving a message including identification information and request information, and a request including information in which at least a part of the message is encrypted, from a terminal;
performing decryption of the encrypted information using block chain address information corresponding to the identification information;
determining whether to approve the processing of the request when it is determined that the encrypted information is encrypted using a block chain secret key corresponding to the block chain address information based on a result of the decryption;
receiving an application for use of a block chain secret key corresponding to the identification information from another terminal different from the terminal;
determining whether the application is justified according to a predetermined criterion; and
If it is determined that the application is justified, controlling the terminal so that the terminal transmits the block chain secret key corresponding to the identification information to the other terminal without going through the server
including,
The determining step is
receiving a designation for the identification information from the other terminal;
transmitting, based on the designation, a query as to whether to allow the other terminal to use the block chain secret key corresponding to the identification information to a destination previously matched to the identification information;
receiving a reply to the query; and
based on the received reply, determining whether the application is legitimate;
How to handle requests based on user authentication.
제 1 항에 있어서,
상기 수신하는 단계의 이전에,
상기 식별 정보, 상기 식별 정보에 대응되는 블록체인 주소 정보 및 암호화된 검증 정보를 상기 단말로부터 제공받는 단계; 및
상기 암호화된 검증 정보가, 상기 식별 정보에 대응되는 블록체인 주소 정보를 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우, 상기 제공받은 블록체인 주소 정보를 상기 식별 정보에 매칭(matching)시켜 상기 서버에 저장하는 단계를 포함하는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
Prior to the receiving step,
receiving the identification information, block chain address information corresponding to the identification information, and encrypted verification information from the terminal; and
When it is determined that the encrypted verification information is encrypted using the block chain address information corresponding to the identification information by using the block chain secret key corresponding to the identification information, the received block chain address information is added to the identification information. Comprising the step of matching (matching) and storing in the server,
How to handle requests based on user authentication.
제 1 항에 있어서,
상기 식별 정보는,
상기 단말을 특정하거나, 상기 단말의 사용자를 특정하기 위한 정보이고,
상기 요청 정보는,
상기 서버에 의해 승인되어 수행되는 상기 단말의 동작에 관한 정보로서, 상기 동작은 로그인, 인증 및 결제 동작 중 적어도 하나를 포함하는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
The identification information is
Information for specifying the terminal or specifying a user of the terminal,
The requested information is
As information about the operation of the terminal that is approved and performed by the server, the operation includes at least one of login, authentication, and payment operations,
How to handle requests based on user authentication.
제 1 항에 있어서,
상기 결정하는 단계는,
상기 복호화의 결과에 더하여, 상기 요청과 함께 획득된 추가 인증 수단에 기초한 추가 인증이 성공적인지의 여부에 기초하여 상기 요청의 처리를 승인할 지의 여부를 결정하는 단계를 포함하며,
상기 추가 인증 수단은,
상기 단말의 접속 IP 주소(internet protocol address), 상기 단말의 접속 시간, 상기 단말의 OS(operating system)의 종류, 생체 인증 데이터, 패스워드(password) 및 개인 식별 번호(personal identification number, PIN) 중 적어도 하나를 포함하는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
The determining step is
determining, in addition to the result of the decryption, whether to approve the processing of the request, based on whether additional authentication based on the additional authentication means obtained with the request is successful;
The additional authentication means,
At least one of an access IP address (internet protocol address) of the terminal, an access time of the terminal, a type of an operating system (OS) of the terminal, biometric data, a password, and a personal identification number (PIN) including one,
How to handle requests based on user authentication.
제 1 항에 있어서,
상기 결정하는 단계의 결과, 상기 요청의 처리를 승인하지 않는 것으로 결정하여야 할 경우, 상기 식별 정보에 기 매칭된 수신처로 알림을 발송하는 단계;
상기 기 매칭된 수신처로부터 상기 알림에 대한 회신을 수신하는 단계; 및
상기 수신된 회신의 내용에 기초하여, 상기 요청의 처리를 승인하거나 거부하는 단계를 더 포함하는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
sending a notification to a destination previously matched with the identification information when it is to be determined not to approve the processing of the request as a result of the determining;
receiving a reply to the notification from the previously matched destination; and
Based on the content of the received reply, further comprising the step of approving or rejecting the processing of the request,
How to handle requests based on user authentication.
제 1 항에 있어서,
상기 단말과 상이한 다른 단말로부터 상기 다른 단말이 생성한 제2 블록체인 주소를 수신하는 단계;
상기 다른 단말이 생성한 제3 블록체인 주소를 수신한 상기 단말로부터 상기 제3 블록체인 주소를 수신하는 단계;
상기 제2 블록체인 주소 및 상기 제3 블록체인 주소가 동일한 경우, 상기 단말과 상기 다른 단말의 식별 정보를 비교하거나 또는 상기 단말에 상기 다른 단말에 대해 질의하여 사용자의 동일성을 검증하는 단계; 및
상기 검증을 기초로 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 상기 서버를 거치지 않고 상기 다른 단말로 전송하도록 상기 단말을 제어하는 단계를 더 포함하는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
receiving a second block chain address generated by the other terminal from another terminal different from the terminal;
receiving the third block chain address from the terminal that has received the third block chain address generated by the other terminal;
when the second block chain address and the third block chain address are the same, verifying the identity of the user by comparing identification information of the terminal and the other terminal or by querying the terminal for the other terminal; and
Further comprising the step of controlling the terminal so that the terminal transmits the block chain secret key corresponding to the identification information to the other terminal without going through the server based on the verification,
How to handle requests based on user authentication.
삭제delete 제 1 항에 있어서,
상기 제어하는 단계는,
상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 P2P(peer-to-peer) 통신을 통하여 상기 다른 단말로 전송하도록, 상기 단말을 제어하는 단계를 포함하는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
The controlling step is
including controlling the terminal so that the terminal transmits the block chain secret key corresponding to the identification information to the other terminal through peer-to-peer (P2P) communication,
How to handle requests based on user authentication.
제 1 항에 있어서,
상기 단말 또는 상기 단말의 사용자와 연관된 상기 식별 정보를 포함하는, 상기 요청과는 상이한 다른 요청을, 상기 다른 단말로부터 수신하는 단계;
상기 식별 정보에 대응되는 블록체인 주소 정보를 이용하여, 상기 다른 요청에 포함된 암호화된 정보의 복호화를 수행하는 단계; 및
상기 다른 요청에 포함된 상기 암호화된 정보가, 상기 다른 요청에 포함된 메시지의 적어도 일부가 상기 식별 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우, 상기 다른 요청의 처리를 승인하는 단계를 더 포함하는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
receiving, from the other terminal, another request different from the request, which includes the identification information associated with the terminal or a user of the terminal;
performing decryption of the encrypted information included in the other request by using the block chain address information corresponding to the identification information; and
When it is determined that the encrypted information included in the other request is that at least a part of the message included in the other request is encrypted using a block chain secret key corresponding to the identification information, the processing of the other request is approved further comprising the step of
How to handle requests based on user authentication.
삭제delete 제 1 항에 있어서,
상기 신청을 수신하는 단계는,
상기 다른 단말로부터 상기 다른 단말에 대응되는 블록체인 주소를 수신하는 단계를 포함하고,
상기 다른 단말에 대응되는 블록체인 주소는,
소정의 암호화된 정보가 상기 다른 단말에 대응되는 블록체인 비밀키를 이용하여 암호화된 것인지의 여부를 판단하는 데 이용되는,
사용자 인증 기반의 요청 처리 방법.
The method of claim 1,
Receiving the application comprises:
Receiving a block chain address corresponding to the other terminal from the other terminal,
The block chain address corresponding to the other terminal is,
Used to determine whether predetermined encrypted information is encrypted using a block chain secret key corresponding to the other terminal,
How to handle requests based on user authentication.
제 11 항에 있어서,
상기 제어하는 단계는,
상기 다른 단말에 대응되는 블록체인 주소를 상기 단말에 제공하여, 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 상기 다른 단말에 대응되는 블록체인 주소로 암호화하여 상기 다른 단말로 전송하도록 상기 단말을 제어하는 단계를 포함하고,
상기 다른 단말은, 상기 다른 단말에 대응되는 블록체인 비밀키를 이용하여 상기 단말로부터 전송 받은 암호화된 블록체인 비밀키를 복호화하여 저장하는,
사용자 인증 기반의 요청 처리 방법.
12. The method of claim 11,
The controlling step is
The terminal provides a block chain address corresponding to the other terminal to the terminal, so that the terminal encrypts the block chain secret key corresponding to the identification information with the block chain address corresponding to the other terminal and transmits it to the other terminal comprising the steps of controlling
The other terminal uses the block chain secret key corresponding to the other terminal to decrypt and store the encrypted block chain secret key received from the terminal,
How to handle requests based on user authentication.
제 1 항 내지 제 6 항, 제 8 항, 제 9 항, 제 11 항 및 제 12 항 중 어느 한 항에 기재된 방법에 따른 각각의 단계를 수행하는 컴퓨터 판독 가능 기록매체에 저장된 프로그램.
A program stored in a computer-readable recording medium for performing each step according to the method according to any one of claims 1 to 6, 8, 9, 11 and 12.
제 1 항 내지 제 6 항, 제 8 항, 제 9 항, 제 11 항 및 제 12 항 중 어느 한 항에 기재된 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 기록매체.
A computer readable record in which a program including instructions for performing each step according to the method according to any one of claims 1 to 6, 8, 9, 11 and 12 is recorded media.
인증 절차에 기초하여 단말로부터의 요청을 처리하는 서버로서,
명령어를 저장하는 메모리와,
상기 명령어를 실행하도록 구성된 프로세서를 포함하되,
상기 명령어는 실행될 때, 상기 프로세서로 하여금,
식별 정보 및 요청 정보를 포함하는 메시지와, 상기 메시지의 적어도 일부가 암호화된 정보를 포함하는 요청(request)을 단말로부터 수신하는 동작;
상기 식별 정보에 대응되는 블록체인 주소 정보를 이용하여 상기 암호화된 정보의 복호화를 수행하는 동작;
상기 복호화의 결과에 기초하여 상기 암호화된 정보가 상기 블록체인 주소 정보에 대응되는 블록체인 비밀키를 이용하여 암호화된 것이라고 판단될 경우 상기 요청의 처리를 승인할 지의 여부를 결정하는 동작;
상기 단말과 상이한 다른 단말로부터, 상기 식별 정보에 대응되는 블록체인 비밀키의 사용에 대한 신청을 수신하는 동작;
상기 신청이 정당한지의 여부를 소정의 기준에 의해 판정하는 동작; 및
상기 신청이 정당하다고 판정될 경우, 상기 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 상기 서버를 거치지 않고 상기 다른 단말로 전송하도록, 상기 단말을 제어하는 동작을 수행하도록 하고,
상기 판정하는 동작은,
상기 다른 단말로부터, 상기 식별 정보에 대한 지정을 받는 동작;
상기 지정에 기초하여, 상기 다른 단말이 상기 식별 정보에 대응되는 블록체인 비밀키를 사용하는 것을 허용할 지의 여부에 대한 질의를, 상기 식별 정보에 기 매칭된 수신처로 전송하는 동작;
상기 질의에 대한 회신을 수신하는 동작; 및
상기 수신된 회신에 기초하여, 상기 신청이 정당한지의 여부를 판정하는 동작을 포함하는, 서버.
A server for processing a request from a terminal based on an authentication procedure,
memory for storing instructions; and
a processor configured to execute the instructions;
The instructions, when executed, cause the processor to:
receiving, from a terminal, a message including identification information and request information, and a request including information in which at least a part of the message is encrypted;
performing decryption of the encrypted information using block chain address information corresponding to the identification information;
determining whether to approve the processing of the request when it is determined that the encrypted information is encrypted using a block chain secret key corresponding to the block chain address information based on a result of the decryption;
receiving, from another terminal different from the terminal, an application for use of a block chain secret key corresponding to the identification information;
determining whether the application is legitimate according to a predetermined criterion; and
When it is determined that the application is justified, the terminal performs an operation of controlling the terminal so that the block chain secret key corresponding to the identification information is transmitted to the other terminal without going through the server;
The determining operation is
receiving a designation for the identification information from the other terminal;
transmitting, based on the designation, a query as to whether to allow the other terminal to use the block chain secret key corresponding to the identification information to a destination previously matched to the identification information;
receiving a reply to the query; and
and determining, based on the received reply, whether the application is legitimate.
KR1020190133709A 2019-10-25 2019-10-25 Method for processing request based on user authentication using blockchain key and system applying same KR102355708B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190133709A KR102355708B1 (en) 2019-10-25 2019-10-25 Method for processing request based on user authentication using blockchain key and system applying same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190133709A KR102355708B1 (en) 2019-10-25 2019-10-25 Method for processing request based on user authentication using blockchain key and system applying same

Publications (2)

Publication Number Publication Date
KR20210049421A KR20210049421A (en) 2021-05-06
KR102355708B1 true KR102355708B1 (en) 2022-01-26

Family

ID=75916216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190133709A KR102355708B1 (en) 2019-10-25 2019-10-25 Method for processing request based on user authentication using blockchain key and system applying same

Country Status (1)

Country Link
KR (1) KR102355708B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517001B1 (en) * 2022-08-05 2023-04-03 주식회사 더문랩스 System and method for processing digital signature on a blockchain network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287637A (en) * 2007-05-21 2008-11-27 Necディスプレイソリューションズ株式会社 Batch authentication system for two or more terminal units
JP6479723B2 (en) * 2016-09-02 2019-03-06 日本電信電話株式会社 Secret key management system and secret key management method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9985964B2 (en) * 2016-03-28 2018-05-29 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification
KR102016730B1 (en) * 2017-05-24 2019-09-03 라온시큐어(주) Authentification methods and system based on programmable blockchain and one-id

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287637A (en) * 2007-05-21 2008-11-27 Necディスプレイソリューションズ株式会社 Batch authentication system for two or more terminal units
JP6479723B2 (en) * 2016-09-02 2019-03-06 日本電信電話株式会社 Secret key management system and secret key management method

Also Published As

Publication number Publication date
KR20210049421A (en) 2021-05-06

Similar Documents

Publication Publication Date Title
US8196186B2 (en) Security architecture for peer-to-peer storage system
US8327143B2 (en) Techniques to provide access point authentication for wireless network
US9197420B2 (en) Using information in a digital certificate to authenticate a network of a wireless access point
JP2019508972A (en) System and method for password assisted computer login service assisted mobile pairing
EP2879421B1 (en) Terminal identity verification and service authentication method, system, and terminal
US11245526B2 (en) Full-duplex password-less authentication
CN107733636B (en) Authentication method and authentication system
US11363033B2 (en) Time-dependent blockchain-based self-verification user authentication method
US20230076147A1 (en) Method and apparatus for authenticating terminal, computer device and storage medium
US10320774B2 (en) Method and system for issuing and using derived credentials
US11223489B1 (en) Advanced security control implementation of proxied cryptographic keys
JP5992535B2 (en) Apparatus and method for performing wireless ID provisioning
JP2017152880A (en) Authentication system, key processing coordination method, and key processing coordination program
US9894062B2 (en) Object management for external off-host authentication processing systems
US11522702B1 (en) Secure onboarding of computing devices using blockchain
KR102355708B1 (en) Method for processing request based on user authentication using blockchain key and system applying same
WO2018207174A1 (en) Method and system for sharing a network enabled entity
KR101680536B1 (en) Method for Service Security of Mobile Business Data for Enterprise and System thereof
JP2022523068A (en) Systems and methods for secure electronic data transfer
Nishimura et al. Secure authentication key sharing between mobile devices based on owner identity
KR102053993B1 (en) Method for Authenticating by using Certificate
KR20110128371A (en) Mobile authentication system and central control system, and the method of operating them for mobile clients
Nishimura et al. Secure authentication key sharing between personal mobile devices based on owner identity
CN115473655A (en) Terminal authentication method, device and storage medium for access network
CN114553426B (en) Signature verification method, key management platform, security terminal and electronic equipment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right