KR102515721B1 - 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치 - Google Patents

블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치 Download PDF

Info

Publication number
KR102515721B1
KR102515721B1 KR1020220187343A KR20220187343A KR102515721B1 KR 102515721 B1 KR102515721 B1 KR 102515721B1 KR 1020220187343 A KR1020220187343 A KR 1020220187343A KR 20220187343 A KR20220187343 A KR 20220187343A KR 102515721 B1 KR102515721 B1 KR 102515721B1
Authority
KR
South Korea
Prior art keywords
blockchain
identity authentication
user terminal
service
time password
Prior art date
Application number
KR1020220187343A
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 KR1020220187343A priority Critical patent/KR102515721B1/ko
Application granted granted Critical
Publication of KR102515721B1 publication Critical patent/KR102515721B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Facsimiles In General (AREA)

Abstract

블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법 및 장치가 개시된다. 본 발명의 NFP 본인인증 지원 방법은 블록체인 기반의 본인인증을 요청하는 사용자의 장치인 사용자 단말로부터 본인인증 요청을 수신하는 단계, 사용자 단말에서 생성되어 블록체인 네트워크에 저장된 일회성 패스워드를 사용자 단말로 요청하여 수신하는 단계, 블록체인 네트워크에 저장된 일회성 패스워드를 조회한 결과를 기반으로 사용자 단말로부터 수신된 일회성 패스워드를 검증하는 단계 및 일회성 패스워드의 검증을 통해 수행된 본인인증의 결과를 상기 사용자 단말로 전송하는 단계를 포함한다.

Description

블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법 및 장치 {NON-FUNGIBLE PASSWORD AUTHENTICATION SUPPROTING METHOD USING ONE TIME PASSWORD FOR AUTHENTICATION BASED ON BLOCKCHAIN AND APPARATUS THEREFOR}
본 발명은 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법 및 장치에 관한 것으로, 더욱 상세하게는 블록체인 기반의 본인인증에 사용되는 방식을 적용하여 사용자 단말에서 생성되는 일회성 패스워드를 본인인증 서버에서 블록체인 네트워크를 통해 검증하여 사용자 단말에 대한 본인인증을 안전하게 지원하는 NFP 본인인증 지원 방법 및 장치에 관한 것이다.
본인인증과 관련된 기술은 일반적으로 사용자 단말에서 아이디와 패스워드를 이용하는 본인인증의 방법을 대부분 적용한다. 그러나, 이와 같은 본인인증의 인증방식은 사용자 단말(또는, 사용자)의 아이디와 패스워드가 유출될 경우 정상적인 인증기능을 수행하기 어렵다는 문제점이 있다.
이와 같은 문제를 보완하기 위해서 다양한 본인인증을 위한 인증방식이 사용되고 있다. 예를 들어, 휴대폰 본인인증, 공인인증서를 통한 본인인증, OTP를 이용한 본인인증, 또는 신용카드를 이용한 본인 인증 등의 인증방식이 있다. 그러나, 공인인증서를 통한 본인인증은 비교적 보안 등급이 높은 인증방식이지만, 공인인증서를 안정적으로 휴대하거나 보유하고 있기 쉽지 않다는 단점이 있다.
또한, 휴대폰 본인인증은 인증번호를 이용하여 휴대폰의 보유 및 점유를 인증하는 방식으로 스미싱 등에 취약하다는 문제점이 있다. 아울러, 이와 같은 인증방식과 관련된 기술은 민감한 정보를 의미할 수 있는 주민등록번호, CI(Connecting Information), IPIN 등의 개인식별 정보가 네트워크 상에서 통신을 통해 전송되어야 하므로 해킹에 노출될 위험이 있다.
종래의 패스워드를 이용한 인증방식은 본인인증을 요청하는 서버가 패스워드를 생성하고 사용자가 그 패스워드를 입력하여 검증하는 방식이었으나, 이는 상기 서버에 보안 책임이 집중된 중앙화(centralization)된 방식이라는 점에서 한계가 있고 비효율적이다.
한편, 블록체인(Blockchain)이란 블록에 데이터를 담아 체인 형태로 연결하고, 수많은 컴퓨터나 통신을 수행하는 노드와 같은 장치에 동시적으로 이를 복제하여 저장하는 분산형 데이터 저장 기술이며, 이를 공공 거래 장부라고도 칭할 수 있다. 이와 같은 블록체인 기반의 네트워크에 본인인증을 위한 정보를 분산하여 저장하는 기술을 적용할 수 있으나, 이와 관련하여 구체적으로 제안된 기술이나 이를 위한 기술이 적극적으로 활용되고 있지는 않은 실정이다.
대한민국공개특허 제10-2022-0051774호
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 블록체인 기반의 본인인증에 사용되는 방식을 적용하여 사용자 단말에서 생성되는 일회성 패스워드를 본인인증 서버에서 블록체인 네트워크를 통해 검증하여 사용자 단말에 대한 본인인증을 안전하게 지원하는 NFP 본인인증 지원 방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP(Non-Fungible Password) 본인인증 지원 방법은, 상기 블록체인 기반의 본인인증을 요청하는 사용자의 장치인 사용자 단말로부터 본인인증 요청을 수신하는 단계; 상기 사용자 단말에서 생성되어 블록체인 네트워크에 저장된 일회성 패스워드를 사용자 단말로 요청하여 수신하는 단계; 상기 블록체인 네트워크에 저장된 일회성 패스워드를 조회한 결과를 기반으로 상기 사용자 단말로부터 수신된 일회성 패스워드를 검증하는 단계; 및 상기 일회성 패스워드의 검증을 통해 수행된 본인인증의 결과를 상기 사용자 단말로 전송하는 단계를 포함한다.
여기서, 상기 일회성 패스워드는 블록체인 네트워크에 저장될 때 복수의 블록체인 노드들에 분산하여 저장될 수 있고, 암호화되어 저장될 수 있다.
여기서, 상기 사용자 단말에서 일회성 패스워드가 생성되어 블록체인 네트워크에 저장되는 단계는, 상기 사용자 단말로 블록체인 기반의 본인인증을 위해 사용되는 일회성 패스워드의 생성을 요청하고, 상기 사용자 단말로부터 일회성 패스워드의 생성 결과를 수신하는 단계, 및 상기 수신된 생성 결과에 대한 응답으로 상기 사용자 단말로 상기 일회성 패스워드를 블록체인 네트워크의 블록체인 서버로 전송하여 상기 블록체인 네트워크에 저장하도록 요청하는 단계를 포함한다.
여기서, 상기 일회성 패스워드를 수신하는 단계는 상기 일회성 패스워드를 사용자 단말에서 생성하도록 요청하는 과정에서 상기 일회성 패스워드가 유효한 시간을 의미하는 상기 일회성 패스워드에 대한 유효 시간이 설정되도록 더 요청할 수 있다.
여기서, 상기 블록체인 네트워크에 저장하도록 요청하는 단계는 상기 사용자 단말로부터 본인인증 요청이 수신되는 시점에 상기 사용자 단말에서 실행되고 있는 서비스를 분석하여 상기 본인인증이 요구되는 서비스의 종류를 확인하는 단계, 서비스의 종류에 기초하여 미리 매칭된 서비스의 보안 등급에 대한 정보가 저장된 상기 NFP 본인인증 지원 장치의 데이터베이스에서 상기 서비스의 보안 등급을 확인하는 단계 및 상기 확인된 보안 등급에 기초하여 미리 설정된 노드의 수에 대한 정보를 상기 사용자 단말로 전송하여 상기 노드의 수에 상응하는 복수의 블록체인 노드들에 저장되도록 요청하는 단계를 포함할 수 있다.
여기서, 상기 서비스의 종류를 확인하는 단계는 상기 서비스의 종류를 확인하기 위해 상기 사용자 단말에서 본인인증이 요청이 발생되고 있는 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보를 요청하는 단계 및 상기 사용자 단말로부터 수신된 서비스의 명칭에 포함된 키워드에 대한 정보 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보 중 적어도 하나를 분석하여 상기 서비스의 종류를 확인하는 단계를 포함할 수 있다.
여기서, 상기 서비스의 종류를 확인하는 단계는 상기 키워드와 미리 매칭된 서비스의 종류 및 상기 도메인의 인증서 등급과 미리 매칭된 서비스의 종류를 기반으로 상기 사용자 단말에 대한 서비스의 종류를 확인하되, 상기 키워드와 미리 매칭된 서비스의 종류 및 상기 도메인의 인증서 등급과 미리 매칭된 서비스의 종류가 서로 상이한 경우, 상기 도메인의 인증서 등급과 미리 매칭된 서비스의 종류를 상기 사용자 단말에 대한 서비스의 종류로 판단할 수 있다.
여기서, 상기 블록체인 네트워크에 저장하도록 요청하는 단계는 상기 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들의 부하 정도와 관련된 상태 정보를 상기 블록체인 서버로 요청하고, 상기 블록체인 서버로부터 상태 정보를 수신하는 단계, 상기 상태 정보를 분석하여 각 블록체인 네트워크의 안정된 정도를 의미하는 안정 지수를 산출하고, 안정 지수에 기초하여 복수의 블록체인 네트워크들 중 본인인증을 위한 블록체인 네트워크 후보군을 선택하는 단계, 상기 블록체인 네트워크 후보군에 포함된 복수의 블록체인 네트워크들 중 상기 확인된 보안 등급에 기초하여 보안 등급이 높을수록 높은 보안성을 가지는 블록체인 네트워크를 선택하는 단계 및 상기 선택된 블록체인 네트워크에 대한 정보를 상기 사용자 단말로 전송하여 상기 일회성 패스워드가 상기 선택된 블록체인 네트워크의 블록체인 노드에 저장되도록 요청하는 단계를 포함할 수 있다.
여기서, 상기 블록체인 네트워크를 선택하는 단계는 상기 복수의 블록체인 네트워크들에 포함되는 퍼블릭(public) 블록체인 네트워크, 하이브리드(hybrid) 블록체인 네트워크 및 프라이빗(private) 블록체인 네트워크에 대하여, 퍼블릭 블록체인 네트워크, 하이브리드 블록체인 네트워크 및 프라이빗 블록체인 네트워크의 순서로 보안성이 높은 블록체인 네트워크로 판단할 수 있다.
여기서, 상기 상태 정보는 상기 복수의 블록체인 네트워크들에 포함된 각 블록체인 노드의 실시간 트랜잭션 처리 상황을 통해 확인되는 실시간 사용 여부에 대한 정보 및 각 블록체인 노드에서 트랜잭션을 처리하는 미리 설정된 시간 단위에 상응하는 평균 처리 속도에 대한 정보를 포함할 수 있다.
여기서, 상기 블록체인 기반의 NFP 본인인증 지원 방법은 상기 사용자 단말에 대하여 블록체인 기반의 본인인증에 사용된 블록체인 노드의 정보를 수집하고, 수집된 블록체인 노드의 식별자를 상기 사용자 단말의 식별 정보와 매칭하여 블록체인 노드를 그룹화 하는 단계 및 상기 그룹화 된 블록체인 노드를 통해 수행된 상기 사용자 단말에 대한 상기 본인인증의 결과를 확인하여 상기 그룹화 된 블록체인 노드에 대한 본인인증의 결과 이력을 누적하여 저장하는 단계를 더 포함할 수 있다.
여기서, 상기 결과 이력을 누적하여 저장하는 단계는 상기 본인인증의 결과를 확인하여 본인인증이 실패한 것으로 확인되는 경우, 상기 그룹화 된 블록체인 노드 중 실패 횟수가 미리 설정된 값 이상인 노드에 대하여 추가적으로 수행되는 본인인증을 위한 블록체인 노드로 선택되지 않도록 처리할 수 있다.
본 발명에 의하면, 블록체인을 기반으로 본인인증을 진행함으로써 본인인증을 안전하고 신뢰성 있게 지원할 수 있다.
또한, 일회성 패스워드를 본인인증 서버가 아닌 본인인증을 요청하는 사용자의 장치에서 생성하는 탈중앙화(decentralization)된 방식을 사용함으로써 효율적이고 본인인증 서버의 보안책임에 대한 부담을 낮출 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP본인인증 지원 방법이 수행되는 환경을 도시한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 장치에 대한 하드웨어 블록도이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법을 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 블록체인 노드의 수를 제어하는 방법을 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 서비스의 종류를 확인하는 방법을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 블록체인 네트워크를 선택하는 방법을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 블록체인 노드를 관리하는 방법을 도시한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP본인인증 지원 방법이 수행되는 환경을 도시한 개념도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반의 NFP 본인인증 지원 방법은 사용자 단말(100), 블록체인 서버(200) 및 본인인증 서버(300)에서 수행될 수 있다. 구체적으로, 블록체인 기반의 NFP 본인인증 지원 방법은 본인인증 서버(300)를 일 구성요소로 포함하는 NFP 본인인증 지원 장치(500)의 주도적인 동작에 기초하여 수행될 수 있다. NFP 본인인증 지원 장치(500)는 본인인증 서버(200) 자체를 의미할 수도 있고, 본 발명의 방법을 지원하기 위해 필요한 구성요소들을 더 포함하는 장치를 의미할 수도 있다.
사용자 단말(100)은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증에 사용되는 일회성 패스워드를 생성할 수 있고, 블록체인 서버(200)에 일회성 패스워드를 전송하여 저장할 수 있다. 사용자 단말(100)은 블록체인 기반의 본인인증을 NFP 본인인증 지원 장치(500)에 요청하는 사용자의 장치를 의미할 수 있으며, 더욱 상세하게는 사용자의 스마트폰(smart phone) 및 PC 등과 같은 장치를 의미할 수 있다. 또한, 사용자 단말(100)은 블록체인 기반의 본인인증을 위해 필요한 정보(예를 들어, 일회성 패스워드 등)의 생성에 대한 요청을 NFP 본인인증 지원 장치(500)로부터 수신할 수 있고, 이에 대한 응답으로 필요한 정보를 생성하여 블록체인 서버(200) 또는 본인인증 서버(300)로 전송할 수 있다.
블록체인 서버(200)는 블록체인 네트워크를 관리하는 장치를 의미할 수 있으며, 블록체인 기반의 본인인증을 위해 필요한 정보(예를 들어, 일회성 패스워드 등)를 사용자 단말(100)로부터 수신할 수 있고, 수신된 본인인증을 위해 필요한 정보를 블록체인 네트워크에 포함된 복수의 노드들에 분산하여 저장되도록 처리할 수 있다. 또한, 블록체인 서버(200)는 본인인증 서버(300)로부터 사용자 단말(100)에 대한 본인인증에 필요한 정보의 요청을 수신할 수 있고, 이에 대한 응답으로 본인인증에 필요한 정보를 본인인증 서버(300)로 전송할 수 있다.
일 실시예에서, 블록체인 서버(200)는 단일의 블록체인 네트워크일 수 있다. 다른 실시예에서는, 블록체인 서버(200)는 단일의 블록체인 네트워크를 관리하는 것이 아닌 서로 다른 종류의 복수의 블록체인 네트워크들을 관리할 수 있고, 본인인증을 위해 필요한 정보를 복수의 블록체인 네트워크들 중 NFP 본인인증 지원 장치(500)에 의해 선택된 블록체인 네트워크를 기반으로 분산하여 저장되도록 처리할 수 있다. 예를 들어, 복수의 블록체인 네트워크들은 퍼블릭(public) 블록체인 네트워크, 하이브리드(hybrid) 블록체인 네트워크 및 프라이빗(private) 블록체인 네트워크를 포함할 수 있다. 다만, 본 발명의 실시예가 이에 제한되는 것은 아니다.
본인인증 서버(300)는 사용자 단말(100)에서 제공받은 일회성 패스워드를 블록체인 서버(200)를 통해 검증함으로써 본인인증을 수행할 수 있다. 또한, 본인인증 서버(300)는 사용자 단말(100)로부터 수신되는 블록체인 기반의 본인인증에 대한 요청에 상응하여 사용자 단말(100)에 대한 본인인증을 수행할 수 있으며, 수행된 본인인증의 결과를 사용자 단말(100)로 전송할 수 있다.
구체적으로, 본인인증 서버(300)는 사용자 단말(100)에서 생성된 일회성 패스워드를 블록체인 서버(200)의 블록체인 네트워크의 블록체인 노드를 기반으로 검증할 수 있다. 이후, 본인인증 서버(300)는 블록체인 서버(200)의 블록체인 네트워크의 블록체인 노드를 기반으로 검증된 결과에 기초하여 사용자 단말(100)에 대한 블록체인 기반의 본인인증을 수행할 수 있다.
이와 같은 동작들은 NFP 본인인증 지원 장치(500)를 통해 주도적으로 수행될 수 있으며, 각 구성요소들은 블록체인 기반의 본인인증을 지원하기 위해 필요한 정보를 전송하거나 수신할 수 있도록 통신을 기반으로 서로 연동될 수 있다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 장치(500)에 대한 하드웨어 블록도이다. NFP 본인인증 지원 장치(500)는 본인인증 서버와 실질적으로 동일할 수도 있고, 본 발명의 하나 이상의 실시예를 구현하기 위해 필요한 구성요소들을 더 포함하는 장치일 수도 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반의 NFP 본인인증 지원 장치(500)는 NFP 본인인증 지원 방법을 수행하기 위한 적어도 하나의 프로세서(processor, 510) 및 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 520)를 포함할 수 있다.
여기서, 적어도 하나의 프로세서(510)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 일 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(520) 및 저장 장치(560) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(520)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
또한, 본 발명의 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 장치(500)는 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(530)를 포함할 수 있다. 또한, 블록체인 기반의 NFP 본인인증 지원 장치(500)는 입력 인터페이스 장치(540), 출력 인터페이스 장치(550) 및 저장 장치(560) 등을 더 포함할 수 있다. 서버(500)에 포함된 각각의 구성 요소들은 버스(bus)(570)에 의해 연결되어 서로 통신을 수행할 수 있다.
여기서, 적어도 하나의 단계는 본 발명의 일 실시예에 따른 블록체인 기반의 NFP 본인인증 지원 방법과 관련된 단계를 의미할 수 있고, 더욱 상세하게는 본 발명의 블록체인 기반의 NFP 본인인증 지원 장치(500)의 동작 방법과 관련된 단계를 더 포함할 수도 있다.
한편, 도 2를 참조하여 설명된 NFP 본인인증 지원 장치(500)의 하드웨어에 대한 설명은 반드시 NFP 본인인증 지원 장치(500)에 한정되는 것은 아닐 수 있다. 다시 말해, 도 2를 참조하여 설명된 NFP 본인인증 지원 장치(500)의 하드웨어에 대한 설명은 도 1을 참조하여 설명된 사용자 단말(100), 블록체인 서버(200) 및 본인인증 서버(300)에 대해서도 유사 또는 동일하게 적용될 수도 있다.
이하에서는, 도 1 및 2를 참조하여 설명된 본 발명의 일 실시예에 따른 사용자 단말(100), 블록체인 서버(200), 본인인증 서버(300) 및 NFP 본인인증 지원 장치(500)에서 블록체인 기반의 NFP 본인인증 지원 방법이 수행되는 구체적인 과정이 도 3 내지 도 7을 참조하여 보다 상세하게 설명된다.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법을 도시한 흐름도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반의 NFP 본인인증 지원 방법을 수행하는 NFP 본인인증 지원 장치는 블록체인 기반의 본인인증을 요청하는 사용자의 장치인 사용자 단말로부터 본인인증 요청을 수신하여(S100), 사용자 단말에서 생성되어 블록체인 네트워크에 저장된 일회성 패스워드를 사용자 단말로 요청할 수 있다(S200).
구체적으로, 사용자 단말은 NFP 본인인증 지원 장치가 사용자에 의해 본인인증 요청을 받기 전, 후 또는 동시적으로 일회성 패스워드를 생성할 수 있다. 사용자 단말은 일회성 패스워드를 생성할 수 있는 소프트웨어 등의 수단이 포함된 것일 수 있다. 이때, 일회성 패스워드가 유효한 시간을 의미할 수 있는 유효 시간이 함께 설정될 수 있다. 또는, 일회성 패스워드가 만료되는 조건이 설정될 수 있는데, 만료 조건은 미리 설정된 유효 시간, 인증 실패 횟수, 인증 성공 횟수, 인증 요청 단말의 IP 주소 등에서 선택되는 하나 이상을 포함할 수 있다.
사용자 단말에서 생성된 일회성 패스워드는 블록체인 서버에 전송되어 블록체인 네트워크에 암호화되어 저장될 수 있다. NFP 본인인증 지원 장치는 사용자 단말에 상기 일회성 패스워드를 요청하여 수신할 수 있다. 이때, NFP 본인인증 지원 장치는 상기 생성 및 블록체인 네트워크에 저장된 것과 동일한 일회성 패스워드를 전송할 것을 요청하는 것을 의미할 수 있다.
사용자 단말이 일회성 패스워드를 생성하는 단계는 물리적인 범주의 사용자 단말 내에서 수행되는 것만을 의미하지는 않으며, 사용자 단말에 네트워크 등의 통신 수단으로 연결된 수단에 의해서도 수행될 수 있다. 다만, 상기 수단은 본인인증 서버와는 물리적 또는 통신적으로 분리된 것일 수 있다.
한편, 본 발명의 다른 실시예에 따른 NFP 본인인증 지원 방법은 NFP 본인인증 지원 장치의 요청에 의해 사용자 단말이 일회성 패스워드를 생성하고, 생성된 일회성 패스워드를 NFP 본인인증 지원 장치의 요청에 의해 블록체인 서버로 전송하여 블록체인 네트워크에 저장하는 것일 수 있다.
먼저, NFP 본인인증 지원 장치는 사용자 단말로 블록체인 기반의 본인인증을 위해 사용되는 일회성 패스워드의 생성을 요청하고, 사용자 단말로부터 일회성 패스워드의 생성 결과를 수신할 수 있다.
구체적으로, NFP 본인인증 지원 장치는 사용자 단말로부터 블록체인 기반의 본인인증의 요청을 수신할 수 있고, 이와 같은 경우 블록체인 기반의 본인인증이 필요한 이벤트가 발생한 것으로 감지할 수 있다.
이후, NFP 본인인증 지원 장치는 사용자 단말로 블록체인 기반의 본인인증을 위해 사용되는 일회성 패스워드의 생성을 요청할 수 있다. 이때, NFP 본인인증 지원 장치는 사용자 단말의 블록체인 기반의 본인인증에 사용되는 일회성 패스워드가 유효한 시간을 의미할 수 있는 유효 시간이 설정되도록 사용자 단말로 더 요청할 수 있다.
이에 따라, 사용자 단말은 NFP 본인인증 지원 장치로부터 블록체인 기반의 본인인증을 위해 필요한 정보인 일회성 패스워드의 생성에 대한 요청을 수신할 수 있다. 이후, 사용자 단말은 블록체인 기반의 본인인증을 위해 필요한 정보인 일회성 패스워드를 생성할 수 있고, NFP 본인인증 지원 장치의 요청에 상응하여 생성된 일회성 패스워드에 대한 유효 시간을 설정할 수 있다.
이후, 사용자 단말은 일회성 패스워드의 생성이 완료되었음을 지시하는 일회성 패스워드의 생성 결과를 NFP 본인인증 지원 장치로 전송할 수 있다. 이에 따라, NFP 본인인증 지원 장치는 사용자 단말로부터 블록체인 기반의 본인인증에 사용되는 일회성 패스워드의 생성 결과를 수신할 수 있고, 이를 통해 일회성 패스워드가 생성되었음을 인지할 수 있다.
이후, NFP 본인인증 지원 장치는 수신된 생성 결과에 대한 응답으로 사용자 단말로 일회성 패스워드를 블록체인 네트워크의 블록체인 서버로 전송하여 블록체인 네트워크에 저장하도록 요청할 수 있다.
여기서, NFP 본인인증 지원 장치에서 수신된 생성 결과에 대한 응답으로 사용자 단말로 일회성 패스워드를 블록체인 네트워크의 블록체인 서버로 전송하여 블록체인 네트워크에 저장하도록 요청하는 구체적인 과정은 이하에서 도 4 내지 도 6을 참조하여 보다 상세하게 설명될 수 있다.
도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 블록체인 노드의 수를 제어하는 방법을 도시한 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반의 NFP 본인인증 지원 방법을 수행하는NFP 본인인증 지원 장치는 사용자 단말로부터 본인인증 요청이 수신되는 시점에 사용자 단말에서 실행되고 있는 서비스를 분석하여 본인인증이 요구되는 서비스의 종류를 확인할 수 있다(S210).
여기서, NFP 본인인증 지원 장치에서 사용자 단말로부터 본인인증 요청이 수신되는 시점에 사용자 단말에서 실행되고 있는 서비스를 분석하여 본인인증이 요구되는 서비스의 종류를 확인하는 구체적인 과정은 이하에서 도 5를 참조하여 보다 상세하게 설명될 수 있다.
도 5는 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 서비스의 종류를 확인하는 방법을 도시한 흐름도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반의 NFP 본인인증 지원 방법을 수행하는NFP 본인인증 지원 장치는 사용자 단말로부터 본인인증 요청이 수신되면 서비스의 종류를 확인하기 위해 사용자 단말에서 본인인증 요청이 발생되고 있는 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보를 요청할 수 있다(S211).
구체적으로, NFP 본인인증 지원 장치는 사용자 단말로부터 본인인증 요청을 수신하는 경우, 미리 설명된 바와 같이 블록체인 기반의 본인인증을 위해 사용되는 일회성 패스워드의 생성을 요청할 수 있고, 이에 대한 응답으로 사용자 단말로부터 일회성 패스워드의 생성 결과를 수신할 수 있다.
이후, NFP 본인인증 지원 장치는 사용자 단말로 본인인증의 요청이 발생되고 있는 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보를 요청할 수 있다. 이에 따라, 사용자 단말은 NFP 본인인증 지원 장치로부터 사용자 단말로 본인인증의 요청이 발생되고 있는 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보의 요청을 수신할 수 있다.
이후, 사용자 단말은 사용자 단말에서 본인인증의 요청이 발생되고 있는 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보를 확인할 수 있고, 확인된 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보를 NFP 본인인증 지원 장치로 전송할 수 있다.
예를 들어, 서비스의 명칭은 기업은행 인터넷 뱅킹, NH은행 인터넷 뱅킹, 쇼핑몰 결제 시스템, 삼성화재 서비스 시스템 등과 같이 사용자 단말에서 본인인증의 요청이 발생된 서비스의 명칭을 의미할 수 있다. 한편, 서비스와 관련된 도메인의 인증서 등급은 SSL(Secure Socket Layer) 통신 등과 같은 암호화 방식으로 통신을 수행하기 위한 인증서의 등급을 의미할 수 있으며, 더욱 상세하게는 DV(Domain Validated) 등급, OV(Organization Validated) 등급 및 EV(Extended Validated) 등급을 포함할 수 있다.
이와 같은 방법을 통해 NFP 본인인증 지원 장치는 사용자 단말로부터 사용자 단말로 본인인증의 요청이 발생되고 있는 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보를 수신할 수 있다.
이후, NFP 본인인증 지원 장치는 사용자 단말로부터 수신된 서비스의 명칭에 포함된 키워드에 대한 정보 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보 중 적어도 하나를 분석하여 서비스의 종류를 확인할 수 있다(S212).
구체적으로, NFP 본인인증 지원 장치는 이하의 표 1과 같은 방식으로 서비스의 명칭에 포함된 적어도 하나의 키워드 및 도메인과 관련된 인증서 등급에 기초하여 서비스의 종류가 미리 매칭된 상태일 수 있고, 키워드 및 인증서 등급에 해당하는 서비스의 종류를 확인함으로써 사용자 단말에서 실행되어 본인인증의 요청을 발생시키고 있는 서비스에 대한 종류를 확인할 수 있다.
예를 들어, NFP 본인인증 지원 장치는 서비스의 명칭이 NH은행 인터넷 뱅킹인 경우, 키워드에 'NH'가 포함되어 있으므로, 서비스의 종류가 '금융' 인 것으로 판단할 수 있다. 반면, NFP 본인인증 지원 장치는 'NH' 키워드가 포함되어 있으나, 인증서 등급이 'DB'인 경우, 인증서 등급을 우선으로 하여 서비스의 종류가 '결제'인 것으로 결정할 수 있다.
다시 말해, NFP 본인인증 지원 장치는 서비스의 명칭에 포함된 키워드와 인증서 등급에 대한 정보가 지시하는 서비스의 종류가 서로 상이한 경우, 인증서 등급에 대한 정보에 기초하여 우선적으로 서비스의 종류를 확인하거나 결정할 수 있다.
구분 키워드 인증서 등급 서비스의 종류
1 쇼핑, 카드, 구매?? DV 결제
2 주민, 구청, 시청?? OV 공공
3 기업, NH, 은행, 하나?? EV 금융
4 ?? ?? ??
5 ?? ?? ??
다시, 도 4를 참조하면 본 발명의 블록체인 기반의 NFP 본인인증 지원 방법을 수행하는 NFP 본인인증 지원 장치는 서비스의 종류에 기초하여 미리 매칭된 서비스의 보안 등급에 대한 정보가 저장된 NFP 본인인증 지원 장치의 데이터베이스에서 서비스의 보안 등급을 확인할 수 있다(S220).
예를 들어, NFP 본인인증 지원 장치는 표 1을 참조하여 서비스의 종류를 확인할 수 있으며, 추가적으로 표 1과 같은 방식에서 서비스의 종류에 대한 서비스의 보안 등급이 더 매칭된 정보가 존재할 수 있다. 다시 말해, 이하의 표 2와 같은 방식으로 서비스의 종류에 기초하여 미리 매칭된 서비스의 보안 등급에 대한 정보가 데이터베이스에 저장된 상태일 수 있다.
구분 서비스의 종류 서비스의 보안 등급 노드의 수
1 결제 3 3
2 공공 2 4
3 금융 1 5
4 ?? ?? ??
5 ?? ?? ??
즉, NFP 본인인증 지원 장치는 표 2와 같은 방식으로 서비스의 종류에 기초하여 미리 매칭된 서비스의 등급을 확인할 수 있으며, 예를 들어, 서비스의 종류가 '금융' 인 것으로 확인되는 경우, 서비스의 보안 등급이 '1등급' 인 것으로 확인할 수 있다.
이후, NFP 본인인증 지원 장치는 확인된 보안 등급에 기초하여 미리 설정된 노드의 수에 대한 정보를 사용자 단말로 전송하여 노드의 수에 상응하는 복수의 블록체인 노드들에 저장되도록 요청할 수 있다(S230).
구체적으로, NFP 본인인증 지원 장치는 표 2와 같은 방식으로 서비스의 보안 등급에 기초하여 미리 설정된 노드의 수에 대한 정보가 데이터베이스에 미리 저장된 상태일 수 있다. 이때, 미리 설정된 노드의 수는 서비스의 보안 등급이 높을수록 노드의 수가 증가하도록 설정될 수 있다.
한편, 본 발명의 몇몇 실시예에서, NFP 본인인증 지원 장치는 사용자 단말의 본인인증을 위한 일회성 패스워드가 저장되는 블록체인 네트워크를 선택할 수도 있다. 더욱 상세하게는 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들 중 사용자 단말의 본인인증을 위한 일회성 패스워드가 저장되는 블록체인 네트워크를 선택할 수 있다.
전술한 데이터베이스들은 본인인증 서버에 포함된 것일 수도 있고, NFP 본인인증 지원 장치 중 본인인증 서버 외의 구성요소에 포함된 것일 수도 있다.
여기서, NFP 본인인증 지원 장치에서 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들 중 사용자 단말의 본인인증을 위한 일회성 패스워드가 저장되는 블록체인 네트워크를 선택하는 구체적인 과정은 이하에서 도 6을 참조하여 보다 상세하게 설명될 수 있다. 다만, 본 발명의 실시예들이 이에 제한되는 것은 아니며, 상기 블록체인 네트워크는 특정 단일 네트워크로 고정될 수도 있다.
도 6은 본 발명의 일 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 블록체인 네트워크를 선택하는 방법을 도시한 흐름도이다.
도 6을 참조하면, 본 발명의 블록체인 기반의 NFP 본인인증 지원 방법을 수행하는 NFP 본인인증 지원 장치는 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들의 부하 정도와 관련된 상태 정보를 블록체인 서버로 요청하고, 블록체인 서버로부터 상태 정보를 수신할 수 있다(S231).
구체적으로, NFP 본인인증 지원 장치는 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들의 부하 정도와 관련된 상태 정보를 블록체인 서버로 요청할 수 있다. 이에 따라, 블록체인 서버는 NFP 본인인증 지원 장치로부터 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들의 부하 정도와 관련된 상태 정보의 요청을 수신할 수 있다.
예를 들어, 상태 정보는 복수의 블록체인 네트워크들에 포함된 각 블록체인 노드의 실시간 트랜잭션 처리 상황을 통해 확인되는 실시간 사용 여부에 대한 정보 및 각 블록체인 노드에서 트랜잭션을 처리하는 미리 설정된 시간 단위에 상응하는 평균 처리 속도에 대한 정보를 포함할 수 있다.
이후, 블록체인 서버는 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들의 부하 정도와 관련된 상태 정보를 수집할 수 있다. 이후, 블록체인 서버는 수집된 서로 다른 종류의 복수의 블록체인 네트워크들의 부하 정도와 관련된 상태 정보를 NFP 본인인증 지원 장치로 전송할 수 있다. 이에 따라, NFP 본인인증 지원 장치는 블록체인 서버로부터 상태 정보를 수신할 수 있다.
이후, NFP 본인인증 지원 장치는 상태 정보를 분석하여 각 블록체인 네트워크의 안정된 정도를 의미하는 안정 지수를 산출하고, 안정 지수에 기초하여 복수의 블록체인 네트워크들 중 본인인증을 위한 블록체인 네트워크 후보군을 선택할 수 있다(S232).
여기서, NFP 본인인증 지원 장치는 상태 정보에 포함된 각 블록체인 네트워크에 포함된 블록체인 노드의 실시간 사용 여부 및 각 블록체인 노드의 평균 처리 속도를 이용하여 안정 지수를 산출할 수 있다. 예를 들어, 안정 지수는 블록체인 네트워크에 포함된 실시간 사용 여부에 따라 사용되고 있지 않은 블록체인 노드가 많을수록 안정 지수가 높은 것으로 산출될 수 있다. 또한, 각 블록체인 노드의 평균 처리 속도가 높을수록 안정 지수가 높은 것으로 산출될 수 있다.
다시 말해, NFP 본인인증 지원 장치에서 각 블록체인 네트워크에 대하여 산출되는 안정 지수는 블록체인 네트워크에 포함된 복수의 블록체인 노드들 중 사용 가능한 노드가 많고, 각 블록체인 노드의 평균 처리 속도가 높을수록 높은 값을 가지도록 산출될 수 있다.
이후, NFP 본인인증 지원 장치는 블록체인 서버에서 관리하는 서로 다른 종류의 복수의 블록체인 네트워크들에 대하여 산출된 안정 지수를 블록체인 네트워크 후보군을 선택하기 위한 기준으로 미리 설정된 값과 비교할 수 있다. 이후, NFP 본인인증 지원 장치는 서로 다른 종류의 복수의 블록체인 네트워크들 중 미리 설정된 값 이상인 안정 지수가 산출된 적어도 하나의 블록체인 네트워크를 사용자 단말의 일회성 패스워드를 저장하기 위해 사용되는 블록체인 네트워크를 선택하기 위한 블록체인 네트워크 후보군으로 선택할 수 있다.
이후, NFP 본인인증 지원 장치는 블록체인 네트워크 후보군에 포함된 복수의 블록체인 네트워크들 중 확인된 보안 등급에 기초하여 보안 등급이 높을수록 높은 보안성을 가지는 블록체인 네트워크를 선택할 수 있다(S233).
구체적으로, NFP 본인인증 지원 장치는 블록체인 네트워크 후보군에 포함된 적어도 하나 또는 복수의 블록체인 네트워크들 중 서비스의 종류에 기초하여 확인된 보안 등급에 기초하여 보안 등급이 높을수록 높은 보안성을 가지는 블록체인 네트워크를 선택할 수 있다.
예를 들어, NFP 본인인증 지원 장치는 복수의 블록체인 네트워크들에 포함되는 퍼블릭 블록체인 네트워크, 하이브리드 블록체인 네트워크 및 프라이빗 블록체인 네트워크에 대하여, 퍼블릭 블록체인 네트워크, 하이브리드 블록체인 네트워크 및 프라이빗 블록체인 네트워크의 순서로 보안성이 높은 블록체인 네트워크로 판단하여 블록체인 네트워크를 선택할 수 있다. 다만 본 발명의 실시예가 이에 제한되는 것은 아니며, 본인인증을 통해 이용하려는 서비스의 특성에 따라서는 프라이빗 블록체인 네트워크, 하이브리드 블록체인 네트워크 및 퍼블릭 블록체인 네트워크의 순서로 우선순위를 판단할 수도 있다.
이후, NFP 본인인증 지원 장치는 선택된 블록체인 네트워크에 대한 정보를 사용자 단말로 전송하여 일회성 패스워드가 선택된 블록체인 네트워크의 블록체인 노드에 저장되도록 요청할 수 있다(S234).
즉, NFP 본인인증 지원 장치는 최종적으로 선택된 블록체인 네트워크에 포함된 복수의 블록체인 노드들 중 서비스의 종류에 따른 보안 등급에 기초하여 결정된 블록체인 노드의 수에 상응하는 블록체인 노드에 일회성 패스워드가 저장될 수 있도록, 최종적으로 선택된 블록체인 네트워크에 대한 정보를 사용자 단말로 전송할 수 있다.
이에 따라, 사용자 단말은 NFP 본인인증 지원 장치로부터 최종적으로 선택된 블록체인 네트워크에 대한 정보를 수신할 수 있고, 사용자 단말에서 생성된 본인인증을 위한 일회성 패스워드가 최종적으로 선택된 블록체인 네트워크에 저장될 수 있도록 블록체인 서버로 전송하거나 요청할 수 있다.
이와 같은 방법을 통해 NFP 본인인증 지원 장치는 사용자 단말에서 생성된 일회성 패스워드가 블록체인 네트워크에 포함된 블록체인 노드에 분산하여 저장되도록 요청할 수 있으며, 이와 같은 과정에서 일회성 패스워드가 미리 설정된 암호화 알고리즘을 기반으로 암호화하여 저장될 수 있도록 요청할 수 있다. 이때, 암호화된 일회성 패스워드는 본인인증 서버에서 블록체인 서버에 저장된 일회성 패스워드를 검증할 수 있도록 지원하는 암호화 알고리즘일 수 있다.
일 실시예에서, 암호화 알고리즘은 단방향(One way) 암호화 특성을 가지는 해쉬 암호화 알고리즘(예를 들어, SHA256 암호화 알고리즘)이거나, 타원 곡선 암호화 특성을 가지는 암호화 알고리즘(예를 들어, ECDSA(Secp256k1) 알고리즘)일 수 있으나, 본 발명의 실시예가 이에 제한되는 것은 아니다.
한편, NFP 본인인증 지원 장치는 최종적으로 선택된 블록체인 네트워크에 대한 정보를 본인인증 서버로 전송할 수 있고, 사용자 단말에 대한 정보를 함께 전송함으로써 해당하는 사용자 단말에 대한 블록체인 기반의 본인인증에 최종적으로 선택된 블록체인 네트워크가 사용될 수 있도록 요청할 수 있다.
다시, 도 3을 참조하면 본 발명의 블록체인 기반의 NFP 본인인증 지원 방법을 수행하는 NFP 본인인증 지원 장치는 블록체인 네트워크에 저장된 일회성 패스워드를 조회한 결과를 기반으로 사용자 단말로부터 수신된 일회성 패스워드를 검증할 수 있다(S300).
즉, NFP 본인인증 지원 장치는 사용자 단말에서 생성된 일회성 패스워드를 본인인증 서버로 전송하여, 본인인증 서버에서 사용자 단말로부터 수신된 일회성 패스워드를 블록체인 서버를 통해 검증하여 본인인증을 수행할 수 있다.
구체적으로, 사용자 단말은 NFP 본인인증 지원 장치로부터 일회성 패스워드를 통해 본인인증의 수행에 대한 요청을 수신하는 경우, 일회성 패스워드를 본인인증 서버로 전송할 수 있고, 전송된 일회성 패스워드를 통한 본인인증의 수행을 요청할 수 있다. 이에 따라, 본인인증 서버는 사용자 단말로부터 일회성 패스워드를 수신할 수 있고, 이를 통해 사용자 단말에 대한 블록체인 기반의 본인인증의 필요가 발생하였음을 감지할 수 있다.
이후, 본인인증 서버는 사용자 단말로부터 수신된 일회성 패스워드에 대한 검증을 위해, 블록체인 서버에 포함된 복수의 블록체인 노드들에 분산하여 저장된 일회성 패스워드에 대한 정보를 블록체인 서버에 요청할 수 있다. 본인인증 서버는 블록체인 서버로부터 수신된 정보에 기초하여 사용자 단말의 일회성 패스워드에 대해 검증하고 그 결과를 NFP 본인인증 지원 장치로 전송할 수 있다.
NFP 본인인증 지원 장치가 사용자 단말로 요청한 일회성 패스워드는 사용자 단말로부터 블록체인 서버에 전송되어 블록체인 네트워크에 저장된 일회성 패스워드이기 때문에, 사용자 단말로부터 수신된 일회성 패스워드가 상기 블록체인에 저장된 일회성 패스워드와 일치하지 않는다면 검증이 실패한 것으로 판단할 수 있다. 이에 따라, 일회성 패스워드의 위변조 등 보안상 바람직하지 않은 시도들이 차단될 수 있다.
한편, 블록체인 네트워크에 저장된 일회성 패스워드는 암호화되어 저장될 수 있기 때문에 본인인증 서버가 상기 일회성 패스워드를 조회하기 위한 복호화 단계를 더 포함할 수 있다. 다만 본 발명의 실시예가 이에 제한되는 것은 아니다.
본 발명의 다른 실시예에서, 본인인증 서버는 사용자 단말로부터 수신된 일회성 패스워드에 대한 검증을 블록체인 서버로 요청할 수 있고, 블록체인 서버에 포함된 복수의 블록체인 노드들에 분산하여 저장된 일회성 패스워드에 대한 정보에 기초하여 사용자 단말의 일회성 패스워드에 대한 검증의 결과를 블록체인 서버로부터 수신할 수 있다.
이후, 본인인증 서버는 블록체인 서버를 통해 검증된 사용자 단말의 일회성 패스워드에 대한 검증의 결과를 블록체인 서버로부터 수신할 수 있고, 이를 통해 판단되는 사용자 단말에 대한 블록체인 기반의 본인인증의 결과를 NFP 본인인증 지원 장치로 전송할 수 있다.
이에 따라, NFP 본인인증 지원 장치는 일회성 패스워드를 검증하여 수행된 블록체인 기반의 본인인증의 결과를 사용자 단말로 전송할 수 있다(S400).
구체적으로, NFP 본인인증 지원 장치는 본인인증의 결과가 성공인 것으로 확인되는 경우 본인인증의 결과를 사용자 단말로 전송할 수 있고, 본인인증의 결과가 실패인 것으로 확인되는 경우 미리 설명된 바 있는 단계 S100 내지 단계 S300을 반복적으로 수행하여 블록체인 기반의 본인인증이 수행되도록 요청할 수 있다. 이때, 본인인증의 결과가 실패인 것으로 확인되는 경우 단계 S100 내지 단계 S300을 반복 수행할지 여부와 반복 수행 횟수는 미리 설정될 수 있고, 미리 설정된 값에 따른 수행이 완료된 경우 일회성 패스워드는 만료되도록 설정될 수도 있다.
다만, NFP 본인인증 지원 장치는 블록체인 기반의 본인인증에 사용되는 블록체인 노드의 그룹이 다시 생성될 수 있도록 처리할 수 있고, 더욱 상세하게는 블록체인 기반의 본인인증을 위해 그룹화 된 블록체인 노드를 블록체인 노드에서 수행된 본인인증에 대한 결과를 기반으로 관리할 수 있다.
여기서, 본 발명의 다른 실시예에 따라 NFP 본인인증 지원 장치는 블록체인 기반의 본인인증에 대한 결과를 기반으로 블록체인 네트워크에 포함된 복수의 블록체인 노드를 관리할 수 있으며, 블록체인 노드를 관리하는 구체적인 과정은 이하에서 도 7을 참조하여 보다 상세하게 설명될 수 있다. 다만 본 발명의 실시예들이 이에 제한되는 것은 아니며, 특정 단일 블록체인 네트워크의 노드만을 사용하도록 설정될 수도 있다.
도 7은 본 발명의 다른 실시예에 따른 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP 본인인증 지원 방법에서 블록체인 노드를 관리하는 방법을 도시한 흐름도이다.
도 7을 참조하면, 본 발명의 블록체인 기반의 NFP 본인인증 지원 방법을 수행하는 NFP 본인인증 지원 장치는 사용자 단말에 대하여 블록체인 기반의 본인인증에 사용된 블록체인 노드의 정보를 수집하고, 수집된 블록체인 노드의 식별자를 사용자 단말의 식별 정보와 매칭하여 블록체인 노드를 그룹화 할 수 있다(S500).
구체적으로, NFP 본인인증 지원 장치는 블록체인 서버로 사용자 단말의 블록체인 기반의 본인인증에 사용된 블록체인 노드에 대한 정보를 요청할 수 있고, 이에 대한 응답으로 블록체인 서버로부터 블록체인 노드에 대한 정보를 수신함으로써 수집할 수 있다.
이후, NFP 본인인증 지원 장치는 사용자 단말의 식별자 및 블록체인 서버로부터 수집된 블록체인 노드에 대한 정보를 통해 확인되는 각 블록체인 노드의 식별자를 서로 매칭할 수 있고, 사용자 단말의 식별자 및 각 블록체인 노드의 식별자를 매칭함으로써 블록체인 노드를 그룹화 할 수 있다. 예를 들어, 블록체인 노드의 식별자는 노드 ID 또는 노드의 포트 주소 등이 사용될 수 있다.
이후, NFP 본인인증 지원 장치는 그룹화 된 블록체인 노드를 통해 수행된 사용자 단말에 대한 본인인증의 결과를 확인하여 그룹화 된 블록체인 노드에 대한 본인인증의 결과 이력을 누적하여 저장할 수 있다(S700).
예를 들어, NFP 본인인증 지원 장치는 그룹화 된 블록체인 노드에 제1 블록체인 노드, 제2 블록체인 노드 및 제3 블록체인 노드가 포함되고, 본인인증의 결과가 성공한 것으로 확인되는 경우 제1 블록체인 노드, 제2 블록체인 노드 및 제3 블록체인 노드의 본인인증의 결과 이력 중 성공 횟수를 1회씩 증가시켜 저장할 수 있다.
반면, NFP 본인인증 지원 장치는 그룹화 된 블록체인 노드에 제1 블록체인 노드, 제2 블록체인 노드 및 제3 블록체인 노드가 포함되고, 본인인증의 결과가 실패한 것으로 확인되는 경우 제1 블록체인 노드, 제2 블록체인 노드 및 제3 블록체인 노드의 본인인증의 결과 이력 중 실패 횟수를 1회씩 증가시켜 저장할 수 있다.
이때, NFP 본인인증 지원 장치는 그룹화 된 블록체인 노드 중 실패 횟수가 미리 설정된 값 이상인 블록체인 노드에 대해서는 추가적으로 수행되는 본인인증을 위한 블록체인 노드로 선택되지 않도록 처리할 수 있다. 다시 말해, NFP 본인인증 지원 장치는 미리 설정된 횟수 이상의 실패 이력을 가지는 블록체인 노드가 블록체인 기반의 본인인증에 사용되지 않도록 제어할 수 있다.
이때, NFP 본인인증 지원 장치는 블록체인 서버를 관리하는 관리자의 장치를 의미할 수 있는 관리자 단말이 존재하는 경우, 관리자 단말로 본인인증에 사용되지 않도록 제어하기 위한 대상이 되는 블록체인 노드에 대한 정보를 전송할 수 있고, 이를 통해 블록체인 기반의 본인인증에 해당하는 블록체인 노드가 사용되지 않도록 제어할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
500: NFP 본인인증 지원 장치 100: 사용자 단말
200: 블록체인 서버 300: 본인인증 서버
500: NFP 본인인증 지원 장치 510: 프로세서
520: 메모리 530: 송수신 장치
540: 입력 인터페이스 장치 550: 출력 인터페이스 장치
560: 저장 장치 570: 버스

Claims (6)

  1. 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 NFP(Non-Fungible Password) 본인인증을 지원하는 NFP 본인인증 지원 장치에 의해 수행되는 NFP 본인인증 지원 방법으로서,
    상기 장치가 상기 블록체인 기반의 본인인증을 요청하는 사용자의 장치인 사용자 단말로부터 본인인증 요청을 수신하는 단계;
    상기 장치가 상기 사용자 단말에서 생성되어 블록체인 네트워크에 저장된 일회성 패스워드를 상기 사용자 단말로 요청하여 수신하는 단계;
    상기 장치가 상기 블록체인 네트워크에 저장된 일회성 패스워드를 조회한 결과를 기반으로 상기 사용자 단말로부터 수신된 일회성 패스워드를 검증하는 단계; 및
    상기 장치가 상기 일회성 패스워드의 검증을 통해 수행된 본인인증의 결과를 상기 사용자 단말로 전송하는 단계를 포함하되,
    상기 사용자 단말에서 일회성 패스워드가 생성되어 블록체인 네트워크에 저장되는 단계는,
    상기 장치가 상기 사용자 단말로 블록체인 기반의 본인인증을 위해 사용되는 일회성 패스워드의 생성을 요청하고, 상기 사용자 단말로부터 일회성 패스워드의 생성 결과를 수신하는 단계; 및
    상기 장치가 상기 수신된 생성 결과에 대한 응답으로 상기 사용자 단말이 상기 일회성 패스워드를 복수의 노드들이 포함된 블록체인 네트워크를 관리하는 블록체인 서버로 전송하여 상기 블록체인 네트워크에 저장하도록 요청하는 단계를 포함하고,
    상기 일회성 패스워드를 수신하는 단계는,
    상기 장치가 상기 일회성 패스워드를 사용자 단말에서 생성하도록 요청하는 과정에서 상기 일회성 패스워드가 유효한 시간을 의미하는 상기 일회성 패스워드에 대한 유효 시간이 설정되도록 더 요청하고,
    상기 블록체인 네트워크에 저장하도록 요청하는 단계는,
    상기 장치가 상기 사용자 단말로부터 본인인증 요청이 수신되는 시점에 상기 사용자 단말에서 실행되고 있는 서비스를 분석하여 상기 본인인증이 요구되는 서비스의 종류를 확인하는 단계;
    상기 장치가 서비스의 종류에 기초하여 미리 매칭된 서비스의 보안 등급에 대한 정보가 저장된 상기 장치의 데이터베이스에서 상기 서비스의 보안 등급을 확인하는 단계; 및
    상기 장치가 상기 확인된 보안 등급에 기초하여 미리 설정된 노드의 수에 대한 정보를 상기 사용자 단말로 전송하여 상기 노드의 수에 상응하는 복수의 블록체인 노드들에 저장되도록 요청하는 단계를 포함하는,
    블록체인 기반의 NFP 본인인증 지원 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 서비스의 종류를 확인하는 단계는,
    상기 장치가 상기 서비스의 종류를 확인하기 위해 상기 사용자 단말에서 본인인증이 요청이 발생되고 있는 서비스의 명칭 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보를 요청하는 단계; 및
    상기 장치가 상기 사용자 단말로부터 수신된 서비스의 명칭에 포함된 키워드에 대한 정보 및 서비스와 관련된 도메인의 인증서 등급에 대한 정보 중 적어도 하나를 분석하여 상기 서비스의 종류를 확인하는 단계를 포함하는,
    블록체인 기반의 NFP 본인인증 지원 방법.
  6. 청구항 5에 있어서,
    상기 서비스의 종류를 확인하는 단계는,
    상기 장치가 상기 키워드와 미리 매칭된 서비스의 종류 및 상기 도메인의 인증서 등급과 미리 매칭된 서비스의 종류를 기반으로 상기 사용자 단말에 대한 서비스의 종류를 확인하되,
    상기 키워드와 미리 매칭된 서비스의 종류 및 상기 도메인의 인증서 등급과 미리 매칭된 서비스의 종류가 서로 상이한 경우, 상기 도메인의 인증서 등급과 미리 매칭된 서비스의 종류를 상기 사용자 단말에 대한 서비스의 종류로 판단하는,
    블록체인 기반의 NFP 본인인증 지원 방법.
KR1020220187343A 2022-12-28 2022-12-28 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치 KR102515721B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220187343A KR102515721B1 (ko) 2022-12-28 2022-12-28 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220187343A KR102515721B1 (ko) 2022-12-28 2022-12-28 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102515721B1 true KR102515721B1 (ko) 2023-03-30

Family

ID=85985974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220187343A KR102515721B1 (ko) 2022-12-28 2022-12-28 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102515721B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101401259B1 (ko) * 2013-10-08 2014-05-29 주식회사 시큐브 모바일 원 타임 패스워드를 이용한 인증 정보 접근 통제 시스템, 장치 및 방법
KR20190117967A (ko) * 2018-04-09 2019-10-17 인비즈넷 주식회사 일회성 식별자를 이용한 사용자 인증 방법 및 이를 수행하는 인증 시스템
KR20200091138A (ko) * 2019-01-22 2020-07-30 주식회사 케이티 개인 도메인 네임을 이용한 인증 방법 및 시스템
KR20220051774A (ko) 2020-10-19 2022-04-26 국방과학연구소 공개키 기반의 암호 시스템 및 이를 이용한 데이터 보안 방법
KR20220093198A (ko) * 2019-11-08 2022-07-05 알고란드 인코포레이티드 전용 및 개방형 블록체인을 이용한 거래의 수행
KR102431145B1 (ko) * 2022-01-17 2022-08-10 주식회사 와이콘즈 듀얼 채널 기반의 nft를 이용한 객체의 인증 관리를 위한 서비스 제공 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101401259B1 (ko) * 2013-10-08 2014-05-29 주식회사 시큐브 모바일 원 타임 패스워드를 이용한 인증 정보 접근 통제 시스템, 장치 및 방법
KR20190117967A (ko) * 2018-04-09 2019-10-17 인비즈넷 주식회사 일회성 식별자를 이용한 사용자 인증 방법 및 이를 수행하는 인증 시스템
KR20200091138A (ko) * 2019-01-22 2020-07-30 주식회사 케이티 개인 도메인 네임을 이용한 인증 방법 및 시스템
KR20220093198A (ko) * 2019-11-08 2022-07-05 알고란드 인코포레이티드 전용 및 개방형 블록체인을 이용한 거래의 수행
KR20220051774A (ko) 2020-10-19 2022-04-26 국방과학연구소 공개키 기반의 암호 시스템 및 이를 이용한 데이터 보안 방법
KR102431145B1 (ko) * 2022-01-17 2022-08-10 주식회사 와이콘즈 듀얼 채널 기반의 nft를 이용한 객체의 인증 관리를 위한 서비스 제공 방법 및 장치

Similar Documents

Publication Publication Date Title
US20210400039A1 (en) Biometric Identification And Verification Among Iot Devices And Applications
CN111898153B (zh) 调用合约的方法及装置
US10776786B2 (en) Method for creating, registering, revoking authentication information and server using the same
EP3520319B1 (en) Distributed electronic record and transaction history
KR101941227B1 (ko) 신원확인 또는 부인방지가 가능한 fido 인증 장치 및 그 방법
US11539526B2 (en) Method and apparatus for managing user authentication in a blockchain network
US10805083B1 (en) Systems and methods for authenticated communication sessions
KR102162044B1 (ko) 블록체인 기반의 사용자 인증 방법 및 그 시스템
CN113141340B (zh) 多节点认证方法及装置
US7958548B2 (en) Method for provision of access
CN114117551B (zh) 一种访问验证方法及装置
US10616262B2 (en) Automated and personalized protection system for mobile applications
US20220209955A1 (en) System and method for performing a secure online and offline login process
JP7296390B2 (ja) 電子デバイスの無欠性検査
KR102515721B1 (ko) 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치
CN112272093A (zh) 一种令牌管理的方法、电子设备及可读存储介质
CN109063461B (zh) 一种第三方免密登录方法及系统
KR20190114424A (ko) 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
US11861587B1 (en) Encrypted multi-factor authentication technologies
CN114579951A (zh) 业务访问方法、电子设备及存储介质
CN113221164A (zh) 基于区块链的数据核验方法及装置、电子设备
KR20200089898A (ko) 블록체인을 활용한 사용자 정보를 제공하는 방법
CN114157420B (zh) 一种令牌失效方法和装置
KR102602230B1 (ko) 클라이언트 장치 인증 방법 및 시스템
CN111581656B (zh) 一种数据查询方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant