KR102118476B1 - Device and method to process password input from user - Google Patents
Device and method to process password input from user Download PDFInfo
- Publication number
- KR102118476B1 KR102118476B1 KR1020180098165A KR20180098165A KR102118476B1 KR 102118476 B1 KR102118476 B1 KR 102118476B1 KR 1020180098165 A KR1020180098165 A KR 1020180098165A KR 20180098165 A KR20180098165 A KR 20180098165A KR 102118476 B1 KR102118476 B1 KR 102118476B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- random number
- storage medium
- input values
- user terminal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
Abstract
본 발명의 실시 예에 따른 사용자 단말기는 디스플레이 장치, 저장 매체, 및 디스플레이 장치 및 저장 매체를 제어하도록 구성되는 컨트롤러를 포함한다. 컨트롤러는 랜덤 넘버를 제공하도록 구성되는 랜덤 넘버 생성기, 복수의 버튼 영역들을 포함하는 가상 키패드를 디스플레이 장치에 표시하되 랜덤 넘버에 따라 가상 키패드의 배열을 변경하고 복수의 버튼 영역들을 비밀번호로 선택하는 사용자 입력들에 응답하여 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하도록 구성되는 가상 키패드 드라이버, 그리고 랜덤 넘버에 기반한 제 1 데이터와 입력값들에 기반한 제 2 데이터를 외부 서버 및 저장 매체에 분산 저장하도록 구성되는 로컬 컨트롤러를 포함한다.A user terminal according to an embodiment of the present invention includes a display device, a storage medium, and a controller configured to control the display device and the storage medium. The controller displays a random number generator configured to provide a random number and a virtual keypad including a plurality of button areas on a display device, but changes the arrangement of the virtual keypad according to the random number and selects a plurality of button areas as a password A virtual keypad driver configured to determine input values respectively corresponding to the selected button regions in response to the data, and to distribute the first data based on the random number and the second data based on the input values to an external server and a storage medium It includes a configured local controller.
Description
본 발명은 네트워크 시스템에 관한 것으로, 좀 더 구체적으로는 사용자로부터 입력되는 비밀번호를 처리하기 위한 장치들 및 방법들에 관한 것이다.The present invention relates to a network system, and more particularly, to an apparatus and methods for processing a password input from a user.
최근 데이터 통신망의 발달로 인하여 많은 사람들이 인터넷을 이용하며, 이에 따라 인터넷을 이용한 다양한 서비스들이 제공되고 있다. 이러한 서비스들 중 일부는 사용자 인증을 위해 비밀번호를 요구하며, 따라서 사용자가 입력한 비밀번호가 해킹 등의 공격으로부터 유출되지 않도록 하기 위해 비밀번호에 대한 높은 보안성이 요구된다. 예를 들면, 이러한 요구에 따라 사용자가 입력한 비밀번호는 암호화되어 전송될 수 있다.Recently, due to the development of data communication networks, many people use the Internet, and accordingly various services using the Internet are provided. Some of these services require passwords for user authentication, and therefore high security of passwords is required to prevent passwords entered by users from leaking attacks. For example, the password entered by the user according to this request may be encrypted and transmitted.
비밀번호에 대한 보안성을 더 향상시키기 위해, 가상 키패드가 제공될 수 있다. 가상 키패드의 배열은 그것이 생성될 때마다 변하며, 사용자가 가상 키패드의 버튼들을 비밀번호로서 선택할 때 비밀번호와 연관된 데이터가 결정(혹은 생성)된다. 비밀번호와 연관된 데이터는 추가적으로 암호화될 수 있으며, 비밀번호와 연관된 데이터 혹은 추가적으로 암호화된 데이터는 비밀번호를 대체하여 전송될 수 있다. 가상 키패드의 배열이 그것이 생성될 때마다 변하는 것은, 비밀번호와 연관된 데이터가 비밀번호 자체보다 더 향상된 보안성을 가짐을 의미할 수 있다.In order to further improve the security of the password, a virtual keypad can be provided. The arrangement of the virtual keypad changes each time it is created, and data associated with the password is determined (or generated) when the user selects the buttons of the virtual keypad as a password. Data associated with the password may be additionally encrypted, and data associated with the password or additionally encrypted data may be transmitted by replacing the password. Changing the arrangement of the virtual keypad each time it is created may mean that the data associated with the password has more security than the password itself.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.The above description is only to assist in understanding the background of the technical ideas of the present invention, and therefore it cannot be understood as the content corresponding to the prior art known to those skilled in the art of the present invention.
본 발명의 실시 예들은 사용자에 의해 입력된 비밀번호 및 비밀번호와 연관된 데이터에 대한 향상된 보안성을 제공하는 장치 및 방법을 제공하기 위한 것이다.Embodiments of the present invention are to provide an apparatus and method for providing improved security for passwords and data associated with passwords input by a user.
본 발명의 실시 예에 따른 사용자로부터 입력되는 비밀번호를 처리하기 위한 사용자 단말기는, 디스플레이 장치; 저장 매체; 및 상기 디스플레이 장치 및 상기 저장 매체를 제어하도록 구성되는 컨트롤러를 포함한다. 상기 컨트롤러는, 랜덤 넘버를 제공하도록 구성되는 랜덤 넘버 생성기; 복수의 버튼 영역들을 포함하는 가상 키패드를 상기 디스플레이 장치에 표시하되, 상기 랜덤 넘버에 따라 상기 가상 키패드의 배열을 변경하고, 상기 복수의 버튼 영역들을 상기 비밀번호로 선택하는 사용자 입력들에 응답하여 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하도록 구성되는 가상 키패드 드라이버; 및 상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터를 외부 서버 및 상기 저장 매체에 분산 저장하도록 구성되는 로컬 컨트롤러를 포함한다.A user terminal for processing a password input from a user according to an embodiment of the present invention includes: a display device; Storage media; And a controller configured to control the display device and the storage medium. The controller includes a random number generator configured to provide a random number; The virtual keypad including a plurality of button areas is displayed on the display device, the array of the virtual keypad is changed according to the random number, and the selected is selected in response to user inputs selecting the plurality of button areas as the password. A virtual keypad driver configured to determine input values respectively corresponding to the button regions; And a local controller configured to distributely store the first data based on the random number and the second data based on the input values to an external server and the storage medium.
상기 로컬 컨트롤러는 상기 랜덤 넘버를 암호화하고 상기 입력값들을 암호화하도록 구성되는 암호화기를 포함하되, 상기 제 1 데이터는 상기 암호화된 랜덤 넘버를 포함하고, 상기 제 2 데이터는 상기 암호화된 입력값들을 포함할 수 있다.The local controller includes an encryptor configured to encrypt the random number and encrypt the input values, wherein the first data includes the encrypted random number, and the second data includes the encrypted input values. Can be.
상기 암호화기는 상기 랜덤 넘버 및 상기 입력값들을 RSA 알고리즘을 통해 암호화하도록 구성될 수 있다.The encryptor may be configured to encrypt the random number and the input values through an RSA algorithm.
본 발명의 다른 실시 예에 따른 사용자로부터 입력되는 비밀번호를 처리하기 위한 사용자 단말기는, 디스플레이 장치; 저장 매체; 및 상기 디스플레이 장치 및 상기 저장 매체를 제어하도록 구성되는 프로세서를 포함한다. 상기 프로세서는, 복수의 버튼 영역들을 포함하는 가상 키패드를 상기 디스플레이 장치에 표시하되, 제 1 커맨드 신호에 응답하여 생성되는 랜덤 넘버에 따라 상기 가상 키패드의 배열을 변경하고; 상기 복수의 버튼 영역들을 상기 비밀번호로 선택하는 사용자 입력들에 응답하여 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하고; 상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터를 외부 서버 및 상기 저장 매체에 분산 저장하도록 구성된다.A user terminal for processing a password input from a user according to another embodiment of the present invention, a display device; Storage media; And a processor configured to control the display device and the storage medium. The processor displays a virtual keypad including a plurality of button regions on the display device, and changes the arrangement of the virtual keypad according to a random number generated in response to a first command signal; Determine input values respectively corresponding to the selected button regions in response to user inputs selecting the plurality of button regions as the password; It is configured to distribute the first data based on the random number and the second data based on the input values to an external server and the storage medium.
상기 사용자 단말기는 네트워크를 통해 상기 외부 서버와 통신하도록 구성되는 통신기를 더 포함하되, 상기 프로세서는 상기 제 1 데이터를 상기 통신기를 통해 상기 외부 서버에 저장하고 상기 제 2 데이터를 상기 저장 매체에 저장하도록 구성될 수 있다.The user terminal further includes a communicator configured to communicate with the external server through a network, wherein the processor stores the first data in the external server through the communicator and stores the second data in the storage medium. Can be configured.
상기 프로세서는, 제 2 커맨드 신호에 응답하여 상기 외부 서버에 액세스하여 상기 제 1 데이터를 획득하고; 상기 획득된 제 1 데이터에 기반하여 상기 랜덤 넘버를 복원하고 상기 저장 매체로부터 독출된 제 2 데이터에 기반하여 상기 입력값들을 복원하도록 구성될 수 있다.The processor accesses the external server in response to a second command signal to obtain the first data; It may be configured to restore the random number based on the obtained first data and restore the input values based on the second data read from the storage medium.
상기 프로세서는, 상기 복원된 랜덤 넘버와 상기 복원된 입력값들에 따라 상기 비밀번호를 복원하도록 구성될 수 있다.The processor may be configured to restore the password according to the restored random number and the restored input values.
상기 프로세서는 상기 획득된 제 1 데이터를 복호화하고 상기 독출된 제 2 데이터를 복호화하도록 구성되고, 상기 복호화된 제 1 데이터는 상기 복원된 랜덤 넘버를 포함하고, 상기 복호화된 제 2 데이터는 상기 복원된 입력값들을 포함할 수 있다.The processor is configured to decrypt the acquired first data and decrypt the read second data, the decoded first data includes the restored random number, and the decoded second data is the restored data It may include input values.
상기 사용자 단말기는 네트워크를 통해 상기 외부 서버와 통신하도록 구성되는 통신기를 더 포함하되, 상기 프로세서는 상기 제 1 데이터를 상기 저장 매체에 저장하고 상기 제 2 데이터를 상기 통신기를 통해 상기 외부 서버에 저장하도록 구성될 수 있다.The user terminal further includes a communicator configured to communicate with the external server through a network, wherein the processor stores the first data in the storage medium and stores the second data in the external server through the communicator. Can be configured.
본 발명의 다른 일면은 사용자로부터 입력되는 비밀번호를 처리하기 위한 방법에 관한 것이다. 상기 방법은, 제 1 커맨드 신호에 응답하여 랜덤 넘버를 생성하는 단계; 복수의 버튼 영역들을 포함하는 가상 키패드를 디스플레이 장치에 표시하되, 상기 랜덤 넘버에 따라 상기 가상 키패드의 배열은 변경되는, 단계; 상기 복수의 버튼 영역들을 상기 비밀번호로 선택하는 사용자 입력들에 응답하여, 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하는 단계; 및 상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터를 외부 서버 및 내부 저장 매체에 분산 저장하는 단계를 포함한다.Another aspect of the present invention relates to a method for processing a password input from a user. The method includes generating a random number in response to a first command signal; Displaying a virtual keypad including a plurality of button regions on a display device, wherein the arrangement of the virtual keypad is changed according to the random number; Determining input values respectively corresponding to the selected button regions in response to user inputs selecting the plurality of button regions as the password; And distributedly storing the first data based on the random number and the second data based on the input values on an external server and an internal storage medium.
상기 분산 저장하는 단계는, 상기 제 1 데이터를 네트워크를 통해 상기 외부 서버에 저장하는 단계; 및 상기 제 2 데이터를 상기 내부 저장 매체에 저장하는 단계를 포함할 수 있다.The distributed storage may include storing the first data in the external server through a network; And storing the second data in the internal storage medium.
상기 방법은, 제 2 커맨드 신호에 응답하여, 상기 네트워크를 통해 상기 외부 서버에 액세스하여 상기 제 1 데이터를 획득하는 단계; 상기 획득된 제 1 데이터에 기반하여 상기 랜덤 넘버를 복원하는 단계; 상기 저장 매체로부터 상기 제 2 데이터를 독출하는 단계; 및 상기 독출된 상기 제 2 데이터에 기반하여 상기 입력값들을 복원하는 단계를 더 포함할 수 있다.The method comprises: in response to a second command signal, accessing the external server through the network to obtain the first data; Restoring the random number based on the obtained first data; Reading the second data from the storage medium; And restoring the input values based on the read second data.
상기 방법은, 상기 복원된 랜덤 넘버와 상기 복원된 입력값들에 따라 상기 비밀번호를 복원하는 단계를 더 포함할 수 있다.The method may further include restoring the password according to the restored random number and the restored input values.
본 발명의 또 다른 일면은 사용자 단말기에 프로그램 코드들을 제공하는 클라이언트 서버에 관한 것이다. 상기 클라이언트 서버는, 통신기; 상기 통신기를 통해 사용자 단말기와 통신하도록 구성되는 프로세서; 및 상기 사용자 단말기에 의해 실행될 프로그램 코드들을 저장하는 데이터베이스를 포함한다. 상기 프로그램 코드들은, 복수의 버튼 영역들을 포함하는 가상 키패드를 상기 사용자 단말기의 디스플레이 장치에 표시하되, 랜덤 넘버에 따라 상기 가상 키패드의 배열을 변경하기 위한 제 1 명령어들; 상기 복수의 버튼 영역들을 비밀번호로 선택하는 사용자 입력들에 응답하여 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하기 위한 제 2 명령어들; 상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터를 상기 사용자 단말기의 외부 서버 및 상기 사용자 단말기의 내부 저장 매체에 분산 저장하기 위한 제 3 명령어들을 포함한다.Another aspect of the invention relates to a client server that provides program codes to a user terminal. The client server includes a communicator; A processor configured to communicate with a user terminal through the communicator; And a database storing program codes to be executed by the user terminal. The program codes include first instructions for displaying a virtual keypad including a plurality of button regions on a display device of the user terminal, and changing the arrangement of the virtual keypad according to a random number; Second commands for determining input values respectively corresponding to the selected button areas in response to user inputs selecting the plurality of button areas as a password; And third commands for distributedly storing the first data based on the random number and the second data based on the input values on an external server of the user terminal and an internal storage medium of the user terminal.
상기 제 3 명령어들은, 상기 제 1 데이터를 상기 외부 서버에 저장하고 상기 제 2 데이터를 상기 내부 저장 매체에 저장하기 위한 명령어들을 포함할 수 있다.The third instructions may include instructions for storing the first data in the external server and storing the second data in the internal storage medium.
상기 프로그램 코드들은, 상기 외부 서버에 액세스하여 상기 제 1 데이터를 획득하고; 상기 획득된 제 1 데이터에 기반하여 상기 랜덤 넘버를 복원하고; 상기 저장 매체로부터 상기 제 2 데이터를 독출하고; 상기 독출된 상기 제 2 데이터에 기반하여 상기 입력값들을 복원하기 위한 제 4 명령어들을 더 포함할 수 있다.The program codes access the external server to obtain the first data; Restore the random number based on the obtained first data; Reading the second data from the storage medium; Further, fourth instructions for restoring the input values based on the read second data may be further included.
상기 프로그램 코드들은, 상기 복원된 랜덤 넘버와 상기 복원된 입력값들에 따라 상기 비밀번호를 복원하기 위한 제 5 명령어들을 더 포함할 수 있다.The program codes may further include fifth instructions for restoring the password according to the restored random number and the restored input values.
본 발명의 실시 예들에 따르면, 사용자에 의해 입력된 비밀번호 및 비밀번호와 연관된 데이터에 대한 향상된 보안성을 제공하는 장치 및 방법이 제공된다.According to embodiments of the present invention, an apparatus and method are provided that provide improved security for passwords and data associated with passwords entered by a user.
도 1은 본 발명의 실시 예에 따른 네트워크 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 사용자 단말기를 보여주는 블록도이다.
도 3은 사용자 단말기에 디스플레이되는 가상 키패드를 포함하는 화면의 실시 예를 보여주는 도면이다.
도 4는 가상 키패드의 문자 버튼들에 각각 대응하는 입력값들을 보여주는 테이블이다.
도 5는 랜덤 넘버와 입력값 세트를 저장하는 방법을 설명하기 위한 블록도이다.
도 6은 본 발명의 실시 예에 따라 사용자 단말기에서 사용자로부터 입력되는 비밀번호를 처리하는 방법을 보여주는 순서도이다.
도 7은 본 발명의 실시 예에 따른 비밀번호를 제공하는 제공하는 방법을 보여주는 순서도이다.
도 8은 본 발명의 다른 실시 예에 따른 사용자 단말기를 보여주는 블록도이다.
도 9는 도 8의 사용자 단말기와 통신할 수 있는 클라이언트 서버를 보여주는 블록도이다.1 is a block diagram showing a network system according to an embodiment of the present invention.
2 is a block diagram showing a user terminal according to an embodiment of the present invention.
3 is a view showing an embodiment of a screen including a virtual keypad displayed on a user terminal.
4 is a table showing input values respectively corresponding to character buttons of a virtual keypad.
5 is a block diagram illustrating a method of storing a set of random numbers and input values.
6 is a flowchart illustrating a method of processing a password input from a user in a user terminal according to an embodiment of the present invention.
7 is a flowchart illustrating a method of providing a password according to an embodiment of the present invention.
8 is a block diagram showing a user terminal according to another embodiment of the present invention.
9 is a block diagram illustrating a client server capable of communicating with the user terminal of FIG. 8.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only parts necessary for understanding the operation according to the present invention are described, and descriptions of other parts will be omitted so as not to obscure the subject matter of the present invention. In addition, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, the embodiments described herein are provided to explain in detail that the technical spirit of the present invention can be easily carried out to a person having ordinary knowledge in the technical field to which the present invention pertains.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 여기에서 사용된 용어는 특정한 실시예들을 설명하기 위한 것이며 본 발명을 한정하기 위한 것이 아니다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. "X, Y, 및 Z 중 적어도 어느 하나", 그리고 "X, Y, 및 Z로 구성된 그룹으로부터 선택된 적어도 어느 하나"는 X 하나, Y 하나, Z 하나, 또는 X, Y, 및 Z 중 둘 또는 그 이상의 어떤 조합 (예를 들면, XYZ, XYY, YZ, ZZ) 으로 해석될 수 있다. 여기에서, "및/또는"은 해당 구성들 중 하나 또는 그 이상의 모든 조합을 포함한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "indirectly connected" with another element in between. . The terminology used herein is for describing specific embodiments and is not intended to limit the present invention. Throughout the specification, when a part “includes” a certain component, this means that other components may be further included rather than excluding other components unless specifically stated to the contrary. "At least one of X, Y, and Z" and "at least one selected from the group consisting of X, Y, and Z" are X one, one Y, one Z, or two of X, Y, and Z, or Any further combination (eg, XYZ, XYY, YZ, ZZ) can be interpreted. Here, “and/or” includes all combinations of one or more of the configurations.
도 1은 본 발명의 실시 예에 따른 네트워크 시스템을 보여주는 블록도이다.1 is a block diagram showing a network system according to an embodiment of the present invention.
도 1을 참조하면, 네트워크 시스템(1)은 네트워크(5), 사용자 단말기(10), 웹 서버(20), 및 저장 서버(30)를 포함한다.Referring to FIG. 1, the
네트워크 시스템(1)은 여기에 설명된 본 발명의 실시 예들에 따른 다양한 방법들을 수행하도록 동작하는 복수의 장치들, 서버들, 및/또는 소프트웨어 구성들을 포함할 수 있다. 도 1에 도시된 장치들 및/또는 서버들은 다른 방식들로 구성될 수 있으며, 장치들 및/또는 서버들에 의해 제공되는 동작들 및 서비스들은 여기에 설명된 실시 예들을 위해 결합되거나 분리될 수 있으며, 더 많은 수 혹은 더 적은 수의 장치들 및/또는 서버들에 의해 수행될 수 있다. 하나 또는 그 이상의 장치들 및/또는 서버들은 동일 혹은 상이한 기업체들에 의해 구동 및/또는 유지될 수 있다.The
네트워크(5)는 사용자 단말기(10), 웹 서버(20), 및 저장 서버(30)와 같은 네트워크 시스템(1) 내 다양한 구성 요소들을 연결한다. 네트워크(5)는 공용 네트워크(public network), 적어도 하나의 사설 네트워크(private network), 유선 네트워크, 무선 네트워크, 다른 적절한 타입의 네트워크, 및 그것들의 조합들 중 적어도 하나를 포함할 수 있다.The
사용자 단말기(10)는 네트워크(5)를 통해 웹 서버(20) 및 저장 서버(30)와 통신할 수 있다. 사용자 단말기(10)는 웹 서버(20)에 액세스하여 사용자 아이디를 등록하고 웹 서버(20)가 제공하는 서비스들을 이용하기 위한 동작들을 수행하도록 구성된다.The
실시 예들에서, 사용자 단말기(110)는 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone) 등과 같이 정보를 유선 및/또는 무선 환경에서 송수신할 수 있는 컴퓨터 장치일 수 있다.In embodiments, the
웹 서버(20)는 네트워크(5)를 통해 사용자 단말기(10)와 통신하여 다양한 서비스들을 제공할 수 있다. 웹 서버(20)는 서비스들 중 일부를 제공하기 전에, 사용자 인증을 위한 데이터를 사용자 단말기(10)에 요청할 수 있다. 사용자 단말기(10)는 사용자가 비밀번호를 입력할 때 입력된 비밀번호를 처리하고, 처리된 데이터를 비밀번호와 연관된 데이터로서 웹 서버(20)에 전송할 수 있다. 웹 서버(20)는 전송된 데이터를 이용하여 사용자 인증을 수행할 수 있다.The
사용자가 입력하는 비밀번호에 대한 보안성을 향상시키기 위해, 사용자 단말기(10)는 가상 키패드를 사용자 인터페이스로서 제공할 수 있다. 사용자 단말기(10)는 가상 키패드를 호출하는 커맨드 신호가 내부적으로 생성될 때, 생성된 커맨드 신호에 응답하여 랜덤 넘버를 생성하고, 생성된 랜덤 넘버에 따라 변하는 배열을 갖는 가상 키패드를 생성 및 디스플레이할 수 있다. 사용자 단말기(10)는 가상 키패드에 포함된 버튼 영역들을 선택하는 사용자 입력들을 비밀번호로서 수신할 때, 선택된 버튼들에 각각 할당된 입력값들을 결정할 수 있다. 랜덤 넘버 및 입력값들은 비밀번호와 연관된 데이터로서 제공될 수 있다.In order to improve security for a password input by a user, the
랜덤 넘버 및 입력값들은 다양한 방식들에 따라 더 처리될 수 있으며, 본 발명의 실시 예들은 여기에 한정되지 않는다. 예를 들면, 랜덤 넘버 및 입력값들은 암호화될 수 있다. 예를 들면, 웹 서버(20)가 디지털 서명된 공인인증서를 요청하는 경우, 랜덤 넘버와 입력값들을 이용하여 공인인증서에 디지털 서명하고 디지털 서명된 공인인증서를 웹 서버(20)에 전송할 수 있다.Random numbers and input values may be further processed according to various methods, and embodiments of the present invention are not limited thereto. For example, random numbers and input values can be encrypted. For example, when the
저장 서버(30)는 네트워크(5)를 통해 사용자 단말기와 통신할 수 있다. 저장 서버(30)는 사용자 단말기(10)가 액세스하여 데이터를 저장할 수 있는 저장 공간을 제공한다.The
도 2는 본 발명의 실시 예에 따른 사용자 단말기를 보여주는 블록도이다. 도 3은 사용자 단말기에 디스플레이되는 가상 키패드를 포함하는 화면의 실시 예를 보여주는 도면이다. 도 4는 가상 키패드의 문자 버튼들에 각각 대응하는 입력값들을 보여주는 테이블이다. 도 5는 랜덤 넘버와 입력값 세트를 저장하는 방법을 설명하기 위한 블록도이다.2 is a block diagram showing a user terminal according to an embodiment of the present invention. 3 is a view showing an embodiment of a screen including a virtual keypad displayed on a user terminal. 4 is a table showing input values respectively corresponding to character buttons of a virtual keypad. 5 is a block diagram illustrating a method of storing a set of random numbers and input values.
도 2를 참조하면, 사용자 단말기(100)는 제 1 내지 제 3 인터페이스들(101, 102, 103), 컨트롤러(110), 디스플레이 장치(120), 저장 매체(130), 및 통신기(140)를 포함할 수 있다.Referring to FIG. 2, the
컨트롤러(110)는 제 1 내지 제 3 인터페이스들(101~103)을 통해 디스플레이 장치(120), 저장 매체(130), 및 통신기(140)와 각각 통신할 수 있다. 실시 예들에서, 제 1 내지 제 3 인터페이스들(101~103)은 사용자 단말기(100)에 포함된 시스템 버스의 구성 요소들로서 제공될 수 있다. 제 1 인터페이스(101)는 컨트롤러(110)와 디스플레이 장치(120) 사이의 통신 인터페이스를 제공한다. 제 2 인터페이스(102)는 컨트롤러(110)와 저장 매체(130) 사이의 통신 인터페이스를 제공한다. 제 3 인터페이스(103)는 컨트롤러(110)와 통신기(140) 사이의 통신 인터페이스를 제공한다.The
컨트롤러(110)는 로컬 컨트롤러(111), 랜덤 넘버 생성기(112), 및 가상 키패드 드라이버(113)를 포함한다. 로컬 컨트롤러(111)는 채널(CH)을 통해 사용자 단말기(100) 내 다른 구성 요소들과 통신할 수 있다. 로컬 컨트롤러(111)는 채널(CH)을 통해 수신되는 커맨드 신호들에 응답하여 동작할 수 있다. 로컬 컨트롤러(111)는 채널(CH)을 통해 가상 키패드를 호출하는 제 1 커맨드 신호가 수신될 때, 제 1 제어 신호(CTRL1)를 출력하여 랜덤 넘버를 출력하도록 랜덤 넘버 생성기(112)를 제어할 수 있다. 로컬 컨트롤러(110)는 제 2 제어 신호(CTRL2)를 출력하여 가상 키패드를 생성하도록 가상 키패드 드라이버(113)를 제어할 수 있다.The
랜덤 넘버 생성기(112)는 제 1 제어 신호(CTRL1)에 응답하여 랜덤 넘버를 생성하도록 구성된다. 도 2에서, 랜덤 넘버 생성기(112)는 컨트롤러(110)에 포함되는 것으로 도시된다. 그러나 이는 예시적인 것으로, 랜덤 넘버 생성기(112)는 컨트롤러(110)의 외부에 배치되어 사용자 단말기(100)의 다른 구성 요소에 포함될 수 있다.The
랜덤 넘버는 다양한 방식들에 따라 생성될 수 있다. 예를 들면, 랜덤 넘버는 타임 스탬프일 수 있다. 다른 예로서, 랜덤 넘버는 타임 스탬프를 입력값으로 이용하여 연산된 출력값일 수 있다. 랜덤 넘버 생성기(112)는 생성된 랜덤 넘버(RD)를 가상 키패드 드라이버(113)에 전송한다.The random number can be generated according to various methods. For example, the random number may be a time stamp. As another example, the random number may be an output value calculated using a time stamp as an input value. The
가상 키패드 드라이버(113)는, 제 2 제어 신호(CTRL2)에 응답하여, 랜덤 넘버(RD)에 따라 가상 키패드를 생성하고 생성된 가상 키패드를 제 1 인터페이스(101)를 통해 디스플레이 장치(120)에 디스플레이하도록 구성된다. 가상 키패드 드라이버(113)는 수신되는 랜덤 넘버(RD)에 따라 가상 키패드의 배열을 변경한다.The
도 2와 함께 도 3을 참조하면, 사용자 단말기(100)에 디스플레이되는 화면은 비밀번호 표시 영역(210) 및 가상 키패드(220)를 포함한다. 가상 키패드(220)는 비밀번호 입력 영역(230)을 포함하며, 비밀번호 입력 영역(230)은 복수의 버튼 영역들을 포함한다. 버튼 영역들 각각은 문자(221)로 채워지거나, 비활성(inactive) 심볼(222)로 제공될 수 있다. 비밀번호 입력 영역(230)의 버튼 영역을 선택하는 사용자 입력이 수신될 때마다, 비밀번호 표시 영역(210)에 선택된 버튼 영역에 대응하는 문자(221)가 표시될 수 있다. 또는, 사용자가 아닌 다른 사람에 의해 비밀번호가 인식되는 것을 방지하기 위해, 선택된 버튼 영역에 대응하는 문자 대신 적절한 심볼이 비밀번호 표시 영역(210)에 표시될 수 있다. 비활성 심볼(222)로 제공되는 버튼 영역은 비밀번호로서 선택될 수 없을 수 있다. 도 3에서, 비활성 심볼(222)로 제공되는 버튼 영역들은 사선으로 패터닝되어 있다.Referring to FIG. 3 together with FIG. 2, a screen displayed on the
비밀번호 입력 영역(230)의 버튼 영역들에 채워지는 문자들(221) 및 비활성 심볼들(222)의 배열은 랜덤 넘버(RD)에 따라 변경된다. 문자들(221) 및 비활성 심볼들(222)의 배열은 다양한 방식들에 따라 결정될 수 있으며, 본 발명의 실시 예들은 여기에 한정되지 않는다. 예를 들면, 랜덤 넘버(RD)에 따라 비활성 심볼들(222)의 개수 및/또는 위치들이 결정되고, 나머지 버튼 영역들에 문자들(221)이 채워질 수 있다. 문자들(221)이 채워지는 버튼 영역들의 배열은 마찬가지로 랜덤 넘버(RD)에 따라 변경될 수 있다.The arrangement of
가상 키패드(220)는 재배열(rearrange) 버튼(223), 엔터(enter) 버튼(224), 및 기타 필요한 버튼들을 더 포함할 수 있다. 재배열 버튼(223)을 선택하는 사용자 입력에 응답하여, 위 설명된 제 1 커맨드 신호가 재생성될 수 있다. 컨트롤러(110)는 재생성된 제 1 커맨드 신호에 응답하여 제 1 제어 신호(CTRL1)를 출력하며, 랜덤 넘버 생성기(112)는 제 1 제어 신호(CTRL1)에 응답하여 랜덤 넘버(RD)를 재생성할 수 있다. 가상 키패드 드라이버(113)는 재생성된 랜덤 넘버(RD)에 따라 상이한 배열을 갖는 비밀번호 입력 영역(230)을 포함하는 가상 키패드(220)를 제공한다. 엔터 버튼(224)을 선택하는 사용자 입력에 응답하여, 비밀번호 입력 영역(230)의 선택된 버튼 영역들의 문자들(221)이 비밀번호로 결정될 수 있다.The
가상 키패드 드라이버(113)는 가상 키패드(220)를 이용해 비밀번호를 선택하는 사용자 입력에 응답하여, 비밀번호 입력 영역(230)의 선택된 버튼 영역들에 각각 대응하는 입력값들을 입력값 세트(INVS)로서 로컬 컨트롤러(111)에 전송한다. 도 4를 참조하면, 비밀번호 입력 영역(230)에 포함된 제 1 내지 제 m 버튼 영역들(BTN1~BTNm)은 각각 제 1 내지 제 m 입력값들(INV1~INVm)에 대응한다(m은 1보다 크거나 같은 정수). 제 1 내지 제 m 버튼 영역들(BTN1~BTNm) 중 적어도 일부가 비밀번호로 선택될 때, 해당 입력값들이 특정될 수 있다. 가상 키패드 드라이버(113)는 특정된 입력값들을 입력값 세트(INVS)로서 출력할 수 있다.The
다시 도 2를 참조하면, 로컬 컨트롤러(111)는 랜덤 넘버 생성기(112)에 의해 생성된 랜덤 넘버(RD) 및 가상 키패드 드라이버(113)에 의해 생성된 입력값 세트(INVS)를 수신한다.Referring to FIG. 2 again, the
로컬 컨트롤러(111)는 랜덤 넘버(RD)에 기반하여 제 1 데이터를 생성하고, 입력값 세트(INVS)에 기반하여 제 2 데이터를 생성하고, 생성된 제 1 데이터 및 제 2 데이터를 저장 매체(130) 및 외부의 저장 서버(30, 도 1 참조)에 분산 저장하도록 구성된다. 로컬 컨트롤러(111)는 랜덤 넘버(RD) 및 입력값 세트(INVS)를, 예를 들면 RSA(Rivest Shamir Adleman) 알고리즘을 통해 암호화하도록 구성되는 암복호화기(114)를 포함할 수 있다. 그리고, 로컬 컨트롤러(111)는 암호화된 랜덤 넘버 및 암호화된 입력값 세트를 저장 매체(130) 및 저장 서버(30)에 분산 저장할 수 있다. 실시 예들에서, 도 5에 도시된 바와 같이, 로컬 컨트롤러(111)는 암복호화기(114)에 의해 암호화된 입력값 세트(EINVS)를 저장 매체(130)에 저장하고, 암복호화기(114)에 의해 암호화된 랜덤 넘버(ERD)를 네트워크(105)를 통해 저장 서버(30)에 저장할 수 있다. 로컬 컨트롤러(111)는 제 2 및 제 3 인터페이스들(102, 103)을 통해 저장 매체(130) 및 통신기(140)와 각각 통신한다. 로컬 컨트롤러(111)는 제 2 인터페이스(102)를 통해 암호화된 입력값 세트(EINVS)를 저장 매체(130)에 기입(write)하고, 제 3 인터페이스(103)를 통해 통신기(140)를 제어함으로써 암호화된 랜덤 넘버(ERD)를 저장 서버(30)에 저장할 수 있다.The
사용자 단말기(100)는 사용자로부터 비밀번호를 재차 입력받지 않고도 이전에 입력된 비밀번호 혹은 비밀번호와 연관된 데이터를 이용한 동작들이 요구될 수 있다. 예를 들면, 사용자 단말기(100)는 비밀번호를 수신하는 사용자 입력없이, 웹 서버(20)와 통신하여 사용자 인증을 위한 동작들을 수행할 수 있다. 이러한 경우, 비밀번호 혹은 비밀번호와 연관된 데이터의 복원이 요구된다.The
비밀번호 혹은 비밀번호와 연관된 데이터를 요청하는 제 2 커맨드 신호가 채널(CH)을 통해 컨트롤러(110)에 수신될 수 있다. 로컬 컨트롤러(111)는 분산 저장된 암호화된 랜덤 넘버와 암호화된 입력값 세트를 저장 매체(130) 및 저장 서버(30)로부터 획득할 수 있다. 실시 예들에서, 로컬 컨트롤러(111)는 제 2 인터페이스(102)를 통해 저장 매체(130)로부터 암호화된 입력값 세트를 독출하고, 제 3 인터페이스(103)를 통해 통신기(140)를 제어함으로써 저장 서버(30)로부터 암호화된 랜덤 넘버를 획득할 수 있다.A second command signal requesting a password or data associated with the password may be received by the
암복호화기(114)는 암호화된 랜덤 넘버 및 암호화된 입력값 세트를, 예를 들면 RSA(Rivest Shamir Adleman) 알고리즘을 통해 복호화하여 랜덤 넘버 및 입력값 세트를 복원하도록 구성된다. 나아가, 로컬 컨트롤러(111)는 복원된 랜덤 넘버(RD) 및 복원된 입력값 세트(INVS)를 가상 키패드 드라이버(113)에 제공하고, 가상 키패드 드라이버(113)는 복원된 랜덤 넘버(RD) 및 복원된 입력값 세트(INVS)를 이용하여 비밀번호를 복원할 수 있다. 예를 들면, 가상 키패드 드라이버(113)는 복원된 입력값 세트(INVS)에 따라 비밀번호로서 선택되었던 비밀번호 입력 영역(230)의 버튼 영역들을 결정하고 복원된 랜덤 넘버(RD)에 따라 선택되었던 버튼 영역들에 대응하는 문자들을 결정함으로써, 비밀번호를 복원할 수 있다.The encryption/
복원된 랜덤 넘버(RD)와 복원된 입력값 세트(INVS) 혹은 복원된 비밀번호는 제 2 커맨드 신호에 대한 피드백 신호로서 제공될 수 있다. 예를 들면, 복원된 랜덤 넘버(RD)와 복원된 입력값 세트(INVS) 혹은 복원된 비밀번호는 채널(CH)을 통해 연결된 사용자 단말기(100) 내 다른 구성 요소에 제공될 수 있다.The restored random number RD and the restored input value set INVS or the restored password may be provided as a feedback signal for the second command signal. For example, the restored random number RD and the restored input value set INVS or the restored password may be provided to other components in the
실시 예들에서, 로컬 컨트롤러(111), 랜덤 넘버 생성기(112), 가상 키패드 드라이버(113), 및 암복호화기(114) 각각은 하드웨어 모듈, 소프트웨어 모듈, 펌웨어 모듈, 및 그것들의 조합 중 적어도 하나로서 제공될 수 있다.In embodiments, each of the
본 발명의 실시 예에 따르면, 사용자 단말기(100)는 랜덤 넘버(RD)에 기반한 제 1 데이터(예를 들면, 암호화된 랜덤 넘버) 및 입력값 세트(INVS)에 기반한 제 2 데이터(예를 들면, 암호화된 입력값 세트)를 저장 매체(130) 및 외부의 저장 서버(30)에 분산 저장하도록 구성된다. 앞서 설명된 바와 같이, 가상 키패드(220, 도 3 참조)의 배열은 랜덤 넘버(RD)에 따라 변하므로 랜덤 넘버(RD) 없이 입력값 세트(INVS)를 이용하여 비밀번호를 복원하는 것은 매우 어렵다. 마찬가지로, 입력값 세트(INVS) 없이 랜덤 넘버(RD)를 이용하여 비밀번호를 복원하는 것은 매우 어렵다. 이에 따라, 저장 매체(130) 및 저장 서버(30) 중 어느 하나의 데이터가 유출되더라도, 저장 매체(130) 및 저장 서버(30) 모두의 데이터가 유출되지 않는 한 비밀번호는 안전하게 보호될 수 있다. 이는, 가상 키패드(220)를 통해 비밀번호를 입력받는 사용자 단말기(100)가 랜덤 넘버(RD) 및 입력값 세트(INVS)를 비밀번호와 연관된 데이터로서 제공하도록 구성된다는 점을 고려할 때, 가상 키패드(220)를 지원하는 사용자 단말기(100) 및 그것을 포함하는 네트워크 시스템(1)에 향상된 보안성을 제공함을 의미할 수 있다. 따라서, 사용자 비밀번호에 대해 향상된 보안성을 갖는 사용자 단말기(100) 및 그것을 포함하는 네트워크 시스템(1)이 제공될 수 있다.According to an embodiment of the present invention, the
도 6은 본 발명의 실시 예에 따라 사용자 단말기에서 사용자로부터 입력되는 비밀번호를 처리하는 방법을 보여주는 순서도이다.6 is a flowchart illustrating a method of processing a password input from a user in a user terminal according to an embodiment of the present invention.
도 1 및 도 6을 참조하면, S110단계에서, 가상 키패드를 호출하는 제 1 커맨드 신호에 응답하여, 랜덤 넘버가 생성된다. 예를 들면, 사용자 단말기(10)에 설치된 응용 어플리케이션은 가상 키패드(220, 도 3 참조)의 생성을 위해 제 1 커맨드 신호를 생성할 수 있다.1 and 6, in step S110, in response to the first command signal to call the virtual keypad, a random number is generated. For example, the application application installed in the
S120단계에서, 랜덤 넘버에 따라 가상 키패드(220)가 생성 및 디스플레이된다. 가상 키패드(220)의 배열은 랜덤 넘버에 따라 변경된다. In step S120, the
S130단계에서, 다른 가상 키패드(220)가 요청되는지 여부가 판별된다. 만약 그렇다면, S110단계 내지 S120단계가 재수행된다. 예를 들면, 가상 키패드(220)의 재배열 버튼(223, 도 3 참조)을 선택하는 사용자 입력이 수신될 때, 제 1 커맨드 신호가 다시 생성되고, 생성된 제 1 커맨드 신호에 응답하여 S110단계 및 S120단계가 재수행될 수 있다. 만약 그렇지 않다면, S140단계가 수행된다.In step S130, it is determined whether another
S140단계에서, 가상 키패드(220)의 복수의 버튼 영역들을 비밀번호로서 선택하는 사용자 입력들이 감지된다. 예를 들면, 문자들(221, 도 3 참조)로 채워진 버튼 영역들 중 적어도 일부가 사용자 입력들에 의해 선택될 수 있으며, 비활성 심볼들(222, 도 3 참조)로 채워진 버튼 영역들은 선택될 수 없다. S150단계에서, 선택된 버튼 영역들에 각각 대응하는 입력값들이 결정된다.In step S140, user inputs for selecting a plurality of button regions of the
S160단계에서, 랜덤 넘버와 입력값 세트 각각이 암호화된다. 예를 들면, RSA(Rivest Shamir Adleman) 알고리즘을 통해 랜덤 넘버와 입력값 세트가 암호화될 수 있다. S170단계에서, 암호화된 랜덤 넘버와 암호화된 입력값 세트가 내부 저장 매체(130, 도 2 참조) 및 외부 저장 서버(30)에 분산 저장된다. 실시 예들에서, 암호화된 입력값 세트는 내부 저장 매체(130)에 저장되고, 암호화된 랜덤 넘버는 외부 저장 서버(30)에 저장될 수 있다.In step S160, each of the random number and the input value set is encrypted. For example, a random number and a set of input values may be encrypted through a Rivest Shamir Adleman (RSA) algorithm. In step S170, the encrypted random number and the encrypted input value set are distributedly stored in the internal storage medium 130 (see FIG. 2) and the
도 7은 본 발명의 실시 예에 따른 비밀번호를 제공하는 제공하는 방법을 보여주는 순서도이다.7 is a flowchart illustrating a method of providing a password according to an embodiment of the present invention.
도 1 및 도 7을 참조하면, S210단계에서, 비밀번호 혹은 비밀번호와 연관된 데이터를 요청하는 제 2 커맨드 신호에 응답하여, 외부 저장 서버(30)에 액세스하여 암호화된 랜덤 넘버를 획득한다. S220단계에서, 암호화된 입력값 세트가 내부 저장 매체(130, 도 2 참조)로부터 독출된다.1 and 7, in step S210, in response to a second command signal requesting a password or data associated with a password, the
S230단계에서, 암호화된 랜덤 넘버와 암호화된 입력값 세트 각각이 복호화되어 랜덤 넘버 및 입력값 세트를 복원한다. 구현 례에 따라, 제 2 커맨드 신호에 대한 피드백 신호로서 복원된 랜덤 넘버 및 복원된 입력값 세트가 비밀번호와 연관된 데이터로서 제공될 수 있다.In step S230, each of the encrypted random number and the encrypted input value set is decrypted to restore the random number and input value set. According to an implementation example, a restored random number and a set of restored input values as a feedback signal for the second command signal may be provided as data associated with a password.
구현 례에 따라, 제 2 커맨드 신호에 대한 피드백 신호로서 비밀번호의 제공이 요구될 수 있다. 이러한 경우, S240단계가 더 수행될 수 있다. S240단계에서, 복호화된 랜덤 넘버와 복호화된 입력값 세트에 따라 비밀번호가 복원된다. 예를 들면, 복호화된 입력값 세트(INVS)에 따라 비밀번호로서 선택되었던 비밀번호 입력 영역(230, 도 3 참조)의 버튼 영역들이 결정되고 복호화된 랜덤 넘버(RD)에 따라 선택되었던 버튼 영역들에 대응하는 문자들(221, 도 3 참조)이 결정되어 비밀번호를 복원할 수 있다. 복원된 비밀번호는 제 2 커맨드 신호에 대한 피드백 신호로서 제공될 수 있다.According to an implementation example, it may be required to provide a password as a feedback signal for the second command signal. In this case, step S240 may be further performed. In step S240, the password is restored according to the decrypted random number and the set of decrypted input values. For example, the button regions of the password input region 230 (see FIG. 3) that were selected as the password according to the decrypted input value set INVS are determined and correspond to the button regions that were selected according to the decrypted random number RD. The characters (221, see FIG. 3) are determined and the password can be restored. The restored password can be provided as a feedback signal for the second command signal.
본 발명의 실시 예에 따르면, 랜덤 넘버에 기반한 제 1 데이터(예를 들면, 암호화된 랜덤 넘버) 및 입력값 세트에 기반한 제 2 데이터(예를 들면, 암호화된 입력값 세트)는 저장 매체(130) 및 외부의 저장 서버(30)에 분산 저장된다. 이에 따라, 저장 매체(130) 및 저장 서버(30) 중 어느 하나의 데이터가 유출되더라도, 저장 매체(130) 및 저장 서버(30) 모두의 데이터가 유출되지 않는 한 비밀번호는 안전하게 보호될 수 있다. 따라서, 사용자 비밀번호에 대해 향상된 보안성을 갖는 사용자 비밀번호의 처리 방법이 제공될 수 있다.According to an embodiment of the present invention, the first data (eg, encrypted random number) based on the random number and the second data (eg, encrypted input value set) based on the input value set are stored on the storage medium 130. ) And externally stored in the
도 8은 본 발명의 다른 실시 예에 따른 사용자 단말기를 보여주는 블록도이다.8 is a block diagram showing a user terminal according to another embodiment of the present invention.
도 8을 참조하면, 사용자 단말기(1000)는 통신기(1100), A/V(Audio/Video) 입력기(1200), 사용자 인터페이스(1300), 디스플레이 장치(1400), 불휘발성 저장 매체(1500), 프로세서(1600), 및 시스템 메모리(1700)를 포함한다.Referring to FIG. 8, the
통신기(1100)는 이동 통신망 상에서 기지국, 외부의 서버, 및 외부의 단말 중 적어도 하나와 무선 신호를 송신하도록 구성된다. 이때, 무선 신호는 음성 호 신호, 화상 통화 호 신호, 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 타입들의 데이터를 포함할 수 있다. 또한, 통신기(1100)는 무선 인터넷에 접속하도록 구성된다. 나아가, 통신기(1100)는 근거리 통신을 수행하도록 구성되며, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee) 등의 근거리 통신 기술들이 이용될 수 있다. 통신기(1100)는 도 2를 참조하여 설명된 통신기(140)로서 제공될 수 있다.The
A/V 입력기(1200)는 오디오 신호 및 비디오 신호의 입력을 위한 것으로, 카메라를 포함할 수 있다. 카메라는 이미지 센서에 의해 얻어지는 이미지를 처리한다. 카메라에 의해 처리된 이미지는 시스템 메모리(1700)에 저장되거나 통신기(1100)를 통해 외부로 전송될 수 있다.The A/
사용자 인터페이스(1300)는 사용자 단말기(1000) 혹은 프로세서(1600)의 동작들을 제어하기 위한 사용자 입력을 수신한다. 사용자 인터페이스(1300)는 키 패드(key pad), 돔 스위치(dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치, 핑거 마우스 등을 포함할 수 있다. 특히, 터치 패드가 디스플레이 장치(1400)와 일체로 형성되는 경우, 이를 터치 스크린(touch screen)이라 부를 수 있다. 이러한 경우, 사용자 인터페이스(1300)는 디스플레이 장치(1400)에 의해 시각화될 수 있다.The
디스플레이 장치(1400)는 프로세서(1600)의 제어에 응답하여 동작한다. 디스플레이 장치(1400)는 사용자 단말기(1000) 혹은 프로세서(1600)에 의해 처리되는 정보를 표시한다. 예를 들면, 디스플레이 장치(1400)는 프로세서(1600)의 제어에 따라 이미지를 디스플레이할 수 있다. 디스플레이 장치(1400)가 터치 패드와 일체로 형성되어 터치 스크린을 구성하는 경우, 디스플레이 장치(1400)는 사용자 인터페이스(1300)를 시각화할 수 있다. 디스플레이 장치(1400)는 도 2의 디스플레이 장치(120)로서 제공될 수 있다.The
디스플레이 장치(1400)는 액정 디스플레이(liquid crystal display), 유기 발광 다이오드(organic light-emitting diode) 디스플레이, 플렉서블 디스플레이(flexible display) 등 다양한 타입의 디스플레이 장치들 중 적어도 하나를 포함할 수도 있다.The
불휘발성 저장 매체(1500)는 플래시 메모리(flash memory type), 하드 디스크 (hard disk type), 멀티미디어 카드(multimedia card) 등 중 적어도 하나일 수 있다. 불휘발성 저장 매체(1500)는 프로세서(1600)의 제어에 응답하여 데이터를 기입하고 독출하도록 구성된다. 불휘발성 저장 매체(1500)는 도 2의 저장 매체(130)로서 제공될 수 있다.The
통신기(1100), A/V(Audio/Video) 입력기(1200), 사용자 인터페이스(1300), 디스플레이 장치(1400), 불휘발성 저장 매체(1500), 프로세서(1600), 및 시스템 메모리(1700)를 서로 연결하여 통신 인터페이스를 제공하는 시스템 버스가 더 제공될 수 있다. 이때, 시스템 버스는 도 2의 제 1 내지 제 3 인터페이스들(101~103)로서 제공될 수 있다.The
프로세서(1600)는 범용 혹은 전용 프로세서 중 어느 하나를 포함할 수 있으며, 통신기(1100), A/V 입력기(1200), 사용자 인터페이스(1300), 디스플레이 장치(1400), 불휘발성 저장 매체(1500), 및 시스템 메모리(1700)의 동작들을 제어한다.The
프로세서(1600)는 실행될 때 다양한 기능들을 제공하는 명령어들을 포함하는 프로그램 코드들을 불휘발성 저장 매체(1500)로부터 시스템 메모리(1700)에 로딩하고, 로딩된 프로그램 코드들을 실행하도록 구성된다. 프로세서(1600)는 프로세서(1600)에 의해 실행될 때 도 2를 참조하여 설명된 컨트롤러(110)의 기능들을 수행하는 가상 키패드 모듈(1710)을 시스템 메모리(1700)에 로딩하고, 로딩된 가상 키패드 모듈(1710)을 실행할 수 있다. 예를 들면, 가상 키패드 모듈(1710)은, 프로세서(1600)에 의해 실행될 때, 로컬 컨트롤러(111)의 기능들을 수행하기 위한 명령어들, 랜덤 넘버 생성기(112)의 기능들을 수행하기 위한 명령어들, 그리고 가상 키패드 드라이버(113)의 기능들을 수행하기 위한 명령어들을 포함할 수 있다. 가상 키패드 모듈(1710)은, 프로세서(1600)에 의해 실행될 때, 가상 키패드를 추가적인 사용자 인터페이스로서 디스플레이 장치(140)에 디스플레이(혹은 시각화)하고, 사용자 인터페이스(1300)를 이용하여 가상 키패드의 버튼 영역들을 선택하는 사용자 입력들을 감지할 수 있다.The
실시 예들에서, 시스템 메모리(1700)는 프로세서(1600)의 워킹 메모리로서 제공될 수 있다. 도 8에서, 시스템 메모리(1700)는 프로세서(1600)와 분리된 구성 요소로서 도시되어 있으나, 이는 예시적인 것으로 시스템 메모리(1700)의 적어도 일부는 프로세서(1600) 내에 통합될 수 있다. 실시 예들에서, 시스템 메모리(1700)는 버퍼 메모리로서 제공될 수 있다.In embodiments,
시스템 메모리(1700)는 램(Random Access Memory, RAM), 롬(Read Only Memory, ROM), 및 다른 타입들의 컴퓨터에 의해 판독 가능한 저장 매체들 중 적어도 하나를 포함할 수 있다.The
도 9는 도 8의 사용자 단말기와 통신할 수 있는 클라이언트 서버를 보여주는 블록도이다.9 is a block diagram illustrating a client server capable of communicating with the user terminal of FIG. 8.
본 발명의 실시 예에 따르면, 도 8의 사용자 단말기(1000)에 의해 실행되는 프로그램 코드들은 클라이언트 서버(2000)로부터 제공될 수 있다. 도 9를 참조하면, 클라이언트 서버(2000)는 통신기(2100), 프로세서(2200), 및 데이터베이스(2300)를 포함할 수 있다. 통신기(2100)는 네트워크(5, 도 1 참조)를 통해 사용자 단말기(1000)와 통신할 수 있다. 데이터베이스(2300)는 사용자 단말기(1000) 및/또는 도 8의 프로세서(1600)에 의해 실행될 수 있는 프로그램 코드들, 예를 들면 도 8의 가상 키패드 모듈(1710) 혹은 가상 키패드 모듈(1710)을 포함하는 응용 어플리케이션을 저장할 수 있다. 프로세서(2200)는 사용자 단말기(1000)로부터의 요청에 응답하여, 데이터베이스(2300)에 저장된 프로그램 코드들을 통신기(2100)를 통해 사용자 단말기(1000)에 제공할 수 있다. 프로그램 코드들은 사용자 단말기(1000)에 설치되어 실행될 수 있다.According to an embodiment of the present invention, program codes executed by the
비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.Although specific embodiments and application examples have been described herein, this is provided only to assist in a more general understanding of the present invention, and the present invention is not limited to the above embodiments and has ordinary knowledge in the field to which the present invention pertains. Various modifications and variations are possible from this description when grown.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the described embodiments, and should not be determined, and all claims that are equivalent or equivalent to the scope of the claims as well as the claims to be described later belong to the scope of the spirit of the invention. .
10: 사용자 단말기
20: 웹 서버
30: 저장 서버
110: 컨트롤러
120: 디스플레이 장치
130: 저장 매체
140: 통신기10: user terminal
20: Web server
30: storage server
110: controller
120: display device
130: storage medium
140: communicator
Claims (17)
디스플레이 장치;
저장 매체; 및
상기 디스플레이 장치 및 상기 저장 매체를 제어하도록 구성되는 컨트롤러를 포함하되,
상기 컨트롤러는,
랜덤 넘버를 제공하도록 구성되는 랜덤 넘버 생성기;
복수의 버튼 영역들을 포함하는 가상 키패드를 상기 디스플레이 장치에 표시하되, 상기 랜덤 넘버에 따라 상기 가상 키패드의 배열을 변경하고, 상기 복수의 버튼 영역들을 상기 비밀번호로 선택하는 사용자 입력들에 응답하여 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하도록 구성되는 가상 키패드 드라이버; 및
상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터 중 어느 하나를 외부 서버에 전송 및 저장하고, 상기 제 1 데이터와 상기 제 2 데이터 중 다른 하나를 상기 저장 매체에 저장하도록 구성되는 로컬 컨트롤러를 포함하며,
상기 로컬 컨트롤러는 커맨드 신호에 응답하여, 상기 외부 서버에 액세스하여 상기 제 1 데이터와 상기 제 2 데이터 중 상기 어느 하나를 획득하고 상기 저장 매체로부터 상기 제 1 데이터와 상기 제 2 데이터 중 상기 다른 하나를 독출하도록 구성되는 사용자 단말기.In the user terminal for processing the password input from the user:
Display device;
Storage media; And
A controller configured to control the display device and the storage medium,
The controller,
A random number generator configured to provide a random number;
A virtual keypad including a plurality of button areas is displayed on the display device, the array of the virtual keypad is changed according to the random number, and the selected button is selected in response to user inputs selecting the plurality of button areas as the password. A virtual keypad driver configured to determine input values respectively corresponding to the button regions; And
It is configured to transmit and store any one of the first data based on the random number and the second data based on the input values to an external server, and to store the other of the first data and the second data on the storage medium. Includes a local controller,
The local controller accesses the external server to obtain the one of the first data and the second data in response to a command signal, and obtains the other one of the first data and the second data from the storage medium. A user terminal configured to read.
상기 로컬 컨트롤러는 상기 랜덤 넘버를 암호화하고 상기 입력값들을 암호화하도록 구성되는 암호화기를 포함하되,
상기 제 1 데이터는 상기 암호화된 랜덤 넘버를 포함하고,
상기 제 2 데이터는 상기 암호화된 입력값들을 포함하는 사용자 단말기.According to claim 1,
The local controller includes an encryptor configured to encrypt the random number and encrypt the input values,
The first data includes the encrypted random number,
The second data is a user terminal including the encrypted input values.
상기 암호화기는 상기 랜덤 넘버 및 상기 입력값들을 RSA(Rivest Shamir Adleman) 알고리즘을 통해 암호화하도록 구성되는 사용자 단말기.According to claim 2,
The encrypter is a user terminal configured to encrypt the random number and the input values through a Rivest Shamir Adleman (RSA) algorithm.
디스플레이 장치;
저장 매체;
외부 서버와 통신하도록 구성되는 통신기; 및
상기 디스플레이 장치, 상기 저장 매체, 및 상기 통신기를 제어하도록 구성되는 프로세서를 포함하되,
상기 프로세서는,
복수의 버튼 영역들을 포함하는 가상 키패드를 상기 디스플레이 장치에 표시하되, 제 1 커맨드 신호에 응답하여 생성되는 랜덤 넘버에 따라 상기 가상 키패드의 배열을 변경하고;
상기 복수의 버튼 영역들을 상기 비밀번호로 선택하는 사용자 입력들에 응답하여 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하고;
상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터 중 어느 하나를 상기 통신기를 통해 외부 서버에 전송 및 저장하고, 상기 제 1 데이터와 상기 제 2 데이터 중 다른 하나를 상기 저장 매체에 저장하도록 구성되며,
상기 프로세서는 제 2 커맨드 신호에 응답하여, 상기 외부 서버에 액세스하여 상기 제 1 데이터와 상기 제 2 데이터 중 상기 어느 하나를 획득하고 상기 저장 매체로부터 상기 제 1 데이터와 상기 제 2 데이터 중 상기 다른 하나를 독출하도록 구성되는 사용자 단말기.In the user terminal for processing the password input from the user:
Display device;
Storage media;
A communicator configured to communicate with an external server; And
A processor configured to control the display device, the storage medium, and the communicator,
The processor,
Displaying a virtual keypad including a plurality of button regions on the display device, and changing the arrangement of the virtual keypad according to a random number generated in response to a first command signal;
Determine input values respectively corresponding to the selected button regions in response to user inputs selecting the plurality of button regions as the password;
Any one of the first data based on the random number and the second data based on the input values is transmitted to and stored in an external server through the communicator, and the other of the first data and the second data is stored in the storage medium. Is configured to store in,
The processor, in response to a second command signal, accesses the external server to obtain the one of the first data and the second data, and the other one of the first data and the second data from the storage medium. User terminal is configured to read.
상기 프로세서는 상기 제 1 데이터를 상기 통신기를 통해 상기 외부 서버에 전송하고 상기 제 2 데이터를 상기 저장 매체에 저장하도록 구성되는 사용자 단말기.The method of claim 4,
The processor is a user terminal configured to transmit the first data to the external server through the communicator and to store the second data on the storage medium.
상기 프로세서는,
상기 제 2 커맨드 신호에 응답하여 상기 외부 서버에 액세스하여 상기 제 1 데이터를 획득하고 상기 저장 매체로부터 상기 제 2 데이터를 독출하며,
상기 획득된 제 1 데이터에 기반하여 상기 랜덤 넘버를 복원하고 상기 독출된 제 2 데이터에 기반하여 상기 입력값들을 복원하도록 구성되는 사용자 단말기.The method of claim 5,
The processor,
Accessing the external server in response to the second command signal to obtain the first data and read the second data from the storage medium,
A user terminal configured to restore the random number based on the obtained first data and restore the input values based on the read second data.
상기 프로세서는,
상기 복원된 랜덤 넘버와 상기 복원된 입력값들에 따라 상기 비밀번호를 복원하도록 구성되는 사용자 단말기.The method of claim 6,
The processor,
A user terminal configured to restore the password according to the restored random number and the restored input values.
상기 프로세서는 상기 획득된 제 1 데이터를 복호화하고 상기 독출된 제 2 데이터를 복호화하도록 구성되고,
상기 복호화된 제 1 데이터는 상기 복원된 랜덤 넘버를 포함하고,
상기 복호화된 제 2 데이터는 상기 복원된 입력값들을 포함하는 사용자 단말기.The method of claim 6,
The processor is configured to decrypt the acquired first data and decrypt the read second data,
The decrypted first data includes the restored random number,
The decrypted second data includes the restored input values.
상기 프로세서는 상기 제 2 커맨드 신호에 응답하여 상기 제 1 데이터를 상기 저장 매체에 저장하고 상기 제 2 데이터를 상기 통신기를 통해 상기 외부 서버에 전송하도록 구성되는 사용자 단말기.The method of claim 4,
The processor is configured to store the first data in the storage medium in response to the second command signal and to transmit the second data to the external server through the communicator.
제 1 커맨드 신호에 응답하여 랜덤 넘버를 생성하는 단계;
복수의 버튼 영역들을 포함하는 가상 키패드를 디스플레이 장치에 표시하되, 상기 랜덤 넘버에 따라 상기 가상 키패드의 배열은 변경되는, 단계;
상기 복수의 버튼 영역들을 상기 비밀번호로 선택하는 사용자 입력들에 응답하여, 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하는 단계;
상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터 중 어느 하나를 외부 서버에 전송 및 저장하고, 상기 제 1 데이터와 상기 제 2 데이터 중 다른 하나를 내부 저장 매체에 저장하는 단계; 및
제 2 커맨드 신호에 응답하여, 상기 외부 서버에 액세스하여 상기 제 1 데이터와 상기 제 2 데이터 중 상기 어느 하나를 획득하고 상기 저장 매체로부터 상기 제 1 데이터와 상기 제 2 데이터 중 상기 다른 하나를 독출하는 단계를 포함하는 방법.In the method for handling the password entered from the user:
Generating a random number in response to the first command signal;
Displaying a virtual keypad including a plurality of button areas on a display device, wherein the arrangement of the virtual keypad is changed according to the random number;
Determining input values respectively corresponding to the selected button regions in response to user inputs selecting the plurality of button regions as the password;
Transmitting and storing any one of the first data based on the random number and the second data based on the input values to an external server, and storing the other one of the first data and the second data on an internal storage medium ; And
In response to a second command signal, the external server is accessed to obtain the first one of the first data and the second data and read the other one of the first data and the second data from the storage medium. How to include the steps.
상기 저장하는 단계는,
상기 제 1 데이터를 네트워크를 통해 상기 외부 서버에 전송 및 저장하는 단계; 및
상기 제 2 데이터를 상기 내부 저장 매체에 저장하는 단계를 포함하는 방법.The method of claim 10,
The storing step,
Transmitting and storing the first data to the external server through a network; And
And storing the second data in the internal storage medium.
상기 독출하는 단계는,
상기 네트워크를 통해 상기 외부 서버에 액세스하여 상기 제 1 데이터를 획득하는 단계; 및
상기 저장 매체로부터 상기 제 2 데이터를 독출하는 단계를 포함하고,
상기 방법은,
상기 획득된 제 1 데이터에 기반하여 상기 랜덤 넘버를 복원하는 단계; 및
상기 독출된 상기 제 2 데이터에 기반하여 상기 입력값들을 복원하는 단계를 더 포함하는 방법.The method of claim 11,
The reading step,
Acquiring the first data by accessing the external server through the network; And
Reading the second data from the storage medium,
The above method,
Restoring the random number based on the obtained first data; And
And restoring the input values based on the read second data.
상기 복원된 랜덤 넘버와 상기 복원된 입력값들에 따라 상기 비밀번호를 복원하는 단계를 더 포함하는 방법.The method of claim 12,
And restoring the password according to the restored random number and the restored input values.
상기 통신기를 통해 사용자 단말기와 통신하도록 구성되는 프로세서; 및
상기 사용자 단말기에 의해 실행될 프로그램 코드들을 저장하는 데이터베이스를 포함하되,
상기 프로그램 코드들은,
복수의 버튼 영역들을 포함하는 가상 키패드를 상기 사용자 단말기의 디스플레이 장치에 표시하되, 랜덤 넘버에 따라 상기 가상 키패드의 배열을 변경하기 위한 제 1 명령어들;
상기 복수의 버튼 영역들을 비밀번호로 선택하는 사용자 입력들에 응답하여 상기 선택된 버튼 영역들에 각각 대응하는 입력값들을 결정하기 위한 제 2 명령어들;
상기 랜덤 넘버에 기반한 제 1 데이터와 상기 입력값들에 기반한 제 2 데이터 중 어느 하나를 상기 사용자 단말기의 외부 서버에 전송 및 저장하고, 상기 제 1 데이터와 상기 제 2 데이터 중 다른 하나를 상기 사용자 단말기의 내부 저장 매체에 저장하기 위한 제 3 명령어들; 및
상기 외부 서버에 액세스하여 상기 제 1 데이터와 상기 제 2 데이터 중 상기 어느 하나를 획득하고 상기 저장 매체로부터 상기 제 1 데이터와 상기 제 2 데이터 중 상기 다른 하나를 독출하기 위한 제 4 명령어들을 포함하는 클라이언트 서버.Communicator;
A processor configured to communicate with a user terminal through the communicator; And
A database storing program codes to be executed by the user terminal,
The program codes are:
First commands for displaying a virtual keypad including a plurality of button regions on a display device of the user terminal, and changing the arrangement of the virtual keypad according to a random number;
Second commands for determining input values respectively corresponding to the selected button areas in response to user inputs selecting the plurality of button areas as a password;
Any one of the first data based on the random number and the second data based on the input values is transmitted to and stored in an external server of the user terminal, and the other of the first data and the second data is transferred to the user terminal. Instructions for storing on the internal storage medium of the; And
A client including fourth instructions for accessing the external server to obtain the one of the first data and the second data and to read the other of the first data and the second data from the storage medium server.
상기 제 3 명령어들은,
상기 제 1 데이터를 상기 외부 서버에 전송 및 저장하고 상기 제 2 데이터를 상기 내부 저장 매체에 저장하기 위한 명령어들을 포함하는 클라이언트 서버.The method of claim 14,
The third instructions,
A client server comprising instructions for transmitting and storing the first data to the external server and for storing the second data in the internal storage medium.
상기 제 4 명령어들은,
상기 외부 서버에 액세스하여 상기 제 1 데이터를 획득하고;
상기 획득된 제 1 데이터에 기반하여 상기 랜덤 넘버를 복원하고;
상기 저장 매체로부터 상기 제 2 데이터를 독출하고;
상기 독출된 상기 제 2 데이터에 기반하여 상기 입력값들을 복원하기 위한 명령어들을 더 포함하는 클라이언트 서버.The method of claim 15,
The fourth instructions,
Accessing the external server to obtain the first data;
Restore the random number based on the obtained first data;
Reading the second data from the storage medium;
And instructions for restoring the input values based on the read second data.
상기 프로그램 코드들은,
상기 복원된 랜덤 넘버와 상기 복원된 입력값들에 따라 상기 비밀번호를 복원하기 위한 제 5 명령어들을 더 포함하는 클라이언트 서버.
The method of claim 16,
The program codes are:
And a fifth command for restoring the password according to the restored random number and the restored input values.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180098165A KR102118476B1 (en) | 2018-08-22 | 2018-08-22 | Device and method to process password input from user |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180098165A KR102118476B1 (en) | 2018-08-22 | 2018-08-22 | Device and method to process password input from user |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200022258A KR20200022258A (en) | 2020-03-03 |
KR102118476B1 true KR102118476B1 (en) | 2020-06-03 |
Family
ID=69937975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180098165A KR102118476B1 (en) | 2018-08-22 | 2018-08-22 | Device and method to process password input from user |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102118476B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111324A (en) * | 2021-04-21 | 2021-07-13 | 北京京东方传感技术有限公司 | Identity verification method and terminal |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101129894B1 (en) * | 2010-04-21 | 2012-03-28 | 루멘소프트 (주) | Method for preventing memory hacking usign image and system thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100745489B1 (en) * | 2005-07-19 | 2007-08-02 | 소프트포럼 주식회사 | Preventing method for hacking key input data |
-
2018
- 2018-08-22 KR KR1020180098165A patent/KR102118476B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101129894B1 (en) * | 2010-04-21 | 2012-03-28 | 루멘소프트 (주) | Method for preventing memory hacking usign image and system thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20200022258A (en) | 2020-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10171428B2 (en) | Confidential data management method and device, and security authentication method and system | |
EP3086587B1 (en) | Method and apparatus for transmitting and receiving encrypted message between terminals | |
US9183373B2 (en) | Secure input via a touchscreen | |
CN110704860A (en) | Longitudinal federal learning method, device and system for improving safety and storage medium | |
CN108769027B (en) | Secure communication method, device, mobile terminal and storage medium | |
EP2187330A1 (en) | Method and apparatus for encrypting user data | |
WO2016045469A1 (en) | Information encryption method and mobile terminal | |
CN104954126B (en) | Sensitive operation verification method, device and system | |
US20190147169A1 (en) | Electronic device including display and method of encrypting and decrypting information | |
AU2020202014A1 (en) | Raw sensor input encryption for passcode entry security | |
CN104573548A (en) | Information encryption and decryption methods and devices and terminal | |
CN108900553B (en) | Communication method, device and computer readable storage medium | |
KR102118476B1 (en) | Device and method to process password input from user | |
CN105743860A (en) | Method and device for converting characters | |
CN105022965A (en) | Data encryption method and apparatus | |
CN109800583B (en) | Electronic device comprising a display and method of encrypting information | |
KR20130140926A (en) | System and method for processing scanned images | |
JP6800165B2 (en) | Cryptography method and encryption system | |
CN115276966A (en) | Data encryption method and device, electronic equipment and storage medium | |
CN108763964B (en) | Data processing method and device, readable storage medium and equipment | |
CN113193956A (en) | Account information processing method and device | |
KR101648779B1 (en) | Method for secure text input in information terminal | |
US20140150084A1 (en) | User authentication apparatus of portable terminal | |
JP2015023550A (en) | Data decryption system and program | |
CN106803030A (en) | A kind of encryption and decryption method and device, user equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |