WO2023167567A1 - 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법 - Google Patents

인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법 Download PDF

Info

Publication number
WO2023167567A1
WO2023167567A1 PCT/KR2023/002994 KR2023002994W WO2023167567A1 WO 2023167567 A1 WO2023167567 A1 WO 2023167567A1 KR 2023002994 W KR2023002994 W KR 2023002994W WO 2023167567 A1 WO2023167567 A1 WO 2023167567A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
virtual code
user terminal
service server
access
Prior art date
Application number
PCT/KR2023/002994
Other languages
English (en)
French (fr)
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 KR1020230028299A external-priority patent/KR20230131445A/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Publication of WO2023167567A1 publication Critical patent/WO2023167567A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/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
    • 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/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
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/50Finance; Insurance
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y20/00Information sensed or collected by the things
    • G16Y20/40Information sensed or collected by the things relating to personal data, e.g. biometric data, records or preferences
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/10Detection; Monitoring

Definitions

  • the present disclosure relates to an apparatus and method for preventing hacking through authentication based on a virtual code for authentication.
  • Code type data is used in many fields. Not only card numbers and account numbers used for payment, but also IPIN numbers and resident registration numbers for user identification are code-type data.
  • OTP One Time Password
  • a separate OTP generating device is required, which is inconvenient.
  • OTP codes such as generating virtual security codes necessary for user authentication, but do not require a separate OTP generator and at the same time prevent seed data from being leaked. We need a way to increase security.
  • An object of the present disclosure is to provide a device and method for preventing hacking through authentication based on a virtual code for authentication.
  • a service server for preventing hacking through virtual code-based authentication for authentication is a communication module that communicates with a user's terminal and first authentication based on biometric information.
  • second authentication based on virtual code for authentication is performed for each of the plurality of access requests, and the second authentication is performed through
  • a processor for determining whether each of the plurality of access requests is a normal access is included, and the access request may be generated at the time of requesting a transaction or periodically.
  • the processor if it is determined that a specific access request among the plurality of access requests is an abnormal access, terminates the login session of the user terminal at the determined time point, and the first access from the user terminal after the time point. For , the first authentication may be performed.
  • the processor may proceed with a transaction based on transaction data included in the specific access request.
  • the virtual code for authentication may be generated in the user terminal based on IP address data connected to the user terminal at the time of receiving the access request.
  • the virtual code for authentication is generated in the user terminal based on a unique value assigned to the user terminal, and the unique value is generated by the processor when the user terminal registers with the service application or the user terminal. It may be created by the terminal.
  • a user terminal for preventing hacking through authentication based on a virtual code for authentication for achieving the above-described technical problem is to log in to a communication module and service application that communicates with the service server.
  • the service server is requested to perform first authentication based on biometric information, and after the login is completed, a plurality of access requests are sequentially transmitted to the service server, and a virtual code-based authentication for each of the plurality of access requests is performed.
  • a processor requesting execution of the second authentication may be included, and the access request may be generated at the time of requesting a transaction or periodically.
  • the login session of the user terminal is terminated at the determined time point, and the processor, after the time point For the first access to the service server, execution of the first authentication may be requested to the service server.
  • a transaction may proceed based on transaction data included in the specific access request.
  • the processor may generate the virtual code for authentication based on IP address data connected to the service server at the time of transmitting the access request.
  • the processor generates the virtual code for authentication based on a unique value assigned to a terminal in which the service application is installed, and the unique value is generated by the service server or stored in the processor when registering with the service application. may be produced by
  • a computer program stored in a computer readable recording medium for executing a method for implementing the present disclosure may be further provided.
  • a computer readable recording medium recording a computer program for executing a method for implementing the present disclosure may be further provided.
  • FIG. 1 is a diagram schematically illustrating a system for preventing hacking through authentication based on a virtual code for authentication using a virtual code for authentication according to the present disclosure.
  • FIG. 2 is a schematic configuration diagram of a service server and a user terminal for preventing hacking through virtual code-based authentication for authentication according to the present disclosure.
  • FIG. 3 is a flowchart of a method for preventing hacking through authentication based on a virtual code for authentication performed by a service server according to the present disclosure.
  • 4A and 4B are exemplary diagrams illustrating sequentially requesting a plurality of transactions using at least two cards according to the present disclosure.
  • 5A and 5B are exemplary diagrams for explaining authentication for first access after a login session is terminated according to the present disclosure.
  • FIG. 6 is an exemplary diagram for explaining a login session maintenance period according to the present disclosure.
  • FIG. 7 is a flowchart of a method for preventing hacking through authentication based on a virtual code for authentication performed by a user terminal according to the present disclosure.
  • the identification code is used for convenience of description, and the identification code does not explain the order of each step, and each step may be performed in a different order from the specified order unless a specific order is clearly described in context. there is.
  • the device includes all various devices capable of providing results to users by performing calculation processing.
  • the device may include all of a computer, a server device, and a portable terminal, or may be of any one type.
  • the computer may include, for example, a laptop computer, a desktop computer, a laptop computer, a tablet PC, a slate PC, and the like equipped with a web browser.
  • the server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, and a web server.
  • the portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes a Personal Communication System (PCS), a Global System for Mobile communications (GSM), a Personal Digital Cellular (PDC), a Personal Handyphone System (PHS), and a PDA.
  • PCS Personal Communication System
  • GSM Global System for Mobile communications
  • PDC Personal Digital Cellular
  • PHS Personal Handyphone System
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wide-Code Division Multiple Access
  • WiBro Wireless Broadband Internet
  • smart phone smart phone
  • wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs).
  • HMDs head-mounted-devices
  • a "character” is a component constituting a code, and includes all or part of uppercase alphabets, lowercase alphabets, numbers, and special characters.
  • code means a string in which characters are listed.
  • virtual code for authentication may mean a One Time Authentication Code (OTAC) that is temporarily generated for authentication of at least one of a user and a device.
  • OTAC One Time Authentication Code
  • virtual code generation function means a function that generates virtual code.
  • OTP one time password
  • the "detailed code generation function” means a function that generates each of the detailed codes constituting the virtual code.
  • the "detail code combining function” means a function that generates a virtual code by combining or combining a plurality of detailed codes.
  • a "unit count” is a unit defined as being set at a specific time interval and changed as the time interval elapses. For example, 1 count may be set to a specific time interval (eg, 1.5 seconds) and used.
  • storage location means a point (count) on a track corresponding to the time when user registration is requested.
  • access request may refer to an authentication request for maintaining the connection or proceeding with a transaction after a user terminal accesses (logs in) a service server.
  • an access request authentication request for maintaining connection
  • an access request may be transmitted to the service server periodically (for example, every minute), or an access request when a transaction is to be carried out.
  • Authentication request for transaction can be transmitted to the service server.
  • transaction is a term that includes both payment made through a service application and access to a secure area.
  • transaction is limited to the case of payment using a mobile card registered in a service application, but all contents described in the specification are described in a security area using an access card registered in a service application. It can also be applied when entering and exiting.
  • biometric authentication or code authentication
  • biometric authentication must be performed to make a transaction using a card
  • biometric authentication must be performed again when trying to make another transaction using another card (or the same card) immediately after logging in to the app.
  • FIG. 1 is a diagram schematically illustrating a system for preventing hacking through authentication based on a virtual code for authentication using a virtual code for authentication according to the present disclosure.
  • a system for preventing hacking through authentication based on a virtual code for authentication using a virtual code for authentication includes a service server 10, a user terminal 20, and an abnormal transaction detection system. (30). However, in some embodiments, the system may include fewer or more components than those shown in FIG. 1 .
  • the service server 10 is a server device that provides services related to finance, payment, and transaction to users through service applications.
  • the service server 10 may perform first authentication by comparing the biometric information received from the user terminal 20 with pre-stored biometric information of the user. If the two information matches, the user can log in to the service application and use the service.
  • first authentication for login has been described as using biometric information, it is not limited thereto, and information entered by the user when signing up (registration) for a service application or code information generated by an app may also be used for first authentication. there is.
  • the service server 10 may perform second authentication using a virtual code for authentication.
  • the access request may be generated at the time of transaction request or periodically (eg, every minute).
  • the service server 10 may perform the second authentication by verifying whether the virtual code for authentication is normally generated at the present time. Verification of the virtual code for authentication will be described later.
  • the service server 10 may perform a subsequent operation only for the access request for which the second authentication has been completed.
  • the user terminal 20 is a terminal device of a user who uses a service related to finance, payment, and transaction through a service application provided by the service server 10 .
  • the user terminal 20 may request a login request and first authentication based on biometric information to the service server 10 .
  • the user terminal 20 may log in to the service application.
  • the user terminal 20 may request access to the service server 10 and request second authentication based on a virtual code for authentication.
  • the access request may be generated at the time of transaction request or periodically (eg, every minute).
  • an operation for the content requested by the user terminal 20 may be performed.
  • a transaction corresponding to the access request may proceed.
  • an app execution operation corresponding to the access request may be performed.
  • the access request may include a virtual code for authentication and data related to app execution (eg, transaction data).
  • the virtual code for authentication may be generated in the user terminal 20 using one or more seed data.
  • the seed data may include a user-specific value, a device (user terminal or service application)-specific value, card data, and time data, but is not limited thereto.
  • the transaction data may include all transaction-related data requested by the user.
  • it may include card information, card company information, financial company information, user information, price information, product information, and seller information, but is not limited thereto.
  • a software development kit (SDK) related to a virtual code for authentication may be loaded in the service application.
  • the user terminal 20 may perform all operations related to the virtual code for authentication through the SDK loaded in the service application.
  • the fraud detection system (FDS) 30 may detect fraudulent transactions by interworking with the service server 10 .
  • the abnormal transaction detection system 30 may play a role of detecting requests from outside (hackers) other than normal users among access requests to the service server 10 and blocking them.
  • the abnormal transaction detection system 30 may not separately verify the access request through the second authentication. That is, verification to determine whether normal access can be performed can be performed only for the rest of the accesses, excluding the transaction request for which authentication is performed using the virtual code for authentication. As a result, since the abnormal transaction detection system 30 does not need to verify (selectively verify) all requests coming to the service server 10, resources can be efficiently utilized.
  • the abnormal transaction detection system 30 may be included in the service server 10 according to embodiments.
  • the service server 10, the user terminal 20, and the abnormal transaction detection system 30 may transmit and receive various types of data, signals, or information to each other through a communication network.
  • wireless LANs such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, and High Speed Downlink Packet Access (HSDPA).
  • a wired communication method such as communication method or Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coax), FTTC (Fiber to The Curb), FTTH (Fiber To The Home) may be used.
  • the communication network is not limited to the communication methods presented above, and may include all other types of communication methods that are widely known or will be developed in the future in addition to the above communication methods.
  • FIG. 2 is a schematic configuration diagram of a service server and a user terminal for preventing hacking through virtual code-based authentication for authentication according to the present disclosure.
  • the service server 10 may include a communication module 11 , a memory 12 , and a processor 13 .
  • the processor 13 may include a first authentication module 131 and a second authentication module 132 .
  • the service server 10 and the processor 13 may include fewer or more components than those shown in FIG. 2 .
  • the communication module 11 is used between the service server 10 and the user terminal 20, between the service server 10 and the abnormal transaction detection system 30, and between the service server 10 and an external device (not shown). , It may include one or more modules enabling wireless or wired communication between the service server 10 and an external server (not shown) and between the service server 10 and a communication network. For example, it may include at least one of a wired communication module, a wireless communication module, a short-distance communication module, and a location information module.
  • Various types of communication networks may be used as the communication network, for example, wireless communication methods such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, and HSDPA (High Speed Downlink Packet Access)
  • wireless communication methods such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, and HSDPA (High Speed Downlink Packet Access)
  • a wired communication method such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coax), FTTC (Fiber to The Curb), FTTH (Fiber To The Home) may be used.
  • the communication network is not limited to the communication methods presented above, and may include all other types of communication methods that are widely known or will be developed in the future in addition to the above communication methods.
  • Wired communication modules include not only various wired communication modules such as Local Area Network (LAN) modules, Wide Area Network (WAN) modules, or Value Added Network (VAN) modules, but also USB (Universal Serial Bus) ), high definition multimedia interface (HDMI), digital visual interface (DVI), recommended standard 232 (RS-232), power line communication, or plain old telephone service (POTS).
  • LAN Local Area Network
  • WAN Wide Area Network
  • VAN Value Added Network
  • USB Universal Serial Bus
  • HDMI high definition multimedia interface
  • DVI digital visual interface
  • RS-232 recommended standard 232
  • POTS plain old telephone service
  • wireless communication modules include global system for mobile communication (GSM), code division multiple access (CDMA), wideband code division multiple access (WCDMA), and universal mobile telecommunications system (UMTS). ), time division multiple access (TDMA), long term evolution (LTE), and a wireless communication module supporting various wireless communication schemes such as 4G, 5G, and 6G.
  • GSM global system for mobile communication
  • CDMA code division multiple access
  • WCDMA wideband code division multiple access
  • UMTS universal mobile telecommunications system
  • TDMA time division multiple access
  • LTE long term evolution
  • wireless communication module supporting various wireless communication schemes such as 4G, 5G, and 6G.
  • the short-range communication module is for short-range communication, and includes BluetoothTM, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, and Near Field Communication (NFC). Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and wireless USB (Wireless Universal Serial Bus) technologies may be used to support short-distance communication.
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • UWB Ultra Wideband
  • ZigBee Ultra Wideband
  • NFC Near Field Communication
  • Wi-Fi Wireless-Fidelity
  • Wi-Fi Direct Wireless USB (Wireless Universal Serial Bus) technologies may be used to support short-distance communication.
  • the memory 12 can store data supporting various functions of the service server 10, programs for operating the processor 13, and input/output data, and the service server 10 It can store a plurality of application programs (application programs or applications), data and commands for the operation of the service server 10 that are driven in the . At least some of these application programs may be downloaded from an external server through wireless communication.
  • the memory 12 is a flash memory type, a hard disk type, a solid state disk type, a silicon disk drive type, and a multimedia card micro type. micro type), card type memory (eg SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable EEPROM (EEPROM) It may include a storage medium of at least one type of a programmable read-only memory (PROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory 12 is separated from the present service server 10, but may be a database connected by wire or wirelessly.
  • the processor 13 is connected to the communication module 11 to perform an operation to prevent hacking through authentication based on a virtual code for authentication.
  • the processor 13 may perform the above-described operation using a memory for storing data for an algorithm or a program for reproducing the algorithm for controlling the operation of the components in the service server 10, and the data stored in the memory. there is. At this time, the memory and the processor 13 may be implemented as separate chips. Alternatively, the memory and the processor 13 may be implemented as a single chip.
  • the first authentication module 131 of the processor 13 may perform all operations related to first authentication based on biometric information.
  • the second authentication module 132 of the processor 13 may perform all operations related to the second authentication based on the virtual code for authentication.
  • the user terminal 20 may include a communication module 21 , a memory 22 , and a processor 23 .
  • the processor 23 may include an app execution module 231 , an access request module 232 and a virtual code generation module 233 .
  • the user terminal 20 and the processor 23 may include fewer or more components than those shown in FIG. 2 .
  • the communication module 21 is between the user terminal 20 and the service server 10, between the user terminal 20 and an external device (not shown), between the user terminal 20 and an external server (not shown), It may include one or more modules enabling wireless or wired communication between the user terminal 20 and the communication network.
  • it may include at least one of a wired communication module, a wireless communication module, a short-distance communication module, and a location information module. Descriptions of the communication network, the wired communication module, the wireless communication module, and the short-distance communication module are omitted because they overlap with those described above.
  • the memory 22 may store data supporting various functions of the user terminal 20 and programs for operating the processor 23, and may store input/output data, and may store the user terminal 20 It is possible to store a plurality of application programs (application programs or applications), data and commands for the operation of the user terminal 20 that are driven in the . At least some of these application programs may be downloaded from an external server through wireless communication.
  • the memory 22 may be a flash memory type, a hard disk type, a solid state disk type, a silicon disk drive type, or a multimedia card micro type. micro type), card type memory (eg SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable EEPROM (EEPROM) It may include a storage medium of at least one type of a programmable read-only memory (PROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory 22 is separated from the user terminal 20, but may be a database connected by wire or wirelessly.
  • the processor 23 may be connected to the communication module 21 to perform an operation to prevent hacking through authentication based on a virtual code for authentication.
  • the processor 23 may perform the above-described operation using a memory for storing data for an algorithm or a program for reproducing the algorithm for controlling the operation of the components in the user terminal 20, and the data stored in the memory. there is. At this time, the memory and the processor 23 may be implemented as separate chips. Alternatively, the memory and the processor 23 may be implemented as a single chip.
  • the app execution module 231 of the processor 23 may perform all operations related to the execution of service applications.
  • the access request module 232 of the processor 23 may perform all operations related to the access request.
  • the virtual code generation module 233 of the processor 23 may perform all operations related to virtual code generation.
  • the access request is described as an app execution request (transaction request) generated at each transaction request point, but is not limited thereto, and the access request may be an app execution request generated at predetermined intervals. Therefore, the contents disclosed below are all applicable even when the access request is a periodically generated app execution request.
  • the period may be set to 1 minute, but is not limited thereto.
  • FIG. 3 is a flowchart of a method for preventing hacking through authentication based on a virtual code for authentication performed by a service server according to the present disclosure.
  • 4A and 4B are exemplary diagrams illustrating sequentially requesting a plurality of transactions using at least two cards according to the present disclosure.
  • 5A and 5B are exemplary diagrams for explaining authentication for first access after a login session is terminated according to the present disclosure.
  • FIG. 6 is an exemplary diagram for explaining a login session maintenance period according to the present disclosure.
  • the processor 13 of the service server 10 may perform first authentication according to a login request from the user terminal 20 through the first authentication module 131 (S110).
  • the first authentication may mean user authentication based on biometric information.
  • the user may input biometric information by contacting his/her finger to the screen of the user terminal 20 for a certain period of time or longer, or by photographing his or her pupils or face through the camera of the user terminal 20 .
  • the input biometric information is transmitted to the service server 10 and used by the processor 13 to compare with previously stored biometric information of the user. If the two pieces of biometric information match, the processor 13 may determine that the user is a normal user and approve the log-in.
  • the processor 13 maintains the login session for the user within the service application installed on the user terminal 20 for a preset period of time.
  • the user can use the service application without further first authentication (without additional login) for a period during which the login session is maintained (eg, one hour).
  • the preset period ends, the login session is terminated and logged out of the service application, and the user logs in again to further use the service application.
  • the processor 13 of the service server 10 may sequentially receive a plurality of transaction requests from the logged-in user terminal 20 through the communication module 11 (S120).
  • the processor 13 may sequentially receive a plurality of transaction requests during the maintenance period of the login session from the user terminal 20 for which login is completed.
  • the plurality of transaction requests may be requests to proceed with each transaction by alternately using at least two cards among a plurality of cards of the user registered in the service application. That is, the user may register several cards in the service application and proceed with payment using different cards according to each situation.
  • the processor 13 sequentially receives three transaction requests from the user terminal 20 during the session maintenance period.
  • transaction request 1 is a request using card A
  • transaction request 2 is a request using card B
  • This is a request using card C
  • transaction request 3 may be a request using card C.
  • the processor 13 sequentially receives three transaction requests from the user terminal 20 during the session maintenance period.
  • transaction request 1 is a request using card A
  • transaction request 2 is a request using card B.
  • This is a request using card A
  • transaction request 3 may be a request using card A again.
  • the processor 13 of the service server 10 may perform second authentication on each of a plurality of transaction requests through the second authentication module 132 (S130).
  • the processor 13 may perform second authentication on each of the transaction requests received during the maintenance period of the login session, and determine whether each of the plurality of transaction requests is normally accessed through the second authentication.
  • the second authentication may mean user and device authentication based on a virtual code for authentication.
  • the virtual code for authentication may be generated in the user terminal 20 using one or more seed data.
  • the seed data may include a user-specific value, a device (user terminal or service application)-specific value, card data, and time data.
  • the user-specific value may include an ID set by the user when registering (subscribing) to a service application, a password, a resident registration number, and a member number assigned when registering (subscribing) to a service application.
  • the device-specific value is a value for identifying the user terminal 20 or a service application installed in the user terminal 20, and is generated by the processor 13 when registering (subscribing) to the service application and stored in the memory 12, and is stored in the user terminal 20. It may be provided to the terminal 20. However, it is not limited thereto, and according to an embodiment, the device-specific value may be generated by the user terminal 20 when registering (subscribing) to a service application, stored in the user terminal 20, and provided to the service server 10. .
  • the card data may include a card number and CVC number of a card selected for a transaction.
  • the time data may refer to time data at the time of requesting a transaction or generating a virtual code for authentication.
  • the virtual code for authentication may be generated using, as seed data, IP address data to which the user terminal 20 and the service server 10 are currently connected.
  • the user terminal 20 generates and transmits an OTAC-based virtual code for authentication using the IP address data as seed data, and the service server 10 receives the virtual code for authentication connected to the user terminal 20 Verification is performed using IP address information together. That is, when generating an OTP generated in the server to be included in the virtual code for authentication and compared with the received OTP, the IP address connected at the present time is used. Through this, when another device tries to steal the virtual code for authentication generated at the present time and use it for authentication, verification fails as the IP address connected between the user terminal 20 and the service server 10 changes, resulting in normal verification. You can authenticate non-access. Therefore, it is possible to prevent a man-in-the-middle attack in which a hacker approaches like a normal approach by stealing an authentication value in the middle.
  • a value uniquely generated or used only within the user terminal 20 upon connection between the server 10 and the user terminal 20 may be used as seed data, in addition to the IP address.
  • the virtual code for authentication may be generated based on the one or more seed data using a virtual code generating function.
  • the virtual code generation function may be started to run at the time of registering (subscribing) to the service application of the user.
  • a virtual code for authentication is generated using the same function for all transaction requests regardless of the card.
  • the virtual code generating function may start running at the time of registering the user's mobile card.
  • the virtual code for authentication for transaction request 1 using card A is generated using function A, which is started when card A is registered, and the virtual code for authentication for transaction request 2 using card B is activated when card B is registered. It can be created using the function B started.
  • the processor 13 verifies the virtual code for authentication generated for each transaction request through the second authentication module 132 to determine whether each transaction request is a normal access.
  • the processor 13 may verify the virtual code for authentication using a virtual code generating function used in generating the virtual code and a corresponding virtual code verifying function.
  • the virtual code verification function may start driving at the same time as the virtual code generating function starts driving. That is, when a user registers (subscribes) to a service application or registers a card, the virtual code generation function and the virtual code generation function corresponding to each other may start driving in the user terminal 20 and the service server 10, respectively.
  • the processor 13 compares the received seed data with pre-stored seed data using a virtual code verification function, and determines whether the virtual code for authentication is generated in a normal user terminal at the current time according to whether the two data match. can judge
  • the processor 13 searches for a storage location of the user-specific value or device-specific value based on the virtual code for authentication through the second authentication module 132 and extracts the user-specific value or device-specific value. and verifying by comparing the extracted unique value with the unique value included in the virtual code for authentication.
  • the processor 13 compares the time data at the time when the virtual code for authentication is received through the second authentication module 132 and the time data used as seed data of the virtual code for authentication to compare the virtual code for authentication with the time data. You can verify your code. When the two data are within an error range, the processor 13 may determine that the corresponding transaction request is a normal access.
  • the processor 13 of the service server 10 may proceed with a transaction for a transaction request determined to be normal through the second authentication (S140).
  • the processor 13 may proceed with a transaction based on transaction data included in the specific transaction request.
  • the transaction data may include card information, card company information, financial company information, user information, price information, product information, and seller information.
  • the processor 13 may request the payment server (eg, card company server) to proceed with the transaction through the communication module 11 based on the card information, card company information, and amount information included in the transaction data. there is.
  • the payment server eg, card company server
  • the processor 13 may provide progress information (eg, payment completion information) of a corresponding transaction to the user terminal 20 through the communication module 11 .
  • the processor 13 terminates the login session of the user terminal 20 at the determined time point, and after the time point the user terminal ( For the first access from 20), first or second authentication may be performed.
  • the processor 13 performs the first authentication through the first authentication module 131 according to the login request of the user terminal 20, and when it is confirmed that the user is a normal user (service subscriber) through the first authentication, the login session starts. do.
  • transaction request 1 is received from the user terminal 20 and second authentication is performed through the second authentication module 132 .
  • second authentication transaction request 1 is determined to be a normal request.
  • transaction request 2 is received again from the user terminal 20 and second authentication is performed through the second authentication module 132 . If transaction request 2 is determined to be an abnormal request through the second authentication, the processor 13 terminates the login session even if the maintenance period of the login session remains.
  • the processor 13 performs first authentication for login through the first authentication module 131, and the second authentication module 132 ) to perform the second authentication for the transaction.
  • first authentication is performed when the first access after the login session is terminated is a login request.
  • the processor 13 performs the first authentication through the first authentication module 131 according to the login request of the user terminal 20, and when it is confirmed that the user is a normal user (service subscriber) through the first authentication, the login session starts. do. After the login session starts, transaction request 1 is received from the user terminal 20 and second authentication is performed through the second authentication module 132 . Through the second authentication, transaction request 1 is determined to be a normal request. Thereafter, transaction request 2 is received again from the user terminal 20 and second authentication is performed through the second authentication module 132 . If transaction request 2 is determined to be an abnormal request through the second authentication, the processor 13 terminates the login session even if the maintenance period of the login session remains.
  • the processor 13 When a login request is received from the user terminal 20 after the login session is terminated, the processor 13 performs first authentication for login through the first authentication module 131 . Then, when the transaction request 3 is received from the user terminal 20, the second authentication is performed through the second authentication module 132.
  • the login session is terminated.
  • the login session may be started again and maintained for a preset period of time.
  • FIG. 7 is a flowchart of a method for preventing hacking through authentication based on a virtual code for authentication performed by a user terminal according to the present disclosure.
  • the processor 23 of the user terminal 20 may request the service server 10 to perform first authentication for login through the communication module 21 (S210).
  • the processor 23 of the user terminal 20 sequentially transmits a plurality of transaction requests to the service server 10 through the communication module 21, and requests to perform second authentication for each request. It can be requested (S220).
  • the processor 23 may request the service server 10 to perform first authentication based on biometric information in order to log in to a service application through the transaction request module 232 (or an authentication request module, although not shown). .
  • the processor 23 sequentially transmits a plurality of transaction requests to the service server 10 through the transaction request module 232 (or an authentication request module, although not shown), For each request, it is possible to request execution of second authentication based on a virtual code for authentication.
  • the processor 23 may transmit a plurality of transaction requests so that each transaction is performed by alternately using at least two of the plurality of cards of the user registered in the service application.
  • Each of the plurality of transaction requests may include a virtual code for authentication and transaction data.
  • the virtual code for authentication may be generated based on a unique value (at least one of a user-specific value and a device-specific value) given to a terminal in which a service application is installed, and the unique value is It may be generated by the service server 10 or by the processor 23 .
  • the method performed by the user terminal 20 shown in FIG. 7 is the same as the method performed by the service server 10 described above with reference to FIGS. The description is omitted.
  • first authentication based on biometric information is performed upon request for login
  • first authentication may also be performed for a first transaction request during a login session maintenance period.
  • normality of the first transaction request may be determined by first authentication
  • normality of second and subsequent transaction requests may be determined by second authentication.
  • the SDK installed in the service application can generate one or more detailed codes.
  • the detailed code refers to a part of the code constituting the virtual code for authentication.
  • the virtual code for authentication may consist only of the detailed code, or one or more detailed codes may be combined with the virtual security code generated by the OTP function to finalize the final code. It may be formed in the form of virtual code (OTAC).
  • OTP virtual security code
  • the SDK includes a virtual code generating function that generates a virtual code for authentication, and the virtual code generating function includes a detailed code generating function that generates one or more detailed codes and a detailed code combining function that generates a virtual code by combining the detailed codes. (i.e., rules for combining a plurality of detailed codes).
  • the virtual code generating function when the virtual code for authentication includes a plurality of detailed codes, the virtual code generating function generates a plurality of detailed codes using the plurality of detailed codes generating functions, and the plurality of detailed codes through the detailed code combining function. are combined in a preset combination to generate a virtual code for authentication.
  • a plurality of detailed codes have a correlation used by the service server 10 to search for a storage space of information capable of identifying a user or device. That is, the service server 10 has a search algorithm (storage space search algorithm), and the search algorithm extracts a plurality of detailed codes included in the virtual code for authentication, and based on the correlation of the plurality of detailed codes, The storage space of the unique value (identification information) given to the user or device is searched.
  • the search algorithm operates based on the correlation between the plurality of detailed codes from a waypoint corresponding to one or more detailed codes among the plurality of detailed codes, and the user or The storage location of the unique value of the device can be searched. At this time, the number of waypoints may be one or plural, and the number and order are not limited.
  • the plurality of detailed codes may include first codes and second codes
  • the SDK includes the first function and the second function as detailed code generating functions, Code and second code are generated.
  • the first code and the second code have a correlation for searching the storage space of the unique value of the user or device in the service server 10, but the SDK has a first function for generating the first code to increase security and
  • the second function for generating the second code may be included as the detailed code generating function, and data for correlation between the first code and the second code may not be included.
  • the first code and the second code may play respective roles for searching for the storage space of the unique value. That is, the first code may include information about the waypoint, and the second code may include information necessary for an operation capable of reaching the storage space of the eigenvalue from the waypoint.
  • the first code may be generated based on the first count
  • the second code may be generated based on the second count.
  • the first count is the number of unit counts that have elapsed from the initial point in time when the virtual code verification function is driven in the service server 10 to the point in time when the virtual code for authentication is generated
  • the second count is the unique value of the user or device. It may include the number of unit counts that have elapsed from the point of time stored in the service server 10.
  • the first function generating the first code is a function providing a specific code value corresponding to the first count
  • the second function generating the second code is a function providing a specific code value corresponding to the second count. am.
  • the service server 10 when the service server 10 receives the virtual code for authentication from the user terminal 20, the time data of receiving the virtual code for authentication and the time data of the virtual code for authentication The virtual code for authentication may be verified by comparison.
  • the service server 10 it is verified whether the virtual code for authentication is normally generated in the service server 10 . That is, after the service server 10 receives the virtual code for authentication, based on the information stored in the service server 10 (that is, the virtual code verification function and seed data), the received virtual code for authentication is normally displayed at the present time. It is checked whether it is generated to determine whether the virtual code for authentication is normal.
  • the service server 10 applies an inverse function of the virtual code generation function to the virtual code for authentication to find a count corresponding to the time point at which the virtual code for authentication is generated. Due to the transmission time or delay of the virtual code for authentication, there is a difference between the time when the virtual code for authentication is generated and the time when the service server 10 receives the virtual code for authentication. Since the count of receiving and the count of generating the OTP number corresponding to the virtual code for authentication may not match, the service server 10 allows an error range from the count of receiving the virtual code for authentication.
  • the service server 10 searches for a storage location of a unique value of a user or device based on the virtual code for authentication, extracts the unique value of the user or device, and extracts the extracted unique value. Based on this, user or device authentication can be performed.
  • FIGS. 3 and 7 are described as sequentially executing steps, but this is merely an example of the technical idea of this embodiment, and those skilled in the art to which this embodiment belongs will understand the essentials of this embodiment. Since the order described in FIGS. 3 and 7 may be changed and executed in a range that does not deviate from the characteristics or executed in parallel, various modifications and variations may be applied, so FIGS. 3 and 7 are not limited to a time-series order.
  • FIGS. 3 and 7 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present disclosure. Also, some steps may be omitted if necessary, and the order of steps may be changed.
  • the disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer. Instructions may be stored in the form of program codes, and when executed by a processor, create program modules to perform operations of the disclosed embodiments.
  • the recording medium may be implemented as a computer-readable recording medium.
  • Computer-readable recording media include all types of recording media in which instructions that can be decoded by a computer are stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like.
  • ROM read only memory
  • RAM random access memory
  • magnetic tape magnetic tape
  • magnetic disk magnetic disk
  • flash memory optical data storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Toxicology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Electromagnetism (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법 이 제공된다. 본 개시에 따른 서비스 서버는, 생체 정보 기반의 제1 인증을 통해 서비스 애플리케이션에 로그인이 완료된 상기 사용자 단말로부터 복수의 접근 요청이 순차적으로 수신되면, 상기 복수의 접근 요청 각각에 대해서 인증용 가상코드 기반의 제2 인증을 수행하고, 상기 제2 인증을 통해 상기 복수의 접근 요청 각각에 대해 정상적인 접근인지를 판단하는 프로세서;를 포함할 수 있다.

Description

인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법
본 개시는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법에 관한 것이다.
코드형태 데이터는 많은 영역에서 이용되고 있다. 결제 시에 이용되는 카드번호, 계좌 번호뿐만 아니라 사용자 식별을 위한 IPIN번호, 주민등록번호 등이 코드형태 데이터이다.
그러나 이러한 코드데이터를 이용하는 과정에서 유출되는 사고가 많이 발생한다. 카드번호의 경우, 카드 표면에 실제 카드번호가 그대로 기재되어 있어서 타인에게 시각적으로 유출되며, 마그네틱을 이용한 결제 시에 카드번호가 그대로 POS장치로 전달되면서 유출된다.
실제코드가 그대로 유출되지 않도록 하기 위해 가상코드를 이용하고자 하는 시도가 많았으나, 가상코드에 대응되는 실제코드를 탐색하기 위해 사용자를 식별하기 위한 데이터가 필요하였다.
그러나 OTP(One Time Password)의 경우, 별도의 OTP생성 장치를 필요로 하여 불편함을 수반하고, 특히 사용자 단말기의 경우 OTP생성에 이용되는 시드 데이터의 유출로 보안상의 취약점 존재한다.
따라서 많은 사용자가 소지하고 있는 카드의 카드 데이터를 기반으로 사용자 인증에 필요한 가상 보안 코드를 생성하는 것과 같이 OTP코드를 생성하되, 별도의 OTP생성 장치를 필요로 하지 않고 동시에 시드 데이터가 유출되지 않도록 하여 보안을 높이는 방안이 필요하다.
본 개시에 개시된 실시예는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시에 일 측면에 따른 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버는 사용자의 단말과 통신을 수행하는 통신 모듈 및 생체 정보 기반의 제1 인증을 통해 서비스 애플리케이션에 로그인이 완료된 상기 사용자 단말로부터 복수의 접근 요청이 순차적으로 수신되면, 상기 복수의 접근 요청 각각에 대해서 인증용 가상코드 기반의 제2 인증을 수행하고, 상기 제2 인증을 통해 상기 복수의 접근 요청 각각에 대해 정상적인 접근인지를 판단하는 프로세서를 포함하고, 상기 접근 요청은 거래 요청 시점에 발생되거나 주기적으로 발생될 수 있다.
또한, 상기 프로세서는, 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 비정상적인 접근인 것으로 판단되면, 상기 판단된 시점에 상기 사용자 단말의 로그인 세션을 종료하고, 상기 시점 이후에 상기 사용자 단말로부터의 최초 접근에 대해서는 상기 제1 인증을 수행할 수 있다.
또한, 상기 프로세서는, 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 정상적인 접근인 것으로 판단되면, 상기 특정 접근 요청에 포함된 거래 데이터를 기반으로 거래를 진행할 수 있다.
또한, 상기 인증용 가상코드는, 상기 접근 요청의 수신 시점에 상기 사용자 단말과 연결된 IP 주소 데이터를 기반으로 상기 사용자 단말에서 생성될 수 있다.
또한, 상기 인증용 가상코드는, 상기 사용자 단말에 부여된 고유값을 기반으로 상기 사용자 단말에서 생성되고, 상기 고유값은, 상기 사용자 단말이 상기 서비스 애플리케이션에 등록 시 상기 프로세서에 의해 생성되거나 상기 사용자 단말에 의해 생성되는 것일 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 본 개시에 다른 측면에 따른 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 사용자 단말은 서비스 서버와 통신을 수행하는 통신 모듈 및 서비스 애플리케이션에 로그인하기 위해 상기 서비스 서버로 생체 정보 기반의 제1 인증의 수행을 요청하고, 상기 로그인이 완료된 후 상기 서비스 서버로 복수의 접근 요청을 순차적으로 송신하되, 상기 복수의 접근 요청 각각에 대해서 인증용 가상코드 기반의 제2 인증의 수행을 요청하는 프로세서를 포함하고, 상기 접근 요청은 거래 요청 시점에 발생되거나 주기적으로 발생될 수 있다.
또한, 상기 제2 인증을 통해 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 비정상적인 접근인 것으로 판단되면, 상기 판단된 시점에 상기 사용자 단말의 로그인 세션이 종료되고, 상기 프로세서는, 상기 시점 이후에 상기 서비스 서버로의 최초 접근에 대해서는 상기 서비스 서버로 상기 제1 인증의 수행을 요청할 수 있다.
또한, 상기 제2 인증을 통해 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 정상적인 접근인 것으로 판단되면, 상기 특정 접근 요청에 포함된 거래 데이터를 기반으로 거래가 진행될 수 있다.
또한, 상기 프로세서는, 상기 접근 요청의 송신 시점에 상기 서비스 서버와 연결된 IP 주소 데이터를 기반으로 상기 인증용 가상코드를 생성할 수 있다.
또한, 상기 프로세서는, 상기 서비스 애플리케이션이 설치된 단말에 부여된 고유값을 기반으로 상기 인증용 가상코드를 생성하고, 상기 고유값은, 상기 서비스 애플리케이션에 등록 시 상기 서비스 서버에 의해 생성되거나 상기 프로세서에 의해 생성되는 것일 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 서비스 애플리케이션에 생체 인증을 통해 로그인 한 후, 애플리케이션을 통한 거래 시 추가 생체 인증 절차가 불필요하므로 사용자에게 사용 편리성을 제공할 수 있다.
또한, 다차원 인증 필요 없이, 인증용 가상코드를 이용한 1차 인증만으로 사용자 및 디바이스 인증 처리가 가능하므로, 효율적으로 서비스를 제공할 수 있다.
편리하고 효율적인 서비스를 통해 사용자가 증가하여 수익 증대가 가능할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시에 따른 인증용 가상코드를 이용하여 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 개시에 따른 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버 및 사용자 단말의 개략적인 구성도이다.
도 3은 본 개시에 따른 서비스 서버에 의해 수행되는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 방법의 순서도이다.
도 4a 및 도 4b는 본 개시에 따른 적어도 두 개의 카드를 사용하여 복수의 거래를 순차적으로 요청하는 것을 설명하기 위한 예시도이다.
도 5a 및 도 5b는 본 개시에 따른 로그인 세션이 종료된 이후 최초 접근에 대해서 인증을 수행하는 것을 설명하기 위한 예시도이다.
도 6은 본 개시에 따른 로그인 세션 유지 기간을 설명하기 위한 예시도이다.
도 7은 본 개시에 따른 사용자 단말에 의해 수행되는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 방법의 순서도이다.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 ‘부, 모듈, 부재, 블록’이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.
이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 개시를 한정하는 사항으로 기재하지 않은 경우에 본 개시의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
본 명세서에서 “장치”는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 장치는, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.
여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.
상기 서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.
상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.
본 명세서에서 "문자"는 코드를 구성하는 구성요소로서, 대문자 알파벳, 소문자 알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 "코드"는 문자가 나열된 문자열을 의미한다.
본 명세서에서 “인증용 가상코드”는 사용자 및 디바이스 중 적어도 하나의 인증을 위해 임시적으로 생성되는 OTAC(One Time Authentication Code)를 의미할 수 있다.
본 명세서에서 "가상코드 생성 함수"는 가상코드를 생성하는 함수를 의미한다. 예를 들어, OTP(One Time Password) 등을 포함하며, 이에 한정하는 것은 아니다.
본 명세서에서 "세부코드 생성 함수"는 가상코드를 구성하는 각각의 세부코드를 생성하는 함수를 의미한다.
본 명세서에서 "세부코드 결합 함수"는 복수의 세부코드를 조합 또는 결합하여 가상코드를 생성하는 함수를 의미한다.
본 명세서에서 "단위카운트"는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트 는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 “저장위치”는 사용자 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다.
본 명세서에서 “접근 요청”은 사용자 단말이 서비스 서버에 접속한(로그인 된) 후에, 그 접속을 유지하거나 거래를 진행하기 위한 인증 요청을 의미할 수 있다. 구체적으로, 접속한 후 그 접속을 유지하기 위해 주기적으로(예를 들어, 1분마다) 접근 요청(접속 유지를 위한 인증 요청)을 서비스 서버로 전송할 수 있고, 또는 거래를 진행하고자 할 때 접근 요청(거래를 위한 인증 요청)을 서비스 서버로 전송할 수 있다.
본 명세서에서 “거래”는 서비스 애플리케이션을 통해 이루어지는 결제, 보안 영역으로의 출입을 모두 포함하는 의미의 용어이다. 본 명세서에서는 편의를 위해 “거래”가 서비스 애플리케이션에 등록된 모바일 카드를 이용한 결제를 의미하는 경우로 한정하여 설명하지만, 명세서 내에서 설명되는 모든 내용은 서비스 애플리케이션에 등록된 출입 카드를 이용하여 보안 영역으로 출입하는 경우에도 적용될 수 있다.
기존에는 사용자가 앱을 통해 거래(결제)를 요청할 때마다 생체 인증(또는 코드 인증)을 수행해야만 했었다. 즉, 사용자가 앱에 로그인 한 후 카드를 이용하여 거래를 하려면 생체 인증을 수행해야 하고, 곧바로 다른 카드(또는 동일한 카드)를 이용하여 또 다른 거래를 하려고 할 때에도 생체 인증을 또다시 수행해야 하기 때문에, 사용자의 앱에 대한 사용성을 떨어뜨린다는 문제가 있었다.
이에, 본 개시에서는 사용자가 앱에 생체 인증을 통해 로그인 한 이후에, 앱을 통해 거래를 할 때마다 추가 생체 인증을 할 필요 없이(즉, 사용자가 직접 인증을 위한 액션을 하지 않아도), 앱과 서버 간의 데이터 송수신을 통해 인증용 가상코드 기반의 인증을 수행한다. 이로써, 사용자에게 사용 편리성을 제공할 수 있다.
도 1은 본 개시에 따른 인증용 가상코드를 이용하여 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 시스템을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 인증용 가상코드를 이용하여 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 시스템(이하, 시스템)은 서비스 서버(10), 사용자 단말(20) 및 이상 거래 감지 시스템(30)을 포함한다. 다만, 몇몇 실시예에서 시스템은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.
서비스 서버(10)는 서비스 애플리케이션을 통해 사용자에게 금융, 결제, 거래와 관련된 서비스를 제공하는 서버 장치이다.
서비스 서버(10)는 사용자 단말(20)로부터 수신된 생체 정보와 기 저장된 사용자의 생체 정보의 비교를 통해 제1 인증을 수행할 수 있다. 두 정보가 일치하면 사용자는 서비스 애플리케이션에 로그인되어 서비스를 이용할 수 있다. 여기서, 로그인을 위한 제1 인증이 생체 정보를 이용하는 것으로 설명하였지만, 이에 제한되지 않고 사용자가 서비스 애플리케이션에 가입(등록) 시에 입력했던 정보 또는 앱에서 생성되는 코드 정보도 제1 인증에 이용될 수 있다.
서비스 서버(10)는 로그인된 사용자 단말(20)로부터 접근 요청이 수신되면, 인증용 가상코드를 이용한 제2 인증을 수행할 수 있다. 여기서, 접근 요청은 거래 요청 시점에 발생되거나 주기적으로(예를 들어, 1분마다) 발생될 수 있다. 서비스 서버(10)는 인증용 가상코드가 현시점에 정상적으로 생성된 것인지를 검증함으로써 제2 인증을 수행할 수 있다. 인증용 가상코드의 검증에 대해서는 후술하도록 한다.
서비스 서버(10)는 제2 인증이 완료된 접근 요청에 대해서만 후속 동작을 수행할 수 있다.
사용자 단말(20)은 서비스 서버(10)가 제공하는 서비스 애플리케이션을 통해 금융, 결제, 거래와 관련된 서비스를 이용하는 사용자의 단말 장치이다.
사용자 단말(20)은 서비스 서버(10)로 로그인 요청 및 생체 정보 기반의 제1 인증을 요청할 수 있다. 서비스 서버(10)에서 제1 인증이 완료되면(생체 정보가 정상적인 정보인 것으로 판단되면), 사용자 단말(20)은 서비스 애플리케이션에 로그인될 수 있다.
로그인이 완료된 후, 사용자 단말(20)은 서비스 서버(10)로 접근 요청 및 인증용 가상코드 기반의 제2 인증을 요청할 수 있다. 여기서, 접근 요청은 거래 요청 시점에 발생되거나 주기적으로(예를 들어, 1분마다) 발생될 수 있다. 서비스 서버(10)에서 제2 인증이 완료되면(인증용 가상코드가 정상적인 코드인 것으로 판단되면), 사용자 단말(20)이 요청한 내용에 대한 동작이 수행될 수 있다. 일 예로, 거래 요청 시점에 수신된 접근 요청에 대한 제2 인증이 완료되면, 해당 접근 요청에 대응하는 거래가 진행될 수 있다. 다른 예로, 특정 주기에 수신된 접근 요청에 대한 제2 인증이 완료되면, 해당 접근 요청에 대응하는 앱 실행 동작이 수행될 수 있다.
여기서, 접근 요청에는 인증용 가상코드 및 앱 실행 관련 데이터(예를 들어, 거래 데이터)가 포함될 수 있다.
인증용 가상코드는 하나 이상의 시드 데이터를 이용하여 사용자 단말(20)에서 생성될 수 있다. 시드 데이터는 사용자 고유값, 디바이스(사용자 단말 또는 서비스 애플리케이션) 고유값, 카드 데이터, 시간 데이터를 포함할 수 있지만, 이에 제한되는 것은 아니다.
거래 데이터는 사용자가 요청한 거래 관련한 데이터를 모두 포함할 수 있다. 예를 들어, 카드 정보, 카드사 정보, 금융사 정보, 사용자 정보, 금액 정보, 상품 정보, 판매자 정보를 포함할 수 있지만, 이에 제한되는 것은 아니다.
실시예에 따라, 서비스 애플리케이션에는 인증용 가상코드와 관련한 SDK(Software Development Kit)가 탑재되어 있을 수 있다. 사용자 단말(20)은 서비스 애플리케이션에 탑재된 SDK를 통해 인증용 가상코드와 관련된 모든 동작을 수행할 수 있다.
이상 거래 감지 시스템(Fraud Detection System, FDS)(30)은 서비스 서버(10)와 연동되어 이상 거래를 감지할 수 있다.
이상 거래 감지 시스템(30)은 서비스 서버(10)로 요청되는 접근 요청 중에서 정상적인 사용자가 아닌 외부(해커)로부터의 요청을 감지하고 이를 차단하는 역할을 수행할 수 있다.
구체적으로, 이상 거래 감지 시스템(30)은 제2 인증을 통한 접근 요청에 대해서는 따로 검증을 하지 않을 수 있다. 즉, 인증용 가상코드를 이용하여 인증이 수행되는 거래 요청은 제외하고, 나머지 접근에 대해서만 정상적인 접근인지를 판단하는 검증을 수행할 수 있다. 이로써, 이상 거래 감지 시스템(30)은 서비스 서버(10)로 들어오는 모든 요청을 검증할 필요가 없기 때문에(선택적으로 검증) 리소스를 효율적으로 활용할 수가 있게 된다.
이와 같이, 서비스 서버(10)에서 인증용 가상코드 기반의 제2 인증을 수행하고, 이와 함께 이상 거래 감지 시스템(30)에서 접근에 대한 검증을 수행함으로써 보안성을 강화할 수 있다.
도 1에서는 서비스 서버(10)와 이상 거래 감지 시스템(30)을 개별 구성요소로 도시하였지만, 실시예에 따라 이상 거래 감지 시스템(30)이 서비스 서버(10)에 포함될 수 있다.
서비스 서버(10), 사용자 단말(20) 및 이상 거래 감지 시스템(30)는 통신망을 통해 서로 각종 데이터, 신호 또는 정보를 송수신할 수 있다.
여기서, 통신망은 다양한 형태의 통신망이 이용될 수 있으며, 예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coax), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신방식이 이용될 수 있다.
한편, 통신망은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
도 2는 본 개시에 따른 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버 및 사용자 단말의 개략적인 구성도이다.
도 2를 참조하면, 서비스 서버(10)는 통신 모듈(11), 메모리(12), 프로세서(13)를 포함할 수 있다. 프로세서(13)는 제1 인증 모듈(131) 및 제2 인증 모듈(132)을 포함할 수 있다. 다만, 몇몇 실시예에서 서비스 서버(10) 및 프로세서(13)는 도 2에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.
통신 모듈(11)은 상기 서비스 서버(10)와 사용자 단말(20) 사이, 상기 서비스 서버(10)와 이상 거래 감지 시스템(30) 사이, 상기 서비스 서버(10)와 외부 장치(미도시) 사이, 상기 서비스 서버(10)와 외부 서버(미도시) 사이, 상기 서비스 서버(10)와 통신망 사이의 무선 또는 유선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.
통신망은 다양한 형태의 통신망이 이용될 수 있으며, 예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coax), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신방식이 이용될 수 있다.
한편, 통신망은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
유선 통신 모듈은, 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
메모리(12)는 본 서비스 서버(10)의 다양한 기능을 지원하는 데이터와, 프로세서(13)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 수 있고, 본 서비스 서버(10)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 서비스 서버(10)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(12)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(12)는 본 서비스 서버(10)와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
프로세서(13)는 통신 모듈(11)과 연결되어 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 동작을 수행할 수 있다.
프로세서(13)는 본 서비스 서버(10) 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행할 수 있다. 이때, 메모리와 프로세서(13)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리와 프로세서(13)는 단일 칩으로 구현될 수도 있다.
프로세서(13)의 제1 인증 모듈(131)은 생체 정보 기반의 제1 인증과 관련된 모든 동작을 수행할 수 있다.
프로세서(13)의 제2 인증 모듈(132)은 인증용 가상코드 기반의 제2 인증과 관련된 모든 동작을 수행할 수 있다.
도 2를 참조하면, 사용자 단말(20)은 통신 모듈(21), 메모리(22), 프로세서(23)를 포함할 수 있다. 프로세서(23)는 앱 실행 모듈(231), 접근 요청 모듈(232) 및 가상코드 생성 모듈(233)을 포함할 수 있다. 다만, 몇몇 실시예에서 사용자 단말(20) 및 프로세서(23)는 도 2에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.
통신 모듈(21)은 상기 사용자 단말(20)과 서비스 서버(10) 사이, 상기 사용자 단말(20)과 외부 장치(미도시) 사이, 상기 사용자 단말(20)과 외부 서버(미도시) 사이, 상기 사용자 단말(20)과 통신망 사이의 무선 또는 유선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다. 통신망, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈에 관한 설명은 상술한 바와 중복되므로 생략한다.
메모리(22)는 본 사용자 단말(20)의 다양한 기능을 지원하는 데이터와, 프로세서(23)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 수 있고, 본 사용자 단말(20)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 사용자 단말(20)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(22)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(22)는 본 사용자 단말(20)과는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
프로세서(23)는 통신 모듈(21)과 연결되어 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 동작을 수행할 수 있다.
프로세서(23)는 본 사용자 단말(20) 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행할 수 있다. 이때, 메모리와 프로세서(23)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리와 프로세서(23)는 단일 칩으로 구현될 수도 있다.
프로세서(23)의 앱 실행 모듈(231)은 서비스 애플리케이션의 실행과 관련된 모든 동작을 수행할 수 있다.
프로세서(23)의 접근 요청 모듈(232)은 접근 요청과 관련된 모든 동작을 수행할 수 있다.
프로세서(23)의 가상코드 생성 모듈(233)은 가상코드 생성과 관련된 모든 동작을 수행할 수 있다.
이하에서는, 도 3 내지 도 6을 참조하여, 서비스 서버(10)에 의해 수행되는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 방법을 설명하도록 한다. 이하에서는 접근 요청이 거래 요청 시점마다 발생되는 앱 실행 요청(거래 요청)인 것으로 설명하지만, 이에 제한되지 않고 접근 요청은 기 설정된 주기마다 발생되는 앱 실행 요청일 수도 있다. 따라서, 밑에서 개시될 내용은 접근 요청이 주기적으로 발생되는 앱 실행 요청인 경우에도 모두 적용 가능하다. 여기서, 주기는 1분으로 설정될 수 있지만, 이에 제한되지는 않는다.
도 3은 본 개시에 따른 서비스 서버에 의해 수행되는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 방법의 순서도이다.
도 4a 및 도 4b는 본 개시에 따른 적어도 두 개의 카드를 사용하여 복수의 거래를 순차적으로 요청하는 것을 설명하기 위한 예시도이다.
도 5a 및 도 5b는 본 개시에 따른 로그인 세션이 종료된 이후 최초 접근에 대해서 인증을 수행하는 것을 설명하기 위한 예시도이다.
도 6은 본 개시에 따른 로그인 세션 유지 기간을 설명하기 위한 예시도이다.
도 3을 참조하면, 서비스 서버(10)의 프로세서(13)는 제1 인증 모듈(131)을 통해 사용자 단말(20)로부터의 로그인 요청에 따라 제1 인증을 수행할 수 있다(S110).
여기서, 제1 인증은 생체 정보를 기반으로 하는 사용자 인증을 의미할 수 있다. 사용자는 사용자 단말(20)의 화면에 자신의 손가락을 일정 시간 이상 접촉하거나, 사용자 단말(20)의 카메라를 통해 자신의 눈동자 또는 얼굴을 촬영함으로써 생체 정보를 입력할 수 있다. 이렇게 입력된 생체 정보는 서비스 서버(10)로 전송되어, 프로세서(13)가 기 저장되어 있던 사용자의 생체 정보와 비교하는 데 사용된다. 프로세서(13)는 두 개의 생체 정보가 일치하면 정상적인 사용자로 판단하고 로그인을 승인할 수 있다.
이렇게 로그인이 완료되면, 프로세서(13)는 사용자 단말(20)에 설치된 서비스 애플리케이션 내에서 사용자에 대한 로그인 세션이 기 설정된 기간 동안 유지되도록 한다. 사용자는 로그인 세션이 유지되는 기간(예를 들어, 한시간) 동안 서비스 애플리케이션을 더 이상의 제1 인증 없이(추가 로그인 하지 않고) 사용할 수 있게 된다. 기 설정된 기간이 끝나면 로그인 세션이 종료되어 서비스 애플리케이션에서 로그아웃되고, 사용자는 서비스 애플리케이션을 더 이용하기 위해 다시 로그인을 수행하게 된다.
도 3을 참조하면, 서비스 서버(10)의 프로세서(13)는 통신 모듈(11)을 통해 로그인이 완료된 사용자 단말(20)로부터 복수의 거래 요청을 순차적으로 수신할 수 있다(S120).
구체적으로, 프로세서(13)는 로그인이 완료된 사용자 단말(20)로부터 로그인 세션의 유지 기간 동안 복수의 거래 요청을 순차적으로 수신할 수 있다.
이때, 복수의 거래 요청은, 서비스 애플리케이션에 등록된 사용자의 복수의 카드 중 적어도 두 개의 카드를 교대로 이용하여 각 거래가 진행되도록 하는 요청일 수 있다. 즉, 사용자는 서비스 애플리케이션에 여러 개의 카드를 등록해놓고, 각 상황에 따라 다른 카드를 이용하여 결제를 진행할 수 있다.
사용자가 세 개의 카드(A, B, C)를 등록해 놓은 경우를 예로 들어 도 4a 및 도 4b를 설명하도록 한다.
도 4a를 참조하면, 프로세서(13)는 사용자 단말(20)로부터 세션 유지 기간 동안 3개의 거래 요청을 순차적으로 수신했는데, 이때 거래 요청 1은 카드 A를 이용한 요청이고, 거래 요청 2는 카드 B를 이용한 요청이고, 거래 요청 3은 카드 C를 이용한 요청일 수 있다.
도 4b를 참조하면, 프로세서(13)는 사용자 단말(20)로부터 세션 유지 기간 동안 3개의 거래 요청을 순차적으로 수신했는데, 이때 거래 요청 1은 카드 A를 이용한 요청이고, 거래 요청 2는 카드 B를 이용한 요청이고, 거래 요청 3은 다시 카드 A를 이용한 요청일 수 있다.
도 3을 참조하면, 서비스 서버(10)의 프로세서(13)는 제2 인증 모듈(132)을 통해 복수의 거래 요청 각각에 대해 제2 인증을 수행할 수 있다(S130).
프로세서(13)는 이렇게 로그인 세션의 유지 기간 동안 수신된 거래 요청에 대해서 각각 제2 인증을 수행하고, 제2 인증을 통해 복수의 거래 요청 각각에 대해 정상적인 접근인지를 판단할 수 있다.
여기서, 제2 인증은 인증용 가상코드를 기반으로 하는 사용자 및 디바이스 인증을 의미할 수 있다.
상술한 바와 같이, 인증용 가상코드는 하나 이상의 시드 데이터를 이용하여 사용자 단말(20)에서 생성될 수 있다. 시드 데이터는 사용자 고유값, 디바이스(사용자 단말 또는 서비스 애플리케이션) 고유값, 카드 데이터, 시간 데이터를 포함할 수 있다.
여기서, 사용자 고유값은 사용자가 서비스 애플리케이션에 등록(가입) 시에 설정한 ID, 비밀번호, 주민등록번호 및 서비스 애플리케이션에 등록(가입) 시 부여된 회원 번호를 포함할 수 있다.
디바이스 고유값은 사용자 단말(20) 또는 사용자 단말(20)에 설치된 서비스 애플리케이션을 식별하기 위한 값으로서, 서비스 애플리케이션에 등록(가입) 시 프로세서(13)에 의해 생성되어 메모리(12)에 저장되고 사용자 단말(20)로 제공될 수 있다. 그러나 이에 제한되지 않고, 실시예에 따라, 디바이스 고유값은 서비스 애플리케이션에 등록(가입) 시 사용자 단말(20)에 의해 생성되어 사용자 단말(20)에 저장되고 서비스 서버(10)로 제공될 수 있다.
카드 데이터는 거래를 위해 선택된 카드의 카드번호, CVC번호를 포함할 수 있다.
시간 데이터는 거래 요청 시점 또는 인증용 가상코드 생성 시점의 시간 데이터를 의미할 수 있다.
실시예에 따라, 인증용 가상코드는 상기 사용자 단말(20)과 상기 서비스 서버(10)가 현시점에 연결된 IP 주소 데이터를 시드 데이터로 이용하여 생성될 수 있다.
사용자 단말(20)은 IP 주소 데이터를 시드 데이터로 사용하여 OTAC 기반의 인증용 가상코드를 생성하여 전송하고, 서비스 서버(10)는 인증용 가상코드를 수신하는 시점에 사용자 단말(20)과 연결된 IP 주소 정보를 함께 활용하여 검증을 수행한다. 즉, 인증용 가상코드 내에 포함되어 수신된 수신 OTP와 비교하기 위한 서버 내 생성 OTP 생성 시에 현시점에 연결된 IP 주소를 활용한다. 이를 통해, 현시점에 생성된 인증용 가상코드를 탈취하여 다른 디바이스가 인증에 활용하고자 시도하는 경우에 사용자 단말(20)과 서비스 서버(10)간에 연결되는 IP주소가 달라짐에 따라 검증이 실패하여 정상적인 접근이 아닌 것을 인증할 수 있다. 따라서, 중간에서 인증값을 탈취하여 정상적인 접근처럼 해커가 접근하는 중간자공격(Man-in-the-middle Attack)을 막을 수 있다.
그러나 이에 한정되지 않고, IP 주소 이외에도, 서버(10)와 사용자 단말(20) 간의 연결 시에 사용자 단말(20) 내에서만 고유하게 생성 또는 이용되는 값이 시드 데이터로 이용될 수 있다.
구체적으로, 인증용 가상코드는 가상코드 생성 함수를 이용하여 상기 하나 이상의 시드 데이터를 기반으로 생성될 수 있다.
실시예에 따라, 가상코드 생성 함수는 사용자의 서비스 애플리케이션 등록(가입) 시점에 구동이 시작될 수 있다. 이 경우 카드에 상관없이 모든 거래 요청에 대해서 동일한 함수를 이용하여 인증용 가상코드가 생성되게 된다.
실시예에 따라, 가상코드 생성 함수는 사용자의 모바일 카드 등록 시점에 구동이 시작될 수 있다. 이 경우, 카드 A를 이용한 거래 요청 1에 대한 인증용 가상코드는 카드 A 등록 시 구동 시작된 함수 A를 이용하여 생성되고, 카드 B를 이용한 거래 요청 2에 대한 인증용 가상코드는 카드 B 등록 시 구동 시작된 함수 B를 이용하여 생성될 수 있다.
프로세서(13)는 제2 인증 모듈(132)을 통해 각 거래 요청 별로 생성된 인증용 가상코드를 검증하여, 각 거래 요청이 정상적인 접근인지를 판단할 수 있다.
프로세서(13)는 가상코드 생성 시에 이용된 가상코드 생성 함수와 대응하는 가상코드 검증 함수를 이용하여 인증용 가상코드를 검증할 수 있다.
여기서, 가상코드 검증 함수는 가상코드 생성 함수의 구동 시작 시점과 동일한 시점에 구동 시작될 수 있다. 즉, 사용자가 서비스 애플리케이션에 등록(가입) 시 또는 카드 등록 시에 서로 대응하는 가상코드 생성 함수와 가상코드 생성 함수가 각각 사용자 단말(20) 및 서비스 서버(10)에서 구동이 시작될 수 있다.
프로세서(13)는 가상코드 검증 함수를 이용하여 수신된 시드 데이터와 기 저장된 시드 데이터 간의 비교를 수행하고, 두 데이터의 일치 여부에 따라 인증용 가상코드가 현 시점에 정상적인 사용자 단말에서 생성된 것인지를 판단할 수 있다.
실시예에 따라, 프로세서(13)는 제2 인증 모듈(132)을 통해 상기 인증용 가상코드를 기반으로 사용자 고유값 또는 디바이스 고유값의 저장 위치를 탐색하여 상기 사용자 고유값 또는 디바이스 고유값을 추출하고, 상기 추출한 고유값을 상기 인증용 가상코드에 포함된 고유값과 비교하여 검증을 수행할 수 있다.
실시예에 따라, 프로세서(13)는 제2 인증 모듈(132)을 통해 인증용 가상코드를 수신한 시점의 시간 데이터와, 인증용 가상코드의 시드 데이터로 이용된 시간 데이터를 비교하여 인증용 가상코드를 검증할 수 있다. 두 데이터가 서로 오차 범위 내에 있는 경우, 프로세서(13)는 해당 거래 요청이 정상적인 접근인 것으로 판단할 수 있다.
도 3을 참조하면, 서비스 서버(10)의 프로세서(13)는 제2 인증을 통해 정상적인 것으로 판단된 거래 요청에 대한 거래를 진행할 수 있다(S140).
프로세서(13)는 복수의 거래 요청 중 특정 거래 요청에 대해서 정상적인 접근인 것으로 판단되면, 상기 특정 거래 요청에 포함된 거래 데이터를 기반으로 거래를 진행할 수 있다. 상술한 바와 같이, 거래 데이터는 카드 정보, 카드사 정보, 금융사 정보, 사용자 정보, 금액 정보, 상품 정보, 판매자 정보를 포함할 수 있다.
구체적으로, 프로세서(13)는 거래 데이터에 포함된 카드 정보, 카드사 정보, 금액 정보를 기반으로, 통신 모듈(11)을 통해 결제 서버(예를 들어, 카드사 서버)로 해당 거래의 진행을 요청할 수 있다.
또한, 프로세서(13)는 통신 모듈(11)을 통해 사용자 단말(20)로 해당 거래의 진행 정보(예를 들어, 결제 완료 정보)를 제공할 수 있다.
한편, 프로세서(13)는 복수의 거래 요청 중 특정 거래 요청에 대해서 비정상적인 접근인 것으로 판단되면, 상기 판단된 시점에 상기 사용자 단말(20)의 로그인 세션을 종료하고, 상기 시점 이후에 상기 사용자 단말(20)로부터의 최초 접근에 대해서는 제1 인증 또는 제2 인증을 수행할 수 있다.
도 5a를 참조하여, 로그인 세션이 종료된 후의 최초 접근이 거래 요청인 경우 제1 인증 및 제2 인증을 수행하는 것을 설명하도록 한다.
사용자 단말(20)의 로그인 요청에 따라 프로세서(13)가 제1 인증 모듈(131)을 통해 제1 인증을 수행하고, 제1 인증을 통해 정상적인 사용자(서비스 가입자)인 것으로 확인되면 로그인 세션이 시작된다. 로그인 세션이 시작된 이후, 사용자 단말(20)로부터 거래 요청 1이 수신되어 제2 인증 모듈(132)을 통해 제2 인증을 수행한다. 제2 인증을 통해 거래 요청 1이 정상적인 요청인 것으로 판단된다. 이후에 사용자 단말(20)로부터 다시 거래 요청 2이 수신되어 제2 인증 모듈(132)을 통해 제2 인증을 수행한다. 제2 인증을 통해 거래 요청 2가 비정상적인 요청인 것으로 판단되면, 프로세서(13)는 로그인 세션의 유지 기간이 남아 있어도 로그인 세션을 종료한다. 로그인 세션이 종료된 후, 사용자 단말(20)로부터 거래 요청 3이 수신되면, 프로세서(13)는 제1 인증 모듈(131)을 통해 로그인을 위한 제1 인증을 수행하고, 제2 인증 모듈(132)을 통해 거래를 위한 제2 인증을 수행한다.
도 5b를 참조하여, 로그인 세션이 종료된 후의 최초 접근이 로그인 요청인 경우 제1 인증을 수행하는 것을 설명하도록 한다.
사용자 단말(20)의 로그인 요청에 따라 프로세서(13)가 제1 인증 모듈(131)을 통해 제1 인증을 수행하고, 제1 인증을 통해 정상적인 사용자(서비스 가입자)인 것으로 확인되면 로그인 세션이 시작된다. 로그인 세션이 시작된 이후, 사용자 단말(20)로부터 거래 요청 1이 수신되어 제2 인증 모듈(132)을 통해 제2 인증을 수행한다. 제2 인증을 통해 거래 요청 1이 정상적인 요청인 것으로 판단된다. 이후에 사용자 단말(20)로부터 다시 거래 요청 2이 수신되어 제2 인증 모듈(132)을 통해 제2 인증을 수행한다. 제2 인증을 통해 거래 요청 2가 비정상적인 요청인 것으로 판단되면, 프로세서(13)는 로그인 세션의 유지 기간이 남아 있어도 로그인 세션을 종료한다. 로그인 세션이 종료된 후, 사용자 단말(20)로부터 로그인 요청이 수신되면, 프로세서(13)는 제1 인증 모듈(131)을 통해 로그인을 위한 제1 인증을 수행한다. 그리고, 이후에 사용자 단말(20)로부터 거래 요청 3이 수신되면, 제2 인증 모듈(132)을 통해 제2 인증을 수행한다.
이와 같이, 로그인 세션의 유지 기간이 남아있어도, 중간에 비정상적인 거래 요청이 발생되면 로그인 세션은 종료된다. 그리고 종료된 후 최초로 제1 인증이 완료되어 정상적인 접근인 것으로 판단된 시점에 다시 로그인 세션이 시작되어 기 설정된 기간 동안 유지될 수 있다.
도 6를 참조하면, 기 설정된 로그인 세션 유지 기간(A-B) 중간에 비정상 거래 요청이 발생되면, 해당 시점(C)에 로그인 세션이 종료된다. 그 이후의 최초 접근에 대한 제1 인증이 완료되어 정상 사용자로 확인되면, 해당 시점(A')부터 로그인 세션이 시작되어 기 설정된 유지 기간(A'-B')동안 세션이 유지되게 된다.
이하에서는, 도 7을 참조하여, 사용자 단말에 의해 수행되는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 방법을 설명하도록 한다.
도 7은 본 개시에 따른 사용자 단말에 의해 수행되는 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 방법의 순서도이다.
도 7을 참조하면, 사용자 단말(20)의 프로세서(23)는 통신 모듈(21)을 통해 서비스 서버(10)로 로그인을 위한 제1 인증의 수행을 요청할 수 있다(S210).
로그인이 완료된 후, 사용자 단말(20)의 프로세서(23)는 통신 모듈(21)을 통해 서비스 서버(10)로 복수의 거래 요청을 순차적으로 송신하고, 각 요청에 대한 제2 인증의 수행을 요청 요청할 수 있다(S220).
프로세서(23)는 거래 요청 모듈(232)(또는, 도시되지는 않았지만 인증 요청 모듈)을 통해 서비스 애플리케이션에 로그인하기 위해 상기 서비스 서버(10)로 생체 정보 기반의 제1 인증의 수행을 요청할 수 있다.
로그인이 완료된 후, 프로세서(23)는 거래 요청 모듈(232)(또는, 도시되지는 않았지만 인증 요청 모듈)을 통해 상기 서비스 서버(10)로 복수의 거래 요청을 순차적으로 송신하되, 상기 복수의 거래 요청 각각에 대해서 인증용 가상코드 기반의 제2 인증의 수행을 요청할 수 있다.
프로세서(23)는 서비스 애플리케이션에 등록된 사용자의 복수의 카드 중 적어도 두 개의 카드를 교대로 이용하여 각 거래가 진행되도록 복수의 거래 요청을 송신할 수 있다.
복수의 거래 요청 각각에는 인증용 가상코드 및 거래 데이터가 포함될 수 있다.
여기서, 인증용 가상코드는 서비스 애플리케이션이 설치된 단말에 부여된 고유값(사용자 고유값 및 디바이스 고유값 중 적어도 하나)을 기반으로 생성될 수 있으며, 고유값은 상기 서비스 애플리케이션에 등록(가입) 시 상기 서비스 서버(10)에 의해 생성되거나 프로세서(23)에 의해 생성될 수 있다.
도 7에 도시된 사용자 단말(20)에 의해 수행되는 방법은 상기에서 도 3 내지 도 6을 참조하여 설명한 서비스 서버(10)에 의해 수행되는 방법과 그 수행 주체만 다를 뿐 구체적인 내용을 동일하므로 상세한 설명은 생략하도록 한다.
한편, 상기에서는 로그인 요청 시 생체 정보 기반의 제1 인증이 수행된다고 설명하였으나, 이에 제한되지 않고, 실시예에 따라, 로그인 세션 유지 기간 중 최초 거래 요청에 대해서도 제1 인증이 수행될 수도 있다. 이 경우, 첫 번째 거래 요청은 제1 인증으로 정상 여부를 판단하고, 두 번째 이후의 거래 요청에 대해서는 제2 인증으로 정상 여부를 판단할 수 있다.
이하에서는 가상코드 생성 장치로서의 역할을 수행하는 사용자 단말(20)이 인증용 가상코드를 생성하는 방법에 대해서 구체적으로 설명하도록 한다.
서비스 애플리케이션에 탑재된 SDK는 하나 또는 복수의 세부코드를 생성할 수 있다. 세부코드는 인증용 가상코드를 구성하는 일부 코드를 의미하는데, 인증용 가상코드는 세부코드만으로 구성될 수도 있으며, 또는 OTP함수에 의해 생성된 가상보안코드에 하나 또는 복수의 세부코드를 결합하여 최종 가상코 드(OTAC)의 형태로 형성될 수도 있다.
SDK는 인증용 가상코드를 생성하는 가상코드 생성 함수를 포함하고, 가상코드 생성 함수는 하나 이상의 세부코드를 생성하는 세부코드 생성 함수와, 상기 세부코드를 결합하여 가상코드를 생성하는 세부코드 결합 함수(즉, 복수의 세부코드를 조합하는 규칙)를 포함한다.
즉, 인증용 가상코드가 복수의 세부코드를 포함하는 경우, 가상코드 생성 함수는 복수의 세부코드 생성 함수를 이용하여 복수의 세부코드를 생성하고, 상기 세부코드 결합 함수를 통해 상기 복수의 세부코드를 기 설정된 조합으로 결합하여 인증용 가상코드를 생성한다.
복수의 세부코드 간에는 서비스 서버(10)가 사용자 또는 디바이스를 식별할 수 있는 정보의 저장공간을 탐색하기 위해 이용되는 상관관계를 가진다. 즉, 서비스 서버(10)는 탐색 알고리즘(저장공간탐색알고리즘)을 구비하고, 상기 탐색 알고리즘은 인증용 가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드의 상관관계를 기반으로 사용자 또는 디바이스에 부여된 고유값(식별 정보)의 저장공간을 탐색한다. 상기 복수의 세부코드가 가지는 상관 관계에 대한 일 실시예로, 탐색 알고리즘은 복수의 세부코드 중 하나 이상의 세부코드에 대응하는 경유지점으로부터 상기 복수의 세부코드 간의 상관 관계를 기반으로 연산하여 상기 사용자 또는 디바이스의 고유값의 저장위치를 탐색할 수 있다. 이때, 상기 경유지점은 하나 또는 복수일 수 있으며 개수 및 순서에 제한은 없다.
또한, 복수의 세부코드의 일 실시예로, 복수의 세부코드는 제1코드 및 제2코드를 포함할 수 있고, SDK는 세부코드 생성 함수로 제1함수 와 제2함수를 포함하여, 제1코드 및 제2코드를 생성한다. 제1코드와 제2코드는 서비스 서버(10) 내에서 사용자 또는 디바이스의 고유값의 저장공간을 탐색하기 위한 상관관계를 가지나, SDK는 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드 생성 함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다.
제1코드와 제2코드의 상관관계의 구체적인 예로, 제1코드와 제2코드는 상기 고유값의 저장공간을 탐색하기 위한 각각의 역할을 수행할 수 있다. 즉, 제1코드는 상기 경유지점에 대한 정보를 포함하고, 제2코드는 상기 경유 지점으로부터 상기 고유값의 저장공간에 도달할 수 있는 연산에 필요한 정보를 포함할 수 있다.
한편, 본 개시의 일 실시예로 제1코드는 제1카운트를 기반으로 생성 되며, 제2코드는 제2카운트를 기반으로 생성될 수 있다. 이때, 제1카운트는 서비스 서버(10)에서 가상코드 검증 함수가 구동된 최초시점으로부터 인증용 가상코드가 생성된 시점까지 경과된 단위 카운트의 개수이고, 제2카운트는 사용자 또는 디바이스의 고유값이 서비스 서버(10)에 저장된 시점으로부터 경과된 단위 카운트 개수를 포함할 수 있다.
즉, 제1코드를 생성하는 제1함수는 제1카운트에 대응되는 특정한 코 드값을 제공하는 함수이고, 제2코드를 생성하는 제2함수는 제2카운트에 대응되는 특정한 코드값을 제공하는 함수이다.
이하에서는, 가상코드 검증 장치로서의 역할을 수행하는 서비스 서버(10)가 인증용 가상코드를 검증하는 방법에 대하여 구체적으로 설명하도록 한다.
본 개시의 일 실시예로, 서비스 서버(10)가 상기 사용자 단말(20)로부터 상기 인증용 가상코드를 수신하면, 상기 인증용 가상코드를 수신한 시간 데이터 및 상기 인증용 가상코드의 시간 데이터를 비교하여 상기 인증용 가상코드를 검증할 수 있다.
구체적으로, 서비스 서버(10)에서 인증용 가상코드가 정상적으로 생성된 것인지를 검증한다. 즉, 서비스 서버(10)는 인증용 가상코드를 수신한 후 서비스 서버(10)에 저장된 정보(즉, 가상코드 검증 함수 및 시드 데이터)를 바탕으로 상기 수신한 인증용 가상코드가 현 시점에 정상적으로 생성된 것인지를 확인하여 인증용 가상코드의 정상여부를 판단한다. 서비스 서버(10)는 인증용 가상코드에 가상코드 생성 함수의 역함수를 적용하여 인증용 가상코드가 생성된 시점에 상응하는 카운트를 찾아낸다. 인증용 가상코드의 전송시간이나 딜레이에 의해 인증용 가상코드가 생성된 시점과 서비스 서버(10)가 인증용 가상코드를 수신한 시점의 차이가 존재함에 따라 서비스 서버(10)가 인증용 가상코드를 수신한 카운트와 인증용 가상코드에 해당하는 OTP번호를 생성한 카운트가 일치하지 않을 수도 있으므로, 서비스 서버(10)는 인증용 가상코드를 수신한 카운트로부터 오차범위를 허용한다.
한편, 본 개시의 일 실시예로 서비스 서버(10)는 상기 인증용 가상코드를 기반으로 사용자 또는 디바이스의 고유값의 저장 위치를 탐색하여 상기 사용자 또는 디바이스의 고유값의 추출하고, 상기 추출한 고유값을 기반으로 사용자 또는 디바이스 인증을 수행할 수 있다.
도 3 및 도 7은 단계들을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3 및 도 7에 기재된 순서를 변경하여 실행하거나 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3 및 도 7은 시계열적인 순서로 한정되는 것은 아니다.
한편, 상술한 설명에서, 도 3 및 도 7에 기재된 단계들은 본 개시의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.

Claims (10)

  1. 사용자의 단말과 통신을 수행하는 통신 모듈; 및
    생체 정보 기반의 제1 인증을 통해 서비스 애플리케이션에 로그인이 완료된 상기 사용자 단말로부터 복수의 접근 요청이 순차적으로 수신되면, 상기 복수의 접근 요청 각각에 대해서 인증용 가상코드 기반의 제2 인증을 수행하고, 상기 제2 인증을 통해 상기 복수의 접근 요청 각각에 대해 정상적인 접근인지를 판단하는 프로세서;를 포함하고,
    상기 접근 요청은, 거래 요청 시점에 발생되거나 주기적으로 발생되는,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버.
  2. 제1 항에 있어서,
    상기 프로세서는, 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 비정상적인 접근인 것으로 판단되면, 상기 판단된 시점에 상기 사용자 단말의 로그인 세션을 종료하고,
    상기 시점 이후에 상기 사용자 단말로부터의 최초 접근에 대해서는 상기 제1 인증을 수행하는,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버.
  3. 제1 항에 있어서,
    상기 프로세서는, 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 정상적인 접근인 것으로 판단되면, 상기 특정 접근 요청에 포함된 거래 데이터를 기반으로 거래를 진행하는
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버.
  4. 제1 항에 있어서,
    상기 인증용 가상코드는, 상기 접근 요청의 수신 시점에 상기 사용자 단말과 연결된 IP 주소 데이터를 기반으로 상기 사용자 단말에서 생성되는,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버.
  5. 제1 항에 있어서,
    상기 인증용 가상코드는, 상기 사용자 단말에 부여된 고유값을 기반으로 상기 사용자 단말에서 생성되고,
    상기 고유값은, 상기 사용자 단말이 상기 서비스 애플리케이션에 등록 시 상기 프로세서에 의해 생성되거나 상기 사용자 단말에 의해 생성되는 것인,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 서비스 서버.
  6. 서비스 서버와 통신을 수행하는 통신 모듈; 및
    서비스 애플리케이션에 로그인하기 위해 상기 서비스 서버로 생체 정보 기반의 제1 인증의 수행을 요청하고, 상기 로그인이 완료된 후 상기 서비스 서버로 복수의 접근 요청을 순차적으로 송신하되, 상기 복수의 접근 요청 각각에 대해서 인증용 가상코드 기반의 제2 인증의 수행을 요청하는 프로세서;를 포함하고,
    상기 접근 요청은, 거래 요청 시점에 발생되거나 주기적으로 발생되는,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 사용자 단말.
  7. 제6 항에 있어서,
    상기 제2 인증을 통해 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 비정상적인 접근인 것으로 판단되면, 상기 판단된 시점에 상기 사용자 단말의 로그인 세션이 종료되고,
    상기 프로세서는, 상기 시점 이후에 상기 서비스 서버로의 최초 접근에 대해서는 상기 서비스 서버로 상기 제1 인증의 수행을 요청하는,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 사용자 단말.
  8. 제6 항에 있어서,
    상기 제2 인증을 통해 상기 복수의 접근 요청 중 특정 접근 요청에 대해서 정상적인 접근인 것으로 판단되면, 상기 특정 접근 요청에 포함된 거래 데이터를 기반으로 거래가 진행되는,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 사용자 단말.
  9. 제6 항에 있어서,
    상기 프로세서는, 상기 접근 요청의 송신 시점에 상기 서비스 서버와 연결된 IP 주소 데이터를 기반으로 상기 인증용 가상코드를 생성하는,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 사용자 단말.
  10. 제6 항에 있어서,
    상기 프로세서는, 상기 서비스 애플리케이션이 설치된 단말에 부여된 고유값을 기반으로 상기 인증용 가상코드를 생성하고,
    상기 고유값은, 상기 서비스 애플리케이션에 등록 시 상기 서비스 서버에 의해 생성되거나 상기 프로세서에 의해 생성되는 것인,
    인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 사용자 단말.
PCT/KR2023/002994 2022-03-04 2023-03-04 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법 WO2023167567A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220027972 2022-03-04
KR10-2022-0027972 2022-03-04
KR10-2023-0028299 2023-03-03
KR1020230028299A KR20230131445A (ko) 2022-03-04 2023-03-03 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2023167567A1 true WO2023167567A1 (ko) 2023-09-07

Family

ID=87884075

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/002994 WO2023167567A1 (ko) 2022-03-04 2023-03-04 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2023167567A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070088132A (ko) * 2006-02-24 2007-08-29 (주)엔도어즈 사용자인증시스템 및 그 제어방법
KR20100015239A (ko) * 2008-08-04 2010-02-12 이상훈 컴퓨터 보안 모듈 및 이를 적용한 컴퓨터 장치
KR20130053008A (ko) * 2011-11-14 2013-05-23 주식회사 잉카인터넷 고유식별자 기반 인증 관제 시스템 및 방법
JP2015001764A (ja) * 2013-06-13 2015-01-05 パナソニックIpマネジメント株式会社 認証方法、通信システム、機器およびサーバ
KR20190138953A (ko) * 2018-06-07 2019-12-17 주식회사 넵튠 인증변수를 이용한 사용자 인증 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070088132A (ko) * 2006-02-24 2007-08-29 (주)엔도어즈 사용자인증시스템 및 그 제어방법
KR20100015239A (ko) * 2008-08-04 2010-02-12 이상훈 컴퓨터 보안 모듈 및 이를 적용한 컴퓨터 장치
KR20130053008A (ko) * 2011-11-14 2013-05-23 주식회사 잉카인터넷 고유식별자 기반 인증 관제 시스템 및 방법
JP2015001764A (ja) * 2013-06-13 2015-01-05 パナソニックIpマネジメント株式会社 認証方法、通信システム、機器およびサーバ
KR20190138953A (ko) * 2018-06-07 2019-12-17 주식회사 넵튠 인증변수를 이용한 사용자 인증 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
WO2017188610A1 (ko) 인증 방법 및 시스템
WO2016129838A1 (en) Electronic device and method for processing secure information
WO2020032321A1 (ko) 가상코드 기반의 금융거래제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드 기반의 금융거래제공방법 및 가상코드 기반의 금융거래제공프로그램
WO2017119548A1 (ko) 보안성이 강화된 사용자 인증방법
WO2014104507A1 (ko) 안전 로그인 시스템과 방법 및 이를 위한 장치
WO2016137307A1 (en) Attestation by proxy
WO2015093734A1 (ko) 빠른 응답 코드를 이용한 인증 시스템 및 방법
WO2013141602A1 (ko) 인증 방법 및 그 시스템
WO2020189926A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2020050424A1 (ko) 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법
WO2020032498A1 (ko) 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
WO2015126037A1 (ko) 일회용 랜덤키를 이용한 본인 확인 및 도용 방지 시스템 및 방법
WO2020091525A1 (ko) 생체 인증을 이용한 결제 방법 및 그 전자 장치
WO2014104539A1 (ko) 패스코드 관리 방법 및 장치
WO2021080316A1 (ko) 권한 정보에 기초한 인증서를 사용하여 액세스 컨트롤하는 방법 및 장치
WO2021235893A1 (ko) 전자 디바이스 및 전자 디바이스가 레인징 기반 서비스를 제공하는 방법
WO2014196708A1 (ko) 보안토큰을 이용한 인증 방법, 이를 위한 시스템 및 장치
WO2023163514A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2016064127A1 (ko) 모바일 교차 인증 시스템 및 방법
WO2014137063A1 (ko) 어플리케이션을 이용한 인증 방법, 이를 위한 시스템 및 장치
WO2018043832A1 (ko) 보안 웹브라우저 동작 방법
WO2020235933A1 (en) System and method for payment authentication
WO2023167567A1 (ko) 인증용 가상코드 기반의 인증을 통해 해킹을 방지하기 위한 장치 및 방법
WO2013039304A1 (ko) 전자 결제를 위한 회원 등록 방법과 그를 위한 시스템, 장치 및 단말기
WO2022163893A1 (ko) 결제 서비스 제공 방법 및 이를 수행하는 전자 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23763765

Country of ref document: EP

Kind code of ref document: A1