KR20220167485A - 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
KR20220167485A
KR20220167485A KR1020210076512A KR20210076512A KR20220167485A KR 20220167485 A KR20220167485 A KR 20220167485A KR 1020210076512 A KR1020210076512 A KR 1020210076512A KR 20210076512 A KR20210076512 A KR 20210076512A KR 20220167485 A KR20220167485 A KR 20220167485A
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
KR102602214B1 (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Disclosed are a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code and an operation method thereof. The present invention provides a user authentication server and an operation method thereof which receive predetermined authentication information extracted from a 2D code printed on a credit card held by a user from a mobile terminal of the user separated from an electronic terminal if a user authentication request is received from the electronic terminal of the user tor perform authentication for the user, thereby supporting more strengthened user authentication to be possible.

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}A user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code and its operation method 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 an operation method thereof.

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

관련해서, 기존에는 단순히 사용자 비밀번호만을 이용하여 사용자 인증을 수행하는 기법이 많이 사용되었지만, 이러한 사용자 인증 기법은 비밀번호가 쉽게 노출될 수 있다는 점에서 보안상의 취약점을 가지고 있었다.In this regard, in the past, techniques for performing user authentication using only user passwords have been widely used, but these user authentication techniques have security vulnerabilities in that passwords can be easily exposed.

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

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

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

본 발명은 사용자의 전자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자가 보유하고 있는 신용카드에 인쇄된 2차원 코드에서 추출된 소정의 인증 정보를 상기 전자 단말과 분리된, 상기 사용자의 모바일 단말로부터 수신하여 상기 사용자에 대한 인증을 수행하는 사용자 인증 서버 및 그 동작 방법을 제시함으로써, 보다 강화된 사용자 인증이 가능하도록 지원하고자 한다.According to the present invention, when a user authentication request is received from a user's electronic terminal, predetermined authentication information extracted from a two-dimensional code printed on a credit card possessed by the user is transmitted from the user's mobile terminal separated from the electronic terminal. By presenting a user authentication server that receives and authenticates the user and an operating method thereof, it is intended 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 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리하는 인증 완료 처리부를 포함한다.According to an embodiment of the present invention, a user authentication server that performs two-channel authentication for a user holding a credit card based on a two-dimensional code has member identification information of a plurality of members and each of the plurality of members Credit card - The credit card possessed by each of the plurality of members is printed with a two-dimensional code in which the member identification information of the plurality of members and the card number of the credit card possessed by each of the plurality of members are inserted. Yes - A card information database in which card numbers of 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 pre-issued for each of the plurality of members The authentication code and the credit card number of each of the plurality of members are applied as inputs to a preset authentication token generation function, and the output value is calculated - an authentication token database in which these are stored in correspondence with each other; Authentication requesting transmission of the authentication code corresponding to the first member to the electronic terminal when the user authentication request is received while the first member identification information is received from the electronic terminal of the first member, which is one of the plurality of members. When a first authentication code is received from the code requesting unit and the electronic terminal in response to a transmission request of the authentication code, extracting a first authentication token stored in correspondence with the first member identification information from the authentication token database; , Card number calculation unit for calculating a first card number for a first credit card possessed by the first member from the first authentication token based on the first authentication code, when the first card number is calculated, The first card number is compared with a card number stored in correspondence to the first member identification information in the card information database, and when it is confirmed that both card numbers match each other, the electronic terminal transmits the first card number to the first member identification information. Request transmission of member identification information and card number inserted in the two-dimensional code printed on the surface of the credit card As the requesting transmission request unit and the two-dimensional code printed on the surface of the first credit card are scanned and recognized by the mobile terminal possessed by the first member, the mobile terminal inserts the two-dimensional code into the code. When the first member identification information and the first card number are received, the first card number is compared with a card number stored corresponding to the first member identification information in the card information database, and both card numbers are compared. When it is confirmed that are identical to each other, an authentication completion processing unit for completing user authentication is included.

또한, 본 발명의 일실시예에 따른 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 possessed by each of the plurality of members - In the credit card possessed by each of the plurality of members, the member identification information of the plurality of members and the card number of the credit card possessed by each of the plurality of members are inserted. dimensional code is printed - maintaining a card information database in which card numbers of 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 The authentication code pre-issued for each of the plurality of members and the card number of the credit card possessed by each of the plurality of members are applied as inputs to the preset authentication token generation function, and the calculated output value corresponds to each other. and maintaining an authentication token database stored therein, when first member identification information is received from an electronic terminal of a first member, which is one of the plurality of members, and a user authentication request is received, the first member identification information is received from the electronic terminal. Requesting transmission of an authentication code corresponding to one member, when a first authentication code is received from the electronic terminal in response to the 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 possessed 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 in correspondence to the first member identification information in the card information database, and when it is confirmed that both card numbers match each other, Member identification information inserted into the two-dimensional code printed on the surface of the first credit card with the electronic terminal. Requesting transmission of the information and card number and the two-dimensional code printed on the surface of the first credit card is scanned and recognized by the mobile terminal possessed by the first member, so that the second When the first member identification information inserted into the dimension code and the first card number are received, a comparison is made to determine whether the first card number matches a card number stored in correspondence with the first member identification information in the card information database. and, when it is confirmed that both card numbers match each other, completing user authentication.

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

도 1은 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법을 도시한 순서도이다.
1 is a diagram showing 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.
2 is a diagram for explaining 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.
3 is a flowchart illustrating an operating method of a user authentication server performing 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 accompanying drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are common knowledge in the art to which the present invention belongs. has the same meaning as commonly understood by the person who has it.

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

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the accompanying block diagram or the steps of the flowchart are computer program instructions that perform designated functions by being loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special purpose computer, a portable notebook computer, and a network computer. can be interpreted as meaning Since these computer program instructions may be stored in a memory included in a computer device or in a computer readable memory, the functions described in blocks of a block diagram or steps of a flowchart are produced as a product containing instruction means for performing them. It could be. Further, 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). Also, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed out of a predetermined 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채널 인증을 수행하는 사용자 인증 서버의 구조를 도시한 도면이다.1 is a diagram showing 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. , and includes a transmission request unit 115 and an authentication completion processing unit 116.

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

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

이와 관련해서, 도 2에 도시된 그림과 같이, 상기 복수의 회원들 각각이 보유하고 있는 신용카드(210)에는, 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드(210)의 카드 번호(211)가 삽입된 2차원 코드(212)가 인쇄되어 있을 수 있다.In this regard, as shown in the figure shown in FIG. 2, in the credit card 210 possessed by each of the plurality of members, the member identification information of the plurality of members and the credit card possessed by each of the plurality of members. A two-dimensional code 212 in 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 capable of inserting information such as various characters on a two-dimensional image pattern, and QR codes (Quick Response Codes), veri codes, dot codes, etc. are used or registered in Korea A digital code that can express predetermined data on a two-dimensional image through a pixel space composed of a plurality of points disclosed in Patent No. 10-1897960 may 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 2D image is inserted as a 2D code 212 through a pixel space composed of a plurality of points in the credit card 210. it is shown This digital code is composed of yellow dots as shown in FIG. 2, so when compared with a white background, the color contrast is not clear, so it is difficult to clearly observe with the naked eye, but the electronic terminal Since the camera of can perform identification of yellow dots differently from human vision, the pattern of yellow dots can be clearly identified through an electronic terminal.

이러한 상황에서, 사용자 인증 서버(110)의 카드 정보 데이터베이스(111)에는 상기 복수의 회원들의 회원 식별 정보와 상기 복수의 회원들 각각이 보유하고 있는 신용카드의 카드 번호가 서로 대응되어 저장되어 있다.In this situation, in the card information database 111 of the user authentication server 110, the member identification information of the plurality of members and the card number of the credit card possessed by each of the plurality of members are stored 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 of multiple members 신용카드의 카드 번호Card number on credit card 회원 1의 회원 식별 정보Member identification information for Member 1 1111-2222-3333-4444 1111-2222-3333-4444 회원 2의 회원 식별 정보Member identification information for Member 2 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, the authentication token database 112 may store information as shown in Table 2 below.

복수의 회원들의 회원 식별 정보Member identification information of multiple members 인증 토큰authentication token 회원 1의 회원 식별 정보Member identification information for Member 1 인증 토큰 1auth token 1 회원 2의 회원 식별 정보Member identification information for Member 2 인증 토큰 2auth token 2 회원 3의 회원 식별 정보Member identification information for Member 3 인증 토큰 3auth token 3 ...... ......

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

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

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

예컨대, A와 B라고 하는 평문 데이터가 존재한다고 하고, A를 동형 암호화하여 생성한 암호화 데이터를 E(A), B를 동형 암호화하여 생성한 암호화 데이터를 E(B)라고 가정하자. 이때, E(A)와 E(B)에 대해 소정의 연산을 수행하여 E(S)라고 하는 연산 값을 산출하였다고 하는 경우, E(S)를 복호화하게 되면 그 복호화 값이 A와 B를 합산하거나 곱셈한 값과 동일하게 되도록 하는 것이 동형 암호화의 기본 개념이다. 즉, 암호화 도메인에서 두 암호화 데이터에 대해 소정의 연산을 수행하여 산출된 값을 복호화하게 되면, 그 복호화 값이 평문 도메인에서 두 평문 데이터를 연산한 값과 일치하게 되도록 하는 암호화를 동형 암호화라고 한다.For example, assume that there are plaintext data A and B, and that encrypted data generated by homomorphic encryption of A is E(A) and encrypted data generated by homomorphic encryption of B is E(B). At this time, when 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 the value equal to the value multiplied by it. That is, when a value calculated by performing a predetermined operation on two encrypted data in the encryption domain is decrypted, encryption such 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, a process of calculating 'authentication token 1' corresponding to 'member 1' in the authentication token database 112 as shown in Table 2 will be described as an example.

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

그러고 나서, 상기 인증 토큰 생성 함수는 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 '회원 1'에 대응되는 '인증 토큰 1'로 산출할 수 있다.Then, the authentication token generating function performs an isomorphic operation between the first isomorphic ciphertext and the second isomorphic ciphertext according to a first isomorphic operation equation set in advance, so that the operation result of the isomorphic operation corresponds 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)를 동형 곱셈하게 되면, '

Figure pat00001
'라는 연산 결과가 생성될 수 있고, 평문 도메인에서 A와 B를 곱셈하게 되면, '
Figure pat00002
'라는 연산 결과가 생성될 수 있다. 이때, '
Figure pat00003
'를 복호화한 결과는 '
Figure pat00004
'와 같아지게 된다. 이러한 관계가 성립할 때, 상기 제1 동형 연산식인 동형 곱셈은 평문 도메인에서의 곱셈에 대응되는 관계가 있다고 말할 수 있다. 여기서, 동형 곱셈은 평문 도메인에서의 곱셈과 같이, 단순히 암호화된 두 데이터를 곱하는 형태의 연산이 수행되는 것은 아니다. 동형 곱셈은 평문 도메인에서의 곱셈과 대응되는 결과를 만들기 위한 동형 연산식이기 때문에, 단순히 암호화된 두 데이터를 곱하는 형태의 연산 과정이 이루어지는 것이 아니라, 동형 암호화의 특성에 따라 곱하기, 더하기, 모듈로 연산 등이 복합적으로 수행되는 소정의 연산 알고리즘으로 정의될 수 있다.Here, the first isomorphic arithmetic expression is an arithmetic expression for performing an operation between two data on which homomorphic encryption is performed, and may be preset by a developer. This first isomorphic operation expression means an operation expression designated to generate a result corresponding to a predetermined operation expression performed between two plaintext data in the plaintext domain in the encryption domain. For example, when there is an arithmetic expression called multiplication for multiplying plaintext data, there may be isomorphic multiplication corresponding to the multiplication. In this regard, 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 isomorphic operation expression in the plaintext domain In the case of homomorphic multiplication corresponding to multiplication, when E(A) and E(B) are homomorphically multiplied in the encryption domain, '
Figure pat00001
' can be generated, and when A and B are multiplied in the plaintext domain, '
Figure pat00002
An operation result of ' may be generated. At this time, '
Figure pat00003
' The result of decryption is '
Figure pat00004
' will be the same as When this relationship is established, it can be said that isomorphic multiplication, which is the first isomorphic operation expression, has a relationship corresponding to multiplication in the plaintext domain. Here, homomorphic multiplication is not performed in the form of simply multiplying two encrypted data like multiplication in the plaintext domain. Since homomorphic multiplication is an isomorphic arithmetic expression for producing a result corresponding to multiplication in the plaintext domain, an operation process in the form of simply multiplying two encrypted data is not performed, but multiplication, addition, and modulo operations are performed according to the characteristics of homomorphic encryption. etc. can be defined as a predetermined calculation algorithm that is performed in a complex manner.

인증 코드 요청부(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, the authentication code requesting unit 113 sends the electronic terminal 150 the user authentication request. Transmission of the authentication code corresponding to the first member is requested.

카드 번호 산출부(114)는 전자 단말(150)로부터, 상기 인증 코드의 전송 요청에 대응하여 제1 인증 코드가 수신되면, 인증 토큰 데이터베이스(112)로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 제1 인증 코드를 기초로 상기 제1 인증 토큰으로부터 상기 제1 회원이 보유하고 있는 제1 신용카드에 대한 제1 카드 번호를 산출한다.When the first authentication code is received in response to the transmission request of the authentication code from the electronic terminal 150, the card number calculation unit 114 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 a first credit card possessed 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 transfer request unit 115 compares whether the first card number matches the card number stored in the card information database 111 in correspondence with the first member identification information, When it is confirmed that the card numbers match each other, the electronic terminal 150 requests transmission of the member identification information inserted in the two-dimensional code printed on the surface of the first credit card and the card number.

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

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

먼저, 상기 제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 requesting 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' transmits the authentication code corresponding to 'Member 1'. It can be input to 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 an authentication code previously issued to 'Member 1', is input from the electronic terminal 150, the first authentication code is received from the electronic terminal 150 to the user authentication server 110. , the card number calculator 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, and the first authentication code Based on 'authentication token 1', a first card number for a first credit card possessed by 'member 1' can be calculated.

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

예컨대, 상기 제1 동형 연산식이

Figure pat00005
로 표현되는 동형 곱셈이라고 하고, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 상기 제1 연산식이 곱셈이라고 하며, '회원 1'에 대응되는 상기 제1 인증 코드를 'A', '회원 1'에 대응되는 상기 제1 카드 번호를 'B', 상기 제1 동형 암호문을 'E(A)', 상기 제2 동형 암호문을 'E(B)'라고 가정하자.For example, the first isomorphic expression
Figure pat00005
It is called isomorphic multiplication represented by , and the first operation expression in the plaintext domain corresponding to the first isomorphic operation expression is called 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 isomorphic ciphertext is 'E(A)', and the second isomorphic ciphertext is 'E(B)'.

이때, 전자 단말(150)로부터 상기 제1 인증 코드가 수신되면, 카드 번호 산출부(114)는 상기 표 2와 같은 인증 토큰 데이터베이스(112)로부터 '회원 1의 회원 식별 정보'에 대응되어 저장되어 있는 '인증 토큰 1'을 추출할 수 있다. 여기서, 상기 추출된 '인증 토큰 1'은 상기 제1 동형 암호문인 'E(A)'와 상기 제2 동형 암호문인 'E(B)'가 서로 상기 제1 동형 연산식인 동형 곱셈이 수행되어 생성된 값이기 때문에 '

Figure pat00006
'가 될 수 있고, 이때, 카드 번호 산출부(114)는 '
Figure pat00007
'에 대해서 상기 암호화키를 이용하여 복호화를 수행할 수 있다.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 'member identification information of member 1' from the authentication token database 112 as shown in Table 2, You can extract 'Authentication Token 1' from 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 isomorphic operation expression. '
Figure pat00006
', and at this time, the card number calculation unit 114 is '
Figure pat00007
For ', decryption can be performed using the encryption key.

이때, '

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

여기서, 'A'는 상기 제1 인증 코드를 의미하고, 'B'는 상기 제1 카드 번호를 의미하기 때문에, 카드 번호 산출부(114)는 '

Figure pat00011
'로부터 상기 복호화 값인 '
Figure pat00012
'가 생성되면, 상기 제1 인증 코드인 'A'를 기초로 '
Figure pat00013
'로부터 상기 제1 카드 번호인 'B'를 찾아낼 수 있다.Here, since 'A' means the first authentication code and 'B' means the first card number, the card number calculation unit 114 '
Figure pat00011
The decryption value 'from '
Figure pat00012
' is generated, based on the first authentication code 'A'
Figure pat00013
From ', the first card number 'B' can be found.

구체적으로, 카드 번호 산출부(114)는 상기 제1 연산식인 곱셈에 따라 상기 제1 인증 코드인 'A'와 서로 연산이 수행되었을 때 산출되는 연산 결과가 상기 복호화 값인 '

Figure pat00014
'와 동일해지도록 하는 해를 연산함으로써, 상기 제1 카드 번호인 'B'를 복원할 수 있다. 즉, 카드 번호 산출부(114)는 상기 제1 연산식이 곱셈이기 때문에, 상기 제1 인증 코드인 'A'에 어떤 값을 곱하였을 때 산출되는 결과가 '
Figure pat00015
'가 되도록 하는 해를 연산함으로써, 상기 제1 카드 번호인 'B'를 복원할 수 있다.Specifically, the card number calculation unit 114 calculates the calculation result when an operation is performed with 'A', the first authentication code, according to the multiplication, which is the first operation expression, and the decoded value ''
Figure pat00014
It is possible to restore 'B', the first card number, by calculating a solution that becomes the same as '. That is, since the first calculation formula is multiplication, the card number calculation unit 114 multiplies the first authentication code 'A' by a certain value, and the result is '
Figure pat00015
', it is possible to restore 'B', the first card number.

이렇게, 카드 번호 산출부(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 transfer request unit 115 stores the first card number in the card information database 111 as shown in Table 1 as 'member of member 1'. It may be compared whether the card number '1111-2222-3333-4444' corresponding to 'member identification information' is stored.

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

이때, 본 발명의 일실시예에 따르면, 전자 단말(150)은 사용자 인증 서버(110)로부터, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송 요청이 수신되면, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 인식할 것을 지시하는 안내 메시지를 생성하여 화면 상에 표시할 수 있다.At this time, according to an embodiment of the present invention, the electronic terminal 150 transmits, from the user authentication server 110, member identification information and card number inserted in the two-dimensional code printed on the surface of the first credit card. When the request is received, a guide message instructing to recognize the two-dimensional code printed on the surface of the first credit card may 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 one embodiment of the present invention, when the mobile terminal 160 executes a recognition application for recognizing a two-dimensional code pre-installed in the mobile terminal 160 by the first member, the mobile terminal ( 160) by scanning and recognizing the two-dimensional code printed on the surface of the first credit card through a camera pre-installed in the camera, and extracting the first member identification information and the first card number from the two-dimensional code Then, the first member identification information and the first card number may 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, since the 2D code printed on the surface of the first credit card is scanned and recognized by the mobile terminal 160 possessed by the first member, the mobile terminal 160 inserts the 2D code into the 2D code. When the first member identification information and the first card number are received, the authentication completion processing unit 116 determines that the first card number is 'member identification information of member 1' in the card information database 111 as shown in Table 1. It can be compared whether it matches '1111-2222-3333-4444', which is a stored card number corresponding to .

관련해서, 모바일 단말(160)로부터 수신된 상기 제1 카드 번호를 '1111-2222-3333-4444'라고 하는 경우, 인증 완료 처리부(116)는 양 카드 번호가 서로 일치하는 것으로 확인되기 때문에, 사용자 인증을 완료 처리할 수 있다.In this regard, 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 the user Authentication can be completed.

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

인증 이력 정보 생성부(117)는 상기 사용자 인증이 완료 처리되면, 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성한다.When the user authentication is completed, the authentication history information generation unit 117 generates time information for the time 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, suppose that the user authentication is completed through the authentication completion processing unit 116 . Then, the authentication history information generation unit 117 generates time information for the time when the user authentication is completed and then generates authentication history information composed of the time information, the first authentication code, and the first card number. can do.

관련해서, 상기 시간 정보를 '시간 정보 1'이라고 하는 경우, 인증 이력 정보 생성부(117)는 하기의 표 3과 같은 인증 이력 정보를 생성할 수 있다.In this regard, when the time information is referred to as 'time information 1', the authentication history information generation unit 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 generating unit 118 creates 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 that is any one of the plurality of node devices 11, 12, 13, and 14 constituting the blockchain network, and then selects the first node device. While sending the transaction to the one-node device, it transmits a request for registration of the transaction to the blockchain network.

이때, 상기 제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 transaction is included on the basis of the previous block chained to the blockchain data stored on the memory. By generating 1 block and connecting the 1st block to the blockchain data in a chain, after completing the storage of the 1st block, the 1st block is transferred to a plurality of node devices 11 through the blockchain network. , 12, 13, 14) can propagate to the remaining node devices except for 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 transaction is included by referring to the block header of the previous block connected in a chain to the blockchain data. The first block, which is a new block, may be created. Then, the first node device completes the storage of the first block by chaining the first block to the block chain data, and then transfers the first block to a plurality of node devices through the block chain network. Of the (11, 12, 13, 14), it can propagate to the rest of the node devices except for the first node device.

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

도 3은 본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법을 도시한 순서도이다.3 is a flowchart illustrating an operating method of a user authentication server performing 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, member identification information of a plurality of members and a credit card possessed by each of the plurality of members (the credit card possessed by each of the plurality of members includes member identification information of the plurality of members and the plurality of members). It maintains a card information database in which the card numbers of each of the members of the credit card 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 is an authentication code pre-issued 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 a credit card held is applied as an input to a preset authentication token generating function and 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, the authentication code corresponding to the first member is sent to the electronic terminal. request the 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 transmission request of the authentication code, a first authentication token stored in correspondence with the first member identification information is extracted from the authentication token database. and calculates a first card number for a first credit card possessed by the first member from the first authentication token based on the first authentication code.

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

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

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

이때, 본 발명의 일실시예에 따르면, 단계(S340)에서는 상기 전자 단말로부터 상기 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 암호화키를 이용하여 상기 제1 인증 토큰을 복호화함으로써, 복호화 값을 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 제1 인증 코드와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 복호화 값과 동일해지도록 하는 해를 상기 제1 카드 번호로 산출할 수 있다.At this time, according to an embodiment of the present invention, in step S340, when the first authentication code is received from the electronic terminal, 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 operation equation in the plaintext domain corresponding to the first isomorphic operation equation. A solution so that an operation result calculated when an operation is performed with a code becomes the same as the decoded value may be calculated as 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 in the two-dimensional code printed on the surface of the first credit card from the user authentication server. , A guide 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, the mobile terminal, when a recognition application for recognizing a two-dimensional code pre-installed in the mobile terminal is executed by the first member, through a camera pre-installed in the mobile terminal, the first credit card. 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 member identification information are sent to the user authentication server. The first card number may be transmitted.

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

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

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 사용자 인증 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 사용자 인증 서버의 동작 방법은 도 1 내지 도 2를 이용하여 설명한 사용자 인증 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the 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, since 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 with reference to FIGS. 1 and 2, a detailed description thereof is omitted. I'm going to do it.

본 발명의 일실시예에 따른 2차원 코드를 기반으로 신용카드를 보유하고 있는 사용자에 대한 2채널 인증을 수행하는 사용자 인증 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.According to an embodiment of the present invention, a method of operating a user authentication server performing two-channel authentication for a user holding a credit card based on a two-dimensional code is 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 performing two-channel authentication for a user holding a credit card based on a two-dimensional code according to an embodiment of the present invention is a computer program instruction for execution through combination with a computer. It can 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. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in 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 hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

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

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims belong to the scope 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 unit
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 회원 식별 정보에 대응되어 저장되어 있는 카드 번호와 일치하는지 비교하여, 양 카드 번호가 서로 일치하는 것으로 확인되는 경우, 사용자 인증을 완료 처리하는 인증 완료 처리부
를 포함하는 사용자 인증 서버.
In 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 a credit card possessed by each of the plurality of members - The credit card possessed by each of the plurality of members includes member identification information of the plurality of members and each of the plurality of members a card information database in which the card numbers of - 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 a pre-issued authentication code for each of the plurality of members and a credit card possessed by each of the plurality of members. A card number of is applied as an input to a preset authentication token generating function and means an output value calculated - an authentication token database in which these are stored in correspondence with each other;
Requesting transmission of an authentication code corresponding to the first member to the electronic terminal 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 request unit;
When a first authentication code is received from the electronic terminal in response to a transmission request of the authentication code, a first authentication token stored in correspondence to the first member identification information is extracted from the authentication token database, and the first a card number calculator calculating a first card number for a first credit card possessed 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 a card number stored in correspondence to the first member identification information in the card information database, and both card numbers are confirmed to match each other. a transmission requesting unit for 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 and when the first card number is received, comparing whether the first card number matches a card number stored corresponding to the first member identification information in the card information database, and confirming that both card numbers match each other If so, authentication completion processing unit that completes user authentication
A user authentication server including a.
제1항에 있어서,
상기 인증 토큰 생성 함수는
상기 복수의 회원들 중 어느 한 회원에 대응되는 인증 코드와 카드 번호가 입력으로 인가되면, 입력으로 인가된 인증 코드와 카드 번호를 사전 설정된 암호화키를 이용하여 각각 동형 암호화(Homomorphic Encryption)를 수행함으로써, 입력으로 인가된 인증 코드에 대한 제1 동형 암호문을 생성하고, 입력으로 인가된 카드 번호에 대한 제2 동형 암호문을 생성한 후, 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 상기 어느 한 회원에 대응되는 인증 토큰으로 산출하는 함수인 것을 특징으로 하는 사용자 인증 서버.
According to claim 1,
The authentication token generation function is
When an authentication code and a card number corresponding to any one of the plurality of members are applied as inputs, the authentication code and card number approved as inputs are subjected to homomorphic encryption using a preset encryption key, respectively. After generating a first isomorphic ciphertext for the authentication code applied as an input and generating a second isomorphic ciphertext for a card number applied as an input, the first isomorphic ciphertext and the The user authentication server, characterized in that the function of calculating an operation result of the isomorphic operation as an authentication token corresponding to the one member by performing an isomorphic operation between second isomorphic cipher texts.
제2항에 있어서,
상기 카드 번호 산출부는
상기 전자 단말로부터 상기 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 암호화키를 이용하여 상기 제1 인증 토큰을 복호화함으로써, 복호화 값을 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 제1 인증 코드와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 복호화 값과 동일해지도록 하는 해(solution)를 상기 제1 카드 번호로 산출하는 것을 특징으로 하는 사용자 인증 서버.
According to claim 2,
The card number calculator
When the first authentication code is received from the electronic terminal, the first authentication token stored in correspondence to the first member identification information is extracted from the authentication token database, and the first authentication token is used by using the encryption key. After generating a decryption value by decoding, the calculation result calculated when an operation is performed with the first authentication code according to a first operation expression in the plaintext domain corresponding to the first isomorphic operation expression, A user authentication server, characterized in that for calculating a solution to be equal to the decryption value with the first card number.
제1항에 있어서,
상기 전자 단말은
상기 사용자 인증 서버로부터, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송 요청이 수신되면, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 인식할 것을 지시하는 안내 메시지를 생성하여 화면 상에 표시하고,
상기 모바일 단말은
상기 제1 회원에 의해, 상기 모바일 단말에 사전 설치되어 있는 2차원 코드의 인식을 위한 인식 애플리케이션이 실행되면, 상기 모바일 단말에 사전 탑재되어 있는 카메라를 통해, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 스캔하여 인식함으로써, 상기 2차원 코드로부터 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 추출한 후, 상기 사용자 인증 서버로 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 전송하는 것을 특징으로 하는 사용자 인증 서버.
According to claim 1,
The electronic terminal
When 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 is received from the user authentication server, the two-dimensional code printed on the surface of the first credit card A guide message instructing to recognize is generated and displayed on the screen,
The mobile terminal
When a recognition application for recognizing a two-dimensional code pre-installed in the mobile terminal is executed by the first member, it is printed on the surface of the first credit card through a camera pre-installed in the mobile terminal. The first member identification information and the first card number are extracted from the two-dimensional code by scanning and recognizing 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 for doing.
제1항에 있어서,
상기 사용자 인증이 완료 처리되면, 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성하는 인증 이력 정보 생성부;
상기 인증 이력 정보가 생성되면, 상기 인증 이력 정보가 포함된 트랜잭션을 생성하는 트랜잭션 생성부; 및
상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
를 더 포함하고,
상기 제1 노드 장치는
상기 사용자 인증 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 사용자 인증 서버.
According to claim 1,
When the user authentication is completed, authentication history information is generated to generate authentication history information consisting of the time information, the first authentication code, and the first card number after generating time information for the time when the user authentication has been completed. information generating unit;
a transaction generator configured to generate a transaction including the authentication history information when the authentication history information is generated; and
When the transaction is generated, after randomly selecting a first node device, which is any one of a plurality of node devices constituting the blockchain network, while transmitting the transaction to the first node device, the block chain of the transaction A registration request unit that transmits a registration request to the network.
Including more,
The first node device is
When the registration request together with the transaction is received from the user authentication server, a first block including the transaction is generated based on a previous block chained to blockchain data stored in memory, and the first block By connecting a chain to the blockchain data, after completing the storage of the first block, the first block is transferred through the blockchain network to the remaining node devices other than the first node device among the plurality of node devices. User authentication server, characterized in that for propagating to.
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 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 a credit card possessed by each of the plurality of members - The credit card possessed by each of the plurality of members includes member identification information of the plurality of members and each of the plurality of members Maintaining a card information database in which the card numbers of the owned credit cards are stored in correspondence with each other, in which the two-dimensional code in which the card number of the credit card is inserted is printed;
Member identification information of the plurality of members and an authentication token for each of the plurality of members - The authentication token is a pre-issued authentication code for each of the plurality of members and a credit card possessed by each of the plurality of members. A card number of is applied as an input to a preset authentication token generation function and means an output value calculated - maintaining an authentication token database in which these are stored in correspondence with each other;
Requesting transmission of an authentication code corresponding to the first member to the electronic terminal 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. step;
When a first authentication code is received from the electronic terminal in response to a transmission request of the authentication code, a first authentication token stored in correspondence to the first member identification information is extracted from the authentication token database, and the first calculating a first card number for a first credit card possessed 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 a card number stored in correspondence to the first member identification information in the card information database, and both card numbers are confirmed to 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
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 and when the first card number is received, comparing whether the first card number matches a card number stored corresponding to the first member identification information in the card information database, and confirming that both card numbers match each other If yes, step of completing user authentication
A method of operating a user authentication server comprising a.
제6항에 있어서,
상기 인증 토큰 생성 함수는
상기 복수의 회원들 중 어느 한 회원에 대응되는 인증 코드와 카드 번호가 입력으로 인가되면, 입력으로 인가된 인증 코드와 카드 번호를 사전 설정된 암호화키를 이용하여 각각 동형 암호화(Homomorphic Encryption)를 수행함으로써, 입력으로 인가된 인증 코드에 대한 제1 동형 암호문을 생성하고, 입력으로 인가된 카드 번호에 대한 제2 동형 암호문을 생성한 후, 사전 설정된 제1 동형 연산식에 따라 상기 제1 동형 암호문과 상기 제2 동형 암호문 간의 동형 연산을 수행함으로써, 상기 동형 연산의 연산 결과를 상기 어느 한 회원에 대응되는 인증 토큰으로 산출하는 함수인 것을 특징으로 하는 사용자 인증 서버의 동작 방법.
According to claim 6,
The authentication token generation function is
When an authentication code and a card number corresponding to any one of the plurality of members are applied as inputs, the authentication code and card number approved as inputs are subjected to homomorphic encryption using a preset encryption key, respectively. After generating a first isomorphic ciphertext for the authentication code applied as an input and generating a second isomorphic ciphertext for a card number applied as an input, the first isomorphic ciphertext and the A method of operating a user authentication server, characterized in that the function calculates an operation result of the isomorphic operation as an authentication token corresponding to the one member by performing an isomorphic operation between second isomorphic ciphertexts.
제7항에 있어서,
상기 제1 카드 번호를 산출하는 단계는
상기 전자 단말로부터 상기 제1 인증 코드가 수신되면, 상기 인증 토큰 데이터베이스로부터 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 인증 토큰을 추출하고, 상기 암호화키를 이용하여 상기 제1 인증 토큰을 복호화함으로써, 복호화 값을 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 제1 인증 코드와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 복호화 값과 동일해지도록 하는 해(solution)를 상기 제1 카드 번호로 산출하는 것을 특징으로 하는 사용자 인증 서버의 동작 방법.
According to claim 7,
Calculating the first card number
When the first authentication code is received from the electronic terminal, the first authentication token stored in correspondence to the first member identification information is extracted from the authentication token database, and the first authentication token is used by using the encryption key. After generating a decryption value by decoding, the calculation result calculated when an operation is performed with the first authentication code according to a first operation expression in the plaintext domain corresponding to the first isomorphic operation expression, A method of operating a user authentication server, characterized in that for calculating a solution to be equal to the decryption value with the first card number.
제6항에 있어서,
상기 전자 단말은
상기 사용자 인증 서버로부터, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드에 삽입된 회원 식별 정보와 카드 번호의 전송 요청이 수신되면, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 인식할 것을 지시하는 안내 메시지를 생성하여 화면 상에 표시하고,
상기 모바일 단말은
상기 제1 회원에 의해, 상기 모바일 단말에 사전 설치되어 있는 2차원 코드의 인식을 위한 인식 애플리케이션이 실행되면, 상기 모바일 단말에 사전 탑재되어 있는 카메라를 통해, 상기 제1 신용카드의 표면에 인쇄되어 있는 2차원 코드를 스캔하여 인식함으로써, 상기 2차원 코드로부터 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 추출한 후, 상기 사용자 인증 서버로 상기 제1 회원 식별 정보와 상기 제1 카드 번호를 전송하는 것을 특징으로 하는 사용자 인증 서버의 동작 방법.
According to claim 6,
The electronic terminal
When 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 is received from the user authentication server, the two-dimensional code printed on the surface of the first credit card A guide message instructing to recognize is generated and displayed on the screen,
The mobile terminal
When a recognition application for recognizing a two-dimensional code pre-installed in the mobile terminal is executed by the first member, it is printed on the surface of the first credit card through a camera pre-installed in the mobile terminal. The first member identification information and the first card number are extracted from the two-dimensional code by scanning and recognizing 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 for doing.
제6항에 있어서,
상기 사용자 인증이 완료 처리되면, 상기 사용자 인증이 완료 처리된 시점에 대한 시간 정보를 생성한 후, 상기 시간 정보, 상기 제1 인증 코드 및 상기 제1 카드 번호로 구성된 인증 이력 정보를 생성하는 단계;
상기 인증 이력 정보가 생성되면, 상기 인증 이력 정보가 포함된 트랜잭션을 생성하는 단계; 및
상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
를 더 포함하고,
상기 제1 노드 장치는
상기 사용자 인증 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 사용자 인증 서버의 동작 방법.
According to claim 6,
When the user authentication is completed, generating time information for when the user authentication is completed, and then generating authentication history information composed of the time information, the first authentication code, and the first card number;
generating a transaction including the authentication history information when the authentication history information is generated; and
When the transaction is generated, after randomly selecting a first node device, which is any one of a plurality of node devices constituting the blockchain network, while transmitting the transaction to the first node device, the block chain of the transaction Sending a registration request to the network
Including more,
The first node device is
When the registration request together with the transaction is received from the user authentication server, a first block including the transaction is generated based on a previous block chained to blockchain data stored in memory, and the first block By connecting a chain to the blockchain data, after completing the storage of the first block, the first block is transferred through the blockchain network to the remaining node devices other than the first node device among the plurality of node devices. A method of operating a user authentication server, characterized in that propagating to.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through a combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through a 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 true KR20220167485A (en) 2022-12-21
KR102602214B1 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 (2)

* 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
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

Patent Citations (2)

* 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
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
KR102602214B1 (en) 2023-11-14

Similar Documents

Publication Publication Date Title
CN103679457B (en) Method of payment, the paying server and payment system for performing the method for payment
US20210211419A1 (en) Provisioning a device to be an authentication device
CN106330850A (en) Biological characteristic-based security verification method, client and server
JP2010108365A (en) Biometric authentication method and system
KR20180015157A (en) Authentication methods and systems
JP2006107406A (en) Biometric authentication device and terminal
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
CN113779534B (en) Personal information providing method and service platform based on digital identity
WO2020040634A1 (en) Integration of biometric and challenge response authentication
KR102574296B1 (en) Electronic contract processing server that processes electronic contracts between parties by utilizing the two-dimensional code and operating method thereof
JP6167667B2 (en) Authentication system, authentication method, authentication program, and authentication apparatus
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
KR102319663B1 (en) Content data management server that enables storage and management of content data through interlocking with the two-dimensional code inserted in precious metal goods and operating method thereof
JPWO2020121459A1 (en) Authentication system, client and server
KR101356795B1 (en) Method of generating and restorating security tag
KR102363064B1 (en) Precious metal goods genuine product certification server to perform genuine product certification for the precious metal goods based on a two-dimensional code and operating method thereof
KR101450335B1 (en) Electronic document creation device and method for verifying authentic document based on fingerprint
CN115280309A (en) Method, system and computer program product for authentication
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
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
KR102535682B1 (en) Web site confirmation server that performs confirmation of whether a web site is a normal web site based on the two-dimensional code and operating method thereof
JP2006302116A (en) Authentication system, authentication server, terminal device, authentication method and program
KR102565114B1 (en) Genuine medicines certification verification server which performs verification of genuine certificated medicines based on two-dimensional codes, and the operating method thereof
KR102602213B1 (en) Electronic terminal apparatus that performs genuine product certification and additional information offer for the product based on two-dimensional code recognition and biometric information authentication and 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