KR101042227B1 - A Method for Preventing from Hacking with Virtual Keyboard - Google Patents

A Method for Preventing from Hacking with Virtual Keyboard Download PDF

Info

Publication number
KR101042227B1
KR101042227B1 KR1020090113754A KR20090113754A KR101042227B1 KR 101042227 B1 KR101042227 B1 KR 101042227B1 KR 1020090113754 A KR1020090113754 A KR 1020090113754A KR 20090113754 A KR20090113754 A KR 20090113754A KR 101042227 B1 KR101042227 B1 KR 101042227B1
Authority
KR
South Korea
Prior art keywords
value
virtual keyboard
input
signal
data table
Prior art date
Application number
KR1020090113754A
Other languages
Korean (ko)
Other versions
KR20110057379A (en
Inventor
길용민
Original Assignee
이니텍(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이니텍(주) filed Critical 이니텍(주)
Priority to KR1020090113754A priority Critical patent/KR101042227B1/en
Publication of KR20110057379A publication Critical patent/KR20110057379A/en
Application granted granted Critical
Publication of KR101042227B1 publication Critical patent/KR101042227B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items

Abstract

본 발명은 키입력 해킹방지 방법에 관한 것으로서, 각종 중요한 개인정보를 가로채는 악의적인 해킹 즉, 키 이벤트 후킹(hooking) 및 메모리 후킹 기술에 의한 입력키값 노출을 방지하기 위한 것이다.The present invention relates to a method for preventing key input hacking, and to prevent malicious hacking that intercepts various important personal information, that is, input key value exposure by key event hooking and memory hooking techniques.

키로거 방지, 키이벤트 후킹(hooking) 방지, 가상 키보드 Prevent keyloggers, prevent key event hooking, virtual keyboard

Description

가상 키보드를 이용한 키입력 해킹 방지 방법{A Method for Preventing from Hacking with Virtual Keyboard}A method for preventing from hacking with virtual keyboard

본 발명은 키입력 해킹방지 방법에 관한 것으로서, 각종 중요한 개인정보를 가로채는 악의적인 해킹 즉, 키 이벤트 후킹(hooking) 및 메모리 후킹 기술에 의한 입력키값 노출을 방지하기 위한 것이다.The present invention relates to a method for preventing key input hacking, and to prevent malicious hacking that intercepts various important personal information, that is, input key value exposure by key event hooking and memory hooking techniques.

최근 컴퓨터 하드웨어와 네트워크 기반 기술의 발달로 인해 유무선 인터넷을 통한 개인과 단체/업체 사이의 각종 정보교환 및 정보공유가 활발히 이루어지고 있다. 이와 아울러 웹 브라우저의 활용도는 단순히 정보검색에 머물지 않고 온라인 쇼핑몰, 온라인 주식거래 및 인터넷 뱅킹을 포함하는 신용기반의 각종 서비스 영역까지 확장되고 있는 추세이다. Recently, due to the development of computer hardware and network-based technology, various information exchanges and information sharing between individuals and organizations / companies through wired and wireless Internet are actively performed. At the same time, the utilization of web browsers is not just information retrieval, but also a wide range of credit-based services including online shopping malls, online stock trading, and internet banking.

다만, 이와 같은 기술 발달과 아울러, 개인과 단체 간에 이동되는 신용정보를 비롯한 개인정보를 유출하여 이익을 얻는 해커들도 급증하고 있다. 일반적으로 해커들은 개인정보 유출이라는 악의적인 목적을 달성하기 위해 여러가지 해킹툴을 이용하는데, 그 중에서도 사용자 컴퓨터의 키보드 눌림 신호를 가로채는 키로거(Key Logger) 프로그램이 보편적으로 이용되고 있다. However, with the development of such technology, hackers who gain profits by leaking personal information including credit information transferred between individuals and organizations are increasing rapidly. In general, hackers use various hacking tools to achieve the malicious purpose of leaking personal information. Among them, a key logger program which intercepts a keyboard press signal of a user computer is commonly used.

이러한 키로거 프로그램은, 사용자 컴퓨터에 설치되어 CPU 및 메모리를 매우 낮게 점유하는 특성과, 윈도우 운영체제의 레지스트리에 그 설치 흔적을 남기지 않는 특성을 갖고 있는 바, 별도의 바이러스 백신 프로그램을 통해 정밀검사를 하지 않는 한 사용자는 키로거 프로그램의 실행 여부를 인지하기 어렵다는 문제가 있다. These keylogger programs are installed on the user's computer and occupy very low CPU and memory, and do not leave traces of their installation in the registry of the Windows operating system. One user has a problem that it is difficult to recognize whether a keylogger program is executed.

일반적으로 키로거 프로그램은, 해커에 의해 이메일 또는 다양한 배포수단을 통해 사용자 컴퓨터에 설치된다. 이후 키로거 프로그램에 감염된 사용자 컴퓨터가 웹브라우저를 통해 은행 서버에 접속하여 인터넷 뱅킹을 행하는 경우, 사용자는 웹브라우저 상에 표시되는 결제관련 입력창에 사용자의 비밀번호를 포함한 신용정보를 키보드를 통해 입력하게 된다. 여기에서 키보드의 눌림 신호에 의한 데이터는 키보드 드라이버를 거쳐 결제 관련 입력창에 입력된 후 최종적으로 웹브라우저를 통해 서버로 전송된다. 이때, 키입력 데이터는 키보드 드라이버를 제어하는 키로거 프로그램에 의해 해커에게 유출된다. 키보드 눌림 신호는 운영체제 상에서 윈도우 이벤트를 발생시키고 그 눌림 신호는 윈도우 메시지 형태로 어플리케이션으로 전송되는데, 키로거 포로그램은 상기 윈도우 이벤트를 감지하여 해당 윈도우 메시지를 인터셉트함으로써 키보드를 통해 입력된 키입력 데이터를 빼내게 된다. In general, keylogger programs are installed on a user's computer by hackers via email or various distribution means. After that, when a user's computer infected with a keylogger program accesses a bank server through a web browser and performs internet banking, the user enters credit information including the user's password through a keyboard into a payment related input window displayed on the web browser. . In this case, the data of the keyboard pressing signal is input to the payment input window through the keyboard driver and finally transmitted to the server through the web browser. At this time, the key input data is leaked to the hacker by the key logger program controlling the keyboard driver. The keyboard press signal generates a window event on the operating system, and the press signal is transmitted to the application in the form of a window message. The keylogger program detects the window event and intercepts the window message to subtract key input data input through the keyboard. To me.

이러한 키로거 프로그램의 폐해를 해소하기 위한 방법이 국내 등록특허 제10-0496462호(발명의 명칭: 키입력 도용 방지 방법)에 개시되어 있다. 상기 특허에는 종래와 같이 소정의 개인정보를 키보드를 통해서 입력받는 방식이 아닌, 사용자의 컴퓨터 화면에 디스플레이되는 가상의 키보드와 사용자가 마우스를 통해 상 기 가상 키보드의 키를 클릭함으로써 입력받는 방식을 개시하고 있다. 즉, 개인정보 입력 자체가 키보드 및 키보드 드라이버를 거치지 않게 되므로 키로거 프로그램이 이를 가로챌 수 없게 되는 것이다. A method for solving the above problems of the keylogger program is disclosed in Korean Patent Registration No. 10-0496462 (name of the invention: a method for preventing key input theft). The patent discloses a virtual keyboard displayed on a user's computer screen and a method of receiving input by clicking a key of the virtual keyboard through a mouse, rather than a method of receiving predetermined personal information through a keyboard as in the prior art. Doing. That is, since the personal information input itself does not go through the keyboard and the keyboard driver, the keylogger program cannot intercept it.

하지만, 상기 특허의 가상 키보드는 항상 동일한 키배열로 구성되어 있기 대문에 이 역시 해커들에 의한 공격 가능성이 상존하는 문제점이 있다. However, since the virtual keyboard of the patent is always configured with the same key arrangement, there is a problem that the possibility of attack by hackers also exists.

이를 해결하기 위해 국내 등록특허 제10-0745489호(발명의 명칭 : 키입력 해킹방지 방법)가 있다. 이는 보안이 필요한 웹 페이지 또는 이와 유사한 기능을 제공하는 응용프로그램 상에서 임의적으로 재배열되는 가상 키보드를 통해 사용자로부터 아이디 또는 패스워드 등의 데이터를 입력받아 이를 웹 페이지 또는 상기 응용프로그램으로 전송되게 함으로써, 키로거와 같은 해킹 프로그램에 의한 개인정보 유출을 방지할 수 있는 키입력 해킹방지 방법을 제공하고 있다. In order to solve this problem, there is a Korean Patent No. 10-0745489 (name of the invention: a key input hacking prevention method). This allows the user to receive data such as ID or password from the user through a virtual keyboard that is randomly rearranged on a secure web page or an application that provides a similar function, and transmits the data to the web page or the application. It provides a key input hacking prevention method that can prevent the leakage of personal information by the same hacking program.

하지만, 상기 특허도 마우스 포인터 좌표를 감지하는 기술로부터 완전히 자유로울 수는 없는 문제가 있다. However, the patent also has a problem that can not be completely free from the technology of detecting the mouse pointer coordinates.

본 발명은, 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 보안이 필요한 웹페이지 또는 이와 유사한 기능을 제공하는 응용프로그램 상에서 키입력 수단을 통해 사용자로부터 아이디 또는 패스워드 등의 데이터를 입력받아 이를 웹페이지 또는 상기 응용프로그램으로 전송되게 함으로써, 키로거와 같은 해킹 프로그램에 의한 개인정보 유출을 방지할 수 있는 키입력 해킹 방지 방법을 제공함을 목적으로 한다. The present invention was devised to solve the above problems, and receives data such as ID or password from a user through a key input means on a web page requiring security or an application program that provides a similar function. Or to provide a key input hacking prevention method that can prevent the leakage of personal information by a hacking program, such as a key logger by being transmitted to the application program.

본 발명은 상기와 같은 목적을 달성하기 위해 다음과 같은 과제 해결 수단을 제공한다. The present invention provides the following problem solving means to achieve the above object.

가상 키보드 클라이언트 모듈이 설치된 사용자 단말기와, 가상 키보드 데이터 테이블을 생성하고 이에 대한 암복호화 작업을 수행하는 가상 키보드 관리 모듈이 설치된 서버를 포함하는 환경에서 수행되는, 상기 가상 키보드 관리 모듈이 가상 키보드 데이터 테이블을 생성하는 방법에 있어서, 문자 또는 숫자의 초기값을 랜덤하게 생성하는 제1 단계와; 더미값의 개수를 랜덤하게 생성하는 제2 단계와; 초기값을 시작으로 하는 배열을 생성하고, 배열 중간에 더미값을 랜덤하게 배열하여 가상 키보드 데이터 테이블을 생성하는 제3 단계와; 상기 가상 키보드 데이터 테이블을 암호화하여 상기 사용자 단말기에 전송하는 제4 단계와; 상기 사용자 단 말기에서 상기 가상 키보드 데이터 테이블에 따라 입력받은 암호화된 값을 전달받아 복호화하는 제5 단계와; 상기 복호화된 값을 상기 가상 키보드 데이터 테이블에 의해 치환하는 제6 단계를 포함한다. The virtual keyboard management module is executed in an environment including a user terminal having a virtual keyboard client module installed therein and a server having a virtual keyboard management module configured to generate and decrypt a virtual keyboard data table. A method of generating a word, the method comprising: a first step of randomly generating initial values of letters or numbers; A second step of randomly generating the number of dummy values; Generating a virtual keyboard data table by generating an array starting with an initial value and randomly arranging dummy values in the middle of the array; Encrypting the virtual keyboard data table and transmitting the encrypted data to the user terminal; A fifth step of receiving and decrypting an encrypted value received according to the virtual keyboard data table at the user terminal; And a sixth step of replacing the decrypted value by the virtual keyboard data table.

상기 가상 키보드 데이터 테이블을 이용하여 가상 키보드 클라이언트 모듈이 사용자로부터 입력값을 입력받아 키입력 해킹을 방지하는 방법에 있어서, 상기 서버로부터 암호화된 상기 가상 키보드 데이터 테이블을 전송받는 제1 단계와; 상기 가상 키보드 데이터 테이블을 복호화하는 제2 단계와; 상기 가상 키보드 데이터 테이블 중 초기값을 현출(現出)하는 제3 단계와; 상기 사용자 단말기의 입력장치에 의한 변경신호에 따라 현출되는 값이 변경되는 제4 단계와; 상기 사용자 단말기의 입력장치에 의한 입력신호에 따라 현재 현출되는 값을 입력받는 제5 단계와; 상기 입력받은 값을 암호화하여 상기 서버에 전달하는 제6 단계를 포함한다.A method for preventing a key input hack by a virtual keyboard client module receiving an input value from a user by using the virtual keyboard data table, comprising: a first step of receiving an encrypted virtual keyboard data table from the server; Decrypting the virtual keyboard data table; A third step of presenting an initial value in the virtual keyboard data table; A fourth step of changing the present value according to a change signal by the input device of the user terminal; A fifth step of receiving a currently present value according to an input signal by the input device of the user terminal; And a sixth step of encrypting the received value and transmitting the encrypted value to the server.

상기 변경신호는 증가신호와 감소신호이고, 증가신호가 입력되는 경우에는 상기 가상 키보드 데이터 테이블의 다음 값을 현출하고, 감소신호가 입력되는 경우에는 상기 가상 키보드 데이터 테이블의 이전 값을 현출한다. The change signal is an increase signal and a decrease signal, and when the increase signal is input, the next value of the virtual keyboard data table is displayed, and when the decrease signal is input, the previous value of the virtual keyboard data table is displayed.

상기 가상 키보드 클라이언트 모듈은 증가표시와 감소표시를 사용자 단말기의 화면에 현출하고, 사용자가 컴퓨터 마우스를 이용하여 상기 증가표시를 선택하는 경우 증가신호를 입력하고, 사용자가 컴퓨터 마우스를 이용하여 상기 감소표시를 선택하는 경우 감소신호를 입력한다.The virtual keyboard client module displays the increase and decrease indications on the screen of the user terminal, inputs an increase signal when the user selects the increase indication using a computer mouse, and the user displays the decrease indication using a computer mouse. If select, input decrease signal.

상기 입력신호는 사용자가 컴퓨터 마우스를 이용하여 상기 현재 현출되는 값을 선택하는 경우 발생한다.The input signal is generated when a user selects the currently present value using a computer mouse.

상기 가상 키보드 클라이언트 모듈은 변경표시를 사용자 단말기의 화면에 현출하고, 사용자가 컴퓨터 마우스를 이용하여 상기 변경표시를 선택하는 경우, 현재 현출되는 값이 문자이면 현출되는 값을 숫자로 변경하고, 현재 현출되는 값이 숫자이면 현출되는 값을 문자로 변경한다.The virtual keyboard client module displays the change display on the screen of the user terminal, and when the user selects the change display by using a computer mouse, if the present display value is a character, the display value is changed to a number and the present display is displayed. If the value is a number, the current value is converted to a character.

또한, 상기 가상 키보드 데이터 테이블을 이용하여 가상 키보드 클라이언트 모듈이 사용자로부터 입력값을 입력받아 키입력 해킹을 방지하는 방법에 있어서, 상기 서버로부터 암호화된 상기 가상 키보드 데이터 테이블을 전송받는 제1 단계와; 상기 가상 키보드 데이터 테이블을 복호화하는 제2 단계와; 상기 가상 키보드 데이터 테이블을 현출(現出)하는 제3 단계와; 상기 사용자 단말기의 입력장치에 의한 입력신호에 따라 선택되는 값을 입력받는 제4 단계와; 상기 입력받은 값을 암호화하여 상기 서버에 전달하는 제5 단계를 포함한다.The virtual keyboard client module receives an input value from a user and prevents key input hacking by using the virtual keyboard data table, comprising: a first step of receiving an encrypted virtual keyboard data table from the server; Decrypting the virtual keyboard data table; Presenting the virtual keyboard data table; A fourth step of receiving a value selected according to an input signal by the input device of the user terminal; And encrypting the received value and transmitting the encrypted value to the server.

상기 제4 단계의 입력신호는 사용자가 컴퓨터 마우스를 이용하여 현출되는 값을 선택하는 경우 발생한다. The input signal of the fourth step is generated when the user selects the present value using a computer mouse.

상기 제4 단계의 입력신호는 사용자가 터치스크린를 이용하여 현출되는 값을 선택하는 경우 발생한다.The input signal of the fourth step is generated when the user selects the present value using the touch screen.

본 발명은 이러한 해결 수단을 통해 안전한 암호화 전송 및 사용자를 배려한 편리성을 제공한다. 랜덤하게 생성되는 키의 배열 및 패스키의 갯수 등을 통해 데 이터의 보완성을 높였으며, 모든 랜덤하게 생성되는 값은 서버에서 받아와서 화면에 표시해 주며 클라이언트에서 선택한 값은 바로 서버로 보내 서버에서 자체 치환 테이블을 이용하여 키값을 치환하여 그 보완성을 높이는 효과를 제공한다. The present invention provides secure encryption transmission and user-friendly convenience through such a solution. Complement of data is enhanced through randomly generated key array and number of passkeys, and all randomly generated values are received from the server and displayed on the screen. The self-replacement table is used to substitute key values to increase the complementary effect.

이하 도면을 참조하여 본 발명에 대해 구체적으로 설명하기로 한다. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 키입력 해킹 방지 방법이 구현되는 환경의 도식적인 모습이다. 가상 키보드 클라이언트 모듈이 설치된 사용자 단말기와, 가상 키보드 데이터 테이블을 생성하고 이에 대한 암복호화 작업을 수행하는 가상 키보드 관리 모듈이 설치된 서버를 포함한다. 1 is a schematic view of an environment in which a key input hacking prevention method according to the present invention is implemented. A user terminal in which a virtual keyboard client module is installed, and a server in which a virtual keyboard management module for generating a virtual keyboard data table and performing encryption / decryption operations on the virtual keyboard data table are installed.

도 2는 본 발명에 따른 키입력 해킹 방지 방법을 나타내는 흐름도이다. 2 is a flowchart illustrating a key input hacking prevention method according to the present invention.

서버로부터 랜덤한 초기 설정 키(이하 '초기값'이라 한다)의 정보, 더미키의 정보를 포함한 키의 배열 정보를 사용자 단말기는 전송받아 그것을 화면에 가상키보드를 구동하여 보여주며, 입력받은 값은 다시 서버로 암호화 전송을 하고, 이를 서버에서 복호화하여 값을 치환하고, 치환값을 사용하게 된다. The user terminal receives the key array information including random initial setting key (hereinafter referred to as 'initial value') information and dummy key information from the server, and displays the virtual keyboard on the screen by driving it. The server transmits the encrypted data back to the server, decrypts it on the server, replaces the value, and uses the replacement value.

좀더 구체적으로 설명하자면, 먼저 서버에 설치되는 가상 키보드 관리 모듈은 초기값을 랜덤하게 생성한다(S201) 초기값은 문자 또는 숫자가 될 수 있으며, 문자와 숫자의 조합으로 입력값을 받아야 하는 경우에는 두 가지 모두 되어야 한다. 서버에 설치되는 가상 키보드 관리 모듈은 패스(pass)값으로 불리는 더미값 의 수량을 랜덤하게 생성한다(S202). 패스값은 의미를 갖지 않는 것이며, 사용자가 이를 선택해도 값을 가지지 않는다. 이는 해커가 문자 혹은 숫자의 순번을 알아내는 것에 의해 해킹을 시도할 염려가 있으므로, 이를 방지하기 위해 의미없는 값을 배열의 중간에 넣기 위함이다. More specifically, first, the virtual keyboard management module installed in the server randomly generates an initial value (S201). The initial value may be a letter or a number, and in the case of receiving an input value using a combination of letters and numbers. Both must be. The virtual keyboard management module installed in the server randomly generates a quantity of dummy values called pass values (S202). The pass value has no meaning and does not have a value even if the user selects it. This is to prevent hackers from attempting to hack by figuring out the sequence of letters or numbers, so to prevent this from happening, we put a meaningless value in the middle of the array.

가상 키보드 관리 모듈은 초기값을 시작으로 하는 문자 또는 숫자의 배열을 생성한다. 그리고 생성된 배열의 중간에 패스값을 랜덤하게 배열한다(S203). 이러한 배열은 가상 키보드 데이터 테이블이 된다. The virtual keyboard management module creates an array of letters or numbers starting with the initial value. The path values are randomly arranged in the middle of the generated array (S203). This arrangement becomes a virtual keyboard data table.

가상 키보드 데이터 테이블의 자세한 설명은 도 3에 개시되어 있다. A detailed description of the virtual keyboard data table is shown in FIG. 3.

도 3에는 초기값이 숫자인 경우에 대해서 한정적으로 설명되어 있으나, 문자의 경우에도 마찬가지이다. 첫번째는 초기값이 3이고, 패스값이 5개인 경우이며, 3, 4, 패스값, 5 등으로 배열되어 있다. 두번째는 초기값이 6으로 선택된 경우이고, 패스값이 총 5개인 경우이다. 즉, 문자 또는 숫자의 배열 중간에 패스값을 랜덤하게 생성된 수량만큼 랜덤하게 삽입하여 가상 키보드 데이터 테이블을 생성하게 된다. 패스값은 매번 랜덤한 난수생성기에 의해 총 발생 수량과 위치가 변경된다. In FIG. 3, the case where the initial value is a number is limitedly described, but the same is true for the character. The first is the case where the initial value is 3 and the pass value is 5, and are arranged in 3, 4, pass value, 5, and the like. The second case is when the initial value is selected as 6, and the total of 5 pass values. That is, a virtual keyboard data table is generated by randomly inserting a path value in the middle of an array of letters or numbers by a randomly generated quantity. The pass value is changed by the random random number generator each time and the total number of occurrences and the position.

가상 키보드 관리 모듈은 이렇게 가상 키보드 데이터 테이블을 생성한 후에, 이를 암호화하게 되고, 이를 사용자 단말기로 전송하게 된다(S204). The virtual keyboard management module generates the virtual keyboard data table in this way, encrypts it, and transmits it to the user terminal (S204).

사용자 단말기에는 가상 키보드 클라이언트 모듈이 설치되어 있다. 가상 키보드 클라이언트 모듈은 전송받은 암호화된 가상 키보드 데이터 테이블을 복호화하여 사용자 단말기의 메모리에 저장한다. 그리고 가상 키보드를 사용자 단말기의 화면에 현출하게 된다(S205). 그리고 사용자는 터치 또는 방향키를 이용하여 입력 값을 선택하게 된다. The virtual keyboard client module is installed in the user terminal. The virtual keyboard client module decrypts the received encrypted virtual keyboard data table and stores it in the memory of the user terminal. The virtual keyboard is displayed on the screen of the user terminal (S205). The user selects an input value by using a touch or a direction key.

도 6, 도 7 및 도 8은 본 발명의 가상 키보드 유저 인터페이스의 예시도이다. 일반적으로는 현재 현출되는 해당 입력 모드의 단일의 초기값과, 증가버튼과 감소버튼으로 구성되는 변경신호 입력부와, 문자-숫자변환버튼으로 구성된다. 6, 7 and 8 illustrate exemplary virtual keyboard user interfaces of the present invention. In general, it consists of a single initial value of the current input mode, a change signal input unit consisting of an increase button and a decrease button, and an alphanumeric conversion button.

현재 현출되는 값은 초기에는 가상 키보드 관리 모듈에서 랜덤하게 생성된 단일의 초기값이 표시된다. 증가버튼을 누르는 경우에는 이 값은 생성된 가상 키보드 데이터 테이블의 다음 값으로 증가하게 되고, 감소버튼을 누르는 경우에는 가상 키보드 데이터 테이블의 이전 값으로 감소하게 된다. 문자-숫자변환버튼은 현재 현출되는 값이 숫자인 경우에는 문자의 현재 현출값이 표시되어 있고, 현재 현출되는 값이 문자인 경우에는 숫자의 현재 현출값이 표시되어 있는 것이 바람직하다. 사용자가 문자-숫자변환버튼을 누르게 되는 경우에는 문자의 현재 현출값과 숫자의 현재 현출값이 서로 변환되어 표시된다. 이때 문자-숫자변환버튼도 마찬가지로 변환되어 표시된다. Currently present values are initially displayed with a single initial value randomly generated by the virtual keyboard management module. When the increase button is pressed, this value is increased to the next value of the generated virtual keyboard data table, and when the decrease button is pressed, it is reduced to the previous value of the virtual keyboard data table. It is preferable that the alpha-numeric conversion button displays a present present value of a character when the present value is a number, and displays a present present value of a number when the present value is a letter. When the user presses the alpha-numeric conversion button, the current present value of the letter and the present present value of the number are converted and displayed. At this time, the alpha-numeric conversion button is also converted and displayed.

도 4 및 도 5는 본 발명의 기술 설명을 위한 예시도로서, 상기와 같이 증가버튼 혹은 감소버튼을 선택하였을 경우, 가상 키보드 데이터 테이블에 따라서 현출되는 값이 변화하는 과정을 설명한 것이다. 입력은 문자와 숫자 입력이 가능하며 문자는 선택값을 길게 터치하거나 장치의 입력버튼을 1초 이상 길게 누름으로써 대문자 입력이 가능하게 할 수 있다.4 and 5 are exemplary diagrams for describing the technology of the present invention. When the increase button or the decrease button is selected as described above, the present value changes according to the virtual keyboard data table. Input can be input of letters and numbers. Characters can be inputted by capital letters by touching and holding the selection value or by pressing and holding the input button of the device for 1 second or longer.

더미값인 패스값이 현출되었을 경우에는, 증가버튼 혹은 감소버튼을 눌러야 다음값을 볼 수 있다. 이 패스값의 표현은 도형이나 문자로 표현이 가능하며 서비 스 회사의 이름이나 작은 로고 등을 삽입가능하며 이값은 입력값의 숫자와 문자와 혼동되지 않는 어떠한 값으로도 설정이 가능하다. If a path value that is a dummy value is present, the next value can be viewed by pressing the increase or decrease button. This path value can be expressed as a figure or a character, and the name of a service company or a small logo can be inserted, and this value can be set to any value that is not confused with the numbers and letters of the input value.

그리고 숫자와 문자의 배열에 이값은 랜덤한 자리에 랜덤한 개수로 설정이 되므로 매번 패스값의 자리와 개수의 배열이 달라진다. And since this value is set to a random number at a random place in the array of numbers and letters, the arrangement of the number and place of the pass value is changed each time.

또한, 현출되는 값을 터치 또는 장치의 입력키를 누르면 현재 현출되어 있는 값이 입력되며 대문자를 입력하고자 할 때에는 상기 영역을 1초 이상 길게 누르거나 입력키를 1초이상 누르면 대문자로 변환될 수 있고, 입력 다시 소문자모드로 자동 전환되게 할 수 있다. In addition, when the current value is touched or the input key of the device is pressed, the current value is input. When a capital letter is to be input, the area can be converted to a capital letter by pressing and holding the area for more than 1 second or pressing the input key for more than 1 second. You can automatically switch back to lowercase mode.

이러한 유저 인터페이스는 위에서 설명한 기본모드 이외에 다이얼 모드 및 세로모드 등도 가능하다. 다이얼 모드는 황색원 버튼을 터치 후 +쪽으로 라인을 따라 드래그하면 값이 증가하고, -쪽으로 라인을 따라 드래그 하면 값이 감소한다. 또는 +를 한번 터치하면 값이 증가하고, -를 한번 터치하면 값이 감소한다. In addition to the basic mode described above, the user interface may be a dial mode and a portrait mode. In dial mode, touch the yellow circle button and drag along the line to the + side to increase the value, and drag along the line to the-side to decrease the value. Touch + once to increase the value, touch-once to decrease the value.

세로모드는 기본 모드의 배열을 달라한 것이다. Portrait mode is a different arrangement of the default mode.

사용자 단말기는 상기 설명한 바와 같이 입력값 터치 및 입력버튼을 이용해서 입력값을 입력받게 된다(S207). 그리고 입력받은 입력값을 암호화하여 서버에 전송하게 된다(S208).As described above, the user terminal receives an input value using the input value touch and the input button (S207). The input value is encrypted and transmitted to the server (S208).

이를 전송받은 서버의 가상 키보드 관리 모듈은 전송받은 값을 복호화하고(S209), 이를 가상 키보드 데이터 테이블에 따라 입력값을 치환하고(S210), 치환되어 생성된 키정보를 활용하게 된다(S211).The virtual keyboard management module of the received server decrypts the received value (S209), replaces the input value according to the virtual keyboard data table (S210), and utilizes the substituted key information generated (S211).

도 9는 본 발명에 의한 가상 키보드 클라이언트 모듈이 스마트폰 등의 사용자 단말기에 현출되는 모습을 보여주고 있다. 9 shows a virtual keyboard client module according to the present invention is present on a user terminal such as a smart phone.

도 10은 본 발명에 의한 가상 키보드 클라이언트 모듈의 다른 실시예를 보여준다. 이는 큰화면 단말기 또는 개인용 퍼스털 컴퓨터에서의 출력형태이다. 큰화면은 화면에 생성된 배열을 모두 화면에 표현해 주며, 그 입력값을 장치의 입력장치(터치스크린, 마우스 등)을 이용하여 선택 입력하게 된다. 숫자, 문자도 동일하게 입력이 가능하다.10 shows another embodiment of a virtual keyboard client module according to the present invention. This is the output from a large screen terminal or personal personal computer. The large screen displays all the arrangements created on the screen, and inputs the input value by using the input device (touch screen, mouse, etc.) of the device. You can enter numbers and letters in the same way.

이상 첨부 도면을 참조하여 본 발명의 실시예에 대하여 설명하였지만 본 발명의 권리범위는 첨부하는 특허청구범위에 의하여 결정되며, 전술한 실시예에 제한되는 것으로 해석되어서는 아니 된다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, the scope of the present invention is determined by the appended claims, and should not be construed as limited to the embodiments described above.

또한, 당업자에게 자명하고 특허청구범위에 기재되어 있는 발명의 본질에서 벗어나지 않는, 변경, 개량 내지 수정된 기술도 본 발명의 권리범위에 포함됨이 명백하게 이해된다. It is also clearly understood that modifications, improvements or modifications are also included in the scope of the invention, which will be apparent to those skilled in the art and which do not depart from the spirit of the invention as set forth in the claims.

도 1은 종래 키로거 프로그램의 개략적인 작동 양상을 나타내는 예시도1 is an exemplary view showing a schematic operation of the conventional keylogger program

도 2는 본 발명에 따른 키입력 해킹 방지 방법을 나타내는 흐름도2 is a flowchart showing a key input hacking prevention method according to the present invention.

도 3은 본 발명의 기술 설명을 위한 예시도Figure 3 is an exemplary view for explaining the technical of the present invention

도 4는 본 발명의 기술 설명을 위한 예시도Figure 4 is an exemplary view for explaining the technical of the present invention

도 5는 본 발명의 기술 설명을 위한 예시도5 is an exemplary diagram for describing the technical of the present invention.

도 6은 본 발명의 유저 인터페이스의 예시도6 is an exemplary diagram of a user interface of the present invention.

도 7은 본 발명의 유저 인터페이스의 예시도7 is an exemplary diagram of a user interface of the present invention.

도 8은 본 발명의 유저 인터페이스의 예시도8 is an exemplary diagram of a user interface of the present invention.

도 9는 본 발명의 사용자 단말기에 구현되는 예시도9 is an exemplary diagram implemented in a user terminal of the present invention.

도 10은 본 발명의 사용자 단말기에 구현되는 예시도10 is an exemplary diagram implemented in a user terminal of the present invention.

Claims (9)

삭제delete 가상 키보드 클라이언트 모듈이 설치된 사용자 단말기와, 가상 키보드 데이터 테이블을 생성하고 이에 대한 암복호화 작업을 수행하는 가상 키보드 관리 모듈이 설치된 서버를 포함하는 환경에서 수행되는, 상기 사용자 단말기가 암호를 입력 받는 암호 입력 방법에 있어서A password input for performing a password input by the user terminal, which is performed in an environment including a user terminal having a virtual keyboard client module installed therein and a server having a virtual keyboard management module configured to generate a virtual keyboard data table and perform an encryption / decryption operation. In the way 상기 가상 키보드 데이터 테이블은,The virtual keyboard data table, 각 입력 모드에 대해 단일의 초기값을 랜덤하게 생성하는 제1 단계와;A first step of randomly generating a single initial value for each input mode; 더미값의 개수를 랜덤하게 생성하는 제2 단계와;A second step of randomly generating the number of dummy values; 상기 단일의 랜덤한 초기값을 시작으로 하는 배열을 생성하고, 배열 중간에 더미값을 랜덤하게 배열하여 가상 키보드 데이터 테이블을 생성하는 제3 단계를 포함하는 방법에 의해 생성되며,And generating a virtual keyboard data table by generating an array starting with the single random initial value and randomly arranging dummy values in the middle of the array. 상기 암호 입력 방법은,The password input method, 상기 가상 키보드 데이터 테이블을 전달받아 복호화하는 제4 단계와;Receiving and decoding the virtual keyboard data table; 소정의 입력 모드에 대한 상기 단일의 초기값과 변경 신호 입력부를 현출(現出)하는 제5 단계와;A fifth step of presenting the single initial value and change signal input unit for a predetermined input mode; 상기 변경 신호 입력부의 변경신호에 따라 현출되는 값을 변경하는 제6 단계와;A sixth step of changing a value present in accordance with a change signal of the change signal input unit; 현재 현출되는 값을 입력받는 제7 단계와;A seventh step of receiving a currently present value; 상기 입력받은 값을 암호화하여 상기 서버에 전달하는 제8 단계를 포함하는,And an eighth step of encrypting the received value and transmitting the encrypted value to the server. 암호 입력 방법.How to enter a password. 청구항 2에 있어서,The method according to claim 2, 상기 제6 단계의 변경신호는 증가신호와 감소신호이고, The change signal of the sixth step is an increase signal and a decrease signal, 증가신호가 입력되는 경우에는 상기 가상 키보드 데이터 테이블의 다음 값을 현출하고,When the increase signal is input, the next value of the virtual keyboard data table is displayed. 감소신호가 입력되는 경우에는 상기 가상 키보드 데이터 테이블의 이전 값을 현출하는,When a decrease signal is input, the previous value of the virtual keyboard data table is displayed. 암호 입력 방법.How to enter a password. 청구항 3에 있어서,The method of claim 3, 상기 가상 키보드 클라이언트 모듈은 증가표시와 감소표시를 사용자 단말기의 화면에 현출하고,The virtual keyboard client module displays the increase and decrease display on the screen of the user terminal, 사용자가 컴퓨터 마우스를 이용하여 상기 증가표시를 선택하는 경우 증가신호를 입력하고,If the user selects the increment display using a computer mouse, input the increment signal, 사용자가 컴퓨터 마우스를 이용하여 상기 감소표시를 선택하는 경우 감소신호를 입력하는,Inputting a decrease signal when the user selects the decrease display using a computer mouse, 암호 입력 방법.How to enter a password. 청구항 2에 있어서,The method according to claim 2, 상기 제7 단계의 입력신호는 사용자가 컴퓨터 마우스를 이용하여 상기 현재 현출되는 값을 선택하는 경우 발생하는,The input signal of the seventh step is generated when the user selects the present value using a computer mouse, 암호 입력 방법.How to enter a password. 청구항 2에 있어서,The method according to claim 2, 상기 가상 키보드 클라이언트 모듈은 변경표시를 사용자 단말기의 화면에 현출하고,The virtual keyboard client module displays the change display on the screen of the user terminal, 사용자가 컴퓨터 마우스를 이용하여 상기 변경표시를 선택하는 경우,If the user selects the change mark using a computer mouse, 현재 현출되는 값이 문자이면 현출되는 값을 숫자로 변경하고,If the current value is a character, change the value to be a number, 현재 현출되는 값이 숫자이면 현출되는 값을 문자로 변경하는,If the current value is a number, change the current value to characters, 암호 입력 방법.How to enter a password. 삭제delete 삭제delete 삭제delete
KR1020090113754A 2009-11-24 2009-11-24 A Method for Preventing from Hacking with Virtual Keyboard KR101042227B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090113754A KR101042227B1 (en) 2009-11-24 2009-11-24 A Method for Preventing from Hacking with Virtual Keyboard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090113754A KR101042227B1 (en) 2009-11-24 2009-11-24 A Method for Preventing from Hacking with Virtual Keyboard

Publications (2)

Publication Number Publication Date
KR20110057379A KR20110057379A (en) 2011-06-01
KR101042227B1 true KR101042227B1 (en) 2011-06-16

Family

ID=44393022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090113754A KR101042227B1 (en) 2009-11-24 2009-11-24 A Method for Preventing from Hacking with Virtual Keyboard

Country Status (1)

Country Link
KR (1) KR101042227B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130109389A (en) * 2012-03-27 2013-10-08 박승배 Method for providing personalization virtual keyboard
KR101701871B1 (en) * 2015-12-14 2017-02-02 계명대학교 산학협력단 Method and apparatus of generating a security virtual key pad
KR102362031B1 (en) * 2020-06-30 2022-02-11 (주)엔티시스 Method for preventing macro on web service and server performing the same
KR102394614B1 (en) * 2020-09-07 2022-05-04 숭실대학교산학협력단 Keypad input device and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036813A (en) * 2007-10-10 2009-04-15 김진우 Vertual keyboard hacking protection method using mouse input coordinates
KR20090036820A (en) * 2007-10-10 2009-04-15 김진우 Hacking protection input system and method of the virtual keyboard

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036813A (en) * 2007-10-10 2009-04-15 김진우 Vertual keyboard hacking protection method using mouse input coordinates
KR20090036820A (en) * 2007-10-10 2009-04-15 김진우 Hacking protection input system and method of the virtual keyboard

Also Published As

Publication number Publication date
KR20110057379A (en) 2011-06-01

Similar Documents

Publication Publication Date Title
KR101878149B1 (en) Device, system, and method of secure entry and handling of passwords
KR100745489B1 (en) Preventing method for hacking key input data
US8140855B2 (en) Security-enhanced log in
CN108769027B (en) Secure communication method, device, mobile terminal and storage medium
Nyang et al. Keylogging-resistant visual authentication protocols
US9563778B2 (en) Method for managing public and private data input at a device
KR20080101333A (en) Secutiry method using virtual keyboard
KR100996955B1 (en) Security method using virtual keyboard
EP2973182B1 (en) Methods and apparatus for securing user input in a mobile device
US20120317410A1 (en) Protecting data from data leakage or misuse while supporting multiple channels and physical interfaces
KR101042227B1 (en) A Method for Preventing from Hacking with Virtual Keyboard
Khedr Improved keylogging and shoulder-surfing resistant visual two-factor authentication protocol
CN113032753B (en) Identity verification method and device
KR100447777B1 (en) Hacking prevention of key stroke data
KR101267875B1 (en) Apparatus for message encryption and decryption using virtual keyboard and recording medium storing program for executing method of the same in computer
KR100975854B1 (en) Apparatus and Method for The Password Security on Online
KR20110014177A (en) Method and system for defeating the man in the middle computer hacking technique
KR101152610B1 (en) The Method of Virtual Keyboard
KR100838488B1 (en) The method and apparatus for protecting identification data using one-time and altered identification data generation mechanism, need not to install the program for preventing keystroke hacking on user computer
Divya et al. An impervious QR-based visual authentication protocols to prevent black-bag cryptanalysis
KR101129894B1 (en) Method for preventing memory hacking usign image and system thereof
KR100982199B1 (en) Method for Key Information Security on Online
KR101648779B1 (en) Method for secure text input in information terminal
Neenu On screen randomized blank keyboard
KR20140030406A (en) Privacy protection method for number and letter entry

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
FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160411

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170411

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 9