[go: up one dir, main page]

KR20090036820A - Virtual keyboard hacking prevention input system and operation method - Google Patents

Virtual keyboard hacking prevention input system and operation method Download PDF

Info

Publication number
KR20090036820A
KR20090036820A KR1020070102086A KR20070102086A KR20090036820A KR 20090036820 A KR20090036820 A KR 20090036820A KR 1020070102086 A KR1020070102086 A KR 1020070102086A KR 20070102086 A KR20070102086 A KR 20070102086A KR 20090036820 A KR20090036820 A KR 20090036820A
Authority
KR
South Korea
Prior art keywords
virtual keyboard
input
keyboard
key
dummy
Prior art date
Application number
KR1020070102086A
Other languages
Korean (ko)
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 KR1020070102086A priority Critical patent/KR20090036820A/en
Publication of KR20090036820A publication Critical patent/KR20090036820A/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
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 가상키보드 해킹 방지 입력시스템 및 동작방법에 관한 것으로, 더욱 상세하게는 가상키보드 구동시 입력좌표에 따른 입력 키값을 가지지 않는 더미 키(dummy key)를 가상키보드에 삽입함으로써, 가상키보드 자판들의 입력좌표값을 변경시켜 입력좌표 해킹에 따른 키 입력정보 유출을 방지할 수 있도록 하여 보안성이 향상된 가상키보드 해킹 방지 입력시스템 및 동작방법에 관한 것이다.The present invention relates to a virtual keyboard hacking prevention input system and an operation method, and more particularly, by inserting a dummy key that does not have an input key value according to input coordinates when the virtual keyboard is driven into the virtual keyboard. The present invention relates to a virtual keyboard hacking prevention input system and an operation method of improving security by changing an input coordinate value to prevent leakage of key input information according to input coordinate hacking.

이를 위하여 본 발명은, 아이디 또는 비밀번호와 같이 서비스 제공에 필요한 정보를 입력받기 위하여 사용자에게 텍스트상자를 제공하는 웹브라우저와; 화면상에 키보드 형태로 출력되어 키입력을 받는 가상키보드와; 상기 가상키보드에 입력좌표에 따른 입력 키값을 가지지 않는 더미 키(dummy key)를 삽입하는 것을 제어하고, 상기 가상키보드의 동작을 제어하며 상기 가상키보드로 입력된 키 입력 데이터를 처리하여 상기 웹브라우저로 전송하는 가상키보드 드라이버; 를 포함하여 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템을 제공한다.To this end, the present invention, Web browser for providing a text box to the user to receive the information required for providing the service, such as ID or password; A virtual keyboard which is outputted in the form of a keyboard on the screen and receives a key input; Inserting a dummy key having no input key value according to input coordinates into the virtual keyboard, controlling the operation of the virtual keyboard, and processing key input data input to the virtual keyboard to the web browser. A virtual keyboard driver for transmitting; It provides a virtual keyboard hacking prevention input system, characterized in that configured to include.

Description

가상키보드 해킹 방지 입력시스템 및 동작방법{Hacking protection input system and method of the virtual keyboard}Hacking protection input system and method of the virtual keyboard

본 발명은 가상키보드 해킹 방지 입력시스템 및 동작방법에 관한 것으로, 더욱 상세하게는 가상키보드 구동시 입력좌표에 따른 입력 키값을 가지지 않는 더미 키(dummy key)를 가상키보드에 삽입함으로써, 가상키보드 자판들의 입력좌표값을 변경시켜 입력좌표 해킹에 따른 키 입력정보 유출을 방지할 수 있도록 하여 보안성이 향상된 가상키보드 해킹 방지 입력시스템 및 동작방법에 관한 것이다.The present invention relates to a virtual keyboard hacking prevention input system and an operation method, and more particularly, by inserting a dummy key that does not have an input key value according to input coordinates when the virtual keyboard is driven into the virtual keyboard. The present invention relates to a virtual keyboard hacking prevention input system and an operation method of improving security by changing an input coordinate value to prevent leakage of key input information according to input coordinate hacking.

최근 인터넷과 컴퓨터 기술이 급속도로 발전함에 따라 인터넷 뱅킹, 주식 거래 및 인터넷 쇼핑몰에서의 전자 결제 등 중요한 업무가 개인이나 기업의 개인용 컴퓨터(PC)를 통해 이루어지고 있다.Recently, with the rapid development of the Internet and computer technology, important tasks such as Internet banking, stock trading, and electronic payment in the Internet shopping mall are performed through personal computers (PCs) of individuals or companies.

이러한 PC를 통한 금융 거래나 전자 상거래에서 사용자는 본인의 신원을 증명하기 위해서 아이디(ID), 비밀번호(password), 인증서 비밀번호, 신용카드 번호 또는 주민등록번호 등을 입력하는 인증 과정을 거치게 되어 있다.In such a financial transaction or electronic commerce through a PC, the user goes through an authentication process of inputting an ID, password, certificate password, credit card number or social security number to prove his or her identity.

그러나, 이와 같은 중요 정보를 키보드로 입력하는 과정에서, 악의를 가진 제 3자가 PC에 설치한 스파이웨어(spyware)나 키스트로크 로거(keystroke logger) 를 통해 키보드 입력 정보를 회득함으로써, 취득한 개인 정보를 불법적으로 도용하는 사례들이 증가하고 있다.However, in the process of inputting such important information through the keyboard, the personal information obtained by retrieving the keyboard input information through spyware or keystroke logger installed on the PC by a malicious third party is obtained. There are a growing number of illegal thefts.

이러한 문제를 해결하기 위한 종래의 키보드 해킹 방지 방법으로는 PC에 바이러스 백신이나 스파이웨어 제거 도구 등을 설치하여, 스파이웨어 등의 악성 프로그램을 탐지 및 제거하는 방법이 있다. 그러나, 이러한 방법은 변형 또는 신종 악성 프로그램이 발생한 경우에는 그 피해 상황이 보고된 이후에만 대처가 가능하므로, 사전에 피해를 예방하는 데에는 한계가 있다는 문제점이 있다.As a conventional keyboard hacking prevention method for solving such a problem, there is a method of installing an antivirus or a spyware removal tool on a PC to detect and remove malicious programs such as spyware. However, when the modified or new malicious program occurs, it is possible to cope only after the damage situation is reported, and thus there is a limit in preventing the damage in advance.

또다른 종래의 키보드 해킹 방지 방법으로는 한국등록특허공보 제 0496462호에 기재된 "키 입력 도용 방지 방법"이 있다. 상기 문헌에는 통신 네트워크를 통하여 소정의 서버에 연결된 사용자 컴퓨에 키 로거(key logger)가 존재하는지 여부를 판단하여, 키 로거가 존재하는 경우 상기 사용자 컴퓨터의 화면에 가상키보드를 디스플레이하도록 가상키보드 생성 모듈이 동작함으로써, 사용자로부터 상기 가상키보드를 통해 키 입력을 받는 방법이 기재되어 있다.Another conventional keyboard hacking prevention method is a "key input theft prevention method" described in Korean Patent Publication No. 0496462. The document includes a virtual keyboard generation module that determines whether a key logger exists in a user computer connected to a predetermined server through a communication network, and displays a virtual keyboard on a screen of the user computer when the key logger exists. By this operation, a method of receiving a key input from the user through the virtual keyboard is described.

그러나, 상기 키 입력 도용 방지 방법은 사용자 컴퓨터에 마우스의 좌표 입력을 수집하는 해킹 프로그램이 설치된 경우, 악의를 가진 제 3자가 사용자의 반복적인 마우스 입력 좌표를 획득한 후 이를 분석하여 입력 키 정보를 알아낼 수 있는 문제점이 있다.However, if the hacking program for collecting the coordinate input of the mouse is installed in the user's computer, a malicious third party obtains the input key information by analyzing the repeated mouse input coordinates of the user and analyzing the input key information. There is a problem that can be.

본 발명은 상기한 종래기술에 따른 문제점을 해결하기 위한 것이다. 즉, 본 발명의 목적은 가상키보드 구동시 입력좌표에 따른 입력 키값을 가지지 않는 더미 키를 가상키보드에 삽입함으로써, 가상키보드 자판들의 입력좌표값을 변경시켜 입력좌표 해킹에 따른 키 입력정보 유출을 방지하는 데에 있다.The present invention is to solve the above problems according to the prior art. That is, an object of the present invention is to insert a dummy key that does not have an input key value according to the input coordinates when the virtual keyboard is driven into the virtual keyboard, thereby changing the input coordinate values of the virtual keyboard keyboards to prevent the leakage of key input information according to the input coordinate hacking. It's there.

상기의 목적을 달성하기 위한 기술적 사상으로서의 본 발명은, 아이디 또는 비밀번호와 같이 서비스 제공에 필요한 정보를 입력받기 위하여 사용자에게 텍스트상자를 제공하는 웹브라우저와; 화면상에 키보드 형태로 출력되어 키입력을 받는 가상키보드와; 상기 가상키보드에 입력좌표에 따른 입력 키값을 가지지 않는 더미 키(dummy key)를 삽입하는 것을 제어하고, 상기 가상키보드의 동작을 제어하며 상기 가상키보드로 입력된 키 입력 데이터를 처리하여 상기 웹브라우저로 전송하는 가상키보드 드라이버; 를 포함하여 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템을 제공한다.The present invention as a technical concept for achieving the above object, Web browser for providing a text box to the user to receive the information required for providing the service, such as ID or password; A virtual keyboard which is outputted in the form of a keyboard on the screen and receives a key input; Inserting a dummy key having no input key value according to input coordinates into the virtual keyboard, controlling the operation of the virtual keyboard, and processing key input data input to the virtual keyboard to the web browser. A virtual keyboard driver for transmitting; It provides a virtual keyboard hacking prevention input system, characterized in that configured to include.

본 발명에 의하면 가상키보드 구동시 입력좌표에 따른 입력 키값을 가지지 않는 더미 키(dummy key)를 가상키보드에 삽입함으로써, 가상키보드 자판들의 입력좌표값을 변경시켜 해킹 프로그램에 의해 입력좌표가 누출되는 경우에도 키 입력 정보를 보호할 수 있는 효과가 있다.According to the present invention, when a virtual key is inserted by a hacking program by changing the input coordinate values of keyboard keys by inserting a dummy key having no input key value according to the input coordinates when the virtual keyboard is driven. In addition, there is an effect that can protect the keystroke information.

이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 제 1 실시예에 따른 가상키보드 해킹 방지 입력시스템의 구성을 나타내는 도면이다.1 is a view showing the configuration of a virtual keyboard hacking prevention input system according to a first embodiment of the present invention.

도시된 바와 같이, 본 발명의 제 1 실시예에 따른 가상키보드 해킹 방지 입력시스템은 마우스(10)와, 아이디 또는 비밀번호와 같이 서비스 제공에 필요한 정보를 입력받기 위하여 사용자에게 텍스트상자를 제공하는 웹브라우저(40)와, 화면상에 키보드 형태로 출력되어 마우스를 통해 키 입력을 받는 가상키보드(20)와, 가상키보드(20)에 더미 키를 삽입하는 것을 제어하고 가상키보드(20)의 동작을 제어하고 가상키보드(20)로 입력된 키 입력 데이터를 처리하여 웹브라우저(40)로 전송하는 가상키보드 드라이버(30)를 포함하여 구성된다.As shown, the virtual keyboard hacking prevention input system according to the first embodiment of the present invention is a web browser that provides a text box to the user in order to receive information necessary to provide a service, such as a mouse 10, ID or password 40 and the virtual keyboard 20 which is output in the form of a keyboard on the screen and receives a key input through a mouse, and controls the insertion of a dummy key into the virtual keyboard 20 and controls the operation of the virtual keyboard 20. And a virtual keyboard driver 30 for processing key input data input to the virtual keyboard 20 and transmitting the same to the web browser 40.

상기 가상키보드 드라이버(30)는 입력감지부(31)와, 데이터발신부(33), 키보드제어부(32)로 구성된다.The virtual keyboard driver 30 includes an input sensing unit 31, a data transmitting unit 33, and a keyboard control unit 32.

입력감지부(31)는 가상키보드(20)의 자판에 입력되는 마우스 입력을 감지하여 해당 키값을 산출한다. 또한, 더미 키 입력이 감지될 경우 해당 키값을 산출하지 않는다.The input detector 31 detects a mouse input input to the keyboard of the virtual keyboard 20 and calculates a corresponding key value. In addition, when a dummy key input is detected, the corresponding key value is not calculated.

데이터발신부(33)는 입력된 키 데이터를 웹브라우저(40)로 발신한다.The data transmitter 33 transmits the input key data to the web browser 40.

키보드제어부(32)는 가상키보드(20)를 생성하고, 가상키보드(20)에 더미 키를 삽입하는 것을 제어하고, 가상키보드의 크기 및 위치, 자판의 재배열 등을 제어 한다.The keyboard controller 32 generates the virtual keyboard 20, controls the insertion of the dummy key into the virtual keyboard 20, and controls the size and position of the virtual keyboard, rearrangement of the keyboard, and the like.

도 2는 본 발명의 제 1 실시예에 적용되는 가상키보드의 형태를 나타내는 도면이다.2 is a diagram showing the form of a virtual keyboard applied to the first embodiment of the present invention.

도시된 바와 같이, 본 발명의 제 1 실시예에 적용되는 가상키보드는 숫자와 문자 등을 입력할 수 있는 쿼티(qwerty)형 키보드로서, 상단에는 숫자키(110), 하단에는 문자키(120)가 위치한다. 물론 숫자키(110)와 문자키(120) 순서를 바꿔 위치시킬 수도 있다. 또한, 가로세로가 일치하도록 직선으로 키들을 위치시킬 수도 있고, 일반 쿼티형 키보드와 같이 종방향으로 사선이 되도록 키들을 위치시킬 수도 있다.As shown, the virtual keyboard applied to the first embodiment of the present invention is a qwerty-type keyboard capable of inputting numbers and letters, and includes a number key 110 at the top and a letter key 120 at the bottom. Is located. Of course, the order of the numeric keys 110 and the character keys 120 may be changed. In addition, the keys may be positioned in a straight line so that the horizontal and vertical lines coincide with each other, or the keys may be positioned diagonally in the vertical direction like a general QWERTY-type keyboard.

도 3은 본 발명의 제 1 실시예에 적용되는 가상키보드에 더미 키가 삽입된 모습을 나타내는 도면이다.3 is a diagram illustrating a dummy key inserted into a virtual keyboard applied to the first embodiment of the present invention.

도시된 바와 같이, 본 발명의 제 1 실시예에 적용되는 가상키보드(20)에 더미 키(100)가 삽입된다. 더미 키(100)(dummy key)는 입력좌표에 따른 입력 키값을 가지지 않는 키이다. 즉, 마우스로 더미 키를 클릭하여도 해당 키값이 산출되지 않는다.As shown, the dummy key 100 is inserted into the virtual keyboard 20 applied to the first embodiment of the present invention. The dummy key 100 is a key having no input key value according to the input coordinates. That is, even if a dummy key is clicked with a mouse, the corresponding key value is not calculated.

더미 키(100)가 임의의 위치에 삽입됨으로써, 해킹 프로그램에 의해 마우스의 입력좌표가 누출되더라도 악의를 가진 제 3자가 해당하는 키 입력값을 추정할 수 없도록 한다. 문자키(120)들 중 한 부분에 더미 키(100)가 삽입되어 있으나 더 미 키(100)가 숫자키(110)나 다른 키들 사이에 랜덤하게 삽입될 수도 있다.Since the dummy key 100 is inserted at an arbitrary position, even if the input coordinates of the mouse are leaked by the hacking program, a malicious third party cannot estimate the corresponding key input value. The dummy key 100 is inserted into one of the character keys 120, but the dummy key 100 may be randomly inserted between the numeric key 110 or other keys.

또한, 하나의 더미 키(100)가 삽입될 수도 있고 하나 이상의 더미 키(100)가 삽입될 수도 있으나 많은 수의 더미 키(100)가 삽입될 경우 사용자의 편의성에 방해가 될 수 있는바 바람직하게는 가로방향 줄단위당 0∼2개의 더미 키(100)가 랜덤하게 삽입되도록 한다.In addition, one dummy key 100 may be inserted or one or more dummy keys 100 may be inserted, but when a large number of dummy keys 100 are inserted, it may interfere with the user's convenience. 0 randomly inserts 0 to 2 dummy keys 100 per horizontal line unit.

도 4는 본 발명의 제 1 실시예에 적용되는 가상키보드에 더미 키가 삽입된 모습의 변형예를 나타내는 도면이다.4 is a view showing a modification of the state that the dummy key is inserted into the virtual keyboard applied to the first embodiment of the present invention.

도시된 바와 같이, 본 발명의 제 1 실시예에 적용되는 가상키보드(20)에 더미 키(100)가 종방향의 동일선상 줄단위로 삽입된다.As shown in the drawing, dummy keys 100 are inserted in a line unit in the longitudinal direction in the virtual keyboard 20 applied to the first embodiment of the present invention.

가상키보드(20)의 자판 배열을 가로세로가 일치하도록 직선으로 키들을 위치시킬 경우 세로방향의 일직선상 키들 모두에 더미 키(100)가 삽입될 수 있고, 일반 쿼티형 키보드와 같이 종방향으로 사선이 되도록 키들을 위치시킬 경우 QAZ키들의 자판 배열 방향과 동일선상 줄단위로 더미 키(100)를 모두 삽입할 수도 있고 OKM키들의 자판 배열 방향과 동일선상 줄단위로 더미 키(100)를 모두 삽입할 수도 있다.When the keys are arranged in a straight line such that the keyboard layout of the virtual keyboard 20 is aligned vertically and vertically, the dummy keys 100 may be inserted into all of the vertical straight keys, and diagonally diagonally as in a normal QWERTY keyboard. When positioning the keys so that all the dummy keys 100 can be inserted in the same line as the keyboard arrangement direction of the QAZ keys, the dummy keys 100 can be inserted in the same line as the keyboard arrangement direction of the OKM keys. You may.

또한, 문자키(120) 부분에만 더미 키(100)가 삽입되어 있으나 더미 키(100)가 숫자키(110)나 다른 키들에까지 삽입될 수도 있다.In addition, although the dummy key 100 is inserted only in the character key 120 portion, the dummy key 100 may be inserted into the numeric key 110 or other keys.

이하, 상기한 바와 같이 구성된 가상키보드 해킹 방지 입력시스템을 이용한 본 발명의 제 1 실시예에 따른 가상키보드 해킹 방지 입력시스템 동작방법에 대하 여 도 5를 이용하여 상세히 설명하기로 한다.Hereinafter, a method for operating the virtual keyboard hacking prevention input system according to the first embodiment of the present invention using the virtual keyboard hacking prevention input system configured as described above will be described in detail with reference to FIG. 5.

도 5는 본 발명의 제 1 실시예에 따른 가상키보드 해킹 방지 입력시스템 동작방법을 나타내는 순서도이다.5 is a flowchart illustrating a method for operating a virtual keyboard hacking prevention input system according to a first embodiment of the present invention.

먼저, 사용자가 키보드 입력을 위해 웹브라우저(40)의 텍스트상자에 마우스를 클릭하거나 자동으로 웹브라우저(40)의 텍스트상자에 커서가 위치하게 되는 경우, 가상키보드 드라이버의 키보드제어부(32)는 해당 텍스트상자로 포커스(focus)가 이동되는 것을 감지한다(S100). 예를 들어, 사용자가 인터넷 뱅킹을 이용해서 계좌 이체를 하기 위하여 이체 비밀번호 입력창에 마우스를 클릭하면, 해당 텍스트박스가 포커스를 가지게 되는데, 키보드제어부(32)는 이와 같은 포커스 이동을 감지하게 된다.First, when the user clicks the mouse on the text box of the web browser 40 for keyboard input or the cursor is automatically positioned on the text box of the web browser 40, the keyboard control unit 32 of the virtual keyboard driver is configured to correspond to the text box. In operation S100, the focus is moved to the text box. For example, when the user clicks the mouse on the transfer password input window to transfer the account using internet banking, the corresponding text box has the focus, and the keyboard controller 32 detects the focus movement.

한편, 키보드제어부(32)는 화면상에 키보드 형태로 출력되어 키입력을 받는 가상키보드(20)를 생성한다.(S110).On the other hand, the keyboard controller 32 generates a virtual keyboard 20 that is output in the form of a keyboard on the screen to receive a key input (S110).

이후, 키보드제어부(32)는 가상키보드(20)에 더미 키(100)를 삽입하고 키들을 재배열시킨다(S120). 도 3에 도시된 바와 같이, 가로방향 줄단위당 0∼2개의 더미 키(100)가 랜덤하게 삽입되도록 할 수 있다. 또는, 도 4에 도시된 바와 같이, 가상키보드(20)에 더미 키(100)가 종방향의 동일선상 줄단위로 모두 삽입되도록 할 수 있다. 여기서, 가상키보드(20)는 전술하여 설명한 바와 같이 더미 키(100)가 랜덤하게 삽입된 상태로 생성되며, 각 자판의 좌표가 변경되면서도 각 자판의 상대적인 위치를 계산할 수 있기 때문에, 마우스 입력좌표 해킹에 따른 비밀번호 유출을 방지할 수 있다.Thereafter, the keyboard controller 32 inserts the dummy key 100 into the virtual keyboard 20 and rearranges the keys (S120). As shown in FIG. 3, 0 to 2 dummy keys 100 may be inserted at random per horizontal line unit. Alternatively, as shown in FIG. 4, the dummy keys 100 may be inserted into the virtual keyboard 20 in units of lines in the longitudinal direction. Here, the virtual keyboard 20 is generated with the dummy key 100 randomly inserted as described above, and the relative position of each keyboard can be calculated while the coordinates of each keyboard are changed, so that the mouse input coordinates are hacked. Password can be prevented from being leaked.

상기 S120 단계가 완료되면, 가상키보드 드라이버의 입력감지부(31)는 사용자로부터 가상키보드(20)상의 특정 자판이 마우스로 클릭되는 경우 마우스 입력을 감지하여(S130), 마우스에 의하여 선택된 자판의 입력 키값을 산출한다(S140). 여기서, 상기 S120 단계에서 삽입된 더미 키(100)와 각 키들의 상대적 위치, 마우스가 클릭된 좌표를 이용하여 해당하는 키값을 산출하게 된다.When the step S120 is completed, the input detection unit 31 of the virtual keyboard driver detects a mouse input when a specific keyboard on the virtual keyboard 20 is clicked by a user (S130) and inputs the keyboard selected by the mouse. The key value is calculated (S140). Here, the corresponding key value is calculated using the dummy key 100 inserted in step S120, the relative position of each key, and the coordinates at which the mouse is clicked.

상기 입력 키값 산출 단계(S140) 완료 후, 가상키보드 드라이버의 데이터발신부(33)는 웹브라우저(40)로 상기 입력 키값 데이터를 전송하여 텍스트박스에 해당하는 텍스트가 출력되도록 한다(S150).After completion of the input key value calculating step (S140), the data transmitter 33 of the virtual keyboard driver transmits the input key value data to the web browser 40 so that the text corresponding to the text box is output (S150).

이후, 키보드제어부(32)는 가상키보드(20)를 통한 입력이 종료되었는지를 판단하는데(S160), 입력이 종료된 것으로 판단되는 경우 가상키보드(20)를 종료하여 화면에서 제거되게 하고(S170), 입력이 종료되지 않은 경우 상기 마우스 입력 감지 단계(S130)부터 그 이하 단계들을 반복적으로 수행한다. 여기서, 사용자가 가상키보드(20)의 종료 버튼을 클릭하거나 웹브라우저(40)상의 다른 버튼을 클릭함으로써 텍스트상자가 포커스를 잃게 되는 경우에, 키보드제어부(32)에서 이를 감지하여 입력이 종료된 것으로 판단한다.Thereafter, the keyboard controller 32 determines whether the input through the virtual keyboard 20 is terminated (S160), and when it is determined that the input is terminated, terminates the virtual keyboard 20 to be removed from the screen (S170). If the input is not terminated, the following steps are repeatedly performed from the mouse input sensing step S130. Here, when the text box loses focus by the user clicking the end button of the virtual keyboard 20 or another button on the web browser 40, the keyboard controller 32 detects this and the input is finished. To judge.

한편, 상기 입력 종료 판단 단계(S160)에서 입력이 종료되지 않은 것으로 판단되는 경우, 도 6에 도시된 바와 같이, 가상키보드(20)에 더미 키(100) 위치를 바꿔 재삽입하고 자판들을 재배열한 후(S161), 상기 S130 단계부터 그 이하 단계들을 반복적으로 수행할 수도 있다. 이와 같이 하나의 마우스 입력이 종료될 때마다 다음 입력 이전에 가상키보드(20)에 더미 키(100)의 위치를 바꿔 재삽입시킴으로써, 마우스 입력좌표 해킹에 의한 비밀번호 유출 가능성을 더욱 낮출 수 있다.On the other hand, if it is determined that the input is not terminated in the input end determination step (S160), as shown in Figure 6, by changing the position of the dummy key 100 in the virtual keyboard 20 to reinsert and rearrange the keyboard After (S161), the following steps may be repeatedly performed from the step S130. As described above, whenever one mouse input is terminated, the dummy key 100 is reinserted into the virtual keyboard 20 before the next input, thereby further reducing the possibility of password leakage due to hacking of the mouse input coordinates.

도 7은 본 발명의 제 2 실시예에 적용되는 가상키보드의 형태를 나타내는 도면이다.7 is a diagram showing the form of a virtual keyboard applied to the second embodiment of the present invention.

본 발명의 제 2 실시예에 적용되는 가상키보드는 비밀번호 등의 숫자 입력을 위한 숫자 키보드로서, 도 7의 (a)에 도시된 바와 같이, 일련의 숫자가 시계 방향으로 원주를 따라 순차적으로 배치된 원형의 키보드로 구성된다.The virtual keyboard applied to the second embodiment of the present invention is a numeric keyboard for inputting a number such as a password. As shown in FIG. 7A, a series of numbers are sequentially arranged along the circumference in a clockwise direction. It consists of a circular keyboard.

여기에 도 7의 (b)에 도시된 바와 같이, 가상키보드(20)에는 더미 키(100)가 삽입된다. 더미 키가 8과 9사이에 삽입되어 있으나 적어도 하나이상의 더미 키가 랜덤하게 숫자키들 사이에 삽입될 수 있다. 더미 키(100)가 랜덤하게 가상키보드(20)에 삽입됨으로써, 해킹 프로그램에 의해 마우스의 입력좌표가 누출되더라도 악의를 가진 제 3자가 해당하는 키 입력값을 추정할 수 없도록 한다.As shown in FIG. 7B, a dummy key 100 is inserted into the virtual keyboard 20. Dummy keys are inserted between 8 and 9, but at least one dummy key may be randomly inserted between the numeric keys. Since the dummy key 100 is randomly inserted into the virtual keyboard 20, even if the input coordinates of the mouse are leaked by the hacking program, a malicious third party cannot estimate the corresponding key input value.

여기서, 가상키보드(20)의 외형을 원형이 아닌 삼각형 또는 사각형과 같은 다각형으로 하고 일련의 숫자가 다각형의 외주연을 따라 순차적으로 배치되도록 구성할 수도 있다.Here, the external shape of the virtual keyboard 20 may be configured to be a polygon such as a triangle or a rectangle, not a circle, and a series of numbers are sequentially arranged along the outer circumference of the polygon.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be clear to those who have knowledge of God.

도 1은 본 발명의 제 1 실시예에 따른 가상키보드 해킹 방지 입력시스템의 구성을 나타내는 도면.1 is a view showing the configuration of a virtual keyboard hacking prevention input system according to a first embodiment of the present invention.

도 2은 본 발명의 제 1 실시예에 적용되는 가상키보드의 형태를 나타내는 도면.2 is a view showing the form of a virtual keyboard applied to the first embodiment of the present invention.

도 3는 본 발명의 제 1 실시예에 적용되는 가상키보드에 더미 키가 삽입된 모습을 나타내는 도면.3 is a view showing a state in which a dummy key is inserted into a virtual keyboard applied to the first embodiment of the present invention.

도 4는 본 발명의 제 1 실시예에 적용되는 가상키보드에 더미 키가 삽입된 모습의 변형예를 나타내는 도면.4 is a view showing a modification of the state that the dummy key is inserted into the virtual keyboard applied to the first embodiment of the present invention.

도 5은 본 발명의 제 1 실시예에 따른 가상키보드 해킹 방지 입력시스템 동작방법을 나타내는 순서도.5 is a flowchart illustrating a method for operating a virtual keyboard hacking prevention input system according to a first embodiment of the present invention.

도 6은 본 발명의 제 1 실시예에 따른 가상키보드 해킹 방지 입력시스템 동작방법의 변형예를 나타내는 순서도.6 is a flowchart showing a modification of the method for operating a virtual keyboard hacking prevention input system according to the first embodiment of the present invention.

도 7는 본 발명의 제 2 실시예에 적용되는 가상키보드의 형태를 나타내는 도면.7 is a view showing the form of a virtual keyboard applied to the second embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10 : 마우스 20 : 가상키보드10: mouse 20: virtual keyboard

30 : 가상키보드 드라이버 31 : 입력감지부30: virtual keyboard driver 31: input detection unit

32 : 키보드제어부 33 : 데이터발신부32: keyboard control unit 33: data transmitter

40 : 웹브라우저 100 : 더미 키40: web browser 100: dummy key

Claims (9)

아이디 또는 비밀번호와 같이 서비스 제공에 필요한 정보를 입력받기 위하여 사용자에게 텍스트상자를 제공하는 웹브라우저;A web browser providing a text box to a user to receive information necessary for providing a service such as an ID or a password; 화면상에 키보드 형태로 출력되어 키입력을 받는 가상키보드;A virtual keyboard that is output in the form of a keyboard on the screen and receives a key input; 상기 가상키보드에 입력좌표에 따른 입력 키값을 가지지 않는 더미 키(dummy key)를 삽입하는 것을 제어하고, 상기 가상키보드의 동작을 제어하며 상기 가상키보드로 입력된 키 입력 데이터를 처리하여 상기 웹브라우저로 전송하는 가상키보드 드라이버;Inserting a dummy key having no input key value according to input coordinates into the virtual keyboard, controlling the operation of the virtual keyboard, and processing key input data input to the virtual keyboard to the web browser. A virtual keyboard driver for transmitting; 를 포함하여 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템.Virtual keyboard hacking prevention input system, characterized in that configured to include. 제 1항에 있어서,The method of claim 1, 상기 가상키보드 드라이버는,The virtual keyboard driver, 상기 가상키보드 자판의 입력을 감지하여 해당 키값을 산출하는 입력감지부;An input sensing unit which senses an input of the virtual keyboard keyboard and calculates a corresponding key value; 입력된 키 데이터를 상기 웹브라우저로 발신하는 데이터발신부;A data transmitter for transmitting the input key data to the web browser; 상기 가상키보드를 생성하며 상기 가상키보드에 더미 키를 삽입하고 상기 가상키보드의 크기 및 위치, 자판의 재배열을 제어하는 키보드제어부;A keyboard controller configured to generate the virtual keyboard, insert a dummy key into the virtual keyboard, and control the size and position of the virtual keyboard and rearrangement of the keyboard; 를 포함하여 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템.Virtual keyboard hacking prevention input system, characterized in that configured to include. 제 2항에 있어서,The method of claim 2, 상기 입력감지부는,The input detection unit, 더미 키 입력이 감지될 경우 해당 키값을 산출하지 않는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템.The virtual keyboard hacking prevention input system, characterized in that the key value is not calculated when a dummy key input is detected. 웹브라우저의 텍스트상자로 포커스(focus)가 이동되는 것을 감지하는 단계;Detecting focus being moved to a text box of a web browser; 키입력을 받는 가상키보드를 생성하는 단계;Generating a virtual keyboard receiving a key input; 가상키보드에 더미 키를 삽입하고 가상키보드의 자판들을 재배열하는 단계;Inserting a dummy key into the virtual keyboard and rearranging the keyboards of the virtual keyboard; 사용자로부터 가상키보드의 특정 자판이 클릭되는 경우, 클릭된 자판의 입력좌표를 감지하는 단계;When a specific keyboard of the virtual keyboard is clicked by a user, detecting input coordinates of the clicked keyboard; 상기 감지된 입력좌표에 의해 해당 자판의 입력 키값을 산출하는 단계;Calculating an input key value of the corresponding keyboard based on the detected input coordinates; 상기 산출된 입력 키값을 웹브라우저로 전송하여 텍스트박스에 해당 텍스트가 출력되도록 하는 단계;Transmitting the calculated input key value to a web browser to output the corresponding text in a text box; 가상키보드 입력이 종료된 것으로 판단되는 경우, 가상키보드를 종료하는 단계;Terminating the virtual keyboard if it is determined that the virtual keyboard input is terminated; 를 포함하여 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템 동작방법.Method for operating a virtual keyboard hacking prevention input system, characterized in that configured to include. 제 4항에 있어서,The method of claim 4, wherein 상기 가상키보드에 더미 키를 삽입하는 단계는,Inserting a dummy key into the virtual keyboard, 가상키보드에 적어도 하나 이상의 더미 키를 임의의 위치에 삽입하는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템 동작방법.Method for operating a virtual keyboard hacking prevention input system, characterized in that the at least one dummy key is inserted into the virtual keyboard at an arbitrary position. 제 4항에 있어서,The method of claim 4, wherein 상기 가상키보드는,The virtual keyboard, 쿼티(qwerty)형 키보드로 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템 동작방법.Method for operating a virtual keyboard hacking prevention input system, characterized in that consisting of a qwerty type keyboard. 제 6항에 있어서,The method of claim 6, 상기 가상키보드에 더미 키를 삽입하는 단계는,Inserting a dummy key into the virtual keyboard, 더미 키를 종방향의 동일선상 줄단위로 삽입하는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템 동작방법.Method of operating a virtual keyboard hacking prevention input system, characterized in that the dummy key is inserted in the unit of the same line in the longitudinal direction. 제 4항에 있어서,The method of claim 4, wherein 상기 가상키보드 종료 단계에서 입력이 종료되지 않은 것으로 판단되는 경우,If it is determined that the input is not terminated in the virtual keyboard termination step, 가상키보드에 더미 키의 위치를 바꿔 재삽입하고 가상키보드의 자판들을 재배열하고 상기 입력좌표 감지 단계로 이동하는 단계;Reinserting the dummy key by repositioning the dummy key on the virtual keyboard, rearranging the keyboards of the virtual keyboard, and moving to the input coordinate sensing step; 를 더 포함하여 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시 스템 동작방법.Virtual keyboard hacking prevention input system operation method, characterized in that it further comprises. 제 4항에 있어서,The method of claim 4, wherein 상기 가상키보드는,The virtual keyboard, 일련의 숫자가 시계 방향으로 원주를 따라 순차적으로 배치된 원형의 키보드로 구성되는 것을 특징으로 하는 가상키보드 해킹 방지 입력시스템 동작방법.Method of operating a virtual keyboard hacking prevention input system, characterized in that consisting of a circular keyboard sequentially arranged in a series of circumference clockwise.
KR1020070102086A 2007-10-10 2007-10-10 Virtual keyboard hacking prevention input system and operation method KR20090036820A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070102086A KR20090036820A (en) 2007-10-10 2007-10-10 Virtual keyboard hacking prevention input system and operation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070102086A KR20090036820A (en) 2007-10-10 2007-10-10 Virtual keyboard hacking prevention input system and operation method

Publications (1)

Publication Number Publication Date
KR20090036820A true KR20090036820A (en) 2009-04-15

Family

ID=40761681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070102086A KR20090036820A (en) 2007-10-10 2007-10-10 Virtual keyboard hacking prevention input system and operation method

Country Status (1)

Country Link
KR (1) KR20090036820A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101042227B1 (en) * 2009-11-24 2011-06-16 이니텍(주) How to prevent keystroke hacking using the virtual keyboard
KR101239363B1 (en) * 2011-02-18 2013-03-05 (주)바이너리소프트 Apparatus and method for inputting a password in a mobile
KR101373457B1 (en) * 2011-12-02 2014-03-26 비씨카드(주) Method and apparatus for authenticating password of user device using dummy key
KR101505295B1 (en) * 2013-06-25 2015-03-23 숭실대학교산학협력단 Key input method and apparatus
CN105022494A (en) * 2014-04-30 2015-11-04 虹映科技股份有限公司 Safe input method and system of virtual keyboard
KR101648779B1 (en) * 2015-04-02 2016-08-17 (주)케이스마텍 Method for secure text input in information terminal
KR101701871B1 (en) * 2015-12-14 2017-02-02 계명대학교 산학협력단 Method and apparatus of generating a security virtual key pad
KR101721474B1 (en) * 2015-12-14 2017-03-30 계명대학교 산학협력단 Method and apparatus of generating a virtual key pad strengthening security
KR20200082723A (en) * 2018-12-31 2020-07-08 우석대학교 산학협력단 Vulnerability countermeasure virtual keyboard providing device and method and computer readable medium storing program of the same
US10905941B2 (en) 2017-02-02 2021-02-02 Phoenixdarts Co., Ltd. Dart game apparatus and computer program stored in computer-readable medium for providing multimedia information

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101042227B1 (en) * 2009-11-24 2011-06-16 이니텍(주) How to prevent keystroke hacking using the virtual keyboard
KR101239363B1 (en) * 2011-02-18 2013-03-05 (주)바이너리소프트 Apparatus and method for inputting a password in a mobile
KR101373457B1 (en) * 2011-12-02 2014-03-26 비씨카드(주) Method and apparatus for authenticating password of user device using dummy key
KR101505295B1 (en) * 2013-06-25 2015-03-23 숭실대학교산학협력단 Key input method and apparatus
CN105022494A (en) * 2014-04-30 2015-11-04 虹映科技股份有限公司 Safe input method and system of virtual keyboard
KR101648779B1 (en) * 2015-04-02 2016-08-17 (주)케이스마텍 Method for secure text input in information terminal
KR101701871B1 (en) * 2015-12-14 2017-02-02 계명대학교 산학협력단 Method and apparatus of generating a security virtual key pad
KR101721474B1 (en) * 2015-12-14 2017-03-30 계명대학교 산학협력단 Method and apparatus of generating a virtual key pad strengthening security
US10905941B2 (en) 2017-02-02 2021-02-02 Phoenixdarts Co., Ltd. Dart game apparatus and computer program stored in computer-readable medium for providing multimedia information
KR20200082723A (en) * 2018-12-31 2020-07-08 우석대학교 산학협력단 Vulnerability countermeasure virtual keyboard providing device and method and computer readable medium storing program of the same

Similar Documents

Publication Publication Date Title
KR20090036820A (en) Virtual keyboard hacking prevention input system and operation method
CA2624712C (en) Method and system for secure password/pin input via mouse scroll wheel
KR100812411B1 (en) Method and system for graphic image authentication
US8117458B2 (en) Methods and systems for graphical image authentication
CN104584086B (en) PIN is verified
US8613047B2 (en) Interacting with internet servers without keyboard
TWI509452B (en) Method, system and computer program product for securing access to an unsecure network utilizing a transparent identification member
US20080184363A1 (en) Coordinate Based Computer Authentication System and Methods
US20140098141A1 (en) Method and Apparatus for Securing Input of Information via Software Keyboards
US20030146931A1 (en) Method and apparatus for inputting secret information using multiple screen pointers
KR100745489B1 (en) Key input hacking prevention method
EP2260432A1 (en) Receiving input data
JP5121190B2 (en) Input device and automatic teller machine
KR100880862B1 (en) How to Secure User Input to Electronic Devices
WO2012170800A1 (en) Protecting data from data leakage or misuse while supporting multiple channels and physical interfaces
KR100496462B1 (en) Method for protecting from keystroke logging
KR101042227B1 (en) How to prevent keystroke hacking using the virtual keyboard
KR100912955B1 (en) Virtual keyboard hacking prevention input system and operation method
KR20090036813A (en) How to prevent virtual keyboard hacking using mouse input coordinates
KR101015633B1 (en) Secure data entry method and computer readable recording medium
KR101152610B1 (en) The Method of Virtual Keyboard
JP5587401B2 (en) Keyboard input data security system and method
KR100861189B1 (en) No-click user authentication method and device
KR100854302B1 (en) How to prevent keyboard hacking using a virtual keyboard
KR100854303B1 (en) How to prevent keyboard hacking using scrolling virtual keyboard

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20071010

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090826

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20100304

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20090826

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I