KR102010776B1 - Method for password processing based on blockchain, method for user login authentication and server using the same - Google Patents

Method for password processing based on blockchain, method for user login authentication and server using the same Download PDF

Info

Publication number
KR102010776B1
KR102010776B1 KR1020180049393A KR20180049393A KR102010776B1 KR 102010776 B1 KR102010776 B1 KR 102010776B1 KR 1020180049393 A KR1020180049393 A KR 1020180049393A KR 20180049393 A KR20180049393 A KR 20180049393A KR 102010776 B1 KR102010776 B1 KR 102010776B1
Authority
KR
South Korea
Prior art keywords
encrypted
login
user
user terminal
password
Prior art date
Application number
KR1020180049393A
Other languages
Korean (ko)
Inventor
유문경
최종호
이경식
최재호
정기준
고주일
Original Assignee
현대카드 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대카드 주식회사 filed Critical 현대카드 주식회사
Priority to KR1020180049393A priority Critical patent/KR102010776B1/en
Application granted granted Critical
Publication of KR102010776B1 publication Critical patent/KR102010776B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention discloses a block chain-based password processing method, a user login authentication supporting method, and a server using the same. According to the present invention, the password processing method comprises the following steps. A user terminal divides a password of a user inputted by the user into two parts and encrypts a first PW part and a second PW part of the divided password with a terminal private key, respectively. The user terminal stores the encrypted first PW part from the divided password in the user terminal, and transmits the encrypted second PW part to a block chain node.

Description

블록체인 기반의 패스워드 처리 방법, 사용자 로그인 인증 지원 방법 및 이를 이용한 서버{METHOD FOR PASSWORD PROCESSING BASED ON BLOCKCHAIN, METHOD FOR USER LOGIN AUTHENTICATION AND SERVER USING THE SAME}Blockchain-based password processing method, user login authentication support method and server using the same {METHOD FOR PASSWORD PROCESSING BASED ON BLOCKCHAIN, METHOD FOR USER LOGIN AUTHENTICATION AND SERVER USING THE SAME}

본 발명은 블록체인 기반의 패스워드 처리 방법, 사용자 로그인 인증 지원 방법 및 이를 이용한 서버에 관한 것으로 보다 상세하게는, (a) 사용자 단말기가, 사용자가 입력한 사용자의 패스워드를 2개 부분으로 분할하여 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분을 각각 단말 private 키로 암호화하는 단계; 및 (b) 상기 사용자 단말기가, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분을 상기 사용자 단말기에 저장하고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분을 블록 체인 노드로 전송하는 단계;를 포함하는 방법, 및 이를 기반으로 사용자 로그인 인증을 지원하는 방법과 이를 이용한 서버에 관한 것이다.The present invention relates to a blockchain-based password processing method, a user login authentication support method, and a server using the same. Specifically, (a) a user terminal divides a user's password input by a user into two parts. Encrypting the first PW portion and the second PW portion of the split password with a terminal private key, respectively; And (b) the user terminal storing the encrypted first PW portion of the split password in the user terminal and transmitting the encrypted second PW portion of the split password to a blockchain node; It relates to a method, and a method for supporting user login authentication based on the same and a server using the same.

일반적으로, 패스워드는 특정한 정보나 시설 또는 작업을 불특정한 타인으로부터 보호하기 위한 인증 수단으로 사용되는 것으로, 통상적으로 타인이 쉽게 추측할 수 없는 자신만이 아는 특정한 문자, 숫자, 특수문자 등을 조합하여 사용되는 것을 의미한다.Generally, passwords are used as an authentication means to protect certain information, facilities, or work from unspecified persons. Typically, passwords are a combination of specific letters, numbers, special characters, etc. that only one person can easily guess. Means to be used.

이러한 패스워드는 컴퓨터 사용자의 로그인 인증을 수행하거나, 주요 건물 또는 방의 출입장치에서 출입자를 확인하거나 또는 금융거래 등의 디지털 서명, 신원확인 등 광범위하게 사용된다.These passwords are widely used to perform login authentication of computer users, to identify persons in access devices of major buildings or rooms, digital signatures such as financial transactions, and identity verification.

이러한 패스워드는 암호화되어 인증 서버나 로그인 관리 서버에 사용자 식별 정보와 함께 저장되는 것이 일반적이다. 그러나 관리를 철저히 하더라도 서버가 해킹 당하여 패스워드와 사용자 식별 정보가 제3자의 손에 들어가게 되면, 많은 피해가 발생될 수 있다. 아울러 매번 로그인 시 입력하는 패스워드를 서버로 전달하는 과정에서 제3자에게 패스워드가 유출되어 도용 당하는 문제도 발생할 수 있다.Such a password is usually encrypted and stored with the user identification information in the authentication server or the login management server. However, even if the management is thorough, if the server is hacked and the password and user identification information is in the hands of a third party, a lot of damage can occur. In addition, a password may be leaked to a third party in the process of delivering a password input at each login to a server, thereby causing a problem of being stolen.

본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.The present invention aims to solve all the above-mentioned problems.

또한, 본 발명은 서버가 해킹 당하더라도 패스워드를 안전하게 보호할 수 있는 새로운 패스워드 처리 방법을 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a new password processing method that can securely protect a password even if the server is hacked.

또한 본 발명은 블록체인 노드에 패스워드의 일부를 저장하고, 사용자 로그인 요청 시 이를 통해 사용자 로그인 인증을 지원하는 방법을 제공하는 것을 목적으로 한다.Another object of the present invention is to provide a method of storing a part of a password in a blockchain node and supporting user login authentication through a user login request.

또한 본 발명은 사용자가 매번 로그인 할 때, 패스워드를 입력하지 않게 하여, 패스워드 전송과정에서 스니핑 당할 수 있는 문제점을 해결하는 것을 목적으로 한다.In addition, an object of the present invention is to solve the problem that the user can be sniffed during the password transmission process by not entering a password every time the user logs in.

상기 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 패스워드 처리 방법은, (a) 사용자 단말기가, 사용자가 입력한 사용자의 패스워드를 2개 부분으로 분할하여 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분을 각각 단말 private 키로 암호화하는 단계; 및 (b) 상기 사용자 단말기가, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분을 상기 사용자 단말기에 저장하고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분을 블록 체인 노드로 전송하는 단계;를 포함한다.According to one aspect of the present invention for achieving the above object, the password processing method, (a) the user terminal, the user's password divided into two parts of the user input by the first PW portion of the divided password and Encrypting each of the second PW portions with a terminal private key; And (b) the user terminal storing the encrypted first PW portion of the split password in the user terminal and transmitting the encrypted second PW portion of the split password to a blockchain node; It includes.

일 실시예에서, 상기 (b) 단계에서, 상기 암호화된 제1 PW 부분은 상기 사용자 단말기 내의 SE 영역 에 저장한다.In one embodiment, in step (b), the encrypted first PW portion is stored in the SE area in the user terminal.

본 발명의 다른 특징에 따르면, 사용자 로그인 인증을 지원하는 방법은, (a) 사용자 단말기가, 사용자가 입력한 사용자의 패스워드를 2개 부분으로 분할하여 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분을 각각 단말 private 키로 암호화하고, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분을 상기 사용자 단말기에 저장하고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분을 블록 체인 노드로 전송하는 단계;, (b) 상기 사용자로부터 식별 정보가 입력되어, 로그인 관리 서버가, 상기 식별 정보, 랜덤 키, 상기 사용자 단말기의 접속 정보, 로그인 요청 시간에 대응되는 식별 코드를 획득하여 출력하면, 상기 사용자 단말기가 상기 식별 코드를 스캔한 정보를 획득하여, 상기 로그인 관리 서버로 하여금, 상기 식별 코드를 스캔한 정보를 참조로 하여 상기 사용자 단말기의 인증을 하도록 요청하는 단계; (c) 상기 사용자 단말기가 인증되어, 상기 로그인 관리 서버가, 상기 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제1 데이터 세트의 암호화된 상태를 상기 사용자 단말에 전송하면, 상기 사용자 단말기가, (i) 상기 암호화된 제1 데이터 세트 및 상기 사용자 단말기 내부에 저장된 상기 암호화된 제1 PW 부분, 상기 식별 정보와 상기 단말 private 키를 포함하는 제2 데이터 세트의 암호화된 상태를 로그인 지원 서버로 전달하고, (ii) 상기 로그인 지원 서버로 하여금, 상기 암호화된 제2 데이터 세트를 복호화 하도록 지원하고, (iii) 상기 로그인 지원 서버로 하여금, 상기 암호화된 제1 PW 부분과 상기 블록 체인에 저장된 상기 암호화된 제2 PW 부분을 상기 단말 private 키로 각각 복호화 한 후, 상기 제1 PW 부분과 상기 제2 PW 부분을 결합하여 상기 패스워드를 생성하도록 지원하며, (iv) 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달하여 상기 사용자의 로그인을 인증하도록 지원하는 단계;를 포함한다.According to another aspect of the present invention, a method for supporting user login authentication includes: (a) a first terminal and a second PW portion of the divided password by dividing the user's password input by the user into two parts; Encrypting each PW portion with a terminal private key, storing the encrypted first PW portion of the split password in the user terminal, and transmitting the encrypted second PW portion of the split password to a blockchain node; (b) When the identification information is input from the user and the login management server obtains and outputs an identification code corresponding to the identification information, the random key, the access information of the user terminal, and the login request time, the user terminal. Acquires the information scanned by the identification code, and causes the login management server to refer to the information scanned by the identification code. Requesting that the authentication of the user terminal; (c) when the user terminal is authenticated and the login management server transmits an encrypted state of the first data set including the identification information, the random key, the access information, and the login request time to the user terminal. And (i) an encrypted state of the second data set including (i) the encrypted first data set and the encrypted first PW portion stored within the user terminal, the identification information and the terminal private key. To the login support server, (ii) allow the login support server to decrypt the encrypted second data set, and (iii) cause the login support server to: the encrypted first PW portion and the After decrypting the encrypted second PW portion stored in the blockchain with the terminal private key, respectively, the first PW portion and the second PW portion are decoded. In combination to generate the password, and (iv) causing the login support server to encrypt the password, the identification information to generate an encrypted password, encrypted identification information, and then the encrypted password, the encrypted identification. And encrypting a third data set including information, the random key, the access information, and the login request time, and transmitting the encrypted data to an authentication server to authenticate the user's login.

일 실시예에서, 상기 (c) 단계는, (c0) 상기 사용자 단말기가, 상기 로그인 지원 서버로 RSA public 키를 요청하고, 상기 로그인 지원 서버로 하여금 상기 사용자 단말기로 상기 RSA public 키를 전송하도록 지원하는 단계;를 더 포함하며, 상기 (c) 단계의 (i) 과정에서, 상기 사용자 단말기가, 상기 제2 데이터 세트를 RSA public 키로 암호화하고, 상기 (c) 단계의 (ii) 과정에서, 상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 암호화된 제2 데이터 세트를 RSA private 키로 복호화 한다.In an embodiment, the step (c) may include: (c0) the user terminal requesting an RSA public key to the login support server and allowing the login support server to transmit the RSA public key to the user terminal. And (c) in step (c), the user terminal encrypts the second data set with an RSA public key, and in step (c), The user terminal causes the login support server to decrypt the encrypted second data set with an RSA private key.

일 실시예에서, 상기 사용자 단말기는, 상기 (c) 단계의 (iii) 과정에서 상기 로그인 지원 서버로 하여금, 상기 식별 정보를 이용하여 상기 블록체인으로부터 상기 사용자에 대응하는 상기 암호화된 제2 PW 부분을 획득하도록 지원한다.In one embodiment, the user terminal causes the login support server to perform the encrypted second PW portion corresponding to the user from the blockchain using the identification information in step (iii) of step (c). Support to obtain.

일 실시예에서, 상기 로그인 관리 서버는, 상기 사용자 단말기로부터 획득한 상기 스캔 정보를 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용한다. In one embodiment, the login management server authenticates the user terminal with reference to the scan information obtained from the user terminal, and the user terminal is determined according to whether the scan information has been delivered from the user terminal within a predetermined time. Allow authentication.

일 실시예에서, 상기 (c) 단계의 (iv) 과정에서, 상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달함으로써, (iv-1) 상기 인증 서버로 하여금, 상기 암호화된 제3 데이터 세트를 복호화 하도록 지원하고, (iv-2) 상기 인증 서버로 하여금, 상기 암호화된 패스워드와 상기 암호화된 식별 정보를 복호화하여 상기 사용자의 로그인을 인증하는데에 사용되도록 지원한다.In one embodiment, in step (iv) of the step (c), the user terminal causes the login support server to encrypt the password and the identification information to generate an encrypted password and encrypted identification information. And encrypting and transmitting the third data set including the encrypted password, the encrypted identification information, the random key, the access information, and the login request time to an authentication server, thereby (iv-1) And decrypt the encrypted third data set, and (iv-2) allow the authentication server to be used to authenticate the user's login by decrypting the encrypted password and the encrypted identification information. .

일 실시예에서, 상기 (c) 단계의 (iv) 과정에서, 상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달함으로써, 상기 인증 서버로 하여금, 상기 랜덤 키를 참조로 하여, 상기 사용자 단말기로부터의 상기 사용자 로그인 인증에 대한 요청이 상기 로그인 관리 서버에서 발생한 요청인지를 확인하도록 하여 상기 사용자 로그인 인증을 지원한다.In one embodiment, in step (iv) of the step (c), the user terminal causes the login support server to encrypt the password and the identification information to generate an encrypted password and encrypted identification information. And encrypting the third data set including the encrypted password, the encrypted identification information, the random key, the access information, and the login request time to the authentication server, thereby causing the authentication server to send the random key. For reference, the user login authentication is supported by checking whether the request for the user login authentication from the user terminal is a request generated by the login management server.

일 실시예에서, 상기 (c) 단계에서, 상기 로그인 관리 서버는, 상기 제1 데이터 세트를 AES256 알고리즘으로 암호화하며, 상기 로그인 지원 서버는 상기 제3 데이터 세트를 상기 AES256 알고리즘으로 암호화한다. In one embodiment, in step (c), the login management server encrypts the first data set with an AES256 algorithm, and the login support server encrypts the third data set with the AES256 algorithm.

일 실시예에서, 상기 (c) 단계의 (iv) 과정에서, 상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 암호화된 제1 데이터 세트를 복호화 하도록 지원하고, 상기 제3 데이터 세트를 상기 복호화 된 제1 데이터 세트, 상기 암호화된 패스워드 및 상기 암호화된 식별 정보를 포함한 상태로 암호화하도록 지원한다.In one embodiment, in step (iv) of the step (c), the user terminal supports the login support server to decrypt the encrypted first data set, and decrypts the third data set. And encrypt the first data set, the encrypted password and the encrypted identification information.

일 실시예에서, 상기 식별 정보는 사용자의 개인 ID, 사원 번호, 주민 번호 등 적어도 하나를 포함하는 정보이며, 상기 접속 정보는 사용자 로그인 접속 단말기의 IP 정보이다.In one embodiment, the identification information is information including at least one of a user's personal ID, employee number, social security number, and the like, and the access information is IP information of a user login access terminal.

본 발명의 또 다른 특징에 따르면, 사용자의 로그인 인증을 지원 방법은, According to another feature of the invention, the method for supporting the user's login authentication,

(a) (i) 사용자 단말기에 의해, 사용자가 입력한 사용자의 패스워드가 2개 부분으로 분할되어 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분이 각각 단말 private 키로 암호화되고, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분이 상기 사용자 단말기에 저장되고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분이 블록 체인 노드로 전송된 후, 상기 사용자로부터 식별 정보가 입력되면, 로그인 관리 서버에 의해, 상기 식별 정보에 대응되는 식별 코드가 획득되어 출력되고, 상기 사용자 단말기로부터 상기 식별 코드를 스캔한 정보가 획득되며, (ii) 상기 식별 코드를 스캔한 정보가 참조되어 상기 사용자 단말기가 인증되면, 상기 로그인 관리 서버로부터 상기 식별 정보를 포함하는 제1 데이터 세트의 암호화된 정보가 상기 사용자 단말기로 전송되고, 상기 사용자 단말기에 의해, 상기 암호화된 제1 데이터 세트 및 상기 사용자 단말기 내부에 저장된 상기 암호화된 제1 PW 부분, 상기 식별 정보와 상기 단말 private 키를 포함하는 제2 데이터 세트의 암호화된 상태가 로그인 지원 서버로 전달되도록 한 상태에서, 상기 로그인 지원 서버가, 상기 암호화된 제2 데이터 세트를 복호화 하는 단계; (b) 상기 로그인 지원 서버가, 상기 암호화된 제1 PW 부분과 상기 블록 체인에 저장된 상기 암호화된 제2 PW 부분을 상기 단말 private 키로 각각 복호화 한 후, 상기 제1 PW 부분과 상기 제2 PW 부분을 결합하여 상기 패스워드를 생성하는 단계; 및 (c) 상기 로그인 지원 서버가, 상기 결합된 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보를 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달하여, 상기 사용자의 로그인을 인증하도록 지원하는 단계;를 포함 한다.(a) (i) By the user terminal, the password of the user input by the user is divided into two parts so that the first PW portion and the second PW portion of the divided password are respectively encrypted with the terminal private key, and the divided If the encrypted first PW portion of the password is stored in the user terminal, the encrypted second PW portion of the divided password is transmitted to the blockchain node, and then identification information is input from the user, the login management server The identification code corresponding to the identification information is obtained and outputted, information obtained by scanning the identification code is obtained from the user terminal, and (ii) the user terminal is authenticated by referring to the information scanned by the identification code. The encrypted information of the first data set including the identification information is transmitted from the login management server to the user terminal. The encrypted state of the encrypted first data set and the encrypted first PW portion stored inside the user terminal, the second data set including the identification information and the terminal private key, by the user terminal. Decrypting, by the login support server, the encrypted second data set while being delivered to a login support server; (b) after the login support server decrypts the encrypted first PW portion and the encrypted second PW portion stored in the blockchain with the terminal private key, respectively, the first PW portion and the second PW portion; Combining to generate the password; And (c) third data including the encrypted password and the encrypted identification information after the login support server generates the encrypted password and encrypted identification information by encrypting the combined password, the identification information. Encrypting the set and forwarding the encrypted set to an authentication server to support authenticating the user's login.

또한, 본 발명의 일 실시예에 따르면, 상기의 방법들을 수행하는 사용자 단말기, 로그인 지원 서버가 제공된다.In addition, according to an embodiment of the present invention, a user terminal and a login support server for performing the above methods are provided.

이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition to this, a computer readable recording medium for recording a computer program for executing the method of the present invention is further provided.

본 발명에 의하면, 다음과 같은 효과가 있다.According to the present invention, the following effects are obtained.

본 발명은 패스워드를 분할하여 일부는 사용자의 단말기의 보안영역에 다른 일부는 블록체인 노드에 저장하여, 어느 한 곳의 정보가 제3자의 손에 들어가더라도 안전하게 패스워드를 보호할 수 있다.According to the present invention, a password is divided so that a part thereof is stored in a security area of a user's terminal and another part is stored in a blockchain node, so that a password can be securely protected even when information of any one enters a third party's hand.

또한 본 발명은 패스워드 일부를 블록체인 노드에 저장함으로써, 제3자의 해킹으로부터 패스워드를 안전하게 보호할 수 있는 효과가 있다. In addition, the present invention has the effect that the password can be securely protected from hacking of third parties by storing a portion of the password in the blockchain node.

또한 본 발명은 사용자의 로그인 요청 시 개인 단말기에 저장된 패스워드 일부와 블록체인 노드에 저장된 패스워드 일부를 복호화 하여 편리하게 사용자의 인증을 처리할 수 있는 효과가 있다. In addition, the present invention has an effect that the user's authentication can be conveniently handled by decrypting a part of the password stored in the personal terminal and a part of the password stored in the blockchain node when the user requests a login.

또한 본 발명은 분할 저장되는 패스워드 인증 방식을 사용함으로써 매 로그인 시 패스워드를 재 입력 받지 않아도 되기 때문에 적은 비용으로 사용자의 편의성과 보안성을 함께 강화할 수 있고, 패스워드 입력에 따른 보안 노출의 문제점을 해결할 수 있다.In addition, since the present invention does not need to re-enter a password at every login by using a password authentication method that is divided and stored, the user's convenience and security can be enhanced at a low cost, and a problem of security exposure due to password input can be solved. have.

도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 패스워드 처리 및 로그인 인증을 위한 시스템의 구성을 개략적으로 도시한 도이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 패스워드 분할 저장 과정을 개략적으로 도시한 도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 패스워드 분할 저장 방식에서 사용자 로그인을 인증하는 과정을 개략적으로 도시한 도이다.
1 is a diagram schematically illustrating a configuration of a system for blockchain-based password processing and login authentication according to an embodiment of the present invention.
2 is a diagram schematically illustrating a blockchain-based password division storing process according to an embodiment of the present invention.
3 and 4 are diagrams schematically illustrating a process of authenticating a user login in a blockchain-based password division storage method according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE INVENTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement the present invention.

도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 패스워드 처리 및 로그인 인증을 위한 시스템의 구성을 개략적으로 도시한 도이다.1 is a diagram schematically illustrating a configuration of a system for blockchain-based password processing and login authentication according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반의 패스워드 처리 및 로그인 인증을 위한 시스템은 로그인 관리 서버(10), 사용자 모바일 단말기(20), 로그인 접속 단말기(30), QR 생성기(40), 인증 서버(50), 로그인 지원 서버(60), 블록체인 노드(70) 및 PC 로그인 인증 로그 DB(80)를 포함한다.Referring to FIG. 1, a system for blockchain-based password processing and login authentication according to an embodiment of the present invention includes a login management server 10, a user mobile terminal 20, a login access terminal 30, and a QR generator. 40, an authentication server 50, a login support server 60, a blockchain node 70, and a PC login authentication log DB 80.

로그인 관리 서버(10)는 사용자의 개인 로그인 접속 단말기(30)에 특정 어플리케이션이나 특정 웹 접속 프로그램을 설치하게 하고, 사용자의 로그인 요청을 관리하는 기능을 한다. 상기 로그인 관리 서버(10)는, 가상 데스크탑(VDI; virtual desktop Infrastructure)를 포함하고, 사내 업무망 내에서 사용자의 로그인을 지원 및 관리하기 개인 인증 사이트나 프로그램을 포함하여 운영할 수 있고, 사용자의 지문을 등록하고, 개인정보를 입력하는 기능을 수행할 수 있다. 로그인 관리 서버(10)는 일 예로, 회사 내 작업 환경에서 사용자의 로그인 접속 단말기(30)의 작업 공간을 가상공간을 통해 제공하는 기능도 수행한다. 상기 로그인 관리 서버(10)의 작업 공간은 가상화 되어, 각 개인 계정별로 업무공간, 인터넷공간, 시스템 관리 공간 등 유형별 작업공간을 할당할 수 있다. 로그인 관리 서버(10)는 그 내부에 설치되어 상기 가상공간에 진입할 수 있도록 인터페이스 해주는 소프트웨어들을 포함한다. 한편, 이러한 소프트웨어는 회사의 특성에 따라 외부망에 접속할 수 있도록 포트를 연결하는 소프트웨어와 외부망과 분리된 내부망에서만 작업할 수 있도록 포트를 연결하는 소프트웨어를 포함할 수도 있다.The login management server 10 functions to install a specific application or a specific web access program on the user's personal login access terminal 30 and manage a user's login request. The login management server 10 may include a virtual desktop (VDI), and may include a personal authentication site or a program for supporting and managing a user's login in an in-house business network. A fingerprint may be registered and personal information may be input. For example, the login management server 10 also provides a function of providing a workspace of a user's login access terminal 30 through a virtual space in a company working environment. The workspace of the login management server 10 may be virtualized to allocate a workspace for each type of work space, Internet space, system management space, etc. for each individual account. The login management server 10 includes software installed in the interface to interface with the virtual space. On the other hand, such software may include software for connecting ports to access an external network according to the characteristics of a company, and software for connecting ports to work only in an internal network separate from the external network.

예를 들어, 상기 소프트웨어는, Thin Client를 통해 작업공간에 진입하는 사용자를 인증하기 위한, 즉 ID/PW 나 OTP, QR 인증 등을 할 수 있는 User Interface 를 담당하는 제1 소프트웨어와, 제1 소프트웨어를 통해 인증된 사용자가 업무공간, 시스템관리공간 등 분할된 작업공간을 진입할 수 있도록 작업공간 선택 및 2차 인증을 위한 User Interface를 담당하는 제2 소프트웨어를 포함할 수도 있다.For example, the software may include a first software for a user interface for authenticating a user entering a workspace through a thin client, that is, a user interface capable of ID / PW, OTP, QR authentication, and the like. It may include a second software that is responsible for the user interface for the selection of the workspace and the second authentication so that the authenticated user can enter the divided workspace, such as work space, system management space.

사용자 모바일 단말기(20)는, 사용자의 개인용 모바일 단말기로, 본 발명에 따른 방법으로 패스워드를 분할하고 분할된 패스워드 중 일부를 저장하며, 단말기 인증을 통해 사용자 본인 여부를 확인하는 기능을 수행한다.The user mobile terminal 20 is a user's personal mobile terminal, which divides a password by the method according to the present invention, stores some of the divided passwords, and performs a function of checking whether the user is the user through terminal authentication.

로그인 접속 단말기(30)는 사용자의 개인 데스크탑이 될 수 있으며, 상기 로그인 관리 서버(10)의 가상 공간에 진입할 수 있도록 인터페이스 해주는 상술한 소프트웨어들이 설치될 수 있다.The login access terminal 30 may be a personal desktop of the user, and the above-described software for interfacing to enter the virtual space of the login management server 10 may be installed.

QR 생성기(40)는 로그인 관리 서버(10)의 요청에 의해 로그인 관리 서버(10)에서 전달된 사원 번호나 주민등록번호 등 개인 식별 정보나 로그인 접속 단말기(30)의 IP 정보 등을 바탕으로 식별 코드, 예를 들어 QR 코드를 생성하여 로그인 관리 서버(10)로 회신하는 기능을 한다. QR 생성기(40)는 로그인 관리 서버(10)와는 독립된 별도의 서버에 설치될 수 있다.QR generator 40 is based on the identification code, such as personal identification information such as employee number or social security number delivered from the login management server 10 or IP information of the login access terminal 30 by the request of the login management server 10, For example, a function to generate a QR code and return to the login management server 10. The QR generator 40 may be installed in a separate server independent of the login management server 10.

인증 서버(50)는 입력받은 개인 식별 정보와 패스워드를 바탕으로 사용자의 인증을 수행하고 그 결과를 로그인 관리 서버(10)로 전달하는 기능을 한다.The authentication server 50 performs authentication of the user based on the received personal identification information and password and transmits the result to the login management server 10.

로그인 지원 서버(60)는 일종의 어플리케이션 서버로, 블록체인(70) 노드의 구현체인 코인 스택을 통해 Smart Contract를 구현하는 아키텍처에서 타 시스템이나 비즈니스 처리를 담당하는 구성요소가 된다. 본 발명에 따른 로그인 지원 서버(60)는 블록체인(70)에 일부가 저장된 패스워드를 불러와 복호화하고 사용자 모바일 단말기(20)에서 전달된 나머지 패스워드를 복호화하며 이를 결합하는 기능을 수행한다. 또한 로그인 지원 서버(60)는 필요에 따라 사용자 모바일 단말기(20)에서 암호화된 패스워드 일부를 블록체인 노드에 저장할 때, 이를 2차 암호화하여 블록체인 노드에 기록하는 기능도 수행할 수 있다.The login support server 60 is a kind of application server, and becomes a component that is in charge of other systems or business processing in the architecture for implementing a smart contract through a coin stack, which is an implementation of the blockchain 70 node. The login support server 60 according to the present invention loads and decrypts a part of the password stored in the blockchain 70, and decrypts and combines the remaining passwords transmitted from the user mobile terminal 20. In addition, when the login support server 60 stores a portion of the encrypted password in the blockchain node in the user mobile terminal 20 as needed, the login support server 60 may also perform a function of secondly encrypting and writing the blockchain node.

PC 로그인 인증 로그 DB(80)는 인증 서버(50)의 인증 결과를 로그 형태로 저장하는 기능을 한다. 예를 들어, 특정 시간에 특정 사용자의 로그인 요청이 왔고 이것이 인증되었는지 인증되지 못했는지의 결과 등의 로그 데이터를 저장한다.The PC login authentication log DB 80 stores the authentication result of the authentication server 50 in a log form. For example, it stores log data such as the result of a specific user's login request coming in at a certain time and whether it is authenticated or not.

도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 패스워드 분할 저장 과정을 개략적으로 도시한 도이다.2 is a diagram schematically illustrating a blockchain-based password division storing process according to an embodiment of the present invention.

사용자가 회원 가입 시 로그인 접속 단말기(30)를 통해 로그인 관리 서버(10)에 접속하여, 사용자 정보 등을 입력하면, 로그인 관리 서버(10)는 QR 생성기(40)로 사용자의 식별 정보 및 로그인 접속 단말기(30)의 IP 주소 중 적어도 한 개의 정보를 바탕으로 QR 코드 생성을 요청한다. 이후, 로그인 관리 서버(10)가 QR 생성기(40)로부터 QR 코드를 받아 로그인 접속 단말기(30)로 보내면, 사용자는 사용자 모바일 단말기(20)를 통해 로그인 접속 단말기(30)의 화면에 디스플레이된 QR 코드를 스캔하여 사용자 모바일 단말기(20)를 인증한다. 구체적으로 사용자 모바일 단말기(20)가 스캔한 QR 코드 정보는 로그인 관리 서버(10)로 전달되어 생성된 QR 코드의 정보와 비교하여 모바일 단말기를 인증하게 된다.If a user accesses the login management server 10 through the login access terminal 30 when entering a member and inputs user information, the login management server 10 uses the QR generator 40 to log in with the user's identification information. The QR code is generated based on at least one piece of information of the IP address of the terminal 30. Thereafter, when the login management server 10 receives the QR code from the QR generator 40 and sends the QR code to the login access terminal 30, the user displays the QR displayed on the screen of the login access terminal 30 through the user mobile terminal 20. The code is scanned to authenticate the user mobile terminal 20. Specifically, the QR code information scanned by the user mobile terminal 20 is transmitted to the login management server 10 to be compared with the information of the generated QR code to authenticate the mobile terminal.

그런 다음, 도 2에 도시된 바와 같이, 사용자는 사용자 모바일 단말기(20)를 통해 사용자의 패스워드를 입력하게 된다(S01). 한편, 패스워드는 일반적인 문자와 숫자의 결합된 문자열일 수 있고, PIN 번호 일 수도 있으며, 지문이나 홍채 등의 생체 정보일 수도 있다. 또한, 이러한 정보는 사용자 모바일 단말기(20)의 입력 자판, 터치 스크린, 지문 인식 장치, 카메라 등을 통해 입력될 수 있을 것이다. Then, as shown in Figure 2, the user enters the user's password through the user mobile terminal 20 (S01). On the other hand, the password may be a combined string of general letters and numbers, may be a PIN number, or may be biometric information such as a fingerprint or an iris. In addition, such information may be input through an input keyboard, a touch screen, a fingerprint recognition device, a camera, or the like of the user mobile terminal 20.

그런 다음, 사용자 모바일 단말기(20)의 프로세서(미도시)는 사용자가 입력한 사용자의 패스워드를 2개 부분으로 분할하여(S02) 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분을 각각 단말 private 키로 암호화한다(S03).Then, the processor (not shown) of the user mobile terminal 20 divides the user's password input by the user into two parts (S02), and respectively divides the first PW portion and the second PW portion of the divided password into a terminal private. Encrypt with a key (S03).

그리고, 사용자 모바일 단말기(20)의 프로세서는 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분을 사용자 모바일 단말기(20)의 저장부(미도시)에 저장하고, 사용자 모바일 단말기(20)의 통신부(미도시)를 통해 분할된 패스워드 중 상기 암호화된 제2 PW 부분을 블록 체인 노드로 전송한다(S04).In addition, the processor of the user mobile terminal 20 stores the encrypted first PW portion of the divided password in a storage unit (not shown) of the user mobile terminal 20, and communicates with the communication unit of the user mobile terminal 20 ( The encrypted second PW portion of the divided password is transmitted to the blockchain node (S04).

한편, 사용자 모바일 단말기(20)의 프로세서는 상기 암호화된 제1 PW 부분을 저장할 때 사용자 모바일 단말기(20) 내의 보안 영역(SE 영역)에 저장하는 것이 바람직하다.The processor of the user mobile terminal 20 may store the encrypted first PW portion in a secure area (SE area) of the user mobile terminal 20.

한편, 블록체인 노드(70)에서는 암호화된 제2 PW 부분을 블록체인에 저장할 때, 사용자 모바일 단말기(20)에 의해 단말 private 키로 암호화된 상태로 저장할 수도 있으며, 암호화된 제2 PW 부분을 RSA Key로 2차 암호화하여(S05), 2차 암호화된 제2 PW 부분을 블록체인에 저장할 수 있다(S06).Meanwhile, when the blockchain node 70 stores the encrypted second PW portion in the blockchain, the blockchain node 70 may store the encrypted second PW portion in the encrypted state with the terminal private key by the user mobile terminal 20, and store the encrypted second PW portion in the RSA key. By second encryption (S05), the second PW portion encrypted second may be stored in the blockchain (S06).

이때, 1차 암호화된 제2 PW 부분을 RSA key로 (또는 다른 암호화 key로) 2차 암호화하는 과정은 도 1의 로그인 지원 서버(60)를 통해 수행할 수도 있을 것이다.In this case, the second encryption of the first encrypted second PW portion by the RSA key (or another encryption key) may be performed through the login support server 60 of FIG. 1.

도 3 및 도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 패스워드 분할 저장 방식에서 사용자 로그인을 인증하는 과정을 개략적으로 도시한 도이다. 3 and 4 are diagrams schematically illustrating a process of authenticating a user login in a blockchain-based password division storage method according to an embodiment of the present invention.

도 3을 참조하면, 우선 사용자가 로그인 접속 단말기(VDI 단말기)를 기동하여, 사용자 인증화면 디스플레이를 띄운다. 상기 VDI 단말기는 데스크탑 PC 일 수도 있고, 노트북일 수도 있으며, 태블릿 형태의 개인 단말기일 수도 있을 것이다. 사용자 인증화면은 상기 로그인 관리 서버(10)를 통해 VDI 단말기(로그인 접속 단말기; 30)에 설치되는 소프트웨어를 통해 표시될 수 있다. 이 때 사용자는 사용자 로그인 방법으로 본 발명에 따른 블록체인 인증 방법을 선택한다(S11). 이때 사용자는 로그인 접속 단말기(30)를 통해 사원 번호 등의 식별 정보를 추가로 입력할 수 있다. 또는 로그인 관리 서버(10)는 로그인 접속 단말기(30)에 미리 설정되어 설치된 식별 정보를 바탕으로 사용자 식별 정보를 획득할 수도 있다. Referring to Fig. 3, a user first starts a login access terminal (VDI terminal) to display a user authentication screen display. The VDI terminal may be a desktop PC, a notebook, or a personal terminal in the form of a tablet. The user authentication screen may be displayed through software installed in the VDI terminal (login access terminal) 30 through the login management server 10. At this time, the user selects a blockchain authentication method according to the present invention as a user login method (S11). In this case, the user may additionally input identification information such as an employee number through the login access terminal 30. Alternatively, the login management server 10 may obtain user identification information based on identification information previously set and installed in the login access terminal 30.

사용자로부터 식별 정보가 입력되면, 로그인 관리 서버(10)는 식별 정보, 랜덤 키(Rkey), 사용자 단말기의 접속 정보(IP 정보), 로그인 요청 시간 정보 중 적어도 일부를 포함하는 정보를 바탕으로 QR 코드를 생성해 줄 것을 QR 생성기(40)로 요청한다(S12). QR 생성기(40)가 상기 전달받은 정보를 바탕으로 QR 코드를 생성하여 이를 로그인 관리 서버(10)로 전달한다(S13). 그러면, 로그인 관리 서버(10)는 전달받은 QR 코드를 상기 소프트웨어를 통해 로그인 접속 단말기(30)의 화면에 표시한다(S14).When identification information is input from the user, the login management server 10 may generate a QR code based on information including at least some of identification information, a random key (Rkey), access information (IP information) of the user terminal, and login request time information. Request the QR generator 40 to generate (S12). QR generator 40 generates a QR code based on the received information and delivers it to the login management server 10 (S13). Then, the login management server 10 displays the received QR code on the screen of the login access terminal 30 through the software (S14).

그러면, 사용자는 사용자 모바일 단말기(20)에 설치된 애플리케이션을 통해 로그인 접속 단말기(30) 화면에 표시된 QR 코드를 스캔한다(S15). 이때 사용자는 상기 애플리케이션의 요청에 의해 PIN 번호나 지문입력 등의 생체 정보를 추가로 입력할 수도 있다. 또한 사용자는 상기 애플리케이션의 요청에 의해 사원 번호 등의 식별 정보도 추가로 입력할 수도 있다.Then, the user scans the QR code displayed on the login access terminal 30 screen through the application installed in the user mobile terminal 20 (S15). In this case, the user may additionally input biometric information such as a PIN number or a fingerprint input at the request of the application. In addition, the user may further input identification information such as an employee number at the request of the application.

QR 코드 스캔 정보를 전달받은 로그인 관리 서버(10)는 전달받은 스캔 정보와 QR 생성기(40)로부터 전달받은 QR 코드의 정보를 비교하거나 또는 정보와 로그인 접속 단말기(30)로부터 전달받은 식별 정보, 랜덤 키(Rkey), 사용자 단말기의 접속 정보(IP 정보), 로그인 요청 시간 정보를 비교하여 사용자 모바일 단말기(20)를 인증한다(미도시). 즉, 상기 사용자 모바일 단말기(20)가 로그인 하려는 사용자의 단말기인지를 인증하게 된다. 이때, 로그인 관리 서버(10)는 로그인 요청 시간 정보를 바탕으로 사용자 모바일 단말기(20)에서 전달된 스캔 정보가 소정 시간 내에 전달되었는지의 여부에 따라 사용자 단말기 인증을 허용하도록 할 수도 있다. 예를 들어, 로그인 관리 서버(10)는 로그인 요청 시간 또는 QR 코드를 로그인 접속 단말기(30)로 표시한 시간으로부터 30초 이내에 스캔 정보가 도달되었는지에 따라 단말기 인증을 허용할 수 있다. 이 경우 스캔 정보가 QR 코드를 표시한 시점으로부터 30초가 지난 다음에 전달되었다면, 타임 아웃 처리하여 단말기 인증을 허용하지 않게 된다.The login management server 10 receiving the QR code scan information compares the received scan information with the information of the QR code received from the QR generator 40 or randomly identifies the information and the identification information received from the login access terminal 30. A user key is authenticated by comparing a key, access information (IP information), and login request time information of the user terminal (not shown). That is, the user mobile terminal 20 is authenticated whether or not the terminal of the user to log in. In this case, the login management server 10 may allow the user terminal authentication according to whether the scan information transmitted from the user mobile terminal 20 is delivered within a predetermined time based on the login request time information. For example, the login management server 10 may allow terminal authentication depending on whether the scan information has been reached within 30 seconds from the login request time or the time when the QR code is displayed by the login access terminal 30. In this case, if the scan information is delivered 30 seconds after the QR code is displayed, the terminal time-out process is not allowed.

단말기 인증이 된 경우, 로그인 관리 서버(10)는 Rkey(랜덤 키), IP (접속 정보), 사원 번호 등의 식별 정보, 로그인 형태(외부 인터넷 망 연결을 위한 로그인 인지 또는 사내 업무망 연결을 위한 로그인 인지 여부), 로그인 요청 시간(이하 '제1 데이터 세트'라 한다)을 AES256 알고리즘으로 암호화하여 암호화된 제1 데이터 세트를 사용자 모바일 단말기(20)로 전달한다(S16).When the terminal is authenticated, the login management server 10 may identify identification information such as Rkey (random key), IP (access information), employee number, login type (login recognition for connecting to an external Internet network, or for in-house business network connection. Whether the user is logged in or not, the login request time (hereinafter, referred to as a 'first data set') is encrypted by the AES256 algorithm, and the encrypted first data set is transmitted to the user mobile terminal 20 (S16).

그러면 사용자 모바일 단말기(20)는 자신의 저장부 또는 내부 SE 영역으로부터 암호화된 제1 PW 부분을 불러온다(S17). 그리고 블록체인 노드(70)로 RSA public 키를 요청한다(S18). 이 RSA public 키는 추후 식별 정보와 암호화된 제1 PW 부분을 RSA 암호화하기 위한 것이다. 물론, 사용자 모바일 단말기(20)는 로그인 지원 서버(60)로 RSA public 키를 요청하고, 로그인 지원 서버(60)로 하여금 블록체인 노드(70)에서 RSA public 키를 요청하도록 하게 할 수도 있다. 그리고 사용자 모바일 단말기(20)가 블록체인 노드(70)로부터 RSA public 키를 전달받으면(S19), 사용자 모바일 단말기(20) 내에 저장되어 있거나 사용자로부터 입력받은 사원 번호 등의 식별 정보와 상기 암호화된 제1 PW 부분 그리고 단말 private 키(이하 '제2 데이터 세트'라 한다)에 대해 RSA 암호화를 진행한다(S20).Then, the user mobile terminal 20 retrieves the encrypted first PW part from its storage unit or internal SE area (S17). The RSA public key is requested to the blockchain node 70 (S18). This RSA public key is for RSA encryption of later identification information and the encrypted first PW portion. Of course, the user mobile terminal 20 may request the RSA public key from the login support server 60 and have the login support server 60 request the RSA public key from the blockchain node 70. When the user mobile terminal 20 receives the RSA public key from the blockchain node 70 (S19), identification information such as an employee number stored in the user mobile terminal 20 or received from the user and the encrypted information are encrypted. RSA encryption is performed on the 1 PW part and the terminal private key (hereinafter referred to as a 'second data set') (S20).

그리고 AES 알고리즘으로 암호화된 제1 데이터 세트(랜덤 키, 접속 정보, 식별 정보, 로그인 형태, 로그인 요청 시간)와 RSA key로 암호화된 제2 데이터 세트(암호화된 제1 PW 부분, 단말 private 키 및 식별 정보)를 로그인 지원 서버(60)로 전송한다(S21).And a first data set encrypted with AES algorithm (random key, access information, identification information, login type, login request time) and a second data set encrypted with RSA key (first encrypted PW part, terminal private key and identification). Information) to the login support server 60 (S21).

로그인 지원 서버(60)는 암호화된 제1 데이터 세트와 암호화된 제2 데이터 세트를 사용자 모바일 단말기(20)로부터 전달받은 후, 이중 암호화된 제2 데이터 세트를 RSA key를 이용하여 복호화 한다(S22). 그리고 복호화 된 제2 데이터 세트 중에서 사용자의 식별 정보를 참조로 대응하는 사용자의 암호화된 제2 PW 부분을 전송하도록 블록체인 노드(70)로 요청(S23)하고, 블록체인 노드(70)로부터 특정 사용자의 암호화된 제2 PW 부분을 전달받는다(S24).The login support server 60 receives the encrypted first data set and the encrypted second data set from the user mobile terminal 20, and then decrypts the double encrypted second data set using the RSA key (S22). . The request is then made to the blockchain node 70 to transmit the encrypted second PW portion of the corresponding user with reference to the identification information of the user among the decrypted second data sets (S23), and the specific user from the blockchain node 70 Receive the encrypted second PW portion of (S24).

도 3 의 프로세스 이후에 도 4의 프로세스가 이어진다.The process of FIG. 4 follows the process of FIG.

도 4를 참조하여, 다음 과정을 설명하면, 로그인 지원 서버(60)가 블록체인 노드(70)로부터 특정 사용자의 암호화된 제2 PW 부분을 전달받으면(S24), 상기 복호화 된 제2 데이터 세트 중에서 단말 private 키를 이용하여 암호화된 제1 PW 부분과 RSA 암호화된 제2 PW 부분을 복호화 한다(S25). 만일 제2 PW 부분이 RSA 키나 다른 키로 2차 암호화 된 상태라면, 2차 암호화된 제2 PW 부분은 RSA 키(또는 다른 키)로 1차 복호화하고, 단말 private 키로 2차 복호화를 수행한다. 그리고 로그인 지원 서버(60)는 복호화 된 각각의 제1 PW 부분과 제2 PW 부분을 결합하여 원래의 사용자 패스워드를 복원한다(S26).Referring to FIG. 4, the following process will be described. When the login support server 60 receives an encrypted second PW portion of a specific user from the blockchain node 70 (S24), among the decrypted second data sets. The first PW portion encrypted and the RSA encrypted second PW portion are decrypted using the terminal private key (S25). If the second PW portion is second-encrypted with an RSA key or another key, the second-encrypted second PW portion is firstly decrypted with an RSA key (or other key) and secondly decrypted with a terminal private key. Then, the login support server 60 restores the original user password by combining each of the decrypted first PW portions and the second PW portions (S26).

그런 다음 로그인 지원 서버(60)는 식별 정보(사원 번호)와 복원된 패스워드를 AES 알고리즘으로 암호화하여 암호화된 식별정보와 암호화된 패스워드를 생성하고(S27), 암호화되어 있었던 제1 데이터 세트에 대해서는 AES 복호화를 수행한다(S28). 그리고 나서, 로그인 지원 서버(60)는 암호화된 패스워드, 암호화된 식별정보, 랜덤 키, 접속 정보, 식별 정보, 로그인 형태, 로그인 요청 시간(이하 '제3 데이터 세트'라 한다)를 다시 AES 암호화한다(S29). 그리고 로그인 지원 서버(60)는, AES 암호화된 제3 데이터 세트를 인증 서버(50)로 전달(S30)하여, 사용자의 로그인을 인증하도록 지원한다.The login support server 60 then encrypts the identification information (employee number) and the restored password with the AES algorithm to generate encrypted identification information and encrypted password (S27), and AES for the encrypted first data set. Decryption is performed (S28). Then, the login support server 60 AES-encrypts the encrypted password, encrypted identification information, random key, access information, identification information, login type, and login request time (hereinafter referred to as 'third data set'). (S29). The login support server 60 then transfers the AES-encrypted third data set to the authentication server 50 (S30), thereby supporting the user's login.

인증 서버(50)는 암호화된 제3 데이터 세트를 AES 복호화 하여(S31), 암호화된 패스워드, 암호화된 식별정보, 랜덤 키, 접속 정보, 식별 정보, 로그인 형태, 로그인 요청 시간을 획득하고, 여기에 다시 암호화된 패스워드와 암호화된 식별정보는 추가적으로 AES 복호화 하여 복호화 된 패스워드와 식별정보를 얻는다. 이렇게 얻은 정보를 바탕으로 인증 서버(50)는 사용자의 식별정보와 대응하는 패스워드가 일치하는 지를 확인하여 사용자 로그인을 인증한다(S32). 또한 인증 서버(50)는, 접속 정보를 바탕으로 로그인이 허용된 IP로부터의 로그인 요청인지를 확인하여 사용자의 로그인을 추가 인증할 수 있고, 로그인 요청 시간을 바탕으로 인증 완료 시간이 정해 진 소정 시간 내(예를 들어 2분 내)에 완료되었는지를 바탕으로 사용자의 로그인을 허용할지 여부를 결정할 수도 있을 것이다. The authentication server 50 AES decrypts the encrypted third data set (S31) to obtain an encrypted password, encrypted identification information, random key, access information, identification information, login form, login request time, and the like. The encrypted password and the encrypted identification information are further AES decrypted to obtain the decrypted password and identification information. Based on the information thus obtained, the authentication server 50 verifies whether the password corresponding to the identification information of the user matches and authenticates the user login (S32). In addition, the authentication server 50 may further authenticate the user's login by checking whether the login request is from an IP allowed to log in on the basis of the access information, and a predetermined time when the authentication completion time is determined based on the login request time. You might decide whether to allow users to log in based on their completion (for example, within 2 minutes).

그리고 인증 서버(50)는, 랜덤 키를 참조로 하여, 사용자 단말기로부터의 사용자 로그인 인증에 대한 요청이 로그인 관리 서버(10)에서 발생한 요청인지를 확인하도록 하여 상기 사용자의 로그인 인증을 할 수도 있을 것이다.The authentication server 50 may perform the login authentication of the user by checking whether the request for the user login authentication from the user terminal originates from the login management server 10 with reference to the random key. .

인증 서버(50)는 이러한 인증 결과를 로그인 관리 서버(10)로 전달하고(S33) 아울러 사용자의 로그인 요청 및 인증 내역을 PC 로그인 인증 로그 DB(80)에 저장하게 한다. The authentication server 50 transmits the authentication result to the login management server 10 (S33) and stores the user's login request and authentication details in the PC login authentication log DB 80.

로그인 관리 서버(10)는 인증 서버(50)로부터의 인증 결과에 따라 사용자 로그인을 허용할 수 있으며, 이 경우, 로그인 형태에 따라 다양한 인터넷 연결 포트를 허용할 수 있을 것이다(S34). 예를 들어, 로그인 접속 단말기(30)에서 요청한 로그인 형태가 외부 인터넷 망 연결을 위한 로그인 이라면, 이에 대응하는 포트를 상기 로그인 접속 단말기(30)로 연결시키고, 로그인 접속 단말기(30)에서 요청한 로그인 형태가 외부와 차단된 사내 업무망 연결을 위한 로그인 이라면, 이에 대응하는 포트를 상기 로그인 접속 단말기(30)로 연결할 것이다. The login management server 10 may allow the user login according to the authentication result from the authentication server 50, and in this case, various internet connection ports may be allowed according to the login type (S34). For example, if the login form requested by the login access terminal 30 is a login for connecting to an external Internet network, the corresponding port is connected to the login access terminal 30, and the login form requested by the login access terminal 30 is used. If the login for the internal office network connection is blocked, the corresponding port will be connected to the login access terminal (30).

일반적으로 사용자 인증을 위해 사용자가 개인 단말기(PC 또는 모바일 단말기)에서 패스워드를 입력하고 이를 서버로 전송하여 처리한다면, 인터넷 망을 통하여 전달되는 상기 패스워드는 내부망과 달리 악의의 목적을 가진 제3자에게 스니핑 될 수도 있다. 그러나 본 발명에서는 사용자 모바일 단말기에서 입력된 패스워드가 사용자 모바일 단말기의 메모리 상에서 즉시 분할되어 암호화 처리되기 때문에 패스워드 전송 시 스니핑 당하는 일이 발생하지 않아 패스워드의 기밀성을 강화할 후 있다. In general, if a user enters a password in a personal terminal (PC or mobile terminal) for user authentication and transmits it to a server for processing, the password transmitted through the Internet network is a third party having a malicious purpose unlike the internal network. May be sniffed. However, in the present invention, since the password inputted from the user mobile terminal is immediately divided and encrypted in the memory of the user mobile terminal, sniffing does not occur when the password is transmitted, thereby enhancing the confidentiality of the password.

또한 본 발명에서는 모바일 단말기의 애플리케이션 등록 시, 또는 사용자의 회원 가입 시 입력된 패스워드는 분할되어 단말기와 블록체인에 나눠 저장된 후에는, 추후 사용자가 로그인할 경우 QR 스캔만 이루어지면 충분하고 패스워드를 재차 입력할 필요가 없는 편리함이 존재한다. 즉, 분할 저장되는 패스워드 인증 방식을 사용함으로써 매 로그인 시 패스워드를 재 입력 받지 않아도 되기 때문에 적은 비용으로 사용자의 편의성과 보안성을 함께 강화할 수 있고, 패스워드 입력에 따른 보안 노출의 문제점을 해결할 수 있다. In addition, in the present invention, after the application is registered on the mobile terminal, or when the user's membership is registered, the password is divided and stored in the terminal and the blockchain, and when the user logs in later, only a QR scan is sufficient and the password is input again. There is a convenience that does not need to be. In other words, by using a password authentication method that is divided and stored, it is not necessary to re-enter the password at every login, thereby enhancing the convenience and security of the user at a low cost and solving the problem of security exposure due to the password input.

아울러, 본 발명은 패스워드를 분할하여 일부는 사용자의 단말기의 보안영역에 다른 일부는 블록체인 노드에 저장하여, 어느 한 곳의 정보가 제3자의 손에 들어가더라도 안전하게 패스워드를 보호할 수 있다.In addition, the present invention can divide the password, and partly stored in the security area of the user's terminal and the other part in the blockchain node, so that even if the information of any one enters the hand of a third party, the password can be safely protected.

또한 본 발명은 사용자의 로그인 요청 시 개인 단말기에 저장된 패스워드 일부와 블록체인 노드에 저장된 패스워드 일부를 복호화 하여 편리하게 사용자의 인증을 처리할 수 있는 효과가 있다.In addition, the present invention has an effect that the user's authentication can be conveniently handled by decrypting a part of the password stored in the personal terminal and a part of the password stored in the blockchain node when the user requests a login.

또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the embodiments according to the present invention described above may be implemented in the form of program instructions that may be executed by various computer components, and may be recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.Although the present invention has been described by specific embodiments such as specific components and the like, but the embodiments and the drawings are provided to assist in a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations can be made from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the appended claims, fall within the scope of the spirit of the present invention. I will say.

10: 로그인 관리 서버
20: 사용자 모바일 단말기
30: 로그인 접속 단말기
40: QR 생성기
50: 인증 서버
60: 로그인 지원 서버
70: 블록체인 노드
80: PC 로그인 인증 로그 DB
10: Login Management Server
20: user mobile terminal
30: login terminal
40: QR Generator
50: authentication server
60: login support server
70: blockchain node
80: PC login authentication log DB

Claims (40)

삭제delete 삭제delete 삭제delete 사용자 로그인 인증을 지원하는 방법에 있어서,
(a) 사용자 단말기가, 사용자가 입력한 사용자의 패스워드를 2개 부분으로 분할하여 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분을 각각 단말 private 키로 암호화하고, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분을 상기 사용자 단말기에 저장하고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분을 블록 체인 노드로 전송하는 단계;
(b) 상기 사용자로부터 식별 정보가 입력되어, 로그인 관리 서버가, 상기 식별 정보, 랜덤 키, 상기 사용자 단말기의 접속 정보, 로그인 요청 시간에 대응되는 식별 코드를 획득하여 출력하면, 상기 사용자 단말기가, 상기 식별 코드를 스캔한 정보를 획득하여, 상기 로그인 관리 서버로 하여금, 상기 식별 코드를 스캔한 정보를 참조로 하여 상기 사용자 단말기의 인증을 하도록 요청하는 단계;
(c) 상기 사용자 단말기가 인증되어, 상기 로그인 관리 서버가, 상기 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제1 데이터 세트의 암호화된 상태를 상기 사용자 단말에 전송하면, 상기 사용자 단말기가, (i) 상기 암호화된 제1 데이터 세트 및 상기 사용자 단말기 내부에 저장된 상기 암호화된 제1 PW 부분, 상기 식별 정보와 상기 단말 private 키를 포함하는 제2 데이터 세트의 암호화된 상태를 로그인 지원 서버로 전달하고, (ii) 상기 로그인 지원 서버로 하여금, 상기 암호화된 제2 데이터 세트를 복호화 하도록 지원하고, (iii) 상기 로그인 지원 서버로 하여금, 상기 암호화된 제1 PW 부분과 상기 블록 체인에 저장된 상기 암호화된 제2 PW 부분을 상기 단말 private 키로 각각 복호화 한 후, 상기 제1 PW 부분과 상기 제2 PW 부분을 결합하여 상기 패스워드를 생성하도록 지원하며, (iv) 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달하여 상기 사용자의 로그인을 인증하도록 지원하는 단계;를 포함하는 방법.
In a method for supporting user login authentication,
(a) the user terminal divides the user's password input by the user into two parts and encrypts the first PW portion and the second PW portion of the divided password with a terminal private key, respectively; Storing the first PW portion in the user terminal and transmitting the encrypted second PW portion of the split password to a block chain node;
(b) when identification information is input from the user, and the login management server obtains and outputs an identification code corresponding to the identification information, a random key, access information of the user terminal, and a login request time, the user terminal, Obtaining information scanning the identification code and requesting the login management server to authenticate the user terminal with reference to the information scanning the identification code;
(c) when the user terminal is authenticated and the login management server transmits an encrypted state of the first data set including the identification information, the random key, the access information, and the login request time to the user terminal. And (i) an encrypted state of the second data set including (i) the encrypted first data set and the encrypted first PW portion stored within the user terminal, the identification information and the terminal private key. To the login support server, (ii) allow the login support server to decrypt the encrypted second data set, and (iii) cause the login support server to: the encrypted first PW portion and the After decrypting the encrypted second PW portion stored in the blockchain with the terminal private key, respectively, the first PW portion and the second PW portion are decoded. In combination to generate the password, and (iv) causing the login support server to encrypt the password, the identification information to generate an encrypted password, encrypted identification information, and then the encrypted password, the encrypted identification. And encrypting a third data set including information, the random key, the access information, and the login request time, to the authentication server to authenticate the user's login.
제 4 항에 있어서,
상기 (c) 단계는,
(c0) 상기 사용자 단말기가 상기 로그인 지원 서버로 RSA public 키를 요청하고, 상기 로그인 지원 서버로 하여금 상기 사용자 단말기로 상기 RSA public 키를 전송하도록 지원하는 단계;를 더 포함하며,
상기 (c) 단계의 (i) 과정에서, 상기 사용자 단말기가, 상기 제2 데이터 세트를 RSA public 키로 암호화하고, 상기 (c) 단계의 (ii) 과정에서, 상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 암호화된 제2 데이터 세트를 RSA private 키로 복호화 하는 것을 특징으로 하는 방법.
The method of claim 4, wherein
In step (c),
(c0) the user terminal requesting an RSA public key to the login support server, and supporting the login support server to transmit the RSA public key to the user terminal;
In step (c), in step (i), the user terminal encrypts the second data set with an RSA public key, and in step (c) in step (c), the user terminal includes the login support server. Decipher the encrypted second data set with an RSA private key.
제 4 항에 있어서,
상기 사용자 단말기는, 상기 (c) 단계의 (iii) 과정에서 상기 로그인 지원 서버로 하여금, 상기 식별 정보를 이용하여 상기 블록체인으로부터 상기 사용자에 대응하는 상기 암호화된 제2 PW 부분을 획득하도록 지원하는 것을 특징으로 하는 방법.
The method of claim 4, wherein
The user terminal supports the login support server to acquire the encrypted second PW portion corresponding to the user from the blockchain using the identification information in step (iii) of step (c). Characterized in that the method.
제 4 항에 있어서,
상기 로그인 관리 서버는, 상기 사용자 단말기로부터 획득한 상기 스캔 정보를 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하는 것을 특징으로 하는 방법.
The method of claim 4, wherein
The login management server authenticates the user terminal with reference to the scan information obtained from the user terminal, and permits the user terminal authentication according to whether the scan information has been delivered from the user terminal within a predetermined time. How to feature.
제 4 항에 있어서,
상기 (c) 단계의 (iv) 과정에서,
상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달함으로써, (iv-1) 상기 인증 서버로 하여금, 상기 암호화된 제3 데이터 세트를 복호화 하도록 지원하고, (iv-2) 상기 인증 서버로 하여금, 상기 암호화된 패스워드와 상기 암호화된 식별 정보를 복호화하여 상기 사용자의 로그인을 인증하는데에 사용되도록 지원하는 것을 특징으로 하는 방법.
The method of claim 4, wherein
In the step (iv) of step (c),
The user terminal causes the login support server to encrypt the password, the identification information to generate an encrypted password, encrypted identification information, and then the encrypted password, the encrypted identification information, the random key, the Encrypting and transmitting a third data set including access information and the login request time to an authentication server, thereby (iv-1) allowing the authentication server to decrypt the encrypted third data set, and (iv- And 2) allowing the authentication server to be used to authenticate the user's login by decrypting the encrypted password and the encrypted identification information.
제 8 항에 있어서,
상기 (c) 단계의 (iv) 과정에서,
상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달함으로써, 상기 인증 서버로 하여금, 상기 랜덤 키를 참조로 하여, 상기 사용자 단말기로부터의 상기 사용자 로그인 인증에 대한 요청이 상기 로그인 관리 서버에서 발생한 요청인지를 확인하도록 하여 상기 사용자 로그인 인증을 지원하는 것을 특징으로 하는 방법.
The method of claim 8,
In the step (iv) of step (c),
The user terminal causes the login support server to encrypt the password, the identification information to generate an encrypted password, encrypted identification information, and then the encrypted password, the encrypted identification information, the random key, the By encrypting and transmitting a third data set including access information and the login request time to an authentication server, causing the authentication server to request the user login authentication from the user terminal with reference to the random key. And checking the request generated by the login management server to support the user login authentication.
제 4 항에 있어서,
상기 (c) 단계에서,
상기 로그인 관리 서버는, 상기 제1 데이터 세트를 AES256 알고리즘으로 암호화하며, 상기 로그인 지원 서버는 하여금 상기 제3 데이터 세트를 상기 AES256 알고리즘으로 암호화하는 것을 특징으로 하는 방법.
The method of claim 4, wherein
In the step (c),
The login management server encrypts the first data set with an AES256 algorithm, and wherein the login support server encrypts the third data set with the AES256 algorithm.
제 4 항에 있어서,
상기 (c) 단계의 (iv) 과정에서, 상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 암호화된 제1 데이터 세트를 복호화 하도록 지원하고, 상기 제3 데이터 세트를 상기 복호화 된 제1 데이터 세트, 상기 암호화된 패스워드 및 상기 암호화된 식별 정보를 포함한 상태로 암호화하도록 지원하는 것을 특징으로 하는 방법.
The method of claim 4, wherein
In the step (iv) of the step (c), the user terminal supports the login support server to decrypt the encrypted first data set, and sets the third data set to the decrypted first data set. And encrypting with the encrypted password and the encrypted identification information included.
제 4 항에 있어서,
상기 식별 정보는 사용자의 개인 ID, 사원 번호, 주민 번호 등 적어도 하나를 포함하는 정보이며, 상기 접속 정보는 사용자 로그인 접속 단말기의 IP 정보 인 것을 특징으로 하는 방법.
The method of claim 4, wherein
The identification information is information including at least one of a user's personal ID, an employee number, a social security number, and the like, and the access information is IP information of a user login access terminal.
사용자의 로그인 인증을 지원 방법에 있어서,
(a) (i) 사용자 단말기에 의해, 사용자가 입력한 사용자의 패스워드가 2개 부분으로 분할되어 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분이 각각 단말 private 키로 암호화되고, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분이 상기 사용자 단말기에 저장되고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분이 블록 체인 노드로 전송된 후, 상기 사용자로부터 식별 정보가 입력되면, 로그인 관리 서버에 의해, 상기 식별 정보에 대응되는 식별 코드가 획득되어 출력되고, 상기 사용자 단말기로부터 상기 식별 코드를 스캔한 정보가 획득되며, (ii) 상기 식별 코드를 스캔한 정보가 참조되어 상기 사용자 단말기가 인증되면, 상기 로그인 관리 서버로부터 상기 식별 정보를 포함하는 제1 데이터 세트의 암호화된 정보가 상기 사용자 단말기로 전송되고, 상기 사용자 단말기에 의해, 상기 암호화된 제1 데이터 세트 및 상기 사용자 단말기 내부에 저장된 상기 암호화된 제1 PW 부분, 상기 식별 정보와 상기 단말 private 키를 포함하는 제2 데이터 세트의 암호화된 상태가 로그인 지원 서버로 전달되도록 한 상태에서, 상기 로그인 지원 서버가, 상기 암호화된 제2 데이터 세트를 복호화 하는 단계;
(b) 상기 로그인 지원 서버가, 상기 암호화된 제1 PW 부분과 상기 블록 체인에 저장된 상기 암호화된 제2 PW 부분을 상기 단말 private 키로 각각 복호화 한 후, 상기 제1 PW 부분과 상기 제2 PW 부분을 결합하여 상기 패스워드를 생성하는 단계; 및
(c) 상기 로그인 지원 서버가, 상기 결합된 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보를 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달하여, 상기 사용자의 로그인을 인증하도록 지원하는 단계;를 포함하는 방법.
In the method of supporting the user's login authentication,
(a) (i) By the user terminal, the password of the user input by the user is divided into two parts so that the first PW portion and the second PW portion of the divided password are respectively encrypted with the terminal private key, and the divided If the encrypted first PW portion of the password is stored in the user terminal, the encrypted second PW portion of the divided password is transmitted to the blockchain node, and then identification information is input from the user, the login management server The identification code corresponding to the identification information is obtained and outputted, information obtained by scanning the identification code is obtained from the user terminal, and (ii) the user terminal is authenticated by referring to the information scanned by the identification code. The encrypted information of the first data set including the identification information is transmitted from the login management server to the user terminal. The encrypted state of the encrypted first data set and the encrypted first PW portion stored inside the user terminal, the second data set including the identification information and the terminal private key, by the user terminal. Decrypting, by the login support server, the encrypted second data set while being delivered to a login support server;
(b) after the login support server decrypts the encrypted first PW portion and the encrypted second PW portion stored in the blockchain with the terminal private key, respectively, the first PW portion and the second PW portion; Combining to generate the password; And
(c) a third set of data including the encrypted password and the encrypted identification information, after the login assistance server encrypts the combined password, the identification information to generate an encrypted password, encrypted identification information; And encrypting and transferring the encrypted data to an authentication server to support authentication of the user's login.
제 13 항에 있어서,
상기 (a) 단계는,
(a0) 상기 로그인 지원 서버가, 상기 사용자 단말기로부터의 RSA public 키 요청에 응답하여, 상기 사용자 단말기로 상기 RSA public 키를 전송하는 단계;를 더 포함하며,
상기 (a) 단계에서,
상기 로그인 지원 서버는, 상기 사용자 단말기로 하여금, 상기 제2 데이터 세트를 RSA public 키로 암호화하도록 지원하고, 상기 암호화된 제2 데이터 세트를 RSA private 키로 복호화 하는 것을 특징으로 하는 방법.
The method of claim 13,
In step (a),
(a0) transmitting, by the login support server, the RSA public key to the user terminal in response to the RSA public key request from the user terminal,
In the step (a),
And the login support server supports the user terminal to encrypt the second data set with an RSA public key, and decrypts the encrypted second data set with an RSA private key.
제 13 항에 있어서,
상기 (b) 단계에서,
상기 로그인 지원 서버는 상기 식별 정보를 이용하여 상기 블록체인으로부터 상기 사용자에 대응하는 상기 암호화된 제2 PW 부분을 획득하는 것을 특징으로 하는 방법.
The method of claim 13,
In step (b),
And the login support server obtains the encrypted second PW portion corresponding to the user from the blockchain using the identification information.
제 13 항에 있어서,
상기 로그인 지원 서버는, 상기 로그인 관리 서버로 하여금, 상기 사용자 단말기로부터 획득한 상기 스캔 정보 및 로그인 요청 시간을 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하도록 지원하는 것을 특징으로 하는 방법.
The method of claim 13,
The login support server may cause the login management server to authenticate the user terminal with reference to the scan information and the login request time obtained from the user terminal, and whether the scan information is transmitted from the user terminal within a predetermined time. Supporting to allow the user terminal authentication depending on whether or not.
제 13 항에 있어서,
(d) 상기 로그인 지원 서버는, (i) 상기 인증 서버로 하여금, 상기 암호화된 제3 데이터 세트를 복호화 하도록 지원하고, (ii) 상기 인증 서버로 하여금, 상기 암호화된 패스워드와 상기 암호화된 식별 정보를 복호화하여 상기 사용자의 로그인을 인증하는데에 사용되도록 지원하는 단계;
를 더 포함하는 것을 특징으로 하는 방법.
The method of claim 13,
(d) the login support server supports (i) allowing the authentication server to decrypt the encrypted third data set, and (ii) causing the authentication server to perform the encrypted password and the encrypted identification information. Decrypting and supporting the user to be used to authenticate the user's login;
Method further comprising a.
제 17 항에 있어서,
상기 제1 데이터 세트는 상기 로그인 관리 서버에서 생성되어 전달된 랜덤 키를 포함하고,
상기 (d) 단계에서 상기 로그인 지원 서버는, 상기 인증 서버로 하여금, 상기 랜덤 키를 참조로 하여, 상기 사용자 단말기로부터의 사용자 로그인 인증에 대한 요청이 상기 로그인 관리 서버에서 발생한 요청인지를 확인하도록 하여 상기 사용자 로그인 인증을 지원하는 것을 특징으로 하는 방법.
The method of claim 17,
The first data set includes a random key generated and delivered by the login management server,
In the step (d), the login support server causes the authentication server to check whether the request for user login authentication from the user terminal originates from the login management server with reference to the random key. And supporting the user login authentication.
제 13 항에 있어서,
상기 (a) 단계에서, 상기 로그인 관리 서버는, 상기 제1 데이터 세트를 AES256 알고리즘으로 암호화하며, 상기 로그인 지원 서버는, 상기 제3 데이터 세트를 상기 AES256 알고리즘으로 데이터를 암호화하는 것을 특징으로 하는 방법.
The method of claim 13,
In step (a), the login management server encrypts the first data set with an AES256 algorithm, and the login support server encrypts the third data set with the AES256 algorithm. .
제 13 항에 있어서,
상기 (c) 단계에서, 상기 로그인 지원 서버는, 상기 암호화된 제1 데이터 세트를 복호화 하며, 상기 제3 데이터 세트를 상기 복호화 된 제1 데이터 세트, 상기 암호화된 패스워드 및 상기 암호화된 식별 정보를 포함한 상태로 암호화하도록 지원하는 것을 특징으로 하는 방법.
The method of claim 13,
In step (c), the login support server decrypts the encrypted first data set and includes the decrypted first data set, the encrypted password, and the encrypted identification information. And encrypting by state.
삭제delete 삭제delete 삭제delete 사용자 로그인 인증을 지원하는 사용자 단말기에 있어서,
데이터를 송수신하기 위한 통신부; 및
(I) 사용자가 입력한 사용자의 패스워드를 2개 부분으로 분할하여 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분을 각각 단말 private 키로 암호화하고, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분을 상기 사용자 단말기에 저장하고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분을 블록 체인 노드로 전송하는 프로세스; (II) 상기 사용자로부터 식별 정보가 입력되어, 로그인 관리 서버가, 상기 식별 정보, 랜덤 키, 상기 사용자 단말기의 접속 정보, 로그인 요청 시간에 대응되는 식별 코드를 획득하여 출력하면, 상기 식별 코드를 스캔한 정보를 획득하여, 상기 로그인 관리 서버로 하여금, 상기 식별 코드를 스캔한 정보를 참조로 하여 상기 사용자 단말기의 인증을 하도록 요청하는 프로세스; 및 (III) 상기 사용자 단말기가 인증되어 상기 로그인 관리 서버가, 상기 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제1 데이터 세트의 암호화된 상태를 상기 사용자 단말에 전송하면, (i) 상기 암호화된 제1 데이터 세트 및 상기 사용자 단말기 내부에 저장된 상기 암호화된 제1 PW 부분, 상기 식별 정보와 상기 단말 private 키를 포함하는 제2 데이터 세트의 암호화된 상태를 로그인 지원 서버로 전달하고, (ii) 상기 로그인 지원 서버로 하여금, 상기 암호화된 제2 데이터 세트를 복호화 하도록 지원하고, (iii) 상기 로그인 지원 서버로 하여금, 상기 암호화된 제1 PW 부분과 상기 블록 체인에 저장된 상기 암호화된 제2 PW 부분을 상기 단말 private 키로 각각 복호화 한 후, 상기 제1 PW 부분과 상기 제2 PW 부분을 결합하여 상기 패스워드를 생성하도록 지원하며, (iv) 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달하여 상기 사용자의 로그인을 인증하도록 지원하는 프로세스;를 수행하는 프로세서;를 포함하는 사용자 단말기.
In a user terminal that supports user login authentication,
Communication unit for transmitting and receiving data; And
(I) dividing the user's password input by the user into two parts, encrypting the first PW portion and the second PW portion of the divided password with a terminal private key, respectively; and among the divided passwords, the encrypted first PW Storing a portion in the user terminal and transmitting the encrypted second PW portion of the split password to a block chain node; (II) When identification information is input from the user, and the login management server obtains and outputs an identification code corresponding to the identification information, the random key, the access information of the user terminal, and the login request time, the identification code is scanned. Obtaining a piece of information and requesting the login management server to authenticate the user terminal with reference to the information scanned for the identification code; And (III) when the user terminal is authenticated so that the login management server transmits an encrypted state of the first data set including the identification information, the random key, the access information, and the login request time to the user terminal. (i) encrypting an encrypted state of the encrypted first data set and the second data set including the encrypted first PW portion stored inside the user terminal, the identification information and the terminal private key, to a login support server; And (ii) allow the login support server to decrypt the encrypted second data set, and (iii) cause the login support server to store the encrypted first PW portion and the block chain. After decrypting the encrypted second PW part with the terminal private key, respectively, the first PW part and the second PW part are combined to pass the path. Generate an encrypted password, encrypted identification information by encrypting the password, the identification information, and then generating the encrypted password, the encrypted identification information; And a process of encrypting and transmitting a third data set including the random key, the access information, and the login request time to an authentication server to authenticate the login of the user.
제 24 항에 있어서,
상기 (III) 프로세스는,
(III_0) 상기 프로세서가 상기 로그인 지원 서버로 RSA public 키를 요청하고, 상기 로그인 지원 서버로 하여금 상기 사용자 단말기로 상기 RSA public 키를 전송하도록 지원하는 프로세스;를 더 포함하며,
상기 (III) 프로세스의 (i) 과정에서, 상기 프로세서는, 상기 제2 데이터 세트를 RSA public 키로 암호화하고, 상기 (III) 프로세스의 (ii) 과정에서, 상기 프로세서는, 상기 로그인 지원 서버로 하여금, 상기 암호화된 제2 데이터 세트를 RSA private 키로 복호화 하는 것을 특징으로 하는 사용자 단말기.
The method of claim 24,
The above (III) process,
(III_0) the processor requesting the RSA public key to the login support server, and supporting the login support server to transmit the RSA public key to the user terminal;
In process (i) of the process (III), the processor encrypts the second data set with an RSA public key, and in process (ii) of the process (III), the processor causes the login support server to execute. And decrypting the encrypted second data set with an RSA private key.
제 24 항에 있어서,
상기 프로세서는, 상기 (III) 프로세스의 (iii) 과정에서 상기 로그인 지원 서버로 하여금, 상기 식별 정보를 이용하여 상기 블록체인으로부터 상기 사용자에 대응하는 상기 암호화된 제2 PW 부분을 획득하도록 지원하는 것을 특징으로 하는 사용자 단말기.
The method of claim 24,
The processor may enable the login assistance server to obtain the encrypted second PW portion corresponding to the user from the blockchain using the identification information in step (iii) of the process (III). Characterized in that the user terminal.
제 24 항에 있어서,
상기 로그인 관리 서버는, 상기 사용자 단말기로부터 획득한 상기 스캔 정보를 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하는 것을 특징으로 하는 사용자 단말기.
The method of claim 24,
The login management server authenticates the user terminal with reference to the scan information obtained from the user terminal, and permits the user terminal authentication according to whether the scan information has been delivered from the user terminal within a predetermined time. Characterized in that the user terminal.
제 24 항에 있어서,
상기 프로세서는, 상기 (III) 프로세스의 (iv) 과정에서,
상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달함으로써, (iv-1) 상기 인증 서버로 하여금, 상기 암호화된 제3 데이터 세트를 복호화 하도록 지원하고, (iv-2) 상기 인증 서버로 하여금, 상기 암호화된 패스워드와 상기 암호화된 식별 정보를 복호화하여 상기 사용자의 로그인을 인증하는데 사용되도록 지원하는 것을 특징으로 하는 사용자 단말기.
The method of claim 24,
The processor, in the process (iv) of the (III) process,
Causing the login support server to encrypt the password, the identification information to generate an encrypted password, encrypted identification information, the encrypted password, the encrypted identification information, the random key, the access information, and the login; Encrypting and passing the third data set including the request time to the authentication server, thereby (iv-1) allowing the authentication server to decrypt the encrypted third data set, and (iv-2) the authentication server And decrypt the encrypted password and the encrypted identification information to be used for authenticating the login of the user.
제 28 항에 있어서,
상기 프로세서는, 상기 (III) 프로세스의 (iv) 과정에서,
상기 사용자 단말기는, 상기 로그인 지원 서버로 하여금, 상기 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보, 상기 랜덤 키, 상기 접속 정보 및 상기 로그인 요청 시간을 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달함으로써, 상기 인증 서버로 하여금, 상기 랜덤 키를 참조로 하여, 상기 사용자 단말기로부터의 상기 사용자 로그인 인증에 대한 요청이 상기 로그인 관리 서버에서 발생한 요청인지를 확인하도록 하여 상기 사용자 로그인 인증을 지원하는 것을 특징으로 하는 사용자 단말기.
The method of claim 28,
The processor, in the process (iv) of the (III) process,
The user terminal causes the login support server to encrypt the password, the identification information to generate an encrypted password, encrypted identification information, and then the encrypted password, the encrypted identification information, the random key, the By encrypting and transmitting a third data set including access information and the login request time to an authentication server, causing the authentication server to request the user login authentication from the user terminal with reference to the random key. And confirming whether the request is generated by the login management server to support the user login authentication.
제 24 항에 있어서,
상기 (III) 프로세스에서, 상기 로그인 관리 서버는, 상기 제1 데이터 세트를 AES256 알고리즘으로 암호화하며, 상기 로그인 지원 서버는 하여금 상기 제3 데이터 세트를 상기 AES256 알고리즘으로 암호화하는 것을 특징으로 하는 사용자 단말기.
The method of claim 24,
In the process (III), the login management server encrypts the first data set with an AES256 algorithm, and wherein the login support server encrypts the third data set with the AES256 algorithm.
제 24 항에 있어서,
상기 (III) 프로세스의 (iv) 과정에서, 상기 프로세서는, 상기 로그인 지원 서버로 하여금, 상기 암호화된 제1 데이터 세트를 복호화 하도록 지원하고, 상기 제3 데이터 세트를 상기 복호화 된 제1 데이터 세트, 상기 암호화된 패스워드 및 상기 암호화된 식별 정보를 포함한 상태로 암호화하도록 지원하는 것을 특징으로 하는 사용자 단말기.
The method of claim 24,
In step (iv) of the process (III), the processor may enable the login support server to decrypt the encrypted first data set, and convert the third data set into the decrypted first data set, And encrypting the encrypted password and the encrypted password including the encrypted identification information.
제 24 항에 있어서,
상기 식별 정보는 사용자의 개인 ID, 사원 번호, 주민 번호 등 적어도 하나를 포함하는 정보이며, 상기 접속 정보는 사용자 로그인 접속 단말기의 IP 정보 인 것을 특징으로 하는 사용자 단말기.
The method of claim 24,
The identification information is information including at least one of a user's personal ID, an employee number, a social security number, and the like, and the access information is IP information of a user login access terminal.
사용자의 로그인 인증을 지원하는 로그인 지원 서버에 있어서,
데이터를 송수신하기 위한 통신부; 및
(I) (i) 사용자 단말기에 의해, 사용자가 입력한 사용자의 패스워드가 2개 부분으로 분할되어 상기 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분이 각각 단말 private 키로 암호화되고, 상기 분할된 패스워드 중 상기 암호화된 제1 PW 부분이 상기 사용자 단말기에 저장되고, 상기 분할된 패스워드 중 상기 암호화된 제2 PW 부분이 블록 체인 노드로 전송된 후, 상기 사용자로부터 식별 정보가 입력되면, 로그인 관리 서버에 의해, 상기 식별 정보에 대응되는 식별 코드가 획득되어 출력되고, 상기 사용자 단말기로부터 상기 식별 코드를 스캔한 정보가 획득되며, (ii) 상기 식별 코드를 스캔한 정보가 참조되어 상기 사용자 단말기가 인증되면, 상기 로그인 관리 서버로부터 상기 식별 정보를 포함하는 제1 데이터 세트의 암호화된 정보가 상기 사용자 단말기로 전송되고, 상기 사용자 단말기에 의해, 상기 암호화된 제1 데이터 세트 및 상기 사용자 단말기 내부에 저장된 상기 암호화된 제1 PW 부분, 상기 식별 정보와 상기 단말 private 키를 포함하는 제2 데이터 세트의 암호화된 상태가 상기 로그인 지원 서버로 전달된 상태에서, 상기 암호화된 제2 데이터 세트를 복호화 하는 프로세스; (II) 상기 암호화된 제1 PW 부분과 상기 블록 체인에 저장된 상기 암호화된 제2 PW 부분을 상기 단말 private 키로 각각 복호화 한 후, 상기 제1 PW 부분과 상기 제2 PW 부분을 결합하여 상기 패스워드를 생성하는 프로세스; 및 (III) 상기 결합된 패스워드, 상기 식별 정보를 암호화하여 암호화된 패스워드, 암호화된 식별 정보를 생성한 후, 상기 암호화된 패스워드, 상기 암호화된 식별 정보를 포함하는 제3 데이터 세트를 암호화하여 인증 서버로 전달하여, 상기 사용자의 로그인을 인증하도록 지원하는 프로세스;를 수행하는 프로세서를 포함하는 로그인 지원 서버.
In a login support server that supports user login authentication,
Communication unit for transmitting and receiving data; And
(I) (i) The user's password input by the user is divided into two parts, so that the first PW portion and the second PW portion of the divided password are respectively encrypted with the terminal private key, and the divided If the encrypted first PW portion of the password is stored in the user terminal, the encrypted second PW portion of the divided password is transmitted to the blockchain node, and then identification information is input from the user, the login management server The identification code corresponding to the identification information is obtained and outputted, information obtained by scanning the identification code is obtained from the user terminal, and (ii) the user terminal is authenticated by referring to the information scanned by the identification code. The encrypted information of the first data set including the identification information is transmitted from the login management server to the user terminal. The encrypted state of the encrypted first data set and the encrypted first PW portion stored inside the user terminal, the second data set including the identification information and the terminal private key, by the user terminal. Decrypting the encrypted second data set in a state delivered to the login support server; (II) decrypting the encrypted first PW portion and the encrypted second PW portion stored in the blockchain with the terminal private key, respectively, and combining the first PW portion and the second PW portion to obtain the password. Generating process; And (III) encrypting the combined password, the identification information to generate an encrypted password, encrypted identification information, and then encrypting a third data set that includes the encrypted password and the encrypted identification information. And a processor for supporting the authentication of the user's login.
제 33 항에 있어서,
상기 (I) 프로세스는,
(I_0) 상기 프로세서가, 상기 사용자 단말기로부터의 RSA public 키 요청에 응답하여, 상기 사용자 단말기로 상기 RSA public 키를 전송하는 프로세스;를 더 포함하며,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 사용자 단말기로 하여금, 상기 제2 데이터 세트를 RSA public 키로 암호화하도록 지원하고, 상기 암호화된 제2 데이터 세트를 RSA private 키로 복호화 하는 것을 특징으로 하는 로그인 지원 서버.
The method of claim 33, wherein
The process (I),
(I_0) the processor, in response to the RSA public key request from the user terminal, transmitting the RSA public key to the user terminal;
In the above (I) process,
And the processor supports the user terminal to encrypt the second data set with an RSA public key, and decrypts the encrypted second data set with an RSA private key.
제 33 항에 있어서,
상기 (II) 프로세스에서,
상기 프로세서는 상기 식별 정보를 이용하여 상기 블록체인으로부터 상기 사용자에 대응하는 상기 암호화된 제2 PW 부분을 획득하는 것을 특징으로 하는 로그인 지원 서버.
The method of claim 33, wherein
In the above (II) process,
And the processor obtains the encrypted second PW portion corresponding to the user from the blockchain using the identification information.
제 33 항에 있어서,
상기 프로세서는, 상기 로그인 관리 서버로 하여금, 상기 사용자 단말기로부터 획득한 상기 스캔 정보 및 로그인 요청 시간을 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하도록 지원하는 것을 특징으로 하는 로그인 지원 서버.
The method of claim 33, wherein
The processor may cause the login management server to authenticate the user terminal with reference to the scan information and the login request time obtained from the user terminal, and determine whether the scan information has been transmitted from the user terminal within a predetermined time. And supporting the user terminal authentication according to the present invention.
제 33 항에 있어서,
상기 프로세서는, (IV) (i) 상기 인증 서버로 하여금, 상기 암호화된 제3 데이터 세트를 복호화 하도록 지원하고, (ii) 상기 인증 서버로 하여금, 상기 암호화된 패스워드와 상기 암호화된 식별 정보를 복호화하여 상기 사용자의 로그인을 인증하는데 사용되도록 지원하는 프로세스;
를 더 수행하는 것을 특징으로 하는 로그인 지원 서버.
The method of claim 33, wherein
The processor may (IV) (i) allow the authentication server to decrypt the encrypted third data set, and (ii) cause the authentication server to decrypt the encrypted password and the encrypted identification information. A process for supporting the user's login;
Login support server, characterized in that to further perform.
제 37 항에 있어서,
상기 제1 데이터 세트는 상기 로그인 관리 서버에서 생성되어 전달된 랜덤 키를 포함하고,
상기 (IV) 프로세스에서 상기 프로세서는, 상기 인증 서버로 하여금, 상기 랜덤 키를 참조로 하여, 상기 사용자 단말기로부터의 사용자 로그인 인증에 대한 요청이 상기 로그인 관리 서버에서 발생한 요청인지를 확인하도록 하여 상기 사용자 로그인 인증을 지원하는 것을 특징으로 하는 로그인 지원 서버.
The method of claim 37,
The first data set includes a random key generated and delivered by the login management server,
In the process (IV), the processor causes the authentication server to check whether the request for user login authentication from the user terminal originates from the login management server by referring to the random key. A login support server, characterized in that for supporting login authentication.
제 33 항에 있어서,
상기 (I) 프로세스에서, 상기 로그인 관리 서버는, 상기 제1 데이터 세트를 AES256 알고리즘으로 암호화며, 상기 로그인 지원 서버는, 상기 제3 데이터 세트를 상기 AES256 알고리즘으로 데이터를 암호화하는 것을 특징으로 하는 로그인 지원 서버.
The method of claim 33, wherein
In the process (I), the login management server encrypts the first data set with an AES256 algorithm, and the login support server encrypts the third data set with the AES256 algorithm. Support server.
제 33 항에 있어서,
상기 (III) 프로세스에서, 상기 프로세서는, 상기 암호화된 제1 데이터 세트를 복호화 하며, 상기 제3 데이터 세트를 상기 복호화 된 제1 데이터 세트, 상기 암호화된 패스워드 및 상기 암호화된 식별 정보를 포함한 상태로 암호화하도록 지원하는 것을 특징으로 하는 로그인 지원 서버.
The method of claim 33, wherein
In the process (III), the processor decrypts the encrypted first data set, and the third data set includes the decrypted first data set, the encrypted password, and the encrypted identification information. Login support server, characterized in that for supporting encryption.
KR1020180049393A 2018-04-27 2018-04-27 Method for password processing based on blockchain, method for user login authentication and server using the same KR102010776B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180049393A KR102010776B1 (en) 2018-04-27 2018-04-27 Method for password processing based on blockchain, method for user login authentication and server using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180049393A KR102010776B1 (en) 2018-04-27 2018-04-27 Method for password processing based on blockchain, method for user login authentication and server using the same

Publications (1)

Publication Number Publication Date
KR102010776B1 true KR102010776B1 (en) 2019-10-21

Family

ID=68460006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180049393A KR102010776B1 (en) 2018-04-27 2018-04-27 Method for password processing based on blockchain, method for user login authentication and server using the same

Country Status (1)

Country Link
KR (1) KR102010776B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112668030A (en) * 2021-03-09 2021-04-16 邓晨 Identity ID (identity) confirmation and environment safety authentication method for financial self-service terminal
KR20210111587A (en) * 2020-03-03 2021-09-13 이데아텍㈜ System and method for providing security service using blockchain and biometric information
KR102391952B1 (en) * 2021-06-08 2022-04-29 주식회사 에이치에스엠클라우디피아 System, device or method for encryption distributed processing
KR20220093596A (en) * 2020-12-28 2022-07-05 (주)인정에프앤비 Apparatus and method for managing shopping history information based on communication terminal

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101792220B1 (en) * 2016-08-19 2017-11-02 라온시큐어(주) Method, mobile terminal, device and program for providing user authentication service of combining biometric authentication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101792220B1 (en) * 2016-08-19 2017-11-02 라온시큐어(주) Method, mobile terminal, device and program for providing user authentication service of combining biometric authentication

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210111587A (en) * 2020-03-03 2021-09-13 이데아텍㈜ System and method for providing security service using blockchain and biometric information
KR102321405B1 (en) * 2020-03-03 2021-11-04 이데아텍(주) System and method for providing security service using blockchain and biometric information
KR20220093596A (en) * 2020-12-28 2022-07-05 (주)인정에프앤비 Apparatus and method for managing shopping history information based on communication terminal
KR102565745B1 (en) * 2020-12-28 2023-08-11 (주)인정에프앤비 Apparatus and method for managing shopping history information based on communication terminal
CN112668030A (en) * 2021-03-09 2021-04-16 邓晨 Identity ID (identity) confirmation and environment safety authentication method for financial self-service terminal
KR102391952B1 (en) * 2021-06-08 2022-04-29 주식회사 에이치에스엠클라우디피아 System, device or method for encryption distributed processing

Similar Documents

Publication Publication Date Title
CN106716914B (en) Secure key management for roaming protected content
US20220191012A1 (en) Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System
US10560476B2 (en) Secure data storage system
EP2332089B1 (en) Authorization of server operations
US20170070495A1 (en) Method to secure file origination, access and updates
KR102010776B1 (en) Method for password processing based on blockchain, method for user login authentication and server using the same
US10848304B2 (en) Public-private key pair protected password manager
CN107733933B (en) Method and system for double-factor identity authentication based on biological recognition technology
US8904195B1 (en) Methods and systems for secure communications between client applications and secure elements in mobile devices
JP5006817B2 (en) Authentication information generation system, authentication information generation method, client device, and program
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
KR20220086580A (en) Non-custodial tool for building decentralized computer applications
US20210392003A1 (en) Decentralized computing systems and methods for performing actions using stored private data
US20180262471A1 (en) Identity verification and authentication method and system
CN111954211A (en) Novel authentication key negotiation system of mobile terminal
JP5380063B2 (en) DRM system
KR101570773B1 (en) Cloud authentication method for securing mobile service
US20140250499A1 (en) Password based security method, systems and devices
US20230291565A1 (en) Data recovery for a computing device
JP2007060581A (en) Information management system and method
KR101708880B1 (en) Integrated lon-in apparatus and integrated log-in method
Bhargav-Spantzel TRUSTED EXECUTION ENVIRONMENT FOR PRIVACY PRESERVING BIOMETRIC AUTHENTICATION.
KR102445379B1 (en) Operation method of server apparatus, operation method of terminal and server apparatus
US11968202B2 (en) Secure authentication in adverse environments
Mohamedali et al. Securing password in static password-based authentication: A review