KR102363940B1 - 인증용가상코드를 이용한 사용자 인증 방법 및 시스템 - Google Patents

인증용가상코드를 이용한 사용자 인증 방법 및 시스템 Download PDF

Info

Publication number
KR102363940B1
KR102363940B1 KR1020210019806A KR20210019806A KR102363940B1 KR 102363940 B1 KR102363940 B1 KR 102363940B1 KR 1020210019806 A KR1020210019806 A KR 1020210019806A KR 20210019806 A KR20210019806 A KR 20210019806A KR 102363940 B1 KR102363940 B1 KR 102363940B1
Authority
KR
South Korea
Prior art keywords
authentication
code
virtual code
card
user
Prior art date
Application number
KR1020210019806A
Other languages
English (en)
Other versions
KR20210022018A (ko
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
Priority claimed from KR1020190071944A external-priority patent/KR102217816B1/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Publication of KR20210022018A publication Critical patent/KR20210022018A/ko
Priority to KR1020220018381A priority Critical patent/KR102525471B1/ko
Application granted granted Critical
Publication of KR102363940B1 publication Critical patent/KR102363940B1/ko

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/385Payment protocols; Details thereof using an alias or single-use codes
    • 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • 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
    • G06Q20/343Cards including a counter
    • 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
    • G06Q20/352Contactless payments by 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/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
    • G06Q20/353Payments by cards read by M-devices
    • 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
    • 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
    • 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/3821Electronic credentials
    • 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
    • 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/401Transaction verification
    • G06Q20/4012Verifying personal identification numbers [PIN]
    • 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
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0701Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising an arrangement for power management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

인증용가상코드를 이용한 사용자 인증 방법 및 시스템이 제공된다. 상기 인증용가상코드를 이용한 사용자 인증 방법은 서버가 인증용가상코드를 수신하는, 인증용가상코드수신단계; 상기 서버가 상기 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 인증용카드 저장위치를 탐색하는, 저장위치탐색단계; 상기 서버가 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 단계; 상기 서버가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증하는 단계; 및 상기 서버가 사용자 인증을 승인하는 단계를 포함한다.

Description

인증용가상코드를 이용한 사용자 인증 방법 및 시스템{METHOD AND SYSTEM FOR AUTHENGICATING USER USING VIRTUAL CODE FOR AUTHENTICATION}
본 발명은 인증용가상코드를 이용한 사용자 인증 방법 및 시스템에 관한 것이다.
OTP(One Time Password)는 무작위로 생성되는 난수의 일회용 패스워드를 이용하는 사용자 인증 방식이다. OTP 인증 방식은 보안을 강화하기 위하여 도입한 시스템으로, 로그인할 때마다 일회용 패스워드를 생성하여 사용자 인증을 수행하기 때문에, 동일한 패스워드가 반복해서 사용됨으로 발생하는 보안상의 취약점을 극복할 수 있다.
하지만, 기존의 OTP 인증 방식은 시작 시에 비밀번호를 입력하는 등의 방식으로 로그인하여 사용자가 누구인지를 파악한 후에, 해당 사용자에게 부여된 OTP 함수를 이용하여 OTP를 생성하고, 이를 통해 OTP 인증을 완료하는 방식으로, OTP 인증을 수행할 때마다 로그인을 해야한다는 불편함이 있다.
따라서, 사용자가 인증을 요청할 때마다 로그인하지 않고도 OTP를 생성하여 사용자 인증을 수행할 수 있는 발명이 필요하다.
한국등록특허 10-1316466호 (2013.10.01)
본 발명이 해결하고자 하는 과제는 인증용카드의 태깅 기반으로 생성된 인증용가상코드를 이용하여 사용자 로그인 없이 사용자 인증을 수행할 수 있는 인증용가상코드를 이용한 사용자 인증 방법 및 시스템을 제공하는 것이다.
또한, 인증용카드를 이용하여 사용자 인증을 요청할 때마다, 중복 생성되지 않으면서 단위카운트 간격으로 신규 생성되는 인증용가상코드를 제공할 수 있는 인증용가상코드를 이용한 사용자 인증 방법 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 인증용가상코드를 이용한 사용자 인증 방법은 서버가 인증용가상코드를 수신하되, 상기 인증용가상코드는 인증용카드에서 제공된 인증용카드데이터를 기반으로 인증용가상코드생성용 프로그램에 포함된 인증용가상코드생성함수에 의해 생성되는 것인, 인증용가상코드수신단계; 상기 서버가 상기 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 인증용카드 저장위치를 탐색하되, 상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것으로서, 상기 인증용가상코드 내의 적어도 하나의 세부코드를 기반으로 상기 인증용카드 저장위치를 탐색하는 것인, 저장위치탐색단계; 상기 서버가 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 단계; 상기 서버가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증하는 단계; 및 상기 서버가 사용자 인증을 승인하는 단계를 포함한다.
또한, 상기 인증용가상코드는, 상기 인증용카드에 포함된 상기 인증용카드데이터가 상기 인증용가상코드생성용 프로그램으로 제공된 시간데이터 또는 상기 인증용카드를 상기 인증용가상코드생성용 프로그램에 태깅하여 사용자 인증이 요청된 시간데이터를 기반으로 생성되는 것일 수 있다.
또한, 상기 인증용가상코드는, 상기 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 상기 인증용가상코드생성용 프로그램 내에 포함된 시리얼번호를 조합한 조합시리얼번호를 기반으로 하여 생성되는 것일 수 있다.
또한, 상기 서버가 인증용카드를 보유한 사용자의 사용자 정보 및 인증용카드데이터를 이용하여 인증용카드를 등록하는 단계;를 더 포함하며, 상기 인증용카드를 등록하는 단계는, 상기 서버가 인증용카드 등록 시점을 기반으로 상기 저장위치탐색알고리즘 내에 특정한 인증용카드 저장위치를 탐색하고, 탐색된 상기 인증용카드 저장위치에 상기 사용자 정보를 저장하여 등록을 완료하는 것일 수 있다.
또한, 상기 인증용가상코드를 검증하는 단계는, 상기 서버가 수신된 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성용 프로그램에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단하는 것일 수 있다.
또한, 상기 인증용가상코드는 특정한 시간간격으로 설정된 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하고, 상기 제1코드는 상기 서버에서 인증용카드 발급을 시작한 최초시점으로부터 경과된 단위카운트를 기반으로 생성되고, 상기 제2코드는 특정한 사용자의 인증용카드가 등록된 시점으로부터 경과된 단위카운트를 기반으로 생성되는 것일 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 인증용가상코드를 이용한 사용자 인증 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 인증용가상코드를 이용한 사용자 인증 방법을 실행하며, 매체에 저장된다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 사용자 인증을 위한 인증용가상코드생성장치는 사용자의 인증용카드로부터 제공된 인증용카드데이터를 기반으로 하나 이상의 세부코드를 생성하는 세부코드생성부; 인증용가상코드생성함수를 이용하여 상기 하나 이상의 세부코드를 조합하여 인증용가상코드로 생성하는 인증용가상코드생성부; 및 생성된 상기 인증용가상코드를 서버로 전송하여 사용자 인증을 요청하는 인증용가상코드제공부;를 포함하고, 상기 인증용가상코드는, 상기 인증용카드에 포함된 상기 인증용카드데이터가 제공된 시간데이터 또는 상기 인증용카드를 태깅하여 사용자 인증이 요청된 시간데이터, 및 상기 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 상기 인증용가상코드생성장치 내에 포함된 인증용가상코드생성용 프로그램의 시리얼번호를 조합한 조합시리얼번호를 기반으로 하여 생성되는 것이다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 사용자 인증을 위한 인증용가상코드검증장치는 인증용가상코드를 수신하여 사용자 인증을 요청받는 인증용가상코드수신부; 상기 인증용가상코드에 포함된 하나 이상의 세부코드를 추출하는 세부코드추출부; 추출된 상기 하나 이상의 세부코드를 기반으로 저장위치탐색알고리즘 내에 인증용카드가 등록된 인증용카드 저장위치를 탐색하는 저장위치탐색부; 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 사용자정보추출부; 상기 인증용가상코드수신부가 상기 인증용가상코드를 수신한 시점과 상기 인증용가상코드가 인증용가상코드생성수단에서 인증용가상코드생성함수를 이용하여 생성된 시점을 비교하여, 상기 인증용가상코드를 검증하는 인증용가상코드검증부; 및 상기 인증용가상코드의 검증이 완료되면 사용자 인증을 승인하는 사용자인증승인부;를 포함하되, 상기 인증용가상코드검증부에 의해 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 것으로 확인되어 상기 인증용가상코드가 정상 코드인 것으로 판단되면, 상기 사용자인증승인부에 의해 사용자 인증이 승인되는 것을 특징으로 하며, 상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것이다.
상술한 과제를 해결하기 위한 본 발명의 다른 일 면에 따른 사용자 인증을 위한 인증용카드장치는 인증용카드데이터를 포함하는 IC 칩; 및 무선통신을 통해 인증용가상코드생성수단으로 상기 인증용카드데이터를 제공하는 통신부;를 포함하고, 상기 인증용카드데이터는 상기 인증용카드장치 제작 시에 상기 인증용카드장치에 부여된 특정한 데이터이며, 상기 인증용가상코드생성수단은 수신된 상기 인증용카드데이터를 기반으로 인증용가상코드생성함수를 이용하여 인증용가상코드를 생성하고, 생성된 인증용가상코드를 서버로 제공하며, 상기 서버는, 제공된 인증용가상코드를 기반으로 상기 인증용가상코드생성함수와 매칭된 저장위치탐색알고리즘 내에 상기 인증용카드장치가 등록된 인증용카드 저장위치를 탐색하고, 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하고, 상기 서버가 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성수단에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단하여 사용자 인증을 승인하는 것이다.
또한, 상기 인증용카드장치가 결제를 위한 카드로 사용되는 경우, 결제 시의 태그와 사용자 인증 시의 태그를 구분하는 판단부를 더 포함하며, 상기 판단부에 의해 결제 시의 태그로 판단되는 경우, 상기 통신부는 상기 IC 칩에 포함된 결제를 위한 카드정보를 결제용 단말기로 제공하고, 상기 판단부에 의해 사용자 인증 시의 태그로 판단되는 경우, 상기 통신부는 인증용가상코드를 생성하기 위한 인증용카드데이터를 인증용가상코드생성수단으로 제공할 수 있다.
또한, 상기 인증용카드장치가 출입을 위한 카드로 사용되는 경우, 출입 시의 태그와 사용자 인증 시의 태그를 구분하는 판단부를 더 포함하며, 상기 판단부에 의해 출입 시의 태그로 판단되는 경우, 상기 통신부는 상기 IC 칩에 포함된 출입을 위한 식별정보를 출입용 기기로 제공하고, 상기 판단부에 의해 사용자 인증 시의 태그로 판단되는 경우, 상기 통신부는 인증용가상코드를 생성하기 위한 인증용카드데이터를 인증용가상코드생성수단으로 제공할 수 있다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 인증용카드를 이용하여 사용자 인증을 요청할 때마다, 중복 생성되지 않으면서 단위카운트 간격으로 신규 생성되는 인증용가상코드를 제공할 수 있다.
둘째, 인증용가상코드생성장치에 의해 단위카운트 간격으로 신규 생성되는 인증용가상코드의 생성 시점과, 인증용가상코드검증장치에서 인증용가상코드가 수신되는 인증용가상코드의 수신 시점을 비교하여, 인증용가상코드생성장치에서 생성된 인증용가상코드가 현시점에 생성된 코드인지 확인할 수 있다. 즉, 사용자가 인증용카드를 이용하여 현시점에 생성된 인증용가상코드를 이용하여 사용자 인증을 요청하였는지를 판단할 수 있다.
셋째, 인증용카드의 태깅 기반으로 생성된 인증용가상코드를 이용하여 인증용가상코드검증장치 내에 저장된 사용자 정보를 추출함으로써, 사용자 인증 요청 시 따로 로그인을 하지 않아도 인증 요청한 사용자가 누구인지 확인할 수 있다.
넷째, 단위카운트마다 인증용가상코드가 신규로 생성되어 중복되는 인증용가상코드가 정해진 전 주기 내에 등장하지 않거나 인증용가상코드검증장치 에서 사용자 정보를 추출할 수 있는 인증용가상코드가 생성되는 순서를 랜덤하게 함에 따라, 인증용가상코드 유출 시에도 사용자 정보가 유출되지 않는 효과를 제공한다.
다섯째, 인증용가상코드를 생성하는 인증용가상코드생성장치(예를 들어, 사용자 단말)에는 인증용가상코드생성함수가 저장되고, 인증용가상코드를 이용하여 사용자 정보를 추출하고 인증용가상코드가 정상적인 코드인지 검증하는 인증용가상코드검증장치(예를 들어, 서버 등)에는 인증용가상코드검증을 위한 알고리즘이 추가되면 되므로, 인증용가상코드 생성 및 검증을 위한 알고리즘이 유출되는 것을 방지할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 시스템의 구성도이다.
도 2는 발명의 일 실시예에 따른 인증용카드장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 인증용가상코드생성장치의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 인증용가상코드검증장치의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 k각형의 구름이동을 통해 인증용카드의 저장위치를 탐색하는 저장위치탐색알고리즘에 대한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 세부코드를 기반으로 트랙상을 이동하여 인증용카드의 저장위치를 탐색하는 저장위치탐색알고리즘에 대한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 인증용가상코드의 검증을 설명하기 위한 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 '사용자 인증'은 출입, 로그인, 금융거래 등 보안이 요구되는 영역으로 사용자가 통과할 수 있도록 승인하는 절차를 의미한다.
본 명세서에서 '금융거래'는 금융사와 이루어지는 절차를 의미한다. '금융거래'는 카드결제, 은행계좌로부터의 입출금 등을 포함한다.
본 명세서에서 '문자'는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 '코드'는 문자가 나열된 문자열을 의미한다.
본 명세서에서 '인증용카드'는 인증용가상코드를 생성하기 위한 용도의 카드로서, 별도의 카드번호 또는 식별번호(예를 들어, 시리얼번호)를 포함하는 카드를 의미한다.
본 명세서에서 '인증용가상코드'는 인증용가상코드생성수단에서 인증용카드로부터 제공된 정보를 기반으로 생성되는 코드로서, 인증용가상코드검증수단에서 사용자 정보를 추출하여 사용자인증을 수행하는데 이용되는 코드를 의미한다. 즉, '인증용가상코드'는 사용자 정보를 추출하고 검증할 수 있도록 단위카운트마다 임시적으로 부여된 가상의 코드를 의미한다.
본 명세서에서 '세부코드'는 인증용가상코드에 포함되는 일부코드를 의미한다.
본 명세서에서 '단위카운트'는 특정한 시간간격으로 설정되어, 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 '인증용가상코드생성함수'는 인증용가상코드를 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 '구름이동'은 대상체가 회전하면서 병진운동을 하는 것을 의미한다. 즉, '구름이동'은 회전운동과 병진운동을 함께 수행하면서 이동하는 것으로서, 회전하는 대상체의 각 지점이 이동하는 축 상에 차례대로 접하면서 이동하는 것을 의미한다.
본 명세서에서 '저장위치'는 사용자에 의해 인증용카드 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 시스템의 구성도이다.
도 1에 도시된 바와 같이, 사용자 인증 시스템은 인증용카드(10), 인증용가상코드생성수단(20) 및 서버(30)를 포함한다.
인증용카드(10)는 내부에 포함된 정보를 인증용가상코드생성수단(20)으로 전송하여 인증용가상코드생성수단(20)이 인증용가상코드를 생성할 수 있게 한다.
일 실시예로, 인증용카드(10)는 인증용가상코드생성수단(20)과 통신을 수행함에 따라 인증용가상코드를 생성하는데 필요한 정보를 전송한다. 예를 들어, 인증용카드(10)는 인증용가상코드생성수단(20)과 근거리무선통신(Near Field Communication; NFC)으로 통신을 수행함에 따라, 인증용가상코드생성수단(20)의 일측에 접촉되어 인증용카드(10) 내에 포함된 데이터를 인증용가상코드생성수단(20)으로 전송한다. 인증용카드(10)에서 제공된 데이터를 인증용가상코드생성수단(20)에서 사용하는 방식에 대해서는 상세히 후술한다.
또한, 일 실시예로, 인증용카드(10)는 서버(30)에 초기 등록될 수 있다. 인증용카드(10)를 서버(30)에 초기등록하는 방식에 대해서는 상세히 후술한다.
일 실시예로, 인증용카드(10)는 인증용카드데이터를 포함하고 있는 공카드로서, 보안을 위해 사용자 인증이 필요한 경우에만 사용될 수 있다. 사용자 인증시, 인증용카드(10)는 인증용가상코드생성수단(20)(예를 들어, 사용자 단말)로 인증용카드데이터를 제공하여 인증용가상코드생성수단(20)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 한다. 이때, 인증용카드(10)는 는 사용자에 의해 별도로 구입될 수 있다. 들어, 사용자는 마트 또는 편의점 등에서 원하는 디자인의 인증용카드(10)를 구입하여 사용할 수 있다.
또한, 일 실시예로, 인증용카드(10)는 금융거래용 인증용카드로 사용될 수 있다. 즉, 일반적인 결제를 위한 카드, 예를 들어, 신용카드 또는 체크카드 등으로 사용될 수 있고, 동시에 금융거래시 보안 인증이 필요한 경우 인증용가상코드를 생성하는 카드로서 사용될 수 있다. 금융거래 시, 인증용카드(10)는 인증용가상코드생성수단(20)(예를 들어, 사용자 단말)로 인증용카드데이터를 제공하여 인증용가상코드생성수단(20)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 한다. 이때, 금융거래를 위한 인증용카드(10)는 금융사 등으로부터 제공받아서 사용될 수 있다. 예를 들어, 특정한 금융사 또는 카드사에서 본인들이 발급하는 카드를 사용하는 사용자가 보다 안전하게 서비스를 이용할 수 있도록, 사용자에게 인증용가상코드 생성을 위한 기능을 일반 결제 카드에 포함시켜 금융거래용 인증용카드(10)를 제공할 수 있다.
또한, 다른 일 실시예로, 인증용카드(10)는 출입용 인증용카드로 사용될 수 있다. 즉, 일반적인 출입을 위한 카드, 예를 들어, 출입증, 사원증 등으로 사용될 수 있고, 동시에 보안이 요구되는 시스템 또는 공간에 출입하기 위해 보안 인증이 필요한 경우 인증용가상코드를 생성하는 카드로서 사용될 수 있다. 보안 영역 출입 시, 인증용카드(10)는 인증용가상코드생성수단(20)(예를 들어, 사용자 단말 또는 보안 장치)로 인증용카드데이터를 제공하여 인증용가상코드생성수단(20)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 한다. 이때, 출입을 위한 인증용카드(10)는 새집에 입주하거나, 또는 회사에 취직하는 등 사용자가 특정 그룹에 속했을 때 해당 그룹의 관리자로부터 지급받는 출입카드로서, 특정 공간으로의 출입을 허가받기 위해 사용되며, 동시에 특정 공간 내에 보안이 요구되는 영역으로의 출입 시 사용자 인증을 위해 사용될 수 있다.
또한, 일 실시예로, 인증용카드(10)는 제작 시에 인증용카드번호, 인증용카드 시리얼번호 등을 포함하는 인증용카드데이터가 부여된다. 또한, 일 실시예로, 인증용카드(10)는 내부에 인증용카드데이터를 포함할 뿐, 외부로 인증용카드데이터(예를 들어, 인증용카드번호)를 노출하지 않는다.
인증용가상코드생성수단(20)은 인증용카드(10)의 태깅 기반으로 인증용가상코드를 생성하기 위한 전용프로그램 또는 전용어플리케이션(이하, 전용프로그램(21))이 내장 또는 설치되어 있는 장치를 의미한다.
일 실시예로, 전용프로그램(21)은 인증용카드(10)와 통신을 수행하여 인증용카드데이터를 제공받는 역할을 수행한다. 즉, 인증용가상코드생성수단(20)은 인증용카드(10)와 무선통신(예를 들어, 근접에 따른 NFC 통신)을 수행함에 따라 인증용카드데이터를 수신한다.
또한, 일 실시예로, 전용프로그램(21)은 인증용카드(10)로부터 제공받은 인증용카드데이터를 이용하여 사용자 인증을 위한 인증용가상코드를 생성하는 역할을 수행한다. 즉, 전용프로그램(21)은 인증용가상코드생성함수를 포함하여 인증용카드(10)로부터 제공받은 인증용카드데이터의 전부 또는 일부를 이용하여 인증용가상코드를 생성한다. 예를 들어, 전용프로그램(21)은 인증용카드데이터 내에 포함된 인증용카드 시리얼번호(Serial number)를 인증용가상코드생성함수의 시드데이터로 이용하여 인증용가상코드를 생성한다. 또한, 예를 들어, 전용프로그램(21)은 인증용카드(10)로부터 수신한 인증용카드 시리얼번호와 전용프로그램의(21) 시리얼번호를 결합한 조합시리얼번호를 인증용가상코드생성함수의 시드데이터로 이용할 수 있다.
또한, 일 실시예로, 전용프로그램(21)은 인증용카드(10)를 서버(30)에 등록하는 역할을 수행한다. 즉, 사용자는 인증용카드(10)를 구입하거나 카드사 등으로부터 제공받아서 인증용가상코드생성수단(20)(즉, 사용자 단말)에 내장 또는 설치된 전용프로그램(21)에 인증용카드(10)를 등록하고, 전용프로그램(21)은 서버(30)로 인증용카드데이터 및 사용자 정보를 전송하여 등록한다.
구체적인 예로, 전용프로그램(21)은 인증용카드 등록 시에 인증용카드(10)로부터 시리얼번호 및 인증용카드번호를 포함하는 인증용카드데이터를 수신한다. 또한, 전용프로그램(21)은 인증용카드 등록 시에 사용자로부터 사용자 정보를 입력받거나, 사용자의 전용프로그램(21) 로그인 정보를 기반으로 사용자 정보를 생성한다. 그 후, 전용프로그램(21)은 인증용카드데이터와 사용자 정보를 서버(30)로 전송한다. 서버(30)가 특정카운트에 인증용카드(10)를 등록함에 따라, 전용프로그램(21)은 서버(30)로부터 인증용가상코드생성함수 또는 인증용가상코드생성함수를 특정하기 위한 설정데이터를 수신한다. 이를 통해, 전용프로그램(21)은 서버(30) 내에 인증용카드가 등록된 특정카운트 탐색이 가능한 인증용가상코드를 생성하는 인증용가상코드생성함수를 포함할 수 있다.
서버(30)는 인증용가상코드생성수단(20)에서 생성된 인증용가상코드를 기반으로, 서버(30) 내에 인증용카드(10)가 등록된 위치를 탐색하여 해당 위치에 저장된 사용자 정보를 추출한다. 또한, 서버(30)는 인증용가상코드를 수신한 시점과, 인증용가상코드생성수단(20)에서 인증용가상코드가 생성된 시점을 기반으로 인증용가상코드를 검증한다. 인증용가상코드를 검증하여 사용자 인증을 수행하는 방식에 대해서는 상세히 후술한다.
또한, 서버(30)는 전용프로그램(21)에서 제공된 사용자 정보 또는 서버(30) 내에 기 저장되어 있는 사용자 정보를 인증용카드(10)의 등록이 요청된 특정카운트에 해당하는 지점에 저장하여, 인증용카드(10)를 초기등록한다. 인증용카드(10)를 서버(30)에 초기등록하는 방식에 대한 설명을 상세히 후술한다.
일 실시예로, 서버(30)는 전용프로그램(21)의 요청에 따라, 전용프로그램(21)으로부터 제공된 인증용카드데이터와 사용자 정보를 인증용카드 등록 시점에 해당하는 특정카운트에 저장한다. 여기서, 사용자 정보는 사용자가 사용자 단말에 내장 또는 설치된 전용프로그램(21)을 통해 입력한 정보이거나 또는 사용자의 전용프로그램(21) 로그인 정보를 기반으로 생성된 정보일 수 있다.
도 2는 발명의 일 실시예에 따른 인증용카드장치의 구성도이다.
도 2에 도시된 바와 같이, 인증용카드장치(100)는 IC 칩(110) 및 통신부(120)를 포함한다.
여기서, 인증용카드장치(100)는 사용자 인증을 위해 인증용가상코드생성장치(200)에 접촉되는 인증용카드(10)를 의미한다.
IC 칩(110)은 인증용카드장치(100)의 전면에 배치된 금속 칩으로서, 인증용카드장치(100)의 인증용카드데이터를 포함하는 역할을 수행한다. 여기서, 인증용카드데이터는 인증용카드번호, 인증용카드 시리얼번호 등을 포함하는 데이터를 의미한다.
통신부(120)는 인증용가상코드생성장치(200)로 통신하여 인증용카드데이터를 제공하는 역할을 수행한다. 여기서, 통신부(120)의 무선통신 방식으로는 NFC(Near Field Communication)뿐만 아니라, 블루투스(Bluetooth), BLE(Bluetooth Low Energy), 비콘(Beacon), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee 등이 이용될 수도 있다.
구체적인 예로, 통신부(120)는 IC 칩(110)에 연결되는 NFC(Near Field Communication) 통신부(예를 들어, NFC안테나)일 수 있다. 즉, 인증용카드장치(100)는 NFC통신이 가능한 인증용가상코드생성장치(200)에 근접됨에 따라 IC 칩(110) 내에 저장된 인증용카드데이터를 인증용가상코드생성장치(200)로 전송할 수 있다. 이를 통해, 인증용가상코드생성장치(200) 내의 전용프로그램(21)은 인증용카드데이터를 기반으로 인증용가상코드를 생성하거나 인증용카드(10)를 서버(30)에 등록하는 절차를 수행할 수 있다.
일 실시예로, 인증용카드장치(100)가 결제 기능을 포함하는 경우, 판단부(미 도시)를 더 포함하여, 인증용카드장치가 결제용으로 사용되었는지, 또는 사용자 인증용으로 사용되었는지를 판단하는 역할을 수행할 수도 있다. 즉, 판단부는 결제 시의 카드 태그와 사용자 인증 시의 카드 태그를 구분하여, 경우에 따라 상이한 카드데이터를 전송할 수 있다.
구체적인 예로, 판단부는 인증용카드장치(100)가 결제용 단말기에 태그된 것으로 판단하면, 결제용 단말기로 IC 칩(110)에 저장된 결제용카드정보(예를 들어, 결제용카드번호 또는 결제용시리얼번호)를 제공할 수 있다. 또한, 판단부는 인증용카드장치(100)가 금융거래시의 사용자 인증을 위해 인증용가상코드생성수단(20)(즉, 사용자 단말)에 태그된 것으로 판단하면, 사용자 단말에 내장 또는 설치된 전용프로그램(21)에 인증용가상코드 생성을 위해 필요한 인증용카드데이터(예를 들어, 인증용카드의 시리얼번호)를 제공할 수 있다. 이때, 결제용시리얼번호와 인증용카드의 시리얼번호는 동일한 번호일 수도 있고, 서로 상이한 번호일 수도 있다.
또한, 다른 예로, 인증용카드장치(100)는 결제용 단말기에 태그된 경우와 전용프로그램(21)이 내장 또는 설치된 사용자 단말에 태그된 경우를 구별하지 않고, 인증용카드장치(100)가 특정 기기에 태그되면 카드번호를 제공할 수도 있다. 이때, 결제용 단말기는 제공된 카드번호를 이용하여 결제를 진행하게 된다. 반면에, 전용프로그램(21)은 제공된 카드번호가 프로그램 내에 인증된(등록된) 카드번호인 것으로 판단한 후, 인증용카드장치(100) 내의 저장 영역에서 사용자 인증을 위한 시리얼번호를 가져올 수도 있다.
다른 일 실시예로, 인증용카드장치(100)가 출입 기능을 포함하는 경우, 판단부(미 도시)를 더 포함하여, 인증용카드장치(100)가 출입용으로 사용되었는지, 또는 사용자 인증용으로 사용되었는지를 판단하는 역할을 수행할 수도 있다. 즉, 판단부는 일반적인 출입 시의 카드 태그와 사용자 인증 시의 카드 태그를 구분하여, 경우에 따라 상이한 카드데이터를 전송할 수 있다.
구체적인 예로, 판단부는 인증용카드장치(100)가 일반적인 출입용 기기에 태그된 것으로 판단하면, 출입용 기기로 IC 칩(110)에 포함된 출입을 위한 식별정보, 예를 들어, 사용자 식별정보, 사용자 코드 등을 제공할 수 있다. 또한, 판단부는 인증용카드장치(100)가 보안영역 출입시의 사용자 인증을 위해 인증용가상코드생성수단(20)(즉, 사용자 단말)에 태그된 것으로 판단하면, 사용자 단말에 내장 또는 설치된 전용프로그램(21)에 인증용가상코드 생성을 위해 필요한 인증용카드데이터(예를 들어, 인증용카드의 시리얼번호)를 제공할 수 있다. 이때, 인증용가상코드 생성을 위해 필요한 인증용카드데이터는 일반적인 출입 시에 이용되던 식별코드와 동일할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 인증용가상코드생성장치의 구성도이다.
도 3에 도시된 바와 같이, 인증용가상코드생성장치(200)는 세부코드생성부(210), 인증용가상코드생성부(220) 및 인증용가상코드제공부(230)를 포함한다.
인증용가상코드생성장치(200)는, 일 실시예로, 사용자 인증을 위한 인증용가상코드를 생성하는 프로그램(즉, 애플리케이션)이 설치된 사용자 단말일 수 있다.
세부코드생성부(210)는 인증용카드장치(100)에서 무선통신을 통해 제공된 인증용카드데이터를 기반으로 하나 이상의 세부코드를 생성하는 역할을 수행한다.
인증용가상코드생성함수는 하나 이상의 세부코드생성함수를 포함한다. 예를 들어, 인증용가상코드가 복수의 세부코드를 포함하는 경우, 인증용가상코드생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 인증용가상코드를 생성한다.
이때, 인증용가상코드는 인증용가상코드생성장치(200), 즉, 사용자 단말 내부에 내장 또는 설치된 전용프로그램(21)에 의해 단위카운트마다 생성되는 것으로서, 모바일 OTP(mobile one time password, mOTP)를 의미한다.
일 실시예로, 인증용가상코드생성장치(200)는 인증용카드장치(100)로부터 제공된 인증용카드의 시리얼번호를 인증용가상코드생성함수의 시드데이터 중 하나로 이용할 수 있다. 구체적인 예로, 세부코드생성부(210)는 하나의 세부코드생성함수를 이용하여 인증용카드장치(100)에서 제공된 인증용카드의 시리얼번호와 인증용가상코드생성장치(200)에 내장 또는 설치된 전용프로그램(21)의 시리얼번호를 조합한 조합시리얼번호를 각 세부코드생성함수의 시드데이터로 이용하여 각각의 세부코드를 생성한다. 이때, 세부코드생성부(210)는 사용자로부터 사용자 인증이 요청된 시점 또는 카운트 값도 이용하여 각각의 세부코드를 생성할 수 있다.
일 실시예로, 세부코드생성부(210)는 세부코드생성함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성할 수 있다. 이때, 인증용가상코드생성장치(200)는 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드생성함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터는 포함하지 않을 수 있다.
인증용가상코드생성부(220)는 인증용가상코드생성함수를 이용하여 하나 이상의 세부코드를 조합하여 인증용가상코드로 생성하는 역할을 수행한다. 일 실시예로, 인증용가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성된다. 인증용가상코드생성함수는 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함한다. 즉, 인증용가상코드생성부(220)는 하나 이상의 세부코드를 인증용가상코드생성함수에 포함된 세부코드결합함수를 이용하여 조합할 수 있다.
복수의 세부코드를 결합하여 하나의 인증용가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 세부코드결합함수의 일 예로, 인증용가상코드생성부(220)는 N자리의 제1코드와 N자리의 제2코드를 번갈아 배치하는 방식으로 인증용가상코드를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1코드 뒤에 제2코드를 결합하는 함수일 수 있다. 인증용가상코드에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
또한, 일 실시예로, 인증용가상코드가 제1코드 및 제2코드의 특정한 규칙에 따른 조합으로 생성되는 경우, 제1코드와 제2코드는 사용자 정보가 저장된 저장위치탐색알고리즘 내의 인증용카드의 저장위치를 탐색하기 위한 각각의 역할을 수행할 수 있다. 예를 들어, 제1코드는 저장위치탐색의 시작지점을 설정하고, 제2코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 인증용카드의 저장위치로의 탐색경로를 설정한다. 즉, 인증용가상코드생성장치(200)에서 단위카운트마다 정상적으로 생성된 인증용가상코드가 제공되면, 인증용가상코드검증장치(300)는 제1코드에 대응하는 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 사용자 정보가 저장된 지점(즉, 인증용카드의 저장위치)으로 판단한다. 인증용가상코드를 구성하는 제1코드와 제2코드를 기반으로 인증용카드의 저장위치를 탐색하는 구체적인 방식은 후술한다.
세부코드생성부(210)가 세부코드를 생성하는 방식의 일 실시예로, 세부코드생성부(210)는 단위카운트마다 새로운 세부코드를 생성하고, 이에 따라 인증용가상코드생성장치(200)는 단위카운트마다 새로운 인증용가상코드를 생성한다. 단위카운트마다 신규로 생성되는 인증용가상코드는 중복되어 생성되지 않는다. 구체적으로, 세부코드생성부(210)는, 단위카운드마다 신규생성되는 인증용가상코드가 특정한 사용자 또는 특정한 인증용가상코드생성장치(200)에게 정해진 기간 동안 중복생성되지 않을 뿐만 아니라, 특정한 그룹에 속한 사용자간에도 중복생성되지 않도록 설정될 수 있다.
인증용가상코드의 중복생성을 방지하는 구체적인 일 실시예로, M개 문자로 N자리의 제1코드 또는 제2코드를 생성하는 경우, 인증용가상코드생성함수에 포함되는 세부코드생성함수는 MN개의 코드를 제1코드 또는 제2코드로 생성할 수 있고, 각각의 코드를 세부코드생성함수가 구동되는 초기시점으로부터 각 카운트마다 매칭한다. 예를 들어, 단위카운트를 1초로 설정하는 경우, 세부코드생성함수가 최초 구동된 시점에서부터 매 초에 상이한 MN개의 코드를 매칭한다. 그리고, 특정한 세부코드생성함수를 이용하는 주기 또는 인증용가상코드생성장치(200)의 사용주기(예를 들어, 인증용가상코드를 생성하는 애플리케이션이 설치된 사용자 단말의 유효기간)를 MN 카운트에 해당하는 시간길이(예를 들어, 1카운트가 1초인 경우, MN 초)보다 짧은 시간길이로 설정하면 제1코드 또는 제2코드는 사용주기 동안에 동일한 코드가 중복 생성되지 않는다. 즉, 시간이 흐름에 따라 카운트가 증가할 때, 사용자가 특정시점에 인증용카드를 접촉하여 인증용가상코드생성장치(200)에 인증용가상코드생성요청을 하는 경우, 인증용가상코드생성장치(200)는 특정시점에 대응되는 카운트에 매칭된 코드값을 제1코드 또는 제2코드로 생성할 수 있다.
구체적으로, 알파벳 대문자와 0부터 9까지의 숫자를 코드에 포함 가능한 문자로 사용(즉, 36개의 문자를 사용)하고, 제1코드와 제2코드에 각각 6자리를 할당하는 경우, 인증용가상코드생성장치(200)는 제1코드 및 제2코드로 366개의 코드를 제공할 수 있다. 이때, 인증용가상코드생성장치(200)는 각각의 코드를 각 카운트마다 매칭시켜서, 각 카운트마다 변경된 제1코드 및 제2코드를 제공할 수 있다.
인증용가상코드의 중복생성을 방지하는 구체적인 다른 일 실시예로, 인증용가상코드생성장치(200)의 사용주기가 경과되면, 제1코드 또는 제2코드를 생성하는 함수(즉, 제1함수 또는 제2함수)를 변경하거나 제1코드와 제2코드의 매칭관계를 변경하여 이전 사용주기와 상이한 인증용가상코드가 생성되도록 한다. 인증용가상코드가 제1함수에 의해 생성되는 제1코드와 제2함수에 의해 생성되는 제2코드가 결합되는 경우, 제1코드생성함수 또는 제2코드생성함수가 변경되면, 인증용가상코드생성장치(200)는 제1코드 또는 제2코드가 등장하는 순서가 이전 사용주기와 달라짐에 따라 이전 주기와 상이한 인증용가상코드를 생성하는 인증용가상코드생성함수를 신규 사용주기에 적용할 수 있다. 또한, 인증용가상코드생성장치(200)는 이전 사용주기에서 사용된 인증용가상코드와 동일한 코드가 신규 사용주기 내 각 카운트의 인증용가상코드로 등장하지 않도록(즉, 제1함수에 따라 생성되는 제1코드와 제2함수에 따라 생성되는 제2코드의 매칭관계가 신규 사용주기의 모든 카운트에서 이전 사용주기 내에 포함된 매칭관계 중에 포함되지 않도록) 제1함수와 제2함수를 선택할 수 있다. 즉, MN 개의 코드를 1회씩 적용할 수 있는 사용주기를 경과한 후 인증용가상코드생성함수 조절 또는 갱신을 통해 이전 사용주기와 겹치는 인증용가상코드가 생성되지 않는 신규 사용주기의 인증용가상코드생성함수를 적용할 수 있다.
또한, 인증용가상코드의 중복생성을 방지하는 구체적인 또 다른 일 실시예로, 전체주기에서 사용자에 무관하게 중복된 인증용가상코드가 발생되지 않도록, 제1코드는 제1함수가 구동되는 초기시점으로부터 각 카운트마다 매칭된 코드 중에서 인증용가상코드 생성요청이 된 시점(또는 카운트)에 대응되는 코드값으로 설정하고, 제2코드는 인증용카드(10)마다 동일시점에 항상 상이하게 존재하는 값(즉, 장치식별값)을 반영하여 생성되는 코드값으로 설정하고, 인증용가상코드를 상기 제1코드와 제2코드가 결합된 코드값으로 이용할 수 있다. 제1코드는 각 카운트마다 상이한 코드값이 되고 제2코드는 동일시점에 인증용카드(10)마다 상이한 코드값을 가지게 되어서, 제1코드와 제2코드가 결합된 인증용가상코드는 모든 인증용카드(10)와 모든 시점에 상이한 코드값이 출력되게 된다.
또한, 다른 일 실시예로, 상기 인증용가상코드생성함수(또는 세부코드생성함수)는, M개의 문자를 오름차순으로 나열하는 다수의 나열규칙 중 어느 하나가 적용된다. 즉, 인증용가상코드생성장치(200)는 인증용가상코드생성함수 내에 포함되는 세부코드생성함수에 M개 문자를 오름차순으로 나열하는 규칙을 다양하게 적용하여 할 수 있다. 예를 들어, 알파벳 대문자를 오름차순으로 나열하는 나열규칙은, 일반적인 순서인 A, B, C,…, Z 순서가 될 수 있고, A, C, B,…, Z 순서가 될 수도 있다. 인증용가상코드생성함수에서 나열규칙이 달라짐에 따라 인증용가상코드생성함수가 구동되는 초기시점부터 각 카운트에 차례대로 코드가 매칭되는 순서가 달라지게 된다.
인증용가상코드제공부(230)는 생성된 인증용가상코드를 서버(30)로 제공하여 사용자 인증을 요청하는 역할을 수행한다.
일 실시예로, 인증용가상코드제공부(230)는 인증용가상코드를 외부로 출력한다. 예를 들어, 사용자가 인증용가상코드를 기반으로 결제 시 사용자 인증을 수행하고자 하는 경우, 인증용가상코드제공부(230)는 사용자가 인증용가상코드를 시각적으로 확인하거나 복사하여 다른 프로그램 또는 웹페이지에 붙여넣을 수 있도록 화면상에 출력한다. 즉, 사용자는 사용자 단말(20)의 화면 상에 출력된 인증용가상코드를 프로그램 또는 웹페이지에 붙여넣어 금융사 서버에 인증용가상코드를 제공할 수 있다.
다른 예로, 사용자가 인증용가상코드를 기반으로 출입 시 사용자 인증을 수행하고자 하는 경우, 인증용가상코드제공부(230)는 사용자가 인증용가상코드를 시각적으로 확인하거나 복사하여 다른 프로그램 또는 웹페이지에 붙여넣을 수 있도록 화면상에 출력한다. 또는, 인증용가상코드제공부(230)는 사용자가 사용자 단말(20)의 화면 상에 출력된 인증용가상코드를 NFC 등을 통해 보안 영역에 설치되어 있는 보안 장치에 제공할 수 있도록 화면상에 출력할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 인증용가상코드검증장치의 구성도이다.
도 4에 도시된 바와 같이, 인증용가상코드검증장치(300)는 인증용가상코드수신부(310), 세부코드추출부(320), 저장위치탐색부(330), 사용자정보추출부(340), 인증용가상코드검증부(350) 및 사용자인증승인부(360)를 포함한다.
여기서, 인증용가상코드검증장치(300)는 인증용가상코드를 기반으로 인증용카드를 보유한 사용자의 사용자 정보를 추출하고, 또한 인증용가상코드를 기반으로 수신된 인증용가상코드가 정상적인 코드인지를 판단하여 사용자 인증을 수행하는 서버를 의미한다.
사용자인증요청수신부(310)는 인증용가상코드제공부(230)로부터 제공된 인증용가상코드와 기반으로 사용자 인증을 요청받는 역할을 수행한다.
일 실시예로, 결제 시 사용자 인증의 경우, 사용자인증요청수신부(310)는 사용자 단말에 내장 또는 설치된 전용프로그램에 의해 생성된 인증용가상코드를 금융사 앱를 통해 제공받아, 사용자인증을 요청받을 수 있다. 다른 일 실시예로, 출입 시 사용자 인증의 경우, 사용자인증요청수신부(310)는 사용자 단말 단말에 내장 또는 설치된 전용프로그램에 의해 생성된 인증용가상코드를 보안 장치 또는 보안 시스템 서버로부터 제공받아, 사용자인증을 요청받는다.
세부코드추출부(320)는 인증용가상코드에 포함된 하나 이상의 세부코드를 추출하는 역할을 수행한다.
일 실시예로, 세부코드추출부(320)는 인증용가상코드생성함수에 포함된 세부코드결합함수를 포함한다. 따라서, 인증용가상코드가 복수의 세부코드를 포함하는 경우, 세부코드추출부(320)는 세부코드결합함수를 적용하여 인증용가상코드에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 인증용가상코드생성장치(200)에서 두 개의 세부코드(즉, 제1코드 및 제2코드)가 결합된 인증용가상코드를 생성하는 경우, 세부코드추출부(320)는 인증용가상코드의 문자배열에서 세부코드결합함수를 적용하여 제1코드 및 제2코드를 분리해낼 수 있다.
저장위치탐색부(330)는 추출된 하나 이상의 세부코드를 기반으로 저장위치탐색알고리즘 내에 인증용카드가 등록된 저장위치를 탐색하는 역할을 수행한다. 여기서, 저장위치탐색알고리즘은 인증용가상코드생성장치(200)에서 인증용가상코드를 생성할 때 이용했던 인증용가상코드생성함수에 매칭되는 것이다. 저장위치탐색부(330)에서 각각의 세부코드를 기반으로 인증용카드의 저장위치를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 저장위치탐색부(330)가 복수의 세부코드를 기반으로 저장위치를 탐색하기 위해 세부코드 간에는 상관관계를 포함할 수 있다.
여기서, 저장위치는 사용자에 의해 인증용카드의 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다. 즉, 서버 내에서 해당 인증용카드에 대한 트랙이 구동되고, 특정 시점에 특정 사용자에 의해 특정 인증용카드의 등록이 요청되면, 해당 시점에 대응되는 카운트(즉, 트랙의 최종 구동시로부터 등록시점까지 경과된 카운트)에 해당 인증용카드가 등록되게 된다. 그리고 해당 인증용카드의 저장위치에는 해당 인증용카드를 사용하는 사용자의 정보가 매칭되어 저장되게 된다.
인증용가상코드가 제1코드 및 제2코드로 구성되는 경우, 세부코드 간에 상관관계를 가지는 일 실시예로, 저장위치탐색부(330)는 제1코드에 대응하는 탐색시작지점을 결정하고, 상기 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 인증용카드의 저장위치로 찾을 수 있다. 즉, 상기 세부코드는, 저장위치탐색의 시작지점을 설정하는 제1코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 인증용카드의 저장위치로의 탐색경로를 설정하는 제2코드를 포함할 수 있다.
또한, 다른 일 실시예로, 인증용가상코드생성장치(200)가 단위카운트마다 신규 인증용가상코드를 제공함에 따라, 인증용가상코드검증장치(300)는 각 카운트마다 변경되는 제1코드 및 제2코드를 기반으로 탐색시작지점과 탐색경로를 설정하여 인증용카드의 저장위치(즉, 인증용카드가 등록된 위치)를 탐색할 수 있다.
또한, 다른 일 실시예로, 저장위치탐색부(330)는 상관관계를 가지는 복수의 세부코드를 이용하여 인증용카드의 저장위치를 찾기 위해, 저장위치탐색알고리즘을 포함할 수 있다. 저장위치탐색알고리즘은 인증용가상코드에 포함되는 각각의 세부코드 적용 시에 저장위치 탐색이 가능하도록 하는 알고리즘으로서, 인증용가상코드생성장치(200)에서 인증용가상코드를 생성할 때 이용했던 인증용가상코드생성함수에 매칭되는 것이다.
예를 들어, 인증용가상코드가 저장위치의 탐색시작지점을 결정하는 제1코드와 탐색시작지점으로부터의 저장위치 방향을 제시하는 제2코드를 포함하는 경우, 저장위치탐색알고리즘은 제1코드에 대응되는 지점에서 제2코드에 대응되는 방향을 지시할 때, 해당 위치에 인증용카드의 등록 시점이 매칭되는 저장위치가 배치되도록 조절하는 알고리즘이다.
사용자정보추출부(340)는 저장위치탐색부(330)에 의해 탐색된 인증용카드의 저장위치에 매칭되어 저장된 사용자 정보를 추출한다. 즉, 인증용가상코드검증장치(300)는 저장위치탐색알고리즘 내의 각각의 인증용카드의 저장위치에 해당 인증용카드를 사용하는 사용자 정보를 저장하고 있으므로, 사용자정보추출부(340)는 저장위치탐색알고리즘 내에서 특정 인증용카드 저장위치에 매칭되어 저장된 특정 사용자 정보를 추출할 수 있다. 이에 따라, 사용자 인증 시 별도로 로그인할 필요 없이, 사용자 인증을 요청한 사용자가 누구인지를 확인할 수 있게 된다.
저장위치탐색알고리즘을 이용함에 따라, 인증용가상코드검증장치(300)는 인증용가상코드에 포함된 제1코드와 제2코드가 변경되어도 인증용카드 저장위치(즉, 인증용카드 등록카운트)를 탐색하여, 해당 저장위치에 매칭되어 저장된 사용자 정보를 추출할 수 있다. 저장위치탐색알고리즘은 다양한 방식이 적용될 수 있으며, 구체적인 예시는 후술한다. 다만, 저장위치탐색알고리즘은 후술되는 예시에 한정되지 않는다.
예를 들어, 도 6을 참조하면, 저장위치탐색알고리즘이 제1코드에 해당하는 MN개의 코드가 나열된 트랙을 따라 구름이동하는 k각형(k는 MN)이며, k각형의 꼭지점이 제1코드 트랙 상에 코드가 배치되는 지점에 대응되면서 이동하는 경우, k각형의 각 꼭지점이 인증용카드의 저장위치와 매칭되고, 제1코드 트랙(즉, 제1트랙)과 k각형이 대응되는 지점이 제1코드에 대응하는 저장위치 탐색시작지점이 될 수 있다. 이때, 저장위치탐색부(330)는 세부코드추출부(320)에서 추출된 제1코드에 대응되는 지점에 k각형의 꼭지점이 접하도록 k각형을 구름이동를 적용할 수 있다. 이를 통해, 저장위치탐색부(330)는 k각형이 접한 제1트랙 상의 위치에서 제2코드에 상응하는 각도(예를 들어, k각형의 꼭지점을 향하도록 180도를 MN개로 분할한 특정한 각도)로 지시함에 따라, 인증용가상코드에 대응하는 인증용카드가 저장된 저장위치인 k각형의 꼭지점을 탐색할 수 있다.
구체적으로, 도 6에서와 같이, 인증용가상코드검증장치(300)는 제1코드에 대응하는 지점으로 k각형을 구름이동(즉, k각형의 각 꼭지점과 트랙 상의 각 지점이 차례대로 접하도록 하면서 이동)시킨다. 그 후, 인증용가상코드검증장치(300)는 제2코드에 상응하는 각도 방향을 지시하여 저장위치에 상응하는 꼭지점을 탐색한다.
저장위치탐색부(330)에 의해 저장위치 탐색알고리즘 내에서 인증용가상코드 내의 제1코드 및 제2코드를 이용하여 인증용카드의 저장위치 또는 인증용카드의 등록위치가 탐색된 후에, 사용자정보추출부(340)에 의해 해당 위치에 저장된 사용자 정보를 추출한다.
이외의 다양한 저장위치탐색알고리즘에 대한 상세한 설명은 후술한다.
인증용가상코드검증부(350)는 인증용가상코드수신부(310)가 인증용가상코드를 수신한 시점과 인증용가상코드가 인증용가상코드생성수단(즉, 사용자 단말)에서 인증용가상코드생성함수를 이용하여 생성된 시점을 비교하여, 인증용가상코드를 검증하는 역할을 수행한다.
일 실시예로, 도 8을 참조하면, 인증용가상코드검증부(350)는 인증용가상코드가 수신된 시점과 사용자 단말에 내장 또는 설치된 전용프로그램(21)에서 인증용가상코드생성함수를 이용하여 인증용가상코드가 생성된 시점을 비교하여, 생성 시점이 수신 시점으로부터 기 설정된 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단할 수 있다.
또한, 인증용가상코드를 검증하는 방식에 대한 다른 일 실시예로, 제1코드 및 제2코드는 사용자단말(20)에 의해 인증용카드가 등록된 시점 또는 사용자 인증이 요청된 시점(예를 들어, 사용자 단말이 인증용카드로부터 인증용카드데이터를 수신한 시점 또는 사용자 단말이 인증용카드데이터로 인증용가상코드를 생성한 시점)으로부터 랜덤으로 생성되는 OTP코드만큼 부가된 기준 카운트에 대한 코드일 수 있다.
구체적인 실시예로, 인증용가상코드생성장치(200)가 가상보안코드를 외부로 출력하지 않고 제1코드 및 제2코드에 반영하여 생성한다. 인증용가상코드생성수단(예를 들어, 인증용가상코드생성 전용프로그램)은 인증용가상코드생성장치(즉, 사용자 단말) 내의 시리얼번호(즉, 고유값) 및 인증용카드의 시리얼번호 중 일부 또는 인증용카드 시리얼번호와 전용프로그램의 시리얼번호의 조합을 기반으로 가상보안코드값(예를 들어, OTP코드)를 생성하고, 인증용카드 등록시점에 가상보안코드값을 더한 카운트의 제1코드를 생성하고, 가상보안코드값에 대응되는 카운트의 제2코드를 생성(즉, 가상보안코드 자체를 제2코드로 생성)한다. 즉, 제1코드 및 제2코드는 사용자 단말(20)에 의해 인증용카드(10)가 서버(30)에 등록된 A시점으로부터 가상보안코드값만큼 이동(shifting)된 카운트를 기반으로 생성된다. A시점으로부터 이동(Shifting)된 카운트는 생성되는 가상보안코드 값에 따라 현재시점에 대응하는 카운트보다 이전 카운트가 될 수도 있고, 이후 카운트가 될 수도 있다. 인증용가상코드검증수단인 서버는 수신된 제1코드와 제2코드를 저장위치탐색알고리즘에 적용하여 인증용카드 저장위치(또는 등록위치)를 탐색할 수 있다. 이를 통해, 타인이 인증용가상코드를 구성하는 제1코드 및 제2코드가 제공되는 순서를 확인할 수 없게 되어, 보안성이 향상될 수 있다.
또한, 다른 일 실시예로, 인증용가상코드검증수단인 서버는 가상보안코드를 기반으로 생성된 제2코드에서 가상보안코드를 추출한 후, 가상보안코드생성함수(즉, OTP함수)를 인증용가상코드를 수신한 카운트로부터 특정범위 내의 카운트를 입력하여 산출된 OTP번호 중에 가상보안코드와 일치하는 값이 있는지 여부를 확인한다. 인증용가상코드검증수단인 서버는 제2코드에 제2함수의 역함수를 적용하여 제2코드 생성에 이용된 가상보안코드값(즉, OTP함수값)을 획득하고, 가상보안코드값과 동일한 값을 산출하는 카운트를 찾아낸다. 인증용가상코드의 전송시간이나 딜레이에 의해 인증용가상코드생성수단에서 가상보안코드가 생성된 시점과 인증용가상코드검증수단이 가상보안코드를 수신한 시점의 차이가 존재함에 따라 인증용가상코드검증수단이 인증용가상코드를 수신한 카운트와 가상보안코드에 해당하는 OTP번호를 생성한 카운트가 일치하지 않을 수도 있으므로, 서버는 인증용가상코드를 수신한 카운트로부터 오차범위를 허용한다. 이를 통해, 서버는 현시점에 생성된 인증용가상코드가 아닌 이전에 생성된 인증용가상코드로 사용자 인증을 수행하려는 것을 막을 수 있어서, 보안성이 향상될 수 있다. 또한, 사용자는, 인증용가상코드 입력 시에 특정한 자릿수의 가상보안코드를 입력하지 않아도 서버가 자체적으로 가상보안코드를 탐색하여 사용자를 검증할 수 있다.
또한, 다른 일 실시예로, 인증용가상코드생성수단은 사용자 인증이 요청된 시점에 사용자 단말 또는 전용프로그램 내의 시리얼번호(즉, 고유값) 및 인증용카드의 시리얼번호 중 일부 또는 양자의 조합을 시드데이터로 사용하여 생성된 가상보안코드값을 더한 카운트에 대응하는 제1코드를 생성하고, 인증용카드 등록시점(A시점)과 사용자인증요청시점(B시점) 간의 카운트 차이와 가상보안코드값을 더한 카운트에 대응하는 제2코드를 생성한다. 즉, 인증용가상코드생성 전용프로그램이 제1코드와 제2코드를 생성하는 수식은 다음과 같다.
제1코드 = f1(B시점 카운트 + 가상보안코드)
제2코드 = f2(B시점 카운트 - A시점 카운트 + 가상보안코드)
(A시점: 인증용카드 등록시점, B시점: 사용자인증요청시점의 카운트, 가상보안코드: OTP번호)
인증용가상코드증수단인 서버(30)는 수신한 인증용가상코드 내의 제1코드 및 제2코드를 기반으로 사용자 정보가 저장된 위치를 탐색하고, 해당 위치에 함께 저장된 시드데이터(즉, 인증용가상코드생성 전용프로그램 또는 사용자단말의 시리얼번호, 인증용카드 시리얼번호, 인증용가상코드생성 전용프로그램 시리얼번호 및 인증용카드 시리얼번호를 조합한 조합시리얼번호 중 인증용가상코드 생성 시에 이용되는 것)을 추출한다. 서버(30)는 시드데이터를 기반으로 사용자인증요청 수신시점으로부터 특정카운트 범위 내의 가상보안코드(즉, OTP번호)를 생성한다.
그 후, 서버(30)는 제1코드 및 제2코드를 기반으로 사용자 정보가 저장된 지점을 탐색함에 따라 인증용카드 등록시점(A시점)을 파악한다. 서버는 인증용카드 등록시점(A시점)으로부터 사용자인증요청 수신시점을 기준으로 특정카운트범위 내의 각각의 카운트까지의 카운트 개수와 가상보안코드(즉, OTP번호)의 합에 해당하는 계산값을 각각 산출하고, 상기 각각의 계산값 중에 제2코드에 대응하는 카운트수(즉, 제2코드에 제2함수의 역함수를 적용한 값)와 같은 카운트가 존재하는지 확인한다. 이를 통해, 서버는 인증용가상코드가 정상적으로 제공된 것인지 확인할 수 있다.
사용자인증승인부(360)는 인증용가상코드검증부(350)에 의해 인증용가상코드의 검증이 완료되면 사용자 인증을 승인하는 역할을 수행한다.
일 실시예로, 결제 시의 사용자 인증의 경우, 사용자인증승인부(360)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 사용자인증승인부(360)는 사용자인증승인 메시지를 금융사 서버로 전송하게 된다. 이에 따라, 금융사 서버는 사용자가 금융거래를 계속 진행할 수 있도록 승인할 수 있다.
다른 일 실시예로, 출입 시의 사용자 인증의 경우, 사용자인증승인부(360)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 사용자인증승인부(360)는 사용자인증승인 메시지를 보안 시스템 관리 서버로 전송하게 된다. 이에 따라, 관리 서버는 사용자가 보안 영역으로 들어올 수 있도록 승인할 수 있다.
도 5는 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법의 순서도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법은, 서버가 서버가 인증용가상코드를 수신하는 단계(S100; 인증용가상코드수신단계), 상기 서버가 상기 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 인증용카드 저장위치를 탐색하는 단계(S200; 저장위치탐색단계), 상기 서버가 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인하는 단계(S300), 상기 서버가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증하는 단계(S400), 및 상기 서버가 사용자 인증을 승인하는 단계(S500)를 포함한다. 이하, 각 단계에 대한 상세한 설명을 기재한다. 다만, 인증용가상코드생성장치(200)(즉, 전용프로그램이 포함된 사용자 단말(20)) 및 인증용가상코드검증장치(300)(즉, 서버(30))에 대한 설명 과정에서 상술된 내용에 대한 구체적인 개시는 생략한다.
단계 S100에서, 서버(30)는 서버가 인증용가상코드를 수신하여 사용자 인증을 요청받는다. 여기서, 인증용가상코드는 인증용카드에서 제공된 인증용카드데이터를 기반으로 인증용가상코드생성용 프로그램에 포함된 인증용가상코드생성함수에 의해 생성되는 것이고, 인증용카드데이터는 인증용카드(10)가 제작될 때 부여되는 특정한 데이터로서, 인증용카드의 카드번호, 시리얼번호 등을 포함한다.
일 실시예에 따라, 인증용가상코드는 인증용카드데이터가 인증용가상코드생성수단(20)(즉, 인증용가상코드생성용 프로그램)으로 제공된 시간데이터를 기반으로 생성되거나, 또는 인증용카드(10)를 상기 인증용가상코드생성용 프로그램에 태깅하여 사용자 인증이 요청된 시간데이터를 기반으로 생성될 수 있다.
다른 일 실시예에 따라, 인증용가상코드는 인증용카드데이터 내에 포함된 인증용카드 시리얼번호와 인증용가상코드생성용 프로그램 내에 포함된 프로그램 시리얼번호(즉, 애플리케이션 시리얼번호)를 조합한 조합시리얼번호를 기반으로 하여 생성될 수 있다.
인증용가상코드생성수단(20)은 전용프로그램(21) 내에 포함된 인증용가상코드생성함수를 이용하여 상기 시간데이터와 조합시리얼번호를 기반으로 인증용가상코드를 생성할 수 있다. 즉, 시간데이터와 조합시리얼번호를 특정한 규칙으로 조합하여 인증용가상코드를 생성하고, 생성된 인증용가상코드를 서버(30)에 제공하게 된다.
일 실시예로, 인증용가상코드생성수단(20)은 전용프로그램(21)을 이용하여, 인증용카드 시리얼번호, 전용프로그램 시리얼번호(즉, 애플리케이션 시리얼번호), 그리고 인증용카드 시리얼번호와 프로그램 시리얼번호가 조합된 조합시리얼번호를 각각의 세부코드생성함수의 시드데이터로 이용하여 각각의 세부코드를 생성할 수 있다.
각각의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하면, 인증용가상코드생성수단(20)은 인증용가상코드생성함수에 포함되어 있는 세부코드결합함수를 이용하여 복수의 세부코드가 결합된 인증용가상코드를 생성할 수 있다. 예를 들어, 인증용가상코드생성수단(20)은 전용프로그램(21)을 이용하여, 각각의 세부코드로 생성된 조합시리얼번호와 인증용카드데이터를 수신한 시간데이터를 각각 세부코드결합함수의 시드데이터로 이용하여 인증용가상코드를 생성하게 된다.
이외에도, 인증용가상코드는 다양한 방식으로 생성될 수 있다. 즉, 인증용가상코드는 다양한 인증용가상코드생성함수에 의해 생성될 수 있다. 다양한 방식으로 인증용가상코드를 생성하는 것에 대한 상세한 설명은 도 3를 참조하여 상술한 설명과 중복되므로 구체적인 개시는 생략한다.
이후, 단계 S200에서, 서버(30)가 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 인증용카드(10)가 등록된 인증용카드 저장위치를 탐색한다. 여기서, 저장위치탐색알고리즘은 인증용가상코드생성수단(20)(즉, 사용자 단말)에 내장 또는 설치된 전용프로그램(21) 내에 포함된 인증용가상코드생성함수에 매칭되는 것으로서, 인증용가상코드 내의 적어도 하나의 세부코드를 기반으로 인증용카드 저장위치를 탐색할 수 있게 한다.
서버(30)는 인증용가상코드생성수단(20)을 통해 인증용카드(10)의 등록을 요청받으면, 해당 인증용카드에 대한 저장위치탐색알고리즘 내에 등록 요청된 시점에 해당하는 특정 지점(카운트)에 인증용카드를 등록하고, 해당 지점에 사용자 정보를 저장한다. 여기서, 사용자 정보는 인증용카드를 구입 또는 제공받아 등록을 요청한 카드 소유자의 정보를 의미한다.
인증용카드(10)가 서버(30)에 등록된 후, 서버(30)는 인증용가상코드생성수단(20)을 통해 인증용가상코드를 수신하여 사용자 인증을 요청받으면, 수신된 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 저장된 사용자 정보를 추출하여 사용자를 확인할 수 있게 된다.
일 실시예로, 서버(30)는 인증용카드(10)의 유형별로 상이한 저장위치탐색알고리즘을 포함하고 있어, 등록요청된 인증용카드(10)의 유형을 판단하고 적절한 저장위치탐색알고리즘 내에 인증용카드를 저장하게 된다. 그리고, 저장위치탐색알고리즘 내의 인증용카드 저장위치에 사용자 정보(인증용카드를 소유한 사용자의 정보)를 저장한다.
일 실시예에 따라, 인증용가상코드가 제1코드와 제2코드의 결합으로 생성된 경우, 서버(30)는 제1코드와 제2코드를 이용하여 저장위치탐색알고리즘 내에서 인증용카드 저장위치를 탐색하게 된다. 예를 들어, 제1코드는 저장위치탐색알고리즘 내에서 인증용카드의 저장위치탐색의 시작지점을 설정하는 코드이고, 제2코드는 특정한 탐색방식에 따라 시작지점으로부터 인증용카드 저장위치로의 탐색경로를 설정하는 코드일 수 있다.
도 6에 도시된 바와 같이, 서버(30)는 제1코드에 대응하는 위치를 시작지점으로 설정하고, 제2코드에 적용된 탐색방식에 따라 제2코드를 기반으로 k각형의 배치상태에서의 인증용카드 저장위치 또는 인증용카드 저장위치에 매칭된 지점(즉, k각형의 특정한 꼭지점)을 탐색한다. 저장위치는 k각형의 각각의 꼭지점에 매칭된다. 제1코드 트랙(즉, 제1트랙)과 k각형이 대응되는 지점이 제1코드에 대응하는 저장위치 탐색시작지점이 된다. 서버(30)는 탐색시작지점에서 제2코드를 기반으로 인증용카드 저장위치의 매칭지점을 탐색한다.
제2코드를 기반으로 k각형에서 저장위치를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 일 예로, 서버(30)는 k각형이 접한 제1트랙 상의 위치에서 제2코드에 상응하는 각도(예를 들어, k각형의 꼭지점을 향하도록 180도를 MN개로 분할한 특정한 각도)로 지시함에 따라, 인증용가상코드를 기반으로 인증용카드가 저장된 저장위치인 k각형의 꼭지점을 탐색할 수 있다.
또한, 다른 예로, k각형이 제1트랙 상의 제1코드에 대응하는 지점에 접한 상태에서, 서버(30)는 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 MN개로 분할하고, 각각의 각도를 MN개의 제2코드에 매칭한다. 이때, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 특정개수의 단위각도(즉, 360도/MN)를 이동한 선의 방향은 k각형의 특정한 꼭지점이 된다. 따라서, 특정한 각도에 대응하는 제2코드가 수신되면, 서버(30)는 해당 각도 방향에 위치한 꼭지점을 탐색할 수 있다.
또한, 다른 예로, 제2코드의 특정 자리를 각도산출 방향을 결정하는 것으로 사용할 수 있다. 즉, N개(N은 자연수)의 문자를 이용하여 제2코드를 생성하는 경우, 1개의 자리(Digit)로 각도 측정방향을 결정할 수 있다. 예를 들어, 서버(30)는 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 분할하여 각각의 각도에 제2코드를 매칭하는 경우, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 좌측 방향으로 측정되는 각도인지 우측 방향으로 측정되는 각도인지를 1개의 자리(Digit)의 값으로 결정할 수 있다.
일 예로, 저장위치탐색알고리즘은, k각형 상의 각 꼭지점에 각도 측정방향에 따라 다른 2개의 제2코드가 하나의 꼭지점에 배정할 수 있다. 즉, 하나의 꼭지점에 내각으로 도달 시와 외각으로 도달 시에 다른 제2코드와 매칭되고, 다른 인증용카드의 저장위치가 연결될 수 있다. 다른 일 예로, 저장위치탐색알고리즘은, N개(N은 자연수)의 문자를 이용하여 제2코드를 생성하는 경우에 N-1개로 전체각도(예를 들어, 중심각을 기준으로 분할하는 경우 360도)의 반에 대해 매칭하고 1개 자리를 이용하여 각 꼭지점에 도달하기 위한 각도 적용방향을 결정할 수 있다.
제2코드를 기반으로 k각형에서 저장위치를 탐색하는 방식은 이에 한정되지 아니하고, 제2코드에 상응하는 k각형 상의 지점과 제1트랙 상의 접점 사이를 특정한 비율로 나누는 지점을 저장위치로 탐색하는 방식 등의 다양한 방식이 적용될 수 있다.
다른 일 실시예에 따라, 인증용가상코드가 단위카운트마다 변경되는 제1코드 및 제2코드를 포함하는 경우, 제1코드는 서버(30)에서 인증용카드 발급을 시작한 최초시점으로부터 경과된 단위카운트를 기반으로 생성되고, 제2코드는 각 사용자가 인증용가상코드생성수단(20)에 설치된 전용프로그램(21)을 통해 인증용카드를 등록한 시점으로부터 경과된 단위카운트를 기반으로 생성되는 것이다. 이때, 단위카운트는 특정한 시간간격으로 설정되어 시간간격이 경과됨에 따라 변경되는 것이다.
도 7에 도시된 바와 같이, 저장위치탐색알고리즘은 인증용가상코드를 구성하는 복수의 세부코드를 기반으로 트랙상을 이동하여 인증용카드 저장위치에 매칭된 지점으로 이동하는 것이다.
구체적으로, 인증용가상코드가 특정 기업에서 인증용카드 기반의 서비스를 구동함에 따라 저장위치탐색알고리즘이 시작된 초기시점으로부터 경과된 단위카운트를 기반으로 제1코드와, 각 사용자의 인증용카드(10)가 등록된 시점으로부터 경과된 단위카운트를 기반으로 생성된 제2코드를 포함하는 경우, 도 7에서와 같이, 서버(30)는 제1코드에 대응되는 코드값이 매칭된 트랙상의 카운트를 탐색시작지점으로 설정하고, 제2코드에 상응하는 카운트값만큼 상기 탐색시작지점으로부터 트랙을 따라서 회귀하여 서버(30)에 인증용카드(10)를 등록한 시점의 트랙상의 지점(즉, 인증용카드 저장위치)을 탐색한다. 예를 들어, 서버가 제1코드용 트랙에서 인증용가상코드 내의 제1코드가 부여된 지점(또는 카운트)를 탐색하여 탐색시작지점을 설정하고, 탐색시작지점으로부터 역방향으로 제2코드용 트랙을 배치하여 인증용가상코드 내의 제2코드가 부여된 지점(또는 카운트)를 탐색하여 제1코드용 트랙 상에서 인증용카드가 등록된 지점(또는 카운트)를 추출한다. 또한, 예를 들어, 서버(30)가 인증용가상코드 내의 제1코드를 기반으로 탐색시작지점을 설정하고, 인증용가상코드 내의 제2코드에 제2함수의 역함수를 적용함에 따라 산출된 카운트값만큼 회귀하여 인증용카드 등록시점에 대응되는 지점을 탐색한다.
이후, 단계 S300에서, 서버(30)는 탐색된 상기 인증용카드 저장위치에 매칭되어 저장된 사용자 정보를 추출하여 사용자를 확인한다. 즉, 인증용카드(10)가 서버(30)에 등록된 후, 서버(30)는 인증용가상코드생성수단(20)을 통해 인증용가상코드를 수신하여 사용자 인증을 요청받으면, 수신된 인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 저장된 사용자 정보를 추출하여 사용자를 확인할 수 있게 된다.
구체적으로, 서버(30)는 탐색된 인증용카드의 저장위치에 매칭되어 저장된 사용자 정보를 추출한다. 즉, 서버(30)는 저장위치탐색알고리즘 내의 각각의 인증용카드 저장위치에 해당 인증용카드를 사용하는 사용자 정보를 저장하고 있으므로, 서버(30)는 저장위치탐색알고리즘 내에서 특정 인증용카드의 저장위치에 매칭되어 저장된 특정 사용자 정보를 추출할 수 있다.
이후, 단계 S400에서, 서버(30)가 상기 인증용가상코드가 수신된 시점을 기반으로 인증용가상코드를 검증한다. 구체적으로, 서버(30)는 수신된 상기 인증용가상코드의 수신 시점과 상기 인증용가상코드생성용 프로그램에서 인증용가상코드생성함수를 이용하여 생성된 상기 인증용가상코드의 생성 시점을 비교하여, 도 8에 도시된 바와 같이, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단할 수 있다.
일 실시예로, 금융거래시 사용자 인증을 수행하는 경우, 서버(30)는 저장위치탐색알고리즘 내에서 인증용가상코드의 수신 시점과 생성 시점을 비교함으로써, 금융거래시 사용자 인증을 요청한 사용자가 본인의 인증용카드를 이용해 현재 시점에 사용자 인증을 요청했는지의 여부를 확인할 수 있다.
다른 일 실시예로, 출입요청시 사용자 인증을 수행하는 경우, 서버(30)는 저장위치탐색알고리즘 내에서 인증용가상코드의 수신 시점과 생성 시점을 비교함으로써, 출입요청시 사용자 인증를 요청한 사용자가 본인의 인증용카드를 이용해 현재 시점에 사용자 인증을 요청했는지의 여부를 확인할 수 있다.
구체적인 예로, 사용자가 사용자 단말을 이용하여 사용자 인증을 요청하면, 사용자 단말에 내장 또는 설치된 전용프로그램은 인증용가상코드생성함수를 이용하여 요청 시점(즉, 생성 시점)에 해당하는 카운트 값을 기반으로 인증용가상코드(구체적으로, 제2코드)를 생성한다. 일 실시예로, 복수의 세부코드 중 하나의 세부코드(예를 들어, 제2코드)는 생성 시점을 시드 데이터로 하는 OTP 함수를 이용하여 생성될 수 있다. 즉, 제2코드 내에 OTP 코드가 포함되어 생성될 수 있다.
이후, 생성된 인증용가상코드는 서버로 제공되며, 서버는 인증용가상코드생성함수 또는 인증용가상코드생성함수에 매칭되는 저장위치탐색알고리즘을 이용하여 복수의 세부코드를 추출한다. 그리고, 복수의 세부코드 중 하나의 세부코드(예를 들어, 제2코드)를 통해 OTP 코드를 추출하고, OTP 코드를 통해 인증용가상코드가 생성된 시점을 추출하게 된다.
이후, 트랙 상에서 서버가 인증용가상코드를 수신한 시점과 사용자 단말에서 인증용가상코드가 생성된 시점을 비교하여, 인증용가상코드가 현재 시점에 생성된 코드인지를 검증할 수 있게 된다. 즉, 서버가 인증용가상코드를 수신한 시점으로부터 기 설정된 카운트 값을 포함하는 범위 내에 인증용가상코드의 생성 시점이 포함되면, 해당 인증용가상코드는 현재 시점에 생성된 코드인 것으로 검증되는 것이다.
단계 S500에서, 서버(30)는 인증용가상코드의 생성 시점이 수신 시점으로부터의 일정 범위 내에 포함되면, 인증용가상코드가 정상적인 코드인 것으로 판단하여 사용자 인증을 완료한다.
일 실시예로, 금융거래 시의 사용자 인증의 경우, 서버(30)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 서버(30)는 사용자인증승인 메시지를 금융사 서버로 전송하게 된다. 이에 따라, 금융사 서버는 사용자가 금융거래를 계속 진행할 수 있도록 승인할 수 있다. 다른 일 실시예로, 출입요청 시의 사용자 인증의 경우, 서버(30)에 의해 사용자가 확인되고, 인증용가상코드가 정상적으로 생성된 것인지 검증이 완료되면, 서버(30)는 사용자인증승인 메시지를 보안 시스템 관리 서버로 전송하게 된다. 이에 따라, 관리 서버는 사용자가 보안 영역으로 들어올 수 있도록 승인할 수 있다.
본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법은 서버가 인증용카드를 보유한 사용자의 사용자 정보 및 인증용카드데이터를 이용하여 인증용카드를 등록하는 단계를 더 포함할 수 있다.
즉, 서버(30)는 사용자에 의해 인증용카드가 등록 요청된 시점을 기반으로 저장위치탐색알고리즘 내에 특정한 인증용카드 저장위치를 탐색하고, 탐색된 인증용카드 저장위치에 인증용카드의 등록을 요청한 사용자 정보(즉, 인증용카드를 보유한 사용자 정보)를 저장함으로써 인증용카드 등록을 수행할 수 있다. 이때, 사용자 정보는 인증용가상코드생성 전용 프로그램이 내장 또는 설치된 사용자 단말을 통해 사용자에 의해 직접 입력되는 정보일 수도 있고, 인증용가상코드생성 전용 프로그램의 사용자 로그인정보를 기반으로 생성되는 정보일 수도 있다. 이때, 일 실시예로, 인증용카드가 사용자에게 발급되기 전에, 발급 예정인 인증용카드가 서버 내에 미리 등록된다. 이후, 사용자가 해당 인증용카드를 발급받아 사용자 단말에 내장 또는 설치된 전용프로그램을 통해 사용 등록을 요청하면, 서버 내에서 해당 인증용카드가 활성화된다. 활성화된 카드는 인증용가상코드생성함수 내에서 카운트가 부여되고, 이에 따라 사용자가 해당 인증용카드를 이용하여 사용자 인증을 요청할 수 있게 된다.
구체적으로, 전용프로그램(21)은 인증용카드 등록 시에 인증용카드(10)로부터 시리얼번호 또는 인증용카드번호를 포함하는 인증용카드데이터를 수신한다. 또한, 전용프로그램(21)은 인증용카드 등록 시에 사용자로부터 사용자 정보를 입력받거나, 사용자의 전용프로그램(21) 로그인 정보를 기반으로 사용자 정보를 생성한다. 그 후, 전용프로그램(21)은 인증용카드번호와 사용자 정보를 서버(30)로 전송한다. 서버(30)가 특정카운트에 인증용카드(10)를 등록함에 따라, 전용프로그램(21)은 서버(30)로부터 인증용가상코드생성함수 또는 인증용가상코드생성함수를 특정하기 위한 설정데이터를 수신한다. 이를 통해, 전용프로그램(21)은 서버(30) 내에 인증용카드가 등록된 특정카운트 탐색이 가능한 인증용가상코드를 생성하는 인증용가상코드생성함수를 포함한다.
일 실시예로, 인증용카드가 금융거래 시에 사용되는 인증용카드인 경우, 서버(30)는 사용자 단말에 포함된 전용프로그램(21)으로부터 등록 요청을 받는다. 즉, 사용자는 인증용카드(10)를 금융사로부터 제공받아서 사용자 단말(20)에 내장 또는 설치된 전용프로그램(21)에 인증용카드(10)를 등록하고, 전용프로그램(21)은 서버(30)로 인증용카드데이터 및 사용자 정보를 전송하여 등록한다.
예를 들어, 카드사는 사용자에게 신용카드를 발급하기 전에 해당 카드를 카드사 서버 내에 등록하고, 이후에 사용자에 의해 등록 요청이 수신되면, 해당 카드를 활성화시킬 수 있다. 이에 따라, 사용자는 금융거래용 인증용카드를 이용하여 일반적인 금융거래도 수행할 수 있고, 금융거래 시의 사용자 인증도 수행할 수 있게 된다.
구체적인 예로, 사용자가 금융거래용 인증용카드를 이용하여 일반적인 금융거래를 수행하는 경우, 오프라인에서 물건을 구매했을 때 신용카드(또는 체크카드)를 이용하여 결제를 진행하는 것과 동일하다. 반면에, 사용자가 금융거래용 인증용카드를 이용하여 온라인 뱅킹 등을 위한 사용자 인증을 수행하는 경우, 사용자는 사용자 단말에 금융거래용 인증용카드를 태깅하여 사용자 단말에 내장 또는 설치된 전용프로그램(21)이 인증용가상코드를 생성할 수 있게 한다. 이후, 사용자는 생성된 인증용가상코드를 이용하여 사용자 인증을 완료할 수 있게 된다.
다른 일 실시예로, 인증용카드가 출입요청 시에 사용되는 인증용카드인 경우, 서버(30)는 사용자 단말에 포함된 전용프로그램(21)으로부터 등록 요청을 받는다. 즉, 사용자는 인증용카드(10)를 보안 영역 또는 시스템을 관리하는 관리자로부터 제공받아서 사용자 단말(20)에 내장 또는 설치된 전용프로그램(21)에 인증용카드(10)를 등록하고, 전용프로그램(21)은 서버(30)로 인증용카드데이터 및 사용자 정보를 전송하여 등록한다.
예를 들어, 회사는 직원에게 출입증을 발급하기 전에 해당 출입증을 회사 서버 내에 등록하고, 이후에 직원에 의해 등록 요청이 수신되면, 해당 카드를 활성화시킬 수 있다. 이에 따라, 사용자는 출입용 인증용카드를 이용하여 일반적인 출입을 수행할 수 있고, 출입 시의 사용자 인증도 수행할 수 있게 된다.
구체적인 예로, 사용자가 출입용 인증용카드를 이용하여 일반적인 출입을 수행하는 경우, 출입용 기기에 인증용카드를 태깅하여 특정공간으로의 출입을 수행할 수 있다. 반면에, 사용자가 출입용 인증용카드를 이용하여 보안영역에 출입하기 위한 사용자 인증을 수행하는 경우, 보안접근이 필요한 오프라인 출입공간에 진입 시, 사용자는 출입용 인증용카드를 전용프로그램이 실행된 사용자 단말에 태깅한 후, 전용프로그램에서 생성된 인증용가상코드를 NFC(Near Field Communication), QR 코드 등으로 출력하여 출입을 허가받을 수 있게 된다. 또한, 보안접근이 필요한 온라인 시스템에 로그인 시, 사용자는 출입용 인증용카드의 태깅을 통해 생성된 인증용가상코드를 해당 페이지에 직접 입력하여 로그인을 수행할 수 있게 된다.
이상에서 전술한 본 발명의 일 실시예에 따른 인증용가상코드를 이용한 사용자 인증 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
10 : 인증용카드
100 : 인증용카드장치
110 : IC 칩
120 : 통신부
20 : 인증용가상코드생성수단
200 : 인증용가상코드생성장치
210 : 세부코드생성부
220 : 인증용가상코드생성부
230 : 인증용가상코드제공부
30 : 서버
300 : 인증용가상코드검증장치
310 : 인증용가상코드수신부
320 : 세부코드추출부
330 : 저장위치탐색부
340 : 사용자정보추출부
350 : 인증용가상코드검증부
360 : 사용자인증승인부

Claims (10)

  1. 서버가 보안 시스템의 관리 서버로부터 접근인증용가상코드를 수신하되, 상기 접근인증용가상코드는 인증용카드에서 제공된 카드데이터를 기반으로, 인증용가상프로그램에 포함된 인증용가상코드생성함수에 의해 생성되는 것인, 접근인증용가상코드수신단계;
    상기 서버가 상기 접근인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드가 등록된 저장위치를 탐색하되, 상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것으로서, 상기 접근인증용가상코드 내의 적어도 하나의 세부코드를 기반으로 상기 저장위치를 탐색하는 것인, 저장위치탐색단계; 및
    상기 서버가 상기 저장위치에 매칭되어 저장된 사용자 정보를 추출하여, 상기 사용자를 확인하는 단계;
    상기 서버가 접근인증용가상코드가 수신된 시점을 기반으로 상기 접근인증용가상코드를 검증하는 단계; 및
    상기 서버가 접근인증용가상코드의 정상 코드인 것으로 판단되면, 상기 보안 시스템의 관리 서버로 상기 사용자에 대한 접근 승인을 요청하는 단계를 포함하고,
    상기 접근인증용가상코드는 제1코드 및 제2코드를 포함하고,
    상기 제1코드 및 제2코드는 단위카운트마다 변경되어 생성되는 것이고,
    상기 단위카운트는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며,
    상기 제1코드는 상기 인증용가상코드생성함수가 구동된 초기시점으로부터 경과된 단위카운트를 기반으로 생성되고,
    상기 제2코드는 특정한 사용자의 인증용카드가 등록된 시점으로부터 경과된 단위카운트를 기반으로 생성되는 것인,
    인증용가상코드를 이용한 사용자 접근 관리 방법.
  2. 제1항에 있어서,
    상기 접근인증용가상코드는,
    상기 인증용카드에 포함된 상기 카드데이터가 상기 인증용가상코드생성용 프로그램으로 제공된 시간데이터 또는 상기 인증용카드를 상기 인증용가상코드생성용 프로그램에 포함된, 인증용가상코드생성수단에 태깅하여 사용자 인증이 요청된 시간데이터를 기반으로 생성되는 것인,
    인증용가상코드를 이용한 사용자 접근 관리 방법.
  3. 제2항에 있어서,
    상기 접근인증용가상코드는,
    상기 카드데이터 내에 포함된 인증용카드 시리얼번호와 상기 인증용가상코드생성용 프로그램 내에 포함된 시리얼번호를 조합한 조합시리얼번호를 기반으로 하여 생성되는 것인,
    인증용가상코드를 이용한 사용자 접근 관리 방법.
  4. 제1항에 있어서,
    상기 서버가 인증용카드를 보유한 사용자의 사용자 정보 및 상기 카드데이터를 이용하여 인증용카드를 등록하는 단계;를 더 포함하며,
    상기 인증용카드를 등록하는 단계는,
    상기 서버가 인증용카드 등록 시점을 기반으로 상기 저장위치탐색알고리즘 내에 특정한 인증용카드 저장위치를 탐색하고, 탐색된 상기 저장위치에 상기 사용자 정보를 저장하여 등록을 완료하는,
    인증용가상코드를 이용한 사용자 접근 관리 방법.
  5. 제1항에 있어서,
    상기 접근은, 보안 접근이 필요한 웹사이트의 로그인 및 오프라인상의 특정 공간으로의 출입 중 적어도 하나를 포함하는,
    인증용가상코드를 이용한 사용자 접근 관리 방법.
  6. 제1항에 있어서,
    상기 접근인증용가상코드를 검증하는 단계는,
    상기 서버가 수신된 상기 접근인증용가상코드의 수신 시점과 상기 인증용가상코드생성용 프로그램에서 인증용가상코드생성함수를 이용하여 생성된 상기 접근인증용가상코드의 생성 시점을 비교하여, 상기 생성 시점이 상기 수신 시점으로부터 오차 범위 내에 포함된 경우 수신된 상기 접근인증용가상코드가 정상 코드인 것으로 판단하는,
    인증용가상코드를 이용한 사용자 접근 관리 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 저장위치탐색단계는,
    상기 서버가 상기 제1코드를 기반으로, 상기 저장위치에 관한 탐색시작지점을 결정하고, 상기 탐색시작지점으로부터 상기 제2코드를 기반으로 결정된 탐색방식에 따라 상기 인증용카드의 저장위치를 탐색하는 것인,
    인증용가상코드를 이용한 사용자 접근 관리 방법.
  9. 카드데이터를 포함하는 인증용카드장치-상기 카드데이터는 상기 인증용카드장치의 제작 시에 상기 인증용카드장치에 부여된 특정한 데이터임-;
    상기 인증용카드장치로부터 상기 카드데이터를 수신하고, 상기 카드데이터 및 인증용가상코드생성함수를 기반으로 접근인증용가상코드를 생성하여 보안 영역으로의 접근을 관리하는 보안 시스템의 관리 서버로 송신하는 인증용가상코드생성수단;
    상기 관리 서버로부터 제공된 접근인증용가상코드를 수신하고, 상기 접근인증용가상코드를 기반으로 저장위치탐색알고리즘 내에 상기 인증용카드장치가 등록된 저장위치를 탐색하고-상기 저장위치탐색알고리즘은 상기 인증용가상코드생성함수에 매칭되는 것으로서, 상기 접근인증용가상코드 내의 적어도 하나의 세부코드를 기반으로 상기 저장위치를 탐색하는 것임-, 상기 저장위치에 매칭되어 저장된 사용자 정보를 추출하여, 상기 사용자를 확인하고, 상기 접근인증용가상코드가 수신된 시점을 기반으로 상기 접근인증용가상코드를 검증하고, 상기 서버가 접근인증용가상코드의 정상 코드인 것으로 판단되면, 상기 보안 시스템의 관리 서버로 상기 사용자에 대한 접근 승인을 요청하는 검증 서버;를 포함하고,
    상기 접근인증용가상코드는 제1코드 및 제2코드를 포함하고,
    상기 제1코드 및 제2코드는 단위카운트마다 변경되어 생성되는 것이고,
    상기 단위카운트는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것이며,
    상기 제1코드는 상기 인증용가상코드생성함수가 구동된 초기시점으로부터 경과된 단위카운트를 기반으로 생성되고,
    상기 제2코드는 특정한 사용자의 인증용카드장치가 등록된 시점으로부터 경과된 단위카운트를 기반으로 생성되는 것인,
    인증용가상코드를 이용한 사용자 접근 관리 시스템.
  10. 제9항에 있어서,
    상기 인증용카드장치는,
    접근 시의 태그와 사용자 인증 시의 태그를 구분하는 판단부;를 더 포함하며, 상기 판단부에 의해 접근 시의 태그로 판단되는 경우, 상기 인증용카드장치의 IC 칩에 포함된 접근을 위한 식별정보를 보안 장치로 제공하고, 상기 판단부에 의해 사용자 인증 시의 태그로 판단되는 경우, 상기 접근인증용가상코드를 생성하기 위한 인증용카드장치의 카드데이터를 상기 인증용가상코드생성수단으로 제공하는,
    인증용가상코드를 이용한 사용자 접근 관리 시스템.
KR1020210019806A 2018-08-09 2021-02-15 인증용가상코드를 이용한 사용자 인증 방법 및 시스템 KR102363940B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220018381A KR102525471B1 (ko) 2018-08-09 2022-02-11 인증용가상코드를 이용한 사용자 접근 관리 방법 및 시스템

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020180093349 2018-08-09
KR20180093349 2018-08-09
KR1020190071944A KR102217816B1 (ko) 2018-08-09 2019-06-18 인증용가상코드를 이용한 사용자 인증 방법 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190071944A Division KR102217816B1 (ko) 2018-08-09 2019-06-18 인증용가상코드를 이용한 사용자 인증 방법 및 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220018381A Division KR102525471B1 (ko) 2018-08-09 2022-02-11 인증용가상코드를 이용한 사용자 접근 관리 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20210022018A KR20210022018A (ko) 2021-03-02
KR102363940B1 true KR102363940B1 (ko) 2022-02-16

Family

ID=69414979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210019806A KR102363940B1 (ko) 2018-08-09 2021-02-15 인증용가상코드를 이용한 사용자 인증 방법 및 시스템

Country Status (3)

Country Link
EP (2) EP3828799B1 (ko)
KR (1) KR102363940B1 (ko)
WO (1) WO2020032498A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4354800A3 (en) * 2020-02-24 2024-06-26 SSenStone Inc. Method, program, and device for authenticating user setting information by using virtual code
WO2022186653A1 (ko) * 2021-03-04 2022-09-09 주식회사 센스톤 스마트 카드 장치, 데이터 일치 여부 판단을 통해 가상보안코드를 생성하는 장치 및 그 방법
KR102502339B1 (ko) * 2021-03-04 2023-02-23 주식회사 센스톤 Nfc를 이용한 카드데이터 기반의 가상보안코드 생성을 위한 단말기, 카드 장치 및 그 방법
WO2022186605A1 (ko) * 2021-03-04 2022-09-09 주식회사 센스톤 스마트 카드 장치, 인증용가상코드 생성 장치, 이를 이용한 인증용가상코드 생성 방법 및 인증용가상코드 검증 서버
KR102607806B1 (ko) 2021-07-14 2023-12-01 정연우 실시간 위치 증명 기반 블록체인 인증을 이용한 사용자 인증 시스템 및 이체 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080319905A1 (en) * 2007-06-25 2008-12-25 Mark Carlson Secure mobile payment system
US20090048971A1 (en) * 2007-08-17 2009-02-19 Matthew Hathaway Payment Card with Dynamic Account Number

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100213188B1 (ko) * 1996-10-05 1999-08-02 윤종용 사용자 인증 장치 및 방법
US6000832A (en) * 1997-09-24 1999-12-14 Microsoft Corporation Electronic online commerce card with customer generated transaction proxy number for online transactions
KR100645401B1 (ko) * 2006-05-01 2006-11-15 주식회사 미래테크놀로지 휴대폰에서의 시간동기 방식 오티피 발생장치와 방법
FR2911743B1 (fr) * 2007-01-23 2009-04-24 Ncryptone Sa Dispositif portable d'authentification.
US8627104B2 (en) * 2011-04-28 2014-01-07 Absio Corporation Secure data storage
KR101316466B1 (ko) 2012-11-20 2013-10-08 신한카드 주식회사 다이나믹 트랙 2 정보를 이용한 모바일 결제 시스템 및 방법
KR20150005788A (ko) * 2013-07-05 2015-01-15 주식회사 비즈모델라인 사용자 키 값을 이용한 사용자 인증 방법
KR101542111B1 (ko) * 2013-12-20 2015-08-12 주식회사 씽크풀 카드를 이용한 결제방법, 이를 위한 디지털 시스템, 및 결제측 시스템
KR101621254B1 (ko) * 2014-08-27 2016-05-31 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
KR101652966B1 (ko) * 2015-02-13 2016-09-01 (주)엠앤스마트 Rf 카드와 스마트 폰의 페어링을 이용한 스마트 인증 시스템 및 스마트 인증 방법
KR101675927B1 (ko) * 2015-10-08 2016-11-14 주식회사 지씨엠씨 신용 조회 단말기, 결제 관리 서버, 결제 관리 방법, 결제 단말, 결제 단말의 동작방법, 결제 관리를 위해 매체에 저장된 컴퓨터 프로그램 및 신용 조회 단말기

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080319905A1 (en) * 2007-06-25 2008-12-25 Mark Carlson Secure mobile payment system
US20090048971A1 (en) * 2007-08-17 2009-02-19 Matthew Hathaway Payment Card with Dynamic Account Number

Also Published As

Publication number Publication date
KR20210022018A (ko) 2021-03-02
EP3828799A1 (en) 2021-06-02
EP3828799B1 (en) 2024-09-25
EP4421717A2 (en) 2024-08-28
EP3828799A4 (en) 2022-06-08
WO2020032498A1 (ko) 2020-02-13

Similar Documents

Publication Publication Date Title
KR102525471B1 (ko) 인증용가상코드를 이용한 사용자 접근 관리 방법 및 시스템
KR102363940B1 (ko) 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
KR102005495B1 (ko) 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램
US20190050849A1 (en) System, method, and program for providing financial transaction by virtual card number, virtual card number generating device, and virtual card number verifying device
KR102501750B1 (ko) 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
JP2024099552A (ja) 仮想認証コード基盤の手続き承認装置及びその方法
KR20240121701A (ko) 가상인증코드 기반의 권한 승인 방법 및 장치
KR20230008657A (ko) 다른 용도의 인증용가상코드 생성 방법 및 장치
EP3968253B1 (en) Method, program, and device for authenticating user setting information by using virtual code
US20220108040A1 (en) Method, program, and device for authenticating user setting information by using virtual code
KR102479730B1 (ko) 스마트 카드 장치, 인증용가상코드 생성 장치, 이를 이용한 인증용가상코드 생성 방법 및 인증용가상코드 검증 서버
JP7338043B2 (ja) 認証用仮想コードを用いたユーザ認証方法及びそのためのシステム
JP7509923B2 (ja) スマートカード装置、認証用仮想コード生成装置、これを用いた認証用仮想コード生成方法及び認証用仮想コード検証サーバ

Legal Events

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