Method and device for providing order information by using dynamic QR code
Patent Information
- Application Number
- PCT/KR2024/007321
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-07
- Filing Date
- 2024-05-29
- Publication Date
- 2025-10-02
AI Technical Summary
Existing QR code systems for providing order information in stores face challenges such as network connection issues leading to service delays, require multiple relay devices, and incur high construction costs due to the need for communication means like gateways.
A method and device using a QR code terminal that generates a time-varying QR code independently, incorporating a one-time password through a hash function-based algorithm, allowing verification of validity without network connection, and eliminating the need for external devices like gateways.
Enables easy contactless ordering, prevents unauthorized access, reduces system construction and maintenance costs, and ensures each customer receives a unique QR code without network updates.
Smart Images

Figure KR2024007321_02102025_PF_FP_ABST
Abstract
Description
Method and device for providing order information using dynamic QR codes
[0001] The present invention relates to a method and device for providing order information using a dynamic QR code. More specifically, the present invention relates to a method and device for providing a temporary access path to order information for a store or the like using a dynamic QR code that changes over time.
[0002] A QR code is a two-dimensional matrix format used to display information. QR codes can store a variety of information, including text, Uniform Resource Identifiers (URIs), web pages, images, videos, and sound data.
[0003] QR codes can be captured with a camera or read with an optical recognition device to obtain the information stored within them. With the proliferation of mobile devices like smartphones and tablets, internet services utilizing QR codes are gradually increasing. For example, when ordering food at a restaurant, customers can scan the QR code displayed on the table with their smartphone and access a web page for ordering food through the internet address contained in the scanned QR code.
[0004] Meanwhile, when using QR codes to provide services in stores and other locations, QR codes may need to be updated hourly, based on specific circumstances, or at specific intervals. For example, when the target customer base changes, such as when a customer sits at a specific table in a cafe, the QR code for that table can be updated, allowing customers to access order information only through the updated QR code.
[0005] While this has the advantage of preventing third parties other than the intended customers from accessing order information, it also presents several challenges. For example, to change a QR code, the changed QR code must be transmitted in real time from the relay device to the QR code terminal at each table. However, if there is a network connection issue between the relay device and the QR code terminal, the QR code cannot be changed immediately, which can lead to service delays. Furthermore, if a store has a large number of QR code terminals, multiple relay devices or high-spec relay devices are required to cover all of them.
[0006] The technical problem to be solved by the present invention is to provide a method and device for providing order information using a dynamic QR code that enables easy contactless ordering using a QR code terminal installed in a store.
[0007] Another technical problem to be solved by the present invention is to provide a method and device for providing order information using a dynamic QR code that can present different QR codes to each target customer without a network connection to a relay device or without receiving a new QR code update from the relay device.
[0008] Another technical problem to be solved by the present invention is to provide a method and device for providing order information using a dynamic QR code, which can reduce the cost required for system construction by not requiring a communication means (e.g., gateway) connecting a QR code terminal and a relay device.
[0009] The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art of the present invention from the description below.
[0010] In order to solve the above technical problem, a method for providing order information using a dynamic QR code according to embodiments of the present invention is performed by a computing device, and includes the steps of obtaining a one-time password from a first URL in response to a protocol request of a user terminal, verifying the validity of the one-time password, and providing Internet resource address information corresponding to the one-time password to the user terminal if the one-time password is valid, wherein the user terminal recognizes a QR code displayed on a QR code terminal to obtain the first URL, transmits the protocol request to a location designated by the first URL, and accesses order information using the Internet resource address information provided in response to the protocol request.
[0011] As an example, the QR code terminal can independently generate the QR code without data communication with another external device.
[0012] As an example, the QR code terminal may generate the one-time password using a predetermined encryption algorithm, and generate the QR code based on the generated one-time password.
[0013] As an example, the predetermined encryption algorithm may be a hash function-based algorithm that outputs the one-time password using a timestamp value as at least one input value.
[0014] As one embodiment, the step of verifying the validity of the one-time password may include the step of generating a reference password based on a secret key and a timestamp value previously shared with the QR code terminal, and the step of determining that the one-time password is valid if the one-time password matches the reference password.
[0015] As an example, the one-time password and the reference password may be a Time-based One-Time Password (TOTP) that changes at predetermined time intervals.
[0016] As one embodiment, the step of providing the Internet resource address information to the user terminal may include calculating one or more reference passwords by referring to a predetermined identification table, searching for a row in which a reference password having the same value as the one-time password is located among the one or more reference passwords, searching for a second URL in the searched row, and then providing the searched second URL to the user terminal as the Internet resource address information.
[0017] As one embodiment, the step of providing the Internet resource address information to the user terminal may provide a session key for accessing the order information together with the Internet resource address information.
[0018] As an example, the session key may be a newly generated or selected value in response to the protocol request.
[0019] As one embodiment, the Internet resource address information includes an Internet network address of an Internet resource device that provides the order information to the user terminal and processes the order request of the user terminal, the user terminal presents the session key to the Internet resource device to prove its access authority, and the Internet resource device verifies the validity of the presented session key and processes the order request of the user terminal only when the session key is valid.
[0020] In order to solve the above technical problem, an order information providing device using a dynamic QR code according to embodiments of the present invention includes a processor, a memory for loading a computer program executed by the processor, and a storage for storing the computer program, wherein the computer program includes instructions for performing an operation for obtaining a one-time password from a first URL in response to a protocol request of a user terminal, an operation for verifying the validity of the one-time password, and an operation for providing Internet resource address information corresponding to the one-time password to the user terminal if the one-time password is valid, wherein the user terminal recognizes a QR code displayed on a QR code terminal to obtain the first URL, transmits the protocol request to a location designated by the first URL, and accesses order information using the Internet resource address information provided in response to the protocol request.
[0021] According to the embodiments of the present invention described above, it is possible to easily request a non-face-to-face order using a QR code terminal installed in a store, and by verifying the validity of each request using a one-time password included in the QR code, it is possible to prevent an unauthorized third party from making an order request without permission.
[0022] In addition, since the QR code terminal according to the present invention generates a QR code that changes over time without relying on an external device, it can present a different QR code to each target customer of the service even without a network connection between the QR code terminal and the relay device or without the QR code terminal receiving a new QR code update from the relay device.
[0023] Additionally, since there is no need for a gateway or other device to connect the QR code terminal and the relay device, the cost required for building the entire system can be reduced, and system construction and maintenance can be made easier.
[0024] FIG. 1 is a drawing showing an entire system in which a method for providing order information using a dynamic QR code is operated according to one embodiment of the present invention.
[0025] FIG. 2 is a block diagram exemplarily showing a detailed configuration of the order information providing device (100) illustrated in FIG. 1.
[0026] FIG. 3 is a block diagram exemplarily showing a detailed configuration of the QR code terminal (200) illustrated in FIG. 1.
[0027] FIG. 4 is a drawing for further explaining a specific method of generating and verifying a one-time password in a method for providing order information using a dynamic QR code of the present invention.
[0028] FIG. 5 is a drawing for explaining the overall operation process of a method for providing order information using a dynamic QR code according to one embodiment of the present invention.
[0029] Figure 6 is a drawing to further explain an exemplary form of the first URL.
[0030] Figure 7 is a drawing to further explain an exemplary form of an identification table.
[0031] FIG. 8 is a flowchart illustrating a method for providing order information using a dynamic QR code according to one embodiment of the present invention.
[0032] FIG. 9 is a block diagram exemplarily showing the hardware configuration of a computing device used to implement various embodiments of the present invention.
[0033] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings. The advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described in detail below together with the attached drawings. When adding reference numerals to components in each drawing, it should be noted that, as much as possible, identical components are given the same numerals even if they are shown in different drawings. In addition, when describing the present invention, if a detailed description of a related well-known structure or function is judged to obscure the gist of the present invention, the detailed description thereof will be omitted.
[0034] Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used in their common sense to those of ordinary skill in the art to which the present invention pertains. Furthermore, terms defined in commonly used dictionaries are not to be interpreted ideally or excessively unless explicitly and specifically defined otherwise. The terminology used herein is for the purpose of describing embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms, unless specifically stated otherwise.
[0035] Additionally, terms such as first, second, A, B, (a), (b), etc. may be used to describe components of the present invention. These terms are only intended to distinguish the components from other components, and the nature, order, or sequence of the components are not limited by the terms. When it is described that a component is "connected," "coupled," or "connected" to another component, it should be understood that the component may be directly connected or connected to the other component, but another component may also be "connected," "coupled," or "connected" between each component.
[0036] Meanwhile, in the following description, the device for providing order information using a dynamic QR code may be briefly referred to as an 'order information providing device', and the method for providing order information using a dynamic QR code may be briefly referred to as an 'order information providing method'.
[0037] FIG. 1 is a schematic drawing of an order information provision system using a dynamic QR code and devices constituting the same, according to one embodiment of the present invention.
[0038] Referring to FIG. 1, the entire system may include an order information providing device (100), a QR code terminal (200), a user terminal (300), and an Internet resource device (400).
[0039] The QR code terminal (200) generates and displays a QR code containing a one-time password that changes over time. To this end, the QR code terminal (200) stores a secret key in its internal memory, inputs the secret key and a timestamp of the current time into an encryption algorithm, and obtains a hash code as its output. Then, the one-time password is derived from the obtained hash code according to predetermined rules.
[0040] As an example, the predetermined rule may be determined in various ways. For example, the predetermined rule may include using the hash code as a one-time password, extracting a predetermined number of digits from the hash code and using that value as a one-time password, or processing the hash code and converting it into a predetermined number of digits or characters.
[0041] The one-time password obtained in this way will have a different value each time the input value, i.e., the timestamp, changes. Once the one-time password is obtained, the QR code terminal (200) generates a QR code containing the one-time password and then displays it on the display device (e.g., an OLED display) of the QR code terminal (200).
[0042] As an example, the QR code terminal (200) may store first address information where the order information providing device (100) is located on an Internet network, then generate a first URL by combining the first address information and a one-time password generated through a secret key, and then generate a QR code including the first URL and display it.
[0043] For example, if the first address information is “http: / www.redirect.com” and the secret key is “cat”, the QR code terminal (200) can generate a one-time password “489523” based on the secret key and the timestamp, combine the generated one-time password with the first address information to generate a first URL of “http: / www.redirect.com / 489523”, and generate and display a QR code containing the first URL.
[0044] As an example, the secret key is a key shared between the QR code terminal (200) and the order information providing device (100), and may be a value uniquely assigned to each QR code terminal (200).
[0045] For example, let's assume that there are 10 QR code terminals in a store and the secret key of the first QR code terminal is "cat". At this time, the secret key "cat" is pre-shared with the order information providing device (100). Then, the first code terminal generates a one-time password using "cat" when requesting a service, and then transmits a protocol request including the one-time password to the order information providing device (100). In response to the transmitted protocol request, the order information providing device (100) generates corresponding reference passwords for each of the secret keys stored in the order information providing device (100), and determines whether any of the generated reference passwords matches the one-time password. If there is a match, the order information providing device (100) checks which secret key was used to generate the reference password, and thereby determines that the protocol request was transmitted from the first QR code terminal.
[0046] The user terminal (300) is a terminal used by a user who wishes to access order information, and may be, for example, a portable terminal carried by a customer seated at a table in a store. The user terminal (300) captures the QR code generated by the QR code terminal (200) with a camera or detects it with another optical recognition device, then reads the first URL included in the QR code and transmits a protocol request to the location designated by the first URL (i.e., the order information providing device).
[0047] Here, the protocol request may be an HTTP (Hypertext Transfer Protocol) or HTTPs (HTTP Secure) request, requesting the provision of resources such as text, web pages, images, videos, or sound data to the first URL included in the QR code. Alternatively, the protocol request may be a computer-readable command that sends a message requesting the production or transportation of a product or the provision of a service to the first URL included in the QR code.
[0048] The user terminal (300) receives Internet resource address information provided by the order information providing device (100) in response to the above protocol request, and transmits a service request to a location (i.e., an Internet resource device) specified by the Internet resource address information.
[0049] Then, the user terminal (300) receives and displays order information provided by the Internet resource device in response to the service request, and executes a non-face-to-face order for a product or service according to user input.
[0050] As an example, the user terminal (300) is a computing device capable of communicating with the order information providing device (100), and may be, for example, any one of a smartphone, a mobile phone, a navigation device, a computer, a laptop, a digital broadcasting terminal, a PDA (Personal Digital Assistant), a PMP (Portable Multimedia Player), and / or a tablet PC, but is not limited thereto. For example, any device among terminal devices having a data communication function may be the user terminal (300).
[0051] The order information providing device (100) receives a protocol request from a user terminal (300), verifies the validity of the protocol request, and if the protocol request is valid, provides the user terminal (300) with Internet resource address information for accessing the Internet resource device (400). The Internet resource address information may include a second URL indicating the location of the Internet resource device (400) on the Internet network.
[0052] In one embodiment, the order information providing device (100) may verify the one-time password included in the first URL of the protocol request to verify the validity of the protocol request. Specifically, the order information providing device (100) identifies the first URL from the protocol request and then extracts the one-time password from the first URL according to a predetermined rule. Then, the order information providing device (100) obtains a timestamp of the current time, and then inputs the obtained timestamp and a list of pre-shared secret keys into an encryption algorithm in batches and obtains a hash code as the output value. Then, a list of reference passwords is obtained from the obtained hash code according to a predetermined rule. Then, the order information providing device (100) may compare the list of reference passwords with the one-time passwords, and if there is a reference password that matches the one-time password, the protocol request may be determined to be valid; otherwise, the protocol request may be determined to be invalid.
[0053] At this time, the encryption algorithm and predetermined rules used to obtain the reference password may be the same as the encryption algorithm and predetermined rules used by the QR code terminal (200) to obtain the one-time password.
[0054] The Internet resource device (400) is a device that stores resources such as text, web pages, images, videos, and sound data, and processes service requests transmitted by a user terminal (300) via Internet resource address information. For example, when a user terminal (300) transmits a service request, the Internet resource device (400) processes a task according to the request and provides the result or the resource it holds to the user terminal (300). The result or resource provided by the Internet resource device (400) to the user terminal (300) may include information on products or services provided by a store, and / or web pages for processing non-face-to-face orders by the user.
[0055] As an example, the Internet resource device (400) can verify the validity of a service request from a user terminal (300), and then process a corresponding task only if the service request is valid. At this time, the validity verification of the service request can be performed by verifying the validity of the session key presented by the user terminal (300) together with the service request. For example, if the session key presented by the user terminal (300) is valid, the Internet resource device (400) reports the service request as valid, processes the task according to the request, and provides the result. However, if the session key presented by the user terminal (300) is invalid, the Internet resource device (400) reports the service request as invalid and may reject the service request.
[0056] Meanwhile, although not shown in the drawing, each device (100, 200, 300, 400) may be connected to each other wiredly or wirelessly via a communication network (not shown). Depending on the installation environment, the communication network may be configured as a wired network such as Ethernet, a wired home network (Power Line Communication), a telephone line communication device, and RS-serial communication, a wireless network such as a mobile communication network, WLAN (Wireless LAN), Wi-Fi, Bluetooth, and ZigBee, or a combination thereof.
[0057] According to the system illustrated in FIG. 1, the QR code terminal (200) can generate a time-varying QR code through its own built-in module even when there is no communication connection with the order information providing device (100). Accordingly, even without receiving an update of the QR code from the order information providing device (100), the QR code terminal (200) can provide a different QR code to each target customer, and since the QR code includes a one-time password that changes over time, access to order information by an unauthorized third party can be blocked by verifying this.
[0058] FIG. 2 is a block diagram exemplarily showing a detailed configuration of the order information providing device (100) illustrated in FIG. 1.
[0059] Referring to FIG. 2, the order information providing device (100) includes a control unit (110), a URL parser (120), a time calculation unit (130), a password calculation unit (140), a session key management unit (150), and / or a database (160). Some components (110, 120, 130, 140, 150) of the order information providing device (100) illustrated in FIG. 2 may be software modules, but are not limited thereto.
[0060] The control unit (110) controls the overall operation of the order information providing device (100). For example, the control unit (110) controls the calling and operation of functions for driving other components (120, 130, 140, 150, 160) of the order information providing device (100), or controls the operation of various components, such as the CPU, memory, and communication devices included in the order information providing device (100).
[0061] The URL parser (120) identifies a first URL from a protocol request from a user terminal (300) and extracts a one-time password from the first URL. The extracted one-time password is provided to the password generator (140).
[0062] The time calculation unit (130) calculates a timestamp of the current time using a timer built into the order information provision device (100).
[0063] As an example, the time calculation unit (130) may be configured to calculate a timestamp that varies for each time interval based on a predetermined time interval. For example, if the predetermined time interval is 5 seconds, the time calculation unit (130) may calculate a timestamp with a different value for each time interval of 5 seconds.
[0064] The password generation unit (140) generates a list of reference passwords based on a pre-shared secret key and a timestamp provided by the time calculation unit (130), and verifies the validity of the one-time password by checking whether there is a reference password in the list of reference passwords that matches the one-time password extracted from the URL parser (120). If the reference password and the one-time password match, the password generation unit (140) determines that the one-time password (or protocol request) is valid, and if not, it determines that the one-time password (or protocol request) is invalid.
[0065] Meanwhile, since the reference password is calculated using the timestamp of the current time, it is possible to block access to the order information provision device (100) by a third party using a previously stored QR code from the past. That is, the one-time password included in the past QR code is generated based on the timestamp of the past and will not match the reference password based on the timestamp of the current time. Therefore, requests based on the past QR code can be viewed as abnormal requests and rejected.
[0066] As an example, if the reference password and the one-time password do not match, the password generation unit (140) can generate a sub-reference password based on the timestamp of the previous time interval, compare the sub-reference password with the one-time password, and determine that the one-time password (or protocol request) is valid if the two match.
[0067] This is to compensate for the problem that a normal request is judged to be invalid when the time at which a protocol request is received from the user terminal (300) is on the boundary of each time interval. That is, if the predetermined time interval is 5 seconds, the QR code terminal (200) generates a QR code at 12:00:05, and when the user terminal (100) scans it and transmits the protocol request, and 12:00:06 has passed, the timestamp used for generating the one-time password is a timestamp in the interval from 12:00:00 to 12:00:05, and the timestamp used for generating the reference password is a timestamp in the interval from 12:00:06 to 12:00:10, so that the two may be different from each other. In this case, since a problem may arise in which a request is rejected even though it is a normal request, during validation, the one-time password is first compared with the reference password, and if the two do not match, the one-time password is secondarily compared with the sub-reference password, thereby compensating for judgment errors that occur when the protocol request is on the boundary of a time interval.
[0068] The session key management unit (150) generates or determines a session key and provides it. The session key is a key required to access the Internet resource device (400) and receive services. If the correct session key is not presented, the Internet resource device (400) may view the request as an abnormal request and reject it.
[0069] As an example, the session key management unit (150) may generate or determine and provide a session key in various ways. For example, the session key management unit (150) may determine and provide a one-time password extracted from the first URL as a session key, generate and provide a session key in real time in response to a protocol request received, or select and provide one session key from among a plurality of predetermined session keys in a round robin manner.
[0070] The database (160) stores an identification table including a plurality of pre-shared secret keys and a plurality of Internet resource address information. The identification table is used by the order information providing device (100) to look up Internet resource address information to be returned to the user terminal (300). For example, when a protocol request is received from the user terminal (300), the order information providing device (100) refers to the identification table stored in the database (160), calculates a plurality of reference passwords corresponding to each of the plurality of secret keys in the identification table, and checks for a reference password that is identical to a one-time password included in the protocol request. Then, the device can look up Internet resource address information corresponding to the checked reference password (i.e., located in the same row as the checked reference password) and provide it to the user terminal (300).
[0071] FIG. 3 is a block diagram exemplarily showing a detailed configuration of the QR code terminal (200) illustrated in FIG. 1.
[0072] Referring to FIG. 3, the QR code terminal (200) includes a control unit (210), a time calculation unit (220), a QR code generation unit (230), a storage unit (240), and / or a display unit (250). Some components (210, 220, 230) of the QR code terminal (200) illustrated in FIG. 3 may be software modules, but are not limited thereto.
[0073] The control unit (210) controls the overall operation of the QR code terminal (200). For example, the control unit (210) controls the calling and operation of functions for driving other components (220, 230, 240, 250) of the QR code terminal (200), or controls the operation of various components, such as the CPU and communication device included in the QR code terminal (200).
[0074] The time calculation unit (220) calculates a timestamp of the current time using the timer built into the QR code terminal (200). The specific configuration and operation of the time calculation unit (220) are substantially the same as the configuration and operation of the time calculation unit (130) described in FIG. 2, and therefore, a detailed description thereof is omitted here.
[0075] The QR code generation unit (230) generates a first URL by combining the secret key of the QR code terminal (200), the timestamp provided by the time calculation unit (220), and the first address information where the order information provision device (100) is located on the Internet network, and generates a QR code representing the first URL. The generated QR code can be provided to the display unit (250) and displayed in the form of a QR code image.
[0076] The storage unit (240) is a configuration that provides a data storage means for the QR code terminal (200), and can, for example, store the secret key of the QR code terminal (200) or temporarily store the QR code generated by the QR code generation unit (230).
[0077] The display unit (250) is a configuration that displays the QR code generated by the QR code generation unit (230) on the outside, and may include any one of various display means, such as, for example, an LCD (Liquid Crystal Display), an LED (Light Emitting Diode), an OLED (Organic Light Emitting Diode), and an E-PAPER.
[0078] FIG. 4 is a drawing for further explaining a specific method of generating and verifying a one-time password in a method for providing order information using a dynamic QR code of the present invention.
[0079] In the embodiment of FIG. 4, the QR code terminal (200) and the order information provision device (100) can independently generate their own passwords (15, 25) except for the initial step of sharing a secret key. This will be described in detail with reference to the drawings below.
[0080] The QR code terminal (200) and the order information providing device (100) share the same secret key to generate the same password (15, 25) in the same time period. The sharing of the secret key may be performed by transmitting the secret key held by one of the QR code terminal (200) and the order information providing device (100) to the other through a temporary communication connection, or may be performed by having an administrator directly input the secret key into the QR code terminal (200) or the order information providing device (100) by operating the QR code terminal (200) or the order information providing device (100).
[0081] First, a method for generating a one-time password (25) at a QR code terminal (200) is described. The QR code terminal (200) inputs a timestamp (22) obtained based on the current time as an input value for an encryption algorithm (23) along with a previously shared secret key (21). Here, the timestamp (22), as described above, may vary depending on each time interval based on a predetermined time interval.
[0082] The encryption algorithm (23) performs an encryption operation based on the two input values (21, 22) and outputs a first hash code (24) according to the input values (21, 22). The encryption algorithm (23) is an algorithm based on a hash function, and may be, for example, HMAC-SHA1, but is not limited thereto.
[0083] Once the first hash code (24) is obtained, a one-time password (25) is obtained based on a predetermined rule. The predetermined rule has been previously explained in detail, so a detailed description thereof will be omitted here.
[0084] When a one-time password (25) is generated in this manner, the one-time password (25) is transmitted in the form of a QR code and transmitted to the order information providing device (100) via the user terminal (300). The order information providing device (100) generates a reference password (15) to verify the validity of the transmitted one-time password (25). The method for generating the reference password (15) is similar to the method for generating the one-time password (25).
[0085] Specifically, the order information providing device (100) inputs a timestamp (12) obtained based on the current time as an input value of an encryption algorithm (13) together with a previously shared secret key (11). Here, the timestamp (12) varies for each time section based on a predetermined time interval, and may be the same value as the timestamp (22).
[0086] The encryption algorithm (13) performs an encryption operation based on the two input values (11, 12) and outputs a second hash code (14) according to the input values (11, 12). The encryption algorithm (13) is the same as the encryption algorithm (23), and the input values (11, 12) and the encryption algorithm (13) used to calculate the second hash code (14) are the same as those used to calculate the first hash code (24), so the second hash code (14) has the same value as the first hash code (24).
[0087] When the second hash code (14) is obtained, the reference password (15) is obtained according to the same rules as for the first hash code (24). When the reference password (15) is obtained, the one-time password (25) and the reference password (15) are compared to see if they match. If they do match, the validation is determined to be successful. If they do not match, the validation is determined to have failed.
[0088] FIG. 5 is a diagram illustrating the overall operation process of a method for providing order information using a dynamic QR code, according to one embodiment of the present invention. In the description of FIG. 5, detailed descriptions of the same content previously described with reference to FIGS. 1 through 4 will be omitted to avoid duplication.
[0089] Referring to FIG. 5, a one-time password is generated at the QR code terminal (200), and a first URL is generated based on the one-time password. Then, the QR code terminal (200) generates and displays a QR code containing the first URL based on the generated first URL. Meanwhile, for a more detailed explanation of an exemplary form of the first URL, reference will be made to FIG. 6.
[0090] Figure 6 illustrates an exemplary form of the first URL, in which address information (A) and a one-time password (B) are combined. The one-time password (B) is a previously generated one-time password, and the address information (A) is the Internet network address of the order information provision device (100), which is the address to which the user terminal (300) will transmit a protocol request.
[0091] Returning to FIG. 5, the user terminal (300) reads the QR code by photographing or scanning the QR code displayed on the QR code terminal (200). Then, after identifying the first URL included in the QR code, it transmits a protocol request to the location indicated by the first URL (i.e., the order information providing device).
[0092] The order information providing device (100) receives a protocol request, identifies a first URL from the protocol request, parses it, and extracts a one-time password. Furthermore, the order information providing device (100) generates a list of reference passwords based on a pre-shared secret key list and a timestamp, and verifies the validity of the one-time password by comparing the one-time password with the list of reference passwords.
[0093] If the verification result shows that the one-time password is valid, the order information provision device (100) searches the identification table for the Internet resource address information matching the one-time password of the protocol request, determines the session key, and transmits the Internet resource address information and the session key as a response to the protocol request. Meanwhile, reference will be made to FIG. 7 for a further explanation of an exemplary form of the identification table.
[0094] FIG. 7 illustrates an exemplary form of an identification table, including a secret key field (f1), a reference password field (f2), an Internet resource address information field (f3), and a session key field (f4).
[0095] The secret key field (f1) is a field in which a secret key pre-shared with each QR code terminal is described, and each QR code terminal can have a unique secret key that is distinguished from other QR code terminals.
[0096] The reference password field (f2) is a field that contains the reference password corresponding to each secret key. The reference password field (f2) may have a variable value each time a protocol request is received from a user terminal. For example, when a protocol request is received from a user terminal, a reference password corresponding to each secret key is calculated based on the timestamp value at that time, and the value of the reference password field (f2) may be updated or assigned based on that value.
[0097] The Internet resource address information field (f3) is a field in which a second URL indicating the location of the Internet resource device (400) on the Internet network is described, and the second URL may point to a web page address for receiving non-face-to-face orders from a store where a QR code terminal (200) is installed.
[0098] The session key field (f4) is a field in which a session key for proving access rights to an Internet resource device (400) is described, and the session key may be determined differently for each protocol request or each time interval.
[0099] The order information providing device (100) can, based on the one-time password included in the first URL, refer to the identification table to retrieve Internet resource address information corresponding to the one-time password. For example, the order information providing device (100) can search for a row in which a reference password (31) having the same value as the one-time password (“489523”) identified from the first URL is located, and then retrieve a second URL (32) from the retrieved row, and provide the retrieved second URL (32) to the user terminal as the Internet resource address information. At this time, the session key (33) retrieved from the row can be provided together as a session key corresponding to the Internet resource address information.
[0100] Meanwhile, in the embodiment of FIG. 7, although the identification table includes a reference password field (f2), the scope of the present invention is not limited thereto. For example, when a protocol request is received, a corresponding reference password is calculated for each secret key in the secret key field (f1), but the calculated reference password is only stored in a separate storage means (e.g., RAM) and is not recorded in the identification table. If there is a reference password that matches a one-time password, the secret key corresponding to the reference password is confirmed, and then the second URL of the row where the secret key is located is retrieved from the identification table and provided as Internet resource address information. In this case, the identification table may not include the reference password field (f2).
[0101] Additionally, while the embodiment of FIG. 7 illustrates that the identification table includes a session key field (f4), the scope of the present invention is not limited thereto. For example, the identification table may not include the session key field (f4), and a new session key may be generated and provided on the fly each time a protocol request is received.
[0102] Returning to FIG. 5, the user terminal (300) accesses the Internet resource device (400) using the transmitted Internet resource address information and session key. The Internet resource device (400) verifies the session key to verify whether the user terminal (300) is a valid user, and if the user terminal (300) is a valid user, it provides the user terminal (300) with product or service information or an interface for ordering products or services. The user terminal (300) transmits the desired product and service order to the Internet resource device (400) using the provided information or interface.
[0103] FIG. 8 is a flowchart illustrating a method for providing order information using a dynamic QR code, according to one embodiment of the present invention. The embodiment of FIG. 8 illustrates the operation method described in FIG. 7 in the form of a flowchart.
[0104] At step S110, the QR code terminal (200) generates a QR code.
[0105] At step S120, the QR code terminal (200) displays the generated QR code.
[0106] At step S130, the user terminal (300) reads the QR code by taking a picture or scanning the displayed QR code.
[0107] In step S140, the user terminal (300) reads the QR code and transmits a protocol request to the order information providing device (100) using the first URL obtained.
[0108] At step S150, the order information providing device (100) parses the first URL in response to a protocol request from the user terminal (300).
[0109] At step S160, the order information providing device (100) obtains a one-time password from the first URL.
[0110] At step S170, the order information providing device (100) verifies the validity of the acquired one-time password. Specifically, when a protocol request is received, the order information providing device (100) obtains a timestamp at that time, generates multiple reference passwords based on the obtained timestamp and multiple pre-shared secret keys, and then verifies the validity of the one-time password by checking whether any of the multiple reference passwords matches the one-time password.
[0111] At step S180, if the one-time password is valid, the order information providing device (100) retrieves the Internet resource address information corresponding to the one-time password from the identification table. On the other hand, if the one-time password is invalid, the order information providing device (100) rejects or ignores the protocol request from the user terminal (300).
[0112] In step S190, the order information providing device (100) determines a session key corresponding to the Internet resource address information.
[0113] In step S200, the order information providing device (100) provides the searched Internet resource address information and the determined session key to the user terminal (300).
[0114] In step S210, the user terminal (300) connects to the Internet resource device (400) using the provided Internet resource address information and session key to request a service.
[0115] At step S220, the Internet resource device (400) verifies the validity of the session key.
[0116] At step S230, if the session key is valid, the Internet resource device (400) provides order information to the user terminal (300). On the other hand, if the session key is invalid, the Internet resource device (400) rejects or ignores the service request from the user terminal (300).
[0117] At step S240, the user terminal (300) displays the provided order information to the user and transmits an order request to the Internet resource device (400) according to subsequent user input.
[0118] At step S250, the Internet resource device (400) processes the transmitted order request.
[0119] According to the embodiments of the present invention described so far, users can easily request contactless orders using a QR code terminal installed in a store, and by verifying the validity of each request using a one-time password included in the QR code, unauthorized third parties can be prevented from making order requests. In addition, since the QR code terminal independently generates a QR code that changes over time without relying on an external device, a different QR code can be presented to each customer without a network connection between the QR code terminal and a relay device, or without the QR code terminal receiving a new QR code update from the relay device. Furthermore, since a gateway or the like for connecting the QR code terminal and the relay device is not required, the cost required for building the entire system can be reduced, and system construction and maintenance can be made easier.
[0120] Hereinafter, with reference to FIG. 9, an exemplary computing device (500) in which the methods described in various embodiments of the present invention are implemented will be described. For example, the computing device (500) of FIG. 9 may be the order information providing device (100), QR code terminal (200), or user terminal (300) of FIG. 1.
[0121] Figure 9 is an exemplary hardware configuration diagram showing a computing device (500).
[0122] As illustrated in FIG. 9, a computing device (500) may include one or more processors (510), a bus (550), a communication interface (570), a memory (530) for loading a computer program (591) executed by the processor (510), and a storage (590) for storing the computer program (591). However, only components related to an embodiment of the present invention are illustrated in FIG. 9. Therefore, a person skilled in the art to which the present invention pertains will understand that other general components may be included in addition to the components illustrated in FIG. 9.
[0123] The processor (510) controls the overall operation of each component of the computing device (500). The processor (510) may be configured to include at least one of a CPU (Central Processing Unit), an MPU (Micro Processor Unit), an MCU (Micro Controller Unit), a GPU (Graphics Processing Unit), or any other type of processor well known in the art of the present invention. In addition, the processor (510) may perform operations for at least one application or program for executing methods / operations according to various embodiments of the present invention. The computing device (500) may include one or more processors.
[0124] The memory (530) stores various data, commands, and / or information. The memory (530) can load one or more programs (591) from the storage (590) to execute methods / operations according to various embodiments of the present invention. An example of the memory (530) may be, but is not limited to, RAM.
[0125] The bus (550) provides communication between components of the computing device (500). The bus (550) may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.
[0126] The communication interface (570) supports wired and wireless Internet communication of the computing device (500). The communication interface (570) may also support various communication methods other than Internet communication. To this end, the communication interface (570) may be configured to include a communication module well known in the technical field of the present invention.
[0127] Storage (590) can non-temporarily store one or more computer programs (591). Storage (590) can be configured to include a volatile memory such as a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or any form of computer-readable recording medium well known in the art to which the present invention pertains.
[0128] The computer program (591) may include one or more instructions implementing methods / operations according to various embodiments of the present invention.
[0129] For example, the computer program (591) may include instructions for performing an operation of obtaining a one-time password from a first URL in response to a protocol request of a user terminal, an operation of verifying the validity of the one-time password, and an operation of providing Internet resource address information corresponding to the one-time password to the user terminal based on the one-time password if the one-time password is valid. At this time, the user terminal may recognize a QR code displayed on a QR code terminal to obtain the first URL, transmit the protocol request to a location specified by the first URL, and access order information using the Internet resource address information provided in response to the protocol request.
[0130] When the computer program (591) is loaded into the memory (530), the processor (510) can perform methods / operations according to various embodiments of the present invention by executing one or more of the instructions.
[0131] The technical idea of the present invention described so far can be implemented as a computer-readable code on a computer-readable medium. The computer-readable recording medium can be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-attached hard disk). The computer program recorded on the computer-readable recording medium can be transmitted to another computing device via a network such as the Internet and installed on the other computing device, thereby allowing it to be used on the other computing device.
[0132] Although the embodiments of the present invention have been described with reference to the attached drawings, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical concept or essential characteristics thereof. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included within the scope of the technical ideas defined by the present invention.
Claims
1. A method for providing order information using a dynamic QR code performed by a computing device, A step of obtaining a one-time password from a first URL in response to a protocol request from a user terminal; A step of verifying the validity of the above one-time password; and If the one-time password is valid, the step of providing Internet resource address information corresponding to the one-time password to the user terminal is included. The above user terminal, Recognizing the QR code displayed on the QR code terminal to obtain the first URL, transmitting the protocol request to the location specified by the first URL, and accessing order information using the Internet resource address information provided in response to the protocol request. How to provide order information using dynamic QR codes.
2. In paragraph 1, The above QR code terminal, Generating the QR code independently without data communication with other external devices, How to provide order information using dynamic QR codes.
3. In paragraph 1, The above QR code terminal, Generating the one-time password using a predetermined encryption algorithm, and generating the QR code based on the generated one-time password. How to provide order information using dynamic QR codes.
4. In paragraph 3, The above predetermined encryption algorithm is, A hash function-based algorithm that outputs the one-time password by taking at least one input value as a timestamp value. How to provide order information using dynamic QR codes.
5. In paragraph 1, The step of verifying the validity of the above one-time password is: A step of generating a reference password based on a secret key and timestamp value previously shared with the QR code terminal; and If the one-time password matches the reference password, a step of determining that the one-time password is valid is included. How to provide order information using dynamic QR codes.
6. In paragraph 5, The above one-time password and the above reference password are TOTP (Time-based One-Time Password) that change at predetermined time intervals. How to provide order information using dynamic QR codes.
7. In paragraph 1, The step of providing the above Internet resource address information to the user terminal is: After calculating one or more reference passwords by referring to a predetermined identification table, searching for a row in which a reference password having the same value as the one-time password is located among the one or more reference passwords, and then searching for a second URL in the searched row, and providing the searched second URL as the Internet resource address information to the user terminal. How to provide order information using dynamic QR codes.
8. In paragraph 1, The step of providing the above Internet resource address information to the user terminal is: Providing a session key for accessing the above order information together with the above Internet resource address information, How to provide order information using dynamic QR codes.
9. In paragraph 8, The above session key is, A value newly created or selected in response to the above protocol request, How to provide order information using dynamic QR codes.
10. In paragraph 8, The above Internet resource address information is: Including the Internet network address of an Internet resource device that provides the order information to the user terminal and processes the order request of the user terminal; The above user terminal, Present the session key to the Internet resource device to prove your access rights, The above Internet resource device, Verify the validity of the session key presented above, and process the order request of the user terminal only if the session key is valid. How to provide order information using dynamic QR codes.
11. Processor; A memory that loads a computer program executed by the processor; and Including storage for storing the above computer program, The above computer program, An action to obtain a one-time password from a first URL in response to a protocol request from a user terminal; An action to verify the validity of the above one-time password, and If the one-time password is valid, instructions are included for performing an operation of providing Internet resource address information corresponding to the one-time password to the user terminal. The above user terminal, Recognizing the QR code displayed on the QR code terminal to obtain the first URL, transmitting the protocol request to the location specified by the first URL, and accessing order information using the Internet resource address information provided in response to the protocol request. Device for providing order information using dynamic QR codes.