KR102602214B1 - User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof - Google Patents

User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof Download PDF

Info

Publication number
KR102602214B1
KR102602214B1 KR1020210076512A KR20210076512A KR102602214B1 KR 102602214 B1 KR102602214 B1 KR 102602214B1 KR 1020210076512 A KR1020210076512 A KR 1020210076512A KR 20210076512 A KR20210076512 A KR 20210076512A KR 102602214 B1 KR102602214 B1 KR 102602214B1
Authority
KR
South Korea
Prior art keywords
authentication
card number
card
identification information
members
Prior art date
Application number
KR1020210076512A
Other languages
Korean (ko)
Other versions
KR20220167485A (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 KR1020210076512A priority Critical patent/KR102602214B1/en
Publication of KR20220167485A publication Critical patent/KR20220167485A/en
Application granted granted Critical
Publication of KR102602214B1 publication Critical patent/KR102602214B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3215Cryptographic 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 plurality of channels

Abstract

2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버 및 그 동작 방법이 개시된다. 본 발명은 사용자의 전자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자가 보유하고 있는 신용카드에 인쇄된 2차원 코드에서 추출된 소정의 인증 정보를 상기 전자 단말과 분리된, 상기 사용자의 모바일 단말로부터 수신하여 상기 사용자에 대한 인증을 수행하는 사용자 인증 서버 및 그 동작 방법을 제시함으로써, 보다 강화된 사용자 인증이 가능하도록 지원할 수 있다.A user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code and a method of operating the same are disclosed. In the present invention, when a user authentication request is received from the user's electronic terminal, predetermined authentication information extracted from the two-dimensional code printed on the credit card held by the user is sent from the user's mobile terminal, which is separate from the electronic terminal. By presenting a user authentication server that receives data and performs authentication for the user and its operation method, it is possible to support more strengthened user authentication.

Description

2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버 및 그 동작 방법{USER AUTHENTICATION SERVER THAT PERFORMS TWO-CHANNEL AUTHENTICATION FOR USERS WITH CREDIT CARDS BASED ON THE TWO-DIMENSIONAL CODE AND OPERATING METHOD THEREOF}User authentication server that performs two-channel authentication for users holding credit cards based on two-dimensional codes and its operating method {USER AUTHENTICATION SERVER THAT PERFORMS TWO-CHANNEL AUTHENTICATION FOR USERS WITH CREDIT CARDS BASED ON THE TWO-DIMENSIONAL CODE AND OPERATING METHOD THEREOF}

본 발명은 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code and a method of operating the same.

최근, 온라인 기반의 다양한 서비스들이 출시됨에 따라, 온라인 상에서 사용자 인증의 중요성 또한 증가하고 있다.Recently, as various online-based services are released, the importance of user authentication online is also increasing.

관련해서, 기존에는 단순히 사용자 비밀번호만을 이용하여 사용자 인증을 수행하는 기법이 많이 사용되었지만, 이러한 사용자 인증 기법은 비밀번호가 쉽게 노출될 수 있다는 점에서 보안상의 취약점을 가지고 있었다.Relatedly, in the past, many techniques were used to perform user authentication simply using the user password, but this user authentication technique had a security vulnerability in that the password could be easily exposed.

이러한 사용자 인증 과정에서의 보안성을 높이기 위해서, 최근에는 둘 이상의 분리된 채널을 이용하여 사용자 인증을 수행하는 2채널 인증 기법이 많이 도입되고 있다. 예컨대, 사용자가 자신의 전자 단말을 통해서 소정의 서비스 제공 서버에 접속하여 인증을 수행하려고 하는 경우, 상기 서비스 제공 서버는 상기 전자 단말과 분리된, 상기 사용자의 모바일 단말로 소정의 인증 번호를 전송해 주고, 이때, 상기 사용자는 상기 모바일 단말에 수신된 인증 번호를 상기 전자 단말을 통해 상기 서비스 제공 서버로 전송함으로써, 사용자 인증이 완료되도록 하는 서비스가 존재한다.In order to increase security in the user authentication process, a two-channel authentication technique that performs user authentication using two or more separate channels has been widely introduced recently. For example, when a user attempts to perform authentication by accessing a service providing server through his or her electronic terminal, the service providing server transmits a predetermined authentication number to the user's mobile terminal, which is separate from the electronic terminal. At this time, there is a service that allows the user to complete user authentication by transmitting the authentication number received on the mobile terminal to the service providing server through the electronic terminal.

관련해서, 최근에는 신용카드의 보급이 증대되고 있다는 점에서, 이러한 신용카드를 활용한 2채널 인증 기법의 도입을 고려할 수 있다.In relation to this, given that the spread of credit cards is increasing recently, the introduction of a two-channel authentication technique using credit cards can be considered.

또한, 최근에는 2차원 코드의 활용도 증대되고 있다는 점에서, 신용카드 상에 소정의 인증 정보가 삽입된 2차원 코드를 인쇄해 두어, 사용자 인증이 필요할 때, 상기 신용카드에 인쇄된 2차원 코드에 삽입되어 있는 인증 정보를 확인하는 과정을 수행함으로써, 2채널 기반의 사용자 인증이 가능하도록 하는 인증 기법의 도입을 고려할 수 있다.In addition, as the use of two-dimensional codes is increasing recently, a two-dimensional code with predetermined authentication information inserted is printed on a credit card, and when user authentication is required, the two-dimensional code printed on the credit card is printed. By performing a process to check the inserted authentication information, the introduction of an authentication technique that enables two-channel-based user authentication can be considered.

본 발명은 사용자의 전자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자가 보유하고 있는 신용카드에 인쇄된 2차원 코드에서 추출된 소정의 인증 정보를 상기 전자 단말과 분리된, 상기 사용자의 모바일 단말로부터 수신하여 상기 사용자에 대한 인증을 수행하는 사용자 인증 서버 및 그 동작 방법을 제시함으로써, 보다 강화된 사용자 인증이 가능하도록 지원하고자 한다.In the present invention, when a user authentication request is received from the user's electronic terminal, predetermined authentication information extracted from the two-dimensional code printed on the credit card held by the user is sent from the user's mobile terminal, which is separate from the electronic terminal. By presenting a user authentication server that receives data and performs authentication for the user and its operation method, we aim to support more strengthened user authentication.

본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버는 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드 - 상기 복수의 회원들 각각이 보유하고 있는 신용카드에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 삽입된 2차원 코드가 인쇄되어 있음 - 의 카드 번호가 서로 대응되어 저장되어 있는 카드 정보 데이터베이스, 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각에 대한 인증 토큰 - 상기 인증 토큰은 상기 복수의 회원들 각각에 대해 사전 발급된 인증 코드와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 사전 설정된 인증 토큰 생성 함수에 입력으로 인가되어 산출된 출력값을 의미함 - 이 서로 대응되어 저장되어 있는 인증 토큰 데이터베이스, 상기 복수의 회원들 중 어느 하나인 제1 회원의 전자 단말로부터 제1 회원 식별 정보가 수신되면서, 사용자 인증 요청이 수신되면, 상기 전자 단말로 상기 제1 회원에 대응되는 인증 코드의 전송을 요청하는 인증 코드 요청부, 상기 전자 단말로부터, 상기 인증 코드의 전송 요청에 대응하여 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 인증 토큰을 추출하고, 상기 제1 인증 코드를 기초로 상기 제1 인증 토큰으로부터 상기 제1 회원이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출하는 카드 번호 산출부, 상기 제1 카드 번호가 산출되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 상기 전자 단말로 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송을 요청하는 전송 요청부 및 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드가 상기 제1 회원이 보유하고 있는 모바일 단말에 의해 스캔되어 인식됨으로 인해, 상기 모바일 단말로부터 상기 2차원 코드에 삽입된 상기 제1 회원 식별 정보와 상기 제1 카드 번호가 수신되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리하는 인증 완료 처리부를 포함한다.A user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention includes member identification information of a plurality of members and each of the plurality of members. Credit card - On the credit card held by each of the plurality of members, a two-dimensional code is printed containing the member identification information of the plurality of members and the card number of the credit card held by each of the plurality of members. Yes - a card information database in which card numbers are stored in correspondence with each other, member identification information of the plurality of members and an authentication token for each of the plurality of members - the authentication token is issued in advance to each of the plurality of members The authentication code and the card number of the credit card held by each of the plurality of members are applied as input to a preset authentication token generation function and the output value is calculated - an authentication token database stored in correspondence with each other, the When first member identification information is received from the electronic terminal of a first member, which is one of a plurality of members, and a user authentication request is received, authentication that requests transmission of an authentication code corresponding to the first member to the electronic terminal. When a first authentication code is received from the code request unit and the electronic terminal in response to a request to transmit the authentication code, extract the first authentication token stored in correspondence with the first member identification information from the authentication token database; , a card number calculation unit that calculates a first card number for the first credit card held by the first member from the first authentication token based on the first authentication code, when the first card number is calculated, Compare whether the first card number matches the card number stored corresponding to the first member identification information in the card information database, and if both card numbers are confirmed to match, the first card number is sent to the electronic terminal. A transmission request unit that requests transmission of member identification information and card number inserted into the two-dimensional code printed on the surface of the credit card, and the two-dimensional code printed on the surface of the first credit card are held by the first member. When the first member identification information and the first card number inserted into the two-dimensional code are received from the mobile terminal by being scanned and recognized by the mobile terminal, the first card number is stored in the card information database. and an authentication completion processing unit that compares whether the first member identification information matches the card number stored in correspondence with the first member identification information, and completes user authentication when both card numbers are confirmed to match.

또한, 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법은 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드 - 상기 복수의 회원들 각각이 보유하고 있는 신용카드에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 삽입된 2차원 코드가 인쇄되어 있음 - 의 카드 번호가 서로 대응되어 저장되어 있는 카드 정보 데이터베이스를 유지하는 단계, 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각에 대한 인증 토큰 - 상기 인증 토큰은 상기 복수의 회원들 각각에 대해 사전 발급된 인증 코드와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 사전 설정된 인증 토큰 생성 함수에 입력으로 인가되어 산출된 출력값을 의미함 - 이 서로 대응되어 저장되어 있는 인증 토큰 데이터베이스를 유지하는 단계, 상기 복수의 회원들 중 어느 하나인 제1 회원의 전자 단말로부터 제1 회원 식별 정보가 수신되면서, 사용자 인증 요청이 수신되면, 상기 전자 단말로 상기 제1 회원에 대응되는 인증 코드의 전송을 요청하는 단계, 상기 전자 단말로부터, 상기 인증 코드의 전송 요청에 대응하여 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 인증 토큰을 추출하고, 상기 제1 인증 코드를 기초로 상기 제1 인증 토큰으로부터 상기 제1 회원이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출하는 단계, 상기 제1 카드 번호가 산출되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 상기 전자 단말로 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송을 요청하는 단계 및 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드가 상기 제1 회원이 보유하고 있는 모바일 단말에 의해 스캔되어 인식됨으로 인해, 상기 모바일 단말로부터 상기 2차원 코드에 삽입된 상기 제1 회원 식별 정보와 상기 제1 카드 번호가 수신되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리하는 단계를 포함한다.In addition, a method of operating a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention includes member identification information of a plurality of members and the plurality of members. Credit card held by each of the plurality of members - The credit card held by each of the plurality of members includes the member identification information of the plurality of members and the card number of the credit card held by each of the plurality of members. A dimension code is printed - maintaining a card information database in which card numbers are stored in correspondence with each other, member identification information of the plurality of members and an authentication token for each of the plurality of members - the authentication token is This refers to the output value calculated by applying the pre-issued authentication code for each of the plurality of members and the card number of the credit card held by each of the plurality of members as input to the preset authentication token generation function - these correspond to each other. Maintaining an authentication token database stored in a database, receiving first member identification information from an electronic terminal of a first member among the plurality of members, and receiving a user authentication request, sending the first member to the electronic terminal. 1. Requesting transmission of an authentication code corresponding to a member, when a first authentication code is received from the electronic terminal in response to a request for transmission of the authentication code, corresponding to the first member identification information from the authentication token database Extracting a stored first authentication token and calculating a first card number for a first credit card held by the first member from the first authentication token based on the first authentication code, 1 When the card number is calculated, the first card number is compared with the card number stored corresponding to the first member identification information in the card information database, and if it is confirmed that both card numbers match each other, Requesting transmission of member identification information and card number inserted in the two-dimensional code printed on the surface of the first credit card to the electronic terminal, and the two-dimensional code printed on the surface of the first credit card When the first member identification information and the first card number inserted into the two-dimensional code are received from the mobile terminal by being scanned and recognized by the mobile terminal owned by the first member, the first card number is Comparing whether the card number matches the card number stored corresponding to the first member identification information in the card information database, and completing user authentication when both card numbers are confirmed to match.

본 발명은 사용자의 전자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자가 보유하고 있는 신용카드에 인쇄된 2차원 코드에서 추출된 소정의 인증 정보를 상기 전자 단말과 분리된, 상기 사용자의 모바일 단말로부터 수신하여 상기 사용자에 대한 인증을 수행하는 사용자 인증 서버 및 그 동작 방법을 제시함으로써, 보다 강화된 사용자 인증이 가능하도록 지원할 수 있다.In the present invention, when a user authentication request is received from the user's electronic terminal, predetermined authentication information extracted from the two-dimensional code printed on the credit card held by the user is sent from the user's mobile terminal, which is separate from the electronic terminal. By presenting a user authentication server that receives data and performs authentication for the user and its operation method, it is possible to support more strengthened user authentication.

도 1은 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법을 도시한 순서도이다.
Figure 1 is a diagram illustrating the structure of a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention.
Figure 2 is a diagram illustrating a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention.
Figure 3 is a flowchart showing an operation method of a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the attached drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing each drawing, similar reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are within the scope of common knowledge in the technical field to which the present invention pertains. It has the same meaning as generally understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, this means that it may further include other components rather than excluding other components, unless specifically stated to the contrary. Additionally, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more subcomponents, and the electrical, electronic, and mechanical functions performed by each component may be electronic. It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, and ASICs (Application Specific Integrated Circuits), and may be implemented separately or by integrating two or more into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.Meanwhile, the blocks in the attached block diagram or the steps in the flow chart are computer program instructions that are mounted on the processor or memory of equipment capable of data processing, such as general-purpose computers, special-purpose computers, portable laptop computers, and network computers, and perform designated functions. It can be interpreted to mean. Because these computer program instructions can be stored in a memory provided in a computer device or in a computer-readable memory, the functions described in the blocks of a block diagram or the steps of a flow diagram can be produced as a manufactured product containing instruction means to perform them. It could be. In addition, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments, it is possible for functions mentioned in blocks or steps to be executed in a different order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 구조를 도시한 도면이다.Figure 1 is a diagram illustrating the structure of a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 사용자 인증 서버(110)는 카드 정보 데이터베이스(111), 인증 토큰 데이터베이스(112), 인증 코드 요청부(113), 카드 번호 산출부(114), 전송 요청부(115) 및 인증 완료 처리부(116)를 포함한다.Referring to FIG. 1, the user authentication server 110 according to an embodiment of the present invention includes a card information database 111, an authentication token database 112, an authentication code request unit 113, and a card number calculation unit 114. , includes a transmission request unit 115 and an authentication completion processing unit 116.

먼저, 본 발명에서의 복수의 회원들 각각이 보유하고 있는 신용카드에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 삽입된 2차원 코드가 인쇄되어 있다.First, a two-dimensional code containing the member identification information of each of the plurality of members and the card number of the credit card held by each of the plurality of members is printed on the credit card held by each of the plurality of members in the present invention. It is done.

여기서, 상기 회원 식별 정보란, 각 회원의 성명, 연락처, ID 등의 정보를 의미한다.Here, the member identification information refers to information such as name, contact information, ID, etc. of each member.

이와 관련해서, 도 2에 도시된 그림과 같이, 상기 복수의 회원들 각각이 보유하고 있는 신용카드(210)에는, 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드(210)의 카드 번호(211)가 삽입된 2차원 코드(212)가 인쇄되어 있을 수 있다.In this regard, as shown in FIG. 2, the credit card 210 held by each of the plurality of members includes member identification information of the plurality of members and credit held by each of the plurality of members. A two-dimensional code 212 into which the card number 211 of the card 210 is inserted may be printed.

여기서, 2차원 코드(212)는 2차원 이미지 패턴 상에 다양한 문자 등의 정보를 삽입할 수 있는 코드를 의미하는 것으로, QR 코드(Quick Response Code), veri code, 닷 코드 등이 사용되거나 한국등록특허 제10-1897960호에 개시된 다수의 점으로 구성된 픽셀 공간을 통해 2차원 이미지 상에 소정의 데이터를 표현할 수 있는 디지털 코드 등이 사용될 수 있다. 이와 관련해서, 도 2의 예시는 신용카드(210)에 다수의 점으로 구성된 픽셀 공간을 통해 2차원 이미지 상에 소정의 데이터를 표현할 수 있는 디지털 코드가 2차원 코드(212)로 삽입된 예를 나타낸 것이다. 이러한 디지털 코드는 도 2에 도시된 그림과 같이, 노란색의 점으로 구성되어 있어서, 흰색 바탕의 배경과 대비하였을 때, 색상의 대비가 명확하지 않아서, 육안으로는 명확하게 관찰되기가 어렵지만, 전자 단말의 카메라는 사람의 시각과 다르게 노란색의 점에 대한 식별을 수행할 수 있다는 점에서, 전자 단말을 통해서는 노란색 점의 패턴이 명확하게 식별될 수 있는 특징을 갖는다.Here, the two-dimensional code 212 refers to a code that can insert information such as various characters into a two-dimensional image pattern. QR code (Quick Response Code), veri code, dot code, etc. are used, or Korean registration code is used. A digital code that can express certain data on a two-dimensional image through a pixel space composed of a plurality of points disclosed in Patent No. 10-1897960 can be used. In this regard, the example of FIG. 2 shows an example in which a digital code capable of expressing predetermined data on a two-dimensional image is inserted into the credit card 210 as a two-dimensional code 212 through a pixel space composed of a plurality of dots. It is shown. This digital code is composed of yellow dots, as shown in Figure 2, and when compared to the white background, the color contrast is not clear, so it is difficult to clearly observe with the naked eye, but it is difficult to observe clearly with the naked eye. The camera has the characteristic of being able to identify yellow dots differently from human vision, allowing the pattern of yellow dots to be clearly identified through an electronic terminal.

이러한 상황에서, 사용자 인증 서버(110)의 카드 정보 데이터베이스(111)에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 서로 대응되어 저장되어 있다.In this situation, the card information database 111 of the user authentication server 110 stores the member identification information of the plurality of members and the card number of the credit card held by each of the plurality of members in correspondence with each other.

관련해서, 카드 정보 데이터베이스(111)에는 하기의 표 1과 같이 정보가 저장되어 있을 수 있다.In relation to this, information may be stored in the card information database 111 as shown in Table 1 below.

복수의 회원들의 회원 식별 정보Member identification information for multiple members 신용카드의 카드 번호Card number from credit card 회원 1의 회원 식별 정보Member identification information for member 1 1111-2222-3333-4444 1111-2222-3333-4444 회원 2의 회원 식별 정보Member 2's member identification information 2222-3333-4444-55552222-3333-4444-5555 회원 3의 회원 식별 정보Member Identification Information for Member 3 3333-4444-5555-66663333-4444-5555-6666 ...... ......

인증 토큰 데이터베이스(112)에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각에 대한 인증 토큰이 서로 대응되어 저장되어 있다.The authentication token database 112 stores member identification information of the plurality of members and authentication tokens for each of the plurality of members in correspondence with each other.

관련해서, 인증 토큰 데이터베이스(112)에는 하기의 표 2와 같이 정보가 저장되어 있을 수 있다.In relation to this, information may be stored in the authentication token database 112 as shown in Table 2 below.

복수의 회원들의 회원 식별 정보Member identification information for multiple members 인증 토큰authentication token 회원 1의 회원 식별 정보Member identification information for member 1 인증 토큰 1authentication token 1 회원 2의 회원 식별 정보Member 2's member identification information 인증 토큰 2authentication token 2 회원 3의 회원 식별 정보Member Identification Information for Member 3 인증 토큰 3Authentication Token 3 ...... ......

여기서, 상기 인증 토큰은 상기 복수의 회원들 각각에 대해 사전 발급된 인증 코드와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 사전 설정된 인증 토큰 생성 함수에 입력으로 인가되어 산출된 출력값을 의미한다.Here, the authentication token is an output value calculated by applying the pre-issued authentication code for each of the plurality of members and the card number of the credit card held by each of the plurality of members as input to a preset authentication token generation function. means.

이때, 본 발명의 일실시예에 따르면, 상기 인증 토큰 생성 함수는 상기 복수의 회원들 중 어느 한 회원에 대응되는 인증 코드와 카드 번호가 입력으로 인가되면, 입력으로 인가된 인증 코드와 카드 번호를 사전 설정된 암호화키를 이용하여 각각 동형 암호화(Homomorphic Encryption)를 수행함으로써, 입력으로 인가된 인증 코드에 대한 제1 동형 암호문을 생성하고, 입력으로 인가된 카드 번호에 대한 제2 동형 암호문을 생성한 후, 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 상기 어느 한 회원에 대응되는 인증 토큰으로 산출하는 함수일 수 있다.At this time, according to one embodiment of the present invention, when the authentication code and card number corresponding to one of the plurality of members is input, the authentication token generation function generates the authentication code and card number approved as input. By performing homomorphic encryption using preset encryption keys, a first homomorphic ciphertext is generated for the authentication code approved as input, and a second homomorphic ciphertext is generated for the card number approved as input. , By performing a homomorphic operation between the first homomorphic ciphertext and the second homomorphic ciphertext according to a preset first homomorphic operation equation, it may be a function that calculates the operation result of the homomorphic operation as an authentication token corresponding to one of the members. .

동형 암호화란 암호화된 데이터를 복호화 없이도 암호화된 상태에서 데이터 간의 연산을 수행할 수 있도록 지원하는 암호 기술을 의미한다. 다시 말해서, 동형 암호화란 암호화된 상태에서 연산한 결과 값을 복호화하게 되면, 평문 상태의 데이터를 연산한 결과와 동일한 값을 얻을 수 있도록 하는 암호화 기술을 의미한다.Homomorphic encryption refers to an encryption technology that supports operations on data in an encrypted state without decrypting the encrypted data. In other words, homomorphic encryption refers to an encryption technology that allows you to obtain the same value as the result of calculating data in plaintext when the result of calculation in the encrypted state is decrypted.

예컨대, A와 B라고 하는 평문 데이터가 존재한다고 하고, A를 동형 암호화하여 생성한 암호화 데이터를 E(A), B를 동형 암호화하여 생성한 암호화 데이터를 E(B)라고 가정하자. 이때, E(A)와 E(B)에 대해 소정의 연산을 수행하여 E(S)라고 하는 연산 값을 산출하였다고 하는 경우, E(S)를 복호화하게 되면 그 복호화 값이 A와 B를 합산하거나 곱셈한 값과 동일하게 되도록 하는 것이 동형 암호화의 기본 개념이다. 즉, 암호화 도메인에서 두 암호화 데이터에 대해 소정의 연산을 수행하여 산출된 값을 복호화하게 되면, 그 복호화 값이 평문 도메인에서 두 평문 데이터를 연산한 값과 일치하게 되도록 하는 암호화를 동형 암호화라고 한다.For example, let us assume that there are plaintext data called A and B, that the encrypted data created by homomorphically encrypting A is E(A), and that the encrypted data created by homomorphically encrypting B is E(B). At this time, if a predetermined operation is performed on E(A) and E(B) to calculate an operation value called E(S), when E(S) is decoded, the decoded value is the sum of A and B. The basic concept of homomorphic encryption is to make it the same as the or multiplied value. In other words, when a predetermined operation is performed on two encrypted data in the encryption domain and the calculated value is decrypted, encryption that ensures that the decrypted value matches the value obtained by calculating the two plaintext data in the plaintext domain is called homomorphic encryption.

이와 관련해서, 상기 표 2와 같은 인증 토큰 데이터베이스(112)에서의 '회원 1'에 대응되는 '인증 토큰 1'을 산출하는 과정을 예를 들어 설명하면 다음과 같다.In this regard, the process of calculating 'authentication token 1' corresponding to 'member 1' in the authentication token database 112 as shown in Table 2 above will be described as an example as follows.

먼저, '회원 1'에 대응되는 인증 코드와 카드 번호가 상기 인증 토큰 생성 함수에 입력으로 인가되면, 상기 인증 토큰 생성 함수는 입력으로 인가된 인증 코드와 카드 번호를 사전 설정된 암호화키를 이용하여 각각 동형 암호화를 수행함으로써, 입력으로 인가된 인증 코드에 대한 제1 동형 암호문과 입력으로 인가된 카드 번호에 대한 제2 동형 암호문을 생성할 수 있다.First, when the authentication code and card number corresponding to 'Member 1' are input to the authentication token generation function, the authentication token generation function uses the authentication code and card number approved as input respectively using a preset encryption key. By performing homomorphic encryption, a first homomorphic ciphertext for the authentication code approved as input and a second homomorphic ciphertext for the card number approved as input can be generated.

그러고 나서, 상기 인증 토큰 생성 함수는 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 '회원 1'에 대응되는 '인증 토큰 1'로 산출할 수 있다.Then, the authentication token generation function performs a homomorphic operation between the first homomorphic ciphertext and the second homomorphic ciphertext according to a preset first homomorphic operation formula, and converts the operation result of the homomorphic operation into the homomorphic operation corresponding to 'member 1'. It can be calculated as ‘Authentication Token 1’.

여기서, 상기 제1 동형 연산식은 동형 암호화가 수행된 두 데이터 간에 연산을 수행하기 위한 연산식으로, 개발자에 의해 사전 설정될 수 있다. 이러한 제1 동형 연산식은 평문 도메인에서 두 평문 데이터 간에 수행되는 소정의 연산식에 대응되는 결과를 암호화 도메인에서 생성하기 위해서 지정된 연산식을 의미한다. 예컨대, 평문 데이터를 서로 곱하는 곱셈이라는 연산식이 있을 때, 해당 곱셈에 대응되는 동형 곱셈이 존재할 수 있다. 관련해서, 평문 데이터 A, B가 존재하고, A, B가 각각 동형 암호화가 되어, E(A), E(B)라고 하는 암호화 데이터가 생성되었다고 하며, 상기 제1 동형 연산식이 평문 도메인에서의 곱셈에 대응되는 동형 곱셈이라고 하는 경우, 암호화 도메인에서 E(A)와 E(B)를 동형 곱셈하게 되면, ''라는 연산 결과가 생성될 수 있고, 평문 도메인에서 A와 B를 곱셈하게 되면, ''라는 연산 결과가 생성될 수 있다. 이때, ''를 복호화한 결과는 ''와 같아지게 된다. 이러한 관계가 성립할 때, 상기 제1 동형 연산식인 동형 곱셈은 평문 도메인에서의 곱셈에 대응되는 관계가 있다고 말할 수 있다. 여기서, 동형 곱셈은 평문 도메인에서의 곱셈과 같이, 단순히 암호화된 두 데이터를 곱하는 형태의 연산이 수행되는 것은 아니다. 동형 곱셈은 평문 도메인에서의 곱셈과 대응되는 결과를 만들기 위한 동형 연산식이기 때문에, 단순히 암호화된 두 데이터를 곱하는 형태의 연산 과정이 이루어지는 것이 아니라, 동형 암호화의 특성에 따라 곱하기, 더하기, 모듈로 연산 등이 복합적으로 수행되는 소정의 연산 알고리즘으로 정의될 수 있다.Here, the first homomorphic operation equation is an equation for performing an operation between two data on which homomorphic encryption has been performed, and may be preset by the developer. This first homomorphic arithmetic expression refers to an arithmetic expression designated to generate a result in the encryption domain corresponding to a predetermined arithmetic expression performed between two plaintext data in the plaintext domain. For example, when there is an operation called multiplication that multiplies plain text data, there may be a homomorphic multiplication corresponding to the multiplication. In relation to this, it is said that plaintext data A and B exist, A and B are homomorphically encrypted, respectively, and encrypted data called E(A) and E(B) are generated, and the first homomorphic operation formula is used in the plaintext domain. In the case of homomorphic multiplication corresponding to multiplication, if E(A) and E(B) are homomorphically multiplied in the encryption domain, ' 'The result of the operation can be generated, and when A and B are multiplied in the plaintext domain, ' 'The operation result may be generated. At this time, ' The result of decoding ' is ' ' becomes the same. When this relationship is established, it can be said that the first homomorphic operation expression, homomorphic multiplication, has a relationship corresponding to multiplication in the plain text domain. Here, homomorphic multiplication is not an operation that simply multiplies two encrypted data, like multiplication in the plaintext domain. Since homomorphic multiplication is a homomorphic operation to produce a result corresponding to multiplication in the plaintext domain, the operation process is not simply performed by multiplying two encrypted data, but is performed through multiplication, addition, and modulo operations depending on the characteristics of homomorphic encryption. etc. can be defined as a predetermined operation algorithm that is performed in complex.

인증 코드 요청부(113)는 상기 복수의 회원들 중 어느 하나인 제1 회원의 전자 단말(150)로부터 제1 회원 식별 정보가 수신되면서, 사용자 인증 요청이 수신되면, 전자 단말(150)로 상기 제1 회원에 대응되는 인증 코드의 전송을 요청한다.When first member identification information is received from the electronic terminal 150 of a first member, which is one of the plurality of members, and a user authentication request is received, the authentication code request unit 113 sends the electronic terminal 150 to the electronic terminal 150. Request transmission of an authentication code corresponding to the first member.

카드 번호 산출부(114)는 전자 단말(150)로부터, 상기 인증 코드의 전송 요청에 대응하여 제1 인증 코드가 수신되면, 인증 토큰 데이터베이스(112)로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 제1 인증 코드를 기초로 상기 제1 인증 토큰으로부터 상기 제1 회원이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출한다.When the card number calculation unit 114 receives the first authentication code from the electronic terminal 150 in response to a request for transmission of the authentication code, it is stored in correspondence with the first member identification information from the authentication token database 112. The first authentication token is extracted, and a first card number for the first credit card held by the first member is calculated from the first authentication token based on the first authentication code.

전송 요청부(115)는 상기 제1 카드 번호가 산출되면, 상기 제1 카드 번호가 카드 정보 데이터베이스(111)에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 전자 단말(150)로 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송을 요청한다.When the first card number is calculated, the transmission request unit 115 compares whether the first card number matches the card number stored corresponding to the first member identification information in the card information database 111, and determines whether the first card number matches the card number stored in correspondence with the first member identification information. If the card numbers are confirmed to match each other, transmission of the member identification information and card number inserted into the two-dimensional code printed on the surface of the first credit card is requested to the electronic terminal 150.

인증 완료 처리부(116)는 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드가 상기 제1 회원이 보유하고 있는 모바일 단말(160)에 의해 스캔되어 인식됨으로 인해, 모바일 단말(160)로부터 상기 2차원 코드에 삽입된 상기 제1 회원 식별 정보와 상기 제1 카드 번호가 수신되면, 상기 제1 카드 번호가 카드 정보 데이터베이스(111)에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리한다.The authentication completion processing unit 116 receives the information from the mobile terminal 160 because the two-dimensional code printed on the surface of the first credit card is scanned and recognized by the mobile terminal 160 owned by the first member. When the first member identification information and the first card number inserted into the two-dimensional code are received, the first card number is stored in correspondence with the first member identification information in the card information database 111, and When it is confirmed that both card numbers match each other, user authentication is completed.

이하에서는, 인증 코드 요청부(113), 카드 번호 산출부(114), 전송 요청부(115) 및 인증 완료 처리부(116)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the operations of the authentication code request unit 113, the card number calculation unit 114, the transmission request unit 115, and the authentication completion processing unit 116 will be described in detail using examples.

먼저, 상기 제1 회원을 상기 표 2과 같은 인증 토큰 데이터베이스(112)에서의 '회원 1'이라고 하고, '회원 1'의 전자 단말(150)로부터 '회원 1의 회원 식별 정보'가 수신되면서, 사용자 인증 요청이 사용자 인증 서버(110)로 수신되었다고 가정하자.First, the first member is referred to as 'member 1' in the authentication token database 112 as shown in Table 2, and 'member identification information of member 1' is received from the electronic terminal 150 of 'member 1', Assume that a user authentication request is received by the user authentication server 110.

그러면, 인증 코드 요청부(113)는 전자 단말(150)로 '회원 1'에 대응되는 인증 코드의 전송을 요청할 수 있다.Then, the authentication code request unit 113 may request transmission of the authentication code corresponding to 'member 1' to the electronic terminal 150.

이때, 사용자 인증 서버(110)로부터 '회원 1'의 전자 단말(150)에 '회원 1'에 대응되는 인증 코드의 전송이 요청되면, '회원 1'은 '회원 1'에 대응되는 인증 코드를 전자 단말(150)에 입력할 수 있다. 만약, '회원 1'에 대응되는 인증 코드로 제1 인증 코드가 입력되는 경우, 전자 단말(150)은 사용자 인증 서버(110)로 상기 제1 인증 코드를 전송할 수 있다.At this time, when transmission of the authentication code corresponding to 'Member 1' is requested from the user authentication server 110 to the electronic terminal 150 of 'Member 1', 'Member 1' sends the authentication code corresponding to 'Member 1'. It can be entered into the electronic terminal 150. If the first authentication code is input as the authentication code corresponding to 'Member 1', the electronic terminal 150 may transmit the first authentication code to the user authentication server 110.

이렇게, 전자 단말(150)에서 '회원 1'에 대해 사전 발급된 인증 코드인 상기 제1 인증 코드가 입력됨에 따라, 전자 단말(150)로부터 사용자 인증 서버(110)에 상기 제1 인증 코드가 수신되면, 카드 번호 산출부(114)는 상기 표 2와 같은 인증 토큰 데이터베이스(112)로부터 '회원 1의 회원 식별 정보'에 대응되어 저장되어 있는 '인증 토큰 1'을 추출하고, 상기 제1 인증 코드를 기초로 '인증 토큰 1'로부터 '회원 1'이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출할 수 있다.In this way, as the first authentication code, which is a pre-issued authentication code for 'Member 1', is input in the electronic terminal 150, the first authentication code is received from the electronic terminal 150 to the user authentication server 110. Then, the card number calculation unit 114 extracts 'authentication token 1' stored in correspondence with 'member identification information of member 1' from the authentication token database 112 as shown in Table 2 above, and enters the first authentication code Based on this, the first card number for the first credit card held by 'member 1' can be calculated from 'authentication token 1'.

이때, 본 발명의 일실시예에 따르면, 카드 번호 산출부(114)는 전자 단말(150)로부터 상기 제1 인증 코드가 수신되면, 인증 토큰 데이터베이스(112)로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 암호화키를 이용하여 상기 제1 인증 토큰을 복호화함으로써, 복호화 값을 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 제1 인증 코드와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 복호화 값과 동일해지도록 하는 해(solution)를 상기 제1 카드 번호로 산출할 수 있다.At this time, according to one embodiment of the present invention, when the first authentication code is received from the electronic terminal 150, the card number calculation unit 114 corresponds to the first member identification information from the authentication token database 112. After extracting the stored first authentication token and decrypting the first authentication token using the encryption key to generate a decryption value, a first operation is performed in the plaintext domain corresponding to the first homomorphic operation equation. A solution such that the operation result calculated when an operation is performed with the first authentication code according to the equation is the same as the decryption value can be calculated using the first card number.

예컨대, 상기 제1 동형 연산식이 로 표현되는 동형 곱셈이라고 하고, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 상기 제1 연산식이 곱셈이라고 하며, '회원 1'에 대응되는 상기 제1 인증 코드를 'A', '회원 1'에 대응되는 상기 제1 카드 번호를 'B', 상기 제1 동형 암호문을 'E(A)', 상기 제2 동형 암호문을 'E(B)'라고 가정하자.For example, the first isomorphic operation equation is It is said to be a homomorphic multiplication expressed as, the first operation expression in the plain text domain corresponding to the first homomorphism operation expression is called a multiplication, and the first authentication code corresponding to 'member 1' is 'A', 'member 1'. Assume that the first card number corresponding to ' is 'B', the first homomorphic ciphertext is 'E(A)', and the second homomorphic ciphertext is 'E(B)'.

이때, 전자 단말(150)로부터 상기 제1 인증 코드가 수신되면, 카드 번호 산출부(114)는 상기 표 2와 같은 인증 토큰 데이터베이스(112)로부터 '회원 1의 회원 식별 정보'에 대응되어 저장되어 있는 '인증 토큰 1'을 추출할 수 있다. 여기서, 상기 추출된 '인증 토큰 1'은 상기 제1 동형 암호문인 'E(A)'와 상기 제2 동형 암호문인 'E(B)'가 서로 상기 제1 동형 연산식인 동형 곱셈이 수행되어 생성된 값이기 때문에 ''가 될 수 있고, 이때, 카드 번호 산출부(114)는 ''에 대해서 상기 암호화키를 이용하여 복호화를 수행할 수 있다.At this time, when the first authentication code is received from the electronic terminal 150, the card number calculation unit 114 is stored in correspondence with the 'member identification information of member 1' from the authentication token database 112 as shown in Table 2 above. You can extract 'Authentication Token 1'. Here, the extracted 'authentication token 1' is generated by performing homomorphic multiplication of the first homomorphic ciphertext 'E(A)' and the second homomorphic ciphertext 'E(B)', which is the first homomorphic operation equation. Because the value is ' ', and at this time, the card number calculation unit 114 is ' ', decryption can be performed using the encryption key.

이때, ''는 동형 암호화가 수행된 'E(A)'와 'E(B)'가 서로 동형 곱셈되어 생성된 결과이기 때문에, ''에 대한 복호화 값은 평문 도메인에서의 곱셈의 결과인 ''가 될 수 있다.At this time, ' ' is the result of homomorphic multiplication of 'E(A)' and 'E(B)' on which homomorphic encryption was performed, ' The decrypted value for ' is ' which is the result of multiplication in the plaintext domain. 'It can be.

여기서, 'A'는 상기 제1 인증 코드를 의미하고, 'B'는 상기 제1 카드 번호를 의미하기 때문에, 카드 번호 산출부(114)는 ''로부터 상기 복호화 값인 ''가 생성되면, 상기 제1 인증 코드인 'A'를 기초로 ''로부터 상기 제1 카드 번호인 'B'를 찾아낼 수 있다.Here, since 'A' refers to the first authentication code and 'B' refers to the first card number, the card number calculation unit 114 is ' ' is the decrypted value from ' ' is generated, based on the first authentication code 'A', ' 'B', the first card number, can be found from '.

구체적으로, 카드 번호 산출부(114)는 상기 제1 연산식인 곱셈에 따라 상기 제1 인증 코드인 'A'와 서로 연산이 수행되었을 때 산출되는 연산 결과가 상기 복호화 값인 ''와 동일해지도록 하는 해를 연산함으로써, 상기 제1 카드 번호인 'B'를 복원할 수 있다. 즉, 카드 번호 산출부(114)는 상기 제1 연산식이 곱셈이기 때문에, 상기 제1 인증 코드인 'A'에 어떤 값을 곱하였을 때 산출되는 결과가 ''가 되도록 하는 해를 연산함으로써, 상기 제1 카드 번호인 'B'를 복원할 수 있다.Specifically, when the card number calculation unit 114 performs an operation with 'A', which is the first authentication code, according to the multiplication, which is the first operation equation, the operation result calculated is the decrypted value, ' 'B', the first card number, can be restored by calculating a solution that is equal to '. That is, since the first operation formula of the card number calculation unit 114 is multiplication, the result calculated when 'A', which is the first authentication code, is multiplied by a certain value is ' 'B', the first card number, can be restored by calculating the solution to be '.

이렇게, 카드 번호 산출부(114)에 의해, 상기 제1 카드 번호가 산출되면, 전송 요청부(115)는 상기 제1 카드 번호가 상기 표 1과 같은 카드 정보 데이터베이스(111)에서 '회원 1의 회원 식별 정보'에 대응되어 저장되어 있는 카드 번호인 '1111-2222-3333-4444'와 일치하는지 비교할 수 있다.In this way, when the first card number is calculated by the card number calculation unit 114, the transmission request unit 115 records the first card number as 'Member 1' in the card information database 111 as shown in Table 1 above. You can compare whether it matches the card number '1111-2222-3333-4444' stored in correspondence with the 'member identification information'.

관련해서, 상기 제1 카드 번호를 '1111-2222-3333-4444'라고 하는 경우, 전송 요청부(115)는 양 카드 번호가 서로 일치하는 것으로 확인되기 때문에, 전자 단말(150)로 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송을 요청할 수 있다.In relation to this, when the first card number is '1111-2222-3333-4444', the transmission request unit 115 confirms that both card numbers match each other, and thus sends the first card number to the electronic terminal 150. You can request transmission of member identification information and card number embedded in the two-dimensional code printed on the surface of the credit card.

이때, 본 발명의 일실시예에 따르면, 전자 단말(150)은 사용자 인증 서버(110)로부터, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송 요청이 수신되면, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 인식할 것을 지시하는 안내 메시지를 생성하여 화면 상에 표시할 수 있다.At this time, according to one embodiment of the present invention, the electronic terminal 150 transmits the member identification information and card number inserted into the two-dimensional code printed on the surface of the first credit card from the user authentication server 110. When a request is received, a guidance message instructing to recognize the two-dimensional code printed on the surface of the first credit card can be generated and displayed on the screen.

이때, 본 발명의 일실시예에 따르면, 모바일 단말(160)은 상기 제1 회원에 의해, 모바일 단말(160)에 사전 설치되어 있는 2차원 코드의 인식을 위한 인식 애플리케이션이 실행되면, 모바일 단말(160)에 사전 탑재되어 있는 카메라를 통해, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 스캔하여 인식함으로써, 상기 2차원 코드로부터 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 추출한 후, 사용자 인증 서버(110)로 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 전송할 수 있다.At this time, according to an embodiment of the present invention, when the recognition application for recognition of the two-dimensional code pre-installed on the mobile terminal 160 is executed by the first member, the mobile terminal 160 ( 160), the two-dimensional code printed on the surface of the first credit card is scanned and recognized through a camera pre-installed in the first credit card, thereby extracting the first member identification information and the first card number from the two-dimensional code. Afterwards, the first member identification information and the first card number can be transmitted to the user authentication server 110.

이렇게, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드가 상기 제1 회원이 보유하고 있는 모바일 단말(160)에 의해 스캔되어 인식됨으로 인해, 모바일 단말(160)로부터 상기 2차원 코드에 삽입된 상기 제1 회원 식별 정보와 상기 제1 카드 번호가 수신되면, 인증 완료 처리부(116)는 상기 제1 카드 번호가 상기 표 1과 같은 카드 정보 데이터베이스(111)에서 '회원 1의 회원 식별 정보'에 대응되어 저장되어 있는 카드 번호인 '1111-2222-3333-4444'와 일치하는지 비교할 수 있다.In this way, the two-dimensional code printed on the surface of the first credit card is scanned and recognized by the mobile terminal 160 owned by the first member, so that it is inserted into the two-dimensional code from the mobile terminal 160. When the first member identification information and the first card number are received, the authentication completion processing unit 116 records the first card number as 'member identification information of member 1' in the card information database 111 as shown in Table 1 above. You can compare to see if it matches the stored card number '1111-2222-3333-4444'.

관련해서, 모바일 단말(160)로부터 수신된 상기 제1 카드 번호를 '1111-2222-3333-4444'라고 하는 경우, 인증 완료 처리부(116)는 양 카드 번호가 서로 일치하는 것으로 확인되기 때문에, 사용자 인증을 완료 처리할 수 있다.In relation to this, when the first card number received from the mobile terminal 160 is '1111-2222-3333-4444', the authentication completion processing unit 116 confirms that both card numbers match each other, so that the user Authentication can be completed and processed.

본 발명의 일실시예에 따르면, 사용자 인증 서버(110)는 인증 이력 정보 생성부(117), 트랜잭션 생성부(118) 및 등록 요청부(119)를 더 포함할 수 있다.According to one embodiment of the present invention, the user authentication server 110 may further include an authentication history information generation unit 117, a transaction generation unit 118, and a registration request unit 119.

인증 이력 정보 생성부(117)는 상기 사용자 인증이 완료 처리되면, 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성한다.When the user authentication is completed, the authentication history information generator 117 generates time information about when the user authentication is completed, and then uses the time information, the first authentication code, and the first card number. Create configured authentication history information.

예컨대, 인증 완료 처리부(116)를 통해 상기 사용자 인증이 완료 처리되었다고 가정하자. 그러면, 인증 이력 정보 생성부(117)는 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성할 수 있다.For example, assume that the user authentication has been completed through the authentication completion processing unit 116. Then, the authentication history information generator 117 generates time information about the time when the user authentication is completed and then generates authentication history information consisting of the time information, the first authentication code, and the first card number. can do.

관련해서, 상기 시간 정보를 '시간 정보 1'이라고 하는 경우, 인증 이력 정보 생성부(117)는 하기의 표 3과 같은 인증 이력 정보를 생성할 수 있다.In relation to this, when the time information is referred to as 'time information 1', the authentication history information generator 117 may generate authentication history information as shown in Table 3 below.

시간 정보time information 인증 코드verification code 카드 번호card number 시간 정보 1Time information 1 제1 인증 코드1st authentication code 제1 카드 번호1st card number

트랜잭션 생성부(118)는 상기 인증 이력 정보가 생성되면, 상기 인증 이력 정보가 포함된 트랜잭션을 생성한다.When the authentication history information is generated, the transaction generator 118 generates a transaction including the authentication history information.

등록 요청부(119)는 상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들(11, 12, 13, 14) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송한다.When the transaction is generated, the registration request unit 119 randomly selects a first node device, which is one of a plurality of node devices 11, 12, 13, and 14 constituting the blockchain network, and then 1 While transmitting the transaction to the node device, a request for registration of the transaction to the blockchain network is transmitted.

이때, 상기 제1 노드 장치는 사용자 인증 서버(110)로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 복수의 노드 장치들(11, 12, 13, 14) 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.At this time, when the first node device receives the registration request together with the transaction from the user authentication server 110, the first node device includes the transaction based on the previous block linked to the chain in the blockchain data stored in the memory. By creating 1 block and connecting the first block to the blockchain data as a chain, after completing storage of the first block, the first block is stored through a plurality of node devices (11) through the blockchain network. , 12, 13, and 14), it can be propagated to the remaining node devices except the first node device.

구체적으로, 상기 제1 노드 장치는 사용자 인증 서버(110)로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 상기 블록체인 데이터에 체인으로 연결되어 있는 이전 블록의 블록 헤더를 참조하여 상기 트랜잭션이 포함된 새로운 블록인 상기 제1 블록을 생성할 수 있다. 그러고 나서, 상기 제1 노드 장치는 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 복수의 노드 장치들(11, 12, 13, 14) 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.Specifically, when the first node device receives the registration request together with the transaction from the user authentication server 110, the first node device includes the transaction by referring to the block header of the previous block linked to the blockchain data in a chain. The first block, which is a new block, can be created. Then, the first node device connects the first block to the blockchain data in a chain, and after completing storage of the first block, transfers the first block to a plurality of node devices through the blockchain network. Among the nodes 11, 12, 13, and 14, it can be propagated to the remaining node devices except the first node device.

이렇게, 본 발명에 따른 사용자 인증 서버(110)는 상기 사용자 인증이 완료 처리되면, 이에 대한 인증 이력 정보를 생성하여 블록체인 네트워크에 등록해 둠으로써, 사용자가 언제 사용자 인증을 수행하였고, 사용자 인증을 얼마나 진행하였는지 확인할 수 있도록 하여, 제3자에 의해 상기 사용자가 보유하고 있는 신용카드가 도용되어 인증된 적이 있는지 여부에 대한 정보를 확인할 수 있도록 지원할 수 있다.In this way, when the user authentication is completed, the user authentication server 110 according to the present invention generates authentication history information and registers it in the blockchain network, thereby determining when the user performed user authentication and user authentication. By allowing you to check how much progress has been made, it is possible to check information on whether the credit card held by the user has been stolen and authenticated by a third party.

도 3은 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법을 도시한 순서도이다.Figure 3 is a flowchart showing an operation method of a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention.

단계(S310)에서는 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드(상기 복수의 회원들 각각이 보유하고 있는 신용카드에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 삽입된 2차원 코드가 인쇄되어 있음)의 카드 번호가 서로 대응되어 저장되어 있는 카드 정보 데이터베이스를 유지한다.In step S310, the member identification information of a plurality of members and the credit card held by each of the plurality of members (the credit card held by each of the plurality of members includes the member identification information of the plurality of members and the credit card held by each of the plurality of members) A card information database is maintained in which the card numbers of each member (in which a two-dimensional code containing the card number of the credit card held by each member is printed) are stored in correspondence with each other.

단계(S320)에서는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각에 대한 인증 토큰(상기 인증 토큰은 상기 복수의 회원들 각각에 대해 사전 발급된 인증 코드와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 사전 설정된 인증 토큰 생성 함수에 입력으로 인가되어 산출된 출력값을 의미함)이 서로 대응되어 저장되어 있는 인증 토큰 데이터베이스를 유지한다.In step S320, member identification information of the plurality of members and an authentication token for each of the plurality of members (the authentication token includes a pre-issued authentication code for each of the plurality of members and each of the plurality of members) It maintains an authentication token database in which the card number of the credit card you own is applied as input to the preset authentication token creation function and the output value calculated) is stored in correspondence with each other.

단계(S330)에서는 상기 복수의 회원들 중 어느 하나인 제1 회원의 전자 단말로부터 제1 회원 식별 정보가 수신되면서, 사용자 인증 요청이 수신되면, 상기 전자 단말로 상기 제1 회원에 대응되는 인증 코드의 전송을 요청한다.In step S330, when first member identification information is received from the electronic terminal of a first member, which is one of the plurality of members, and a user authentication request is received, an authentication code corresponding to the first member is sent to the electronic terminal. Request transmission of .

단계(S340)에서는 상기 전자 단말로부터, 상기 인증 코드의 전송 요청에 대응하여 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 인증 토큰을 추출하고, 상기 제1 인증 코드를 기초로 상기 제1 인증 토큰으로부터 상기 제1 회원이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출한다.In step S340, when a first authentication code is received from the electronic terminal in response to a request to transmit the authentication code, a first authentication token stored in correspondence with the first member identification information is extracted from the authentication token database. And, based on the first authentication code, the first card number for the first credit card held by the first member is calculated from the first authentication token.

단계(S350)에서는 상기 제1 카드 번호가 산출되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 상기 전자 단말로 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송을 요청한다.In step S350, when the first card number is calculated, it is compared to see whether the first card number matches the card number stored corresponding to the first member identification information in the card information database, and both card numbers are different from each other. If a match is confirmed, transmission of the member identification information and card number inserted into the two-dimensional code printed on the surface of the first credit card is requested to the electronic terminal.

단계(S360)에서는 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드가 상기 제1 회원이 보유하고 있는 모바일 단말에 의해 스캔되어 인식됨으로 인해, 상기 모바일 단말로부터 상기 2차원 코드에 삽입된 상기 제1 회원 식별 정보와 상기 제1 카드 번호가 수신되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리한다.In step S360, the two-dimensional code printed on the surface of the first credit card is scanned and recognized by the mobile terminal owned by the first member, so that the two-dimensional code inserted into the two-dimensional code from the mobile terminal is recognized. When first member identification information and the first card number are received, the first card number is compared to see if it matches the card number stored corresponding to the first member identification information in the card information database, and both card numbers are If it is confirmed that they match, user authentication is completed.

이때, 본 발명의 일실시예에 따르면, 상기 인증 토큰 생성 함수는 상기 복수의 회원들 중 어느 한 회원에 대응되는 인증 코드와 카드 번호가 입력으로 인가되면, 입력으로 인가된 인증 코드와 카드 번호를 사전 설정된 암호화키를 이용하여 각각 동형 암호화를 수행함으로써, 입력으로 인가된 인증 코드에 대한 제1 동형 암호문을 생성하고, 입력으로 인가된 카드 번호에 대한 제2 동형 암호문을 생성한 후, 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 상기 어느 한 회원에 대응되는 인증 토큰으로 산출하는 함수일 수 있다.At this time, according to one embodiment of the present invention, when the authentication code and card number corresponding to one of the plurality of members is input, the authentication token generation function generates the authentication code and card number approved as input. By performing homomorphic encryption using a preset encryption key, a first homomorphic ciphertext is generated for the authentication code authorized as an input, and a second homomorphic ciphertext is generated for the card number authorized as an input. 1 It may be a function that performs a homomorphic operation between the first homomorphic ciphertext and the second homomorphic ciphertext according to a homomorphic operation equation, and calculates the result of the homomorphic operation as an authentication token corresponding to one of the members.

이때, 본 발명의 일실시예에 따르면, 단계(S340)에서는 상기 전자 단말로부터 상기 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 암호화키를 이용하여 상기 제1 인증 토큰을 복호화함으로써, 복호화 값을 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 제1 인증 코드와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 복호화 값과 동일해지도록 하는 해를 상기 제1 카드 번호로 산출할 수 있다.At this time, according to one embodiment of the present invention, when the first authentication code is received from the electronic terminal in step S340, the first authentication code stored in correspondence with the first member identification information from the authentication token database After generating a decryption value by extracting a token and decrypting the first authentication token using the encryption key, the first authentication is performed according to a first arithmetic expression in the plaintext domain corresponding to the first homomorphic arithmetic expression. When an operation is performed with the code, a solution such that the result of the operation is the same as the decrypted value can be calculated using the first card number.

또한, 본 발명의 일실시예에 따르면, 상기 전자 단말은 상기 사용자 인증 서버로부터, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송 요청이 수신되면, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 인식할 것을 지시하는 안내 메시지를 생성하여 화면 상에 표시할 수 있다.In addition, according to one embodiment of the present invention, when the electronic terminal receives a request for transmission of member identification information and card number inserted into the two-dimensional code printed on the surface of the first credit card from the user authentication server, , a guidance message instructing to recognize the two-dimensional code printed on the surface of the first credit card can be generated and displayed on the screen.

이때, 상기 모바일 단말은 상기 제1 회원에 의해, 상기 모바일 단말에 사전 설치되어 있는 2차원 코드의 인식을 위한 인식 애플리케이션이 실행되면, 상기 모바일 단말에 사전 탑재되어 있는 카메라를 통해, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 스캔하여 인식함으로써, 상기 2차원 코드로부터 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 추출한 후, 상기 사용자 인증 서버로 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 전송할 수 있다.At this time, when the mobile terminal executes the recognition application for recognition of the two-dimensional code pre-installed on the mobile terminal by the first member, the first credit is recognized through the camera pre-installed on the mobile terminal. By scanning and recognizing the two-dimensional code printed on the surface of the card, the first member identification information and the first card number are extracted from the two-dimensional code, and then the first member identification information and the first card number are sent to the user authentication server. The first card number can be transmitted.

또한, 본 발명의 일실시예에 따르면, 상기 사용자 인증 서버의 동작 방법은 상기 사용자 인증이 완료 처리되면, 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성하는 단계, 상기 인증 이력 정보가 생성되면, 상기 인증 이력 정보가 포함된 트랜잭션을 생성하는 단계 및 상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the operating method of the user authentication server is to generate time information about the time when the user authentication is completed when the user authentication is completed, and then generate the time information and the first time information. 1 generating authentication history information consisting of an authentication code and the first card number; once the authentication history information is generated, generating a transaction including the authentication history information; and once the transaction is generated, establishing a blockchain network. After randomly selecting a first node device, which is one of a plurality of node devices, transmitting the transaction to the first node device and transmitting a request for registration of the transaction to the blockchain network. More may be included.

이때, 상기 제1 노드 장치는 상기 사용자 인증 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.At this time, when the registration request together with the transaction is received from the user authentication server, the first node device generates a first block containing the transaction based on the previous block linked to the chain in the blockchain data stored in the memory. By creating and connecting the first block to the blockchain data as a chain, after completing storage of the first block, the first block is transferred to the first block among the plurality of node devices through the blockchain network. It can be propagated to all node devices except 1 node device.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 사용자 인증 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 사용자 인증 서버의 동작 방법은 도 1 내지 도 2를 이용하여 설명한 사용자 인증 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.Above, the operation method of the user authentication server according to an embodiment of the present invention has been described with reference to FIG. 3. Here, the operation method of the user authentication server according to an embodiment of the present invention may correspond to the configuration of the operation of the user authentication server 110 described using FIGS. 1 and 2, so a detailed description thereof is omitted. I decided to do it.

본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention includes a computer stored in a storage medium for execution through combination with a computer. It can be implemented as a program.

또한, 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, a method of operating a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention includes computer program instructions for execution through combination with a computer. It may be implemented in a form and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

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

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the described embodiments, and the scope of the patent claims described below as well as all modifications that are equivalent or equivalent to the scope of this patent claim shall fall within the scope of the spirit of the present invention. .

110: 사용자 인증 서버
111: 카드 정보 데이터베이스 112: 인증 토큰 데이터베이스
113: 인증 코드 요청부 114: 카드 번호 산출부
115: 전송 요청부 116: 인증 완료 처리부
117: 인증 이력 정보 생성부 118: 트랜잭션 생성부
119: 등록 요청부
150: 전자 단말
160: 모바일 단말
11, 12, 13, 14: 복수의 노드 장치들
110: User authentication server
111: Card information database 112: Authentication token database
113: Authentication code request unit 114: Card number calculation unit
115: Transmission request unit 116: Authentication completion processing unit
117: Authentication history information generation unit 118: Transaction generation unit
119: Registration request section
150: electronic terminal
160: mobile terminal
11, 12, 13, 14: Multiple node devices

Claims (12)

2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버에 있어서,
복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드 - 상기 복수의 회원들 각각이 보유하고 있는 신용카드에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 삽입된 2차원 코드가 인쇄되어 있음 - 의 카드 번호가 서로 대응되어 저장되어 있는 카드 정보 데이터베이스;
상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각에 대한 인증 토큰 - 상기 인증 토큰은 상기 복수의 회원들 각각에 대해 사전 발급된 인증 코드와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 사전 설정된 인증 토큰 생성 함수에 입력으로 인가되어 산출된 출력값을 의미함 - 이 서로 대응되어 저장되어 있는 인증 토큰 데이터베이스;
상기 복수의 회원들 중 어느 하나인 제1 회원의 전자 단말로부터 제1 회원 식별 정보가 수신되면서, 사용자 인증 요청이 수신되면, 상기 전자 단말로 상기 제1 회원에 대응되는 인증 코드의 전송을 요청하는 인증 코드 요청부;
상기 전자 단말로부터, 상기 인증 코드의 전송 요청에 대응하여 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 인증 토큰을 추출하고, 상기 제1 인증 코드를 기초로 상기 제1 인증 토큰으로부터 상기 제1 회원이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출하는 카드 번호 산출부;
상기 제1 카드 번호가 산출되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 상기 전자 단말로 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송을 요청하는 전송 요청부; 및
상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드가 상기 제1 회원이 보유하고 있는 모바일 단말에 의해 스캔되어 인식됨으로 인해, 상기 모바일 단말로부터 상기 2차원 코드에 삽입된 상기 제1 회원 식별 정보와 상기 제1 카드 번호가 수신되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리하는 인증 완료 처리부
를 포함하고,
상기 전자 단말은
상기 사용자 인증 서버로부터, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송 요청이 수신되면, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 인식할 것을 지시하는 안내 메시지를 생성하여 화면 상에 표시하고,
상기 모바일 단말은
상기 제1 회원에 의해, 상기 모바일 단말에 사전 설치되어 있는 2차원 코드의 인식을 위한 인식 애플리케이션이 실행되면, 상기 모바일 단말에 사전 탑재되어 있는 카메라를 통해, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 스캔하여 인식함으로써, 상기 2차원 코드로부터 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 추출한 후, 상기 사용자 인증 서버로 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 전송하는 것을 특징으로 하는, 사용자 인증 서버.
In the user authentication server that performs two-channel authentication for users holding credit cards based on two-dimensional codes,
Member identification information of a plurality of members and credit cards held by each of the plurality of members - The credit card held by each of the plurality of members includes member identification information of the plurality of members and each of the plurality of members. A two-dimensional code containing the card number of the credit card you hold is printed - a card information database in which the card numbers are stored in correspondence with each other;
Member identification information of the plurality of members and an authentication token for each of the plurality of members - the authentication token includes a pre-issued authentication code for each of the plurality of members and a credit card held by each of the plurality of members refers to the output value calculated by applying the card number as input to the preset authentication token creation function - an authentication token database stored in correspondence with each other;
When first member identification information is received from the electronic terminal of a first member, which is one of the plurality of members, and a user authentication request is received, requesting transmission of an authentication code corresponding to the first member to the electronic terminal. Authentication code request unit;
When a first authentication code is received from the electronic terminal in response to a request to transmit the authentication code, a first authentication token stored in correspondence with the first member identification information is extracted from the authentication token database, and the first authentication token is stored in response to the first member identification information. a card number calculation unit that calculates a first card number for a first credit card held by the first member from the first authentication token based on an authentication code;
When the first card number is calculated, the first card number is compared with the card number stored corresponding to the first member identification information in the card information database, and it is confirmed that both card numbers match each other. In this case, a transmission request unit that requests transmission of member identification information and card number inserted in the two-dimensional code printed on the surface of the first credit card to the electronic terminal; and
Since the two-dimensional code printed on the surface of the first credit card is scanned and recognized by the mobile terminal owned by the first member, the first member identification information inserted into the two-dimensional code from the mobile terminal When the first card number is received, the first card number is compared with the card number stored corresponding to the first member identification information in the card information database, and it is confirmed that both card numbers match each other. If so, an authentication completion processing unit that completes user authentication.
Including,
The electronic terminal is
When a request for transmission of member identification information and card number inserted in the two-dimensional code printed on the surface of the first credit card is received from the user authentication server, the two-dimensional code printed on the surface of the first credit card Create a guidance message instructing to recognize and display it on the screen,
The mobile terminal is
When the recognition application for recognition of the two-dimensional code pre-installed on the mobile terminal is executed by the first member, it is printed on the surface of the first credit card through the camera pre-installed on the mobile terminal. By scanning and recognizing the two-dimensional code, the first member identification information and the first card number are extracted from the two-dimensional code, and then the first member identification information and the first card number are transmitted to the user authentication server. A user authentication server characterized in that.
제1항에 있어서,
상기 인증 토큰 생성 함수는
상기 복수의 회원들 중 어느 한 회원에 대응되는 인증 코드와 카드 번호가 입력으로 인가되면, 입력으로 인가된 인증 코드와 카드 번호를 사전 설정된 암호화키를 이용하여 각각 동형 암호화(Homomorphic Encryption)를 수행함으로써, 입력으로 인가된 인증 코드에 대한 제1 동형 암호문을 생성하고, 입력으로 인가된 카드 번호에 대한 제2 동형 암호문을 생성한 후, 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 상기 어느 한 회원에 대응되는 인증 토큰으로 산출하는 함수인 것을 특징으로 하는 사용자 인증 서버.
According to paragraph 1,
The authentication token creation function is
When the authentication code and card number corresponding to one of the plurality of members is input, homomorphic encryption is performed on the authentication code and card number approved as input, respectively, using a preset encryption key. After generating a first homomorphic ciphertext for the authentication code approved as an input, and generating a second homomorphic ciphertext for the card number approved as an input, the first homomorphic ciphertext and the A user authentication server characterized in that it is a function that performs a homomorphic operation between second homomorphic ciphertexts, and calculates the result of the homomorphic operation as an authentication token corresponding to one of the members.
제2항에 있어서,
상기 카드 번호 산출부는
상기 전자 단말로부터 상기 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 암호화키를 이용하여 상기 제1 인증 토큰을 복호화함으로써, 복호화 값을 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 제1 인증 코드와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 복호화 값과 동일해지도록 하는 해(solution)를 상기 제1 카드 번호로 산출하는 것을 특징으로 하는 사용자 인증 서버.
According to paragraph 2,
The card number calculation unit
When the first authentication code is received from the electronic terminal, the first authentication token stored corresponding to the first member identification information is extracted from the authentication token database, and the first authentication token is generated using the encryption key. By decoding, after generating the decryption value, the operation result calculated when the operation is performed with the first authentication code according to the first operation equation in the plaintext domain corresponding to the first homomorphism operation equation is, A user authentication server characterized in that it calculates a solution that is equal to the decryption value using the first card number.
삭제delete 제1항에 있어서,
상기 사용자 인증이 완료 처리되면, 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성하는 인증 이력 정보 생성부;
상기 인증 이력 정보가 생성되면, 상기 인증 이력 정보가 포함된 트랜잭션을 생성하는 트랜잭션 생성부; 및
상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
를 더 포함하고,
상기 제1 노드 장치는
상기 사용자 인증 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 사용자 인증 서버.
According to paragraph 1,
When the user authentication is completed, time information is generated regarding the time when the user authentication is completed, and then authentication history information consisting of the time information, the first authentication code, and the first card number is generated. information generation unit;
a transaction generator that generates a transaction including the authentication history information when the authentication history information is generated; and
When the transaction is created, a first node device, which is one of a plurality of node devices constituting a blockchain network, is randomly selected, and the transaction is transmitted to the first node device, thereby creating the blockchain for the transaction. Registration request unit that transmits registration requests to the network
It further includes,
The first node device is
When the registration request together with the transaction is received from the user authentication server, a first block containing the transaction is generated based on a previous block chained to blockchain data stored in memory, and the first block is generated. By chaining to the blockchain data, after completing the storage of the first block, the first block is transferred to the remaining node devices except the first node device among the plurality of node devices through the blockchain network. A user authentication server characterized by disseminating information to users.
2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법에 있어서,
복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드 - 상기 복수의 회원들 각각이 보유하고 있는 신용카드에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 삽입된 2차원 코드가 인쇄되어 있음 - 의 카드 번호가 서로 대응되어 저장되어 있는 카드 정보 데이터베이스를 유지하는 단계;
상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각에 대한 인증 토큰 - 상기 인증 토큰은 상기 복수의 회원들 각각에 대해 사전 발급된 인증 코드와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 사전 설정된 인증 토큰 생성 함수에 입력으로 인가되어 산출된 출력값을 의미함 - 이 서로 대응되어 저장되어 있는 인증 토큰 데이터베이스를 유지하는 단계;
상기 복수의 회원들 중 어느 하나인 제1 회원의 전자 단말로부터 제1 회원 식별 정보가 수신되면서, 사용자 인증 요청이 수신되면, 상기 전자 단말로 상기 제1 회원에 대응되는 인증 코드의 전송을 요청하는 단계;
상기 전자 단말로부터, 상기 인증 코드의 전송 요청에 대응하여 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 인증 토큰을 추출하고, 상기 제1 인증 코드를 기초로 상기 제1 인증 토큰으로부터 상기 제1 회원이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출하는 단계;
상기 제1 카드 번호가 산출되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 상기 전자 단말로 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송을 요청하는 단계; 및
상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드가 상기 제1 회원이 보유하고 있는 모바일 단말에 의해 스캔되어 인식됨으로 인해, 상기 모바일 단말로부터 상기 2차원 코드에 삽입된 상기 제1 회원 식별 정보와 상기 제1 카드 번호가 수신되면, 상기 제1 카드 번호가 상기 카드 정보 데이터베이스에서 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리하는 단계
를 포함하고,
상기 전자 단말은
상기 사용자 인증 서버로부터, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송 요청이 수신되면, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 인식할 것을 지시하는 안내 메시지를 생성하여 화면 상에 표시하고,
상기 모바일 단말은
상기 제1 회원에 의해, 상기 모바일 단말에 사전 설치되어 있는 2차원 코드의 인식을 위한 인식 애플리케이션이 실행되면, 상기 모바일 단말에 사전 탑재되어 있는 카메라를 통해, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 스캔하여 인식함으로써, 상기 2차원 코드로부터 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 추출한 후, 상기 사용자 인증 서버로 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 전송하는 것을 특징으로 하는, 사용자 인증 서버의 동작 방법.
In a method of operating a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code,
Member identification information of a plurality of members and credit cards held by each of the plurality of members - The credit card held by each of the plurality of members includes member identification information of the plurality of members and each of the plurality of members. A two-dimensional code in which the card number of the credit card held is printed - maintaining a card information database in which the card numbers are stored in correspondence with each other;
Member identification information of the plurality of members and an authentication token for each of the plurality of members - the authentication token includes a pre-issued authentication code for each of the plurality of members and a credit card held by each of the plurality of members means an output value calculated by applying the card number as an input to a preset authentication token generation function - maintaining an authentication token database stored in correspondence with each other;
When first member identification information is received from the electronic terminal of a first member, which is one of the plurality of members, and a user authentication request is received, requesting transmission of an authentication code corresponding to the first member to the electronic terminal. step;
When a first authentication code is received from the electronic terminal in response to a request to transmit the authentication code, a first authentication token stored in correspondence with the first member identification information is extracted from the authentication token database, and the first authentication token is stored in response to the first member identification information. calculating a first card number for a first credit card held by the first member from the first authentication token based on an authentication code;
When the first card number is calculated, the first card number is compared with the card number stored corresponding to the first member identification information in the card information database, and it is confirmed that both card numbers match each other. In this case, requesting transmission of member identification information and card number inserted in the two-dimensional code printed on the surface of the first credit card to the electronic terminal; and
Since the two-dimensional code printed on the surface of the first credit card is scanned and recognized by the mobile terminal owned by the first member, the first member identification information inserted into the two-dimensional code from the mobile terminal When the first card number is received, the first card number is compared with the card number stored corresponding to the first member identification information in the card information database, and it is confirmed that both card numbers match each other. If so, steps to complete user authentication
Including,
The electronic terminal is
When a request for transmission of member identification information and card number inserted in the two-dimensional code printed on the surface of the first credit card is received from the user authentication server, the two-dimensional code printed on the surface of the first credit card Create a guidance message instructing to recognize and display it on the screen,
The mobile terminal is
When the recognition application for recognition of the two-dimensional code pre-installed on the mobile terminal is executed by the first member, it is printed on the surface of the first credit card through the camera pre-installed on the mobile terminal. By scanning and recognizing the two-dimensional code, the first member identification information and the first card number are extracted from the two-dimensional code, and then the first member identification information and the first card number are transmitted to the user authentication server. A method of operating a user authentication server, characterized in that:
제6항에 있어서,
상기 인증 토큰 생성 함수는
상기 복수의 회원들 중 어느 한 회원에 대응되는 인증 코드와 카드 번호가 입력으로 인가되면, 입력으로 인가된 인증 코드와 카드 번호를 사전 설정된 암호화키를 이용하여 각각 동형 암호화(Homomorphic Encryption)를 수행함으로써, 입력으로 인가된 인증 코드에 대한 제1 동형 암호문을 생성하고, 입력으로 인가된 카드 번호에 대한 제2 동형 암호문을 생성한 후, 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 상기 어느 한 회원에 대응되는 인증 토큰으로 산출하는 함수인 것을 특징으로 하는 사용자 인증 서버의 동작 방법.
According to clause 6,
The authentication token creation function is
When the authentication code and card number corresponding to one of the plurality of members is input, homomorphic encryption is performed on the authentication code and card number approved as input, respectively, using a preset encryption key. After generating a first homomorphic ciphertext for the authentication code approved as an input, and generating a second homomorphic ciphertext for the card number approved as an input, the first homomorphic ciphertext and the A method of operating a user authentication server, characterized in that the function calculates the result of the homomorphic operation as an authentication token corresponding to one of the members by performing a homomorphic operation between the second homomorphic ciphertexts.
제7항에 있어서,
상기 제1 카드 번호를 산출하는 단계는
상기 전자 단말로부터 상기 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 암호화키를 이용하여 상기 제1 인증 토큰을 복호화함으로써, 복호화 값을 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 제1 인증 코드와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 복호화 값과 동일해지도록 하는 해(solution)를 상기 제1 카드 번호로 산출하는 것을 특징으로 하는 사용자 인증 서버의 동작 방법.
In clause 7,
The step of calculating the first card number is
When the first authentication code is received from the electronic terminal, the first authentication token stored corresponding to the first member identification information is extracted from the authentication token database, and the first authentication token is generated using the encryption key. By decoding, after generating the decryption value, the operation result calculated when the operation is performed with the first authentication code according to the first operation equation in the plaintext domain corresponding to the first homomorphism operation equation is, A method of operating a user authentication server, characterized in that a solution that is equal to the decryption value is calculated using the first card number.
삭제delete 제6항에 있어서,
상기 사용자 인증이 완료 처리되면, 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성하는 단계;
상기 인증 이력 정보가 생성되면, 상기 인증 이력 정보가 포함된 트랜잭션을 생성하는 단계; 및
상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
를 더 포함하고,
상기 제1 노드 장치는
상기 사용자 인증 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 사용자 인증 서버의 동작 방법.
According to clause 6,
When the user authentication is completed, generating time information about when the user authentication was completed, and then generating authentication history information consisting of the time information, the first authentication code, and the first card number;
When the authentication history information is generated, generating a transaction including the authentication history information; and
When the transaction is created, a first node device, which is one of a plurality of node devices constituting a blockchain network, is randomly selected, and the transaction is transmitted to the first node device, thereby creating the blockchain for the transaction. Sending a registration request to the network
It further includes,
The first node device is
When the registration request together with the transaction is received from the user authentication server, a first block containing the transaction is generated based on a previous block chained to blockchain data stored in memory, and the first block is generated. By chaining to the blockchain data, after completing the storage of the first block, the first block is transferred to the remaining node devices except the first node device among the plurality of node devices through the blockchain network. A method of operating a user authentication server, characterized in that it propagates to the network.
제6항, 제7항, 제8항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6, 7, 8, or 10 through combination with a computer. 제6항, 제7항, 제8항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6, 7, 8, or 10 through combination with a computer.
KR1020210076512A 2021-06-14 2021-06-14 User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof KR102602214B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210076512A KR102602214B1 (en) 2021-06-14 2021-06-14 User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210076512A KR102602214B1 (en) 2021-06-14 2021-06-14 User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof

Publications (2)

Publication Number Publication Date
KR20220167485A KR20220167485A (en) 2022-12-21
KR102602214B1 true KR102602214B1 (en) 2023-11-14

Family

ID=84536769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210076512A KR102602214B1 (en) 2021-06-14 2021-06-14 User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof

Country Status (1)

Country Link
KR (1) KR102602214B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101611099B1 (en) * 2014-11-27 2016-04-08 김명환 Method for issuing of authentication token for real name identification, method for certifying user using the authentication token and apparatus for performing the method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150106198A (en) * 2014-03-11 2015-09-21 브이피 주식회사 Method, server and device for certification

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101611099B1 (en) * 2014-11-27 2016-04-08 김명환 Method for issuing of authentication token for real name identification, method for certifying user using the authentication token and apparatus for performing the method

Also Published As

Publication number Publication date
KR20220167485A (en) 2022-12-21

Similar Documents

Publication Publication Date Title
US11323272B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
Tan et al. Can unicorns help users compare crypto key fingerprints?
US9258296B2 (en) System and method for generating a strong multi factor personalized server key from a simple user password
US11410175B2 (en) System and method for authentication with out-of-band user interaction
CN106330850A (en) Biological characteristic-based security verification method, client and server
RU2610419C2 (en) Method, server and system for authentication of person
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US20210211419A1 (en) Provisioning a device to be an authentication device
JP6489464B2 (en) Optical code, information transmission method, and authentication method
US11251949B2 (en) Biometric security for cryptographic system
CN108964920A (en) Authentication method, user terminal and non-face-to-face authentication service server
TW201604804A (en) System for verifying data displayed dynamically by mobile and method thereof
CN108512660B (en) Virtual card verification method
KR102479477B1 (en) Blockchain-based metaverse service operation server to operate the metaverse service that can provide the item matching the real product in the metaverse environment through interlocking with the two-dimensional code printed in the real product and the operating method thereof
WO2020040634A1 (en) Integration of biometric and challenge response authentication
KR102068041B1 (en) Appratus and method of user authentication and digital signature using user's biometrics
KR102602214B1 (en) User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof
JP6167667B2 (en) Authentication system, authentication method, authentication program, and authentication apparatus
KR102574296B1 (en) Electronic contract processing server that processes electronic contracts between parties by utilizing the two-dimensional code and operating method thereof
KR102361231B1 (en) Mask genuine product certification server to perform genuine product certification for the mask based on a two-dimensional code and operating method thereof
RU2774807C2 (en) Homomorphous encryption for authentication using password
JPWO2020121459A1 (en) Authentication system, client and server
KR102508523B1 (en) Metaverse service server to operate the metaverse service that can provide the item matching the real product in the metaverse environment based on the two-dimensional code and the operating method thereof
KR102559485B1 (en) Content certification verification server which performs verification of content which has been certified for copyright based on the two-dimensional code and the operating method thereof
KR102525656B1 (en) Task management service server capable of performing task management for an electronic terminal and the operating method thereof

Legal Events

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