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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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
Description
본 발명은 블록체인 기반의 패스워드 처리 방법, 사용자 로그인 인증 지원 방법 및 이를 이용한 서버에 관한 것으로 보다 상세하게는, (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
로그인 관리 서버(10)는 사용자의 개인 로그인 접속 단말기(30)에 특정 어플리케이션이나 특정 웹 접속 프로그램을 설치하게 하고, 사용자의 로그인 요청을 관리하는 기능을 한다. 상기 로그인 관리 서버(10)는, 가상 데스크탑(VDI; virtual desktop Infrastructure)를 포함하고, 사내 업무망 내에서 사용자의 로그인을 지원 및 관리하기 개인 인증 사이트나 프로그램을 포함하여 운영할 수 있고, 사용자의 지문을 등록하고, 개인정보를 입력하는 기능을 수행할 수 있다. 로그인 관리 서버(10)는 일 예로, 회사 내 작업 환경에서 사용자의 로그인 접속 단말기(30)의 작업 공간을 가상공간을 통해 제공하는 기능도 수행한다. 상기 로그인 관리 서버(10)의 작업 공간은 가상화 되어, 각 개인 계정별로 업무공간, 인터넷공간, 시스템 관리 공간 등 유형별 작업공간을 할당할 수 있다. 로그인 관리 서버(10)는 그 내부에 설치되어 상기 가상공간에 진입할 수 있도록 인터페이스 해주는 소프트웨어들을 포함한다. 한편, 이러한 소프트웨어는 회사의 특성에 따라 외부망에 접속할 수 있도록 포트를 연결하는 소프트웨어와 외부망과 분리된 내부망에서만 작업할 수 있도록 포트를 연결하는 소프트웨어를 포함할 수도 있다.The
예를 들어, 상기 소프트웨어는, 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
로그인 접속 단말기(30)는 사용자의 개인 데스크탑이 될 수 있으며, 상기 로그인 관리 서버(10)의 가상 공간에 진입할 수 있도록 인터페이스 해주는 상술한 소프트웨어들이 설치될 수 있다.The
QR 생성기(40)는 로그인 관리 서버(10)의 요청에 의해 로그인 관리 서버(10)에서 전달된 사원 번호나 주민등록번호 등 개인 식별 정보나 로그인 접속 단말기(30)의 IP 정보 등을 바탕으로 식별 코드, 예를 들어 QR 코드를 생성하여 로그인 관리 서버(10)로 회신하는 기능을 한다. QR 생성기(40)는 로그인 관리 서버(10)와는 독립된 별도의 서버에 설치될 수 있다.
인증 서버(50)는 입력받은 개인 식별 정보와 패스워드를 바탕으로 사용자의 인증을 수행하고 그 결과를 로그인 관리 서버(10)로 전달하는 기능을 한다.The
로그인 지원 서버(60)는 일종의 어플리케이션 서버로, 블록체인(70) 노드의 구현체인 코인 스택을 통해 Smart Contract를 구현하는 아키텍처에서 타 시스템이나 비즈니스 처리를 담당하는 구성요소가 된다. 본 발명에 따른 로그인 지원 서버(60)는 블록체인(70)에 일부가 저장된 패스워드를 불러와 복호화하고 사용자 모바일 단말기(20)에서 전달된 나머지 패스워드를 복호화하며 이를 결합하는 기능을 수행한다. 또한 로그인 지원 서버(60)는 필요에 따라 사용자 모바일 단말기(20)에서 암호화된 패스워드 일부를 블록체인 노드에 저장할 때, 이를 2차 암호화하여 블록체인 노드에 기록하는 기능도 수행할 수 있다.The
PC 로그인 인증 로그 DB(80)는 인증 서버(50)의 인증 결과를 로그 형태로 저장하는 기능을 한다. 예를 들어, 특정 시간에 특정 사용자의 로그인 요청이 왔고 이것이 인증되었는지 인증되지 못했는지의 결과 등의 로그 데이터를 저장한다.The PC login
도 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
그런 다음, 도 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
그런 다음, 사용자 모바일 단말기(20)의 프로세서(미도시)는 사용자가 입력한 사용자의 패스워드를 2개 부분으로 분할하여(S02) 분할된 패스워드의 제1 PW 부분 및 제2 PW 부분을 각각 단말 private 키로 암호화한다(S03).Then, the processor (not shown) of the user
그리고, 사용자 모바일 단말기(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
한편, 사용자 모바일 단말기(20)의 프로세서는 상기 암호화된 제1 PW 부분을 저장할 때 사용자 모바일 단말기(20) 내의 보안 영역(SE 영역)에 저장하는 것이 바람직하다.The processor of the user
한편, 블록체인 노드(70)에서는 암호화된 제2 PW 부분을 블록체인에 저장할 때, 사용자 모바일 단말기(20)에 의해 단말 private 키로 암호화된 상태로 저장할 수도 있으며, 암호화된 제2 PW 부분을 RSA Key로 2차 암호화하여(S05), 2차 암호화된 제2 PW 부분을 블록체인에 저장할 수 있다(S06).Meanwhile, when the
이때, 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
도 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
사용자로부터 식별 정보가 입력되면, 로그인 관리 서버(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
그러면, 사용자는 사용자 모바일 단말기(20)에 설치된 애플리케이션을 통해 로그인 접속 단말기(30) 화면에 표시된 QR 코드를 스캔한다(S15). 이때 사용자는 상기 애플리케이션의 요청에 의해 PIN 번호나 지문입력 등의 생체 정보를 추가로 입력할 수도 있다. 또한 사용자는 상기 애플리케이션의 요청에 의해 사원 번호 등의 식별 정보도 추가로 입력할 수도 있다.Then, the user scans the QR code displayed on the
QR 코드 스캔 정보를 전달받은 로그인 관리 서버(10)는 전달받은 스캔 정보와 QR 생성기(40)로부터 전달받은 QR 코드의 정보를 비교하거나 또는 정보와 로그인 접속 단말기(30)로부터 전달받은 식별 정보, 랜덤 키(Rkey), 사용자 단말기의 접속 정보(IP 정보), 로그인 요청 시간 정보를 비교하여 사용자 모바일 단말기(20)를 인증한다(미도시). 즉, 상기 사용자 모바일 단말기(20)가 로그인 하려는 사용자의 단말기인지를 인증하게 된다. 이때, 로그인 관리 서버(10)는 로그인 요청 시간 정보를 바탕으로 사용자 모바일 단말기(20)에서 전달된 스캔 정보가 소정 시간 내에 전달되었는지의 여부에 따라 사용자 단말기 인증을 허용하도록 할 수도 있다. 예를 들어, 로그인 관리 서버(10)는 로그인 요청 시간 또는 QR 코드를 로그인 접속 단말기(30)로 표시한 시간으로부터 30초 이내에 스캔 정보가 도달되었는지에 따라 단말기 인증을 허용할 수 있다. 이 경우 스캔 정보가 QR 코드를 표시한 시점으로부터 30초가 지난 다음에 전달되었다면, 타임 아웃 처리하여 단말기 인증을 허용하지 않게 된다.The
단말기 인증이 된 경우, 로그인 관리 서버(10)는 Rkey(랜덤 키), IP (접속 정보), 사원 번호 등의 식별 정보, 로그인 형태(외부 인터넷 망 연결을 위한 로그인 인지 또는 사내 업무망 연결을 위한 로그인 인지 여부), 로그인 요청 시간(이하 '제1 데이터 세트'라 한다)을 AES256 알고리즘으로 암호화하여 암호화된 제1 데이터 세트를 사용자 모바일 단말기(20)로 전달한다(S16).When the terminal is authenticated, the
그러면 사용자 모바일 단말기(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
그리고 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
도 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
그런 다음 로그인 지원 서버(60)는 식별 정보(사원 번호)와 복원된 패스워드를 AES 알고리즘으로 암호화하여 암호화된 식별정보와 암호화된 패스워드를 생성하고(S27), 암호화되어 있었던 제1 데이터 세트에 대해서는 AES 복호화를 수행한다(S28). 그리고 나서, 로그인 지원 서버(60)는 암호화된 패스워드, 암호화된 식별정보, 랜덤 키, 접속 정보, 식별 정보, 로그인 형태, 로그인 요청 시간(이하 '제3 데이터 세트'라 한다)를 다시 AES 암호화한다(S29). 그리고 로그인 지원 서버(60)는, AES 암호화된 제3 데이터 세트를 인증 서버(50)로 전달(S30)하여, 사용자의 로그인을 인증하도록 지원한다.The
인증 서버(50)는 암호화된 제3 데이터 세트를 AES 복호화 하여(S31), 암호화된 패스워드, 암호화된 식별정보, 랜덤 키, 접속 정보, 식별 정보, 로그인 형태, 로그인 요청 시간을 획득하고, 여기에 다시 암호화된 패스워드와 암호화된 식별정보는 추가적으로 AES 복호화 하여 복호화 된 패스워드와 식별정보를 얻는다. 이렇게 얻은 정보를 바탕으로 인증 서버(50)는 사용자의 식별정보와 대응하는 패스워드가 일치하는 지를 확인하여 사용자 로그인을 인증한다(S32). 또한 인증 서버(50)는, 접속 정보를 바탕으로 로그인이 허용된 IP로부터의 로그인 요청인지를 확인하여 사용자의 로그인을 추가 인증할 수 있고, 로그인 요청 시간을 바탕으로 인증 완료 시간이 정해 진 소정 시간 내(예를 들어 2분 내)에 완료되었는지를 바탕으로 사용자의 로그인을 허용할지 여부를 결정할 수도 있을 것이다. The
그리고 인증 서버(50)는, 랜덤 키를 참조로 하여, 사용자 단말기로부터의 사용자 로그인 인증에 대한 요청이 로그인 관리 서버(10)에서 발생한 요청인지를 확인하도록 하여 상기 사용자의 로그인 인증을 할 수도 있을 것이다.The
인증 서버(50)는 이러한 인증 결과를 로그인 관리 서버(10)로 전달하고(S33) 아울러 사용자의 로그인 요청 및 인증 내역을 PC 로그인 인증 로그 DB(80)에 저장하게 한다. The
로그인 관리 서버(10)는 인증 서버(50)로부터의 인증 결과에 따라 사용자 로그인을 허용할 수 있으며, 이 경우, 로그인 형태에 따라 다양한 인터넷 연결 포트를 허용할 수 있을 것이다(S34). 예를 들어, 로그인 접속 단말기(30)에서 요청한 로그인 형태가 외부 인터넷 망 연결을 위한 로그인 이라면, 이에 대응하는 포트를 상기 로그인 접속 단말기(30)로 연결시키고, 로그인 접속 단말기(30)에서 요청한 로그인 형태가 외부와 차단된 사내 업무망 연결을 위한 로그인 이라면, 이에 대응하는 포트를 상기 로그인 접속 단말기(30)로 연결할 것이다. The
일반적으로 사용자 인증을 위해 사용자가 개인 단말기(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)
(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.
상기 (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.
상기 사용자 단말기는, 상기 (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.
상기 로그인 관리 서버는, 상기 사용자 단말기로부터 획득한 상기 스캔 정보를 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하는 것을 특징으로 하는 방법.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.
상기 (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.
상기 (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.
상기 (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.
상기 (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.
상기 식별 정보는 사용자의 개인 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.
상기 (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.
상기 (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.
상기 로그인 지원 서버는, 상기 로그인 관리 서버로 하여금, 상기 사용자 단말기로부터 획득한 상기 스캔 정보 및 로그인 요청 시간을 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하도록 지원하는 것을 특징으로 하는 방법.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.
(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.
상기 제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.
상기 (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. .
상기 (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.
데이터를 송수신하기 위한 통신부; 및
(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.
상기 (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.
상기 프로세서는, 상기 (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.
상기 로그인 관리 서버는, 상기 사용자 단말기로부터 획득한 상기 스캔 정보를 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하는 것을 특징으로 하는 사용자 단말기.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.
상기 프로세서는, 상기 (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.
상기 프로세서는, 상기 (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.
상기 (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.
상기 (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.
상기 식별 정보는 사용자의 개인 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.
상기 (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.
상기 (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.
상기 프로세서는, 상기 로그인 관리 서버로 하여금, 상기 사용자 단말기로부터 획득한 상기 스캔 정보 및 로그인 요청 시간을 참조하여 상기 사용자 단말기를 인증하되, 상기 스캔 정보가 상기 사용자 단말기로부터 소정의 시간 내에 전달되었는지 여부에 따라 상기 사용자 단말기 인증을 허용하도록 지원하는 것을 특징으로 하는 로그인 지원 서버.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.
상기 프로세서는, (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.
상기 제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.
상기 (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.
상기 (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.
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)
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)
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 |
-
2018
- 2018-04-27 KR KR1020180049393A patent/KR102010776B1/en active
Patent Citations (1)
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)
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 |