[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2020162739A1 - 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치 - Google Patents

칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치 Download PDF

Info

Publication number
WO2020162739A1
WO2020162739A1 PCT/KR2020/003192 KR2020003192W WO2020162739A1 WO 2020162739 A1 WO2020162739 A1 WO 2020162739A1 KR 2020003192 W KR2020003192 W KR 2020003192W WO 2020162739 A1 WO2020162739 A1 WO 2020162739A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual code
code
virtual
chip
detailed codes
Prior art date
Application number
PCT/KR2020/003192
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 KR1020190130742A external-priority patent/KR102243532B1/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Publication of WO2020162739A1 publication Critical patent/WO2020162739A1/ko
Priority to US17/391,844 priority Critical patent/US11379837B2/en
Priority to US17/830,613 priority patent/US11887118B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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/08Payment architectures
    • G06Q20/18Payment architectures involving self-service terminals [SST], vending machines, kiosks or multimedia terminals
    • 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/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • 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/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/308Payment architectures, schemes or protocols characterised by the use of specific devices or networks using the Internet of Things
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3223Realising banking transactions through M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3229Use of the SIM of a M-device as secure element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/325Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices using wireless networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • G06Q20/3265Payment applications installed on the mobile devices characterised by personalisation for use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/351Virtual cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/0826Embedded security module
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/72Subscriber identity

Definitions

  • the present invention relates to a method, a program, and a device for identifying a device using a virtual code based on a chip-specific value, and more particularly, a method for identifying a device using a virtual code that is not duplicated at each time point, a program And an apparatus.
  • Code shape data is used in many areas.
  • the card number and account number used at the time of payment, as well as the IPIN number and resident registration number for user identification are code data.
  • drone is a generic term for an airplane or helicopter-shaped military unmanned aerial vehicle (UAV) capable of flying and controlling by induction of radio waves without a pilot.
  • UAV unmanned aerial vehicle
  • the problem to be solved by the present invention is to provide a method, a program, and a device for identifying a device using a virtual code generated based on an inherent value of a chip inside the device without a separate procedure for identifying the device.
  • a problem to be solved by the present invention is to provide a method, program, and apparatus for generating a virtual code that is not duplicated whenever a code for identifying a device is requested.
  • the problem to be solved by the present invention is to provide a device identification method, a program, and a device that can be used by adding only an algorithm without changing an existing process.
  • a method of identifying a device using a virtual code based on a chip-specific value according to an aspect of the present invention for solving the above-described problem includes the steps of: receiving a virtual code generated by a virtual code verification means by a virtual code generating means, The virtual code verification means extracting a plurality of detailed codes included in the virtual code, and the virtual code verification means searching for a storage location of an actual code based on the plurality of detailed codes, and the virtual code verification means
  • the code is generated based on an intrinsic value previously assigned to the chip inside the virtual code generating means, and is generated by combining the plurality of detailed codes, and the plurality of detailed codes are used to search the storage location of the real code. It has a correlation and changes for each unit count, and the unit count is set at a specific time interval and changes as the time interval elapses.
  • the virtual code verification means includes a search algorithm, and the search algorithm passes through a stopover point corresponding to at least one detail code among the plurality of detail codes, and the plurality of detail codes from the transit point It is to search for the storage location of the actual code by calculating based on the correlation between the two.
  • the plurality of detailed codes include a first code and a second code
  • the search algorithm passes through a transit point corresponding to the first code, and from the transit point, the first code and the The calculation is based on the correlation of the second code to search for the storage location of the actual code.
  • the virtual code generating means is a control device
  • the virtual code is generated by using the intrinsic value of the chip included in the control device as seed data, the intrinsic value of the chip included in the control device Is a serial number that is not duplicated for each control device.
  • the method further comprises the step of confirming, by the virtual code verification means, whether or not the control device is authorized, and when the received virtual code is a normal virtual code, the authorization information for the registered control device is checked, and If the received virtual code is not an abnormal virtual code or a virtual code generated at the present time, it is determined as an unauthorized control device.
  • the method further comprises, when the virtual code generating means is a SIM card, the virtual code is generated by using the intrinsic value of the chip included in the SIM card as seed data, and the intrinsic value of the chip included in the SIM card Is an ICCID or IMSI that is not duplicated for each SIM card.
  • the method further comprises the step of verifying the virtual code by determining whether the virtual code verification means matches the received virtual code received from the virtual code generation means and the generated virtual code generated in the virtual code verification means.
  • the virtual code generation means and the virtual code verification means include the same virtual code generation function.
  • the method further includes registering the unique value of the virtual code generating means with the virtual code verifying means.
  • the virtual code generating means may be a control device or a SIM card.
  • the method includes the steps of generating a plurality of detailed codes by a virtual code generation means, generating a virtual code by combining the plurality of detailed codes by the virtual code generation means, and the virtual code generation means And providing the virtual code to the outside, wherein the virtual code is generated based on a unique value previously assigned to the chip inside the virtual code generating means, and the plurality of detailed codes are stored by the virtual code verification means It has a correlation to search for a location, and is changed for each unit count, and the unit count is set at a specific time interval and is changed as the time interval elapses.
  • the virtual code verification means includes a search algorithm, and the search algorithm passes through a stopover point corresponding to at least one detail code among the plurality of detail codes, and the plurality of detail codes from the transit point The storage location of the actual code is searched by calculating based on the correlation between the two.
  • a program for identifying a device using a virtual code based on a chip unique value according to another aspect of the present invention for solving the above-described problem is combined with hardware to execute the above-mentioned device identification method, and is stored in a medium. .
  • a virtual code receiving unit in which the virtual code verification means receives the virtual code generated by the virtual code generation means.
  • the virtual code verification means extracts a plurality of detailed codes included in the virtual code, the detailed code extracting unit and the virtual code verification means search for a storage location of the actual code based on the plurality of detailed codes.
  • a code search unit wherein the virtual code is generated based on a unique value previously assigned to a chip inside the virtual code generating means, and is generated by combining the plurality of detailed codes, and the plurality of detailed codes are It has a correlation to search for the storage location of the code, and is changed for each unit count, and the unit count is set at a specific time interval and is changed as the time interval elapses.
  • An apparatus for generating a virtual code based on a chip intrinsic value for solving the above-described problem, a detailed code generation unit, wherein the virtual code generation means generates a plurality of detailed codes, A virtual code generation unit for generating a virtual code by combining the plurality of detailed codes, and
  • the virtual code generation means includes a virtual code providing unit that provides the virtual code to the outside, and the virtual code is generated based on a unique value previously assigned to a chip inside the virtual code generation means, and the plurality of The detailed code has a correlation for the virtual code verification means to search for the storage location of the actual code, and is changed for each unit count, and the unit count is set at a specific time interval and is changed as the time interval elapses.
  • the virtual code for device identification is generated based on an internal value of the device, it is possible to accurately identify the device because it is not duplicated regardless of the time when the virtual code is generated.
  • an algorithm for generating a virtual code and searching for an actual code need only be added to the virtual code generating device and the virtual code verification device, so that the existing process can be maintained as it is.
  • FIG. 1 is a block diagram of a system for identifying a device using a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of an apparatus for generating a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of an apparatus for verifying a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of an apparatus for verifying a virtual code based on a unique value of a chip further including a virtual code verification unit according to an embodiment of the present invention.
  • FIG. 5 is a flowchart schematically illustrating a method of identifying a device using a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • FIG. 6 is an exemplary diagram of a search algorithm for searching an actual code storage location by moving on a track based on a detailed code according to an embodiment of the present invention.
  • FIG. 7 is a flowchart schematically illustrating a method of identifying a device using a virtual code based on a chip eigenvalue further comprising verifying a virtual code according to an embodiment of the present invention.
  • FIG. 8 is a flowchart schematically illustrating a process of checking whether or not a control device is applied according to an embodiment of the present invention.
  • unique value means a value given differently for each device.
  • the unique value is a unique number assigned to the device itself or a chip included in the device.
  • serial number assigned to a device or a chip included in the device
  • IMSI Subscriber identification module card
  • SIM card Subscriber identification module card
  • chip refers to a component including an integrated circuit (IC) capable of storing and managing information on a device (eg, a unique value assigned to each device), and a system It is a concept that includes System on Chip (SoC).
  • IC integrated circuit
  • SoC System on Chip
  • Applet refers to a small program composed of JAVA language or a very small application program (Application).
  • character is an element constituting a code, and includes all or part of an uppercase alphabet, a lowercase alphabet, numbers, and special characters.
  • code means a character string in which characters are listed.
  • virtual code refers to a code that is temporarily generated to be connected to an actual code, and refers to a code of a specific number of digits made of characters.
  • tail code refers to a code used to generate a virtual code. That is, when the virtual code is generated by combining a plurality of separately generated codes, the detailed code means an individual code that is separately generated and constitutes the virtual code.
  • the "unit count” is a unit defined as being set at a specific time interval and changing as the time interval elapses. For example, 1 count may be set and used at a specific time interval (eg, 1.5 seconds).
  • the "virtual code generation function” means a function used to generate a virtual code.
  • the "detail code generation function” means a function that generates each detailed code constituting a virtual code.
  • tail code combining function means a function for generating a virtual code by combining or combining a plurality of detail codes.
  • FIG. 1 is a block diagram of a system for identifying a device using a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • a system 1000 for identifying a device using a virtual code based on a chip unique value includes a virtual code generating unit 10 and a virtual code verifying unit 20 do.
  • the virtual code generation means 10 plays a role of generating a virtual code including information by which the virtual code verification means 20 can search for an actual code.
  • the virtual code generation means 10 generates a virtual code based on an internal value of the device according to the virtual code generation function. That is, the virtual code generation means 10 generates a virtual code by using the chip-specific value inside the device as seed data.
  • searching for the actual code is to search for the actual code itself, the storage location of the actual code, a value matching the storage location of the actual code, or a value corresponding to the storage location of the actual code.
  • the "chip-specific value” is a value given differently so as not to be duplicated for each device at a specific point in time (eg, during manufacturing, during registration). For example, the serial number assigned differently for each device, the unique chip value in the IC card, the device identification value of the mobile device where the App Card is installed, the ICCID or IMSI of the SIM card (Subscriber identification module card), the semiconductor chip There is a unique number of, and is not limited to the above-described example and is an arbitrary value that can identify the device.
  • the virtual code and the real code are codes that perform a corresponding role according to the type of the virtual code generating apparatus 100.
  • the virtual code/real code corresponds to the virtual card number (or virtual token number)/real card number (or real token number).
  • the virtual code/real code corresponds to the virtual device identification value/real device identification value.
  • the roles of the virtual code and the real code are not limited to the above-described examples, and may be variously applied according to the role and purpose of the virtual code generating apparatus 100.
  • the virtual code generating means 10 when the virtual code generating device 100 is an IC card, it may be implemented in the form of an applet in the IC card chip.
  • the virtual code generating means 10 when the virtual code generating device 100 is a mobile terminal, it may be implemented in the form of an applet in the USIM included in the mobile terminal. Accordingly, the present invention can be implemented not only when the mobile terminal is a device that supports a near field communication (NFC) function, such as a smartphone, but also does not support the NFC function.
  • NFC near field communication
  • the present invention is applied by implementing the virtual code generating means 10 in the form of an applet in the USIM inserted in the 2G mobile phone. can do.
  • the virtual code is generated through the applet implemented in the USIM, and the generated virtual code is output through the display unit.
  • the user may transmit the virtual code to the virtual code verification device 200 or the virtual code verification device 200 to a device and a server that transmits the virtual code by directly inputting the output virtual code.
  • the virtual code generation means 10 may not store the actual code. Through this, it is possible to prevent the real code from being leaked through hacking of the virtual code generation means 10. A detailed description of the virtual code generation function will be described later.
  • the virtual code verification means 20 serves to search for an actual code based on the virtual code provided from the virtual code generation means 10.
  • the virtual code verification means 20 stores the same virtual code generation function as the virtual code generation means 10 in order to search for an actual code from the virtual code received from the virtual code generation means 10. A detailed description of how the virtual code verification means 20 searches for an actual code based on the virtual code will be described later.
  • the virtual code verification means 20 serves to verify whether the virtual code is a code normally generated by the virtual code generation means 10 or a code generated at the present time. A detailed description of the manner in which the virtual code verification means 20 determines whether the virtual code is normal will be described later.
  • the virtual code verification means 20 may receive the virtual code from the virtual code generation means 10 through various methods.
  • the virtual code verification means 20 may receive a virtual code from the virtual code generation means 10 through wireless communication.
  • the virtual code generating device 100 including the virtual code generating means 10 includes an NFC antenna module, a Bluetooth communication module, etc.
  • the virtual code is virtualized through communication with the virtual code verification device 200. It can be transmitted to the code verification device 200.
  • the virtual code verification device 200 directly inputs and receives the virtual code generated by the virtual code generation device 100 on a mobile terminal connected to the virtual code verification device 200 through communication. can do.
  • the virtual code verification means 20 may be transmitted from another server that has received the virtual code from the virtual code generation means 10.
  • FIG. 2 is a block diagram of an apparatus for generating a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • an apparatus 100 for generating a virtual code based on a unique chip value includes a detailed code generation unit 110, a virtual code generation unit 120, and a virtual code providing unit ( 130).
  • the virtual code generation apparatus 100 may be a device in which a program corresponding to the virtual code generation means 10 is embedded or a program corresponding to the virtual code generation means 10 is installed. .
  • the virtual code generation device 100 includes an IC card with a built-in program corresponding to the virtual code generation means 10, a control device (for example, an IoT device, a drone, an unmanned vehicle, etc.), and financial automation. It may be a device (for example, an automated teller machine (ATM), a cash dispenser (CD) device, etc.), a mobile device in which an application corresponding to the virtual code generation means 10 is installed.
  • the virtual code generation device 100 is not limited to the above-described example, and is an arbitrary device capable of generating and transmitting a virtual code.
  • the virtual code generation unit 120 serves to generate a virtual code based on an inherent chip value inside the virtual code generation apparatus 100. That is, the virtual code generation unit 120 generates a virtual code by using a chip-specific value inside the virtual code generation apparatus 100 as seed data.
  • the virtual code generation unit 120 plays a role of generating a virtual code by combining one or more detailed codes.
  • the virtual code is generated by combining a plurality of detailed codes according to a specific rule.
  • the virtual code generation apparatus 100 includes a virtual code generation function for generating a virtual code, and the virtual code generation function is a detailed code generation function for generating a plurality of detailed codes and a rule for combining a plurality of detailed codes (i.e. Code combining function).
  • the virtual code generating apparatus 100 may generate a virtual code without external communication. That is, the virtual code generating apparatus 100 may generate a virtual code without receiving data from the outside.
  • the virtual code generation device 100 when the virtual code generation device 100 is an IC card, a virtual code generation function is stored in an IC chip included in the IC card, and the virtual code generation function stores the intrinsic value and time data given to the IC chip. Generate virtual code based on it.
  • the IC card may include a clock for measuring the time data.
  • the IC card includes a battery for a clock that supplies power to the clock, but a battery for supplying power for driving other components other than the clock (for example, power required for generating and providing a virtual code Battery for supply) may not be provided. In this case, power for driving components other than the clock may be supplied from an external device (a financial transaction terminal, a financial automation device, etc.) at the time a financial transaction request is made by the user.
  • the virtual code generating device 100 when the virtual code generating device 100 is a SIM card, a virtual code generating function is stored in an IC chip included in the SIM card, and the virtual code generating function is a unique value assigned to the IC chip. Generate virtual code based on time data.
  • the SIM card may include a clock for measuring the time data.
  • the characteristics of power supply may be applied in the same manner as in the example of the above-described IC card, and external power may be supplied from a user terminal into which the SIM card is inserted.
  • the virtual code generation device 100 when the virtual code generation device 100 is a control device, a virtual code generation function is stored in a chip or semiconductor included in the control device, and the virtual code generation function is assigned to the chip or semiconductor. Generate virtual code based on eigenvalue and time data.
  • the control device may include a clock for measuring the time data.
  • Various methods may be applied as a method of generating one virtual code by combining a plurality of detailed codes.
  • the virtual code generator 120 may generate a virtual code by alternately arranging an N-digit first code and an N-digit second code.
  • the detailed code combining function may be a function combining the second code after the first code. As the number of detailed codes included in the virtual function increases, various detailed code combining functions can be generated.
  • the detailed code generation unit 110 serves to generate one or more detailed codes.
  • the virtual code generation function includes each detailed code generation function.
  • the virtual code generation function generates a plurality of detailed codes using a plurality of detailed code generation functions, and generates a virtual code using a detailed code combining function that combines a plurality of detailed codes.
  • the plurality of detailed codes have a correlation used by the virtual code verification means 20 to search for an actual code.
  • the virtual code verification means 20 includes a search algorithm, and the search algorithm passes through a transit point corresponding to one or more detailed codes of the plurality of detailed codes. , It is possible to search for the storage location of the actual code by calculating based on the correlation between the plurality of detailed codes from the transit point. In this case, there may be one or more transit points, and there is no limit to the number.
  • the plurality of detailed codes may include a first code and a second code
  • the detailed code generation unit 110 is a detailed code generation function, which is a first function and a second function. Including, to generate the first code and the second code.
  • the first code and the second code have a correlation for searching for the storage location of the actual code in the virtual code verification means 20, but the virtual code generation device 100 generates the first code to increase security.
  • the first function and the second function for generating the second code are included as the detailed code generation function, and data on the correlation between the first code and the second code may not be included.
  • the first code includes information on a transit point
  • the second code includes information necessary for an operation that can reach the actual code storage location from the transit point. can do.
  • the detailed code generation unit 110 may generate one or more detailed codes based on a unique value of a chip included in the device.
  • the virtual code verification means 20 may receive the intrinsic value of the chip included in the virtual code generating device 100 and store it together in a storage location of the actual code or in a separate storage space connected to the actual code storage location.
  • the virtual code generating device 100 provides the virtual code generated based on the chip's unique value to the virtual code verification means 20, the virtual code verification means 20 extracts the unique value of the chip stored therein to generate the actual code. Use it to search.
  • the virtual code verification means 20 generates a virtual code by applying the extracted chip intrinsic value and time data to the virtual code generation function, and the virtual code (receive virtual code) received from the virtual code generation means 10 It is determined whether or not the addition code (generated virtual code) generated by the virtual code verification means 20 matches.
  • the virtual code generation means 10 and the virtual code verification means 20 may include the same virtual code generation function.
  • the virtual code verification device 200 since there may be a difference between the time when the virtual code generation device 100 generates the virtual code and the time when the virtual code is received by the virtual code verification device 200, the virtual code verification device 200 reduces a time delay.
  • a virtual code within a specific time range (for example, within a specific count range based on the time when the virtual code is received) and check whether a value that matches the virtual code received from the virtual code generation device 100 exists. do. If the virtual code verification means 20 matches the received virtual code and the generated virtual code, it is determined as a normal virtual code.
  • the virtual code verification means 20 may determine whether the virtual code is a normal virtual code, an abnormal virtual code, or a virtual code generated at the present time.
  • the virtual code verification means 20 performs a process corresponding to the determination result. For example, when the virtual code generating device 100 is a control device, processing corresponding to the determination result is as follows.
  • the virtual code verification means 20 checks the authorization information for the registered control device, and the received virtual code is an abnormal virtual code or at the present time. If it is not the generated virtual code, it can be determined as an unauthorized control device.
  • the detailed code generation unit 110 In another embodiment of a method in which the detailed code generation unit 110 generates a detailed code, the detailed code generation unit 110 generates the detailed code by using an inherent value of a chip included in the device.
  • one of a plurality of detailed codes may be generated as an OTP code.
  • the OTP code may be generated by using an intrinsic value of a chip included in the device as seed data. Through this, even a detailed code generated at the same time may generate a different detailed code for each user or device.
  • the detailed code generation unit 110 when a plurality of detailed codes includes a first code and a second code, the detailed code generation unit 110 generates an OTP code by using the chip-specific value inside the device as seed data, and the OTP code By generating a second code based on, it is possible to generate a second code that is not duplicated for each user or device at the same time.
  • the detailed code generation unit 110 In another embodiment of the method in which the detailed code generation unit 110 generates a detailed code, the detailed code generation unit 110 generates a new detailed code for each unit count, and accordingly, the virtual code generation device 100 A new virtual code is generated for each count. Virtual codes that are newly generated for each unit count are not duplicated. Specifically, the detailed code generation unit 110 not only does not duplicate a virtual code newly generated for each unit count for a predetermined period for a specific user or a specific virtual code generation device 100, but also among users belonging to a specific group. It is set not to be duplicated.
  • the virtual code providing unit 130 serves to provide a virtual code to the outside.
  • the virtual code providing unit 130 directly provides the virtual code to the virtual code verification device 200, provides the virtual code to a device or server that delivers the virtual code to the virtual code verification device 200, or allows the user to directly check the virtual code. It may be provided to the display unit of the virtual code generation apparatus 100 so that the data can be input.
  • the virtual code providing unit 130 may include various configurations capable of providing a virtual code to the outside.
  • the virtual code providing unit 130 may include all or part of a wireless Internet module, a short range communication module, and a display unit.
  • the wireless Internet module refers to a module for wireless Internet access, and may be built in or external to the virtual code generating apparatus 100.
  • Wireless Internet technologies include WLAN (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), LTE (long term evolution), LTE-A. (Long Term Evolution-Advanced) or the like may be used.
  • the short-range communication module refers to a module for short-range communication.
  • Short-range communication technology such as Bluetooth, Bluetooth Low Energy (BLE), Beacon, Radio Frequency Identification (RFID), Near Field Communication (NFC), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, etc. may be used.
  • FIG. 3 is a block diagram of an apparatus for verifying a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • an apparatus for verifying a virtual code based on a chip intrinsic value includes a virtual code receiving unit 210, a detailed code extracting unit 220, and an actual code searching unit 230. do.
  • the virtual code verification device 200 is a device and a server in which a program corresponding to the virtual code verification means 20 is embedded or a program corresponding to the virtual code verification means 20 is installed. I can.
  • the virtual code verification device 200 may be a device and a server that identify whether a specific control device is an authorized device.
  • the virtual code generation device 100 is a drone
  • the virtual code verification device 200 may identify the authorization state of the drone in flight.
  • the virtual code received from the drone is a normal virtual code
  • the virtual code generating apparatus 100 checks authorization information for the registered drone by matching the corresponding normal virtual code.
  • Anti-drone treatment includes crashing, collecting, or returning drones by interfering with or disrupting radio waves, and there are no restrictions on how to do so.
  • the virtual code verification apparatus 200 may be a card company server that performs payment by searching for an actual code after receiving a virtual code for a specific type of card of a specific card company held by a specific user. Specifically, in the case of card payment, the virtual code verification device 200 receives the virtual code generated by the virtual code generation device 100 through the POS device and the PG company server. When the received virtual code is a normal code, the virtual code verification device 200 approves the requested transaction. On the other hand, if the received virtual code is an abnormal virtual code or is not a virtual code generated at the moment, the requested transaction is rejected.
  • the user may perform financial transactions (eg, cash deposit/withdrawal, remittance, account inquiry, etc.) through an automated financial device using the virtual code generating device 100.
  • the virtual code verification apparatus 200 may be a financial institution server.
  • the financial institution server After receiving the virtual code, the real code is searched.
  • the virtual code generated by the user terminal which is the virtual code generating device 100
  • the virtual code generation device 100 generates a virtual code from an app card installed in a user terminal or an applet in a USIM included in the user terminal.
  • the user can request a financial transaction by directly inputting the virtual code output on the display unit of the user terminal into the ATM device.
  • the virtual code verification device 200 approves and processes the requested financial transaction.
  • the received virtual code is an abnormal virtual code or is not a virtual code generated at the moment, the requested financial transaction is rejected.
  • the virtual code receiving unit 210 serves to receive a virtual code from the virtual code generating device 100.
  • the virtual code receiving unit 210 may directly receive a virtual code from the virtual code generating device 100 or receive a virtual code generated by the virtual code generating device 100 through communication with another server. have.
  • the detailed code extracting unit 220 serves to extract a plurality of detailed codes included in the virtual code.
  • the virtual code is generated by combining a plurality of detailed codes according to specific rules.
  • the detailed code extracting unit 220 includes the same detailed code combining function as the virtual code generating device 100 of a specific group, and the detailed code extracting unit 220 applies a detailed code combining function to Multiple detailed codes can be extracted from.
  • the detailed code extracting unit 220 is a character arrangement of the virtual code.
  • the first code and the second code can be separated by applying the detailed code combining function.
  • the real code search unit 230 searches for a storage location of the real code based on a plurality of detailed codes.
  • Various methods may be applied as a method in which the real code search unit 230 searches for an actual code storage location based on each detailed code.
  • a correlation may be included between the detailed codes.
  • the virtual code verification means 20 sets a movement path for searching the storage location of the actual code.
  • the movement path is a sequence in which the virtual code verification means 20 searches for the storage location of the actual code based on the correlation of the plurality of detailed codes. That is, the virtual code verification means 20 searches for a storage location of an actual code according to a movement path and order set according to a correlation of a plurality of detailed codes.
  • the virtual code verification means 20 operates based on the correlation between the plurality of detailed codes from the transit point via a transit point corresponding to at least one detailed code among a plurality of detailed codes, You can search the storage location. In this case, there may be one or more transit points, and there is no limit to the number.
  • the virtual code is composed of a first code and a second code
  • the first code includes information on the point of transit
  • the second code is used in an operation to reach the storage location of the real code from the point of transit. You can include the necessary information. A specific example will be described later with reference to FIG. 6.
  • the real code search unit 230 determines a search start point corresponding to the first code, and a second code from the search start point.
  • the moved point can be found as the storage location of the actual code according to the search path corresponding to.
  • the detailed code may include a first code for setting a starting point of the 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 virtual code verification device 200 starts searching based on the first code and the second code that are changed for each count. By setting the point and the search path, you can search the storage location of the actual code.
  • the real code search unit 230 may include a search algorithm to find the storage location of the real code by using a plurality of detailed codes having correlations.
  • the search algorithm is an algorithm that enables a storage location search when applying each detailed code included in the virtual code.
  • the search algorithm is It is an algorithm that adjusts so that the storage location matching the actual code is placed at the corresponding location by performing an operation based on the information included in the second code through the transit point corresponding to the first code.
  • the virtual code verification apparatus 200 can find the actual code storage location or a point matched to the storage location even if the first code and the second code included in the virtual code are changed.
  • Various methods can be applied to the search algorithm. A detailed description of the search algorithm will be provided later.
  • FIG. 4 is a block diagram of an apparatus for verifying a virtual code based on a unique value of a chip further including a virtual code verification unit according to an embodiment of the present invention.
  • an apparatus for verifying a virtual code based on a chip intrinsic value further includes a virtual code verification unit 240.
  • the virtual code verification unit 240 determines whether or not the virtual code received by the virtual code verification device 200 is authentic.
  • the virtual code verification apparatus 200 may include the same virtual code generation function as the virtual code generation apparatus 100.
  • the virtual code verification unit 240 determines whether the virtual code verification means matches the received virtual code received from the virtual code generation means 10 and the generated virtual code generated in the virtual code verification means 20 to determine the virtual code. Verify.
  • FIG. 5 is a flowchart schematically illustrating a method of identifying a device using a virtual code based on a chip eigenvalue according to an embodiment of the present invention.
  • a method of identifying a device using a virtual code based on a chip-specific value includes the steps of, by the virtual code verification means, receiving a virtual code provided from the virtual code generation means ( S300), the virtual code verification means extracting a plurality of detailed codes included in the virtual code (S400), the virtual code verification means searching for a storage location of the actual code based on the plurality of detailed codes (S500). Include.
  • the virtual code verification means receives a virtual code provided from the virtual code generation means ( S300), the virtual code verification means extracting a plurality of detailed codes included in the virtual code (S400), the virtual code verification means searching for a storage location of the actual code based on the plurality of detailed codes (S500).
  • Step S300 is a step in which the virtual code verification means 20 receives the virtual code provided by the virtual code generation means 10.
  • the virtual code is generated in the virtual code generating device 100 and provided to the virtual code verification device 200.
  • the virtual code verification device 200 directly receives the virtual code from the virtual code generation device 100, or receives a virtual code from the virtual code generation device 100 and transmits it to the virtual code verification device 200. It can be received from intermediate devices and servers.
  • step S400 the virtual code verification means 20 extracts a plurality of detailed codes included in the virtual code received from the virtual code generation means 10.
  • the virtual code verification means 20 includes a virtual code generation function included in the virtual code generation means 10, a rule (ie, a detailed code combination function) that combines a plurality of detailed codes is the same. Apply to extract multiple detailed codes. That is, the detailed code combining function corresponds to a rule for arranging a plurality of detailed codes, and is included in the virtual code generation function.
  • a rule ie, a detailed code combination function
  • step S500 the virtual code verification means 20 searches for a storage location of the actual code based on the plurality of detailed codes extracted in step S400.
  • the plurality of detailed codes have correlations that allow the virtual code verification means 20 to search for the actual code. That is, the virtual code verification means 20 searches for an actual code storage location based on the correlation between the detailed codes.
  • the virtual code verification means 20 includes a search algorithm, and the search algorithm passes through a transit point corresponding to one or more detailed codes of the plurality of detailed codes. , It is possible to search for the storage location of the actual code by calculating based on the correlation between the plurality of detailed codes from the transit point. In this case, there may be one or more transit points, and there is no limit to the number.
  • the virtual code may be composed of a first code and a second code as detailed codes.
  • the first code and the second code have a correlation that enables the virtual code verification means 20 to search for a storage location of the actual code.
  • the first code may include information on a transit point
  • the second code may include information necessary for an operation capable of reaching a storage location of an actual code from the transit point.
  • the first code is generated by the sum of the count corresponding to the request time and the OTP code
  • the second code is generated by subtracting the storage location value of the actual code from the first code. That is, an embodiment of the first code and the second code generated by the virtual code generation means 10 is as follows.
  • the OTP (One time password) code is a code generated by the OTP code generation function included in the detailed code generation function, and is generated differently every time. Therefore, since the detailed code is generated differently according to the generation time of the virtual code, it is possible to prevent duplicate generation and enhance security.
  • FIG. 6 is an exemplary diagram of a search algorithm for searching an actual code storage location by moving on a track based on a detailed code according to an embodiment of the present invention.
  • the virtual code verification means 20 includes a search algorithm, and the search algorithm moves on the track based on a plurality of detailed codes constituting the virtual code, and moves to a point matched to the actual code storage location. Search the actual code.
  • the point matched with the real code storage location may be a point on the track corresponding to the count (ie, time point) of which the real code was issued to the virtual code generating means.
  • a virtual code includes a first code and a second code as a plurality of detailed codes generated based on a time elapsed from a time when the virtual code generation function is driven.
  • the code value (first code value) corresponding to the first code is a value obtained by adding the OTP code value from the count corresponding to the current time point based on the time point at which the virtual code generation function is driven.
  • the first code value serves as a transit point in the actual code search process.
  • the code value (second code value) corresponding to the second code is a value obtained by subtracting the storage location value of the actual code from the first code value. Further, the second code value is a count from the point of transit (first code value) to the actual code storage position value.
  • the virtual code verification means 20 passes the count on the track matching the first code value to the transit point, and moves along the track in a direction set by a count corresponding to the second code value.
  • the virtual code generation means 10 searches for a point on the track at the time of issuing the actual code (that is, a point matched to the actual code storage location).
  • FIG. 7 is a flowchart schematically illustrating a method of identifying a device using a virtual code based on a chip-specific value further comprising verifying a virtual code according to an embodiment of the present invention.
  • step S600 the virtual code verification means 20 verifies whether the virtual code received from the virtual code generation means 10 is a normal virtual code. That is, the virtual code verification means 20 determines whether the virtual code received from the virtual code generation means 10 is a normal virtual code, an abnormal virtual code, or a virtual code generated at the present time.
  • the virtual code verification means 20 verifies whether it corresponds to a normally generated virtual code (normal virtual code) by applying an inverse function corresponding to the detailed code generation function. For example, when the virtual code is composed of a first code and a second code, the virtual code verification means 20 applies an inverse function to the first function and the second function for generating the first code and the second code. So, you can verify whether the virtual code is normal.
  • a normally generated virtual code normal virtual code
  • the virtual code verification means 20 includes the same virtual code generation function as the virtual code generation means 10.
  • the virtual code verification means 20 checks and receives the virtual code generated by the same virtual code generation function as the virtual code generation means 10 and the received virtual code received from the virtual code generation means 10. You can verify whether the virtual code is a normally generated virtual code.
  • the virtual code verification device 200 reduces a time delay.
  • a virtual code within a specific time range (for example, within a specific count range based on the time when the virtual code is received) to check whether a value that matches the virtual code received from the virtual code generation device 100 exists. I can. In other words, the virtual code can be verified by applying the error tolerance.
  • FIG. 8 is a flowchart schematically illustrating a process of checking whether or not a control device is applied according to an embodiment of the present invention.
  • the virtual code generating device 100 may be a control device.
  • the virtual code verification device 200 receives a virtual code from the virtual code generation device 100.
  • the virtual code verification apparatus 200 verifies whether the received virtual code is a normal virtual code, and performs a process corresponding to the verification result.
  • Step S610 is a step of performing processing when the virtual code verification means 20 verifies the received virtual code and confirms it as a normal virtual code.
  • “Normal virtual code” is a virtual code that is normally generated through the correct virtual code generation function.
  • the virtual code verification means 20 may search for an actual code based on the normal virtual code, check authorization information for the registered control device, and perform a corresponding process. For example, if the control device is approved as a result of checking the authorization information, the operation of the control device is maintained, and if the control device is not authorized as a result of checking the authorization information, a process of stopping the operation of the control device may be performed.
  • Step S620 is a step of performing processing when the virtual code verification unit 20 verifies the received virtual code and is found to be an abnormal virtual code.
  • the “abnormal virtual code” is a code that cannot be identified by the virtual code verification means 20. For example, a code having a different digit or shape from a virtual code generated by the virtual code generating means 10 corresponds to an abnormal virtual code.
  • Step S630 is a step of performing processing when the virtual code verification means 20 verifies the received virtual code, and it is confirmed that the virtual code is not generated at the present time.
  • the "virtual code not created at the present time” is a virtual code whose number of digits and form of the code is the same as that of a normal virtual code, but the underlying time data is at a different point in time. Since the authorization information for the control device can be changed in real time, it is important to check the status at the time (current) when the authorization information is checked. Therefore, in the case of a virtual code generated at a time other than the present time, the control device is determined to be an unauthorized control device.
  • the virtual code verification device 200 may pre-register and manage the virtual code generation device 100. That is, the virtual code verification apparatus 200 may hold data for verifying the virtual code generation apparatus 100 that has transmitted the virtual code.
  • the virtual code verification device 200 is located in a storage location that matches the time when the registration of the virtual code generation device 100 is performed in the search algorithm included in the virtual code verification means 20. Save the code.
  • the virtual code verification device 200 stores registration information (for example, owner information, device information, authorization information, etc.) for the virtual code generation device 100 together in a storage location of the actual code or stores the actual code. It can be stored in a separate storage space connected to the location.
  • the virtual code verification device 200 when the virtual code generation device 100 is a control device, the virtual code verification device 200 stores registration information such as a device identification value (serial number, etc.) and an authorization state for the control device in advance. I can. Through this, when the virtual code verification apparatus 200 receives the virtual code, it is possible to quickly perform the corresponding processing by checking the registration information matching the corresponding virtual code. As a result of checking the registration information, if the virtual code generating device 100 that has transmitted the virtual code is confirmed as a pre-registered control device, the operation of the corresponding control device is not blocked, and if it is confirmed as a control device that has not been pre-registered, the operation of the corresponding control device Can be controlled.
  • registration information such as a device identification value (serial number, etc.) and an authorization state for the control device in advance. I can.
  • the virtual code generating apparatus 100 may be a drone
  • the virtual code verification apparatus 200 may be a server such as a control center that identifies and verifies the drone.
  • the server stores and manages the actual code and registration information for the drone registered by the drone registration procedure.
  • the server performs a drone identification process to determine whether to stop the operation of the drone to be identified. That is, the server receives the virtual code from the drone, searches for a storage location of the real code matching the received virtual code, checks the registration information of the drone to be identified, and performs corresponding processing.
  • the server does not block flight if the drone to be identified is a drone that is permitted to fly for official service, and if the drone to be identified is a non-registered drone (private drone, etc.) Carry out processing.
  • the drone which is the virtual code generation apparatus 100, periodically or continuously includes a virtual code or outputs a signal of a frequency corresponding to the virtual code.
  • a server such as a control center, which is a virtual code verification device 200, obtains the signal from the drone and determines whether the drone is authorized.
  • the virtual code verification apparatus 200 pre-stores a virtual code value matched to a usable frequency range and a sub-unit range within the usable range, and can identify the virtual code based on the frequency of the signal received from the drone. .
  • the virtual code verifying apparatus 200 may store in advance information about a unique value (ICCID or IMSI, etc.) of the SIM card and user information.
  • ICCID unique value
  • IMSI information about a unique value of the SIM card
  • the virtual code verification device 200 stores the registration information (unique value of USIM, user information, etc.) Store them together in a location or in a separate storage space connected to the actual code storage location.
  • the virtual code verification apparatus 200 searches for a storage location of the real code matching the received virtual code, checks registration information, and performs a corresponding process.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • EPROM Erasable Programmable ROM
  • EEPROM Electrically Erasable Programmable ROM
  • Flash Memory hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치가 제공된다. 상기 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법은 가상코드검증수단이 가상코드생성수단에 의해 생성된 가상코드를 수신하는 단계, 상기 가상코드검증수단이 상기 가상코드에 포함된 복수의 세부코드를 추출하는 단계 및 상기 가상코드검증수단이 상기 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색하는 단계를 포함하고, 상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되며, 상기 복수의 세부코드를 조합하여 생성되는 것이고, 상기 복수의 세부코드는 상기 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고, 상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것이다.

Description

칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치
본 발명은 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치에 관한 것으로, 보다 상세하게는 각 시점마다 중복되지 않게 생성되는 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치에 관한 것이다.
코드 형태데이터는 많은 영역에서 이용되고 있다. 결제 시에 이용되는 카드번호, 계좌번호뿐만 아니라 사용자 식별을 위한 IPIN번호, 주민등록번호 등이 코드형태 데이터이다.
그러나 이러한 코드데이터를 이용하는 과정에서 유출되는 사고가 많이 발생한다. 카드번호의 경우, 카드 표면에 실제카드번호가 그대로 기재되어 있어서 타인에게 시각적으로 유출되며, 마그네틱을 이용한 결제 시에 카드번호가 그대로 POS장치로 전달되면서 유출된다.
실제카드번호가 그대로 유출되지 않도록 하기 위해 가상카드번호를 이용하고자 하는 시도가 많았으나, 가상카드번호에 대응되는 실제카드번호를 탐색하기 위해 사용자를 식별하기 위한 데이터가 필요하였다. 예를 들어, OTP(One Time Password)의 경우, 시간마다 코드가 변경되어 생성되지만, 사용자에게 부여된 알고리즘 판단을 위해 로그인 절차가 필요하여 다양한 영역에 적용되기 어렵다.
한편, 드론(Drone)은 조종사 없이 무선전파의 유도에 의해서 비행 및 조종이 가능한 비행기나 헬리콥터 모양의 군사용 무인항공기(Unmanned aerial vehicle / uninhabited aerial vehicle; UAV)의 총칭이다. 2010년대를 전후하여 군사적 용도 외 다양한 민간 분야에도 활용되고 있다.
드론 기술 발달에 따라 다양한 분야에 드론이 활용되고 민간인에게도 보급화되면서 드론을 이용한 테러 등 부작용도 발생하고 있다. 이에 따라 안티드론(Anti-drone) 기술의 필요성이 부각되면서 관련 시장이 확대되고 있는 추세이다. 또한, 안티드론 기술에는 대상 드론에 대해 피아식별하는 기술이 매우 중요한 역할을 한다.
본 발명이 해결하고자 하는 과제는 장치를 식별하기 위한 별도의 절차없이 장치 내부의 칩의 고유값을 기반으로 생성된 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 장치를 식별하기 위한 코드를 요청할 때마다, 중복 생성되지 않는 가상코드를 생성하는 방법, 프로그램 및 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 기존의 프로세스를 변경하지 않고 알고리즘만 추가하여 사용할 수 있는, 장치 식별 방법, 프로그램 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법은 가상코드검증수단이 가상코드생성수단에 의해 생성된 가상코드를 수신하는 단계, 상기 가상코드검증수단이 상기 가상코드에 포함된 복수의 세부코드를 추출하는 단계 및 상기 가상코드검증수단이 상기 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색하는 단계를 포함하고, 상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되며, 상기 복수의 세부코드를 조합하여 생성되는 것이고, 상기 복수의 세부코드는 상기 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고, 상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것이다.
또한, 상기 방법은, 상기 가상코드검증수단은 탐색알고리즘을 포함하고, 상기 탐색알고리즘은 상기 복수의 세부코드 중 하나 이상의 세부코드와 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색하는 것이다.
또한, 상기 방법은, 상기 복수의 세부코드는 제1코드 및 제2코드를 포함하고, 상기 탐색알고리즘은 상기 제1코드에 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 제1코드 및 상기 제2코드의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색하는 것이다.
또한, 상기 방법은, 상기 가상코드생성수단이 제어장치인 경우, 상기 가상코드는 상기 제어장치에 포함된 칩의 고유값을 시드데이터로 이용하여 생성되며, 상기 제어장치에 포함된 칩의 고유값은 제어장치별로 중복되지 않게 부여된 시리얼번호이다.
또한, 상기 방법은, 상기 가상코드검증수단이 상기 제어장치의 인가여부를 확인하는 단계를 더 포함하고, 상기 수신한 가상코드가 정상 가상코드인 경우, 등록된 제어장치에 대한 인가정보를 확인하고, 상기 수신한 가상코드가 비정상 가상코드 또는 현시점에 생성된 가상코드가 아닌 경우, 인가되지 않은 제어장치로 판단한다.
또한, 상기 방법은, 상기 가상코드생성수단이 SIM카드인 경우, 상기 가상코드는 상기 SIM카드에 포함된 칩의 고유값을 시드데이터로 이용하여 생성되며, 상기 SIM카드에 포함된 칩의 고유값은 SIM카드별로 중복되지 않게 부여된 ICCID 또는 IMSI인 것이다.
또한, 상기 방법은, 상기 가상코드검증수단이 상기 가상코드생성수단으로부터 수신한 수신가상코드와 상기 가상코드검증수단 내에서 생성된 생성가상코드의 일치여부를 판단하여 가상코드를 검증하는 단계를 더 포함하고, 상기 가상코드생성수단과 상기 가상코드검증수단은 동일한 가상코드생성함수를 포함한다.
또한, 상기 방법은, 상기 가상코드생성수단의 고유값을 상기 가상코드검증수단에 등록하는 단계를 더 포함한다.
또한, 상기 방법은, 상기 가상코드생성수단은 제어장치 또는 SIM카드일 수 있다.
또한, 상기 방법은, 가상코드생성수단이 복수의 세부코드를 생성하는 단계, 상기 가상코드생성수단이 상기 복수의 세부코드를 조합하여 가상코드를 생성하는 단계 및 상기 가상코드생성수단이 상기 가상코드를 외부로 제공하는 단계를 포함하고, 상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되는 것이고, 상기 복수의 세부코드는 가상코드검증수단이 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고, 상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것이다.
또한, 상기 방법은, 상기 가상코드검증수단은 탐색알고리즘을 포함하고, 상기 탐색알고리즘은 상기 복수의 세부코드 중 하나 이상의 세부코드와 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색한다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 프로그램은 하드웨어와 결합되어 상기 언급된 장치를 식별하는 방법을 실행하며, 매체에 저장된다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 면에 따른 칩 고유값 기반의 가상코드를 탐색하는 장치는, 가상코드검증수단이 가상코드생성수단에 의해 생성된 가상코드를 수신하는, 가상코드수신부, 상기 가상코드검증수단이 상기 가상코드에 포함된 복수의 세부코드를 추출하는, 세부코드추출부 및 상기 가상코드검증수단이 상기 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색하는, 실제코드탐색부를 포함하고, 상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되며, 상기 복수의 세부코드를 조합하여 생성되는 것이고, 상기 복수의 세부코드는 상기 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고, 상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것이다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 면에 따른 칩 고유값 기반의 가상코드를 생성하는 장치는, 가상코드생성수단이 복수의 세부코드를 생성하는, 세부코드생성부, 상기 가상코드생성수단이 상기 복수의 세부코드를 조합하여 가상코드를 생성하는, 가상코드생성부 및
상기 가상코드생성수단이 상기 가상코드를 외부로 제공하는, 가상코드제공부를 포함하고, 상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되는 것이고, 상기 복수의 세부코드는 가상코드검증수단이 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고, 상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것이다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상기 본 발명에 의하면, 장치 식별을 위한 가상코드는 장치 내부의 고유값을 기반으로 생성되기 때문에 가상코드가 생성되는 시점에 관계없이 중복되지 않으므로 장치를 정확하게 식별할 수 있다.
또한, 상기 본 발명에 의하면, 가상코드생성장치와 가상코드검증장치에만 가상코드 생성 및 실제코드 탐색을 위한 알고리즘이 추가되면 되므로, 기존의 프로세스를 그대로 유지할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 생성하는 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 검증하는 장치의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 가상코드검증부를 더 포함하는 칩 고유값 기반의 가상코드를 검증하는 장치의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법을 개략적으로 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 세부코드를 기반으로 트랙상을 이동하여 실제코드 저장위치를 탐색하는 탐색알고리즘에 대한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 가상코드를 검증하는 단계를 더 포함하는 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법을 개략적으로 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 제어장치의 인가여부를 확인하는 과정을 개략적으로 나타내는 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 "고유값"은 장치별로 상이하게 부여된 값을 의미한다. 예를 들어, 고유값은 장치 자체 또는 장치 내부에 포함된 칩(Chip)에 부여된 고유번호이다. 구체적인 예로, 장치 또는 장치 내부에 포함된 칩에 부여된 시리얼 번호(Serial number), SIM카드(Subscriber identification module card) 내부에 포함된 IC칩의 ICCID 또는 IMSI, 반도체 칩의 고유번호가 있으며, 상술한 예시에 한정되지 않고 장치를 식별할 수 있는 임의의 값이다.
본 명세서에서 "칩(Chip)"은 장치에 대한 정보(예를 들어, 장치별로 부여된 고유값)를 저장 및 관리할 수 있는 집적회로(Integrated circuit; IC)를 포함하는 부품을 의미하며, 시스템온칩(System on chip; SoC)을 포함하는 개념이다.
본 명세서에서 "에플릿(Applet)"은 JAVA언어로 구성된 소규모의 프로그램 또는 초소형의 응용프로그램(Application)을 의미한다.
본 명세서에서 "문자"는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 "코드"는 문자가 나열된 문자열을 의미한다.
본 명세서에서 "가상코드"는 실제코드에 연결되도록 임시적으로 생성되는 코드로서, 문자로 이루어진 특정한 자릿수의 코드를 의미한다.
본 명세서에서 "세부코드"는 가상코드 생성에 이용되는 코드를 의미한다. 즉, 가상코드가 별도로 생성된 복수의 코드를 결합하여 생성되는 경우, 세부코드는 별도로 생성되어 가상코드를 구성하는 개별 코드를 의미한다.
본 명세서에서 "단위카운트"는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1 카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 "가상코드생성함수"는 가상코드를 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 "세부코드생성함수"는 가상코드를 구성하는 각각의 세부코드를 생성하는 함수를 의미한다.
본 명세서에서 "세부코드결합함수"는 복수의 세부코드를 조합 또는 결합하여 가상코드를 생성하는 함수를 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 시스템(1000)은 가상코드생성수단(10) 및 가상코드검증수단(20)을 포함한다.
가상코드생성수단(10)은 가상코드검증수단(20)이 실제코드를 탐색할 수 있는 정보를 포함하는 가상코드를 생성하는 역할을 수행한다. 가상코드생성수단(10)은 가상코드생성함수에 따라 장치 내부의 고유값을 기반으로 가상코드를 생성한다. 즉, 가상코드생성수단(10)은 장치 내부의 칩 고유값을 시드 데이터(Seed data)로 활용하여 가상코드를 생성한다.
본 명세서에서 실제코드(또는 실제코드의 저장위치)를 탐색하는 것은 실제코드 자체, 실제코드의 저장위치 자체, 실제코드의 저장위치에 매칭되는 값 또는 실제코드의 저장위치에 대응되는 값 등을 탐색하는 것을 포함한다.
"칩 고유값"은 특정 시점에(예를 들어, 제조시, 등록시) 장치별로 중복되지 않도록 상이하게 부여된 값이다. 예를 들어, 장치별로 상이하게 부여된 시리얼 번호(Serial number), IC카드 내의 칩 고유값, 앱카드가 설치된 모바일 기기의 장치식별값, SIM카드(Subscriber identification module card)의 ICCID 또는 IMSI, 반도체 칩의 고유번호가 있으며, 상술한 예시에 한정되지 않고 장치를 식별할 수 있는 임의의 값이다.
또한, 가상코드 및 실제코드는 가상코드생성장치(100)의 종류에 따라 상응하는 역할을 수행하는 코드이다. 예를 들어, 가상코드생성장치(100)가 금융거래를 위한 IC카드인 경우, 가상코드/실제코드는 가상카드번호(또는 가상토큰번호)/실제카드번호(또는 실제토큰번호)에 대응된다. 또한, 예를 들어, 가상코드생성장치(100)가 제어장치인 경우, 가상코드/실제코드는 가상장치식별값/실제장치식별값에 대응된다. 가상코드 및 실제코드의 역할은 상술한 예시에 제한되지 않으며, 가상코드생성장치(100)의 역할 및 목적에 따라 다양하게 적용될 수 있다.
가상코드생성수단(10)의 일 실시예로, 가상코드생성장치(100)가 IC카드인 경우, IC카드 칩 내에 애플릿(Applet)의 형태로 구현될 수 있다.
가상코드생성수단(10)의 다른 실시예로, 가상코드생성장치(100)가 모바일 단말인 경우, 모바일 단말에 포함되는 USIM 내에 애플릿(Applet) 형태로 구현될 수 있다. 따라서, 모바일 단말이 스마트폰 등과 같이 NFC(Near field communication) 기능을 지원하는 기기인 경우는 물론이고, NFC 기능을 지원하지 않는 경우도 본 발명의 실시가 가능하다. 예를 들어, 가상코드생성장치(100)가 NFC 기능을 지원하지 않는 2G 휴대폰인 경우, 2G 휴대폰 내에 삽입된 USIM 내에 애플릿(Applet) 형태로 가상코드생성수단(10)을 구현하여 본 발명을 적용할 수 있다. USIM 내에 구현된 애플릿을 통해 가상코드를 생성하고, 생성된 가상코드를 디스플레이부를 통해 출력한다. 사용자는 출력된 가상코드를 직접 입력하는 방식으로 가상코드를 가상코드검증장치(200) 또는 가상코드검증장치(200)로 가상코드를 전달하는 장치 및 서버에 전달할 수 있다.
한편, 일 실시예로, 가상코드검증수단(20)에서 가상코드를 기반으로 실제코드를 탐색하므로, 가상코드생성수단(10)은 실제코드를 저장하지 않을 수 있다. 이를 통해 가상코드생성수단(10)의 해킹 등을 통해 실제코드가 유출되는 것을 방지할 수 있다. 가상코드생성함수에 대한 구체적인 설명은 후술한다.
가상코드검증수단(20)은 가상코드생성수단(10)으로부터 제공되는 가상코드를 기반으로 실제코드를 탐색하는 역할을 수행한다. 가상코드검증수단(20)은 가상코드생성수단(10)으로부터 수신된 가상코드로부터 실제코드를 탐색하기 위해 가상코드생성수단(10)과 동일한 가상코드생성함수를 저장한다. 가상코드검증수단(20)이 가상코드를 기반으로 실제코드를 탐색하는 방식에 대한 구체적인 설명은 후술한다.
또한, 가상코드검증수단(20)은 가상코드가 가상코드생성수단(10)에서 정상적으로 생성된 코드인지 또는 현시점에서 생성된 코드인지 여부를 검증하는 역할을 수행한다. 가상코드검증수단(20)이 가상코드의 정상여부를 판단하는 방식에 대한 구체적인 설명은 후술한다.
가상코드검증수단(20)은 가상코드생성수단(10)으로부터 다양한 방식을 통해 가상코드를 전달받을 수 있다.
일 실시예로, 가상코드검증수단(20)은 무선통신을 통해 가상코드생성수단(10)으로부터 가상코드를 수신할 수 있다. 예를 들어, 가상코드생성수단(10)을 포함하는 가상코드생성장치(100)가 NFC안테나모듈, 블루투스통신모듈 등을 포함하는 경우, 가상코드검증장치(200)와의 통신을 통해 가상코드를 가상코드검증장치(200)로 전송할 수 있다.
또한, 다른 실시예로, 가상코드검증장치(200)는 가상코드생성장치(100)에 의해 생성된 가상코드를 가상코드검증장치(200)에 통신을 통해 연결되는 이동단말기 상에 직접 입력되어 수신할 수 있다. 이 때, 가상코드검증수단(20)은 가상코드생성수단(10)으로부터 가상코드를 수신한 다른 서버로부터 전달받을 수 있다.
도 2는 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 생성하는 장치의 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 생성하는 장치(100)는 세부코드생성부(110), 가상코드생성부(120) 및 가상코드제공부(130)를 포함한다.
본 발명의 실시예들에 따른 가상코드생성장치(100)는 가상코드생성수단(10)에 해당하는 프로그램이 내장(Embeded)되거나 가상코드생성수단(10)에 해당하는 프로그램이 설치된 장치일 수 있다.
구체적인 예로, 가상코드생성장치(100)는 가상코드생성수단(10)에 해당하는 프로그램이 내장된 IC카드, 제어장치(예를 들어, IoT장치, 드론, 무인으로 운행 가능한 자동차 등), 금융자동화기기(예를 들어, 현금 자동 입출금기(Automated teller machine; ATM), CD(Cash dispenser; CD) 기기 등), 가상코드생성수단(10)에 해당하는 어플리케이션(Application)이 설치된 모바일 기기일 수 있다. 가상코드생성장치(100)는 상술한 예시로 한정되지 않으며 가상코드를 생성하여 전송할 수 있는 임의의 장치이다.
가상코드생성부(120)는 가상코드생성장치(100) 내부의 칩 고유값 기반으로 가상코드를 생성하는 역할을 한다. 즉, 가상코드생성부(120)는 가상코드생성장치(100) 내부의 칩 고유값을 시드 데이터(Seed data)로 하여 가상코드를 생성한다. 가상코드생성부(120)는 하나 이상의 세부코드를 조합하여 가상코드로 생성하는 역할을 수행한다.
일 실시예로, 상기 가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 가상코드생성장치(100)는 가상코드를 생성하는 가상코드생성함수를 포함하고, 가상코드생성함수는 복수의 세부코드를 생성하는 세부코드생성함수 및 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함한다.
다른 실시예로, 가상코드생성장치(100)는 외부와의 통신없이 가상코드를 생성할 수 있다. 즉, 가상코드생성장치(100)는 외부로부터 데이터 수신없이 가상코드를 생성할 수 있다.
예를 들어, 가상코드생성장치(100)가 IC카드인 경우, IC카드에 포함된 IC칩에 가상코드생성함수가 저장되어 있고, 가상코드생성함수는 IC칩에 부여된 고유값과 시간데이터를 기반으로 가상코드를 생성한다. 또한, IC카드는 상기 시간데이터 측정을 위한 클락을 포함할 수 있다. 또한, 일 예로, 상기 IC카드는 상기 클락에 전원을 공급하는 클락용 배터리를 구비하되, 클락 외의 다른 구성을 구동하기 위한 전원을 공급하기 위한 배터리(예를 들어, 가상코드 생성 및 제공에 필요한 전원 공급을 위한 배터리)는 구비하지 않을 수 있다. 이 경우, 클락 외의 구성을 구동하기 위한 전원은 사용자에 의해 금융거래 요청이 이루어진 시점에 외부(금융거래 단말기, 금융자동화기기 등)에서 공급받을 수 있다.
또한, 예를 들어, 가상코드생성장치(100)가 SIM카드인 경우, SIM카드에 포함된 IC칩에 가상코드생성함수가 저장되어 있고, 가상코드생성함수는 상기 IC칩에 부여된 고유값과 시간데이터를 기반으로 가상코드를 생성한다. 또한, SIM카드는 상기 시간데이터 측정을 위한 클락을 포함할 수 있다. 이 때, 전원공급에 대한 특징은 상술한 IC카드의 예시와 동일하게 적용될 수 있으며, 외부로부터의 전원은 SIM카드가 삽입된 사용자단말로부터 공급받을 수 있다.
또한, 예를 들어, 가상코드생성장치(100)가 제어장치인 경우, 제어장치 내부에 포함된 칩 또는 반도체에 가상코드생성함수가 저장되어 있고, 가상코드생성함수는 상기 칩 또는 반도체에 부여된 고유값과 시간데이터를 기반으로 가상코드를 생성한다. 또한, 제어장치는 상기 시간데이터 측정을 위한 클락을 포함할 수 있다.복수의 세부코드를 결합하여 하나의 가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 상기 세부코드결합함수의 일 예로, 가상코드생성부(120)는 N자리의 제1코드와 N자리의 제2코드를 번갈아 배치하는 방식으로 가상코드를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1코드 뒤에 제2코드를 결합하는 함수일 수 있다. 가상함수에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
세부코드생성부(110)는 하나 이상의 세부코드를 생성하는 역할을 수행한다. 가상코드생성함수는 각각의 세부코드생성함수를 포함한다. 예를 들어, 가상코드생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 가상코드를 생성한다. 복수의 세부코드는 가상코드검증수단(20)이 실제코드를 탐색하기 위해 이용되는 상관관계를 가진다.
복수의 세부코드가 가지는 상관관계에 대한 일 실시예로, 가상코드검증수단(20)은 탐색알고리즘을 포함하고, 상기 탐색알고리즘은 복수의 세부코드 중 하나 이상의 세부코드와 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치 탐색할 수 있다. 이 때, 경유지점은 하나 또는 복수일 수 있으며 개수에 제한은 없다.
또한, 복수의 세부코드의 일 실시예로, 복수의 세부코드는 제1코드 및 제2코드를 포함할 수 있고, 세부코드생성부(110)는 세부코드생성함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성한다. 제1코드와 제2코드는 가상코드검증수단(20) 내에서 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지나, 가상코드생성장치(100)는 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드생성함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다. 제1코드와 제2코드의 상관관계의 구체적인 예로, 제1코드는 경유지점에 대한 정보를 포함하고, 제2코드는 경유지점으로부터 실제코드의 저장위치로 도달할 수 있는 연산에 필요한 정보를 포함할 수 있다. 제1코드와 제2코드의 세부적인 예시에 대한 상세한 설명은 후술한다.
세부코드생성부(110)가 세부코드를 생성하는 방식의 일 실시예로, 세부코드생성부(110)는 장치 내부에 포함된 칩의 고유값을 기반으로 하나 이상의 세부코드를 생성할 수 있다. 가상코드검증수단(20)은 가상코드생성장치(100) 내부에 포함된 칩의 고유값을 수신하여 실제코드의 저장위치에 함께 저장하거나 실제코드 저장위치에 연결된 별도의 저장공간에 저장할 수 있다. 가상코드생성장치(100)가 칩 고유값을 기반으로 생성한 가상코드를 가상코드검증수단(20)에 제공하면, 가상코드검증수단(20)은 내부에 저장된 칩 고유값을 추출하여 실제코드를 탐색하는데 이용한다. 예를 들어, 가상코드검증수단(20)은 추출된 칩 고유값과 시간데이터를 가상코드생성함수에 적용하여 가상코드를 생성하여 가상코드생성수단(10)으로부터 수신한 가상코드(수신가상코드)와 가상코드검증수단(20)이 생성한 가산코드(생성가상코드)가 일치하는지 여부를 판단한다. 이를 위해 가상코드생성수단(10)과 가상코드검증수단(20)은 동일한 가상코드생성함수를 포함할 수 있다. 또한, 가상코드생성장치(100)에서 가상코드를 생성하는 시점과 가상코드검증장치(200)에서 가상코드를 수신한 시점 사이에 차이가 존재할 수 있으므로, 가상코드검증장치(200)는 시간딜레이를 고려하여 특정시간 범위 내(예를 들어, 가상코드를 수신한 시점 기준으로 특정 카운트 범위 내)의 가상코드를 생성하여 가상코드생성장치(100)로부터 수신한 가상코드와 일치하는 값이 존재하는지 확인한다. 가상코드검증수단(20)은 수신가상코드와 생성가상코드가 일치하면 정상 가상코드로 판단한다.
또한, 가상코드검증수단(20)은 가상코드를 정상 가상코드인지, 비정상 가상코드인지, 현시점에 생성된 가상코드인지 여부를 판단할 수 있다. 가상코드검증수단(20)은 판단 결과에 상응하는 처리를 수행한다. 예를 들어, 가상코드생성장치(100)가 제어장치인 경우, 판단 결과에 상응하는 처리는 다음과 같다. 가상코드검증수단(20)은 가상코드생성장치(100)로부터 수신한 가상코드가 정상 가상코드인 경우, 등록된 제어장치에 대한 인가정보를 확인하고, 수신한 가상코드가 비정상 가상코드이거나 현시점에 생성된 가상코드가 아닌 경우, 인가되지 않은 제어장치로 판단할 수 있다.
세부코드생성부(110)가 세부코드를 생성하는 방식의 다른 실시예로, 세부코드생성부(110)는 장치 내부에 포함된 칩의 고유값을 활용하여 생성한다. 구체적인 예로, 복수의 세부코드 중 어느 하나의 세부코드를 OTP코드로 생성할 수 있다. 이 때, 상기 OTP코드는 장치 내부에 포함된 칩의 고유값을 시드 데이터(Seed data)로 하여 생성될 수 있다. 이를 통해 동일 시점에 생성된 세부코드라도 사용자 또는 장치마다 상이한 세부코드가 생성될 수 있다. 보다 상세하게는, 복수의 세부코드가 제1코드 및 제2코드를 포함하는 경우, 세부코드생성부(110)는 장치 내부의 칩 고유값을 시드 데이터로 하여 OTP코드를 생성하고, 상기 OTP코드를 기반으로 제2코드를 생성하여, 동일 시점에 사용자 또는 장치마다 중복되지 않는 제2코드를 생성할 수 있다.
세부코드생성부(110)가 세부코드를 생성하는 방식의 또 다른 실시예로, 세부코드생성부(110)는 단위카운트마다 새로운 세부코드를 생성하고, 이에 따라 가상코드생성장치(100)는 단위카운트마다 새로운 가상코드를 생성한다. 단위카운트마다 신규로 생성되는 가상코드는 중복되어 생성되지 않는다. 구체적으로, 세부코드생성부(110)는, 단위카운드마다 신규생성되는 가상코드가 특정한 사용자 또는 특정한 가상코드생성장치(100)에게 정해진 기간동안 중복생성되지 않을 뿐만 아니라, 특정한 그룹에 속한 사용자간에도 중복생성되지 않도록 설정된다.
가상코드제공부(130)는 가상코드를 외부로 제공하는 역할을 수행한다. 가상코드제공부(130)는 가상코드를 가상코드검증장치(200)로 직접 제공하거나, 가상코드검증장치(200)로 가상코드를 전달하는 장치 또는 서버에 제공하거나, 사용자가 가상코드를 직접 확인하고 입력할 수 있도록 가상코드생성장치(100)의 디스플레이부에 제공할 수 있다. 가상코드제공부(130)는 가상코드를 외부로 제공할 수 있는 다양한 구성을 포함할 수 있다. 가상코드제공부(130)는 무선인터넷모듈, 근거리통신모듈, 디스플레이부 등의 전부 또는 일부를 포함할 수 있다.
무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 가상코드생성장치(100)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE(long term evolution), LTE-A(Long Term Evolution-Advanced) 등이 이용될 수 있다.
근거리 통신 모듈은 근거리 통신을 위한 모듈을 말한다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), BLE(Bluetooth Low Energy), 비콘(Beacon), RFID(Radio Frequency Identification), NFC(Near Field Communication), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
도 3은 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 검증하는 장치의 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 검증하는 장치는 가상코드수신부(210), 세부코드추출부(220) 및 실제코드탐색부(230)를 포함한다.
본 발명의 실시예들에 따른 가상코드검증장치(200)는 가상코드검증수단(20)에 해당하는 프로그램이 내장(Embeded)되거나 가상코드검증수단(20)에 해당하는 프로그램이 설치된 장치 및 서버일 수 있다.
예를 들어, 가상코드검증장치(200)는 특정 제어장치가 인가된 장치인지 여부를 식별하는 장치 및 서버일 수 있다. 구체적인 예로, 가상코드생성장치(100)가 드론인 경우, 가상코드검증장치(200)는 비행 중인 드론의 인가 상태를 식별할 수 있다. 가상코드생성장치(100)는 드론으로부터 수신한 가상코드가 정상 가상코드인 경우, 해당 정상 가상코드에 매칭하여 등록된 드론에 대한 인가정보를 확인한다. 반면, 수신한 가상코드가 비정상 가상코드이거나 현시점에 생성된 가상코드가 아닌 경우, 인가되지 않은 제어장치로 판단하여 안티 드론(Anti-drone) 처리를 수행할 수 있다. 안티 드론 처리는 전파를 방해하거나 교란하여 드론을 추락시키거나, 포집하거나, 되돌려보내는 것을 포함하며, 그 방법에 제한은 없다.
또한, 예를 들어, 가상코드검증장치(200)는 특정한 사용자가 보유한 특정 카드사의 특정한 유형의 카드에 대한 가상코드를 수신한 후 실제코드를 탐색하여 결제를 진행하는 카드사서버일 수 있다. 구체적으로, 카드 결제의 경우, 가상코드검증장치(200)는 POS장치 및 PG사 서버를 통해 가상코드생성장치(100)에서 생성한 가상코드를 수신한다. 가상코드검증장치(200)는 수신한 가상코드가 정상코드인 경우, 요청된 거래를 승인한다. 반면, 수신한 가상코드가 비정상 가상코드이거나 현시점에 생성된 가상코드가 아닌 경우, 요청된 거래를 거절한다.
또한, 예를 들어, 사용자는 가상코드생성장치(100)를 이용하여 금융자동화기기를 통해 금융거래(예를 들어, 현금입출금, 송금, 계좌조회 등)를 수행할 수 있다. 이 때, 가상코드검증장치(200) 는 금융기관서버일 수 있다. 구체적인 예로, 사용자가 가상코드생성장치(100)인 IC카드로 ATM기기에 가상코드를 입력(예를 들어, IC카드를 카드삽입구에 삽입하거나 NFC리더기에 접촉)하면, 금융기관서버는 ATM기기로부터 가상코드를 수신한 후 실제코드를 탐색한다. 또한, 다른 예로, 사용자는 실물카드를 소지하지 않거나 실물카드없이 모바일 카드 형태로 발급된 경우에도, 가상코드생성장치(100)인 사용자단말에서 생성된 가상코드를 직접 ATM기기에 입력하는 방식으로 금융거래를 수행할 수 있다. 즉, 가상코드생성장치(100)인 사용자단말에 설치된 앱카드 또는 사용자단말에 포함된 USIM 내의 애플릿(Applet)에서 가상코드를 생성한다. 사용자는 사용자단말의 디스플레이부에 출력된 가상코드를 ATM기기에 직접 입력하여 금융거래를 요청할 수 있다. 가상코드검증장치(200)는 수신한 가상코드가 정상코드인 경우, 요청된 금융거래를 승인 및 처리한다. 반면, 수신한 가상코드가 비정상 가상코드이거나 현시점에 생성된 가상코드가 아닌 경우, 요청된 금융거래를 거절한다.
가상코드수신부(210)는 가상코드생성장치(100)로부터 가상코드를 수신하는 역할을 수행한다. 일 실시예로, 가상코드수신부(210)는 가상코드생성장치(100)로부터 가상코드를 직접 수신하거나, 다른 서버와의 통신을 통해 가상코드생성장치(100)에서 생성된 가상코드를 전달받을 수 있다.
세부코드추출부(220)는 가상코드에 포함된 복수의 세부코드를 추출하는 역할을 수행한다. 가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 일 실시예로, 세부코드추출부(220)는 특정그룹의 가상코드생성장치(100)와 동일한 세부코드결합함수를 포함하여, 세부코드추출부(220)는 세부코드결합함수를 적용하여 가상코드에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 가상코드생성장치(100)에서 두 개의 세부코드(즉, 제1코드 및 제2코드)가 결합된 가상코드를 생성하는 경우, 세부코드추출부(220)는 가상코드의 문자배열에서 세부코드결합함수를 적용하여 제1코드 및 제2코드를 분리해낼 수 있다.
실제코드탐색부(230)는 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색한다. 실제코드탐색부(230)가 각각의 세부코드를 기반으로 실제코드 저장위치를 탐색하는 방식으로는 다양한 방식이 적용될 수 있다. 실제코드탐색부(230)가 복수의 세부코드를 기반으로 저장위치를 탐색하기 위해 세부코드 간에는 상관관계를 포함할 수 있다.
세부코드 간의 상관관계에 대한 일 실시예로, 복수의 세부코드는 가상코드검증수단(20)이 실제코드의 저장위치를 탐색하는 이동경로를 설정한다. 이 때, 상기 이동경로는 가상코드검증수단(20)이 복수의 세부코드가 가지는 상관관계를 기반으로 실제코드의 저장위치를 탐색하는 순서이다. 즉, 가상코드검증수단(20)은 복수의 세부코드가 가지는 상관관계에 따라 설정된 이동경로 및 순서에 따라 실제코드의 저장위치를 탐색한다. 구체적인 예로, 가상코드검증수단(20)은 복수의 세부코드 중 하나 이상의 세부코드와 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색할 수 있다. 이 때, 경유지점은 하나 또는 복수일 수 있으며 개수에 제한은 없다.
예를 들어, 가상코드가 제1코드와 제2코드로 구성되는 경우, 제1코드는 경유지점에 대한 정보를 포함하고, 제2코드는 경유지점으로부터 실제코드의 저장위치로 도달하기 위한 연산에 필요한 정보를 포함할 수 있다. 구체적인 예시는 도 6을 참조하여 후술한다.
또한, 예를 들어, 가상코드가 제1코드와 제2코드로 구성되는 경우, 실제코드탐색부(230)는 제1코드에 대응하는 탐색시작지점을 결정하고, 상기 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 실제코드의 저장위치로 찾을 수 있다. 즉, 상기 세부코드는, 저장위치탐색의 시작지점을 설정하는 제1코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정하는 제2코드를 포함할 수 있다.
또한, 예를 들어, 가상코드생성장치(100)가 단위카운트마다 신규 가상코드를 제공함에 따라, 가상코드검증장치(200)는 각 카운트마다 변경되는 제1코드 및 제2코드를 기반으로 탐색시작지점과 탐색경로를 설정하여 실제코드의 저장위치를 탐색할 수 있다.
한편, 일 실시예로, 실제코드탐색부(230)는 상관관계를 가지는 복수의 세부코드를 이용하여 실제코드의 저장위치를 찾기 위해, 탐색알고리즘을 포함할 수 있다. 탐색알고리즘은 가상코드에 포함되는 각각의 세부코드 적용 시에 저장위치 탐색이 가능하도록 하는 알고리즘이다.
예를 들어, 가상코드가 경유지점에 대한 정보를 포함하는 제1코드와 경유지점으로부터 실제코드의 저장위치로 도달하기 위한 연산에 필요한 정보를 포함하는 제2코드로 구성되는 경우, 탐색알고리즘은 제1코드에 대응되는 경유지점을 경유하여, 제2코드에 포함된 정보를 기반으로 연산을 수행하여 해당 위치에 실제코드가 매칭되는 저장위치가 배치되도록 조절하는 알고리즘이다. 탐색알고리즘을 이용함에 따라, 가상코드검증장치(200)는 가상코드에 포함된 제1코드와 제2코드가 변경되어도 실제코드 저장위치 또는 저장위치에 매칭된 지점을 찾을 수 있다. 탐색알고리즘은 다양한 방식이 적용될 수 있다. 탐색알고리즘에 대한 상세한 설명은 후술한다.
도 4는 본 발명의 일 실시예에 따른 가상코드검증부를 더 포함하는 칩 고유값 기반의 가상코드를 검증하는 장치의 구성도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 검증하는 장치는 가상코드검증부(240)를 더 포함한다.
가상코드검증부(240)는 가상코드검증장치(200)가 수신한 가상코드의 진위여부를 판단하는 역할을 수행한다.
일 실시예로, 가상코드검증장치(200)는 가상코드생성장치(100)와 동일한 가상코드생성함수를 포함할 수 있다. 가상코드검증부(240)는 가상코드검증수단이 가상코드생성수단(10)으로부터 수신한 수신가상코드와 가상코드검증수단(20) 내에서 생성된 생성가상코드의 일치여부를 판단하여 가상코드를 검증한다.
도 5는 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법을 개략적으로 나타내는 흐름도이다.
도 5를 참조하면, 는 본 발명의 일 실시예에 따른 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법은, 가상코드검증수단이 가상코드생성수단에서 제공된 가상코드를 수신하는 단계(S300), 가상코드검증수단이 가상코드에 포함된 복수의 세부코드를 추출하는 단계(S400), 가상코드검증수단이 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색하는 단계(S500)를 포함한다. 이하, 각 단계에 대한 상세한 설명을 기재한다. 다만, 가상코드생성장치(100) 및 가상코드검증장치(200)에 대한 설명 과정에서 상술된 내용에 대한 구체적인 개시는 생략한다.
S300 단계는, 가상코드검증수단(20)이 가상코드생성수단(10)에서 제공된 가상코드를 수신하는 단계이다. 가상코드는 가상코드생성장치(100)에서 생성되어 가상코드검증장치(200)로 제공된다.
상술한 바와 같이, 가상코드검증장치(200)는 가상코드를 가상코드생성장치(100)로부터 직접 수신하거나, 가상코드생성장치(100)로부터 가상코드를 수신하여 가상코드검증장치(200)로 전달해주는 중간 장치 및 서버로부터 수신할 수 있다.
S400 단계는, 가상코드검증수단(20)이 가상코드생성수단(10)으로부터 수신한 가상코드에 포함된 복수의 세부코드를 추출하는 단계이다.
일 실시예로, 가상코드검증수단(20)은 가상코드생성수단(10)이 포함하는 가상코드생성함수를 포함함에 따라, 복수의 세부코드를 결합하였던 규칙(즉, 세부코드결합함수)을 동일하게 적용하여 복수의 세부코드를 추출한다. 즉, 세부코드결합함수는 복수의 세부코드를 배열하는 규칙에 해당하는 것으로, 가상코드생성함수 내에 포함된다.
S500 단계는, 가상코드검증수단(20)이 S400 단계에서 추출한 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색하는 단계이다.
상술한 바와 같이, 복수의 세부코드는 가상코드검증수단(20)이 실제코드를 탐색할 수 있도록 하는 상관관계를 가지고 있다. 즉, 가상코드검증수단(20)은 세부코드 간의 상관관계를 기반으로 실제코드 저장위치를 탐색한다.
복수의 세부코드가 가지는 상관관계에 대한 일 실시예로, 가상코드검증수단(20)은 탐색알고리즘을 포함하고, 상기 탐색알고리즘은 복수의 세부코드 중 하나 이상의 세부코드와 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색할 수 있다. 이 때, 경유지점은 하나 또는 복수일 수 있으며 개수에 제한은 없다.
또한, 일 실시예로, 가상코드는 세부코드로서 제1코드 및 제2코드로 구성될 수 있다. 제1코드 및 제2코드는 가상코드검증수단(20)이 실제코드의 저장위치를 탐색할 수 있도록 하는 상관관계를 가진다. 상관관계로서, 제1코드는 경유지점에 대한 정보를 포함하고, 제2코드는 경유지점으로부터 실제코드의 저장위치로 도달할 수 있는 연산에 필요한 정보를 포함할 수 있다.
구체적인 예로, 제1코드는 요청시점에 대응되는 카운트와 OTP코드의 합으로 생성되고, 제2코드는 상기 제1코드에서 실제코드의 저장위치값을 뺀 값으로 생성된다. 즉, 가상코드생성수단(10)이 생성하는 제1코드 및 제2코드의 일 실시예는 다음과 같다.
제1코드 = 현재시점 카운트 + OTP코드
제2코드 = 제1코드 - 실제코드의 저장위치값
OTP(One time password) 코드는 세부코드생성함수에 포함된 OTP코드생성함수에 의해 생성되는 코드로서, 매시점 다르게 생성되는 코드이다. 따라서, 세부코드는 가상코드의 셍성시점에 따라 다르게 생성되므로 중복되어 생성되는 것을 방지할 수 있고, 보안성을 강화시키는 효과가 있다.
가상코드검증수단(20)이 상기 제1코드 및 제2코드를 이용하여 실제코드를 탐색하는 과정을 도 6을 참조하여 상세히 설명한다.
도 6은 본 발명의 일 실시예에 따른 세부코드를 기반으로 트랙상을 이동하여 실제코드 저장위치를 탐색하는 탐색알고리즘에 대한 예시도이다.
일 실시예로, 가상코드검증수단(20)은 탐색알고리즘을 포함하며, 탐색알고리즘은 가상코드를 구성하는 복수의 세부코드를 기반으로 트랙상을 이동하여 실제코드저장위치에 매칭된 지점으로 이동하여 실제코드를 탐색한다. 예를 들어, 상기 실제코드저장위치에 매칭된 지점은 가상코드생성수단에 실제코드를 발급한 카운트(즉, 시점)에 대응하는 트랙상의 지점일 수 있다.
도 6을 참조하면, 가상코드가 가상코드생성함수가 구동된 시점으로부터 경과된 시간을 기반으로 생성된 복수의 세부코드로서 제1코드 및 제2코드를 포함한다.
제1코드에 대응되는 코드값(제1코드값)은 가상코드생성함수 구동시점을 기준으로 현재시점에 대응되는 카운트에서 OTP코드값을 더한 값이다. 제1코드값은 실제코드 탐색 과정에서 경유지점의 역할을 한다.
제2코드에 대응되는 코드값(제2코드값)은 상기 제1코드값에서 실제코드의 저장위치값을 뺀 값이다. 또한, 제2코드값은 경유지점(제1코드값)으로부터 실제코드 저장위치값까지의 카운트이다.
도 6에 도시된 바와 같이, 가상코드검증수단(20)은 제1코드값에 매칭되는 트랙상의 카운트를 경유지점으로 경유하여, 제2코드값에 해당하는 카운트만큼 설정된 방향으로 트랙을 따라 이동하여 가상코드생성수단(10)이 실제코드를 발급한 시점의 트랙상의 지점(즉, 실제코드저장위치에 매칭된 지점)을 탐색한다.
도 7은 본 발명의 일 실시예에 따른 가상코드를 검증하는 단계를 더 포함하는 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법을 개략적으로 나타내는 흐름도이다
도 7을 참조하면, 도 5와 비교하여 가상코드검증수단(20)이 수신한 가상코드가 정상 가상코드인지 검증하는 단계(S600)를 더 포함하며, 이를 중점적으로 설명한다.
S600 단계는, 가상코드검증수단(20)이 가상코드생성수단(10)으로부터 수신한 가상코드가 정상 가상코드인지 검증하는 단계이다. 즉, 가상코드검증수단(20)은 가상코드생성수단(10)으로부터 수신한 가상코드가 정상 가상코드인지, 비정상 가상코드인지, 현시점에 생성된 가상코드인지 판단한다.
일 실시예로, 가상코드검증수단(20)은 세부코드생성함수에 상응하는 역함수를 적용하여 정상적으로 생성된 가상코드(정상 가상코드)에 해당하는지 여부를 검증한다. 예를 들어, 가상코드가 제1코드 및 제2코드로 구성되는 경우, 가상코드검증수단(20)은 상기 제1코드 및 제2코드를 생성하는 제1함수 및 제2함수에 대한 역함수를 적용하여 정상 가상코드 여부를 검증할 수 있다.
다른 실시예로, 가상코드검증수단(20)은 가상코드생성수단(10)과 동일한 가상코드생성함수를 포함한다. 가상코드검증수단(20)은 가상코드생성수단(10)과 동일한 가상코드생성함수를 통해 생성한 생성가상코드와 가상코드생성수단(10)으로부터 수신한 수신가상코드가 일치하는지 여부를 확인하여 수신가상코드가 정상적으로 생성된 가상코드인지 검증할 수 있다. 또한, 가상코드생성장치(100)에서 가상코드를 생성하는 시점과 가상코드검증장치(200)에서 가상코드를 수신한 시점 사이에 차이가 존재할 수 있으므로, 가상코드검증장치(200)는 시간딜레이를 고려하여 특정시간 범위 내(예를 들어, 가상코드를 수신한 시점 기준으로 특정 카운트 범위 내)의 가상코드를 생성하여 가상코드생성장치(100)로부터 수신한 가상코드와 일치하는 값이 존재하는지 확인할 수 있다. 즉, 오차허용범위를 적용하여 가상코드를 검증할 수 있다.
도 8은 본 발명의 일 실시예에 따른 제어장치의 인가여부를 확인하는 과정을 개략적으로 나타내는 순서도이다.
본 발명의 일 실시예에 따르면 가상코드생성장치(100)는 제어장치일 수 있다. 가상코드검증장치(200)는 가상코드생성장치(100)로부터 가상코드를 수신한다. 가상코드검증장치(200)는 수신한 가상코드가 정상 가상코드인지 검증하고, 검증 결과에 상응하는 처리를 수행한다.
도 8을 참조하면, 도 7과 비교하여, 정상 가상코드인 경우 등록된 제어장치에 대한 인가정보를 확인하는 단계(S610), 비정상 가상코드인 경우 인가되지 않은 제어장치로 판단하는 단계(S620) 및 현시점에서 생성된 가상코드가 아닌 경우 인가되지 않은 제어장치로 판단하는 단계(S630)를 더 포함한다.
S610 단계는, 가상코드검증수단(20)이 수신한 가상코드를 검증한 결과, 정상 가상코드로 확인되었을 때 처리를 수행하는 단계이다. “정상 가상코드”는 올바른 가상코드생성함수를 통해 정상적으로 생성된 가상코드이다. 가상코드검증수단(20)은 정상 가상코드를 기반으로 실제코드를 탐색하여 등록된 제어장치에 대한 인가정보를 확인하여 상응하는 처리를 수행할 수 있다. 예를 들어, 인가정보 확인 결과 인가된 제어장치라면 제어장치의 동작을 유지하고, 인가정보 확인 결과 인가되지 않은 제어장치라면 제어장치의 동작을 저지하는 처리를 수행할 수 있다.
S620 단계는, 가상코드검증수단(20)이 수신한 가상코드를 검증한 결과, 비정상 가상코드로 확인되었을 때 처리를 수행하는 단계이다. “비정상 가상코드”는 가상코드검증수단(20)에 의해 식별이 불가한 코드이다. 예를 들어, 가상코드생성수단(10)이 생성하는 가상코드와 자리수 또는 형태를 달리하는 코드가 비정상 가상코드에 해당한다.
S630 단계는, 가상코드검증수단(20)이 수신한 가상코드를 검증한 결과, 현시점에서 생성되지 않은 가상코드로 확인되었을 때 처리를 수행하는 단계이다. “현시점에서 생성되지 않은 가상코드”는 코드의 자리수 및 형태는 정상 가상코드와 동일하지만, 기반으로 하는 시간데이터가 현시점이 아닌 다른 시점인 가상코드이다. 제어장치에 대한 인가정보는 실시간으로 변경될 수 있으므로 인가정보를 확인하는 시점(현시점)에서의 상태를 확인하는 것이 중요하다. 따라서, 현시점이 아닌 다른 시점에서 생성된 가상코드인 경우, 해당 제어장치는 인가되지 않은 제어장치로 판단한다.
한편, 본 발명의 일 실시예로, 가상코드검증장치(200)는 가상코드생성장치(100)를 사전 등록하여 관리할 수 있다. 즉, 가상코드검증장치(200)는 가상코드를 전송한 가상코드생성장치(100)를 검증하기 위한 데이터를 보유할 수 있다. 가상코드검증장치(200)는 가상코드검증수단(20)에 포함된 탐색알고리즘에 가상코드생성장치(100)의 등록을 수행한 시점에 매칭되는 저장위치에 상기 가상코드생성장치(100)의 실제코드를 저장한다. 또한, 가상코드검증장치(200)는 상기 가상코드생성장치(100)에 대한 등록정보(예를 들어, 소유자 정보, 장치정보, 인가정보 등)를 실제코드의 저장위치에 함께 저장하거나 실제코드 저장위치에 연결된 별도의 저장공간에 저장할 수 있다.
일 실시예로, 가상코드생성장치(100)가 제어장치인 경우, 가상코드검증장치(200)는 제어장치에 대한 장치식별값(시리얼 번호 등), 인가상태 등의 등록정보를 사전에 저장해둘 수 있다. 이를 통해, 가상코드검증장치(200)는 가상코드를 수신하였을 때, 해당하는 가상코드에 매칭되는 등록정보를 확인하여 상응하는 처리를 신속하게 수행할 수 있게 된다. 등록정보 확인 결과, 가상코드를 전송한 가상코드생성장치(100)가 사전 등록된 제어장치로 확인되면 해당 제어장치의 동작을 저지하지 않고, 사전 등록되지 않은 제어장치로 확인되면 해당 제어장치의 동작을 제어할 수 있다.
구체적인 예로, 가상코드생성장치(100)가 드론이고, 가상코드검증장치(200)는 드론을 식별 및 검증하는 관제센터 등의 서버일 수 있다. 서버는 드론 등록 절차에 의해 등록된 드론에 대한 실제코드와 등록정보를 저장 및 관리한다. 서버는 드론 식별 프로세스를 수행하여 식별대상 드론의 동작의 저지 여부를 결정한다. 즉, 서버는 드론으로부터 가상코드를 수신하고, 수신한 가상코드와 매칭되는 실제코드의 저장위치를 탐색하여 식별대상 드론의 등록정보를 확인하여, 상응하는 처리를 수행한다. 예를 들어, 서버는 등록정보 확인 결과, 식별대상 드론이 공무상 비행이 허용되는 드론으로 등록된 드론인 경우 비행을 저지하지 않고, 식별대상 드론이 미등록 드론(민간 드론 등)인 경우 비행을 저지하는 처리를 수행한다.
또한, 다른 구체적인 예로, 가상코드생성장치(100)인 드론은 주기적으로 또는 연속적으로 가상코드를 포함하거나 가상코드에 대응되는 주파수의 신호를 출력한다. 가상코드검증장치(200)인 관제센터 등의 서버는 드론으로부터 상기 신호를 획득하여 상기 드론의 인가여부를 판단한다. 이 때, 가상코드검증장치(200)는 사용 가능한 주파수 범위 및 가용범위 내의 세부단위범위에 매칭된 가상코드값을 사전 저장하고 있으며, 드론으로부터 수신한 신호의 주파수를 기반으로 가상코드를 파악할 수 있다.
다른 실시예로, 가상코드생성장치(100)가 SIM카드인 경우, 가상코드검증장치(200)는 SIM카드에 대한 고유값(ICCID 또는 IMSI 등) 정보와 사용자 정보를 사전에 저장해둘 수 있다. 구체적인 예로, 사용자가 통신사에 가입하여 USIM을 발급받거나, 여행용 USIM을 구입하여 사용자 등록을 하는 경우, 가상코드검증장치(200)는 등록정보(USIM의 고유값, 사용자정보 등)를 실제코드의 저장위치에 함께 저장하거나 실제코드 저장위치에 연결된 별도의 저장공간에 저장한다. 가상코드검증장치(200)는 가상코드를 수신하였을 때, 수신한 가상코드에 매칭되는 실제코드의 저장위치를 탐색하여, 등록정보를 확인하고, 상응하는 처리를 수행한다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. 가상코드검증수단이 가상코드생성수단에 의해 생성된 가상코드를 수신하는 단계;
    상기 가상코드검증수단이 상기 가상코드에 포함된 복수의 세부코드를 추출하는 단계; 및
    상기 가상코드검증수단이 상기 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색하는 단계;를 포함하고,
    상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되며, 상기 복수의 세부코드를 조합하여 생성되는 것이고,
    상기 복수의 세부코드는 상기 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고,
    상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것인, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  2. 제1항에 있어서,
    상기 가상코드검증수단은 탐색알고리즘을 포함하고,
    상기 탐색알고리즘은 상기 복수의 세부코드 중 하나 이상의 세부코드와 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색하는, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  3. 제2항에 있어서,
    상기 복수의 세부코드는 제1코드 및 제2코드를 포함하고,
    상기 탐색알고리즘은 상기 제1코드에 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 제1코드 및 상기 제2코드의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색하는, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  4. 제3항에 있어서,
    상기 가상코드생성수단이 제어장치인 경우,
    상기 가상코드는 상기 제어장치에 포함된 칩의 고유값을 시드데이터로 이용하여 생성되며,
    상기 제어장치에 포함된 칩의 고유값은 제어장치별로 중복되지 않게 부여된 시리얼번호인 것인, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  5. 제4항에 있어서,
    상기 가상코드검증수단이 상기 제어장치의 인가여부를 확인하는 단계를 더 포함하고,
    상기 수신한 가상코드가 정상 가상코드인 경우, 등록된 제어장치에 대한 인가정보를 확인하고,
    상기 수신한 가상코드가 비정상 가상코드이거나 현시점에 생성된 가상코드가 아닌 경우, 인가되지 않은 제어장치로 판단하는, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  6. 제3항에 있어서,
    상기 가상코드생성수단이 SIM카드인 경우,
    상기 가상코드는 상기 SIM카드에 포함된 칩의 고유값을 시드데이터로 이용하여 생성되며,
    상기 SIM카드에 포함된 칩의 고유값은 SIM카드별로 중복되지 않게 부여된 ICCID 또는 IMSI인 것인, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  7. 제1항에 있어서,
    상기 가상코드검증수단이 상기 가상코드생성수단으로부터 수신한 수신가상코드와 상기 가상코드검증수단 내에서 생성된 생성가상코드의 일치여부를 판단하여 가상코드를 검증하는 단계;를 더 포함하고,
    상기 가상코드생성수단과 상기 가상코드검증수단은 동일한 가상코드생성함수를 포함하는, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  8. 제7항에 있어서,
    상기 가상코드생성수단의 고유값을 상기 가상코드검증수단에 등록하는 단계;를 더 포함하는, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  9. 제8항에 있어서,
    상기 가상코드생성수단은 제어장치 또는 SIM카드인, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  10. 가상코드생성수단이 복수의 세부코드를 생성하는 단계;
    상기 가상코드생성수단이 상기 복수의 세부코드를 조합하여 가상코드를 생성하는 단계; 및
    상기 가상코드생성수단이 상기 가상코드를 외부로 제공하는 단계;를 포함하고,
    상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되는 것이고,
    상기 복수의 세부코드는 가상코드검증수단이 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고,
    상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것인, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  11. 제10항에 있어서,
    상기 가상코드검증수단은 탐색알고리즘을 포함하고,
    상기 탐색알고리즘은 상기 복수의 세부코드 중 하나 이상의 세부코드와 대응하는 경유지점을 경유하여, 상기 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 상기 실제코드의 저장위치를 탐색하는,
    칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법.
  12. 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제11항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 프로그램.
  13. 가상코드검증수단이 가상코드생성수단에 의해 생성된 가상코드를 수신하는, 가상코드수신부;
    상기 가상코드검증수단이 상기 가상코드에 포함된 복수의 세부코드를 추출하는, 세부코드추출부; 및
    상기 가상코드검증수단이 상기 복수의 세부코드를 기반으로 실제코드의 저장위치를 탐색하는, 실제코드탐색부;를 포함하고,
    상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되며, 상기 복수의 세부코드를 조합하여 생성되는 것이고,
    상기 복수의 세부코드는 상기 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고,
    상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것인, 칩 고유값 기반의 가상코드를 검증하는 장치.
  14. 가상코드생성수단이 복수의 세부코드를 생성하는, 세부코드생성부;
    상기 가상코드생성수단이 상기 복수의 세부코드를 조합하여 가상코드를 생성하는, 가상코드생성부; 및
    상기 가상코드생성수단이 상기 가상코드를 외부로 제공하는, 가상코드제공부;를 포함하고,
    상기 가상코드는 상기 가상코드생성수단 내부의 칩에 사전 부여된 고유값을 기반으로 생성되는 것이고,
    상기 복수의 세부코드는 가상코드검증수단이 실제코드의 저장위치를 탐색하기 위한 상관관계를 가지며, 단위카운트마다 변경되는 것이고,
    상기 단위카운트는 특정한 시간간격으로 설정되어 상기 시간간격이 경과됨에 따라 변경되는 것인, 칩 고유값 기반의 가상코드를 생성하는 장치.
PCT/KR2020/003192 2019-02-08 2020-03-06 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치 WO2020162739A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/391,844 US11379837B2 (en) 2019-02-08 2021-08-02 Method, program, and apparatus for identifying device by using chip unique value-based virtual code
US17/830,613 US11887118B2 (en) 2019-02-08 2022-06-02 Method, program, and apparatus for identifying device by using chip unique value-based virtual code

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20190015223 2019-02-08
KR10-2019-0015223 2019-02-08
KR10-2019-0043118 2019-04-12
KR20190043118 2019-04-12
KR20190107065 2019-08-30
KR10-2019-0107065 2019-08-30
KR10-2019-0130742 2019-10-21
KR1020190130742A KR102243532B1 (ko) 2019-02-08 2019-10-21 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/391,844 Continuation US11379837B2 (en) 2019-02-08 2021-08-02 Method, program, and apparatus for identifying device by using chip unique value-based virtual code

Publications (1)

Publication Number Publication Date
WO2020162739A1 true WO2020162739A1 (ko) 2020-08-13

Family

ID=71947944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/003192 WO2020162739A1 (ko) 2019-02-08 2020-03-06 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치

Country Status (2)

Country Link
US (2) US11379837B2 (ko)
WO (1) WO2020162739A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220131700A1 (en) * 2020-10-26 2022-04-28 Micron Technology, Inc. Virtual Subscriber Identification Module and Virtual Smart Card

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004274429A (ja) * 2003-03-10 2004-09-30 Sony Corp 情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラム
KR20130134581A (ko) * 2012-05-31 2013-12-10 한국전자통신연구원 로드 가능한 모듈에 대한 가상화 지원 방법 및 장치
KR20140144684A (ko) * 2012-02-22 2014-12-19 퀄컴 인코포레이티드 디바이스 식별자를 숨기기 위한 방법 및 장치들
KR101928519B1 (ko) * 2018-01-29 2018-12-12 수상에스티(주) 보안성이 강화된 레지덴셜 게이트웨이 장치를 이용한 헬스케어 서비스 시스템
KR20190005985A (ko) * 2016-05-11 2019-01-16 알리바바 그룹 홀딩 리미티드 신원 검증 방법 및 시스템, 및 지능형 웨어러블 디바이스

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110815B2 (en) * 2012-05-07 2015-08-18 International Business Machines Corporation Enhancing data processing performance by cache management of fingerprint index
CN102761870B (zh) * 2012-07-24 2015-06-03 中兴通讯股份有限公司 一种终端身份验证和服务鉴权的方法、系统和终端
KR101316466B1 (ko) 2012-11-20 2013-10-08 신한카드 주식회사 다이나믹 트랙 2 정보를 이용한 모바일 결제 시스템 및 방법
KR101542111B1 (ko) 2013-12-20 2015-08-12 주식회사 씽크풀 카드를 이용한 결제방법, 이를 위한 디지털 시스템, 및 결제측 시스템
KR101755858B1 (ko) 2015-10-13 2017-07-07 주식회사 케이비국민카드 앱카드 연동 대표카드, 그 결제시스템 및 결제방법
KR101751894B1 (ko) 2015-12-29 2017-07-03 한국정보통신주식회사 결제 단말 장치 및 일회용 카드 코드를 이용한 결제 처리 방법
KR102099973B1 (ko) 2019-02-15 2020-04-10 주식회사 센스톤 가상코드제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드제공방법 및 가상코드제공프로그램

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004274429A (ja) * 2003-03-10 2004-09-30 Sony Corp 情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラム
KR20140144684A (ko) * 2012-02-22 2014-12-19 퀄컴 인코포레이티드 디바이스 식별자를 숨기기 위한 방법 및 장치들
KR20130134581A (ko) * 2012-05-31 2013-12-10 한국전자통신연구원 로드 가능한 모듈에 대한 가상화 지원 방법 및 장치
KR20190005985A (ko) * 2016-05-11 2019-01-16 알리바바 그룹 홀딩 리미티드 신원 검증 방법 및 시스템, 및 지능형 웨어러블 디바이스
KR101928519B1 (ko) * 2018-01-29 2018-12-12 수상에스티(주) 보안성이 강화된 레지덴셜 게이트웨이 장치를 이용한 헬스케어 서비스 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220131700A1 (en) * 2020-10-26 2022-04-28 Micron Technology, Inc. Virtual Subscriber Identification Module and Virtual Smart Card
US12089049B2 (en) * 2020-10-26 2024-09-10 Micron Technology, Inc. Virtual subscriber identification module and virtual smart card

Also Published As

Publication number Publication date
US11379837B2 (en) 2022-07-05
US11887118B2 (en) 2024-01-30
US20210390543A1 (en) 2021-12-16
US20220300967A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
KR102243532B1 (ko) 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치
WO2019031644A1 (ko) 가상카드번호 기반의 금융거래제공시스템, 가상카드번호생성장치, 가상카드번호검증장치, 가상카드번호 기반의 금융거래제공방법 및 가상카드번호 기반의 금융거래제공프로그램
WO2019031627A1 (ko) 가상코드제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드제공방법 및 가상코드제공프로그램
WO2017043717A1 (ko) 생체인식 본인인증 방법
WO2020032498A1 (ko) 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
WO2020162739A1 (ko) 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치
WO2018169150A1 (ko) 잠금화면 기반의 사용자 인증 시스템 및 방법
JP2017059060A (ja) 生体照合システム、生体照合方法、生体照合装置及び制御プログラム
WO2020189811A1 (ko) 전자 장치 및 그 제어 방법
WO2015163739A1 (ko) 클라우드 se 기반의 클라우드-se 시스템, 모바일 단말 및 그의 모바일 결제 방법
WO2019031716A2 (ko) 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램
WO2020184815A1 (ko) 일회용 패스워드 기반 모바일 자동 결제방법 및 이를 이용한 시스템
WO2022186653A1 (ko) 스마트 카드 장치, 데이터 일치 여부 판단을 통해 가상보안코드를 생성하는 장치 및 그 방법
WO2022186605A1 (ko) 스마트 카드 장치, 인증용가상코드 생성 장치, 이를 이용한 인증용가상코드 생성 방법 및 인증용가상코드 검증 서버
WO2021172876A1 (ko) 가상인증코드 기반의 절차 승인 장치 및 방법
WO2011078603A2 (en) Method for mutual authentication between tag and reader in radio frequency identification system
WO2023167482A1 (ko) 결제를 위한 인증방법 및 시스템
WO2017018861A1 (ko) 생체정보를 이용하는 금융기기 및 그것의 동작방법
WO2022045508A1 (ko) 게이트 출입을 위한 인증 방법 및 시스템
WO2023167390A1 (ko) 인증용 가상코드를 이용하여 홀더리스 카드에 사용자를 등록하는 방법
WO2014010875A1 (ko) 페어장치와 연동되는 애플리케이션 실행 및 결제방법, 이를 위한 디지털 시스템
WO2020032344A1 (ko) 구체 기반의 가상코드 검증 방법, 장치, 및 시스템
WO2020162738A1 (ko) 웨어러블 디바이스 기반의 금융거래를 제공하는 방법, 프로그램, 서버 및 웨어러블 디바이스
WO2019031666A1 (ko) 가상카드번호를 생성하는 스마트카드, 스마트카드 기반의 가상카드번호 제공방법 및 프로그램
WO2024090683A1 (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: 20752836

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20752836

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 22/04/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20752836

Country of ref document: EP

Kind code of ref document: A1