Input data security method using random number data for security keypads

The method enhances virtual keypad security by dynamically generating and managing random number data to prevent hacking and information leakage, addressing vulnerabilities in conventional keypads.

JP2025526181APending Publication Date: 2025-08-08LOCK IN COMPANY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023579368
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-04
Filing Date
2023-10-24
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

Conventional virtual keypads are vulnerable to hacking and leakage of input information due to fixed character arrangements, making them insecure against keylogger attacks.

Method used

A method using random number data generation and management, where a main server generates server random number data, a client generates client random number data corresponding to input characters, and the main server generates a final random number table to extract plaintext data, enhancing security by changing the size and randomness of the random number data.

Benefits of technology

This approach strengthens security by eliminating the risk of hacking and information leakage, as the random number data is dynamically generated, reducing vulnerabilities associated with fixed private key management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025526181000001_ABST
    Figure 2025526181000001_ABST
Patent Text Reader

Abstract

The present invention provides a security method for input data using random number data for a security keypad, comprising the steps of: (A) a main server randomly generating server random number data; (B) a client generating client random number data corresponding to each input character input via a security keypad from a random number table generated using the server random number data; and (c) the main server generating final random number data and the final random number table using the client random number data, and then extracting and generating plaintext data from the final random number table.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a method for securing input data using random number data for a security keypad, and more particularly to a method for securing input data using random number data for a security keypad, which strengthens security for characters input through a security keypad by using random number data that is changed and generated each time. [Background technology]

[0002] In today's information society, there are a variety of information devices, including personal computers, smartphones, tablet computers, and automated financial terminals. Most of these devices are equipped with input means for receiving information from users, and the use of virtual keypads as an input means has recently been increasing. Typically, in internet banking using a computer or smartphone, a virtual keypad is displayed on the screen, allowing users to enter personal information such as account passwords or security card numbers using a mouse or touch screen.

[0003] Meanwhile, more sophisticated and advanced threats to security have been emerging recently, including the discovery of malicious code that performs intelligent and continuous attacks. In particular, when using financial services such as internet banking, which require users to enter passwords using keyboard input, keylogger attacks that store and leak input information without the user's knowledge are becoming more common. As a result, research into virtual keypads with enhanced security is actively underway to prevent this.

[0004] In relation to such a virtual keypad, Patent Registration No. 10-1595794 (Title of Invention: Virtual Keypad Generator with Enhanced Security Function) has been disclosed.

[0005] However, because the above-mentioned types of virtual keypads have many characters arranged in fixed positions, a third party could see the user's touch position or hack into the device to obtain the information the user has entered. In addition, even when using a virtual keypad, it is possible to obtain the touch coordinate information transmitted or log touch events within the smartphone, and there is a limitation in that if the memory itself is hacked, personal information such as entered passwords may be leaked. Summary of the Invention [Problem to be solved by the invention]

[0006] In order to solve the above problems, the object of the present invention is to provide a security method for input data using random number data for a security keypad, which can improve security compared to the conventional technology that generates and manages a shaped private key by extracting plaintext data from a final random number table that is generated using random number data that is changed each time and has a random size.

[0007] The technical problems that the present invention aims to achieve are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person having ordinary skill in the art to which the present invention pertains from the following description. [Means for solving the problem]

[0008] To achieve the above-mentioned object, the present invention provides a method for securing input data using random number data for a security keypad, comprising: (A) a step in which a main server randomly generates server random number data; (B) a step in which a client generates client random number data corresponding to each input character input through a security keypad from a random number table generated using the server random number data; and (c) a step in which the main server generates final random number data and a final random number table using the client random number data, and then extracts and generates plaintext data from the final random number table.

[0009] In an embodiment of the present invention, step (A) may include: (A1) the main server generating a one-time ID (OTID) which is a security random value; (A2) the main server reading a salt value; (A3) the main server generating a base hash value for generating the server random number data using the security random value and the salt value; (A4) the main server generating a random range value (R) which matches one character used in the security keypad; and (A5) the main server applying the base hash value to a hash function to generate an n-th hash value.

[0010] In an embodiment of the present invention, step (A) may further include: (A6) the main server storing the nth hash value; and (A7) the main server determining whether generation of the server random number data is complete; and step (A7) may further include: (A71) the main server applying the nth hash value to the hash function to generate an (n+1)th hash value if generation of the server random number data is not complete; and (A72) returning to step (A6); and after step (A72), step (A6) may be characterized in that the main server stores the (n+1)th hash value.

[0011] In an embodiment of the present invention, step (A) may include: (A8) a step of completing generation of the server random number data; (A9) a step of the main server sending the server random number data to the client; and (A10) a step of the main server deleting the server random number data.

[0012] In an embodiment of the present invention, step (B) may include: (B1) the client receiving the server random number data from the main server and verifying whether the server random number data conforms to a predetermined format; (B2) the client generating a random number table for matching the server random number data with the input characters; (B3) the user inputting each input character through the security keypad; (B4) the client reading and storing client random number data corresponding to each input character in the random number table; and (B5) the client determining whether input of each input character is complete; and step (B5) may include (B51) returning to step (B3) if input of each input character is not complete.

[0013] In an embodiment of the present invention, step (B) may further include: (B6) a step of completing generation of the client random number data; and (B7) a step of the client transmitting the client random number data to the main server.

[0014] In an embodiment of the present invention, step (c) may include: (c1) the main server verifying whether the client random number data is modulated after receiving the client random number data sent from the client; (c2) the main server generating the final random number data using the client random number data; (c3) the main server generating the final random number table using the final random number data; (c4) the main server extracting the plaintext data through the final random number table; and (c5) the main server determining whether extraction of the plaintext data is complete; and step (c5) may include: (c51) returning to step (c4) if extraction of the plaintext data is not complete.

[0015] In an embodiment of the present invention, the step (c) may further include the step of: (c6) completing the generation of the plaintext data.

[0016] In an embodiment of the present invention, step (c2) may include: (c21) the main server extracting and generating a final one-time ID (OTID), which is a final security random value, from the client random number data; (c22) the main server reading the salt value; (c23) the main server generating a final base hash value for generating the final random number data using the final security random value and the salt value; (c24) the main server generating a final random range value (R) matching one character used in the security keypad; (c25) the main server applying the final base hash value to a hash function to generate an nth final hash value; (c26) the main server storing the nth final hash value; and (c27) the main server determining whether generation of the final random number data is complete.

[0017] In an embodiment of the present invention, the step (c27) may include, if the generation of the final random number data is not completed, (c271) the main server applies the final hash value to the hash function to generate the (n+1)th final hash value; and (c272) returning to the step (c26). After the step (c272), the main server may store the (n+1)th final hash value in the step (c26). [Effects of the Invention]

[0018] The effect of the present invention with the above configuration is that by extracting plaintext data from a final random number table that is generated using randomly generated random number data whose size is changed each time, there is no risk of hacking even when exposed, and security can be strengthened compared to conventional technologies that generate and manage a shaped private key.

[0019] The effects of the present invention are not limited to the effects described above, but should be understood to include all effects that can be inferred from the configuration of the invention described in the detailed description of the present invention or the claims. [Brief explanation of the drawings]

[0020] [Figure 1] 1 is a flowchart illustrating a method for securing input data using random number data for a security keypad according to one embodiment of the present invention. [Figure 2] 1 is a flowchart illustrating a detailed step (S100) of a method for securing input data using random number data for a security keypad according to an embodiment of the present invention. [Figure 3] 1 is a flowchart illustrating a detailed step (S200) of a method for securing input data using random number data for a security keypad according to an embodiment of the present invention. [Figure 4] 1 is a flowchart illustrating a detailed step (S300) of a method for securing input data using random number data for a security keypad according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0021] The present invention will now be described with reference to the accompanying drawings. However, the present invention may be embodied in various different forms and is not limited to the embodiments described herein. In the drawings, parts that are not relevant to the description are omitted to clearly explain the present invention, and similar parts are designated by similar reference numerals throughout the specification.

[0022] Throughout this specification, when a part is said to be "connected (connected, contacted, or coupled)" to another part, this includes not only "directly connected" but also "indirectly connected" through another member in between. Furthermore, when a part is said to "include" a certain component, this does not mean that it excludes other components, but that it may further include other components, unless otherwise specified.

[0023] The terms used in this specification are merely used to describe specific embodiments and are not intended to limit the present invention. The singular expressions include the plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprise" or "have" and the like specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should be understood not to preclude the presence or possibility of addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0024] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0025] As used throughout this specification, "client" refers to an application program or service that can connect over a network to remote services on other computer systems, called servers.

[0026] Specifically, a "client" is a program or system in a client-server architecture that has the function of requesting a service provided by a server, or providing the necessary factors for the service request in a manner desired by the server, and presenting the response returned by the server in a manner appropriate to the user.

[0027] FIG. 1 is a flowchart illustrating a method for securing input data using random number data for a security keypad according to one embodiment of the present invention.

[0028] Referring to FIG. 1, a method for securing input data using random number data for a security keypad according to one embodiment of the present invention includes: (A) a step (S100) in which a main server randomly generates server random number data; (B) a step (S200) in which a client generates client random number data corresponding to each input character input through a security keypad from a random number table generated using the server random number data; and (c) a step (S300) in which the main server generates final random number data and a final random number table using the client random number data, and then extracts and generates plaintext data from the final random number table.

[0029] FIG. 2 is a flowchart embodying detailed steps (S100) of a method for securing input data using random number data for a security keypad according to an embodiment of the present invention.

[0030] Referring to FIG. 2, step (A) includes the steps of (A1) the main server generating a one-time ID (OTID), which is a security random value (S110); (A2) the main server reading a salt value (S120); (A3) the main server generating a base hash value (S130) for generating server random number data using the security random value and the salt value; (A4) the main server generating a random range value (R) that matches one character used in the security keypad (S140); and (A5) the main server applying the base hash value to a hash function to generate an Nth hash value (S150) (where N is a natural number).

[0031] In step (A1), if the main server is requested to generate random number data, it generates a random number using a random number generator, applies the generated random number to a hash function to generate a hash value, and uses the hash value as a one-time ID (OTID).

[0032] Next, in step (A2), the main server reads a salt value from the license file issued to the customer company (=client).

[0033] Next, in step (A3), the main server uses the hash value generated by applying the security random value and the salt value to the hash function as the base hash value.

[0034] Next, in step (A4), the main server generates a random range value (R) that matches one character used in the security keypad (=virtual keypad).

[0035] Here, the server random number data can be generated randomly within a range of a combination of 444 characters to 1776 characters.

[0036] In the prior art, a method is adopted in which a shaped private key is generated, encrypted, and managed, which makes it vulnerable to hacking when exposed and vulnerable to security, whereas in the present invention, random number data is generated and the size of the generated random number data is randomly changed, which has the advantage that there is no risk of hacking when exposed.

[0037] Next, in step (A5), the main server applies the base hash value to a hash function to generate an Nth hash value.

[0038] Referring to FIG. 2, step (A) further includes (A6) a step (S160) in which the main server stores the Nth hash value, and (A7) a step (S170) in which the main server determines whether the generation of the server random number data is complete.

[0039] Specifically, referring to FIG. 2, step (A7) includes a step (S175) in which, if the generation of the server random number data is not completed, the main server applies the Nth hash value to the hash function (A71) to generate the (n+1)th hash value, and a step (A72) in which the main server returns to step (A6). After step (A72), in step (A6), the main server stores the (n+1)th hash value.

[0040] For example, the basic hash value generated in step (A5) is applied to a hash function to generate a primary hash value (when N=1), and then the main server stores the primary hash value in step (A6).

[0041] Next, in step (A7), the main server determines whether the generation of the server random number data is complete. If the generation of the server random number data is not complete, in step (A71), the main server applies the primary hash value to the hash function to generate a secondary hash value, and in step (A72), the process returns to step (A6). In this case, in step (A6), the main server stores the secondary hash value, and the process of going from step (A6) to step (A72) and returning to step (A6) is the first cycle (cycle order: step (A6) ⇒ step (A7) ⇒ step (A71) ⇒ step (A72) ⇒ step (A6)) (however, step (A5) is only executed the first time).

[0042] Next, in the second cycle, the main server determines whether the generation of the server random number data is complete in step (A7). If the generation of the server random number data is not complete, the main server applies the secondary hash value to the hash function in step (A71) to generate a tertiary hash value, and returns from step (A72) to step (A6). At this time, in step (A6), the main server stores the tertiary hash value, and the process from step (A6) through step (A72) to step (A6) is the second cycle.

[0043] As described above, the main server repeats the above process until the generation of the server random number data is completed.

[0044] Specifically, the main server inputs the basic hash value into a hash function to generate a hash string (64 characters) (for example, if the generated hash string is A, it inputs A into the hash function again to generate a hash string, and if the generated hash string is B, it inputs B into the hash function again to generate a hash string).

[0045] As described above, for example, the hash string is generated by repeating the process described above, and the number of repetitions is determined when it is greater than the hash value (e.g., 64) obtained by dividing (the random range value (R) generated in (A4) above x the maximum keypad string value (N)) by the hash function.

[0046] As a result, only the primary hash value is generated in the step (A5).

[0047] In step (A6), the server random number data may be randomly generated within a range of a combination of 444 characters to 1776 characters.

[0048] Therefore, in step (A7), the main server generates R×N size server random number data by repeating the process up to the maximum keypad string value (N) until the generation of server random number data to be used in the security keypad (= virtual keypad) is completed.

[0049] Next, step (A) includes steps (A8) completing the generation of server random number data, (A9) the main server sending the server random number data to the client, and (A10) the main server deleting the server random number data.

[0050] In particular, in step (A10), the server random number data is deleted, in order to execute step (c) based on the client random number data obtained after executing step (B).

[0051] FIG. 3 is a flowchart embodying a detailed step (S200) of a method for securing input data using random number data for a security keypad according to an embodiment of the present invention.

[0052] Referring to FIG. 3, step (B) includes: (B1) a step in which the client receives server random number data from the main server and verifies whether the server random number data conforms to a predetermined format (S210); (B2) a step in which the client generates a random number table for matching the server random number data with input characters (S220); (B3) a step in which the user inputs each input character via the security keypad (S230); (B4) a step in which the client reads and stores client random number data corresponding to each input character in the random number table (S240); and (B5) a step in which the client determines whether input of each input character is complete.

[0053] In step (B1), the client has already stored a preset format including the format, length, pattern, etc. of the server random number data, and has a built-in program that verifies whether the server random number data conforms to the preset format.

[0054] Next, in step (B2), the client extracts a random range value (R) that matches one character from the server random number data, and uses the R value to bring in one character from an array containing all characters (= each input character) used on the security keypad (= virtual keypad), and matches one character with server random number data of length R and stores it in the random number table.

[0055] Then, the client repeats the above process for the maximum keypad character string value (N) to generate random number data.

[0056] Next, in step (B3), each input character is input through a security keypad (=virtual keypad) input by the user.

[0057] Next, in step (B4), the client matches client random number data corresponding to one of the input characters in the random number table and stores the matched data.

[0058] In step (B5), the client determines whether input of each input character is completed, and executes the following steps according to the determination result.

[0059] Specifically, the step (B5) includes a step (B51) of returning to the step (B3) if the input of each input character is not completed.

[0060] Referring to FIG. 3, step (B) may further include (B6) a step (S260) in which the generation of client random number data is completed, and (B7) a step (S270) in which the client transmits the client random number data to the main server.

[0061] The steps (B6) and (B7) are in a state where the user's input is completed, and the client random number data acquired in the steps (B6) and (B7) is unmodulated data.

[0062] FIG. 4 is a flowchart embodying detailed steps (S300) of a method for securing input data using random number data for a security keypad according to an embodiment of the present invention.

[0063] Referring to FIG. 4, step (c) includes: (c1) a step in which the main server receives client random number data sent from the client and verifies whether the client random number data is modulated (S310); (c2) a step in which the main server generates final random number data using the client random number data (S320); (c3) a step in which the main server generates a final random number table using the final random number data (S330); (c4) a step in which the main server extracts plaintext data through the final random number table; and (c5) a step in which the main server determines whether extraction of plaintext data is complete.

[0064] In step (c1), the main server receives the client random number data sent from the client in step (A10) with the server random number data already deleted, and then verifies whether the client random number data has been modulated.

[0065] At this time, the main server is equipped with a program for determining whether the client random number data has been modulated.

[0066] Next, step (c2) includes the steps of (c21) the main server extracting and generating a final one-time ID (OTID), which is a final security random value, from the client random number data, (c22) the main server reading a salt value, (c23) the main server generating a final base hash value (Base HASH value) for generating final random number data using the final security random value and the salt value, (c24) the main server generating a final random range value (R) that matches one character used in the security keypad, (c25) the main server applying the final base random value to a hash function to generate an Nth final hash value (Final HASH value), (c26) the main server storing the Nth final hash value, and (c27) the main server determining whether the generation of the final random number data is complete.

[0067] In step (c21), the main server extracts and generates a final one-time ID (OTID) from the client random number data.

[0068] Next, in step (c22), the main server reads the salt value from the license file issued by the customer company (=client).

[0069] Next, in step (c23), the main server uses the hash value generated by applying the final security random value and the salt value to the hash function as the final base hash value.

[0070] Next, in step (c24), the main server generates a random range value (R) that matches one character used in the security keypad (=virtual keypad).

[0071] Here, the final random number data may be generated randomly within a range of a combination of 444 characters to 1776 characters, similar to step (A6).

[0072] Next, in step (c25), the main server applies the base hash value to a hash function to generate an Nth hash value.

[0073] Next, in step (c26), the main server stores the Nth hash value.

[0074] Next, step (c27) includes a step (c271) in which the main server applies the Nth final hash value to the hash function to generate the (n+1)th final hash value if the generation of the final random number data is not complete, and a step (c272) in which the main server returns to step (c26). After step (c272), in step (c26), the main server stores the (n+1)th final hash value.

[0075] Here, the final random number data can be generated randomly within a range of a combination of 444 characters to 1776 characters.

[0076] In step (c27), the main server repeats the keypad character string up to the maximum value (N) until the generation of the final random number data is completed, and generates the final random number data of R×N size.

[0077] The detailed steps of step (c2) are similar to those of step (A) described above.

[0078] Next, in step (c3), the main server extracts a random range value (R) that matches one character from the client random number data, and uses the R value to bring in one character from an array containing all characters used in the security keypad (= virtual keypad), matches one character with final random number data of the length of R, and stores it in the final random number table.

[0079] The step (c3) is carried out in a similar manner to the step (B) described above.

[0080] Next, in step (c4), the main server extracts and generates plaintext data for the client random number data from the final random number table.

[0081] Next, the step (c5) includes a step (c51) of returning to the step (c4) (S530) if the extraction of the plaintext data is not completed.

[0082] Additionally, the step (c) may further include a step (c6) of completing the generation of plaintext data (S360).

[0083] In this way, the finally derived plaintext data is transmitted to the client company and utilized by the client company.

[0084] As described above, unlike the prior art, which uses a shaped private key, making security vulnerable when exposed, the present invention can enhance security by randomly generating random number data of different sizes, eliminating the need to generate and manage individual private keys.

[0085] The above description of the present invention is for illustrative purposes only, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and are not limiting. For example, each component described as a single component can be implemented in a distributed form, and similarly, components described as distributed can be implemented in a combined form.

[0086] The scope of the present invention is defined by the claims that follow, and all modifications and variations that fall within the meaning and scope of the claims and their equivalents should be construed as being included within the scope of the present invention.

Claims

1. (A) a step in which a main server randomly generates server random number data; (B) generating client random number data corresponding to each input character input through the security keypad from a random number table generated by the client using the server random number data; (c) the main server generates final random number data and a final random number table using the client random number data, and then extracts and generates plaintext data from the final random number table.

2. The step (A) (A1) the main server generates a one-time ID (OTID) which is a security random value; (A2) the main server reading a salt value; (A3) the main server generating a base hash value for generating the server random number data using the security random value and the salt value; (A4) the main server generating a random range value (R) that matches one character used in the security keypad; (A5) the main server applies the base hash value to a hash function to generate an Nth hash value (HASH value).

3. The step (A) (A6) the main server storing the Nth hash value; (A7) The method further includes a step in which the main server determines whether the generation of the server random number data is completed; The step (A7) If the generation of the server random number data is not completed, (A71) The main server applies the Nth hash value to the hash function to generate an (n+1)th hash value; (A72) returning to step (A6), 3. The method for securing input data using random number data for a security keypad according to claim 2, wherein after step (A72), in step (A6), the main server stores the (n+1)th hash value.

4. The step (A) (A8) a step of completing the generation of the server random number data; (A9) the main server sending the server random number data to the client; (A10) the main server deletes the server random number data. The method for securing input data using random number data for a security keypad according to claim 3, further comprising: (A11) a step of:

5. The step (B) is (B1) after the client receives the server random number data transmitted from the main server, verifying whether the server random number data conforms to a preset format; (B2) generating a random number table for the client to match the server random number data with the input character; (B3) inputting each of the input characters via the security keypad by a user; (B4) the client reads and stores client random number data corresponding to each input character in the random number table; (B5) determining whether the client has completed input of each of the input characters; The step (B5) is If the input of each of the above characters is not completed, (B51) The method for securing input data using random number data for a security keypad according to claim 1, further comprising the step of returning to the step (B3).

6. The step (B) is (B6) a step in which the generation of the client random number data is completed; The method for securing input data using random number data for a security keypad according to claim 5, further comprising: (B7) a step in which the client transmits the client random number data to the main server.

7. The step (c) (c1) after the main server receives the client random number data transmitted from the client, verifying whether the client random number data is modulated; (c2) the main server generating the final random number data using the client random number data; (c3) the main server generating the final random number table using the final random number data; (c4) the main server extracting the plaintext data through the final random number table; (c5) the main server determining whether extraction of the plaintext data is complete; The step (c5) If the extraction of the plaintext data is not completed, 2. The method for securing input data using random number data for a security keypad according to claim 1, further comprising the step of: (c51) returning to the step (c4).

8. The step (c) The method for securing input data using random number data for a security keypad according to claim 7, further comprising the step of (c6) completing the generation of the plaintext data.

9. The step (c2) is (c21) the main server extracting and generating a final one-time ID (OTID), which is a final security random value, from the client random number data; (c22) the main server reading the salt value; (c23) the main server generating a final base hash value for generating the final random number data using the final security random value and a salt value; (c24) the main server generating a final random range value (R) that matches one character used in the security keypad; (c25) the main server applies the final base hash value to a hash function to generate an N-th final hash value; (c26) the main server storing the Nth final hash value; (c27) a step in which the main server determines whether or not the generation of the final random number data is completed.

10. The step (c27) If the generation of the final random number data is not completed, (c271) the main server applies the final hash value to the hash function to generate an (n+1)th final hash value; (c272) returning to step (c26), 10. The method for securing input data using random number data for a security keypad according to claim 9, wherein, in steps (c272) and (c26), the main server stores the (n+1)th final hash value.

Citation Information

Patent Citations

  • User authentication method and system

    JP2009157640A

  • Authentication device, terminal, authentication system, and authentication method

    JP2018010520A