KR101996317B1 - 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법 - Google Patents

인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법 Download PDF

Info

Publication number
KR101996317B1
KR101996317B1 KR1020180080999A KR20180080999A KR101996317B1 KR 101996317 B1 KR101996317 B1 KR 101996317B1 KR 1020180080999 A KR1020180080999 A KR 1020180080999A KR 20180080999 A KR20180080999 A KR 20180080999A KR 101996317 B1 KR101996317 B1 KR 101996317B1
Authority
KR
South Korea
Prior art keywords
user
authentication
login
block chain
variable
Prior art date
Application number
KR1020180080999A
Other languages
English (en)
Inventor
정욱
성춘호
손호준
Original Assignee
주식회사 넵튠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넵튠 filed Critical 주식회사 넵튠
Priority to KR1020180080999A priority Critical patent/KR101996317B1/ko
Application granted granted Critical
Publication of KR101996317B1 publication Critical patent/KR101996317B1/ko

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/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/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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

Abstract

사용자 계정의 도용을 효과적으로 방지할 수 있고, 블록체인을 이용하여 로그인 기록을 관리할 수 있도록 구성된, 블록체인 기반의 사용자 인증 시스템 및 그 방법이 개시된다. 본 발명에 따른 블록체인 기반의 사용자 인증 시스템은, 로그인 요청시 사용자 식별정보 및 인증변수를 포함하는 로그인 요청 데이터를 전송하는 사용자 단말; 각 사용자의 사용자 등록 절차에 따라 미리 등록된 사용자 식별정보와 함께 상기 사용자 식별정보에 대응되는 인증변수를 저장하는 데이터베이스를 구비하고, 상기 로그인 요청 데이터에 포함된 인증변수와 상기 사용자 식별정보에 따라 상기 데이터베이스로부터 호출된 인증변수의 일치 여부에 따라 사용자 인증 여부를 판단하는, 운영자 시스템; 및, 상기 운영자 시스템으로부터 상기 사용자 인증의 성공 여부에 따라 정상 접속 로그인 또는 비인증 접속 로그인으로 구별되는 로그인 기록을 수신하여 저장하는 것으로, 상기 로그인 기록들이 포함된 블록체인을 보유하는 다수의 블록체인 노드; 를 포함하고, 상기 인증변수는 1회의 상기 정상 접속 로그인 후 갱신되어 상기 사용자 단말 및 상기 데이터베이스에 동일하게 각각 저장되도록 구성된다.

Description

인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법 {BLOCK CHAIN BASED USER AUTHENTICATION SYSTEM USING AUTHENTICATION VARIABLE AND METHOD THEREOF}
본 발명은 네트워크상에서의 사용자 인증, 즉 아이디 도용 여부를 확인하는 블록체인 기반의 시스템 및 그 방법에 관한 것이다.
유무선 통신 네트워크상에서 제공되는 정보 통신 서비스는 일반적으로 서비스 제공자(이하, 운영자라 부르기로 함)와 약정을 맺은 특정 사용자에게 제공된다. 사용자는 최초 사용자 등록시에 본인인증 등의 절차를 거쳐 아이디와 패스워드를 등록하고, 서비스 이용시 등록된 아이디와 패스워드를 입력하거나 자동 전송하는 방식으로 운영자 시스템의 사용자 인증을 거쳐 서비스 사이트에 접속된다.
이러한 아이디, 패스워드 기반의 사용자 인증 방식은 소셜 네트워크 서비스(SNS), 메신저 서비스 등 다양한 정보통신 서비스에 활용되고 있다. 그런데 사용자들이 활용하는 정보통신 서비스가 다양해지면서 아이디와 패스워드가 누출되어 타인이 이를 도용하는 사례가 늘고 있다. SNS 또는 메신저 서비스의 경우, 특정 사용자와 관계를 맺고 있는 타 사용자들은 서비스 접속자를 해당 사용자로 인식하기 때문에 아이디, 패스워드가 타인에게 도용될 경우 피싱(phishing) 등의 2차 범죄로 이어질 우려도 크다.
사용자 계정의 도용을 방지하기 위해 금융 서비스 등에서는 공인 인증서를 이용하여 사용자 인증 절차를 진행하나, 공인 인증 기관을 통한 인증서 관리에 많은 불편이 따르기 때문에 일반적인 정보통신 서비스로 확대 적용하기 어렵다. 사용자 단말의 고유정보를 미리 등록하고 사용자의 접속 시에 아이디, 패스워드에 추가로 사용자 단말의 고유정보를 확인하는 방식도 일부에서 도입되었으나, 운영자 시스템이 해킹(Hacking) 될 경우 여전히 도용의 위험이 있고, 사용 가능한 사용자 단말이 제한되는 불편이 따르며, 사용자 편의를 위해 여러 개의 사용자 단말을 등록하여 사용할 경우 그만큼 도용의 위험성도 증가하게 되는 문제가 있다.
또한, 사용자 계정의 도용을 통한 범죄 행위에 대해서는 사후 추적을 통한 처벌이 필요한데, 운영자 시스템이 해킹 될 경우 로그인 기록에 대해서도 조작이 가능하기 때문에 사후 추적과 복구가 쉽지 않다는 문제점이 있다.
본 발명은 전술한 종래기술의 문제점을 해소하기 위해 제안된 것으로, 아이디 등 식별정보를 활용한 종래의 사용자 인증 방식을 기반으로 하되, 사용자의 불편을 가중하지 않고도 사용자 계정의 도용을 효과적으로 방지할 수 있는 사용자 인증 시스템 및 그 방법을 제공하는 데에 그 목적이 있다.
또한, 본 발명은 SNS나 메신저 기능을 포함한 정보통신 서비스에서 사용자 계정이 도용되거나 도용의 가능성이 있는 경우, 이를 실시간으로 타 사용자가 확인할 수 있도록 함으로써, 타 사용자의 2차적 피해를 예방할 수 있도록 하는 사용자 인증 시스템 및 그 방법을 제공하는 데에 그 목적이 있다.
또한, 본 발명은 사용자 각각의 사용자 등록 및 로그인 기록 등을 블록체인을 활용하여 인위적으로 조작할 수 없도록 관리함으로써 사후 검증 자료로 활용될 수 있도록 하는 데에 그 목적이 있다.
전술한 과제의 해결을 위하여, 본 발명에 따른 블록체인 기반의 사용자 인증 시스템은, 정보통신 서비스 운영자 시스템에 대한 접속 기능 및 블록체인 기반의 로그인 기록 열람 기능을 갖는 애플리케이션이 설치된 것으로, 로그인 요청시 사용자 식별정보 및 인증변수를 포함하는 로그인 요청 데이터를 전송하는 사용자 단말; 각 사용자의 사용자 등록 절차에 따라 미리 등록된 사용자 식별정보와 함께 상기 사용자 식별정보에 대응되는 인증변수를 저장하는 데이터베이스를 구비하고, 상기 로그인 요청 데이터에 포함된 인증변수와 상기 사용자 식별정보에 따라 상기 데이터베이스로부터 호출된 인증변수의 일치 여부에 따라 사용자 인증 여부를 판단하는, 운영자 시스템; 및, 상기 운영자 시스템으로부터 상기 사용자 인증의 성공 여부에 따라 정상 접속 로그인 또는 비인증 접속 로그인으로 구별되는 로그인 기록을 수신하여 저장하는 것으로, 상기 로그인 기록들이 포함된 블록체인을 보유하는 다수의 블록체인 노드; 를 포함하고, 상기 인증변수는 1회의 상기 정상 접속 로그인 후 갱신되어 상기 사용자 단말 및 상기 데이터베이스에 동일하게 각각 저장되도록 구성된다.
여기서, 상기 인증변수는 초기값으로부터 매 갱신 시마다 그 값이 일정한 단위로 순차적으로 증가하는 숫자 또는 문자열을 포함하는 것일 수 있다. 이때, 상기 인증변수의 초기값은 상기 운영자 시스템에 대한 사용자 등록시에 랜덤(random)하게 생성되어 상기 데이터베이스 및 상기 사용자 단말에 각각 저장될 수 있다.
상기 사용자 단말은 상기 인증변수를 상기 사용자 단말의 파일에 저장하도록 구성될 수 있다.
상기 애플리케이션은, 애플리케이션 패스워드를 입력받아 상기 사용자 단말의 저장 매체에 암호화되어 저장된 개인 키를 복호화하고, 상기 개인 키를 이용하여 공개 키를 생성하며, 상기 운영자 시스템은 상기 애플리케이션을 통한 상기 사용자 단말의 정상 접속 로그인 시각을 포함하는 로그인 기록을 상기 공개 키로 암호화하여 생성된 로그인 트랜잭션 정보를 상기 블록체인에 전송하도록 구성될 수 있다.
상기의 블록체인 기반의 사용자 인증 시스템에 있어서, 상기 인증변수는 상기 1회의 정상 접속 로그인 후 로그아웃 전에 상기 운영자 시스템에서 갱신되어 상기 데이터베이스 및 상기 사용자 단말에 각각 저장되도록 구성될 수 있다.
상기 운영자 시스템은 상기 로그인 요청 데이터에 포함된 상기 사용자 식별정보가 상기 데이터베이스 상의 등록된 사용자 식별정보와 일치하면 로그인을 승인하고, 로그인 후의 서비스 모드를 상기 사용자 인증 성공 여부에 따라 서로 다르게, 사용자 인증에 성공한 경우의 정상 접속 모드와 사용자 인증에 실패한 경우의 비인증 접속 모드로 나누어 제공하도록 구성될 수 있다.
이때, 상기 운영자 시스템은 상기 비인증 접속 모드로 로그인된 사용자의 메시지를 타 사용자의 사용자 단말 화면상에 표시할 때, 정상 접속 모드로 로그인된 사용자의 메시지와 시각적으로 구별되도록 표시할 수 있다. 또한, 상기 운영자 시스템은 상기 비인증 접속 모드의 로그인 발생시 비인증 사용 로그 알림을 생성 및 저장하고, 이후 동일한 사용자 식별정보로 상기 정상 접속 로그인 발생시 상기 비인증 사용 로그 알림을 사용자 단말에 제공할 수도 있다.
한편, 본 발명의 한 측면에 따른 블록체인 기반의 사용자 인증 방법은, 사용자 단말에서, 사용자 식별정보 및 상기 사용자 단말에 미리 저장된 인증변수를 포함하는 로그인 요청 데이터를 운영자 시스템으로 전송하는 로그인 요청 단계; 운영자 시스템에서, 각 사용자의 사용자 등록 절차에 따라 미리 등록된 사용자 식별정보와 함께 상기 사용자 식별정보에 대응되는 인증변수가 저장된 데이터베이스를 이용하여, 상기 로그인 요청 데이터에 포함된 인증변수와, 상기 로그인 요청 데이터에 포함된 상기 사용자 식별정보에 따라 상기 데이터베이스로부터 호출된 인증변수의 일치 여부에 따라 사용자 인증 성공 여부를 판단하는, 사용자 인증 단계; 상기 두 개의 인증변수가 일치하여 사용자 인증에 성공한 경우, 상기 인증변수를 갱신하여 상기 사용자 단말 및 상기 데이터베이스에 갱신된 인증변수를 저장하는, 인증변수 갱신 단계; 및, 상기 운영자 시스템으로부터 블록체인 네트워크로, 상기 사용자 인증의 성공 여부에 따라 정상 접속 로그인 또는 비인증 접속 로그인으로 구별되는 로그인 기록을 전송하여 블록체인에 저장하는, 블록체인 기반의 기록 단계;를 포함하여 구성될 수 있다.
본 발명에 따르면, 아이디, 패스워드 등을 활용한 종래의 사용자 인증 방식을 기반으로 하되, 사용자의 불편을 가중하지 않고도 사용자 계정의 도용을 효과적으로 방지할 수 있는 사용자 인증 시스템 및 그 방법이 제공된다. 본 발명에서 추가적인 사용자 인증 수단으로 활용되는 인증변수는 사용자의 접속 시마다 새롭게 갱신되기 때문에, 해킹에 의해 누출되더라도 누출된 정보를 이용한 사용자 계정의 도용을 방지할 수 있다. 이러한 효과는 메신저 서비스와 같이 사용자가 빈번하게 접속하는 서비스에서 극대화된다.
또한, 본 발명에 따르면, SNS나 메신저 기능을 포함한 정보통신 서비스에서 사용자 계정이 도용되거나 도용의 가능성이 있는 경우, 이를 실시간으로 확인하여 접속 또는 서비스 사용을 제한할 수 있음은 물론, 이를 실시간으로 타 사용자가 확인할 수 있도록 함으로써, 타 사용자의 2차적 피해를 예방할 수 있도록 하는 효과가 있다.
또한, 본 발명에 따르면, 사용자 각각의 사용자 등록 및 로그인 기록 등이 서버를 거치지 않고 블록체인에 저장 및 관리됨으로써 인위적인 조작이 불가능하여 사후 검증 자료로 활용될 수 있도록 하는 효과가 있다.
도 1은 본 발명의 한 실시예에 따른 사용자 인증 시스템의 구성을 개략적으로 보인다.
도 2는 상기 도 1의 시스템에서 인증변수를 활용한 사용자 인증 방법의 예를 보인다.
도 3은 상기 도 1의 시스템에서 비인증 접속 예를 보인다.
도 4는 블록체인 기반의 로그인 기록 관리 기능 측면에서 애플리케이션이 설치된 사용자 단말의 구성을 개략적으로 보인다.
도 5는 운영자 시스템에서 블록체인 네트워크로 로그인 트랜잭션 정보를 발행하는 방식을 예시한다.
도 6은 상기 도 1의 시스템에서 미등록 사용자 단말을 이용한 사용자 인증 접속의 예를 보인다.
도 7은 상기 도 1의 시스템에서 사용자 단말 이전의 예를 보인다.
이하에서는 도면을 참조하여 본 발명의 실시예를 설명한다. 아래에 제시된 실시예를 통해 본 발명의 기술적 사상이 명확하게 이해될 수 있을 것이다. 이하에서 본 발명에 따른 사용자 인증 시스템에 관한 설명과 사용자 인증 방법에 관한 설명은 뚜렷이 구분되지 않으며, 사용자 인증 시스템 구성요소들의 기능 및 작용에 관한 설명은 사용자 인증 방법에 대해서도 적용된다.
도 1은 본 발명의 한 실시예에 따른 사용자 인증 시스템의 구성을 개략적으로 보인다.
본 실시예에 따른 사용자 인증 시스템은 정보통신 서비스 사용자 각각의 사용자 단말(10)과 서비스 제공자의 운영자 시스템(20), 그리고 블록체인(50)으로 구성된다. 상기 사용자 단말(10)과 상기 운영자 시스템(20)은 유무선 통신망을 통해 서로 연결된다. 여기서 연결이란 통신 채널을 통해 정보를 주고받을 수 있는 상태를 의미한다. 상기 운영자 시스템(20)에서 제공되는 정보통신 서비스에는 소셜 네트워크 서비스(SNS) 및 메신저 서비스 등이 포함될 수 있으며, 최초 사용시 사용자 등록 절차를 거치고 이후 로그인된 사용자에게 정보통신 서비스를 제공하는 것이면 그 종류에는 제약이 없다.
본 발명에 따른 애플리케이션(11)이 설치되는 사용자 단말(10)에는 예컨대 스마트폰이나 태블릿PC 등의 모바일기기가 포함되며, 이에 한정되지 않고 무선 또는 유선 통신망을 통해 상기 운영자 시스템(20)에 접속할 수 있는 모든 정보통신 단말기가 포함될 수 있다. 이하에서는 사용자 단말(10)이 스마트폰인 경우를 중심으로 설명하기로 한다.
상기 사용자 단말(10)에는 정보통신 서비스 접속 및 활용 그리고 블록체인(50) 기반의 로그인 기록 열람 등을 위한 애플리케이션(11)이 설치된다. 또한, 상기 사용자 단말(10)의 저장 공간에 상기 애플리케이션(11)과 연계된 인증변수 파일(12)이 저장된다. 상기 인증변수 파일(12)에는 운영자 시스템(20)에 대한 최초의 사용자 등록 시에 인증변수의 초기값이 저장되며, 그 후로도 상기 사용자 단말(10)이 사용자 인증을 거쳐 상기 운영자 시스템(20)에 정상 접속될 때마다 새롭게 갱신된 값의 인증변수가 저장된다.
한편, 상기 사용자 단말(10)의 저장 공간에는 상기 애플리케이션(11)을 처음 사용할 때 새롭게 생성되거나, 외부에서 '가져오기'한 개인키(120)가 암호화되어 저장된다. 상기 개인키(120)는 사용자가 처음에 입력한 애플리케이션 패스워드에 의해 암호화된 상태로 저장된다. 애플리케이션(11) 실행시에도 사용자에게 상기 애플리케이션 패스워드 입력이 요구되고, 입력된 상기 애플리케이션 패스워드를 이용하여, 상기 개인키(120)를 복호화하며, 이를 이용하여 공개키(130)를 생성한다. 상기 공개키(130)는 운영자 시스템(20)에 대한 최초의 사용자 등록 시에 데이터베이스(22) 내에 해당 사용자의 공개키(230)로서 저장될 수 있다.
운영자 시스템(20)은 전술한 바와 같이, 유무선 통신망을 통해 상기 사용자 단말(10)과 연결되는데, 이들은 접속 세션마다 SSL(Secure Socket Layer) 인증 방식으로 대칭형의 세션키를 상호 교환하고 이를 이용하여 암호화 통신을 진행하도록 구성될 수 있다. 접속시 SSL 핸드셰이크 프로토콜에 따른 동작 과정에서 사용자, 단말(10)에서 상기 세션키를 생성하고, 상기 개인키(120)로 암호화하여 상기 운영자 시스템(20)으로 전송하면, 상기 운영자 시스템(20)은 암호화된 상기 세션키를 상기 공개키(230)를 이용하여 복호화할 수 있다. 이런 과정을 통해 상기 세션키를 서로 교환한 후에는 해당 접속 세션이 종료될 때까지 상기 세션키를 이용하여 암/복호화 함으로써 암호화 통신을 진행할 수 있다.
상기 운영자 시스템(20) 내부를 좀 더 살펴보면, 하나 또는 둘 이상의 컴퓨터로 구성된 애플리케이션 서버(21) 및 그와 연계된 데이터베이스(22)가 구비된다. 상기 데이터베이스(22)는 등록된 사용자의 개인 정보나 서비스 사용 이력 정보 등을 관리하는 데이터베이스의 역할을 겸한 것일 수도 있고, 로그인 및 사용자 인증 절차를 위해 별도로 마련된 것일 수도 있다. 여기서는 상기 데이터베이스(22)에서 로그인 및 사용자 인증에 관련된 측면에 대해서만 설명하기로 한다.
상기 데이터베이스(22)에는 최초의 사용자 등록시에 입력된 아이디(ID) 등을 포함하는 사용자 식별정보와 함께 상기 공개키(230), 그리고 인증변수(220)가 저장된다. 상기 인증변수(220)는 숫자 또는 문자열을 포함하는 것으로, 최초의 사용자 등록 시에 본인인증 절차가 완료되면 상기 애플리케이션 서버(21)에서 인증변수의 초기값이 생성되어 상기 데이터베이스(22)에 상기 사용자 식별정보에 대응되도록 인증변수(220)가 저장된다. 한편, 상기 인증변수의 초기값은 사용자 단말(10)로도 전송되어, 전술한 바와 같이, 상기 인증변수 파일(12)에 저장된다. 그 후로 상기 인증변수는 사용자 인증을 통한 정상 접속이 이루어질 때마다 그 값이 새롭게 갱신되어 상기 데이터베이스(22) 및 상기 인증변수 파일(12)에 저장된다.
위에서 최초 사용자 등록 시의 본인인증 절차는 인터넷상의 사용자 등록 절차에 통상 사용되는 것으로서, 공인인증서 인증, 아이핀(i-PIN) 인증, ARS 인증, 휴대전화 인증 등의 방법 중에서 선택된 것일 수 있다. 또한, 상기 사용자 식별정보에는 아이디, 패스워드와 함께 사용자 단말의 고유정보가 포함될 수 있다. 상기 사용자 단말의 고유정보로서 맥 주소(MAC Address)나 모바일기기의 단말기식별번호(IMEI) 등이 활용될 수 있다. 휴대전화 번호나 이메일 주소 등이 아이디로서 활용되거나, 아이디와 함께 활용될 수도 있다.
한편, 상기 애플리케이션 서버(21)에서 상기 인증변수 초기값을 생성하고 상기 인증변수를 갱신하는 부분을 인증변수 관리부(212)라고 부를 수 있는데, 상기 인증변수 관리부(212)는 상기 인증변수의 초기값을 난수 발생 등을 통해 랜덤(Random)하게 생성할 수 있다. 또한, 상기 인증변수 관리부(212)는 숫자 또는 문자열을 포함하는 상기 인증변수를 갱신할 때, 상기 초기값으로부터 매 갱신 시마다 그 값이 일정한 단위로 순차적으로 증가하도록 갱신할 수 있다. 예를 들어, 인증변수의 초기값이 3572 라면, 3573, 3574, 3575, … 와 같은 순서로 상기 인증변수를 갱신해나갈 수 있다.
이와 같이 인증변수가 일정한 단위로 순차적으로 증가하는 숫자나 문자열을 포함하는 경우 여러 가지 유리한 점이 있다. 우선, 인증변수 갱신을 위한 연산이 단순해진다. 또한, 임의의 한 시점의 인증변수 값을 상기 초기값과 대비함으로써 해당 시점까지 몇 차례의 정상 접속이 이루어졌는지 쉽게 확인할 수 있다. 만약, 누군가 해킹을 통해 입수된 인증변수 값을 이용하여 로그인을 시도한다면, 그 값을 통해 해킹 시점을 추적할 수도 있을 것이다. 물론, 해킹 시점과 해커의 로그인 시도 사이에 등록된 사용자가 단 한 번만이라도 시스템에 정상 접속한다면 해커는 사용자 인증을 통한 정상 접속에 실패하게 될 것이다. 해커가 가진 인증변수의 값과 전술한 데이터베이스(22) 상의 인증변수(220)의 값이 이미 달라졌을 것이기 때문이다.
다만, 상기 인증변수는 갱신 시마다 순차적으로 증가하는 것에 한정되지 않으며, 갱신 전후의 값이 다르다는 조건을 충족하면, 갱신 시마다 랜덤하게 생성되거나, 소정의 범위 내에서 소정의 규칙에 따라 선택될 수도 있다.
한편, 상기 운영자 시스템(20)은 상기 사용자 등록 기록이나 로그인 기록 등을 블록체인(50)을 통해 저장하는 기능을 갖도록 구성된다. 이러한 기능은 상기 애플리케이션 서버(21)의 로그인 관리부(211)에 의해 수행될 수 있다. 상기 애플리케이션 서버(21)는 상기 사용자 단말(10)과 상기 운영자 시스템(20) 사이의 사용자 등록 기록이나 로그인 기록 등을 트랜잭션 정보로서 블록체인 네트워크(51)에 전송한다. 상기 블록체인 네트워크(51)에서는 다수의 트랜잭션 정보들이 체인으로 연결된 다수의 데이터 블록, 즉 좁은 의미의 블록체인(52)을 구성하며 저장된다. 전술한 사용자 등록 기록이나 로그인 기록 등이 상기 블록체인 네트워크(51)를 통해 검증되고, 상기 블록체인(52)에 저장된 이상 해커에 의해 조작될 가능성은 현저하게 줄어든다.
사용자는 상기 애플리케이션(11)이 실행된 사용자 단말(10)을 이용하여 상기 블록체인(50)으로부터 전술한 사용자 등록 기록, 로그인 기록 등을 열람하거나 활용할 수 있다. 이 경우, 공개키(130)를 이용하여 해당 사용자의 트랜잭션 정보를 수집하고, 상기 개인키(120)를 이용하여 이를 복호화하는 과정을 거치도록 함으로써, 제3자가 상기 로그인 기록 등을 열람하는 것을 방지할 수 있다.
도 2는 상기 도 1의 시스템에서 인증변수를 활용한 사용자 인증 방법의 예를 보인다.
이하에서는 도 1 및 도 2를 함께 참조하여 정상적으로 사용자 등록을 마친 사용자가 최초 등록시에 사용된 사용자 단말(10)을 이용하여 운영자 시스템(20)에 접속하는 경우의 예를 통해 상기 사용자 단말(10)과 상기 운영자 시스템(20) 사이에서 진행되는 사용자 인증 과정을 살펴보기로 한다.
먼저, 사용자는 상기 사용자 단말(10)에 설치된 애플리케이션(11)을 실행한다. 상기 애플리케이션(11)이 실행된 사용자 단말(10)은 상기 운영자 시스템(20)과 SSL 핸드셰이크 프로토콜을 통해 세션키를 교환하고 암호화 통신 세션을 시작한다. 상기 애플리케이션(11)은 사용자의 아이디 등의 식별정보를 입력받거나, 미리 저장된 사용자 식별정보를 이용하여, 상기 운영자 시스템(20)에 로그인 요청 데이터를 전송한다. 이때, 상기 로그인 요청 데이터에는 인증변수 파일(12)에 미리 저장되어 있던 인증변수가 포함된다. 상기 사용자 식별정보와 상기 인증변수는 상기 세션키로 암호화되어 상기 운영자 시스템(20)의 애플리케이션 서버(21)에 전달된다. 이 과정을 로그인 요청 단계라 부를 수 있다.
운영자 시스템(20)에 암호화된 로그인 요청 데이터가 수신되면, 애플리케이션 서버(21)는 미리 교환된 상기 세션키를 이용하여 상기 로그인 요청 데이터를 복호화한다. 상기 애플리케이션 서버(21)의 로그인 관리부(211)는 상기 로그인 요청 데이터에 포함된 사용자 식별정보를 확인하고, 데이터베이스(22)에서 상기 사용자 식별정보에 대응되는 인증변수(220)의 값(이하에서는 편의상 이 값을 서버 인증변수라 부르기로 한다)을 불러와서, 상기 로그인 요청 데이터에 포함된 인증변수의 값(이하에서는 편의상 이 값을 단말 인증변수라 부르기로 한다)과 일치하는지를 판단한다(S11). 상기 로그인 관리부(211)는 상기 단말 인증변수와 상기 서버 인증변수가 서로 일치하면 사용자 인증에 성공한 것으로 판단하고, 그 결과 사용자는 정상 접속 모드(S12)의 서비스 모드로 로그인된다. 이 과정을 사용자 인증 단계라 부를 수 있다.
이때, 인증변수 관리부(212)는 정상 접속 중에 인증변수를 갱신(S13)하고, 이전과 다른 값으로 갱신된 인증변수를 상기 데이터베이스(22) 및 상기 사용자 단말(10)의 인증변수 파일(12)에 동일하게 저장한다. 이 과정을 인증변수 갱신 단계라 부를 수 있다. 이 경우 상기 애플리케이션 서버(21)로부터 상기 사용자 단말(10)로 갱신된 인증변수를 전송하는 과정은 상기 세션키를 이용한 암호화 통신으로 이루어진다.
정상 접속 모드(S12)의 서비스 세션이 종료된 후, 사용자가 다시 동일한 사용자 단말(10)을 이용하여 로그인을 시도할 때에는, 상기 인증변수 파일(12)에 최후에 저장된 상기 단말 인증변수가 로그인 요청 데이터에 포함되어 전송되므로, 역시 최후에 상기 데이터베이스(22)에 저장된 상기 서버 인증변수와 서로 일치하여 사용자 인증에 성공하게 된다.
한편, 상기 단말 인증변수가 상기 서버 인증변수와 일치하지 않는 경우, 상기 로그인 관리부(211)는 사용자 인증에 실패한 것으로 판단한다. 다만, 상기 로그인 관리부(211)는 아이디 등의 사용자 식별정보가 사용자 등록 정보와 일치하는 경우에는 인증변수를 통한 사용자 인증에 실패하였더라도, 자동으로 혹은 사용자의 선택에 따라 비인증 접속 모드(S22)로 로그인되도록 할 수 있다. 등록된 사용자가 일시적으로 등록된 사용자 단말(10) 이외의 단말기로 정보통신 서비스에 접속할 필요성을 완전히 배제할 수는 없기 때문이다. 다만, 비인증 접속 모드(S22)로 로그인은 허용하더라도, 전술한 서버 인증변수는 그대로 유지된다. 등록된 사용자 단말(10)의 단말 인증변수가 그대로 유지되는 것은 물론이다.
비인증 접속 모드(S22)의 서비스는 이른바 비인증 접속 관리부(213)의 관리하에 제공될 수 있다. 상기 비인증 접속 관리부(213)는 비인증 접속 중에 혹은 서비스 종료 시에 비인증 사용 로그 알림(S23)을 생성한다. 또한, 비인증 접속 모드(S22)에서는 사용자의 개인 정보를 열람하거나 수정하는 등의 일부 기능이 제한될 수도 있다. 상기 비인증 접속 모드(S22)로 로그인 상태에서의 서비스에 대해서는 이후에 좀 더 자세히 살펴보기로 한다.
한편, 상기 운영자 시스템(20)은 상기 애플리케이션 서버(21)의 블록체인(50) 활용 기능을 이용하여, 상기 정상 접속 모드(S12)에 따른 로그인 기록을 블록체인에 전송(S15)할 수 있다. 이와 같이 로그인 기록을 블록체인(50)에 저장하는 과정을 블록체인 기반의 기록 단계라 부를 수 있다. 본 실시예에 따르면, 상기 애플리케이션 서버(21)는 상기 사용자 단말(10)이 상기 운영자 시스템(20)에 정상 접속 모드로 로그인된 경우와 비인증 접속 모드(S22)로 로그인된 경우의 로그인 기록이 구별되도록 블록체인(50)에 로그인 기록을 전송하도록 구성되는 것이 바람직하나, 반드시 이에 한정되는 것은 아니다.
도 3은 상기 도 1의 시스템에서 비인증 접속 예를 보인다.
비인증 접속 모드(S22)에서는 전술한 바와 같이 일부 기능이 제한될 수 있을 뿐만 아니라, 애플리케이션 서버는 상기 비인증 접속 모드로 로그인된 사용자의 메시지를 타 사용자의 사용자 단말 화면상에 표시할 때, 정상 접속 모드로 로그인된 사용자의 메시지와 시각적으로 구별되도록 표시한다. 예를 들어, 대화창(22SK) 내에서 비인증 접속 사용자가 타 사용자에게 메시지를 보내면, 그 해당 메시지에 눈에 잘 띄는 색깔의 테두리를 표시하는 등의 방법으로 정상 접속 사용자와의 대화창(12SK)과 시각적으로 구별되도록 함으로써, 타 사용자가 아이디 도용에 의한 피싱(Phishing)의 가능성이 있음을 미리 인식하도록 주의 표시를 제공한다. 또한, 비인증 접속 사용자의 단말 화면상에 표시되는 서비스 창(22FR)도 정상 접속시의 서비스 창(12FR)과 시각적으로 구별되도록, 일 예로 색깔이 서로 다른 프레임을 적용할 수 있다.
상기 비인증 접속 관리부(213)는 전술한 바와 같이, 비인증 접속 중에 혹은 서비스 종료 시에 비인증 사용 로그 알림을 생성(S23)한다. 생성된 비인증 사용 로그 알림(23M)은 운영자 시스템에 저장되어 있다가 이후에 동일한 사용자 식별정보로 사용자 인증을 통한 정상 접속이 이루어지면 사용자 단말에 애플리케이션 푸시 알림의 형식으로 제공될 수 있다. 이와 달리 운영자 시스템은 비인증 접속이 일어나는 즉시 해당 사용자의 등록된 사용자 단말에 애플리케이션 푸시 알림을 전송하여 등록된 사용자가 이를 인지하도록 할 수도 있다.
도 4는 블록체인 기반의 로그인 기록 관리 기능 측면에서 애플리케이션이 설치된 사용자 단말의 구성을 개략적으로 보인다.
사용자가 상기 사용자 단말(10)에 애플리케이션을 설치하고 실행하면, 애플리케이션 패스워드(PW)를 입력하는 실행창(11P)이 열린다. 애플리케이션은 개인 키(Private Key)를 생성하고 사용자가 입력한 애플리케이션 패스워드(PW)를 이용하여 상기 개인 키를 암호화하여 상기 사용자 단말(10)의 저장 매체에 암호화된 개인 키(12)를 저장한다. 백업 또는 타 단말기에서의 애플리케이션 사용을 위해 상기 암호화된 개인 키(12)를 인코딩(encoding)하여 타 단말기로 '내보내기' 할 수 있고, 타 단말기로부터 암호화된 개인 키(12)를 '가져오기' 하여 상기 사용자 단말(10)에 저장할 수도 있다. 이 경우에도 상기 애플리케이션 패스워드가 사용된다. 상기 암호화된 개인 키(12)는 QR코드의 형태로 화면상에 표시될 수 있고, QR코드 스캐닝을 통해 '가져오기' 또는 '내보내기' 될 수도 있다.
애플리케이션 실행 시 사용자가 상기 애플리케이션 패스워드를 입력하면, 애플리케이션은 이를 이용하여 상기 암호화된 개인 키(12)를 복호화하고, 다시 복호화한 개인 키를 이용하여 공개 키(Public Key)(130)를 생성한다. 상기 공개 키(130)는 사용자 등록 과정을 통해 상기 운영자 시스템에 전달되고, 전술한 바와 같이 상기 운영자 시스템 내의 데이터베이스에 저장된다.
여기서, 상기 애플리케이션 패스워드는 전술한 바와 같이, 개인 키의 암호화나 복호화에 사용될 뿐 상기 사용자 단말(10)을 포함하여 어디에도 저장되지 않는다. 한편, 상기 사용자 단말(10)의 저장 매체에는 전술한 인증변수(12)가 파일 형태로 저장된다. 상기 인증변수(12)는 암호화되어 저장될 수 있고, 상기 암호화에도 전술한 애플리케이션 패스워드가 사용될 수 있으나, 이에 한정되는 것은 아니다.
운영자 시스템은 상기 애플리케이션을 통해 사용자가 사용자 등록을 마친 후 및 로그인 된 후에 각각 블록체인 네트워크에 사용자 등록 트랜잭션 정보 및 로그인 트랜잭션 정보를 전송하는데, 이때 상기 공개 키(130)가 사용된다.
도 5는 운영자 시스템에서 블록체인 네트워크로 로그인 트랜잭션 정보를 발행하는 방식을 예시한다.
운영자 시스템(20)이 로그인 기록 등을 블록체인에 저장하는 경우의 예를 살펴보면, 애플리케이션 서버 혹은 별도의 서버를 이용하여 블록체인 네트워크(51)에 대하여 로그인 트랜잭션 정보(100)를 발행할 수 있다. 상기 로그인 트랜잭션 정보(100)에는 본문에 해당하는 것으로 사용자 단말이 운영자 시스템(20)에 사용자 인증 절차를 거쳐 정상 접속된, 혹은 상기 인증변수의 불일치로 비인증 접속된 로그인 기록(201)이 포함된다. 좀 더 구체적인 예로서 상기 로그인 기록(201)은 로그인 시각, 접속된 IP 주소, 접속에 사용된 사용자 단말의 고유정보, 등의 정보가 포함될 수 있다. 사용자 인증에 사용된 인증변수가 포함될 수도 있다.
한편, 비제한적인 예로서, 상기 로그인 기록(201)은 암호화된 상태로 상기 로그인 트랜잭션 정보(100)에 포함될 수 있다. 이 경우, 상기 로그인 기록(201)은 상기 공개 키(130)로 암호화되고 인코딩될 수 있다. 또한, 위와 같은 방식으로 암호화된 코드 형식의 로그인 기록(201)이 생성되면, 상기 운영자 시스템(20)은 사용자의 공개 키(230)를 이용한 디지털 서명(202)을 추가하여 상기 로그인 트랜잭션 정보(100)를 발행할 수 있다.
이후, 블록체인 네트워크(51)의 노드에서 상기 로그인 트랜잭션 정보(100)를 검증하고 블록체인에 포함시키는 과정은 종래의 블록체인 기술에 따라 진행될 수 있다. 예컨대, 블록체인 네트워크(51) 내의 채굴자 노드에서 다수의 로그인 기록(201)을 포함하는 데이터 블록을 구성하고, 이것을 검증하여 블록체인에서 관리되도록 구성될 수 있다.
한편, 상기 운영자 시스템(20)이 상기 로그인 기록(201)을 블록체인에 저장하는 과정은, 위와 같이 운영자 시스템(20)이 트랜잭션 정보를 발행하고 블록체인 네트워크(51)의 채굴자 노드에서 이들을 포함하는 데이터 블록을 생성하여 전파하는 방식으로 한정되는 것은 아니다. 전술한 블록체인 네트워크(51)가 퍼블릭 블록체인 네트워크인지 프라이빗 블록체인 네트워크인지에 따라서 블록체인에 정보를 저장하는 방식도 달라질 수도 있다.
위에서는 운영자 시스템(20)이 사용자 단말(10)로부터의 로그인 기록을 블록체인에 저장하는 방식에 관하여 설명했으나, 사용자 등록 기록이나 사용자 단말의 이전 기록 등을 블록체인에 저장하는 경우에도 이와 마찬가지의 방식이 적용된다.
이하에서는, 전술한 바와 같이 인증변수를 이용하여 사용자 인증 절차가 강화되고, 블록체인 기반으로 로그인 기록 등에 대한 관리가 강화된 가운데에서도 사용자의 편의성을 잃지 않도록 하는 방안에 관하여 설명된다. 사용자가 미등록 단말을 이용하여 정상 접속할 수 있도록 하는 방안과, 사용자가 단말기를 변경하여 사용자 단말의 지위를 타 단말기로 이전할 수 있도록 하는 방안, 및 이들 절차의 진행 후에 그 결과로서의 로그인 기록과 사용자 단말 이전 기록을 블록체인에 남기는 방안에 관하여 설명하기로 한다.
도 6은 상기 도 1의 시스템에서 미등록 사용자 단말을 이용한 사용자 인증 접속의 예를 보인다.
모바일기기인 사용자 단말(10)을 통해 등록된 사용자가 예컨대 PC와 같은 미등록 단말(30)을 이용하여 정보통신 서비스의 운영자 시스템(20)에 접속하고자 할 때, 앞서 설명된 비인증 접속 모드로 로그인할 수 있을 뿐만 아니라, 상기 사용자 단말(10)을 활용한 사용자 인증을 통해 정상 접속 모드로 로그인할 수도 있다. 이때에도 상기 운영자 시스템(20)은 블록체인(50)에 로그인 기록을 남길 수 있다.
그 과정을 살펴보면, 먼저 사용자가 미등록 단말(30)에서 로그인 정보창(31)에 아이디와 같은 사용자 식별정보를 입력하고 사용자 인증 접속을 요청하면, 운영자 시스템(20)에서 상기 미등록 단말(30)에 QR코드(33)를 제공한다. 사용자가 상기 미등록 단말(30)의 화면상에 표시된 상기 QR코드(33)를 사용자 단말(10)을 이용하여 스캔하면, 상기 사용자 단말(10)의 인증변수 파일(12)에 저장된 단말 인증변수가 운영자 시스템으로 전송된다. 운영자 시스템(20)의 애플리케이션 서버(21)는 데이터베이스(22)에서 상기 사용자 식별정보에 대응되는 이른바 서버 인증변수를 불러와서 상기 단말 인증변수와의 일치 여부를 판단하고, 이들이 서로 일치하면 상기 미등록 단말(30)의 정상 접속 모드 로그인을 승인하고 서비스를 제공한다.
이 경우, 상기 애플리케이션 서버(21)는 상기 사용자 단말(10)에 상기 미등록 단말의 정상 접속을 확인하는 알림을 전송할 수 있고, 상기 데이터베이스(22)는 물론 상기 사용자 단말(10)의 인증변수 파일(12)에도 인증변수가 새로운 값으로 갱신되도록 한다. 상기 운영자 시스템(20)은 블록체인(50)에 상기 미등록 단말에 대한 사용자 인증 기록을 포함하는 로그인 기록을 남길 수 있다.
도 7은 상기 도 1의 시스템에서 사용자 단말 이전의 예를 보인다.
등록된 사용자가 현재 등록된 사용자 단말 A(10A)로부터 미등록 상태인 사용자 단말 B(10B)로 사용자 단말의 지위를 이전하고자 할 때, 먼저 사용자 단말 B(10B)에 상기 애플리케이션(11B)을 설치한 상태에서 운영자 시스템(20)에 접속하여 사용 단말 이전 요청을 전송하면 상기 운영자 시스템(20)은 후속 절차 진행을 위한 QR코드(13B)를 제공한다.
사용자가 상기 사용자 단말 A(10A)로 상기 사용자 단말 B(10B)에 표시된 상기 QR코드를 인식하면, 상기 사용자 단말 A(10A)는 인증변수 파일(12A)에 저장된 현 시점의 단말 인증변수를 상기 운영자 시스템(20)으로 전송하고, 상기 운영자 시스템(20)은 상기 단말 인증변수가 데이터베이스(22)에 저장된 서버 인증변수와 일치하면 사용자 단말 이전 절차를 계속 진행한다.
상기 사용자 단말 B(10B)의 인증변수 파일(12B)에 현 시점의 단말 인증변수 값이 저장되고, 상기 사용자 단말 A(10A)의 인증변수 파일(12A)에 저장된 인증변수는 삭제되거나 그 값이 초기화된다. 이러한 절차를 거쳐 사용자는 사용자 단말 B(10B)를 이용하여 별도로 사용자 등록을 진행하는 번거로움 없이 자신의 계정에 정상적으로 접속할 수 있게 된다. 한편, 운영자 시스템(20)은 사용자 단말 이전 절차 완료 시에 사용자 단말 이전 기록을 블록체인(50)으로 전송하여 남길 수 있다.
이상 본 발명의 실시예를 참조하여 본 발명의 기술적 특징들을 살펴보았다. 본 발명의 범위는 위에서 설명된 실시예에 한정되지 않으며, 그 기술적 사상의 범위 내에서 다양한 형태로 변형될 수 있다. 예를 들어, 정상 접속 시 전술한 바와 같이 운영자 시스템에서 인증변수를 새로운 값으로 갱신하고 그 갱신된 값을 사용자 단말에 전송하는 것 외에도, 사용자 단말에서 상기 인증변수를 먼저 갱신하고 그 값을 운영자 시스템에 제공하는 방식이나, 사용자 단말과 운영자 시스템에서 각각 동일한 규칙에 따라 인증변수를 갱신하는 방식으로 구현될 수도 있다.
10: 사용자 단말
11: 애플리케이션 12: 인증변수 파일
20: 운영자 시스템 21: 애플리케이션 서버
22: 데이터베이스 30: 미등록 단말
31: 로그인 정보창 33: QR 코드
50: 블록체인 51: 블록체인 네트워크

Claims (10)

  1. 정보통신 서비스 운영자 시스템에 대한 접속 기능 및 블록체인 기반의 로그인 기록 열람 기능을 갖는 애플리케이션이 설치된 것으로, 로그인 요청시 사용자 식별정보 및 인증변수를 포함하는 로그인 요청 데이터를 전송하는 사용자 단말;
    각 사용자의 사용자 등록 절차에 따라 미리 등록된 사용자 식별정보와 함께 상기 사용자 식별정보에 대응되는 인증변수를 저장하는 데이터베이스를 구비하고, 상기 로그인 요청 데이터에 포함된 인증변수와 상기 사용자 식별정보에 따라 상기 데이터베이스로부터 호출된 인증변수의 일치 여부에 따라 사용자 인증 여부를 판단하는, 운영자 시스템; 및,
    상기 운영자 시스템으로부터 상기 사용자 인증의 성공 여부에 따라 정상 접속 로그인 또는 비인증 접속 로그인으로 구별되는 로그인 기록을 수신하여 저장하는 것으로, 상기 로그인 기록들이 포함된 블록체인을 보유하는 다수의 블록체인 노드; 를 포함하고,
    상기 인증변수는 1회의 상기 정상 접속 로그인 후 갱신되어 상기 사용자 단말 및 상기 데이터베이스에 동일하게 각각 저장되는,
    블록체인 기반의 사용자 인증 시스템.
  2. 제 1 항에 있어서,
    상기 인증변수는 초기값으로부터 매 갱신 시마다 그 값이 일정한 단위로 순차적으로 증가하는 숫자 또는 문자열을 포함하는,
    블록체인 기반의 사용자 인증 시스템.
  3. 제 2 항에 있어서,
    상기 인증변수의 초기값은 상기 운영자 시스템에 대한 사용자 등록시에 랜덤(random)하게 생성되어 상기 데이터베이스 및 상기 사용자 단말에 각각 저장되는,
    블록체인 기반의 사용자 인증 시스템.
  4. 제 1 항에 있어서,
    상기 사용자 단말은 상기 인증변수를 상기 사용자 단말의 파일에 저장하는,
    블록체인 기반의 사용자 인증 시스템.
  5. 제 1 항에 있어서,
    상기 애플리케이션은, 애플리케이션 패스워드를 입력받아 상기 사용자 단말의 저장 매체에 암호화되어 저장된 개인 키를 복호화하고, 상기 개인 키를 이용하여 공개 키를 생성하며,
    상기 운영자 시스템은 상기 애플리케이션을 통한 상기 사용자 단말의 정상 접속 로그인 시각을 포함하는 로그인 기록을 상기 공개 키로 암호화하여 생성된 로그인 트랜잭션 정보를 상기 블록체인에 전송하는,
    블록체인 기반의 사용자 인증 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 인증변수는 상기 1회의 정상 접속 로그인 후 로그아웃 전에 상기 운영자 시스템에서 갱신되어 상기 데이터베이스 및 상기 사용자 단말에 각각 저장되는,
    블록체인 기반의 사용자 인증 시스템.
  7. 제 1 항에 있어서,
    상기 운영자 시스템은 상기 로그인 요청 데이터에 포함된 상기 사용자 식별정보가 상기 데이터베이스 상의 등록된 사용자 식별정보와 일치하면 로그인을 승인하고, 로그인 후의 서비스 모드를 상기 사용자 인증 성공 여부에 따라 서로 다르게, 사용자 인증에 성공한 경우의 정상 접속 모드와 사용자 인증에 실패한 경우의 비인증 접속 모드로 나누어 제공하는,
    블록체인 기반의 사용자 인증 시스템.
  8. 제 7 항에 있어서,
    상기 운영자 시스템은 상기 비인증 접속 모드로 로그인된 사용자의 메시지를 타 사용자의 사용자 단말 화면상에 표시할 때, 정상 접속 모드로 로그인된 사용자의 메시지와 시각적으로 구별되도록 표시하는,
    블록체인 기반의 사용자 인증 시스템.
  9. 제 7 항에 있어서,
    상기 운영자 시스템은 상기 비인증 접속 모드의 로그인 발생시 비인증 사용 로그 알림을 생성 및 저장하고, 이후 동일한 사용자 식별정보로 상기 정상 접속 로그인 발생시 상기 비인증 사용 로그 알림을 사용자 단말에 제공하는,
    블록체인 기반의 사용자 인증 시스템.
  10. 사용자 단말에서, 사용자 식별정보 및 상기 사용자 단말에 미리 저장된 인증변수를 포함하는 로그인 요청 데이터를 운영자 시스템으로 전송하는 로그인 요청 단계;
    운영자 시스템에서, 각 사용자의 사용자 등록 절차에 따라 미리 등록된 사용자 식별정보와 함께 상기 사용자 식별정보에 대응되는 인증변수가 저장된 데이터베이스를 이용하여, 상기 로그인 요청 데이터에 포함된 인증변수와, 상기 로그인 요청 데이터에 포함된 상기 사용자 식별정보에 따라 상기 데이터베이스로부터 호출된 인증변수의 일치 여부에 따라 사용자 인증 성공 여부를 판단하는, 사용자 인증 단계;
    상기 두 개의 인증변수가 일치하여 사용자 인증에 성공한 경우, 상기 인증변수를 갱신하여 상기 사용자 단말 및 상기 데이터베이스에 갱신된 인증변수를 저장하는, 인증변수 갱신 단계; 및,
    상기 운영자 시스템으로부터 블록체인 네트워크로, 상기 사용자 인증의 성공 여부에 따라 정상 접속 로그인 또는 비인증 접속 로그인으로 구별되는 로그인 기록을 전송하여 블록체인에 저장하는, 블록체인 기반의 기록 단계;를 포함하는,
    블록체인 기반의 사용자 인증 방법.
KR1020180080999A 2018-07-12 2018-07-12 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법 KR101996317B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180080999A KR101996317B1 (ko) 2018-07-12 2018-07-12 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180080999A KR101996317B1 (ko) 2018-07-12 2018-07-12 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101996317B1 true KR101996317B1 (ko) 2019-07-04

Family

ID=67259339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180080999A KR101996317B1 (ko) 2018-07-12 2018-07-12 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101996317B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602241A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 服务安装方法、装置、服务器及存储介质
CN112417268A (zh) * 2019-12-20 2021-02-26 周梦洁 一种基于区块链的相关信息推送方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100099773A (ko) * 2009-03-04 2010-09-15 주식회사 엔씨소프트 로그인 처리 시스템 및 방법
JP2016081537A (ja) * 2015-11-09 2016-05-16 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
JP2018082244A (ja) * 2016-11-14 2018-05-24 ソラミツ株式会社 ログイン認証システム、ログイン認証システムにおけるサービスプロバイダ及び認証サーバ、ログイン認証システムにおけるサービスプロバイダ、認証サーバ、コンピュータ及び携帯端末のためのログイン認証方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100099773A (ko) * 2009-03-04 2010-09-15 주식회사 엔씨소프트 로그인 처리 시스템 및 방법
JP2016081537A (ja) * 2015-11-09 2016-05-16 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
JP2018082244A (ja) * 2016-11-14 2018-05-24 ソラミツ株式会社 ログイン認証システム、ログイン認証システムにおけるサービスプロバイダ及び認証サーバ、ログイン認証システムにおけるサービスプロバイダ、認証サーバ、コンピュータ及び携帯端末のためのログイン認証方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602241A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 服务安装方法、装置、服务器及存储介质
CN112417268A (zh) * 2019-12-20 2021-02-26 周梦洁 一种基于区块链的相关信息推送方法

Similar Documents

Publication Publication Date Title
CN108064440B (zh) 基于区块链的fido认证方法、装置及系统
US9338163B2 (en) Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method
US20090290715A1 (en) Security architecture for peer-to-peer storage system
KR101451359B1 (ko) 사용자 계정 회복
WO2009140663A1 (en) Mobile device assisted secure computer network communications
US8397281B2 (en) Service assisted secret provisioning
US11716312B1 (en) Platform for optimizing secure communications
KR20210095093A (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
RU2713604C1 (ru) Регистрация и аутентификация пользователей без паролей
JP2017152880A (ja) 認証システム、鍵処理連携方法、および、鍵処理連携プログラム
JP6479723B2 (ja) 秘密鍵管理システムおよび秘密鍵管理方法
CN110611569A (zh) 一种认证方法及相关设备
KR101273285B1 (ko) 인증 에이전트 장치, 온라인 서비스 인증 방법 및 시스템
KR101996317B1 (ko) 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법
US20140250499A1 (en) Password based security method, systems and devices
CN103152326A (zh) 一种分布式认证方法及认证系统
KR101651563B1 (ko) 사용 이력 기반의 인증코드 관리 시스템 및 그 방법
JP2004013560A (ja) 認証システム、通信端末及びサーバ
JP6240102B2 (ja) 認証システム、認証鍵管理装置、認証鍵管理方法および認証鍵管理プログラム
KR102062851B1 (ko) 토큰 관리 데몬을 이용한 싱글 사인 온 서비스 인증 방법 및 시스템
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
KR102288445B1 (ko) 단체용 인증모듈의 온보딩 방법, 장치 및 프로그램
TWI725623B (zh) 基於管理者自發行票券的點對點權限管理方法
WO2007030517A2 (en) Systems and methods for third-party authentication
KR102057564B1 (ko) 인증변수를 이용한 사용자 인증 시스템 및 그 방법

Legal Events

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