Virtual security keypad generation system using noise-based random number and generation method therefor

The virtual security keypad system uses noise-based random number generation and asymmetric cryptography to enhance security against attacks and protect data confidentiality by generating unpredictable random numbers.

JP2025010032AActive Publication Date: 2025-01-20STEELIAN INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024104960
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2024-06-28
Publication Date
2025-01-20
Estimated Expiration
2044-06-28

AI Technical Summary

Technical Problem

Existing virtual keypads are vulnerable to man-in-the-middle attacks and data exposure due to predictable random number generation, leading to potential theft of sensitive information.

Method used

A virtual security keypad system that generates random numbers based on ambient noise, using noise conversion modules on both the user terminal and server, and employs asymmetric key cryptography to encrypt and decrypt data without directly exchanging random numbers.

Benefits of technology

The system produces unpredictable random numbers, enhancing security against man-in-the-middle attacks and ensuring data confidentiality by preventing direct exposure of random numbers during transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025010032000001_ABST
    Figure 2025010032000001_ABST
Patent Text Reader

Abstract

To provide a system and a method for generating a virtual security keypad using a noise-based random number.SOLUTION: A virtual security keypad generation system comprises: a user terminal 100 comprising a noise measurement module that measures a noise around a user and a first noise conversion module that generates a random number based on the noise measured by the noise measurement module; and a virtual security keypad server 200 comprising a second noise conversion module that generates the random number based on a received noise after receiving the noise measured at the user terminal, and an encryption / decryption key generation module that generates an encryption / decryption key based on the random number generated by the second noise conversion module.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The disclosed invention relates to a method and apparatus for generating a virtual security keypad using noise-based random numbers, and more specifically, to a technology for generating random numbers based on ambient noise collected via a user terminal, and using the generated random numbers to generate a virtual security keypad and encrypt and decrypt user security information. [Background technology]

[0002] As society develops rapidly and the penetration rate of smartphones gradually increases, many users are conducting economic activities such as financial transactions and electronic signatures using financial and business apps on their smartphones.

[0003] As a result, when using such financial services, a virtual keypad is used to securely enter information such as passwords for user authentication and personal credit card numbers.

[0004] However, virtual keypads have the disadvantage of being vulnerable to various types of man-in-the-middle attacks. Therefore, in order to avoid attacks such as shoulder-surfing attacks, where someone looks at your shoulder, or recording attacks, where someone takes a picture to check the input values, recent virtual keypads have been modified to make it difficult for people to quickly understand the keypad displayed on the smartphone screen, by inserting blank images of random sizes between the keys arranged on the keypad or randomly arranging the order of each key.

[0005] However, existing virtual keypads have the disadvantage that data may be exposed during the process of sending and receiving information to and from a server if end-to-end encryption (E2EE) is not fully implemented when receiving information required to be displayed on the screen or sending result values ​​such as data and keys input by the user to the outside.

[0006] In particular, if random numbers used in various aspects such as generating a random sequence for a virtual keypad array and generating encryption and decryption keys are stolen through a meson attack, an attacker can use the stolen random numbers to determine the original value of encrypted data, which may result in the leakage of sensitive personal information of users.

[0007] In addition, since the random numbers used in the past are generated based on the system time or a specific pattern, which can be easily predicted by an attacker, there is a drawback in that the virtual keypad implemented based on the existing random number generation method is vulnerable to user data security. Summary of the Invention [Problem to be solved by the invention]

[0008] Therefore, the method and apparatus for generating a virtual security keypad using noise-based random numbers according to one embodiment is an invention created to solve the problems described above, and has an objective of providing a method and apparatus for generating a virtual security keypad having a higher security level as it generates random numbers that an attacker cannot predict based on ambient noise collected from a user terminal.

[0009] More specifically, the object is to provide a method and apparatus for generating a virtual security keypad that can effectively counter man-in-the-middle attacks by preventing unpredictably generated random numbers from being directly exposed because a user terminal and a server have the same noise conversion module, which may result in noise being transmitted between the terminal and the server instead of random numbers. [Means for solving the problem]

[0010] A virtual security keypad generation system using a noise-based random number according to one embodiment of the disclosed invention may include a user terminal including a noise measurement module that measures noise around a user and a first noise conversion module that generates a random number based on the noise measured by the noise measurement module, and a virtual security keypad server including a second noise conversion module that receives the noise measured by the user terminal and generates a random number based on the received noise, and an encryption / decryption key generation module that generates an encryption / decryption key based on the random number generated by the second noise conversion module.

[0011] The random numbers generated by the first noise conversion module and the random numbers generated by the second noise conversion module may be generated to have the same value.

[0012] The user terminal may further include an encryption processing module that receives the public key information generated by the encryption / decryption key generation module and then encrypts user security information entered into the virtual security keypad based on the public key information.

[0013] The virtual security keypad server may further include a decryption processing module that receives the encrypted security information of the user from the user terminal and then decrypts the security information of the user based on the private key information generated by the encryption / decryption key generation module.

[0014] The encryption / decryption key generation module can generate the encryption / decryption key as a pair of a public key and a private key, and send only the public key to the user terminal.

[0015] A method for generating a virtual security keypad using a noise-based random number according to one embodiment of the disclosed invention may include a step of measuring noise around a user via a user terminal, a step of transmitting the noise from the user terminal to a virtual security keypad server, a step of the user terminal and the virtual security keypad server generating random numbers based on the noise, a step of generating a virtual security keypad based on the random numbers and displaying it to the user, a step of encrypting and transmitting security information of the user inputted via the virtual security keypad to the virtual security keypad server, and a step of decrypting the encrypted data.

[0016] The step of decrypting the encrypted data may further include the step of generating, in the virtual security keypad server, a virtual security keypad having the same arrangement as the virtual security keypad generated in the user terminal. Effect of the Invention

[0017] The system and method for generating a virtual security keypad using noise-based random numbers according to one embodiment has the technical advantage of being secure from man-in-the-middle attacks because it generates unpredictable random numbers by utilizing noise in the user's surrounding environment as a seed for random number generation, unlike existing random number generation methods that are based on system time or specific patterns.

[0018] In addition, the system and method for generating a virtual security keypad using noise-based random numbers according to one embodiment has the technical advantage that the terminal and the server do not directly exchange random numbers, but instead transmit and receive measured noise via the terminal and generate random numbers individually based on the noise, and therefore the generated random numbers are not exposed during data transmission and reception.

[0019] In addition, the system and method for generating a virtual security keypad using noise-based random numbers according to one embodiment has the technical advantage of being able to generate a virtual security keypad with enhanced confidentiality, since the server transmits only a random-number-based public key to the user terminal using an asymmetric key cryptography method. [Brief description of the drawings]

[0020] [Figure 1] 1 illustrates a system for generating a virtual security keypad using noise-based random numbers according to one embodiment of the disclosed invention. [Diagram 2] 1 is a diagram showing the main configuration of a user terminal in a system for generating a virtual security keypad using noise-based random numbers according to an embodiment of the disclosed invention. [Diagram 3] 1 is a diagram showing the main configuration of an apparatus for generating a virtual security keypad using noise-based random numbers according to one embodiment of the disclosed invention. [Figure 4] FIG. 4 is a flow chart relating to a method for generating a virtual security keypad using noise-based random numbers according to one embodiment of the disclosed invention. [Diagram 5] 1 is a diagram showing the overall data processing process of a user terminal and a server in a method for generating a virtual security keypad using noise-based random numbers according to an embodiment of the disclosed invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. When assigning reference numerals to components in each drawing, it should be noted that the same components are assigned the same numerals as much as possible even if they are displayed in different drawings. In addition, when describing the embodiments of the present invention, detailed descriptions of related known configurations or functions are deemed to hinder understanding of the embodiments of the present invention, the detailed descriptions thereof will be omitted. In addition, although the embodiments of the present invention will be described below, the technical idea of ​​the present invention is not limited or restricted thereto, and may be modified and variously implemented by those skilled in the art.

[0022] In addition, the terms used in the present specification are used to describe the embodiments, and are not intended to limit and / or restrict the disclosed invention. The singular expression includes the plural expression unless otherwise clearly defined in the context.

[0023] As used herein, terms such as "comprise," "comprising," or "having" are intended to specify the presence of a specified feature, number, step, operation, component, part, or combination thereof, but do not preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0024] Furthermore, throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "indirectly connected" through another element in between, and terms including ordinal numbers such as "first" and "second" used in this specification may be used to describe various components, but the components are not limited by said terms.

[0025] Hereinafter, the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. In order to clearly explain the present invention in the drawings, parts that are not relevant to the description will be omitted.

[0026] FIG. 1 is a diagram illustrating a system for generating a virtual security keypad using noise-based random numbers according to one embodiment of the disclosed invention.

[0027] Referring to FIG. 1, a virtual security keypad generating system according to an embodiment may include a virtual security keypad server (200) that generates random numbers to be used in a virtual security keypad, generates an encryption key based on the generated random numbers, and provides the encryption key to a user device, and a user terminal (100) that inputs security information from a user using a virtual security keypad, encrypts the input security information using the encryption key provided by the virtual security keypad server (200), and transmits the encrypted security information to the virtual security keypad server (200).

[0028] Also, the virtual security keypad server (200) can be embodied as an embodiment of a virtual security keypad generating device according to an embodiment of the disclosed invention. For example, the virtual security keypad generating device of the disclosed invention can be embodied as a software program or software programming interface (Application Programming Interface, API) installed in the user terminal (100).

[0029] The term "server" in this invention means a normal server, which is computer hardware on which programs are executed, and which can monitor or control the entire network, such as printer control and file management, and can support connections to other networks via mainframes or public networks, sharing software resources such as data, programs, and files, and hardware resources such as modems, faxes, printer sharing, and other devices.

[0030] Furthermore, the user terminal 100 according to an embodiment of the disclosed invention may correspond to a computing device capable of transmitting and receiving data via a network and executing various software.

[0031] Here, a network refers to a connected structure that allows information to be exchanged between multiple nodes such as terminals and servers. Examples of such networks include a local area network (LAN), a wide area network (WAN), the Internet (WWW), wired and wireless data communication networks, telephone networks, and wired and wireless television communication networks. Examples of wireless data communication networks include, but are not limited to, 3G, 4G, 5G, 3GPP (registered trademark) (3rd Generation Partnership Project), 5GPP (5th Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), Wi-Fi, the Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth (registered trademark) network, NFC (Near-Field Communication) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc.

[0032] An operating system program for starting and running the user terminal 100 may be stored in the user terminal 100. For example, the operating system program may include Android OS, iOS (iPhone OS), Tizen OS, BlackBerry OS, Windows Phone OS, and the like.

[0033] In addition, the user terminal (100) can be embodied as any terminal device including a processor to implement such an algorithm, and can be embodied as a computer, a smart pad, a notebook computer, or a mobile terminal, for example.

[0034] Here, the computer may include, for example, a notebook computer, desktop computer, laptop computer, tablet PC, slate PC, etc. equipped with a web browser, and the mobile terminal may include, for example, a wireless communication device that ensures portability and mobility, such as a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular (PDC), a personal handy-phone system (PHS), a personal digital assistant (PDA), an international mobile telecommunication (IMT)-2000, a code division multiple access (CDMA)-2000, a W-code division multiple access (W-CDMA), a wireless broadband internet (WiBro) terminal, a smartphone, or any kind of handheld-based wireless communication device, and a watch, a ring, a bracelet, an anklet, a necklace, glasses, contact lenses, or a wearable device such as a head-mounted device (HMD), etc.

[0035] The following provides a detailed description of a detailed configuration of a virtual security keypad generating system according to an embodiment.

[0036] Fig. 2 is a diagram showing the main configuration of a user terminal in a system for generating a virtual security keypad using noise-based random numbers according to an embodiment of the disclosed invention. Fig. 3 is a diagram showing the main configuration of a device for generating a virtual security keypad using noise-based random numbers according to an embodiment of the disclosed invention.

[0037] Referring to FIG. 2, the user terminal (100) may include a user virtual keypad module (110) and a communication module (120).

[0038] The user virtual keypad module (110) may include, depending on its functions and operations, a noise measurement module (111), a first noise conversion module (112), a first key sequence generation module (113), and an encryption processing module (114).

[0039] The noise measurement module 111 can measure noise around the user using a microphone, which is one of the input units of the user terminal 100.

[0040] More specifically, the noise measurement module 111 can input noise from the surrounding environment through a microphone attached to the user terminal 100. The noise input to the noise measurement module 111 can be used to generate random numbers in the first noise conversion module 112.

[0041] The first noise conversion module (112) can receive the measured audio signal from the noise measurement module (111) in analog form.

[0042] Specifically, the first noise conversion module (112) can convert the audio signal, which is an analog signal, into a digital format. This process can be performed using an analog-to-digital conversion (ADC). The first noise conversion module (112) can sample the audio signal and convert it into a series of digital samples.

[0043] Additionally, the first noise conversion module (112) can optionally apply a noise reduction algorithm to remove some of the noise from the audio signal to produce a cleaner signal that is used to generate random numbers.

[0044] The first noise conversion module 112 can then extract a random number from the measured noise. There can be various ways to extract a random number from noise.

[0045] For example, the first noise transformation module 112 can analyze the frequency of the noise to obtain a frequency spectrum, and the first noise transformation module 112 can measure the signal strength in a frequency band and use it as a random number.

[0046] As another example, the first noise conversion module (112) can use digital samples of noise to generate random numbers, such as sample values ​​or rates of change between samples.

[0047] As another example, the first noise conversion module 112 may extract random numbers by analyzing characteristics of noise that change in the time domain. For example, the rate of change of noise in a specific section, fluctuation of absolute value, etc. may be used as random numbers.

[0048] The first noise transformation module 112 can adjust the extracted random numbers so that they have desired characteristics by post-processing them. For example, the first noise transformation module 112 can adjust the distribution of the random numbers or manipulate statistical characteristics.

[0049] The random number generation process by the first noise conversion module 112 can be implemented using techniques such as signal processing, statistical analysis, algorithm design, etc. The actual implementation method of such random numbers may vary depending on the platform, programming language, and characteristics of the target random numbers.

[0050] The first key arrangement generation module (113) can generate an arrangement of the virtual security keypad by utilizing the random numbers generated by the first noise conversion module (112).

[0051] More specifically, the first key layout generation module (113) can define a keypad layout that includes letters or numbers to be used on the virtual security keypad.

[0052] Then, the first key layout generation module (113) can mix the defined keypad layouts. The algorithm used in this case can be the Fisher-Yates algorithm, which can randomly change the order of elements in the keypad layout.

[0053] More specifically, the first key sequence generation module (113) can use the random numbers generated and extracted by the first noise conversion module (112) as seeds in the Fisher-Yates algorithm.

[0054] The first key layout generation module (113) can then place the mixed keypad layout on a virtual security keypad screen. The first key layout generation module (113) can display the keypad layout on the virtual security keypad screen and configure a user interface (UI) to visually display the virtual security keypad.

[0055] Therefore, the first key layout generation module (113) can enhance input security for the user's security information and provide randomness in keypad input by generating a random layout of the virtual security keypad using noise-based random numbers and displaying it to the user.

[0056] The encryption processing module (114) can encrypt the key input when the user selects a key via the virtual security keypad activated by the first key layout generating module (113).

[0057] More specifically, the encryption processing module (114) can receive information regarding a public key utilizing a noise-based random number generated by the virtual security keypad server (200) described below, and encrypt user security information entered via the virtual security keypad using the public key.

[0058] Specifically, the encryption processing module (114) can use a public key provided by the virtual security keypad server (200) to encrypt the user's security information using a public key encryption algorithm such as RSA.

[0059] At this time, the encryption processing module (114) can select the information to be encrypted, apply an encryption algorithm, use the public key to generate an encryption key, and encrypt the user's security information using the encryption key.

[0060] The communication module (120) of the user terminal (100) may be configured to transmit and receive various information between the user terminal (100) and the virtual security keypad server (200).

[0061] For example, the communication module (120) of the user terminal (100) can transmit the user's security information inputted via the virtual security keypad to the virtual security keypad server (200).

[0062] At this time, the user's security information transmitted to the virtual security keypad server (200) may be in a state encrypted by the encryption processing module (114).

[0063] Therefore, since the user's security information encrypted by the encryption processing module (114) is encrypted with the public key of the virtual security keypad server (200), only the virtual security keypad server (200) that has the private key can decrypt the user's security information.

[0064] The communication module (120) of the user terminal (100) may also be configured to transmit the noise measured and collected at the input of the user terminal (100) to the virtual security keypad server (200).

[0065] Referring to FIG. 3, the virtual security keypad server may include a server virtual keypad module (210) and a communication module (220) depending on its functions and operations.

[0066] The server virtual keypad module (210) may include a second noise conversion module (211), an encryption / decryption key generation module (212), a decryption processing module (213), a second key layout generation module (214), and an integrity verification module (215).

[0067] The second noise conversion module 211 of the server virtual keypad module 210 may be configured in the same manner as the first noise conversion module 112 of the user terminal 100. The second noise conversion module 211 may generate a random number using noise information around the user received from the user terminal 100.

[0068] Specifically, the second noise conversion module (211) can convert the audio signal, which is an analog signal, into a digital format. This process can be performed using an analog-to-digital conversion (ADC). The second noise conversion module (211) can sample the audio signal and convert it into a series of digital samples.

[0069] In addition, the second noise conversion module (211) can apply a noise reduction algorithm, if necessary, to remove some of the noise from the audio signal, to more cleanly process the signal used for random number generation.

[0070] Thereafter, the second noise conversion module (211) can extract a random number from the measured noise. There can be various ways to extract a random number from noise.

[0071] For example, the second noise transformation module 211 can analyze the frequency of the noise to obtain a frequency spectrum. The second noise transformation module 211 can measure the signal strength in a frequency band and use it as a random number.

[0072] As another example, the second noise conversion module (211) can generate random numbers using digital samples of noise, such as sample values ​​or rate of change between samples.

[0073] As another example, the second noise conversion module 211 may extract random numbers by analyzing characteristics of noise that change in the time domain. For example, the rate of change of noise in a specific section, fluctuation of absolute value, etc. may be used as random numbers.

[0074] The second noise transformation module 211 can adjust the extracted random numbers to have desired characteristics by post-processing them. For example, the second noise transformation module 211 can adjust the distribution of the random numbers or manipulate the statistical characteristics.

[0075] The random number generated by this second noise conversion module (211) can have the same value as the random number generated by the first noise conversion module (112) of the user terminal (100).

[0076] Therefore, the disclosed invention does not directly transmit and receive random numbers between the user terminal (100) and the virtual security keypad server, but only transmits and receives noise that is used for the random numbers, resulting in the technical effect that the random numbers are not exposed to a middle attacker during a transaction between the client and the server.

[0077] The encryption / decryption key generation module (212) can generate an encryption / decryption key used for encryption and decryption. More specifically, the encryption / decryption key generation module (212) can generate an encryption / decryption key using the random number generated by the second noise conversion module.

[0078] In addition, the encryption / decryption key generated by the encryption / decryption key generation module (212) is composed of a pair of a public key and a private key, and the encryption / decryption key generation module (212) can be configured to transmit only the public key to the user terminal (100).

[0079] Therefore, in the case of the virtual security keypad generating system (1) according to the disclosed invention, the data can be encrypted using an asymmetric key encryption method.

[0080] Specifically, the encryption / decryption key generation module 212 may generate a public key and a private key for encryption using the RSA algorithm, but the algorithm used for key generation is not limited thereto and may be implemented using various algorithms.

[0081] Thereafter, the encryption / decryption key generation module (212) of the virtual security keypad server (200) can transmit the public key information and the session information to the user terminal (100). Thus, the encryption processing module (114) of the user terminal (100) can encrypt the user's security information inputted via the virtual security keypad using the transmitted public key of the virtual security keypad server (200).

[0082] Therefore, the disclosed invention generates noise-based random numbers, but has the technical effect of more effectively preparing against meson attacks by implementing an asymmetric key encryption method such as RSA, DSA, or ECC using unpredictable random numbers.

[0083] The decryption processing module (213) can decrypt the encrypted user security information transmitted from the user terminal (100). More specifically, the decryption processing module (213) can decrypt the transmitted user security information using the private key generated by the encryption / decryption key generation module (212).

[0084] Such a private key is held exclusively by the virtual security keypad server (200) and therefore enables the decryption processing module (213) to decrypt the encrypted user security information.

[0085] The second keyboard layout generating module (214) may be configured to perform the same role as the second keyboard layout generating module (214) of the user terminal (100) described above.

[0086] The second key layout generation module (214) can generate a virtual security keypad layout similar to the virtual security keypad displayed on the user terminal (100) by utilizing the random numbers generated from the second noise conversion module (211).

[0087] More specifically, the second key layout generation module (214) can define a keypad layout that includes letters or numbers to be used on the virtual security keypad.

[0088] Then, the second keyboard layout generation module (214) can mix the defined keyboard layouts. The algorithm used in this case can be the Fisher-Yates algorithm, which can randomly change the order of elements in the keyboard layout.

[0089] Therefore, the second key layout generation module (214) can generate a virtual security keypad having the same layout as the random virtual security keypad displayed on the user terminal (100) by utilizing the random number generated from the second noise conversion module (211) based on the noise transmitted from the user terminal (100).

[0090] Thus, the decryption processing module (213) can extract the original value of the user's security information by comparing the virtual security keypad generated by the second keyboard layout generating module (214) with the key input value. Therefore, the second keyboard layout generating module (214) and the decryption processing module (213) can be used to decrypt the user's security information transmitted from the user terminal (100) through a combination.

[0091] The integrity verification module 215 may be configured to verify the integrity of the user's security information transmitted from the user terminal 100. The integrity verification module 215 may perform various integrity verification methods.

[0092] For example, the integrity verification module (215) can use digital signatures to verify the integrity of data, which is a security mechanism that provides information integrity and sender identity authentication.

[0093] In this case, by using a seed extracted from noise when the integrity verification module (215) generates a value such as a hash for integrity verification, a hash that is difficult to modulate and therefore secure can be generated.

[0094] Specifically, in the context of digital signature schemes, the sender of information can use a private key to generate a hash of the original data. A hash function is an algorithm that converts data of any length into a value of a fixed length.

[0095] The sender of such information can encrypt the hash value using a private key to generate a digital signature, which can then be transmitted along with the original data.

[0096] The recipient of the information can decrypt the digital signature using the sender's public key, and then calculate the same hash value over the original data and compare the decrypted digital signature with the calculated hash value to see if they match.

[0097] If the comparison of the hash values ​​results in a match, the integrity verification module (215) can verify the integrity of the original data.

[0098] The communication module (220) of the virtual security keypad server (200) can be configured to transmit and receive data between the user terminal (100) and the virtual security keypad server (200). For example, the virtual security keypad server (200) can generate a random number based on noise received via the user terminal (100), generate an encryption / decryption key based on the generated random number, and transmit only the public key of the encryption / decryption key to the user terminal (100).

[0099] The communication module (220) used in the user terminal (100) and the virtual security keypad server (200) may include one or more components that enable communication with an external device, and may include, for example, at least one of a short-range communication module, a wired communication module, and a wireless communication module. The short-range communication module may include various short-range communication modules that transmit and receive signals using a wireless communication network in a short distance, such as a Bluetooth module, an infrared communication module, an RFID (Radio Frequency Identification) communication module, a WLAN (Wireless Local Access Network) communication module, an NFC communication module, and a Zigbee communication module. The wired communication module may include various wired communication modules such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module, or a Value Added Network (VAN) module, as well as various cable communication modules such as Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), Digital Visual Interface (DVI), recommended standard 232 (RS-232), power line communication, or plain old telephone service (POTS).The wireless communication module may include a Wi-Fi module, a WiBro module, and other wireless communication modules that support various wireless communication methods such as GSM (global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), UMTS (Universal mobile telecommunications system), TDMA (Time Division Multiple Access), and LTE (Long Term Evolution).

[0100] Meanwhile, although not shown in the drawings, the user terminal (100) and the virtual security keypad server may include a processor and a memory that digitize and store information such as a user input value, a noise-based random number, and an encryption / decryption key corresponding to the random number. The processor and the memory may be embodied as at least one of storage media that stores programs and data required for the operations described above in FIG. 1, and the processor and the memory may be embodied as a single chip or separate chips.

[0101] FIG. 4 is a flow chart relating to a method for generating a virtual security keypad using noise-based random numbers according to one embodiment of the disclosed invention.

[0102] Referring to FIG. 4, a method for generating a virtual security keypad using noise-based random numbers according to an embodiment of the disclosed invention may include measuring noise around a user via a user terminal (100) (S110).

[0103] More specifically, the step of measuring noise around the user (S110) through the user terminal (100) may include a step of measuring noise around the user using a microphone, which is one of the input units of the user terminal (100), using a noise measurement module (111).

[0104] Also, the step of measuring noise around the user through the user terminal (100) (S110) may include inputting noise in the surrounding environment through a microphone attached to the user terminal (100) using a noise measurement module (111). The noise input by the noise measurement module (111) may be used to generate random numbers in the first noise conversion module (112) and the second noise conversion module (211).

[0105] Thereafter, the method for generating a virtual security keypad using noise-based random numbers according to an embodiment may include transmitting the measured noise from the user terminal (100) to a virtual security keypad server (S120).

[0106] More specifically, the step of transmitting the measured noise from the user terminal (100) to the virtual security keypad server (S120) may include a step of transmitting the noise and requesting the use of the virtual security keypad.

[0107] According to an embodiment, a method for generating a virtual security keypad using a noise-based random number may include a step of generating random numbers by a user terminal (100) and a virtual security keypad server, respectively, based on noise (S130).

[0108] More specifically, the step of generating random numbers by the user terminal (100) and the virtual security keypad server, respectively, based on the noise (S130) may include converting the audio signal, which is an analog signal, into a digital format.

[0109] This process can be performed using Analog-to-Digital Conversion (ADC). The step (S130) in which the user terminal (100) and the virtual security keypad server respectively generate random numbers based on the noise can involve sampling the audio signal and converting it into a series of digital samples using a first noise conversion module (112) and a second noise conversion module (211).

[0110] In addition, the step (S130) of the user terminal (100) and the virtual security keypad server respectively generating random numbers based on noise may include a step of using the first noise conversion module (112) and the second noise conversion module (211) to apply a noise reduction algorithm as necessary to partially remove noise from the audio signal and more cleanly process the signal used to generate the random number.

[0111] Also, the step of generating random numbers based on noise by the user terminal 100 and the virtual security keypad server (S130) may include extracting random numbers from the measured noise using a first noise conversion module 112 and a second noise conversion module 211. There may be various methods for extracting random numbers from noise.

[0112] For example, the step (S130) of the user terminal (100) and the virtual security keypad server respectively generating random numbers based on noise may include a step of analyzing the frequency of the noise using a first noise conversion module (112) and a second noise conversion module (211) and obtaining a corresponding frequency spectrum.

[0113] In this case, the step (S130) in which the user terminal (100) and the virtual security keypad server respectively generate random numbers based on the noise may include a step of measuring the signal strength in a frequency band using a first noise conversion module (112) and a second noise conversion module (211) and using the signal strength as the random number.

[0114] The random number generation process performed in step S130 in which the user terminal (100) and the virtual security keypad server respectively generate random numbers based on noise can be implemented using technologies such as signal processing, statistical analysis, algorithm design, etc. The actual implementation method of the random numbers may vary depending on the platform, programming language, and characteristics of the target random numbers.

[0115] In addition, the random numbers generated in the step S130 in which the user terminal 100 and the virtual security keypad server each generate random numbers based on the noise may have the same value.

[0116] According to an embodiment, a method for generating a virtual security keypad using a noise-based random number may include generating a virtual security keypad based on a random number and displaying the virtual security keypad to a user (S140).

[0117] More specifically, the step of generating a virtual security keypad based on the random number and displaying it to the user (S140) may include generating a layout of the virtual security keypad using the first key layout generating module (113).

[0118] More specifically, the step of generating a virtual security keypad based on random numbers and displaying it to a user (S140) may include a step of defining a keypad layout including letters or numbers to be used in the virtual security keypad using a first key layout generation module (113).

[0119] Also, the step of generating a virtual security keypad based on random numbers and displaying it to the user (S140) may include a step of mixing a keypad layout defined using the first key layout generating module (113). The algorithm used here may be the Fisher-Yates algorithm, which allows the order of elements in the keypad layout to be randomly changed.

[0120] Thereafter, the step of generating a virtual security keypad based on the random numbers and displaying it to the user (S140) may include arranging the mixed keypad layout on a virtual security keypad screen using a first key layout generating module 113. The step of generating a virtual security keypad based on the random numbers and displaying it to the user (S140) may include displaying the keypad layout on a virtual security keypad screen and configuring a user interface (UI) to visually display the virtual security keypad.

[0121] Therefore, the step of generating a virtual security keypad based on random numbers and displaying it to the user (S140) may include a step of generating a random arrangement of the virtual security keypad using noise-based random numbers and displaying it to the user, thereby enhancing input security for the user's security information and providing randomness in keypad input.

[0122] According to an embodiment, a method for generating a virtual security keypad using a noise-based random number may include encrypting and transmitting user security information inputted through the virtual security keypad to a virtual security keypad server (S150).

[0123] More specifically, the step of encrypting and transmitting the user's security information inputted through the virtual security keypad to the virtual security keypad server (S150) may include a step of encrypting the key input when the user selects a key including security information through the virtual security keypad displayed on the user terminal (100).

[0124] More specifically, the step of encrypting and transmitting the user's security information inputted through the virtual security keypad to the virtual security keypad server (S150) may include a step of receiving information regarding a public key utilizing a noise-based random number generated by the virtual security keypad server (200) and encrypting the user's security information inputted through the virtual security keypad using the public key.

[0125] Specifically, the step of encrypting and transmitting the user's security information inputted through the virtual security keypad to the virtual security keypad server (S150) may include a step of encrypting the user's security information using a public key encryption algorithm such as RSA with a public key provided from the virtual security keypad server (200).

[0126] In this case, the step of encrypting and transmitting the user's security information inputted through the virtual security keypad to the virtual security keypad server (S150) may include the steps of selecting the information to be encrypted, applying an encryption algorithm, generating an encryption key using the public key, and encrypting the user's security information using the encryption key.

[0127] In addition, the step of encrypting and transmitting the user's security information inputted through the virtual security keypad to the virtual security keypad server (S150) may include a step of transmitting the user's security information inputted through the virtual security keypad to the virtual security keypad server (200).

[0128] At this time, the user's security information transmitted to the virtual security keypad server (200) may be in a state encrypted by the encryption processing module (114).

[0129] Therefore, in the step of encrypting and transmitting the user's security information inputted through the virtual security keypad to the virtual security keypad server (S150), since the encrypted user's security information is encrypted with the public key of the virtual security keypad server (200), only the virtual security keypad server (200) having the private key can decrypt the user's security information.

[0130] The method for generating a virtual security keypad using noise-based random numbers according to an embodiment may include the step of decrypting encrypted data (S160).

[0131] More specifically, the step of decrypting the encrypted data (S160) may include a step of decrypting the encrypted user security information transmitted from the user terminal (100).

[0132] Specifically, the step of decrypting the encrypted data (S160) may include a step of decrypting the transmitted user's security information using a private key generated by the encryption / decryption key generation module (212) of the virtual security keypad server (200).

[0133] Since such a private key is held only by the virtual security keypad server (200), the encrypted user security information can be decrypted in the step of decrypting the encrypted data (S160).

[0134] In addition, the step of decrypting the encrypted data (S160) may include a step of generating a virtual security keypad having the same arrangement as the random virtual security keypad displayed on the user terminal (100) by utilizing a random number generated from the second noise conversion module (211) based on the noise transmitted from the user terminal (100).

[0135] Accordingly, the step of decrypting the encrypted data (S160) may include a step of comparing the virtual security keypad generated by the virtual security keypad server 200 with the key input value by utilizing the decryption processing module 213 and the second key layout generating module 214. Therefore, in the step of decrypting the encrypted data (S160), the original value of the user's security information can be extracted.

[0136] FIG. 5 is a diagram illustrating an overall data processing process of a user terminal and a server in a method for generating a virtual security keypad using noise-based random numbers according to an embodiment of the disclosed invention.

[0137] Referring to FIG. 5, a user terminal (100) can measure noise around the user using a built-in microphone.

[0138] The user terminal (100) can then transmit the measured noise to the virtual security keypad server (200) and request the virtual security keypad server (200) to use the virtual security keypad.

[0139] More specifically, the user terminal (100) can transmit noise data to the virtual security keypad server (200) and request a public key and session information for implementing end-to-end encryption.

[0140] Thereafter, the virtual security keypad server 200 can generate a random number based on the transmitted noise. Specifically, the virtual security keypad server 200 can extract a random number from the transmitted noise.

[0141] In particular, the virtual security keypad server (200) can generate an encryption / decryption key based on the generated random number. The encryption / decryption key can be generated in a pair of a public key and a private key. In other words, the virtual security keypad server (200) can generate a pair of a public key and a private key based on the extracted random number.

[0142] Thereafter, the virtual security keypad server 200 can transmit a public key generated based on the random number and session information. More specifically, the virtual security keypad server 200 can transmit the generated public key and transmit session information for establishing a session.

[0143] The user terminal (100) can generate a random number from the noise measured using a microphone. The user terminal (100) can extract a random number from the measured noise in the same manner as the virtual security keypad server (200).

[0144] The user terminal (100) can generate and use a virtual security keypad by utilizing the generated random number. Specifically, the user terminal (100) can generate and use a virtual security keypad by utilizing the extracted random number in various parts such as shuffling a key arrangement, generating an initialization vector used in encryption, and generating an encryption / decryption key.

[0145] Then, the user terminal (100) can encrypt data including the user's security information using the public key. More specifically, the user terminal (100) encrypts data including the security information input by the user (various types of values ​​such as touch coordinates, key layout index, etc.) using the public key transmitted from the virtual security keypad server (200).

[0146] Then, the user terminal (100) transmits data including the encrypted user's security information to the virtual security keypad server (200).

[0147] The virtual security keypad server 200 can verify the forgery of the transmitted data. More specifically, the virtual security keypad server 200 can verify the integrity of the encrypted data by checking the hash value of the encrypted data.

[0148] In addition, the virtual security keypad server (200) can generate a virtual security keypad area using a random number. Specifically, the virtual security keypad server (200) can generate an area for each key on the same virtual security keypad as the user terminal (100) using a noise-based random number.

[0149] Thereafter, the virtual security keypad server (200) can decrypt the data including the user's security information using the private key. Specifically, the virtual security keypad server (200) can decrypt the transmitted encrypted data using the private key that the virtual security keypad server (200) has.

[0150] Finally, the virtual security keypad server (200) can derive the original value of the user's security information from the decrypted data. Specifically, the virtual security keypad server (200) can derive the original value of the data including the user's security information by using the data including the decrypted user's security information and the virtual security keypad array generated in the same area as the user terminal (100).

[0151] The method and apparatus for generating a virtual security keypad according to one embodiment of the present invention has been described as generating unpredictable random numbers using noise in the user's surrounding environment as a seed for random number generation.

[0152] However, data used as a seed for random number generation is not limited to noise, and various data obtained through the user terminal (100) can be used as a seed. For example, personal characteristic data of a user, such as a pupil position of the user, obtained through a camera of the user terminal (100), can be used as a seed for random number generation. In addition, data such as a user's fingerprint obtained through a fingerprint touchpad of the user terminal (100) can be used as a seed for random number generation.

[0153] Thus, although the disclosed invention has been described using noise as an example, various types of data related to the data that can be collected from the user terminal (100) and that can generate unpredictable random numbers can be used as a random number seed.

[0154] In the above-mentioned embodiment, the other noise-based virtual security keypad generation method and apparatus was described as generating a virtual security keypad using unpredictable random numbers, but the application area of ​​the random numbers is not limited thereto, and the method and apparatus can be used for any technology that can utilize random numbers.

[0155] For example, the random numbers extracted by the disclosed invention can be used not only for generating the virtual security keypad described above, but also in various technical fields that utilize randomly generated random numbers, such as temporary password generation, simulation and mock experiments of various situations, game development, system testing and verification, and machine learning, to model randomness and diversity and provide statistical sampling and variation.

[0156] The method and apparatus for generating a virtual security keypad using noise-based random numbers according to one embodiment utilizes noise in the user's surrounding environment as a seed for random number generation, generating unpredictable random numbers unlike existing random number generation methods based on system time or specific patterns, and thus has the technical advantage of being secure against man-in-the-middle attacks.

[0157] In addition, the method and apparatus for generating a virtual security keypad using noise-based random numbers according to one embodiment has the technical advantage that the terminal and the server do not directly exchange random numbers, but instead transmit and receive measured noise via the terminal and generate random numbers individually based on the noise, and therefore the generated random numbers are not exposed during data transmission and reception.

[0158] In addition, the method and apparatus for generating a virtual security keypad using noise-based random numbers according to one embodiment has the technical advantage of being able to generate a virtual security keypad with enhanced confidentiality, since the server transmits only a random-number-based public key to the user terminal using an asymmetric key cryptography method.

[0159] Meanwhile, the components, units, modules, components, etc. described in the "~" section of this specification may be embodied together or separately as separate but interoperable logic devices. The depiction of different features for modules, units, etc. is intended to highlight different functional embodiments and does not necessarily imply that they should be realized by separate hardware or software components. Rather, functionality associated with one or more modules or units may be performed by separate hardware or software components or integrated within a common or separate hardware or software component.

[0160] Although acts are shown in the figures in a particular order, it should not be understood that these acts must be performed in the particular order shown, or in a sequential order, or that all of the acts shown must be performed to achieve the desired results. In any environment, multitasking and parallel processing may be advantageous. Furthermore, the division of various components in the above-described embodiments should not be understood as requiring such distinctions in all embodiments, and it should be understood that the described components may be integrated into a common single software product or packaged as multiple software products.

[0161] Terminal device programs (also known as programs, software, software applications, scripts, or code) may be written in any form in any programming language, including compiled or interpreted languages, or a priori or procedural languages, and may be deployed in any form, including stand-alone programs, modules, components, subroutines, or other units adapted for use in a terminal environment.

[0162] Additionally, the logic flows and structural block diagrams described in this patent document illustrate corresponding acts and / or specific methods with the aid of corresponding functions and steps with the aid of the disclosed structural means, and may be used to construct corresponding software structures and algorithms and their equivalents.

[0163] The processes and logic flows described herein are executable by one or more programmable processors executing one or more terminal programs to perform functions by operating on input data and generating output.

[0164] This written description sets forth the best mode of the invention and provides examples to explain the invention and to enable one skilled in the art to make and use the invention. The specification thus written is not intended to limit the invention to the specific terms set forth.

[0165] Although the present invention has been described above with reference to preferred embodiments thereof, it will be understood that a person skilled in the art or having ordinary knowledge in the art can modify and change the present invention in various ways without departing from the spirit and technical scope of the present invention as described in the claims below.

[0166] Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification, but should be defined by the claims. [Explanation of symbols]

[0167] 100: User terminal 111: Noise measurement module 112: First noise conversion module 200: Virtual security keypad server 211: Second noise conversion module 212: Encryption / decryption key generation module

Claims

1. A user terminal including a noise measurement module that measures noise around a user, and a first noise conversion module that generates a random number based on the noise measured by the noise measurement module; and A virtual security keypad server including: a second noise conversion module for receiving the noise measured by the user terminal and generating a random number based on the received noise; and an encryption / decryption key generation module for generating an encryption / decryption key based on the random number generated by the second noise conversion module. A virtual security keypad generation system using noise-based random numbers.

2. The random numbers generated by the first noise conversion module and the random numbers generated by the second noise conversion module are generated with the same value. The noise-based random number generating system for generating a virtual security keypad according to claim 1.

3. The user terminal, and an encryption processing module for receiving the public key information generated by the encryption / decryption key generating module and encrypting user security information input to the virtual security keypad based on the public key information. The noise-based random number generating system for generating a virtual security keypad according to claim 1.

4. The virtual security keypad server includes: A decryption processing module receives the encrypted user security information from the user terminal and decrypts the user security information based on the secret key information generated by the encryption / decryption key generation module. The noise-based random number generating system for generating a virtual security keypad according to claim 1.

5. The encryption / decryption key generation module includes: The encryption / decryption key is generated as a pair of a public key and a private key, and only the public key is transmitted to the user terminal. The noise-based random number generating system for generating a virtual security keypad according to claim 1.

6. Measuring noise around a user via a user terminal; transmitting the noise from the user terminal to a virtual security keypad server; generating random numbers by the user terminal and the virtual security keypad server based on the noise; generating a virtual security keypad based on the random number and displaying the virtual security keypad to the user; encrypting and transmitting the user's security information entered via the virtual security keypad to the virtual security keypad server; and decrypting the encrypted data. A method for generating a virtual security keypad using noise-based random numbers.

7. The step of decrypting the encrypted data includes: generating, in the virtual security keypad server, a virtual security keypad having the same arrangement as the virtual security keypad generated in the user terminal, The method for generating a virtual security keypad using noise-based random numbers according to claim 6.

Citation Information

Patent Citations

  • Household appliance data encryption method and device

    CN116186722A

  • Cellular phone and information device system using this cellular phone

    JP2006092476A

  • Information transmission using virtual input layout

    JP2011527804A

  • Power supply apparatus and method of the same

    KR1020210107357A

  • Method for generating a cryptographic key

    US20080019514A1