WO2020032517A1 - 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램 - Google Patents

가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램 Download PDF

Info

Publication number
WO2020032517A1
WO2020032517A1 PCT/KR2019/009760 KR2019009760W WO2020032517A1 WO 2020032517 A1 WO2020032517 A1 WO 2020032517A1 KR 2019009760 W KR2019009760 W KR 2019009760W WO 2020032517 A1 WO2020032517 A1 WO 2020032517A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
smart card
virtual code
virtual
time
Prior art date
Application number
PCT/KR2019/009760
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 KR1020190094493A external-priority patent/KR102115013B1/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Priority to JP2021506752A priority Critical patent/JP7192089B2/ja
Priority to SG11202006096VA priority patent/SG11202006096VA/en
Priority to EP19848742.3A priority patent/EP3712830B1/en
Priority to CN201980053676.8A priority patent/CN112567413A/zh
Publication of WO2020032517A1 publication Critical patent/WO2020032517A1/ko
Priority to US16/906,606 priority patent/US11922411B2/en
Priority to IL280506A priority patent/IL280506B2/en
Priority to JP2022195446A priority patent/JP2023027187A/ja

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

Definitions

  • the present invention relates to a smart card for generating and providing a virtual code, and a method and a program thereof. More specifically, the virtual code generates a virtual code that is not duplicated at each time point and provides the external code to make payment. It relates to a smart card for generating and providing a method and a program thereof.
  • Code form data is used in many areas.
  • IPIN number and social security number for user identification are code form data.
  • An integrated circuit card is a card in which a semiconductor memory device (IC memory) is inserted into a credit card or a cash card.
  • the IC card has an IC connector or antenna that can communicate with an external device to transmit information stored in the IC memory, and inserts the IC card into the card reader, or uses a short range wireless communication technology.
  • the problem to be solved by the present invention is to provide a smart card, a method and a program for generating and providing a virtual code that can search for the actual card number without exposing the actual card information during the payment process using the card.
  • the problem to be solved by the present invention is to provide a smart card, a method and a program for generating and providing a virtual code that is not duplicated every time a payment request using a smart card.
  • the problem to be solved by the present invention is to provide a smart card and method and program for generating and providing a virtual code that can be used in place of the actual card information while maintaining the existing payment system and device.
  • Smart card for generating and providing a virtual code for solving the above problems is a communication interface, which can receive the first power from an external device, and communicates with the external device, based on a specific time point
  • the time measurement module for measuring time data from the initial time value given by, a virtual code generation unit for generating a virtual code based on the time count counted based on the time data using the first power source, the virtual code generation unit and the virtual Provide a code to the outside, including the communication interface, including a virtual code providing unit, wherein the virtual code is a virtual card number or a virtual token, matched to the actual card number by a virtual code generation function previously stored in the smart card It is generated as a code, which is used to search for the actual card number in the virtual code verification server, the time side Module includes a clock and measuring the time data, clock battery for supplying a second voltage to the clock.
  • the communication interface may include at least one of an IC connector or an antenna, and the IC connector may be configured to physically contact the external device to supply first power from the external device when the smart card is used as a contact type.
  • the antenna receives first power from the external device without physically contacting the external device.
  • the external device may be a user terminal, and the first power may be supplied with a smart card tagged to the user terminal.
  • the virtual code providing unit may include a display unit and output the virtual code to the display unit in the form of a code value or an image code.
  • the apparatus may further include a fingerprint recognition unit for recognizing a user's fingerprint and confirming a use right, wherein the virtual code generation unit generates a virtual code only when the fingerprint recognized through the fingerprint recognition unit matches pre-registered fingerprint information. It features.
  • the first time count measured by the time measurement module is verified to match the second time count measured by the virtual code verification server, and the difference between the first time count and the second time count is within a specific error range. If it is determined to match.
  • the virtual code verification server stores and manages a time correction value in a unit count that matches the actual card number.
  • the time correction value is specified based on an error history measured for each user. The count may be verified by reflecting the time correction value.
  • the virtual code may be generated by combining a plurality of detailed codes.
  • the plurality of detailed codes may include: a first code for setting a start point of a storage location search; And a second code for setting a search path from the starting point to the storage location according to a specific search method.
  • a method for generating and providing a smart card-based virtual code wherein the smart card is supplied with a first power source from the outside, and the smart card uses the first power source.
  • the measurement module includes a clock for measuring the time data and a clock battery for supplying a second power source to the clock.
  • the smart card may include at least one of an IC connector and an antenna, and the IC connector may receive a first power supply from the external device by physically contacting an external device when the smart card is used as a contact type.
  • the antenna is characterized in that when the smart card is used in a non-contact manner, the first power is supplied from the external device without physically contacting the external device.
  • the external device is a user terminal, the step of receiving the first power from the external, characterized in that the smart card is tagged with the user terminal to receive the first power.
  • the smart card may include a display unit, and the providing of the virtual code to the outside may include outputting the virtual code in the form of a code value or an image code to the display unit.
  • the smart card further comprises the step of recognizing the user's fingerprint to check the usage rights, wherein the smart card is characterized in that it generates a virtual code only if the recognized fingerprint matches the pre-registered fingerprint information. .
  • the difference between the first time count and the second time count is within a specific error range. It is characterized in that it is determined to match.
  • the virtual code verification server stores and manages a time correction value in a unit count that matches the actual card number.
  • the time correction value is specified based on an error history measured for each user. The count may be verified by reflecting the time correction value.
  • the virtual code may be generated by combining a plurality of detailed codes.
  • the plurality of detailed codes may include: a first code for setting a start point of a storage location search; And a second code for setting a search path from the starting point to the storage location according to a specific search method.
  • the smart card-based virtual code generation and providing program according to another aspect of the present invention for solving the above-described problem is executed in combination with a computer which is hardware to generate and provide the smart card-based virtual code, the medium Are stored in.
  • a virtual card that is, a virtual card number or a virtual token
  • the actual card information can be prevented from being leaked.
  • the virtual code is generated based on a different time count for each payment request, it is possible to generate a non-overlapping virtual code, so that even if the virtual code is leaked at a specific time point, the damage caused by the same can be prevented. It provides the effect that the actual card information is not leaked.
  • the virtual code of the same format as the actual card number, etc. it is possible to maintain the existing payment process using the actual card number. For example, if an application providing a financial transaction service generates and provides a virtual card number that is not duplicated, the POS device and the PG company server are kept intact, and the virtual card number is transmitted to the token service server or the financial company server, and the token is provided. The service server or the financial institution server may search for the actual card number corresponding to the virtual card number and proceed with the payment. Through this, it is possible to minimize the parts that need to be changed in the existing process in order to increase security, and the user does not have to perform a separate step for improving security.
  • FIG. 1 is a block diagram of a system for generating and providing a smart card based virtual code according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of a smart card according to an embodiment of the present invention.
  • FIG 3 is an exemplary diagram of a communication interface included in a smart card according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of a time measurement module according to an embodiment of the present invention.
  • FIG. 5 is an exemplary view of a virtual code providing unit including a display unit according to an embodiment of the present invention.
  • FIG. 6 is an exemplary diagram illustrating a state in which a smart card according to an embodiment of the present invention is tagged and used by a user terminal.
  • FIG. 7 is an exemplary view illustrating a fingerprint recognition unit included in a smart card according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of a method for generating and providing a virtual code by a smart card according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a method for generating and providing a virtual code by a smart card when a fingerprint recognition unit is added according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a method for generating and providing a virtual code by a smart card when a step of verifying whether a time count matches is added according to an embodiment of the present invention.
  • 11 is a flowchart illustrating in detail a step of verifying whether a time count matches according to an embodiment of the present invention.
  • FIG. 12 is a flowchart schematically illustrating a process of verifying whether a time count matches and determining whether a payment is approved according to an embodiment of the present invention.
  • the term "smart card” refers to a card capable of generating and providing a virtual code.
  • it is an arbitrary card that can conduct financial transactions, such as credit card, check card, cash card, there is no limitation on the type and purpose of the card.
  • letter is a component constituting the code, and includes all or part of uppercase alphabet, lowercase alphabet, numbers and special characters.
  • code means a string in which characters are listed.
  • card number is used for a financial transaction such as payment, and means a number given to a card and delivered to a card company in a situation such as payment and cancellation of payment.
  • a "real card number" is a number assigned to a card of a specific user by a card company. That is, the actual card number means a number given to a general physical card, mobile card, and the like.
  • virtual code is a card number which is temporarily generated to be connected to an actual card number, and is a code of a specific digit consisting of letters including numbers.
  • the virtual code includes a virtual card number used to search for a real card number in a financial company server, a virtual token used to search for a real card number in a virtual token verification server.
  • the "detail code” means a part code included in the virtual code. That is, when the virtual code is generated by combining a plurality of separately generated codes, the detailed code refers to individual codes that are generated separately and constitute the virtual code.
  • unit count is a unit defined as a specific time interval, and is changed as the time interval elapses. For example, one count may be set and used at a specific time interval (eg, 1.5 seconds).
  • virtual code generation function means a function used to generate virtual code.
  • the "detailed code generation function” means a function for generating each detailed code constituting the virtual code.
  • the "detail code combining function” means a function of combining or combining a plurality of detailed codes to generate a virtual code (for example, a virtual card number or a virtual token).
  • a "user terminal” is any device capable of performing arithmetic processing to provide a result to a user.
  • a computer can be a desktop PC, a notebook, as well as a smart phone, tablet PC, cellular phone, PCS phone (Personal Communication Service phone), synchronous / asynchronous
  • the mobile terminal of the International Mobile Telecommunication-2000 (IMT-2000), a Palm Personal Computer (PLM), a Personal Digital Assistant (PDA), and the like may also be applicable, but is not limited thereto.
  • short-range wireless communication refers to a wireless communication technology that performs communication wirelessly as a physically separated terminal contacts or approaches.
  • the short range wireless communication may correspond to a method of wireless communication in a state where a plurality of terminals are located within a range that can be controlled by hand while the user directly checks.
  • FIG. 1 is a block diagram of a system for generating and providing a smart card based virtual code according to an embodiment of the present invention.
  • a system for generating and providing a smart card-based virtual code includes a smart card 100 and an external device 200, and the server 300 as necessary. It may further include.
  • Smart card 100 is a card that can perform a financial transaction, a card that performs a financial transaction using a virtual code instead of the actual card information.
  • it is an arbitrary card that can conduct financial transactions, such as credit card, check card, cash card, there is no limitation on the type and purpose of the card.
  • the material of the smart card 100 is any material, such as stainless steel, titanium, aluminum and amorphous alloys or non-metal materials as a metal material, and is not limited to the above-described examples.
  • the smart card 100 directly generates a virtual code used for financial transactions without receiving data from the outside.
  • the smart card 100 operates only upon a financial transaction request to generate and provide a virtual code, and the power required for generating and providing the virtual code ("first power" in this specification) is supplied from the outside. That is, the smart card 100 does not need to have a separate battery for supplying power required for generating and providing a virtual code. Therefore, the manufacturing cost of the smart card 100 can be reduced and the use of the smart card 100 is not restricted due to the life of the battery.
  • the smart card 100 does not include a battery for supplying power for driving other components other than a power source for driving the clock 121 for measuring time ("second power source” herein). . That is, all the power for driving the configuration other than the clock 121 in the smart card 100 are the first power supplied from the outside at the time when the financial transaction request is made by the user, and the smart card 100 is the clock 121. It may include only the clock battery 122 for supplying a second power for driving ().
  • the form in which the smart card 100 is supplied with power from the outside varies depending on whether the financial transaction request method is made in a contact type or a non-contact type and will be described in detail later.
  • the smart card 100 measures time data from an initial time value given based on a specific time point.
  • the virtual code is generated based on the time count counted based on the time data.
  • the time data used for generating the virtual code is also measured directly by the smart card 100 itself without receiving from the outside.
  • the time data should be continuously measured from a specific time point (for example, the point of use of the card or the time of card manufacture) as well as the request for financial transaction. That is, if the smart card does not measure the current time, the server may not generate a normal virtual code that can be determined to be valid at this time. Thus, the smart card continues to measure time while no external power is provided to obtain the same point in time as the server.
  • the clock battery 122 may be a battery having a capacity capable of driving only the clock 121 for a specific period of time. For example, when the expiration date of the smart card 100 is set to five years from the production time of the smart card 100 or when the user starts using the smart card 100, the smart card 100 measures time. A clock battery 122 capable of driving the clock 121 to be performed for five years may be included.
  • the time data measured by the clock 121 plays a key role in verifying whether the virtual code is normally generated at the time of the financial transaction request.
  • a detailed description of the time measurement module 120 including the clock 121 and the clock battery 122 will be described later.
  • the smart card 100 serves to provide the generated virtual code to the outside.
  • the smart card 100 is not limited to the configuration of providing the virtual code to the outside and the subject of providing the virtual code to the outside.
  • the component that provides the virtual code may be a communication interface 110 included in the smart card (100).
  • the virtual code may be transmitted by physically contacting the external device 200 through the IC connector 111 included in the communication interface 110.
  • the virtual code may be transmitted by wireless communication without physically contacting the external device 200 through the antenna 112 included in the communication interface 110.
  • the smart card 100 may improve the security by applying the encryption method used for the virtual code in the financial transaction.
  • it can be generated through the communication interface 110 to generate a payment standard, such as EMV standard.
  • the smart card 100 may include a configuration that can provide a virtual code visually.
  • the smart card 100 may include a separate display unit 141 and may be output and provided to the display unit 141 so that the user can visually check the virtual code.
  • the form in which the virtual code is visually provided may be provided as a code value itself consisting of a combination of numbers and / or letters, or may be provided in the form of an image code such as a barcode or a QR code. It is possible.
  • the virtual code is visually displayed on the screen of the user terminal through software and applications installed or embedded in the user terminal serving as the external device 200 from the smart card 100. It is also possible to indicate. That is, even if the display unit 141 is not provided in the smart card 100, it is also possible to output through the screen of the user terminal.
  • the smart card 100 generates a virtual code in response to receiving the first power from the user terminal that is the external device 200, and wireless communication (for example, to a dedicated application in the user terminal). , NFC communication) can be transmitted through the virtual code. Through this, the user can visually check the real-time virtual code of the smart card 100 in a dedicated application.
  • the external device 200 is any device that supplies the first power to the smart card 100 when a financial transaction using the smart card 100 is requested.
  • the external device 200 may be a card reader (eg, an IC card reader or an NFC reader) that is an electronic device that reads a card.
  • the smart card 100 is manufactured in the same standard as a general IC card or NFC card, it can be used in the same card reader (for example, IC card reader or NFC reader). . That is, there is an advantage that the card reader device and the financial transaction system installed in the affiliated store can be used as it is.
  • a user terminal such as a mobile device possessed by the user may serve as the external device 200.
  • a virtual code for example, a virtual card number or a virtual token
  • the user may provide a first power source to the smart card 100 without using an IC card reader or an NFC reader to provide a virtual power.
  • the code must be provided visually.
  • the user may tag the smart card 100 to a user terminal serving as the external device 200 to receive the first power from the user terminal by using short-range wireless communication.
  • the smart card 100 may output the virtual code to the display unit 141 provided in the smart card 100 using the first power supplied from the user terminal.
  • the virtual code may be delivered to the user terminal in the form of a message, or provided to be confirmed through a dedicated application. Specific embodiments will be described later with reference to the exemplary drawings.
  • the external device 200 may not only supply the first power to the smart card 100, but also communicate with the smart card 100 to receive a virtual code and to process a financial transaction request. have.
  • the form of processing the financial transaction request may be made in a variety of ways, such as to approve the financial transaction itself in the external device 200, or transmit the financial transaction-related information to the server (300).
  • the external device 200 serves only to supply the first power to the smart card 100, it may be provided with a separate device for processing the financial transaction request.
  • a system for generating and providing a smart card based virtual code may further include a server 300.
  • the server 300 is a virtual code verification server for verifying the virtual code generated by the smart card 100.
  • the virtual code verification server may be a virtual token verification server (ie, Token Service Provider Server; TSP Server) or a financial institution server.
  • a virtual token verification server ie, Token Service Provider Server; TSP Server
  • TSP Server Token Service Provider Server
  • financial institution server ie, a financial institution server
  • Virtual Token Verification Server is a server that stores the actual card number and searches for the actual card number based on the virtual token and provides it to a payment service server or a financial institution server.
  • the "financial company server” is a server that searches for a real card number using a virtual code (ie, a virtual card number) and determines whether the payment is approved based on this.
  • the server 300 includes a virtual code verification means and determines whether to approve payment based on the actual card number, searches for the actual card number based on the virtual code, and verifies the virtual code. On the other hand, such a role may be made through the external device 200, rather than the server 300 is configured separately.
  • FIG. 2 is a block diagram of a smart card according to an embodiment of the present invention.
  • the smart card 100 includes a communication interface 110, a time measurement module 120, a virtual code generator 130, and a virtual code provider 140. do.
  • the communication interface 110 receives the first power used for generating the virtual code from the external device 200 by the smart card 100 and communicates with the external device 200 to transmit and receive information.
  • the communication interface 110 includes an IC connector 111 or an antenna 112.
  • the IC connector 111 is used when the smart card 100 is used as a contact type such as being inserted into the external device 200, and the antenna 112 is used when the smart card 100 is used without contact through wireless communication. .
  • IC connector 111 is a contact pad that is exposed so that the circuit pattern included in the smart card 100 can contact the outside.
  • the IC connector 111 receives the first power from the external device 200 by physically contacting the external device 200 when the smart card 100 is used as a contact type.
  • the antenna 112 is a configuration for wireless communication required to use the smart card 100 in a non-contact manner, detects radio frequency signals around the smart card 100 to send and receive data and communicate with the external device 200. Do it.
  • the antenna 112 receives first power from the external device 200 without physically contacting the external device 200.
  • the antenna 112 is any antenna, such as a loop antenna, a coil antenna, and the like, and is not limited in kind.
  • the antenna 112 may be embedded separately from the IC chip in the smart card, it may be provided in the IC chip.
  • the time measurement module 120 continuously measures the time data that is the basis of the time count that is the basis of virtual code generation from a specific point of time (for example, starting point of card use or time of card manufacture).
  • the time count is a value counted based on the time data measured from the initial time value given based on a specific time point to the time when the user requests a financial transaction, even when the same smart card 100 is repeatedly used. Since the time of the transaction request will be different each time, the time data measured up to the time of the transaction request and the time count counted based on this time will also have different values. Therefore, in the present invention, the time data plays a key role in generating virtual code that is not duplicated every time according to the transaction request time. In addition, the virtual code can be generated so as not to be duplicated regardless of the generation time and the user at every point in time, even if the leaked virtual code at a particular point of time cannot be used after that point. The financial damage that can be caused by information leakage can be prevented, which enhances security.
  • the time measurement module 120 includes a clock 121 and the clock battery 122.
  • the clock 121 measures time data measured from an initial time value given based on a specific time point of the smart card 100 to a user's transaction request point.
  • the smart card 100 does not need to receive separate time data from the outside in order to measure the time data. That is, the time data is measured without communication with the outside in the smart card 100 itself, thereby providing more enhanced security.
  • the clock 121 does not operate only at the time of the transaction request of the user, but operates continuously from the time of manufacture of the card and measures time data. Accordingly, the clock 121, unlike the virtual code generation unit 130 and the virtual code providing unit 140 that operates only at the time of the financial transaction request of the user should also be continuously made. Therefore, the power provided to the virtual code generation unit 130 and the virtual code providing unit 140 ("first power supply” herein) and the power provided to the clock 121 (“second power supply”) are It is characterized by being distinguished.
  • the first power is not a power supplied from the smart card 100, but is a power supplied by the smart card 100 from the external device 200 at the time of the transaction request of the user. Therefore, the power supplied only during the financial transaction process, the virtual code generation unit 130 and the virtual code provider 140 also operates only during the financial transaction to generate and provide virtual code.
  • the second power source is a power source supplied by itself in the smart card 100.
  • the time measurement module 120 of the smart card 100 includes a clock battery 122.
  • the clock battery 122 is an internal battery provided in the smart card 100 that supplies power only to the clock 121. Since the clock battery 122 does not supply power to components other than the clock 121, a large capacity is not required, and the clock battery 122 may be a battery having a capacity capable of supplying power only for a specific period of time.
  • the clock life of the clock battery 122 of the present invention is determined by the user's smart card 100. There is no problem in supplying power continuously without discharging during service period.
  • the clock battery 122 may be replaced at regular intervals, or the user may charge the clock battery 122 by itself by providing the rechargeable smart card 100.
  • the smart card 100 may provide the remaining life of the clock battery 122 so that the user of the smart card 100 can check.
  • the virtual code generation unit 130 generates a virtual code based on the counted time count based on the time data measured by the clock 121 through the virtual code generation function. As described above, when the virtual code generation unit 130 is connected to the external device 200 in contact or contactless manner only at the time of the financial transaction request of the user, the virtual code generation unit 130 receives the first power from the external device 200 to operate the virtual code. Create
  • the virtual code may be generated by combining a plurality of detailed codes used to verify the virtual code or search for the actual card number matching it.
  • the virtual code generation function may include a detail code generation function for generating a plurality of detail codes and a detail code defect function for combining the plurality of detail codes.
  • the plurality of detailed codes may include a first code for setting a start point of a storage location search and a second code for setting a search path from the start point to the storage location according to a specific search method. .
  • a detailed description of the process of searching for the actual card number or verifying the virtual code based on the virtual code in the server 300 will be described later.
  • the virtual code providing unit 140 serves to provide the virtual code generated by the virtual code generating unit 130 to the outside.
  • the method of providing to the outside is not limited to the configuration of providing the external form and the subject of providing the virtual code to the outside. The detailed description is omitted since it is duplicated.
  • FIG 3 is an exemplary diagram of a communication interface included in a smart card according to an embodiment of the present invention.
  • the communication interface 110 included in the smart card 100 includes one or more of an IC connector 111 or an antenna 112.
  • the IC connector 111 and the antenna 112 are shown in FIG. 3, but may include only one, and each configuration is not limited to a position located on the smart card 100.
  • the role of each of the IC connector 111 and the antenna 112 is omitted because it overlaps with the above description.
  • FIG. 4 is a block diagram of a time measurement module according to an embodiment of the present invention.
  • the time measurement module 120 includes a clock 121 and a clock battery 122, and the clock 121 continuously operates by receiving a second power from the clock battery 122. . Detailed description of each role is omitted because it overlaps with the above description.
  • FIG. 5 is an exemplary view of a virtual code providing unit including a display unit according to an embodiment of the present invention.
  • the display unit 141 is shown on the exterior of the smart card 100 as an embodiment of the virtual code providing unit 140.
  • the display unit 141 is illustrated at the lower right side, but the display unit 141 is not limited to a position on the smart card 100.
  • the output virtual code is shown as "0000 0000 0000 0000" for convenience as a numeric string matching the number of digits of the actual card number. It is also possible to display an image code such as a QR code. It may be in any form provided visually.
  • the display unit 141 is not limited to a general flat panel display, LCD, LED, OLED, flexible display, etc., a specific example, the electronic paper (E-Paper) Can be.
  • Electronic paper is a display technology that applies the characteristics of general ink to paper, and uses reflected light as a general paper, unlike a flat panel display that uses a backlight to shine pixels. Therefore, the virtual code once output can be displayed without power consumption and is not damaged even when folded or bent.
  • FIG. 6 is an exemplary diagram illustrating a state in which a smart card according to an embodiment of the present invention is tagged and used by a user terminal.
  • the smart card 100 is tagged with the user terminal to be wirelessly connected to the user terminal, thereby providing a first power source. You can proceed with financial transactions by receiving.
  • the virtual code is output through the display unit 141, but the virtual code is displayed in the form of a message to the user terminal. It is also possible to provide virtual code through software provided in the user terminal or installed. This can be useful when paying online, and can also be used when you need to enter or visually check the virtual code at an offline store as needed.
  • FIG. 7 is an exemplary view illustrating a fingerprint recognition unit included in a smart card according to an embodiment of the present invention.
  • the smart card 100 may further include a fingerprint recognition unit 150.
  • the fingerprint recognition unit 150 recognizes the user's fingerprint and verifies whether the user who requested the financial transaction through the corresponding smart card 100 has a right of use. Therefore, even if the user loses the smart card 100, the third party can prevent the third party from acquiring and using the smart card 100, thereby enhancing the security by serving as a primary filtering function.
  • the fingerprint recognition unit 150 recognizes the user's fingerprint, and verifies whether the right of use is determined by determining whether it matches the fingerprint information registered in advance in the smart card 100. Detailed description thereof will be described later.
  • the fingerprint recognition unit 150 is shown at the upper right side for convenience, but the fingerprint recognition unit 150 is located on the smart card 100.
  • FIG. 8 is a flowchart of a method for generating and providing a virtual code by a smart card according to an embodiment of the present invention.
  • a step of receiving a first power from an external source (S400) and using a first power source may be performed.
  • step S400 the smart card 100 is contacted or contactlessly connected to the external device 200 at the time of the transaction request to receive the first power from the external device 200
  • step S500 is a smart card
  • 100 is a step of generating a virtual code based on the time count measured by the time measurement module 120, using the first power supply
  • step S600 provides the generated virtual code to the smart card 100 to the outside. It's a step. Detailed description of each step is omitted because it overlaps with the above.
  • FIG. 9 is a flowchart illustrating a method for generating and providing a virtual code by a smart card when a fingerprint recognition unit is added according to an embodiment of the present invention.
  • the method may further include a step (S450) of checking a user's fingerprint by comparing the fingerprint of the user with reference to FIG. 8.
  • the smart card 100 further includes a fingerprint recognition unit 150, and the fingerprint recognition unit 150 recognizes the user's fingerprint and has a pre-stored right user's fingerprint. This step checks whether the information matches. For example, if the pre-stored fingerprint information and the input fingerprint information do not match, the smart card 100 may not proceed with the virtual code generation procedure. As another example, the smart card 100 proceeds separately from the fingerprint recognition and virtual code generation, and if the pre-stored fingerprint information and the input fingerprint information does not match, perform a separate identity authentication procedure during the financial transaction (for example, financial Enter a PIN number at the transaction terminal).
  • a separate identity authentication procedure for example, financial Enter a PIN number at the transaction terminal.
  • the user is issued a smart card 100 and undergoes a user registration process.
  • the smart card 100 of the initial state issued to the user may be provided with a small amount of power enough to proceed with the user registration process, in this case using the above-described clock battery 122 or a separate A battery may be provided.
  • the user registers user information in the smart card 100 using the small amount of power, and the user information includes fingerprint information of the user.
  • the smart card 100 stores and manages fingerprint information of a user having a right to use a right, and it is also possible to add or register a user afterwards.
  • FIG. 10 is a flowchart of a method for generating and providing a virtual code by a smart card when a step of verifying whether a time count matches is added according to an embodiment of the present invention.
  • a step (S700) of searching for an actual card number storage location and a step (S800) of verifying whether a first time count and a second time count match in the server are further added.
  • the server 300 searches for a unit count (storage location) in which the actual card number matching the virtual code received by the storage location search algorithm is stored using the virtual code verification means. Detailed descriptions of the virtual code verification means and the searching method will be given later.
  • the "first time count” is a time count counted based on the time data measured by the time measurement module 120 of the smart card 100
  • the "second time count” is a corresponding smart in the server 300.
  • the second time count is a server ( 300 is a time count counted based on time data measured based on a GPS (Global Positioning System) base or the like.
  • the server 300 verifies the virtual code received from the external device 200, the server 300 checks whether the first time count and the second time count coincide with each other so that the received virtual code is normally generated at the corresponding transaction request point. Verify that it is virtual code Detailed description of the verification process will be described later.
  • 11 is a flowchart illustrating in detail a step of verifying whether a time count matches according to an embodiment of the present invention.
  • the virtual code generated by the smart card 100 is provided to the external device 200 through steps S400 to S600.
  • the external device 200 transmits the provided virtual code to the server 300 (S610).
  • steps S700 to S830 are performed in the server 300 for convenience, but may be performed in the external device 200 itself.
  • the server 300 searches for a storage location of the actual card number matching the received virtual code (S700), and a second time count in which the first time count based on the received virtual code is measured by the server 300 itself. It is verified whether or not to match (S800), and determines whether to approve the financial transaction according to the verification result (S830). Detailed description thereof will be described later with reference to FIG. 12.
  • FIG. 12 is a flowchart schematically illustrating a process of verifying whether a time count matches and determining whether to approve payment according to an embodiment.
  • the step S800 of verifying whether the first time count and the second time count coincide in the server 300 includes extracting the second time count (S810). And determining whether the first time count matches the second time count (S820) and determining whether to approve payment (S830-1, S830-2).
  • the server 300 extracts a second time count corresponding to the found actual card number.
  • the server 300 compares the extracted second time count with the first time count to determine whether they match. As a result of the determination, when the first time count and the second time count coincide with each other, the server 300 approves the payment to process the requested financial transaction, and when the mismatch is found, rejects the requested financial transaction (S830-1, S830-2).
  • step S820 even if the first time count and the second time count does not perfectly match in step S820, if the difference between the first time count and the second time count falls within a specific error range can be determined to match. have. This is to allow more flexible verification in consideration of the possibility that an error occurs in the first time count measured by the smart card 100 or the second time count measured by the server 300.
  • the server 300 sets an error range by a specific count before and after the second time count measured by the server 300, and if the first time count has a count value within the corresponding range, the first time count and the second time count. The payment is approved by determining that the time counts match.
  • the server 300 may store and manage a time correction value in a unit count matching the actual card number.
  • the "time correction value" is specified based on the error history measured for each user, and is a value different according to the user, the sun, the frequency of use, and the like. That is, the time correction value is not a fixed value but a value specified based on the measured and recorded data for each user.
  • the server 300 verifies whether or not the time correction value coincides with the second time count based on the value reflected in the first time count. Through this, it is possible to minimize the transaction obstacles caused by the fundamental error that can occur in the time value measured by the time measuring device, and the time correction value that considers different usage habits for each user is used to provide more accurate time count verification. It becomes possible.
  • the server 300 may include the same virtual code generation function as the smart card 100. That is, the server 300 checks whether the virtual code generated by using the same virtual code generation function and the virtual code received from the smart card 100 are identical to verify whether the virtual code is normally generated, and matches the actual card. You can search for numbers.
  • the virtual code may be generated by combining a plurality of detailed codes used to verify the virtual code or search for the actual card number matching it.
  • the server 300 searches for the storage location of the actual card number in the storage location search algorithm using the first code and the second code.
  • the server 300 may set a search path from the start point to the storage location according to a first code and a specific search method for setting a start point of the storage location search included in the plurality of detailed codes.
  • a search path from the start point to the storage location according to a first code and a specific search method for setting a start point of the storage location search included in the plurality of detailed codes.
  • the server 300 sets the position corresponding to the first code as a starting point, and based on the second code according to the search method applied to the second code, the server 300 is assigned to the actual card number in the arrangement state of the k-square. Search for a matched point (ie, a particular vertex of a k-square). The actual card number matches each vertex of the k-square. The point where the first code track (that is, the first track) and the k-square correspond to the storage location search start point corresponding to the first code. The server 300 searches for a matching point of the card storage location for authentication based on the second code at the search starting point.
  • the server 300 may have an angle corresponding to the second code at a position on the first track where the k-squares are in contact (for example, a specific angle of 180 degrees divided by M N to face the vertices of the k-squares). According to the indication, the vertex of the k-square that is the storage location of the actual card number can be searched based on the virtual code.
  • the server 300 may refer to the entire center angle (ie, 360 degrees) based on the center of the k-square and the contact point on the first track. ) Is divided into M N , and each angle is matched to M N second codes. At this time, the direction of the line moving a certain number of unit angles (that is, 360 degrees / M N ) from the line connecting the center of the k-square and the contact point on the first track becomes a specific vertex of the k-square. Therefore, when a second code corresponding to a specific angle is received, the server 300 may search for a vertex located in the corresponding angle direction.
  • the specific position of the second code may be used to determine the angle calculation direction. That is, when generating the second code using N characters (N is a natural number), the angle measurement direction may be determined by one digit. For example, when the server 300 matches the second code to each angle by dividing the entire center angle (that is, 360 degrees) based on the center of the k-square and the contact point on the first track, the center of the k-square is matched. The angle measured in the left direction or the angle measured in the right direction from the line connecting the contact point on the first track can be determined as the value of one digit.
  • the method of searching for the storage location of the actual card number in the k-square based on the second code is not limited thereto, and stores a point that divides the point on the k-square corresponding to the second code and the contact point on the first track by a specific ratio.
  • Various methods, such as searching by location, may be applied.
  • the storage location search algorithm moves on a track based on a plurality of detailed codes constituting a virtual code and moves to a point matched with a real card number storage location.
  • the point matched with the actual card number storage location may be a point on the track corresponding to the count (that is, time point) that issued the actual card number to the virtual code generating means.
  • the virtual code verifying means sets the count on the track to which the code value corresponding to the first code is matched as a search start point, and the second code (or the extraction code is set to the second code). If used, the point on the track (i.e., the actual card) is returned from the search start point along the track by the count value calculated by applying the inverse function of the extraction code generation function to issue the virtual card number to the virtual code generating means. Search for the number matching the number storage location).
  • the virtual code verification means 20 may perform a movement track (ie, a second movement track) for a second code arranged in parallel with a movement track (ie, a first movement track) for a first code.
  • the search start point moved by the first code is set as the origin, and is arranged in the reverse direction to the moving direction according to the first code.
  • the virtual code verifying means moves to the position of the code value corresponding to the second code on the second movement track, and searches for a point on the first movement track corresponding to this position to the actual card number storage position.
  • the virtual code verification means requests the financial transaction proceeding or the financial transaction proceeding to the actual card number extracted from the storage location.
  • the smart card 100 In order to use a virtual code while maintaining an existing financial transaction system (for example, a POS device and a PG company server when the financial transaction is payment in a store), the smart card 100 has the same number of digits as the actual card number. Branch code must generate virtual code.
  • the smart card 100 generates a virtual code by combining a plurality of detailed codes, but generates a detailed code to be the code of the same digits as the actual card number.
  • the virtual code may be generated by combining a plurality of detailed codes such as a fixed code, an OTP code, a conversion code, and an extraction code according to a specific rule.
  • the virtual code generation function may include an OTP function, an extraction code generation function, and a detailed code combining function for generating an OTP code.
  • the smart card 100 generates the OTP code based on the OTP function stored therein at the time when the virtual code generation is requested.
  • the smart card 100 reflects the count (that is, the time point at which the virtual code corresponding to the actual card number is requested for the financial transaction from the user) based on the specific seed data (or serial number).
  • Generate OTP code The OTP code is generated in a specific number of numerical arrays based on an OTP function and used for calculating a conversion code. That is, when the virtual code is transmitted to the virtual code verifying means (for example, a virtual code verifying server), the virtual code verifying means searches for the conversion code based on the OTP number, and then converts the converted code into the actual card number storage location search. Used as the first code or the second code used.
  • the smart card 100 is used as a seed data of the OTP function, the count issued by the real card number to the specific user in the financial company server or registered the real card number in the virtual token verification server. That is, the virtual code verification means (that is, the financial company server or the virtual token verification server) uses the actual card number issuing count or the actual card number registration count distinguished for each user as seed data. Through this, the virtual code verifying means may search for the count of which the actual card number is issued or registered by using the OTP code extracted from the virtual code. In addition, through this, the smart card 100, since the actual card number of another user is registered or issued a different count, the OTP function is driven using different seed data. That is, the smart card 100 may generate different OTP codes at the same time point for each user by using different actual card number registration or issue counts as seed data for each user.
  • the OTP code generated by the smart card 100 is used to calculate the conversion code used as the first code or the second code in the virtual code verification server. That is, the OTP code is input to the conversion code generation function as a seed value and used to generate a specific conversion code.
  • the conversion code generation function may be stored in the virtual code verification server.
  • the smart card 100 may include a conversion code generation function to generate a conversion code to the OTP code when the conversion code is used as a seed value in the extraction code generation function.
  • the conversion code may be matched one-to-one with the OTP code according to a specific rule. That is, the conversion code generation function may form a one-to-one matching relationship between the OTP code and the conversion code having different digits.
  • the conversion code is calculated by inputting a count value for generating the OTP code and a virtual code into a conversion code generation function as a seed value. That is, the conversion code generation function may generate a different conversion code according to the count value even if the same OTP value is used as the seed value by using the OTP code and the count value requested for generating the virtual code as the seed value.
  • the OTP code is a numeric string having a smaller number of digits than the conversion code
  • the first code or the second code used for searching the actual card number storage location may be used as the number of conversion codes when the OTP code is larger than the OTP code.
  • the smart card 100 when the fixed code is newly assigned to a virtual code of a specific card type, the smart card 100 generates a specific number combination that is placed in place of the valid period as a variable code,
  • the variable code and the OTP code can be used together as the seed (i.e. variable) of the conversion code generation function. That is, the conversion code is generated by using the variable code and the OTP code as seed values.
  • the number combinations arranged in the validity period are generated by changing each unit count, and can be used as the actual validity period, and are included within the maximum period from the current count.
  • the validity period must be a value within the validity period from the present time. For example, when the valid period of the actual card is five years, the smart card 100 generates a number combination corresponding to the year and month combination within five years from the time the payment is requested according to a specific rule.
  • the number difference between the combination of the OTP code and the variable code and the conversion code is reduced. For example, if a number combination within 5 years is used within the expiration date, and only 3 digits are used as the OTP code and 9 digits are used as the conversion code, 60 number combinations may be used as the variable code.
  • the combination of codes is 60 * 10 3 , so that the difference in the number of cases is reduced compared to using only OTP codes as seed values without variable codes.
  • the smart card 100 serves to generate an extraction code used as the first code or the second code used for the actual card number storage location search in the virtual code verification means (for example, the virtual code verification server).
  • the virtual code verifying means uses the converted code calculated based on the OTP code as the first code
  • the virtual code verifying means uses the extracted code as the second code. That is, the conversion code or the extraction code is used as the first code or the second code according to the condition set by the virtual code verification means.
  • the first code is for setting a starting point for searching for a storage position of an actual card number in the virtual code verification means
  • the second code is a search path from the starting point to the storage position according to a specific search method. To set it.
  • the extraction code corresponds to a conversion code calculated from an OTP code generated at the same count, so that the virtual code verification means is generated based on the extraction code in the virtual code of the specific count and the OTP code in the virtual code of the specific count.
  • the actual code number storage location is searched using the conversion code.
  • the matching relationship between the conversion code and the extraction code and the first code and the second code may be set in advance in the smart card 100 and the virtual code verification means (for example, the virtual code verification server). If the matching relationship between the conversion code and the extraction code and the first code and the second code is applied inversely, the virtual code verification server cannot search the storage location of the actual card number, so when the virtual code generation device is issued or when the virtual code generation function is stored. Is set in advance.
  • the smart card 100 includes, in one embodiment, an extraction code generation function that has a correlation with the OTP function. That is, the smart card 100 includes a function for generating a code value at the same count, which can be used with a conversion code based on an OTP code generated at a specific count, to search the actual card number storage location, as an extraction code generation function. do.
  • the smart card 100 inputs the OTP code itself into the extraction code generation function as a seed value, the extraction code that can find the actual card number storage location with the conversion code (that is, converted to a specific count) Extract code that correlates with the code).
  • the smart card 100 includes a conversion code generation function that calculates a conversion code based on the OTP code in the same way as the virtual code verification server, and generates the OTP code generated by the smart card 100. The conversion code may be generated based on the extracted code, and the extracted code may be generated by inputting the conversion code as a seed into the extraction code generation function.
  • the extraction code is generated as all or part of the number of numbers except the fixed code and the OTP code from the total number of virtual codes. That is, the smart card 100 has a valid code (for example, 4 digits) and a fixed code (for example, a total of 23 digits if the card identification number is 16 digits and the card security code is 3 digits). For example, all or part of the number of digits (for example, the range excluding the fixed code in the card identification number and the 13 digits including the range of the card security code) is a combination of the extraction code and the OTP code.
  • the columns are arranged.
  • the smart card 100 when the last digit of the card identification number is used as a check digit, the smart card 100 combines the extraction code and the OTP code in the remaining digits (for example, 12 digits) except the check digit digit. Array of numbers. Specifically, the virtual code generation unit 130 combines the OTP code and the extraction code through a detailed code combining function, and lists them in the position excluding the fixed code from the card identification number and the position of the card security code.
  • the smart card 100 generates an OTP code with fewer digits than the conversion code used as the first code or the second code in the virtual code verification means.
  • the OTP code is generated by the number of card security codes in the actual card number
  • the second code is a number of numbers excluding the fixed code, the OTP code, and an expiration date from the total number of virtual codes. It is generated in whole or in part. That is, if the card security code is 3 digits, the smart card 100 generates an OTP code with 3 digits, and the fixed code 6 digits, the expiration date 4 digits, the OTP code 3 digits and the check digit 1 out of the total number of 23 card numbers. Generate extraction code with 9 digits except digits.
  • the virtual code growth value can be used for the extraction code 9 digits in the place of the limited actual card number, the number of codes that can be used as the extraction code can be increased to improve security.
  • the extraction code can generate 9 digits with 10 numbers from 0 to 9, thereby utilizing 10 9 codes.
  • the conversion code generated based on the OTP code may be generated as a numeric string having the same number of digits as the extraction code.
  • the conversion code and the extraction code may be used as the first code or the second code in the virtual code verification server.
  • a large part of the virtual code can be utilized for the extraction code (ie, 12 digits) in the area that can be used for the OTP code and the extraction code. .
  • the smart card 100 is given a number of digits to the extraction code that is used directly as the first code or the second code, because the OTP code is given to the rest of the security Can improve.
  • the user receives the smart card 100 registered in the virtual code verification server.
  • the smart card 100 for the user is applied.
  • the smart card 100 is registered at a specific location (that is, a storage location corresponding to the time point at which the application is issued) within the virtual code verification server. After receiving the smart card 100, the user can use it after receipt confirmation without going through a separate registration procedure.
  • the user when the user receives the smart card 100, the user performs a registration process through a dedicated application of the smart card 100.
  • a dedicated application of the smart card 100 For example, an envelope or a case including a smart card 100 received by a user in an envelope or a case (for example, a small battery to which the IC connector 111 of the smart card 100 is connected for fingerprint registration of the user).
  • the smart card 100 stores the starting point of use and transmits the starting point of use data to the virtual code verification server through a dedicated application.
  • the user may correct the point of use in the server in the process of using the smart card 100 for payment. have.
  • Smart card 100 may perform a financial transaction procedure for a specific actual card number.
  • the user may perform a financial transaction procedure using a specific real card number registered by using the smart card 100 in the virtual code verification server. For example, when the online or offline payment is made with the smart card 100, the virtual code verification server searches for the actual card number registered based on the virtual code to make the payment.
  • the user may change the card to which the smart card 100 is connected to perform a financial transaction using a dedicated application.
  • the virtual code verification server may perform a financial transaction by searching for the actual card number of the changed card based on the virtual code provided by the smart card. That is, the smart card generates and provides a virtual code corresponding to the financial transaction time point based on the virtual code generation function without any change, but as the card is changed by a dedicated application, the user uses the virtual code generated from the smart card. You can proceed with the financial transaction with the card you want to use at this time.
  • the user requests the server 300 to change the basic card through a dedicated application.
  • the user selects a basic card through an application built in or installed in the user terminal.
  • the user may request a basic card change by selecting an image of the card or selecting an identification number.
  • the server 300 searches the UID of the smart card 100 based on the virtual card number, extracts the actual card number storage space connected to the UID, and changes the basic card in the actual card number storage space. For example, if the identification number of the card preset as the primary card is '1' and the identification number of the basic card requested to be changed by the user is '3', the server 30 stores '3' in the basic card setting area. do. After that, when the payment request is received from the user terminal, the server 300 checks the identification information of the basic card, for example, '3' in the basic card setting area, and the identification number corresponds to '3' in the card number storage area. The financial card is processed by extracting the actual card number.
  • the dedicated application may include the same virtual code generation function as the smart card 100 to change the card. Specifically, since the virtual code generated by the same rule as the smart card 100 is required to search the UID to which the real card number storage space of the user's actual card number is stored, the dedicated application is the same as the smart card 100. Contains the virtual code generation function.
  • the steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, in a software module executed by hardware, or by a combination thereof.
  • the software module may be a random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any form of computer readable recording medium well known in the art.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램이 제공된다. 상기 스마트카드 기반의 가상코드를 생성 및 제공하는 방법은 스마트카드가 외부로부터 제1 전원을 공급받는 단계, 상기 스마트카드가 상기 제1 전원을 이용하여 시간카운트를 기반으로 가상코드를 생성하는 단계 및 상기 스마트카드가 상기 가상코드를 외부로 제공하는 단계를 포함하고, 상기 가상코드는, 가상카드번호 또는 가상토큰이고, 상기 스마트카드에 사전 저장된 가상코드생성함수에 의해 실제카드번호에 매칭된 코드로 생성되는 것으로서, 금융사서버 또는 가상토큰검증서버에서 상기 실제카드번호 탐색에 이용되는 것이며, 상기 시간카운트는, 상기 스마트카드에 포함된 시간측정모듈에 의해 카드 제조시 부여되는 초기시간값으로부터 카운트되어 측정되는 것이고, 상기 시간측정모듈은, 상기 시간카운트를 측정하는 클락과, 상기 클락에 제2 전원을 공급하는 클락용배터리를 포함한다.

Description

가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램
본 발명은 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램에 관한 것으로, 보다 상세하게는 각 시점마다 중복되지 않게 생성되는 가상코드를 생성하고 외부에 제공하여 결제를 진행할 수 있도록 하는 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램에 관한 것이다.
코드 형태데이터는 많은 영역에서 이용되고 있다. 결제 시에 이용되는 카드번호, 계좌번호뿐만 아니라 사용자 식별을 위한 IPIN번호, 주민등록번호 등이 코드형태 데이터이다.
그러나 이러한 코드데이터를 이용하는 과정에서 유출되는 사고가 많이 발생한다. 카드번호의 경우, 카드 표면에 실제카드번호가 그대로 기재되어 있어서 타인에게 시각적으로 유출되며, 마그네틱을 이용한 결제 시에 카드번호가 그대로 POS장치로 전달되면서 유출된다.
실제카드번호가 그대로 유출되지 않도록 하기 위해 가상카드번호를 이용하고자 하는 시도가 많았으나, 가상카드번호에 대응되는 실제카드번호를 탐색하기 위해 사용자를 식별하기 위한 데이터가 필요하였다. 예를 들어, OTP(One Time Password)의 경우, 시간마다 코드가 변경되어 생성되지만, 사용자에게 부여된 알고리즘 판단을 위해 로그인 절차가 필요하여 다양한 영역에 적용되기 어렵다.
한편, IC카드(Integrated Circuit Card)란 신용카드, 현금카드 등에 반도체 메모리 기억소자(IC메모리)를 삽입한 카드이다. IC카드는 IC메모리에 저장되어 있는 정보를 전달하기 위해 외부기기와 통신할 수 있는 IC커넥터 또는 안테나를 구비하여 카드리더에 IC카드를 삽입하거나, 근거리 무선통신 기술을 이용한다.
본 발명이 해결하고자 하는 과제는 카드를 이용하여 결제 진행시 실제카드정보의 노출없이 실제카드번호를 탐색할 수 있는 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 스마트카드를 이용한 결제를 요청할 때마다, 중복 생성되지 않는 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 기존에 사용되는 결제 시스템 및 장치를 그대로 유지하면서 실제카드정보 대신 이용할 수 있는 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 가상코드를 생성 및 제공하는 스마트카드는 외부기기로부터 제1 전원을 공급받고, 상기 외부기기와 통신할 수 있는, 통신 인터페이스, 특정시점을 기준으로 부여되는 초기시간값으로부터 시간데이터를 측정하는, 시간측정모듈, 상기 제1 전원을 이용하여 상기 시간데이터를 기초로 카운트되는 시간카운트를 기반으로 가상코드를 생성하는, 가상코드생성부 및 상기 가상코드를 외부로 제공하되 상기 통신 인터페이스를 포함하는, 가상코드제공부를 포함하고, 상기 가상코드는, 가상카드번호 또는 가상토큰이고, 스마트카드에 사전 저장된 가상코드생성함수에 의해 실제카드번호에 매칭된 코드로 생성되는 것으로서, 가상코드검증서버에서 상기 실제카드번호 탐색에 이용되는 것이며, 상기 시간측정모듈은, 상기 시간데이터를 측정하는 클락과, 상기 클락에 제2 전원을 공급하는 클락용배터리를 포함한다.
또한, 상기 통신 인터페이스는, IC커넥터 또는 안테나 중 하나 이상을 포함하고, 상기 IC커넥터는, 상기 스마트카드가 접촉식으로 사용될 때, 상기 외부기기와 물리적으로 접촉하여 상기 외부기기로부터 제 1전원을 공급받고, 상기 안테나는, 상기 스마트카드가 비접촉식으로 사용될 때, 상기 외부기기와 물리적으로 접촉하지 않고 상기 외부기기로부터 제 1전원을 공급받는 것을 특징으로 한다.
또한, 상기 외부기기는 사용자단말이며, 상기 제1 전원은 스마트카드가 상기 사용자단말에 태깅되어 공급받는 것을 특징으로 한다.
또한, 상기 가상코드제공부는 디스플레이부를 포함하고, 상기 디스플레이부에 상기 가상코드를 코드값 또는 이미지코드 형태로 출력하는 것을 특징으로 한다.
또한, 사용자의 지문을 인식하여 사용권한을 확인하는 지문인식부를 더 포함하고, 상기 가상코드생성부는 상기 지문인식부를 통해 인식된 지문이 사전 등록된 지문정보와 일치하는 경우에만 가상코드를 생성하는 것을 특징으로 한다.
또한, 상기 시간측정모듈에서 측정된 제1 시간카운트는 상기 가상코드검증서버에서 측정된 제2 시간카운트와 일치하는지 검증되고, 상기 제1 시간카운트와 상기 제2 시간카운트의 차이가 특정한 오차범위 내인 경우 일치하는 것으로 판단되는 것을 특징으로 한다.
또한, 상기 가상코드검증서버에는 상기 실제카드번호와 매칭되는 단위카운트에 시간보정값이 저장 및 관리되며, 상기 시간보정값은 각 사용자별로 측정된 오차 이력을 기반으로 특정되는 것이고, 상기 제1 시간카운트는 상기 시간보정값이 반영되어 검증되는 것을 특징으로 한다.
또한, 상기 가상코드는 복수의 세부코드를 조합하여 생성될 수 있다.
또한, 상기 복수의 세부코드는, 저장위치탐색의 시작지점을 설정하는 제1 코드; 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2 코드를 포함한다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 스마트카드 기반의 가상코드를 생성 및 제공하는 방법은 스마트카드가 외부로부터 제1 전원을 공급받는 단계, 상기 스마트카드가 상기 제1 전원을 이용하여 시간카운트를 기반으로 가상코드를 생성하는 단계 및 상기 스마트카드가 상기 가상코드를 외부로 제공하는 단계를 포함하고, 상기 가상코드는, 가상카드번호 또는 가상토큰이고, 상기 스마트카드에 사전 저장된 가상코드생성함수에 의해 실제카드번호에 매칭된 코드로 생성되는 것으로서, 가상코드검증서버에서 상기 실제카드번호 탐색에 이용되는 것이며, 상기 시간카운트는, 상기 스마트카드에 포함된 시간측정모듈에 의해 특정시점을 기준으로 부여되는 초기시간값으로부터 측정된 시간데이터를 기초로 카운트되는 것이고, 상기 시간측정모듈은, 상기 시간데이터를 측정하는 클락과, 상기 클락에 제2 전원을 공급하는 클락용배터리를 포함한다.
또한, 상기 스마트카드는, IC커넥터 또는 안테나 중 하나 이상을 포함하고, 상기 IC커넥터는, 상기 스마트카드가 접촉식으로 사용될 때, 외부기기와 물리적으로 접촉하여 상기 외부기기로부터 제 1전원을 공급받고, 상기 안테나는, 상기 스마트카드가 비접촉식으로 사용될 때, 상기 외부기기와 물리적으로 접촉하지 않고 상기 외부기기로부터 제 1전원을 공급받는 것을 특징으로 한다.
또한, 상기 외부기기는 사용자단말이며, 상기 외부로부터 제1 전원을 공급받는 단계는, 스마트카드가 상기 사용자단말에 태깅되어 제1 전원을 공급받는 것을 특징으로 한다.
또한, 상기 스마트카드는 디스플레이부를 포함하고, 상기 가상코드를 외부로 제공하는 단계는, 상기 디스플레이부에 상기 가상코드를 코드값 또는 이미지코드 형태로 출력하는 것을 특징으로 한다.
또한, 상기 스마트카드가 사용자의 지문을 인식하여 사용권한을 확인하는 단계를 더 포함하고, 상기 스마트카드는 인식된 지문이 사전 등록된 지문정보와 일치하는 경우에만 가상코드를 생성하는 것을 특징으로 한다.
또한, 상기 스마트카드에서 측정된 제1 시간카운트는 상기 가상코드검증서버에서 측정된 제2 시간카운트와 일치하는지 검증되고, 상기 제1 시간카운트와 상기 제2 시간카운트의 차이가 특정한 오차범위 내인 경우 일치하는 것으로 판단되는 것을 특징으로 한다.
또한, 상기 가상코드검증서버에는 상기 실제카드번호와 매칭되는 단위카운트에 시간보정값이 저장 및 관리되며, 상기 시간보정값은 각 사용자별로 측정된 오차 이력을 기반으로 특정되는 것이고, 상기 제1 시간카운트는 상기 시간보정값이 반영되어 검증되는 것을 특징으로 한다.
또한, 상기 가상코드는 복수의 세부코드를 조합하여 생성될 수 있다.
또한, 상기 복수의 세부코드는, 저장위치탐색의 시작지점을 설정하는 제1 코드; 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2 코드를 포함한다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 면에 따른 스마트카드 기반의 가상코드 생성 및 제공 프로그램은 하드웨어인 컴퓨터와 결합되어 상기 스마트카드 기반의 가상코드를 생성 및 제공하는 방법을 실행하며, 매체에 저장된다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상기 본 발명에 의하면, 스마트카드를 이용하여 결제 진행시 실제카드정보 대신 가상코드, 즉, 가상카드번호 또는 가상토큰 등을 이용하므로 실제카드정보가 유출되는 것을 방지할 수 있다.
또한, 상기 본 발명에 의하면, 결제요청시마다 다른 시간카운트를 기반으로 가상코드를 생성하므로 중복되지 않는 가상코드를 생성하는 것이 가능한 바, 특정 시점에서의 가상코드가 유출되더라도 그로 인한 피해를 예방할 수 있으며, 실제카드정보가 유출되지 않는 효과를 제공한다.
또한, 상기 본 발명에 의하면, 실제카드번호 등과 동일한 형식의 가상코드를 사용하므로, 기존에 실제카드번호를 이용하는 결제 프로세스를 그대로 유지할 수 있다. 예를 들어, 금융거래 서비스를 제공하는 애플리케이션에서 중복생성되지 않는 가상카드번호를 생성하여 제공하는 경우, POS장치와 PG사서버는 그대로 유지되어 가상카드번호를 토큰서비스서버 또는 금융사 서버로 전달하고, 토큰서비스서버 또는 금융사 서버가 가상카드번호에 상응하는 실제카드번호를 탐색하여 결제를 진행할 수 있다. 이를 통해, 보안성을 높이기 위해 기존프로세스 내에서 변경되어야 하는 부분을 최소화할 수 있고, 사용자는 보안성 향상을 위한 별도 단계를 수행하지 않아도 된다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 스마트카드 기반의 가상코드를 생성 및 제공하는 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 스마트카드의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 스마트카드에 포함된 통신 인터페이스의 예시도이다.
도 4는 본 발명의 일 실시예에 따른 시간측정모듈의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 가상코드제공부가 디스플레이부를 포함하는 경우의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 스마트카드를 사용자단말에 태깅하여 사용하는 모습을 나타내는 예시도이다.
도 7은 본 발명의 일 실시예에 따른 스마트카드에 지문인식부가 포함된 모습을 나타내는 예시도이다.
도 8은 본 발명의 일 실시예에 따른 스마트카드가 가상코드를 생성 및 제공하는 방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 지문인식부가 추가된 경우의 스마트카드가 가상코드를 생성 및 제공하는 방법의 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 시간카운트 일치 여부를 검증되는 단계가 추가된 경우의 스마트카드가 가상코드를 생성 및 제공하는 방법의 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 시간카운트 일치 여부를 검증하는 단계를 세부적으로 나타내는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 시간카운트 일치 여부를 검증하고 결제 승인 여부를 결정하는 과정을 개략적으로 나타내는 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 "스마트카드"는 가상코드를 생성 및 제공할 수 있는 카드를 의미한다. 또한, 신용카드, 체크카드, 현금카드 등 금융거래를 진행할 수 있는 임의의 카드이며, 카드의 종류 및 목적에는 제한이 없다.
본 명세서에서 "문자"는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 "코드"는 문자가 나열된 문자열을 의미한다.
본 명세서에서 "카드번호"는 결제 등의 금융거래를 위해 사용되는 것으로, 카드에 부여되고 결제, 결제취소 등의 상황에 카드사로 전달되는 번호를 의미한다.
본 명세서에서 "실제카드번호"는 카드사에서 특정한 사용자의 카드에 부여하는 번호이다. 즉, 실제카드번호는 일반적인 실물카드, 모바일카드 등에 부여되는 번호를 의미한다.
*본 명세서에서 "가상코드"는 실제카드번호에 연결되도록 임시적으로 생성되는 카드번호로서, 숫자를 포함하는 문자로 이루어진 특정한 자릿수의 코드이다. 상기 가상코드는 금융사서버에서 실제카드번호 탐색에 이용하는 가상카드번호, 가상토큰검증서버에서 실제카드번호 탐색에 이용하는 가상토큰 등을 포함한다.
본 명세서에서 "세부코드"는 가상코드에 포함되는 일부코드를 의미한다. 즉, 가상코드가 별도로 생성된 복수의 코드를 결합하여 생성되는 경우, 세부코드는 별도로 생성되어 가상코드를 구성하는 개별 코드를 의미한다.
본 명세서에서 "단위카운트"는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1 카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 "가상코드생성함수"는 가상코드를 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 "세부코드생성함수"는 가상코드를 구성하는 각각의 세부코드를 생성하는 함수를 의미한다.
본 명세서에서 "세부코드결합함수"는 복수의 세부코드를 조합 또는 결합하여 가상코드(예를 들어, 가상카드번호 또는 가상토큰)를 생성하는 함수를 의미한다.
본 명세서에서 "사용자단말"은 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 임의의 장치이다. 예를 들어, 컴퓨터는 데스크 탑 PC, 노트북(Note Book) 뿐만 아니라 스마트폰(Smart phone), 태블릿 PC, 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone; Personal Communication Service phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000)의 이동 단말기, 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA; Personal Digital Assistant) 등도 해당될 수 있으며 이에 한정되는 것은 아니다.
본 명세서에서 "근거리 무선통신(Short-range Wireless Communication)"은 물리적으로 분리된 단말기가 접촉 또는 근접함에 따라 무선으로 통신을 수행하는 무선통신 기술을 의미한다. 예를 들어, 근거리 무선통신은 복수의 단말기가 사용자가 직접 확인하면서 손으로 제어할 수 있는 범위 내에 위치한 상태에서 무선통신하는 방식이 해당될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 스마트카드 기반의 가상코드를 생성 및 제공하는 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스마트카드 기반의 가상코드를 생성 및 제공하는 시스템은 스마트카드(100) 및 외부기기(200)를 포함하며, 필요에 따라 서버(300)를 더 포함할 수 있다.
스마트카드(100)는 금융거래를 진행할 수 있는 카드로서, 실제카드정보 대신 가상코드를 이용하여 금융거래를 수행하는 카드이다. 또한, 신용카드, 체크카드, 현금카드 등 금융거래를 진행할 수 있는 임의의 카드이며, 카드의 종류 및 목적에는 제한이 없다.
또한, 스마트카드(100)의 재질은 금속 소재로서 스테인리스, 티타늄, 알루미늄 및 비정질 합금이나 비금속 소재 등 임의의 재질이며, 상술한 예시로 한정되지 않는다.
본 발명에서 스마트카드(100)는 금융거래에 이용되는 가상코드를 외부로부터 데이터 수신없이 직접 생성하는 역할을 한다. 스마트카드(100)는 금융거래 요청시에만 작동하여 가상코드를 생성 및 제공하며, 상기 가상코드 생성 및 제공을 위해 필요한 전원(본 명세서에서 "제1 전원")은 외부로부터 공급받는다. 즉, 스마트카드(100)는 가상코드 생성 및 제공에 필요한 전원 공급을 위해 별도의 배터리를 구비할 필요가 없다. 따라서, 스마트카드(100)의 제조비용을 절감할 수 있고 배터리의 수명으로 인해 스마트카드(100) 사용이 제약되지 않는다.
일 실시예로, 스마트카드(100)는 시간을 측정하는 클락(121)을 구동하기 위한 전원(본 명세서에서 "제2 전원") 이외에 다른 구성을 구동하기 위한 전원을 공급하는 배터리를 포함하지 않는다. 즉, 스마트카드(100) 내의 클락(121) 이외의 구성을 구동하기 위한 전원은 모두 사용자에 의해 금융거래 요청이 이루어진 시점에 외부에서 공급받는 제1 전원이고, 스마트카드(100)는 클락(121)을 구동하기 위한 제2 전원을 공급하는 클락용 배터리(122)만을 포함할 수 있다.
스마트카드(100)가 외부로부터 전원을 공급받는 형태는, 금융거래 요청 방식이 접촉식으로 이루어졌는지, 비접촉식으로 이루어졌는지 등에 따라 다양하며 상세한 설명은 후술한다.
스마트카드(100)는 특정시점을 기준으로 부여되는 초기시간값으로부터 시간데이터를 측정한다. 또한, 상기 시간데이터를 기초로 카운트된 시간카운트를 기반으로 가상코드를 생성한다.
가상코드 생성에 이용되는 상기 시간데이터도 외부로부터 수신하지 않고 스마트카드(100) 자체에서 직접 측정된다. 이 때, 상기 시간데이터는 금융거래 요청시뿐만 아니라 특정시점(예를 들어, 카드 사용 시작 시점 또는 카드 제조 시점)부터 지속적으로 측정되고 있어야 한다. 즉, 스마트카드가 현재 시간을 측정하지 못하면, 서버에서 현시점에 유효한 것으로 판단할 수 있는 정상적인 가상코드를 생성하지 못할 수 있다. 따라서, 스마트카드는 서버와 동일한 시점을 획득하기 위해 외부 전원이 제공되지 않는 동안에도 시간을 계속 측정한다.
클락용 배터리(122)는 클락(121)만을 특정기간동안 구동 가능한 용량의 배터리일 수 있다. 예를 들어, 스마트카드(100)의 사용기한이 스마트카드(100)의 제작 시기 또는 사용자가 스마트카드(100) 사용을 시작한 시기로부터 5년으로 설정되는 경우, 스마트카드(100)는 시간 측정을 수행하는 클락(121)을 5년동안 구동할 수 있는 클락용 배터리(122)를 포함할 수 있다.
클락(121)에 의해 측정되는 시간데이터는 가상코드가 금융거래요청시점에 정상적으로 유효하게 생성된 것인지 검증하는데 핵심적인 역할을 한다. 클락(121) 및 클락용 배터리(122)를 포함하는 시간측정모듈(120)에 대한 상세한 설명은 후술한다.
또한, 스마트카드(100)는 생성한 가상코드를 외부로 제공하는 역할을 한다. 스마트카드(100)가 가상코드를 외부로 제공하는 형태 및 가상코드를 외부로 제공하는 주체가 되는 구성에는 제한이 없다.
일 실시예로, 가상코드를 제공하는 주체가 되는 구성은 스마트카드(100)에 포함된 통신 인터페이스(110)일 수 있다. 예를 들어, 통신 인터페이스(110)에 포함된 IC커넥터(111)를 통해 외부기기(200)와 물리적으로 접촉하여 가상코드를 전송할 수 있다. 또한, 통신 인터페이스(110)에 포함된 안테나(112)를 통해 외부기기(200)와 물리적으로 접촉하지 않고 무선 통신하여 가상코드를 전송할 수 있다. 이 때, 스마트카드(100)는 가상코드를 금융거래에 이용되는 암호화 방식을 적용하여 보안성을 향상시킬 수 있다. 한편, EMV 표준과 같이 결제 표준으로 생성하여 통신 인터페이스(110)를 통해 제공할 수 있다.
또한, 다른 일 실시예로, 스마트카드(100)는 가상코드를 시각적으로 제공할 수 있는 구성을 포함할 수 있다. 예를 들어, 스마트카드(100)는 별도의 디스플레이부(141)를 구비하여 가상코드를 사용자가 시각적으로 확인할 수 있도록 디스플레이부(141)에 출력되어 제공될 수 있다.
한편, 가상코드가 시각적으로 제공되는 형태는 숫자 및/또는 문자의 조합으로 이루어진 코드값 자체로 제공될 수도 있고, 바코드(Barcode), QR 코드(Quick Response Code) 등의 이미지 코드 형태로 제공되는 것도 가능하다.
또한, 다른 일 실시예로, 가상코드는 스마트카드(100)로부터 외부기기(200)로서의 역할을 하는 사용자단말에 설치 또는 내장된 소프트웨어(Software) 및 어플리케이션(Application)을 통해 사용자단말의 화면에 시각적으로 표시되는 것도 가능하다. 즉, 스마트카드(100)에 디스플레이부(141)가 구비되지 않더라도 사용자단말의 화면을 통해 출력하는 것도 가능하다. 예를 들어, 후술되는 바와 같이, 스마트카드(100)가 외부기기(200)인 사용자단말로부터 제1 전원을 제공받음에 따라 가상코드를 생성하고, 사용자단말 내의 전용어플리케이션에 무선통신(예를 들어, NFC 통신)을 통해 가상코드를 전송할 수 있다. 이를 통해, 사용자는 전용어플리케이션에서 스마트카드(100)의 실시간 가상코드를 시각적으로 확인할 수 있다.
외부기기(200)는 스마트카드(100)를 이용한 금융거래가 요청되었을 때, 스마트카드(100)에 제1 전원을 공급하는 임의의 장치이다. 구체적인 예로, 외부기기(200)는 카드를 읽는 전자기기인 카드 리더(Card Reader)(예를 들어, IC카드 리더기 또는 NFC 리더기)일 수 있다. 예를 들어, 스마트카드(100)가 일반적인 IC카드 또는 NFC카드와 동일한 규격으로 제작됨에 따라, 기존의 카드 리더(Card Reader)(예를 들어, IC카드 리더기 또는 NFC 리더기)에서 동일하게 사용할 수 있다. 즉, 기존에 가맹점 등에 설치된 카드 리더 장치 및 금융거래 시스템을 그대로 사용할 수 있다는 장점이 있다.
또한, 다른 구체적인 예로, 사용자가 소지하고 있는 모바일기기 등의 사용자단말이 외부기기(200) 역할을 하는 것도 가능하다. 예를 들어, 사용자가 온라인 결제를 위해 가상코드(예를 들어, 가상카드번호 또는 가상토큰)가 필요한 경우, 사용자는 IC카드 리더기 또는 NFC 리더기 없이 스마트카드(100)에 제 1전원을 제공하여 가상코드를 시각적으로 제공받아야 한다.
이 경우, 사용자는 스마트카드(100)를 외부기기(200) 역할을 하는 사용자단말에 태깅(Tagging)하여 근거리 무선통신(Short-range Wireless Communication)을 이용하여 사용자단말로부터 제1 전원을 공급받을 수 있다. 이를 통해, 스마트카드(100)는 사용자단말로부터 공급받은 제1 전원을 이용하여 스마트카드(100)에 구비된 디스플레이부(141)에 가상코드를 출력할 수 있다. 또한, 가상코드를 사용자단말로 메시지 형태로 전달하거나, 전용어플리케이션을 통해 확인할 수 있도록 제공할 수도 있다. 구체적인 실시예에 대해서는 예시도를 참조하여 후술한다.
일 실시예로, 외부기기(200)는 스마트카드(100)에 제1 전원을 공급하는 것뿐만 아니라, 스마트카드(100)와 통신하여 가상코드를 수신하고 금융거래 요청을 처리하는 역할도 할 수 있다. 이 때, 금융거래 요청을 처리하는 형태는 외부기기(200)에서 해당 금융거래 자체를 승인하거나, 해당 금융거래 관련 정보를 서버(300)로 전송해주는 등 다양하게 이루어질 수 있다.
한편, 다른 실시예로, 외부기기(200)는 스마트카드(100)에 제1 전원을 공급하는 역할만을 하고, 금융거래 요청을 처리하는 별도의 기기가 구비되는 것도 가능하다.
본 발명의 일 실시예로, 스마트카드 기반의 가상코드를 생성 및 제공하는 시스템은 서버(300)를 더 포함할 수 있다.
일 실시예로, 서버(300)는 스마트카드(100)가 생성한 가상코드를 검증하는 가상코드검증서버이다.
구체적인 예로, 가상코드검증서버는 가상토큰검증서버(즉, Token Service Provider Server; TSP Server) 또는 금융사 서버일 수 있다.
"가상토큰검증서버"는 실제카드번호를 저장하고 가상토큰을 기반으로 실제카드번호를 탐색하여 지불결제서비스서버 또는 금융사 서버로 제공하는 서버이다.
"금융사 서버"는 가상코드(즉, 가상카드번호)를 이용하여 실제카드번호를 탐색하고 이를 기반으로 결제의 승인여부를 판단하는 서버이다.
서버(300)는 가상코드검증수단을 포함하여 실제카드번호를 기반으로 결제 승인여부를 판단하거나, 가상코드를 기반으로 실제카드번호를 탐색하고, 가상코드를 검증하는 역할을 한다. 한편, 이와 같은 역할을 별도로 구성된 서버(300)가 아닌 외부기기(200)를 통해 이루어지는 것도 가능하다.
도 2는 본 발명의 일 실시예에 따른 스마트카드의 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 스마트카드(100)는 통신 인터페이스(110), 시간측정모듈(120), 가상코드생성부(130) 및 가상코드제공부(140)를 포함한다.
통신 인터페이스(110)는 스마트카드(100)가 외부기기(200)로부터 가상코드 생성에 이용되는 제1 전원을 공급받고, 상기 외부기기(200)와 통신하여 정보를 송수신하는 역할을 한다.
일 실시예로, 통신 인터페이스(110)는 IC커넥터(111) 또는 안테나(112)를 포함한다.
IC커넥터(111)는 스마트카드(100)가 외부기기(200)에 삽입되는 등 접촉식으로 사용될 때 이용되고, 안테나(112)는 스마트카드(100)가 무선통신을 통해 비접촉식으로 사용될 때 이용된다.
IC커넥터(111)는 스마트카드(100)에 포함된 회로 패턴이 외부와 접촉할 수 있도록 노출되어 있는 접촉식 패드이다. IC커넥터(111)는 스마트카드(100)가 접촉식으로 사용될 때, 외부기기(200)와 물리적으로 접촉하여 상기 외부기기(200)로부터 제 1전원을 공급받는다.
안테나(112)는 스마트카드(100)를 비접촉식으로 사용하기 위해 필요한 무선 통신을 하는 구성으로서, 스마트카드(100) 주변의 무선 주파수 신호를 감지해 데이터를 주고 받으며 외부기기(200)와 통신하는 역할을 한다. 안테나(112)는 스마트카드(100)가 비접촉식으로 사용될 때, 외부기기(200)와 물리적으로 접촉하지 않고 상기 외부기기(200)로부터 제 1전원을 공급받는다.
한편, 안테나(112)는 루프 안테나(Loop Antenna), 코일 안테나(Coil Antenna) 등의 임의의 안테나로서 종류에 제한이 없다. 또한, 안테나(112)는 스마트카드 내에 IC칩과 별개로 내장될 수 있고, IC칩 내에 구비될 수도 있다.
시간측정모듈(120)은 가상코드 생성의 기반이 되는 시간카운트의 기초가 되는 시간데이터를 특정시점(예를 들어, 카드 사용 시작 시점 또는 카드 제조 시점)부터 지속적으로 측정하는 역할을 한다.
시간카운트는 특정시점을 기준으로 부여되는 초기시간값으로부터 사용자가 금융거래를 요청한 시점까지 측정된 시간데이터를 기초로 하여 카운트된 값으로, 동일한 스마트카드(100)를 반복하여 사용하는 경우에도 사용자의 거래요청시점은 매번 다를 것이므로 해당 거래요청시점까지 측정된 시간데이터 및 이를 기초로 카운트된 시간카운트 또한 언제나 다른 값을 가진다. 따라서, 본 발명에서 시간데이터는 거래요청시점에 따라 매번 중복되지 않는 가상코드를 생성하는데 핵심적인 역할을 한다. 또한, 가상코드를 매 시점마다 가상코드 생성시기 및 사용자와 무관하게 중복되지 않도록 생성할 수 있게 됨으로써, 특정 시점의 가상코드가 유출되더라도 해당 시점 이후에는 사용할 수 없는 가상코드이므로, 가상코드 또는 실제카드정보가 유출되어 발생할 수 있는 금융 피해를 예방할 수 있는 바, 보안성이 강화되는 효과가 있다.
본 발명의 일 실시예로, 시간측정모듈(120)은 클락(121) 및 클락용 배터리(122)를 포함한다.
클락(121)은 스마트카드(100) 특정시점을 기준으로 부여되는 초기시간값으로부터 사용자의 거래요청시점까지 측정된 시간데이터를 측정한다. 본 발명에서는 스마트카드(100)가 시간데이터를 측정하기 위해 외부에서 별도의 시간데이터 등을 수신하는 것을 필요로 하지 않는다. 즉, 스마트카드(100) 자체에서 외부와의 통신없이 시간데이터가 측정되는 것이며, 이를 통해 더 강화된 보안성을 제공할 수 있다.
일 실시예로, 클락(121)은 사용자의 거래요청시점에만 작동하는 것이 아니고, 카드 제조시부터 지속적으로 작동하며 시간데이터를 측정하고 있어야 한다. 이에 따라, 클락(121)은 사용자의 금융거래요청시점에만 작동하는 가상코드생성부(130) 및 가상코드제공부(140)와 달리 전원 공급 또한 지속적으로 이루어지고 있어야 한다. 그러므로 가상코드생성부(130) 및 가상코드제공부(140)에 제공되는 전원(본 명세서에서 "제1 전원")과 클락(121)에 제공되는 전원(본 명세서에서 "제2 전원")은 구별되는 것을 특징으로 한다.
제1 전원은 앞서 설명한 바와 같이, 스마트카드(100) 내부에서 공급하는 전원이 아니고, 사용자의 거래요청시점에 스마트카드(100)가 외부기기(200)로부터 공급받는 전원이다. 따라서, 금융거래 진행시에만 공급되는 전원이며 가상코드생성부(130) 및 가상코드제공부(140)도 금융거래 진행시에만 작동하여 가상코드를 생성 및 제공한다.
반면, 제2 전원은 제1 전원과 달리, 스마트카드(100) 내부에서 자체적으로 공급하는 전원이다. 스마트카드(100)의 시간측정모듈(120)은 클락용 배터리(122)를 포함한다. 클락용 배터리(122)는 오직 클락(121)에만 전원을 공급하는 스마트카드(100)에 구비된 내부 배터리이다. 클락용 배터리(122)는 클락(121) 외의 다른 구성에는 전원을 공급하지 않으므로 대용량이 요구되지 않으며, 특정 기간동안에만 전원을 공급할 수 있는 용량의 배터리일 수 있다.
클락용 배터리(122) 수명과 관련하여 기존의 OTP(One Time Password) 카드의 배터리 수명이 평균 3년이라는 점을 고려할 때, 본 발명의 클락용 배터리(122) 수명은 사용자의 스마트카드(100) 사용기간 동안 방전되지 않고 지속적으로 전원을 공급하는데 문제가 없다.
한편, 일 실시예로, 클락용 배터리(122)는 일정주기로 교체되거나, 충전식 스마트카드(100)를 제공하여 클락용 배터리(122)를 사용자가 자체적으로 충전하는 것도 가능하다. 이뿐만 아니라, 스마트카드(100)는 클락용 배터리(122)의 잔여 수명을 스마트카드(100)의 사용자가 확인할 수 있도록 제공하는 것도 가능하다.
가상코드생성부(130)는 가상코드생성함수를 통해 클락(121)이 측정한 시간데이터를 기초로 하여 카운트된 시간카운트를 기반으로 가상코드를 생성하는 역할을 한다. 상술한 바와 같이, 가상코드생성부(130)는 사용자의 금융거래요청시점에만 외부기기(200)와 접촉식 또는 비접촉식으로 연결되면 상기 외부기기(200)로부터 제1 전원을 공급받아 작동하여 가상코드를 생성한다.
한편, 일 실시예로, 가상코드는 가상코드를 검증하거나 이에 매칭하는 실제카드번호를 탐색하는데 이용되는 복수의 세부코드를 결합하여 생성될 수 있다. 이 때, 가상코드생성함수는 복수의 세부코드를 생성하는 세부코드생성함수 및 복수의 세부코드를 결합하는 세부코드결함함수를 포함할 수 있다.
구체적인 예로, 상기 복수의 세부코드는 저장위치탐색의 시작지점을 설정하는 제1코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2코드를 포함할 수 있다. 서버(300)에서 가상코드를 기반으로 실제카드번호를 탐색하거나, 상기 가상코드를 검증하는 과정에 대한 상세한 설명은 후술한다.
가상코드제공부(140)는 가상코드생성부(130)가 생성한 가상코드를 외부로 제공하는 역할을 한다. 외부로 제공하는 방법에 대해서는 앞서 설명한 바와 같이 외부로 제공하는 형태 및 가상코드를 외부로 제공하는 주체가 되는 구성에 제한이 없다. 구체적인 설명은 중복되므로 생략한다.
도 3은 본 발명의 일 실시예에 따른 스마트카드에 포함된 통신 인터페이스의 예시도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 스마트카드(100)에 포함된 통신 인터페이스(110)는 IC커넥터(111) 또는 안테나(112) 중 하나 이상을 포함한다. 편의상 도 3에는 IC커넥터(111) 및 안테나(112)가 모두 도시되어 있지만 어느 하나만 포함하는 것도 가능하고, 각 구성이 스마트카드(100) 상에서 위치하는 자리에는 제한이 없다. IC커넥터(111) 및 안테나(112) 각각의 역할에 대해서는 전술한 내용과 중복되므로 생략한다.
도 4는 본 발명의 일 실시예에 따른 시간측정모듈의 구성도이다.
도 4를 참조하면, 시간측정모듈(120)은 클락(121) 및 클락용 배터리(122)를 포함하며, 클락(121)은 클락용 배터리(122)로부터 제2 전원을 공급받아 지속적으로 작동한다. 각각의 역할에 대한 상세한 설명은 전술한 내용과 중복되므로 생략한다.
도 5는 본 발명의 일 실시예에 따른 가상코드제공부가 디스플레이부를 포함하는 경우의 예시도이다.
도 5를 참조하면, 가상코드제공부(140)의 일 실시예로서 스마트카드(100)의 외관에 디스플레이부(141)가 도시되어 있다.
*도 5에는 편의상 디스플레이부(141)를 우측 하단에 도시하였으나 디스플레이부(141)가 스마트카드(100) 상에서 위치하는 자리에는 제한이 없다.
또한, 출력되는 가상코드는 편의상 "0000 0000 0000 0000"으로 실제카드번호의 자리수와 매칭되는 숫자열로 도시하였으나, 상술한 바와 같이 가상코드는 문자 및/또는 숫자로 구성된 코드값 자체나, 바코드 및 QR코드와 같은 이미지코드로 표시되는 것도 가능하며 그 형태에 제한없이. 시각적으로 제공되는 임의의 형태일 수 있다.
한편, 일 실시예로, 디스플레이부(141)는 일반적인 평판 디스플레이, LCD, LED, OLED, 플렉시블 디스플레이(Flexible Display) 등 종류에 제한이 없으며, 구체적인 예로, 전자종이(Electronic Paper, E-Paper)일 수 있다. 전자종이는 종이에 일반적인 잉크의 특징을 적용한 디스플레이 기술로서, 화소가 빛나도록 백라이트를 사용하는 평판 디스플레이와 다르게 일반적인 종이와 같이 반사광을 사용한다. 따라서, 한 번 출력된 가상코드는 전력 소모없이 디스플레이할 수 있고, 접히거나 휘어졌을 때도 손상되지 않는다.
도 6은 본 발명의 일 실시예에 따른 스마트카드를 사용자단말에 태깅하여 사용하는 모습을 나타내는 예시도이다.
도 6에 도시된 바와 같이 사용자가 소지한 모바일기기 등의 사용자단말이 외부기기(200)의 역할을 하는 경우, 스마트카드(100)를 사용자단말에 태깅하여 사용자단말과 무선통신 연결되어 제1 전원을 공급받아 금융거래를 진행할 수 있다.
도 6에는 디스플레이부(141)가 구비된 스마트카드(100)를 사용자단말에 태깅하였을 때, 디스플레이부(141)를 통해 가상코드가 출력되는 것으로 도시되어 있지만, 가상코드를 사용자단말에 메시지 형태로 제공하거나, 사용자단말에 내장 또는 설치된 소프트웨어를 통해 가상코드를 제공하는 것도 가능하다. 이는 온라인 결제시 유용하게 사용될 수 있으며, 필요에 따라 오프라인 매장에서 가상코드를 직접 입력하거나 시각적으로 확인해야 하는 경우에 사용하는 것도 가능하다.
도 7은 본 발명의 일 실시예에 따른 스마트카드에 지문인식부가 포함된 모습을 나타내는 예시도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 스마트카드(100)는 지문인식부(150)를 더 포함할 수 있다.
지문인식부(150)는 사용자의 지문을 인식하여 해당 스마트카드(100)를 통해 금융거래를 요청한 사용자가 정당한 사용권한을 가진 사용자인지 검증하는 역할을 한다. 따라서, 사용자가 스마트카드(100)를 분실하였을 경우에도 이를 제3자가 취득하여 사용하는 것을 방지할 수 있으므로 1차적인 필터링 역할을 하여 보안성이 강화된다.
지문인식부(150)는 사용자의 지문을 인식하고, 스마트카드(100) 내부에 사전 등록된 지문 정보와 일치하는지 여부를 판단하여 사용권한 여무를 검증한다. 이에 대한 상세한 설명은 후술한다.
한편, 도 7에서는 편의상 지문인식부(150)가 우측 상단에 위치하도록 도시되어 있으나, 지문인식부(150)가 스마트카드(100) 상에서 위치하는 자리에는 제한이 없다.
도 8은 본 발명의 일 실시예에 따른 스마트카드가 가상코드를 생성 및 제공하는 방법의 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 스마트카드(100)가 가상코드를 생성 및 제공하는 방법은, 외부로부터 제1 전원을 공급받는 단계(S400), 제1 전원을 이용하여 시간카운트를 기반으로 가상코드를 생성하는 단계(S500) 및 가상코드를 외부로 제공하는 단계(S600)를 포함한다.
S400 단계는, 스마트카드(100)가 거래요청시점에 외부기기(200)와 접촉식 또는 비접촉식으로 연결되어 상기 외부기기(200)로부터 제1 전원을 공급받는 단계이고, S500 단계는, 스마트카드(100)가 상기 제1 전원을 이용하여, 시간측정모듈(120)에서 측정된 시간카운트를 기반으로 가상코드를 생성하는 단계이며, S600 단계는 스마트카드(100)가 생성된 가상코드를 외부로 제공하는 단계이다. 각 단계에 대한 상세한 설명은 전술한 바와 중복되므로 생략한다.
도 9는 본 발명의 일 실시예에 따른 지문인식부가 추가된 경우의 스마트카드가 가상코드를 생성 및 제공하는 방법의 흐름도이다.
도 9를 참조하면, 도 8과 비교하여 사용자의 지문을 인식하여 사용권한을 확인하는 단계(S450)가 더 포함되며, 이를 중점적으로 설명한다.
S450 단계는, 일 실시예로, 스마트카드(100)에 지문인식부(150)가 더 포함된 경우로서, 지문인식부(150)가 사용자의 지문을 인식하고 사전 저장된 정당권한이 있는 사용자의 지문정보와 일치여부를 확인하는 단계이다. 일 예로, 스마트카드(100)는 사전 저장된 지문정보와 입력된 지문정보가 일치하지 않으면, 가상코드 생성 절차를 진행하지 않을 수 있다. 다른 예로, 스마트카드(100)는 지문인식과 가상코드 생성을 별개로 진행하고, 사전 저장된 지문정보와 입력된 지문정보가 일치하지 않으면 금융거래 시에 별도의 본인인증 절차 수행(예를 들어, 금융거래 단말기에 PIN번호 입력)을 요청할 수 있다.
일 실시예로, 사용자는 스마트카드(100)를 발급받고 사용자 등록 과정을 거치게 된다.
구체적인 예로, 사용자에게 발급된 초기 상태의 스마트카드(100)는 사용자 등록 과정을 진행할 수 있을 정도의 소량의 전력을 구비하고 있을 수 있으며, 이 경우 상술한 클락용 배터리(122)를 이용하거나 별도의 배터리가 구비될 수 있다. 사용자는 상기 소량의 전력을 이용하여 스마트카드(100)에 사용자 정보를 등록하되, 상기 사용자 정보는 사용자의 지문정보를 포함한다. 이를 통해, 스마트카드(100)에는 정당한 사용권한을 가진 사용자의 지문정보가 저장 및 관리되며, 이후 사용자를 추가하거나 변경 등록하는 것도 가능하다.
도 10는 본 발명의 일 실시예에 따른 시간카운트 일치 여부를 검증되는 단계가 추가된 경우의 스마트카드가 가상코드를 생성 및 제공하는 방법의 흐름도이다.
도 10을 참조하면, 도 8과 비교하여 실제카드번호 저장위치를 탐색하는 단계(S700) 및 서버에서 제1 시간카운트와 제2 시간카운트가 일치하는지 검증되는 단계(S800)가 더 추가된다.
S700 단계에서, 서버(300)는 가상코드검증수단을 이용하여 저장위치탐색알고리즘으로 수신한 가상코드에 매칭되는 실제카드번호가 저장된 단위카운트(저장위치)를 탐색한다. 가상코드검증수단 및 탐색하는 방법에 대한 상세한 설명은 후술한다.
S800 단계에서 "제1 시간카운트"는 스마트카드(100)의 시간측정모듈(120)이 측정한 시간데이터를 기초로 카운트된 시간카운트이고, "제2 시간카운트"는 서버(300)에서 해당 스마트카드(100)에 대해 측정한 시간데이터를 기초로 카운트된 시간카운트이다. 즉, 제1 시간카운트는 클락(121)이 외부로부터 별도의 시간데이터 수신없이 클락(121)만의 시간 흐름을 기준으로 측정되는 시간데이터를 기초로 카운트된 시간카운트이고, 제2 시간카운트는 서버(300)에서 GPS(Global Positioning System) 기반 등을 기준으로 측정한 시간데이터를 기초로 카운트된 시간카운트이다.
서버(300)는 외부기기(200)로부터 수신한 가상코드를 검증할 때 제1 시간카운트와 제2 시간카운트가 일치하는지 여부를 확인함으로써, 수신한 가상코드가 해당하는 거래요청시점에 정상적으로 생성된 가상코드인지 검증한다. 검증 과정에 대한 상세한 설명은 후술한다.
도 11은 본 발명의 일 실시예에 따른 시간카운트 일치 여부를 검증하는 단계를 세부적으로 나타내는 흐름도이다.
도 11을 참조하면, S400 내지 S600 단계를 거쳐서 스마트카드(100)에서 생성된 가상코드가 외부기기(200)로 제공된다.
외부기기(200)는 제공받은 가상코드를 서버(300)로 전송한다(S610). 도 11에는 편의상 S700 내지 S830 단계가 서버(300)에서 진행되는 것만 도시하였으나, 외부기기(200) 자체에서 진행되는 것도 가능하다.
서버(300)는 수신한 가상코드와 매칭되는 실제카드번호의 저장위치를 탐색하고(S700), 수신한 가상코드의 기반이 된 제1 시간카운트가 서버(300) 자체에서 측정된 제2 시간카운트와 일치하는지 여부를 검증하고(S800), 검증 결과에 따라 해당 금융거래 승인 여부를 결정한다(S830). 이에 대한 상세한 설명은 도 12를 참조하여 후술한다.
도 12는 일 실시예에 따른 시간카운트 일치 여부를 검증하고 결제 승인 여부를 결정하는 과정을 개략적으로 나타내는 순서도이다.
도 12를 참조하면, 서버(300)에서 제1 시간카운트와 제2 시간카운트가 일치하는지 검증되는 단계(S800)는, 제2 시간카운트를 추출하는 단계(S810). 제1 시간카운트와 제2 시간카운트의 일치여부를 판단하는 단계(S820) 및 결제 승인 여부를 결정하는 단계(S830-1, S830-2)를 포함한다.
S810 단계에서, 서버(300)는 탐색한 실제카드번호에 대응하는 제2 시간카운트를 추출한다.
S820 단계에서, 서버(300)는 추출한 제2 시간카운트와 제1 시간카운트를 비교하여 일치하는지 여부를 판단한다. 서버(300)는 판단 결과, 제1 시간카운트와 제2 시간카운트가 일치하는 경우는 결제를 승인하여 요청된 금융거래를 처리하고, 불일치하는 경우는 요청된 금융거래를 거절한다(S830-1, S830-2).
한편, 일 실시예로, S820 단계에서 제1 시간카운트와 제2 시간카운트가 완벽하게 일치하지 않더라도, 제1 시간카운트와 제2 시간카운트의 차이가 특정한 오차범위 내에 속하는 경우 일치하는 것으로 판단할 수 있다. 이는 스마트카드(100)에서 측정된 제1 시간카운트 또는 서버(300)에서 측정된 제2 시간카운트에 오차가 발생했을 가능성을 고려하여 보다 융통성있는 검증이 가능토록 하기 위함이다.
구체적인 예로, 서버(300)는 서버(300)에서 측정된 제2 시간카운트 앞뒤로 특정한 카운트만큼씩 오차범위로 설정하여, 제1 시간카운트가 해당 범위 내에 속하는 카운트값을 가지면 제1 시간카운트와 제2 시간카운트가 일치하는 것으로 판단하여 결제를 승인한다.
또한, 일 실시예로, 서버(300)에는 실제카드번호와 매칭되는 단위카운트에 시간보정값이 저장 및 관리될 수 있다.
"시간보정값"은 각 사용자별로 측정된 오차 이력을 기반으로 특정되는 것으로, 사용자, 사용태양, 사용빈도 등에 따라 상이한 값이다. 즉, 시간보정값은 고정된 값이 아니고, 사용자별로 각각 측정 및 기록된 데이터를 기반으로 특정되는 값이다.
서버(300)는 이와 같은 시간보정값을 제1 시간카운트에 반영한 값을 기준으로 제2 시간카운트와 일치하는지 여부를 검증한다. 이를 통해, 시간측정 장치를 통해 측정된 시간값에서 발생할 수 있는 기본적인 오차로 인해 발생하는 거래 장애를 최소화할 수 있으며, 사용자별로 상이한 사용습관을 고려한 시간보정값을 사용하였으므로 보다 정확도 높은 시간카운트 검증이 가능해진다.
이하, 가상코드를 기초로 실제카드번호의 저장위치를 탐색하는 방법을 세부적으로 설명한다.
일 실시예로, 서버(300)는 스마트카드(100)와 동일한 가상코드생성함수를 포함할 수 있다. 즉, 서버(300)는 동일한 가상코드생성함수를 이용하여 생성한 가상코드와 스마트카드(100)로부터 수신한 가상코드가 동일한지 여부를 확인하여 정상적으로 생성된 가상코드인지 검증하고 이에 매칭되는 실제카드번호를 탐색할 수 있다.
일 실시예로, 가상코드는 가상코드를 검증하거나 이에 매칭하는 실제카드번호를 탐색하는데 이용되는 복수의 세부코드를 결합하여 생성될 수 있다. 복수의 세부코드가 제1코드와 제2코드를 포함하는 경우, 서버(300)는 제1코드와 제2코드를 이용하여 저장위치탐색알고리즘 내에서 실제카드번호의 저장위치를 탐색한다.
구체적인 예로, 서버(300)는 상기 복수의 세부코드에 포함된 저장위치탐색의 시작지점을 설정하는 제1코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2코드를 이용하여 수신한 가상코드가 정상적으로 생성된 가상코드인지 검증하고 이에 매칭되는 실제카드번호의 저장위치를 탐색할 수 있다.
일 실시예로, 서버(300)는 제1코드에 대응하는 위치를 시작지점으로 설정하고, 제2코드에 적용된 탐색방식에 따라 제2코드를 기반으로 k각형의 배치상태에서의 실제카드번호에 매칭된 지점(즉, k각형의 특정한 꼭지점)을 탐색한다. 실제카드번호는 k각형의 각각의 꼭지점에 매칭된다. 제1코드 트랙(즉, 제1트랙)과 k각형이 대응되는 지점이 제1코드에 대응하는 저장위치 탐색시작지점이 된다. 서버(300)는 탐색시작지점에서 제2코드를 기반으로 인증용카드 저장위치의 매칭지점을 탐색한다.
제2코드를 기반으로 k각형에서 실제카드번호를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 예를 들어, 서버(300)는 k각형이 접한 제1트랙 상의 위치에서 제2코드에 상응하는 각도(예를 들어, k각형의 꼭지점을 향하도록 180도를 MN개로 분할한 특정한 각도)로 지시함에 따라, 가상코드를 기반으로 실제카드번호의 저장위치인 k각형의 꼭지점을 탐색할 수 있다.
또한, 다른 예로, k각형이 제1트랙 상의 제1코드에 대응하는 지점에 접한 상태에서, 서버(300)는 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 MN개로 분할하고, 각각의 각도를 MN개의 제2코드에 매칭한다. 이 때, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 특정개수의 단위각도(즉, 360도/MN)를 이동한 선의 방향은 k각형의 특정한 꼭지점이 된다. 따라서, 특정한 각도에 대응하는 제2코드가 수신되면, 서버(300)는 해당 각도 방향에 위치한 꼭지점을 탐색할 수 있다.
또한, 다른 예로, 제2코드의 특정 자리를 각도산출 방향을 결정하는 것으로 사용할 수 있다. 즉, N개(N은 자연수)의 문자를 이용하여 제2코드를 생성하는 경우, 1개의 자리(Digit)로 각도 측정방향을 결정할 수 있다. 예를 들어, 서버(300)는 k각형의 중심과 제1트랙 상의 접점을 기준으로, 전체 중심각(즉, 360도)을 분할하여 각각의 각도에 제2코드를 매칭하는 경우, k각형의 중심과 제1트랙 상의 접점을 이은 선으로부터 좌측방향으로 측정되는 각도인지 우측방향으로 측정되는 각도인지를 1개의 자리(Digit)의 값으로 결정할 수 있다.
제2코드를 기반으로 k각형에서 실제카드번호의 저장위치를 탐색하는 방식은 이에 한정되지 아니하고, 제2코드에 상응하는 k각형 상의 지점과 제1트랙 상의 접점 사이를 특정한 비율로 나누는 지점을 저장위치로 탐색하는 방식 등의 다양한 방식이 적용될 수 있다.
또한, 다른 일 실시예로, 상기 저장위치탐색알고리즘은 가상코드를 구성하는 복수의 세부코드를 기반으로 트랙상을 이동하여 실제카드번호저장위치에 매칭된 지점으로 이동하는 것이다. 예를 들어, 상기 실제카드번호저장위치에 매칭된 지점은 가상코드생성수단에 실제카드번호를 발급한 카운트(즉, 시점)에 대응하는 트랙상의 지점일 수 있다.
구체적으로, 가상코드가 가상코드생성함수가 구동된 시점으로부터 경과된 시간을 기반으로 생성된 제1코드와 특정한 가상코드생성수단에 실제카드번호가 발급된 시점으로부터 경과된 시간을 기반으로 생성된 제2코드를 포함하는 경우, 가상코드검증수단은 제1코드에 대응되는 코드값이 매칭된 트랙상의 카운트를 탐색시작지점으로 설정하고, 제2코드에 제2함수(또는 추출코드는 제2코드로 이용하는 경우, 추출코드생성함수)의 역함수를 적용함에 따라 산출된 카운트값만큼 상기 탐색시작지점으로부터 트랙을 따라서 회귀하여 가상코드생성수단에 실제카드번호를 발급한 시점의 트랙상의 지점(즉, 실제카드번호저장위치에 매칭된 지점)을 탐색한다.
또한, 구체적인 다른 예로, 가상코드검증수단(20)은 제1코드에 대한 이동트랙(즉, 제1이동트랙)과 평행하게 배치되는 제2코드에 대한 이동트랙(즉, 제2이동트랙)을 제1코드에 의해 이동된 탐색시작지점을 원점으로 하고, 제1코드에 따른 이동방향과 역방향으로 배치한다. 그리고, 가상코드검증수단은 제2이동트랙 상에서 제2코드에 대응되는 코드값의 위치로 이동하고, 이 위치에 대응되는 제1이동트랙 상의 지점을 실제카드번호 저장위치로 탐색한다.
그 후, 가상코드검증수단은 상기 저장위치에서 추출된 상기 실제카드번호로 금융거래 진행 또는 금융거래 진행을 요청한다.
이하, 가상코드를 숫자로만 생성하는 알고리즘에 대해 설명한다.
기존의 금융거래 시스템(예를 들어, 금융거래가 매장에서의 결제인 경우, POS장치 및 PG사서버)을 그대로 유지하면서 가상코드를 사용하기 위해서는, 스마트카드(100)는 실제카드번호와 동일한 자릿수를 가지는 코드를 가상코드로 생성하여야 한다.
일 실시예로, 스마트카드(100)는 복수의 세부코드를 조합하여 가상코드를 생성하되, 실제카드번호와 동일한 자릿수의 코드가 되도록 세부코드를 생성한다. 예를 들어, 가상코드는 고정코드, OTP코드, 변환코드 및 추출코드 등의 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성될 수 있다. 이를 위해, 가상코드생성함수는 OTP코드를 생성하는 OTP함수, 추출코드생성함수 및 세부코드결합함수를 포함할 수 있다.
일 실시예로, 스마트카드(100)는 가상코드 생성이 요청된 시점에 내부에 저장된 OTP함수를 기반으로 OTP코드를 생성한다. 스마트카드(100)는 특정한 시드데이터(또는 시리얼번호)를 기반으로 OTP코드 생성이 요청된 카운트(즉, 사용자로부터 금융거래를 위해 실제카드번호에 대응하는 가상코드 생성이 요청된 시점)를 반영하여 OTP코드를 생성한다. 상기 OTP코드는, OTP함수를 기반으로 특정한 개수의 숫자 배열로 생성되어, 변환코드 산출에 이용되는 것이다. 즉, 가상코드가 가상코드검증수단(예를 들어, 가상코드검증서버)로 전송되면, 가상코드검증수단은 OTP번호를 기반으로 변환코드를 탐색한 후, 변환코드를 실제카드번호 저장위치 탐색에 이용되는 제1코드 또는 제2코드로 이용한다.
일 실시예로, 스마트카드(100)는 사용자에게 금융사서버에서 실제카드번호가 특정한 사용자에게 발급하거나 실제카드번호를 가상토큰검증서버에 등록한 카운트를 OTP함수의 시드데이터로 사용한다. 즉, 가상코드검증수단(즉, 금융사서버 또는 가상토큰검증서버)은 각 사용자별로 구별되는 실제카드번호 발급카운트 또는 실제카드번호 등록 카운트를 시드데이터로 사용한다. 이를 통해, 가상코드검증수단은 가상코드에서 추출된 OTP코드를 이용하여 실제카드번호가 발급되거나 등록된 카운트를 탐색할 수 있다. 또한, 이를 통해, 스마트카드(100)는, 다른 사용자의 실제카드번호가 등록 또는 발급된 카운트가 상이하므로, 상이한 시드데이터를 이용하여 OTP함수가 구동되게 된다. 즉, 스마트카드(100)는 각 사용자에게 상이한 실제카드번호 등록 또는 발급 카운트를 시드데이터로 사용함에 따라 사용자별로 동일한 시점에 상이한 OTP코드를 생성할 수 있다.
스마트카드(100)에서 생성되는 OTP코드는 가상코드검증서버에서 제1코드 또는 제2코드로 이용되는 변환코드를 산출하는데 이용된다. 즉, OTP코드는 변환코드생성함수에 시드값으로 입력되어 특정한 변환코드 생성에 이용된다. 변환코드생성함수는 가상코드검증서버 내에 저장될 수 있다. 또한, 스마트카드(100)는 추출코드생성함수에 변환코드가 시드값으로 이용되는 경우, OTP코드로 변환코드를 생성하기 위해 변환코드생성함수를 포함할 수 있다.
일 실시예로, 상기 변환코드는 특정한 규칙에 따라 OTP코드에 일대일로 매칭될 수 있다. 즉, 변환코드생성함수가 자릿수가 상이한 OTP코드와 변환코드를 일대일로 매칭관계를 형성하는 것일 수 있다.
또한, 다른 일 실시예로, 상기 변환코드는 상기 OTP코드와 가상코드 생성이 요청된 카운트 값을 변환코드생성함수에 시드값으로 입력하여 산출되는 것이다. 즉, 변환코드생성함수는 OTP코드와 가상코드 생성이 요청된 카운트값을 시드값으로 활용하여, 동일한 OTP값이 시드값으로 사용되어도 카운트 값에 따라 상이한 변환코드가 생성될 수 있다. 이를 통해, OTP코드가 변환코드보다 적은 자릿수의 숫자열인 경우, 실제카드번호 저장위치 탐색에 이용되는 제1코드 또는 제2코드로 OTP코드보다 더 많은 경우의 수의 변환코드를 이용할 수 있다.
또한, 다른 일 실시예로, 상기 고정코드가 특정한 카드유형의 가상코드에 대해 신규 부여된 것인 경우, 스마트카드(100)는, 유효기간 자리에 배치되는 특정한 숫자조합을 가변코드로 생성하고, 가변코드와 OTP코드를 함께 변환코드생성함수의 시드값(즉, 변수)로 이용할 수 있다. 즉, 상기 변환코드는, 상기 가변코드와 상기 OTP코드를 시드값으로 하여 생성되는 것이다.
상기 유효기간에 배치되는 숫자조합은, 단위카운트마다 변경되어 생성되는 것으로서, 실제 유효기간으로 사용 가능하며, 현재 카운트로부터 최대기간 내에 포함되는 것이다. 결제시스템 내에서 오류가 발생하지 않으려면, 유효기간이 현재 시점으로부터 유효한 기간 내의 값이어여 한다. 예를 들어, 실제카드의 유효기간이 5년인 경우, 스마트카드(100)는 결제가 요청된 시점으로부터 5년 이내의 연월 조합에 해당하는 숫자조합을 특정한 규칙에 따라 생성한다.
이를 통해, OTP코드와 가변코드의 조합과 변환코드 간의 경우의 수 차이가 줄어들게 된다. 예를 들어, 유효기간 내에 5년 내의 숫자조합이 이용되고, OTP코드로 3자리, 변환코드로 9자리를 숫자로만 이용하는 경우, 60개의 숫자조합이 가변코드로 이용될 수 있으므로, 가변코드와 OTP코드의 조합은 60 * 103이 되어서 가변코드없이 OTP코드만을 시드값으로 이용할 때에 비해 경우의 수 차이가 줄어들게 된다.
스마트카드(100)는 가상코드검증수단(예를 들어, 가상코드검증서버)에서 실제카드번호 저장위치 탐색에 이용되는 제1코드 또는 제2코드로 이용되는 추출코드를 생성하는 역할을 수행한다. 가상코드검증수단이 OTP코드를 기반으로 산출된 변환코드를 제1코드로 이용하는 경우, 가상코드검증수단은 추출코드를 제2코드로 이용한다. 즉, 상기 변환코드 또는 상기 추출코드는 상기 가상코드검증수단에서 설정된 조건에 따라 제1코드 또는 제2코드로 각각 사용된다. 상기 제1코드는, 상기 가상코드검증수단에서 실제카드번호의 저장위치를 탐색하는 시작지점을 설정하는 것이고, 상기 제2코드는, 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 것이다. 구체적으로, 상기 추출코드는 동일한 카운트에 생성된 OTP코드로부터 산출된 변환코드에 대응되는 것이어서, 가상코드검증수단은 특정 카운트의 가상코드 내 추출코드와 특정 카운트의 가상코드 내 OTP코드 기반으로 생성된 변환코드를 이용하여 실제카드번호 저장위치를 탐색한다.
또한, 변환코드 및 추출코드와 제1코드 및 제2코드의 매칭관계는 스마트카드(100) 및 가상코드검증수단(예를 들어, 가상코드검증서버)에 미리 설정되어 있을 수 있다. 변환코드 및 추출코드와 제1코드 및 제2코드의 매칭관계가 반대로 적용되면 가상코드검증서버에서 실제카드번호의 저장위치를 탐색하지 못하므로, 가상코드생성장치 발급 시 또는 가상코드생성함수 저장 시에 미리 설정된다.
스마트카드(100)는, 일 실시예로, OTP함수와 상관관계를 가지는 추출코드생성함수를 포함한다. 즉, 스마트카드(100)는 특정한 카운트에 생성되는 OTP코드를 기반으로 변환코드와 함께 이용되어 실제카드번호 저장위치를 탐색할 수 있는 코드값을 동일한 카운트에 생성하는 함수를 추출코드생성함수로 포함한다.
또한, 다른 일 실시예로, 스마트카드(100)는 OTP코드 자체를 추출코드생성함수에 시드값으로 입력하여 변환코드와 함께 실제카드번호 저장위치를 찾을 수 있는 추출코드(즉, 특정 카운트에 변환코드와 상관관계를 가지는 추출코드)를 생성할 수 있다. 또한, 다른 일 실시예로, 스마트카드(100)가 가상코드검증서버와 동일하게 OTP코드를 기반으로 변환코드를 산출하는 변환코드생성함수를 포함하고, 스마트카드(100)에서 생성된 OTP코드를 기반으로 변환코드를 생성하고, 변환코드를 시드값으로 추출코드생성함수에 입력하여 추출코드를 생성할 수 있다.
상기 추출코드는 상기 가상코드의 전체 숫자 개수에서 상기 고정코드 및 상기 OTP코드를 제외한 숫자 개수의 전부 또는 일부로 생성되는 것이다. 즉, 스마트카드(100)는 가상코드(예를 들어, 카드식별번호가 16자리이고 카드보안코드가 3자리인 경우, 총 23자리)에서 유효기간(예를 들어, 4자리)와 고정코드(예를 들어, 6자리)를 제외한 자리 개수(예를 들어, 카드식별번호 내 고정코드를 제외한 범위와 카드보안코드 범위를 포함하는 13자리)의 전부 또는 일부를 추출코드와 OTP코드가 조합된 숫자열이 배열된다. 예를 들어, 카드식별번호의 마지막 자리를 검사숫자(check digit)로 이용하는 경우, 스마트카드(100)는 검사숫자 자리를 제외한 나머지 자리(예를 들어, 12자리)에 추출코드와 OTP코드가 조합된 숫자열이 배열된다. 구체적으로, 상기 가상코드생성부(130)는, OTP코드와 추출코드를 세부코드결합함수를 통해 조합하여, 상기 카드식별번호에서 고정코드를 제외한 자리와 상기 카드보안코드 자리에 나열한다.
또한, 다른 일 실시예로, 스마트카드(100)는, 가상코드검증수단에서 제1코드 또는 제2코드로 이용되는 변환코드보다 적은 자릿수로 OTP코드를 생성한다. 예를 들어, 상기 OTP코드는 실제카드번호 내의 카드보안코드의 숫자 개수로 생성되고, 상기 제2코드는 상기 가상코드의 전체 숫자 개수에서 상기 고정코드, 상기 OTP코드 및 유효기간을 제외한 숫자 개수의 전부 또는 일부로 생성되는 것이다. 즉, 스마트카드(100)는 카드보안코드가 3자리이면 OTP코드를 3자리로 생성하고, 전체 카드번호 숫자 개수 23개 중에서 고정코드 6자리, 유효기간 4자리, OTP코드 3자리 및 검사숫자 1자리를 제외한 9자리로 추출코드를 생성한다.
이를 통해, 가상코드생성장치는 한정된 실제카드번호의 자리에서 9자리를 추출코드에 사용할 수 있으므로, 추출코드로 사용할 수 있는 코드의 개수가 증가하여 보안성이 향상될 수 있다. 특히, 기존 결제프로세스를 전혀 수정하지 않기 위해 가상코드에 숫자만 사용하는 경우, 추출코드는 0부터 9까지의 10개의 숫자로 9자리를 생성할 수 있어서 109개의 코드를 활용할 수 있다.
이 때, OTP코드를 기반으로 생성되는 변환코드는 추출코드와 동일한 자릿수의 숫자열로 생성될 수 있다. 이를 통해, 변환코드와 추출코드는 가상코드검증서버에서 제1코드 또는 제2코드 각각으로 이용될 수 있다. 또한, 적은 자릿수의 OTP코드로 많은 자릿수의 변환코드를 만들어냄에 따라, 가상코드 내에서 OTP코드와 추출코드에 활용할 수 있는 영역(즉, 12자리)에서 많은 부분을 추출코드에 활용할 수 있도록 한다.
따라서, 숫자만을 사용하여 가상코드를 생성하는 경우에도, 스마트카드(100)에서 제1코드 또는 제2코드로 바로 사용되는 추출코드에 많은 숫자 자리를 부여하고 나머지 자리에 OTP코드를 부여하므로 보안성을 향상시킬 수 있다.
이하, 스마트카드(100)를 등록하는 과정에 대한 예시를 상세히 설명한다.
일 실시예로, 사용자는 가상코드검증서버에 등록 완료된 스마트카드(100)를 수신한다. 예를 들어, 사용자가 가상코드 생성어플리케이션을 사용하다가 스마트카드(100) 발급을 신청하거나, 금융어플리케이션 또는 웹을 통해 스마트카드(100) 신규 발급을 신청하면, 해당 사용자에 대한 스마트카드(100)를 가상코드검증서버 내의 특정 위치(즉, 발급 신청된 시점에 대응하는 저장위치)에 스마트카드(100)를 등록한다. 사용자는 스마트카드(100)를 수신한 후 별도의 등록을 위한 절차를 거치지 않고 수령 확인 후 사용할 수 있다.
또한, 다른 일 실시예로, 사용자가 스마트카드(100)를 수령하면, 사용자는 스마트카드(100)의 전용어플리케이션을 통해 등록절차를 수행한다. 예를 들어, 사용자가 수령한 스마트카드(100)를 봉투 또는 케이스(예를 들어, 사용자의 지문등록을 위해 스마트카드(100)의 IC커넥터(111)가 연결되는 소형 배터리를 포함하는 봉투 또는 케이스)에서 분리하면서 지문등록을 수행함에 따라 스마트카드(100)에 사용시작 시점을 저장하고, 전용어플리케이션을 통해 가상코드검증서버에 사용시작데이터를 전송하여 시작시점을 제공한다. 스마트카드(100)에 입력된 사용시작시점과 가상코드검증서버에 저장된 사용시작시점에 차이가 존재할 수 있으나, 사용자가 스마트카드(100)를 결제에 사용하는 과정에서 서버 내 사용시점을 보정할 수 있다.
본 발명의 일실시예에 따른 스마트카드(100)는 특정한 실제카드번호에 대한 금융거래 절차를 수행할 수 있다.
일 실시예로, 사용자는 가상코드검증서버에 스마트카드(100)를 이용하는 것으로 등록된 특정한 실제카드번호를 이용한 금융거래 절차를 수행할 수 있다. 예를 들어, 스마트카드(100)로 온라인 또는 오프라인 결제를 진행하면, 가상코드검증서버는 가상코드를 기반으로 등록된 실제카드번호를 탐색하여 결제를 진행한다.
또한, 일 실시예로, 사용자는 전용어플리케이션을 이용하여 스마트카드(100)가 연결되어 금융거래를 수행하는 카드를 변경할 수 있다. 즉, 전용 어플리케이션에서 등록된 카드를 변경하는 절차를 거치면, 가상코드검증서버는 스마트카드에서 제공된 가상코드를 기반으로 변경된 카드의 실제카드번호를 탐색하여 금융거래를 진행할 수 있다. 즉, 스마트카드는 별도의 변경없이 가상코드생성함수를 기반으로 금융거래 시점에 대응하는 가상코드를 생성하여 제공하지만 전용어플리케이션에 의해 카드 변경됨에 따라, 사용자는 스마트카드에서 생성된 가상코드를 이용하여 현시점에 사용하기를 원하는 카드로 금융거래를 진행할 수 있다.
구체적으로, 사용자는 스마트카드(100)에 등록되어 금융거래가 진행되는 기본 카드를 변경하길 원하는 경우, 전용 어플리케이션 등을 통해 서버(300)로 기본 카드 변경을 요청한다. 여기서, 사용자는 사용자 단말에 내장 또는 설치된 애플리케이션을 통해 기본 카드를 선택하게 되는데, 사용자는 카드의 이미지를 선택하거나 식별번호를 선택함으로써 기본 카드 변경을 요청할 수 있다.
이후, 서버(300)는 가상카드번호를 기반으로 스마트카드(100)의 UID를 탐색하여 UID에 연결된 실제카드번호 저장공간을 추출하고, 실제카드번호 저장공간 내의 기본 카드를 변경한다. 예를 들어, 기본 카드로 기 설정된 카드의 식별번호가 '1'이고 사용자에 의해 변경 요청된 기본 카드의 식별번호가 '3'이면, 서버(30)는 기본카드설정영역에 '3'을 저장한다. 이후, 서버(300)는 사용자 단말로부터 결제요청이 들어오면 기본카드설정영역에서 기본 카드의 식별정보, 예를 들어 '3'을 확인하고, 카드번호저장영역에서 식별번호가 '3'에 해당하는 실제카드번호를 추출하여 금융거래를 진행하게 된다.
이를 위해, 전용어플리케이션은 카드 변경을 위해 스마트카드(100)와 동일한 가상코드생성함수를 포함할 수 있다. 구체적으로, 해당 사용자의 실제카드번호가 저장된 실제카드번호 저장공간이 연결된 UID를 탐색하기 위해 스마트카드(100)와 동일한 규칙으로 생성된 가상코드가 필요하므로, 전용 어플리케이션은 스마트카드(100)와 동일한 가상코드생성함수를 포함한다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (19)

  1. 외부기기로부터 제1 전원을 공급받고, 상기 외부기기와 통신할 수 있는, 통신 인터페이스;
    특정시점을 기준으로 부여되는 초기시간값으로부터 시간데이터를 측정하는, 시간측정모듈;
    상기 제1 전원을 이용하여 상기 시간데이터를 기초로 카운트되는 시간카운트를 기반으로 가상코드를 생성하는, 가상코드생성부; 및
    상기 가상코드를 외부로 제공하는, 가상코드제공부를 포함하고,
    상기 가상코드는,
    가상카드번호 또는 가상토큰이고, 스마트카드에 사전 저장된 가상코드생성함수에 의해 실제카드번호에 매칭된 코드로 생성되는 것으로서, 가상코드검증서버에서 상기 실제카드번호 탐색에 이용되는 것이며,
    상기 시간측정모듈은,
    상기 시간데이터를 측정하는 클락과, 상기 클락에 제2 전원을 공급하는 클락용배터리를 포함하는 것인,
    가상코드를 생성 및 제공하는 스마트카드.
  2. 제1항에 있어서,
    상기 통신 인터페이스는, IC커넥터 또는 안테나 중 하나 이상을 포함하고,
    상기 IC커넥터는, 상기 스마트카드가 접촉식으로 사용될 때, 상기 외부기기와 물리적으로 접촉하여 상기 외부기기로부터 제 1전원을 공급받고,
    상기 안테나는, 상기 스마트카드가 비접촉식으로 사용될 때, 상기 외부기기와 물리적으로 접촉하지 않고 상기 외부기기로부터 제 1전원을 공급받는,
    가상코드를 생성 및 제공하는 스마트카드.
  3. 제2항에 있어서,
    상기 외부기기는 사용자단말이며,
    상기 제1 전원은 스마트카드가 상기 사용자단말에 태깅되어 공급받는 것인,
    가상코드를 생성 및 제공하는 스마트카드.
  4. 제3항에 있어서,
    상기 가상코드제공부는 디스플레이부를 포함하고, 상기 디스플레이부에 상기 가상코드를 코드값 또는 이미지코드로 출력하는,
    가상코드를 생성 및 제공하는 스마트카드.
  5. 제4항에 있어서,
    사용자의 지문을 인식하여 사용권한을 확인하는 지문인식부를 더 포함하고,
    상기 가상코드생성부는 상기 지문인식부를 통해 인식된 지문이 사전 등록된 지문정보와 일치하는 경우에만 가상코드를 생성하는,
    가상코드를 생성 및 제공하는 스마트카드.
  6. 제1항에 있어서,
    상기 시간측정모듈에서 측정된 제1 시간카운트는 상기 가상코드검증서버에서 측정된 제2 시간카운트와 일치하는지 검증되고,
    상기 제1 시간카운트와 상기 제2 시간카운트의 차이가 특정한 오차범위 내인 경우 일치하는 것으로 판단되는,
    가상코드를 생성 및 제공하는 스마트카드.
  7. 제6항에 있어서,
    상기 가상코드검증서버에는 상기 실제카드번호와 매칭되는 단위카운트에 시간보정값이 저장 및 관리되며, 상기 시간보정값은 각 사용자별로 측정된 오차 이력을 기반으로 특정되는 것이고,
    상기 제1 시간카운트는 상기 시간보정값이 반영되어 검증되는,
    가상코드를 생성 및 제공하는 스마트카드.
  8. 제1항에 있어서,
    상기 가상코드는 복수의 세부코드를 조합하여 생성되는 것인,
    가상코드를 생성 및 제공하는 스마트카드.
  9. 제8항에 있어서,
    상기 복수의 세부코드는,
    저장위치탐색의 시작지점을 설정하는 제1 코드; 및
    특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2 코드를 포함하는 것인,
    가상코드를 생성 및 제공하는 스마트카드.
  10. 스마트카드가 외부로부터 제1 전원을 공급받는 단계;
    상기 스마트카드가 상기 제1 전원을 이용하여 시간카운트를 기반으로 가상코드를 생성하는 단계; 및
    상기 스마트카드가 상기 가상코드를 외부로 제공하는 단계를 포함하고,
    상기 가상코드는,
    가상카드번호 또는 가상토큰이고, 상기 스마트카드에 사전 저장된 가상코드생성함수에 의해 실제카드번호에 매칭된 코드로 생성되는 것으로서, 가상코드검증서버에서 상기 실제카드번호 탐색에 이용되는 것이며,
    상기 시간카운트는,
    상기 스마트카드에 포함된 시간측정모듈에 의해 특정시점을 기준으로 부여되는 초기시간값으로부터 측정된 시간데이터를 기초로 카운트되는 것이고,
    상기 시간측정모듈은,
    상기 시간데이터를 측정하는 클락과, 상기 클락에 제2 전원을 공급하는 클락용배터리를 포함하는 것인,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  11. 제10항에 있어서,
    상기 스마트카드는, IC커넥터 또는 안테나 중 하나 이상을 포함하고,
    상기 IC커넥터는, 상기 스마트카드가 접촉식으로 사용될 때, 외부기기와 물리적으로 접촉하여 상기 외부기기로부터 제 1전원을 공급받고,
    상기 안테나는, 상기 스마트카드가 비접촉식으로 사용될 때, 상기 외부기기와 물리적으로 접촉하지 않고 상기 외부기기로부터 제 1전원을 공급받는,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  12. 제11항에 있어서,
    상기 외부기기는 사용자단말이며,
    상기 외부로부터 제1 전원을 공급받는 단계는, 스마트카드가 상기 사용자단말에 태깅되어 제1 전원을 공급받는 것인,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  13. 제12항에 있어서,
    상기 스마트카드는 디스플레이부를 포함하고,
    상기 가상코드를 외부로 제공하는 단계는, 상기 디스플레이부에 상기 가상코드를 코드값 또는 이미지코드로 출력하는 것인,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  14. 제13항에 있어서,
    상기 스마트카드가 사용자의 지문을 인식하여 사용권한을 확인하는 단계를 더 포함하고,
    상기 스마트카드는 인식된 지문이 사전 등록된 지문정보와 일치하는 경우에만 가상코드를 생성하는,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  15. 제10항에 있어서,
    상기 스마트카드에서 측정된 제1 시간카운트는 상기 가상코드검증서버에서 측정된 제2 시간카운트와 일치하는지 검증되고,
    상기 제1 시간카운트와 상기 제2 시간카운트의 차이가 특정한 오차범위 내인 경우 일치하는 것으로 판단되는,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  16. 제15항에 있어서,
    상기 가상코드검증서버에는 상기 실제카드번호와 매칭되는 단위카운트에 시간보정값이 저장 및 관리되며, 상기 시간보정값은 각 사용자별로 측정된 오차 이력을 기반으로 특정되는 것이고,
    상기 제1 시간카운트는 상기 시간보정값이 반영되어 검증되는,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  17. 제10항에 있어서,
    상기 가상코드는 복수의 세부코드를 조합하여 생성되는 것인,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  18. 제17항에 있어서,
    상기 복수의 세부코드는,
    저장위치탐색의 시작지점을 설정하는 제1 코드; 및
    특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2 코드를 포함하는 것인,
    스마트카드 기반의 가상코드를 생성 및 제공하는 방법.
  19. 하드웨어인 컴퓨터와 결합되어, 제10항 내지 제18항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 스마트카드 기반의 가상코드 생성 및 제공 프로그램.
PCT/KR2019/009760 2018-08-09 2019-08-06 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램 WO2020032517A1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2021506752A JP7192089B2 (ja) 2018-08-09 2019-08-06 仮想コードを生成及び提供するスマートカードとその方法及びプログラム
SG11202006096VA SG11202006096VA (en) 2018-08-09 2019-08-06 Smart card for generating and providing virtual code, and method and program therefor
EP19848742.3A EP3712830B1 (en) 2018-08-09 2019-08-06 Virtual code generating and providing smart card, method therefor, and program therefor
CN201980053676.8A CN112567413A (zh) 2018-08-09 2019-08-06 生成并提供虚拟代码的智能卡及其方法和程序
US16/906,606 US11922411B2 (en) 2018-08-09 2020-06-19 Smart card for generating and providing virtual code, and method and program therefor
IL280506A IL280506B2 (en) 2018-08-09 2021-01-28 Smart card for issuing and providing a virtual code, and method and software therefor
JP2022195446A JP2023027187A (ja) 2018-08-09 2022-12-07 仮想コードを生成及び提供するスマートカードとその方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180093349 2018-08-09
KR10-2018-0093349 2018-08-09
KR1020190094493A KR102115013B1 (ko) 2018-08-09 2019-08-02 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램
KR10-2019-0094493 2019-08-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/906,606 Continuation US11922411B2 (en) 2018-08-09 2020-06-19 Smart card for generating and providing virtual code, and method and program therefor

Publications (1)

Publication Number Publication Date
WO2020032517A1 true WO2020032517A1 (ko) 2020-02-13

Family

ID=69413808

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/009760 WO2020032517A1 (ko) 2018-08-09 2019-08-06 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램

Country Status (1)

Country Link
WO (1) WO2020032517A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023003746A1 (en) * 2021-07-20 2023-01-26 Capital One Services, Llc Generating account numbers using biometric information obtained via a generic transaction card

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020096353A (ko) * 2001-06-19 2002-12-31 한국모바일페이먼트서비스(주) 일회용 가상 카드 서비스 시스템 및 방법
KR20150005788A (ko) * 2013-07-05 2015-01-15 주식회사 비즈모델라인 사용자 키 값을 이용한 사용자 인증 방법
KR101583515B1 (ko) * 2014-11-24 2016-01-12 김승훈 Rf 지문형 스마트 콤비 카드 및 이를 이용한 거래 방법
KR20160036471A (ko) * 2014-08-27 2016-04-04 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
KR101675927B1 (ko) * 2015-10-08 2016-11-14 주식회사 지씨엠씨 신용 조회 단말기, 결제 관리 서버, 결제 관리 방법, 결제 단말, 결제 단말의 동작방법, 결제 관리를 위해 매체에 저장된 컴퓨터 프로그램 및 신용 조회 단말기

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020096353A (ko) * 2001-06-19 2002-12-31 한국모바일페이먼트서비스(주) 일회용 가상 카드 서비스 시스템 및 방법
KR20150005788A (ko) * 2013-07-05 2015-01-15 주식회사 비즈모델라인 사용자 키 값을 이용한 사용자 인증 방법
KR20160036471A (ko) * 2014-08-27 2016-04-04 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
KR101583515B1 (ko) * 2014-11-24 2016-01-12 김승훈 Rf 지문형 스마트 콤비 카드 및 이를 이용한 거래 방법
KR101675927B1 (ko) * 2015-10-08 2016-11-14 주식회사 지씨엠씨 신용 조회 단말기, 결제 관리 서버, 결제 관리 방법, 결제 단말, 결제 단말의 동작방법, 결제 관리를 위해 매체에 저장된 컴퓨터 프로그램 및 신용 조회 단말기

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3712830A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023003746A1 (en) * 2021-07-20 2023-01-26 Capital One Services, Llc Generating account numbers using biometric information obtained via a generic transaction card
US11663601B2 (en) 2021-07-20 2023-05-30 Capital One Services, Llc Generating account numbers using biometric information obtained via a generic transaction card

Similar Documents

Publication Publication Date Title
KR102370173B1 (ko) 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램
WO2017065583A1 (ko) 이동통신단말기간 카드 결제를 수행하는 모바일 카드 결제 시스템 및 방법
WO2014030876A1 (en) Method and apparatus for determining item based on interaction environment
WO2014030836A1 (en) Method and system for authenticating transaction request from device
WO2014030875A1 (en) Apparatus and method for providing interaction information by using image on device display
WO2014171680A1 (en) Mobile terminal, security server and payment method thereof
WO2017061758A1 (ko) 세그먼트 블록 기반 수기서명 인증 시스템 및 방법
WO2017176051A1 (ko) 모바일 기기를 이용하여 사물 인터넷 기기를 인증하는 방법 및 시스템
WO2020032498A1 (ko) 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
WO2017039287A1 (ko) 세그먼트 기반 수기서명 인증 시스템 및 방법
WO2017099555A1 (ko) 시간분할 세그먼트 블록 기반 수기서명 인증 시스템 및 방법
WO2015076605A1 (ko) 터치와 근거리 통신 기반의 전자 도장 및 이를 이용한 전자 날인 인증 시스템
WO2021157790A1 (ko) 얼굴 정보를 이용한 등록 및 결제 방법, 장치, 및 시스템
WO2020032517A1 (ko) 가상코드를 생성 및 제공하는 스마트카드와 그 방법 및 프로그램
WO2020171516A1 (en) Electronic device for authenticating biometric information and operating method thereof
WO2019031716A2 (ko) 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램
WO2016175422A1 (ko) 모바일 스탬프 장치
WO2016143964A1 (en) Terminal and operating method thereof
WO2019009685A1 (ko) 얼굴사진이 표출되는 여권인증카드에 의한 위변조 여권 검사방법 및 그 처리시스템
WO2022139474A1 (ko) 디지털 아이디 정보를 제공하는 전자 장치 및 그 방법
WO2021235673A1 (ko) 해외 금융거래 제어 시스템 및 방법
WO2020162706A1 (ko) 가상법인카드 기반의 금융거래를 제공하는 방법, 프로그램 및 시스템
WO2019017705A1 (ko) 전자 카드 및 전자 카드 동작 방법
WO2021040462A1 (ko) 가상법인카드 기반의 금융거래를 제공하는 방법, 프로그램 및 시스템
WO2017018861A1 (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: 19848742

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019848742

Country of ref document: EP

Effective date: 20200617

WWE Wipo information: entry into national phase

Ref document number: 280506

Country of ref document: IL

ENP Entry into the national phase

Ref document number: 2021506752

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE