KR102149354B1 - Device and method as a countermeasure against vulnerabilities of virtual keyboard and computer―readable media storing the program for the method - Google Patents

Device and method as a countermeasure against vulnerabilities of virtual keyboard and computer―readable media storing the program for the method Download PDF

Info

Publication number
KR102149354B1
KR102149354B1 KR1020180173588A KR20180173588A KR102149354B1 KR 102149354 B1 KR102149354 B1 KR 102149354B1 KR 1020180173588 A KR1020180173588 A KR 1020180173588A KR 20180173588 A KR20180173588 A KR 20180173588A KR 102149354 B1 KR102149354 B1 KR 102149354B1
Authority
KR
South Korea
Prior art keywords
virtual keyboard
key
vulnerability
keys
providing
Prior art date
Application number
KR1020180173588A
Other languages
Korean (ko)
Other versions
KR20200082723A (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 KR1020180173588A priority Critical patent/KR102149354B1/en
Publication of KR20200082723A publication Critical patent/KR20200082723A/en
Application granted granted Critical
Publication of KR102149354B1 publication Critical patent/KR102149354B1/en

Links

Images

Classifications

    • 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
    • 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/0202Constructional details or processes of manufacture of the input device
    • G06F3/0219Special purpose keyboards
    • 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/0238Programmable keyboards

Abstract

본 발명은 취약점 대응 가상키보드 제공 장치 및 방법, 그 방법을 및 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체에 관한 것으로, 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법은 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공하는 제1 단계; 및 상기 가상 키보드의 키가 입력되면 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공하는 제2 단계;를 포함하여 구성된다.The present invention relates to an apparatus and method for providing a virtual keyboard for vulnerability, and to a computer-readable recording medium in which the method and a program to perform the method are recorded, and a method for providing a virtual keyboard for vulnerability according to an embodiment of the present invention comprises a virtual keyboard. A first step of configuring and providing a virtual keyboard including a blank space in at least one of both ends of each additional row; And a second step of reconfiguring and providing the virtual keyboard by rearranging the keys of the virtual keyboard and the blank spaces when a key of the virtual keyboard is input.

Description

취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체{DEVICE AND METHOD AS A COUNTERMEASURE AGAINST VULNERABILITIES OF VIRTUAL KEYBOARD AND COMPUTER―READABLE MEDIA STORING THE PROGRAM FOR THE METHOD}A device and method for providing a virtual keyboard for vulnerability, and a computer-readable recording medium in which a program that performs the method is recorded.

본 발명의 실시예는 취약점 대응 가상키보드 제공 장치 및 방법에 관한 것이다.An embodiment of the present invention relates to an apparatus and method for providing a virtual keyboard corresponding to a vulnerability.

스마트폰을 주축으로 한 모바일 기기를 통한 미디어 이용은 꾸준히 증가하는 추세이다. 스마트폰의 경우, 2017년 11월 보급률이 84.8%를 기록하였으며, 2018년 10월에는 스마트폰 가입자 수가 5천만명이 넘어 사실상 1인 1스마트폰 시대가 열리면서 초등학생부터 고령층까지 스마트폰의 영향력이 전연령층으로 확대되었다. 스마트폰의 운영체제는 안드로이드, iOS, 윈도모바일, 심비안 등이 있으며, 우리나라의 경우 2017년 11월을 기준으로 안드로이드가 77.4%를 점유율을 가지고 있다.The use of media through mobile devices centered on smartphones is steadily increasing. In the case of smartphones, the penetration rate of smartphones reached 84.8% in November 2017, and in October 2018, the number of smartphone subscribers exceeded 50 million, and as the era of virtually one-person smartphones began, the influence of smartphones from elementary school students to the elderly has been increasing. Was expanded to. Smartphone operating systems include Android, iOS, Windows Mobile, and Symbian, and in Korea, Android owns 77.4% of the market as of November 2017.

스마트폰에서 실행되는 앱의 종류는 메신저, 포털, 뉴스, 게임, 엔터테인먼트, 지도 등 생활서비스 및 은행, 신용카드나 쿠폰과 같은 금융결제 등 매우 다양하다. 2018년 현재 금융서비스 중 조회서비스의 85.1%가 모바일뱅킹 등 인터넷 뱅킹을 이용하고 있으며, 인터넷뱅킹 이용 고객 중에서 92.4%는 모바일 뱅킹을 이용하고 있다. The types of apps that run on smartphones are very diverse, including life services such as messengers, portals, news, games, entertainment, maps, and financial payments such as banks and credit cards and coupons. As of 2018, 85.1% of inquiry services among financial services use Internet banking such as mobile banking, and 92.4% of Internet banking customers use mobile banking.

금융결제는 다른 서비스에 비해서 개인정보의 보호가 가장 중요하기 때문에 사용자의 인증 체계를 가장 민감하고 까다롭게 유지하고 있다. 금융 서비스에서 사용하고 있는 사용자 인증 방법은 다양하나, 가장 일반적이고 널리 사용되는 방법은 아이디와 패스워드를 입력하는 방법이다. 그 외에도 지문인식, 공인인증서, PIN(Personal Identification Number), OTP(One Time Password) 등 좀 더 안전하다고 인식되는 방법들이 있으나 대부분 아이디/패스워드 방법과 병행하여 운영되고 있다.In financial settlement, the protection of personal information is the most important compared to other services, so the user's authentication system is kept the most sensitive and demanding. There are various user authentication methods used in financial services, but the most common and widely used method is the input of ID and password. In addition, there are methods that are recognized as more secure, such as fingerprint recognition, public certificate, PIN (Personal Identification Number), and OTP (One Time Password), but most are operated in parallel with the ID/password method.

지문인식을 제외한 나머지 방법들은 모두 키보드를 통하여 패스워드를 비롯한 비밀정보를 입력해야만 한다. 스마트폰은 실제 키보드를 사용하지 않기 때문에 화면에 가상 키보드를 제공하는데, 일반 PC에 비하여 화면의 크기가 작고 멀티윈도우를 지원하지 않아 키보드 입력 보안에 상당한 제약이 따른다.Except for fingerprint recognition, all other methods require entering secret information including passwords through the keyboard. Since smartphones do not use a real keyboard, they provide a virtual keyboard on the screen. Compared to general PCs, the screen size is small and does not support multi-windows, so there are significant restrictions on keyboard input security.

PC를 이용하여 은행 사이트에 로그인하기 위해서 공인인증서를 이용하든 아이디/패스워드를 이용하든 공인인증서 비밀번호나 패스워드 입력이 필요하다. 로그인 후에도 계좌비밀번호를 입력하기 위해서 키보드 입력이 필요하다. 그러나 키보드 입력은 키로깅(key logging) 공격에 취약하기 때문에 많은 은행 사이트들은 키로거(key logger)로부터 패스워드 등을 보호하기 위하여 화면에 가상키보드를 출력하여 마우스 클릭으로 입력할 수 있도록 지원한다. 그러나 가상키보드를 이용하더라도 마우스의 입력 위치의 노출로 패스워드가 분석되는 것을 방지하기 위하여, 빈칸을 임의의 위치에 끼워 넣어 가상키보드의 키의 위치가 매번 변하도록 하는 동적 가상키보드를 많이 이용한다.Whether you use a public certificate or ID/password to log in to the bank site using a PC, you need to enter a public certificate password or password. Even after logging in, you need to enter a keyboard to enter your account password. However, since keyboard input is vulnerable to key logging attacks, many banking sites display a virtual keyboard on the screen to protect passwords from key loggers and input them with a mouse click. However, even if a virtual keyboard is used, in order to prevent the password from being analyzed due to the exposure of the input position of the mouse, a dynamic virtual keyboard in which the position of the keys of the virtual keyboard is changed every time by inserting a blank space in an arbitrary position is widely used.

예를 들어, 가운데 은행 로고와 빈칸(혹은 더미키)을 삽입하고 멀티마우스를 사용하도록 하거나, 공인인증서와 아이디를 이용한 로그인에 다른 동적 가상키보드를 사용하며, 이때 대부분 키들의 상대적인 위치는 고수되지만 일부 은행의 경우에는 숫자의 순서가 바뀌기도 한다.For example, insert a bank logo and a blank (or dummy key) in the center and use a multi-mouse, or use a different dynamic virtual keyboard for login using a public certificate and ID. In this case, the relative position of the keys is mostly adhered to, but some In the case of banks, the order of the numbers may change.

또한, PC에서 제공되는 많은 서비스들은 스마트폰 앱의 형태로 지원되고 있다. 그러나 스마트폰이 제공하는 휴대성과 이동성이라는 편리함을 얻는 대신, 낮은 성능과 작은 화면으로 인한 여러 가지 한계와 취약점이라는 대가를 치러야 한다.In addition, many services provided on PCs are supported in the form of smartphone apps. However, instead of gaining the convenience of portability and portability that smartphones provide, they have to pay the price of various limitations and weaknesses due to low performance and small screen.

스마트폰 은행앱들도 패스워드 입력을 위하여 대부분 PC와 유사한 동적 가상키보드를 제공하고 있다. 종래의 일반적으로 은행에서 사용하는 앱은 모두 동적인 가상키보드를 제공하고 있으며, 사용자의 편리를 위하여 기존의 키들 사이에 빈칸만 삽입할 뿐, 키들의 상대적 위치는 변하지 않도록 하고 있다. 즉, 예를 들어서 'e' 키는 항상 두 번째 줄에 존재하며, 'w'의 오른쪽에 그리고 'r'의 왼쪽에 위치한다. Smartphone banking apps also provide dynamic virtual keyboards similar to most PCs for password input. Conventional apps generally used in banks provide dynamic virtual keyboards, and for user convenience, only blank spaces are inserted between existing keys, and the relative positions of the keys are not changed. That is, for example, the'e' key always exists on the second line, to the right of'w' and to the left of'r'.

스마트폰 은행앱의 경우는 PC와는 달리 창의 크기를 확대, 축소하거나 창의 위치를 이동할 수 없으며 가로보기(화면 회전)를 제공하지 않아 가상키보드의 위치와 크기가 고정되므로, 입력되는 스크린 터치 위치에 대한 노출의 위험성이 PC의 경우보다 더욱 높다.Unlike the PC, the smartphone bank app cannot enlarge or reduce the window size or move the window's position, and does not provide a horizontal view (screen rotation), so the position and size of the virtual keyboard are fixed. The risk of exposure is even higher than that of a PC.

이러한 위험성을 완화시키기 위하여 종래 기술에 따른 앱은 '재배열 키'를 제공하여 이를 누를 경우 빈칸의 위치가 변경되도록 하는데, 일부 앱에서는 입력된 패스워드를 모두 지워 초기화하기도 한다. 또한 삽입되는 빈칸의 크기를 실제키의 1/2로 줄여서 개수를 2배로 늘림으로써 안전도의 향상을 도모하고, 삽입되는 1/2 빈칸의 개수를 줄이고 키들의 크기를 미세하게 늘리기도 한다. In order to mitigate this risk, an app according to the prior art provides a'rearrangement key' so that the location of the blank is changed when it is pressed, and some apps erase all input passwords and initialize. In addition, the size of the inserted blanks is reduced to 1/2 of the actual key and the number is doubled to improve safety, and the number of inserted 1/2 blanks is reduced, and the size of the keys is slightly increased.

이와 같이 사용자의 편의를 위하여 키의 재배열 방법을 제한적으로 적용하고 있으며, 키의 위치를 재배열한다기 보다는 각 줄 별로 1∼2개의 빈칸을 삽입함으로써 키가 매번 다른 곳에 위치할 수 있도록 한다. 따라서 각 키가 속한 줄은 고정되며, 각 줄에서 키들의 상대적 위치는 변경되지 않는다. 또한 화면 회전이 허용되지 않기 때문에 가변적인 개수의 빈칸을 사용하는 경우를 제외하면 키의 크기는 고정된다.In this way, for the user's convenience, a method of rearranging keys is limitedly applied, and rather than rearranging the location of the keys, one or two blanks are inserted for each line so that the keys can be placed in different places each time. Therefore, the row to which each key belongs is fixed, and the relative positions of the keys in each row are not changed. Also, since screen rotation is not allowed, the size of the keys is fixed, except when a variable number of blanks is used.

그러나, 종래 기술에 따르면, 재배열 키를 누르지 않으면 빈칸의 위치가 고정되어, 패스워드에 포함된 중복된 키는 동일한 위치에서 입력이 일어나 그 분포가 노출되거나, 빈칸이 올 수 있는 위치의 분포가 균일하지 않거나, 키의 상대 위치가 변하지 않기 때문에 좌우 끝단에 가까운 키들은 그 키의 좌측에 빈칸이 올 확률과 우측에 빈칸이 올 확률의 차이가 커지며, 그 결과로 가운데 있는 키들에 비해 패스워드에 포함된 키의 식별률이 높아지며, 사용자가 빈칸을 입력하지 않기 때문에, 최좌측이나 최우측에서에서 패스워드 키의 입력이 발생하면 식별률이 100%되는 보안상의 취약점이 발생하였다.However, according to the prior art, if the rearrangement key is not pressed, the position of the blank is fixed, and the duplicate key included in the password is input at the same position and the distribution is exposed, or the distribution of the position where the blank can come is uniform. Because the key does not change or the relative position of the key does not change, the difference between the probability of a blank on the left and a blank on the right of keys close to the left and right ends of the key increases. Since the identification rate of the key increases and the user does not enter blank spaces, a security vulnerability in which the identification rate is 100% occurs when the password key is input from the leftmost or rightmost side.

본 발명은 전술한 문제를 해결하기 위해 안출된 것으로서, 보안이 민감한 스마트폰 은행앱이 사용하고 있는 가상키보드의 보안 방식을 개선하여 취약점을 보완한 가상키보드 제공 장치 및 방법을 제공하고자 한다.The present invention has been devised to solve the above-described problem, and is to provide an apparatus and method for providing a virtual keyboard that compensates for the vulnerability by improving the security method of a virtual keyboard used by a security sensitive smartphone bank app.

전술한 문제를 해결하기 위한 본 실시예에 따른 취약점 대응 가상키보드 제공 방법은 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공하는 제1 단계; 및 상기 가상 키보드의 키가 입력되면 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열 하여 상기 가상 키보드를 재구성하여 제공하는 제2 단계;를 포함한다.The method for providing a virtual keyboard for vulnerability according to the present embodiment for solving the above-described problem includes: a first step of constructing and providing a virtual keyboard including a blank space in at least one of both ends of each row by the virtual keyboard configuration unit; And a second step of reconfiguring and providing the virtual keyboard by rearranging the keys of the virtual keyboard and the blanks by the virtual keyboard configuration unit when a key of the virtual keyboard is input.

본 발명의 다른 일실시예에 따르면, 상기 제1 단계는 상기 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 단계; 활성화 처리부가 상기 가상 키보드 상에 취약점 보완키를 배치하고, 상기 취약점 보완키를 제외한 나머지 키들은 비활성화하는 단계; 및 상기 취약점 보완키가 입력되면, 상기 활성화 처리부가 상기 나머지 키들을 활성화하여 상기 가상 키보드 구성부가 상기 가상 키보드를 제공하는 단계;를 포함할 수 있다.According to another embodiment of the present invention, the first step includes: configuring a virtual keyboard including a blank space at at least one of both ends of each row by the virtual keyboard configuration unit; Disposing, by an activation processing unit, a vulnerability supplement key on the virtual keyboard, and deactivating other keys except for the vulnerability supplement key; And when the vulnerability supplementing key is input, the activation processing unit activating the remaining keys to provide the virtual keyboard by the virtual keyboard configuration unit.

본 발명의 다른 일실시예에 따르면, 상기 빈칸은 상기 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치될 수 있다.According to another embodiment of the present invention, the blank is configured to be the same as the size of the key, and may be disposed at both ends of each row with the same probability.

본 발명의 다른 일실시예에 따르면, 상기 취약점 보완키를 제외한 나머지 키들을 비활성화하는 단계는 상기 취약점 보완키 제공부가 상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치할 수 있다.According to another embodiment of the present invention, in the step of deactivating the keys other than the vulnerability supplementation key, the vulnerability supplementation key providing unit may place a vulnerability supplementation key activated in any one of the blanks.

본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치는 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 가상 키보드 구성부; 상기 가상 키보드 상에 취약점 보완키를 배치하는 취약점 보완키 제공부; 및 상기 취약점 보완키를 제외한 나머지 키들은 비활성화하고, 상기 취약점 보완키가 입력되면, 상기 나머지 키들을 활성화시키는 활성화 처리부;를 포함하고, 상기 가상 키보드 구성부는 상기 가상 키보드의 키가 입력되면 상기 가상 키보드의 키와 상기 빈칸을 재배열 하여 상기 가상 키보드를 재구성하여 제공한다.An apparatus for providing a virtual keyboard for vulnerability according to an embodiment of the present invention comprises: a virtual keyboard configuration unit configuring a virtual keyboard including blank spaces at at least one of both ends of each row; A vulnerability supplementing key providing unit for disposing a vulnerability supplementing key on the virtual keyboard; And an activation processing unit configured to deactivate the remaining keys except for the vulnerability supplement key, and activate the remaining keys when the vulnerability supplement key is input, wherein the virtual keyboard configuration unit includes the virtual keyboard when a key of the virtual keyboard is input. The virtual keyboard is reconfigured and provided by rearranging the keys of and the blanks.

본 발명의 다른 일실시예에 따르면, 각 줄의 좌우측의 양단에 동일 확률로 빈칸이 배치되도록 하는 빈칸 배치부;를 더 포함할 수 있다.According to another embodiment of the present invention, it may further include a blank arranging unit for arranging blanks with the same probability at both ends of the left and right sides of each row.

본 발명의 다른 일실시예에 따르면, 상기 취약점 보완키 제공부는 상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치할 수 있다.According to another embodiment of the present invention, the vulnerability supplementing key providing unit may place a vulnerability supplementing key activated in any one of the blanks.

본 발명의 실시예에 따르면 보안이 민감한 스마트폰 은행앱이 사용하고 있는 가상키보드의 보안 방식을 개선하여 취약점을 보완한 가상키보드 제공 장치 및 방법을 제공할 수 있다.According to an embodiment of the present invention, it is possible to provide an apparatus and method for providing a virtual keyboard that compensates for a vulnerability by improving the security method of a virtual keyboard used by a security sensitive smartphone bank app.

도 1은 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치의 구성도이다.
도 2 및 도 3은 본 발명의 일실시예에 따라 제공되는 취약점 대응 가상키보드를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.
1 is a block diagram of an apparatus for providing a virtual keyboard corresponding to a vulnerability according to an embodiment of the present invention.
2 and 3 are diagrams illustrating a virtual keyboard corresponding to a vulnerability provided according to an embodiment of the present invention.
4 is a flow chart illustrating a method of providing a virtual keyboard corresponding to a vulnerability according to an embodiment of the present invention.
5 is a flow chart illustrating a method of providing a virtual keyboard corresponding to a vulnerability according to an embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 바람직한 본 발명의 일실시예에 대해서 상세히 설명한다. 다만, 실시형태를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 또한, 도면에서의 각 구성요소들의 크기는 설명을 위하여 과장될 수 있으며, 실제로 적용되는 크기를 의미하는 것은 아니다.Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, in describing the embodiments, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, the size of each component in the drawings may be exaggerated for the sake of explanation, and does not mean the size actually applied.

도 1은 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치의 구성도이고, 도 2 및 도 3은 본 발명의 일실시예에 따라 제공되는 취약점 대응 가상키보드를 도시한 도면이다.1 is a block diagram of an apparatus for providing a vulnerability-responding virtual keyboard according to an embodiment of the present invention, and FIGS. 2 and 3 are diagrams illustrating a vulnerability-response virtual keyboard provided according to an embodiment of the present invention.

이후부터는 도 1 내지 도 3을 참조하여 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치를 설명하기로 한다.Hereinafter, an apparatus for providing a virtual keyboard corresponding to a vulnerability according to an embodiment of the present invention will be described with reference to FIGS. 1 to 3.

본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치(100)는 가상 키보드 구성부(110), 빈칸 배치부(120), 취약점 보완키 제공부(130) 및 활성화 처리부(140)를 포함하여 구성될 수 있다.Vulnerability response virtual keyboard providing apparatus 100 according to an embodiment of the present invention includes a virtual keyboard configuration unit 110, blank placement unit 120, vulnerability supplement key providing unit 130, and activation processing unit 140 Can be configured.

상기 가상 키보드 구성부(110)는 가상 키보드(200)를 구성하여 제공한다.The virtual keyboard configuration unit 110 constructs and provides a virtual keyboard 200.

보다 구체적으로, 도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면 상기 가상 키보드 구성부(110)는 사용자의 편의를 고려하여 키들의 상대적 위치는 변하지 않도록 재배열하여 제공하며, 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸(210)을 포함하는 가상 키보드(200)를 구성한다.More specifically, as shown in FIG. 2, according to an embodiment of the present invention, the virtual keyboard configuration unit 110 rearranges and provides the relative positions of the keys in consideration of the user's convenience. A virtual keyboard 200 including a blank 210 is configured in at least one of both ends.

즉, 상기 가상 키보드 구성부(110)는 가상 키보드(200) 상의 키들을 뒤섞지 않고, 각 줄에 1 내지 2개의 빈칸들(210)을 삽입하여 상기 가상 키보드(200)를 구성할 수 있다.That is, the virtual keyboard configuration unit 110 may configure the virtual keyboard 200 by inserting one to two blanks 210 in each row without mixing keys on the virtual keyboard 200.

이때, 빈칸 배치부(120)는 각 줄의 좌우측의 양단에 동일 확률로 빈칸(210)이 배치되도록 할 수 있으며, 상기 빈칸(210)은 가상 키보드(200) 상의 키의 크기와 동일하게 구성될 수 있다.At this time, the blank placement unit 120 may allow the blanks 210 to be disposed at both ends of the left and right sides of each row with the same probability, and the blanks 210 may be configured to be the same as the size of the keys on the virtual keyboard 200. I can.

취약점 보완키 제공부(130)는 상기 가상 키보드(200) 상에 취약점 보완키(220)를 배치한다.The vulnerability supplementing key providing unit 130 arranges the vulnerability supplementing key 220 on the virtual keyboard 200.

도 3을 참조하면, 상기 취약점 보완키 제공부(130)는 상기 가상 키보드(200) 상에 표시되는 빈칸들(210) 중에서 어느 하나의 빈칸(210)에 취약점 보완키(220)를 배치할 수 있다.Referring to FIG. 3, the vulnerability supplementing key providing unit 130 may place a vulnerability supplementing key 220 in any one of the blanks 210 displayed on the virtual keyboard 200. have.

상기 취약점 보완키(220)는 비활성화된 가상 키보드(200) 상에서 유일하게 활성화되는 키로서, 상기 취약점 보완키(220)를 누르면 비활성화되었던 가상 키보드(200)의 모든 키가 활성화되도록 하는 기능을 제공하는 키이다.The vulnerability supplement key 220 is the only key activated on the deactivated virtual keyboard 200, and provides a function to activate all keys of the virtual keyboard 200 that have been deactivated when the vulnerability supplement key 220 is pressed. It's the key.

활성화 처리부(140)는 이와 같은 취약점 보완키(220)를 제외한 나머지 키들은 비활성화하고, 상기 취약점 보완키(220)가 입력되면, 상기 가상 키보드(200) 상의 나머지 키들을 활성화 한다.The activation processing unit 140 deactivates the other keys except for the vulnerability supplement key 220, and activates the remaining keys on the virtual keyboard 200 when the vulnerability supplement key 220 is input.

그뿐만 아니라, 본 발명의 일실시예에 따른 상기 가상 키보드 구성부(110)는 상기 가상 키보드(200)의 키가 입력되면, 상기 가상 키보드(200)의 키들과 상기 빈칸들(210)을 재배열 하여 상기 가상 키보드(200)를 재구성하여 제공할 수 있다.In addition, when a key of the virtual keyboard 200 is input, the virtual keyboard configuration unit 110 according to an embodiment of the present invention reads the keys of the virtual keyboard 200 and the blanks 210. By arranging, the virtual keyboard 200 may be reconfigured and provided.

즉, 가상 키보드(200)는 사용자가 별도의 재배열 키를 눌러 재배열을 명령하지 않더라도, 가상 키보드(200) 상의 하나의 키를 입력할 때마다 새롭게 키와 빈칸(210)이 자동으로 재배열된다.That is, the virtual keyboard 200 automatically rearranges the keys and blanks 210 each time a key on the virtual keyboard 200 is input, even if the user does not command rearrangement by pressing a separate rearrangement key. do.

아울러, 본 발명의 일실시예에 따르면 사용자가 재배열키를 누르더라도 패스워드를 초기화(모든 입력이 삭제)하지 않도록 하여, 패스워드에 포함된 중복된 키의 노출을 피할 수 있도록 할 뿐만 아니라, 초기화로 인해 사용자가 패스워드를 재입력 해야 하는 불편함을 방지하도록 구성될 수 있다.In addition, according to an embodiment of the present invention, the password is not initialized (all inputs are deleted) even if the user presses the rearrangement key, so that it is possible to avoid the exposure of duplicate keys included in the password, and Therefore, it may be configured to prevent the user from having to re-enter the password.

한편, 본 발명의 일실시예에 따르면 빈칸(210)은 가상 키보드(200) 상의 각 줄에서 최좌측과 최우측에만 동일한 확률로 배치되도록 구성될 수 있다.Meanwhile, according to an embodiment of the present invention, the blanks 210 may be configured to be arranged at the same probability only on the leftmost side and the rightmost side of each row on the virtual keyboard 200.

어떤 위치에서 후보키의 수가 c라고 하면, 그 위치에서 입력키 식별률은 1/c와 같이 균일해진다. L1의 예를 들면, #0 혹은 #10에만 1개의 빈칸을 랜덤하게 배치하는 것이다. #0과 #10의 후보키는 1개이기 때문에 식별률은 1이다. 그러나 후보키가 2개씩인 #1∼#9에 대해서는 좌우에 빈칸이 올 확률이 각각 50%로 동일하게 되므로 표 1에서와 같이 각 후보키들에 대한 확률도 50%로 동일하게 된다.If the number of candidate keys at a certain position is c, the input key identification rate at that position becomes uniform, such as 1/c. For example of L1, one blank is randomly arranged only in #0 or #10. Since there is only one candidate key for #0 and #10, the identification rate is 1. However, for #1 to #9, each of which has two candidate keys, the probability of a blank space on the left and right is equal to 50%, respectively, so the probability for each candidate key is equal to 50% as shown in Table 1.

Figure 112018132278297-pat00001
Figure 112018132278297-pat00001

2개의 빈칸이 추가되는 L2의 경우에는 #0, #1, #9, #10에만 동일한 확률로 위치하도록 하면, 역시 각 위치에서 후보키일 확률은 1/c로서 표 2와 같다.In the case of L2 in which two blanks are added, if only #0, #1, #9, and #10 are positioned with the same probability, the probability of the candidate key at each position is 1/c, as shown in Table 2.

Figure 112018132278297-pat00002
Figure 112018132278297-pat00002

L3의 경우에도 표 3과 같이 모든 후보키에 대해 동일한 확률을 가진다. 결과적으로 후보키가 2개 이상인 경우에는 공격자가 유리한 확률로 입력된 키를 예측할 수 없게 된다.In the case of L3, as shown in Table 3, it has the same probability for all candidate keys. As a result, if there are two or more candidate keys, the attacker cannot predict the input key with an advantageous probability.

Figure 112018132278297-pat00003
Figure 112018132278297-pat00003

s(b)=1/2인 경우에는 빈칸의 위치를 최좌우측으로 제한하면, 후보키들의 확률 편차가 줄어들기는 하지만 균일하지는 않다. c=2인 경우에는 xi(i=0,1)의 확률이 대부분 각각 1/3, 2/3(혹은 역순)으로 나타났으며, c=3인 경우에는 xi(i=0,1,2)의 확률이 각각 1/5, 2/5, 2/5(혹은 역순)로 나타났다. 이것은 s(b)=1/2인 키보드 사용을 지양해야 하는 이유 중의 하나이다.In the case of s(b)=1/2, if the position of the blank is limited to the left and right, the probability deviation of the candidate keys decreases, but it is not uniform. When c=2, the probability of xi(i=0,1) is mostly 1/3, 2/3 (or reverse), respectively, and when c=3, xi(i=0,1,2 The probability of) was 1/5, 2/5, 2/5 (or reverse), respectively. This is one of the reasons to avoid using a keyboard with s(b)=1/2.

공격자는 사실상 빈칸의 위치 자체에는 관심이 없다. 빈칸의 위치 파악은 그것으로부터 다른 실제키의 위치를 알아내어 입력된 키를 식별하기 위한 수단일 뿐이다. 기존의 방식에 비하여 제안한 방식은 빈칸의 위치가 고정되어 그 위치를 알아낼 확률이 더 높아지지만, 공격자가 관심있는 입력된 키를 식별할 가능성을 낮춘다.The attacker is practically not interested in the location of the blank. The location of the blank is only a means to identify the input key by finding the location of another real key from it. Compared to the existing method, the proposed method has a higher probability of finding the location of blank spaces, but lowers the likelihood of an attacker identifying the input key of interest.

빈칸의 위치를 최좌우측으로 제한하더라도 후보키의 개수가 1개인 최좌우측 키의 식별률은 여전히 100%이다. s(b)=1, L1일 경우를 예로 들어보면, #0이나 #10에 빈칸이 오더라도 사용자가 누르지 않기 때문에, 그 위치에서 입력되었다면 반드시 'q'나 'p'이기 때문이다. 만약 빈칸인 경우에도 사용자가 입력하도록 한다면 공격자는 실제 키를 식별하기 어려워진다. 그러므로 최좌우측에 삽입되는 총 5개의 빈칸 중 일부를 랜덤하게 취약점 보완키로 대체하여 사용자가 반드시 입력하도록 함으로써, 실제키의 식별률을 낮출 수 있다.Even if the position of the blank is limited to the leftmost and right, the identification rate of the leftmost and right keys with one candidate key is still 100%. For example, if s(b)=1, L1, the user does not press even if a blank appears in #0 or #10, so if it is entered at that position, it is always'q' or'p'. If the user inputs it even if it is blank, it becomes difficult for the attacker to identify the actual key. Therefore, the identification rate of the actual key can be lowered by randomly replacing some of the five blanks inserted at the left and right with a vulnerability supplement key so that the user must input it.

실제키 36개 중 최좌우측 키는 8개로서 약 22.2%를 차지한다. 취약점 보완키는 최좌우측 키의 식별률을 낮추기 위한 것이므로 최좌우측 키들의 출현빈도와 동일한 빈도로 출현시키면 실제키와 구분할 수 없게 된다. 따라서 모든 키의 사용률이 동일하다고 가정했을 때, 일반적으로 권장하는 길이인 6∼12개 문자의 패스워드를 입력하는 동안 1.3∼2.6개의 취약점 보완키가 출현될 것이다. 취약점 보완키의 출현빈도를 높이면 식별률을 더 낮추는 효과는 얻을 수 있으나 사용자의 불편을 초래할 것이다.Of the 36 actual keys, 8 are the leftmost and right, accounting for about 22.2%. Since the vulnerability supplement key is to lower the identification rate of the leftmost and right keys, if they appear at the same frequency as the frequency of occurrence of the leftmost and right keys, they cannot be distinguished from the actual keys. Therefore, assuming that the usage rate of all keys is the same, while entering a password of 6-12 characters, which is the generally recommended length, 1.3-2.6 vulnerability supplement keys will appear. Increasing the frequency of appearance of the vulnerability supplementation key can have the effect of lowering the identification rate, but it will cause inconvenience to users.

식별률을 낮추고자 한다면 삽입되는 빈칸의 수를 늘린다. 빈칸과 실제키의 크기가 다를 경우, 후보키들의 확률이 균일하지 않게 되므로 삽입되는 빈칸은 실제키의 크기와 같아야 한다. 한 줄에 삽입되는 빈칸의 개수가 n일 경우, 각 위치의 후보키의 수 c=1,2,···,n,n+1가 되며 실제 입력된 키가 후보키일 확률은 1/c로 낮아진다. 그러나 너무 많은 빈칸을 삽입하면 실제키의 크기가 줄어들어 사용자가 불편할 수 있으므로 적절한 선택이 필요하다.If you want to lower the identification rate, increase the number of blanks inserted. If the size of the blank and the real key is different, the probability of the candidate keys is not uniform, so the inserted blank must be the same as the size of the real key. If the number of blanks inserted in a line is n, the number of candidate keys at each position c=1,2,...,n,n+1, and the probability that the actual input key is a candidate key is 1/c. Lowers. However, if too many blanks are inserted, the size of the actual key is reduced, which may make the user inconvenient.

도 4는 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.4 is a flow chart illustrating a method of providing a virtual keyboard corresponding to a vulnerability according to an embodiment of the present invention.

이후부터는 도 4를 참조하여 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기로 한다.Hereinafter, a method of providing a virtual keyboard corresponding to a vulnerability according to an embodiment of the present invention will be described with reference to FIG. 4.

본 발명의 일실시예에 따르면, 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공한다.According to an embodiment of the present invention, the virtual keyboard configuration unit configures and provides a virtual keyboard including blank spaces in at least one of both ends of each row.

보다 구체적으로, 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성한다(S410). 이때, 상기 가상 키보드 상의 빈칸은 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치될 수 있다.More specifically, the virtual keyboard configuration unit configures a virtual keyboard including a blank space in at least one of both ends of each row (S410). In this case, the blank spaces on the virtual keyboard are configured to have the same size as the keys, and may be arranged at both ends of each row with the same probability.

또한, 상기 가상 키보드의 키가 입력되는 경우에는(S460), 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공할 수 있다(S470).In addition, when a key of the virtual keyboard is input (S460), the virtual keyboard configuration unit may rearrange the keys of the virtual keyboard and the blanks to reconfigure and provide the virtual keyboard (S470).

즉, 본 발명의 일실시예에 따른 가상 키보드 구성부는 가상 키보드의 키가 입력되면, 상기 가상 키보드의 키들과 상기 빈칸들을 재배열 하여 상기 가상 키보드를 재구성하여 제공할 수 있다.That is, the virtual keyboard configuration unit according to an embodiment of the present invention may reconfigure and provide the virtual keyboard by rearranging the keys of the virtual keyboard and the blanks when a key of the virtual keyboard is input.

도 4의 실시예에 따르면 사용자가 별도의 재배열 키를 눌러 가상 키보드는 재배열을 명령하지 않더라도, 가상 키보드 상의 하나의 키를 입력할 때마다 새롭게 키와 빈칸이 자동으로 재배열될 수 있다.According to the embodiment of FIG. 4, even if the user does not command the rearrangement by pressing a separate rearrangement key, the keys and blank spaces may be automatically rearranged every time one key on the virtual keyboard is input.

이후, 상기 가상 키보드의 사용이 완료되면 종료된다(S480).Thereafter, when the use of the virtual keyboard is completed, it is terminated (S480).

도 5는 본 발명의 다른 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.5 is a flowchart for explaining a method of providing a virtual keyboard corresponding to a vulnerability according to another embodiment of the present invention.

이후부터는 도 4를 참조하여 본 발명의 다른 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기로 한다.Hereinafter, a method of providing a virtual keyboard corresponding to a vulnerability according to another embodiment of the present invention will be described with reference to FIG. 4.

본 발명의 다른 일실시예에 따르면, 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공한다.According to another embodiment of the present invention, the virtual keyboard configuration unit configures and provides a virtual keyboard including blank spaces in at least one of both ends of each row.

보다 구체적으로, 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성한다(S410). 이때, 상기 가상 키보드 상의 빈칸은 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치될 수 있다.More specifically, the virtual keyboard configuration unit configures a virtual keyboard including a blank space in at least one of both ends of each row (S410). In this case, the blank spaces on the virtual keyboard are configured to have the same size as the keys, and may be arranged at both ends of each row with the same probability.

또한, 활성화 처리부가 상기 가상 키보드 상에 취약점 보완키를 배치하고(S420), 상기 취약점 보완키를 제외한 나머지 키들은 비활성화한다(S430). 이때, 상기 취약점 보완키 제공부가 상기 빈칸 중에서 어느 하나의 빈칸에는 활성화된 취약점 보완키를 배치하도록 구성될 수 있다.In addition, the activation processing unit arranges a vulnerability supplement key on the virtual keyboard (S420), and deactivates the remaining keys except for the vulnerability supplement key (S430). In this case, the vulnerability supplementing key providing unit may be configured to place an activated vulnerability supplementing key in any one of the blanks.

이후, 상기 취약점 보완키가 입력되면(S440), 상기 활성화 처리부가 상기 나머지 키들을 활성화하여 상기 가상 키보드 구성부가 상기 가상 키보드를 제공한다(S450).Thereafter, when the vulnerability supplementing key is input (S440), the activation processing unit activates the remaining keys, and the virtual keyboard configuration unit provides the virtual keyboard (S450).

또한, 상기 가상 키보드의 키가 입력되는 경우에는(S460), 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공할 수 있다(S470).In addition, when a key of the virtual keyboard is input (S460), the virtual keyboard configuration unit may rearrange the keys of the virtual keyboard and the blanks to reconfigure and provide the virtual keyboard (S470).

이후, 상기 가상 키보드의 사용이 완료되면 종료된다(S480).이와 같이 본 발명의 실시예에 따르면 보안이 민감한 스마트폰 은행앱이 사용하고 있는 가상키보드의 보안 방식을 개선하여 취약점을 보완한 가상키보드 제공 방법을 제공할 수 있다.Thereafter, the virtual keyboard is terminated when the use of the virtual keyboard is completed (S480). As described above, according to an embodiment of the present invention, a virtual keyboard supplementing the vulnerability by improving the security method of the virtual keyboard used by the security sensitive smartphone bank app You can provide a method of delivery.

본 발명에 따른 취약점을 보완한 가상키보드 제공 방법의 기능은 프로그램화하여 제공될 수 있도록 하며, 본 발명에서는 이러한 응용프로그램이 기록된 컴퓨터 판독이 가능한 기록매체를 컴퓨터 또는 이동통신단말기(예를 들면, 스마트폰, 태블릿 PC)를 이용하여 실행할 수 있다. 이때, 이러한 응용 프로그램은 컴퓨터의 하드디스크에 설치되거나, 혹은 CD-ROM 또는 DVD-ROM에 설치되거나, 혹은 USB 메모리에 설치되어 실행될 수 있다. 이외에도 다양한 재생장치에 설치되어 실행될 수 있다.The function of the method for providing a virtual keyboard that compensates for the vulnerability according to the present invention can be programmed to be provided, and in the present invention, a computer or mobile communication terminal (for example, a computer readable recording medium in which such an application program is recorded) Smartphone, tablet PC) can be used. In this case, such an application program may be installed on a hard disk of a computer, installed on a CD-ROM or a DVD-ROM, or installed on a USB memory and executed. In addition, it can be installed and executed in various playback devices.

본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다.The present invention can be represented by functional block configurations and various processing steps. These functional blocks may be implemented with various numbers of hardware or/and software configurations that perform specific functions. For example, the present invention provides integrated circuit configurations such as memory, processing, logic, and look-up tables, which can execute various functions by controlling one or more microprocessors or by other control devices. Can be adopted.

본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Similar to how the components of the present invention can be implemented with software programming or software elements, the present invention includes various algorithms implemented with a combination of data structures, processes, routines or other programming constructs, including C, C++ , Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects can be implemented with an algorithm running on one or more processors. In addition, the present invention may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as "mechanism", "element", "means", and "configuration" may be widely used, and are not limited to mechanical and physical configurations. The term may include a meaning of a series of routines of software in connection with a processor or the like.

이상에서와 같이 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 바람직한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아니다. 이처럼 이 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 본 발명의 실시예의 결합을 통해 다양한 실시예들이 가능함을 이해할 수 있을 것이다.As described above, the technical idea of the present invention has been described in detail in the preferred embodiment, but the preferred embodiment is for the purpose of explanation and not limitation. As such, it will be understood by those of ordinary skill in the art that various embodiments are possible through a combination of the embodiments of the present invention within the scope of the technical idea of the present invention.

100: 가상 키보드 제공 장치
110: 가상 키보드 구성부
120: 빈칸 배치부
130: 취약점 보완키 제공부
140: 활성화 처리부
200: 가상 키보드
210: 빈칸
220: 취약점 보완키
100: virtual keyboard providing device
110: virtual keyboard configuration unit
120: blank placement
130: Vulnerability supplement key provider
140: activation processing unit
200: virtual keyboard
210: blank
220: Vulnerability supplement key

Claims (8)

가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공하는 제1 단계; 및
상기 가상 키보드의 키가 입력되면 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공하는 제2 단계;를 포함하되,
상기 제1 단계는,
상기 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 단계;
취약점 보완키 제공부가 상기 가상 키보드 상에 취약점 보완키를 배치하는 단계;
활성화 처리부가, 상기 취약점 보완키를 제외한 나머지 키들은 비활성화하는 단계; 및
상기 취약점 보완키가 입력되면, 상기 활성화 처리부가 상기 나머지 키들을 활성화하여 상기 가상 키보드 구성부가 상기 가상 키보드를 제공하는 단계;를 포함하고,
상기 빈칸은, 상기 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치되며,
상기 가상 키보드 상에 취약점 보완키를 배치하는 단계에서,
상기 취약점 보완키 제공부는 상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치하는 취약점 대응 가상키보드 제공 방법.
A first step of constructing and providing a virtual keyboard including blank spaces in at least one of both ends of each row by the virtual keyboard configuration unit; And
A second step of reconfiguring and providing the virtual keyboard by rearranging the keys of the virtual keyboard and the blanks by the virtual keyboard configuration unit when a key of the virtual keyboard is input;
The first step,
Configuring, by the virtual keyboard configuration unit, a virtual keyboard including a blank space in at least one of both ends of each row;
Disposing, by a vulnerability supplementing key providing unit, a vulnerability supplementing key on the virtual keyboard;
Deactivating, by an activation processor, keys other than the vulnerability supplement key; And
When the vulnerability supplement key is input, the activation processing unit activating the remaining keys to provide the virtual keyboard by the virtual keyboard configuration unit; and
The blanks are configured to be the same as the size of the key, and are arranged with the same probability at both ends of each row,
In the step of disposing a vulnerability supplement key on the virtual keyboard,
A method for providing a vulnerability-response virtual keyboard, wherein the vulnerability-remedial key providing unit places a vulnerability-remedial key activated in any one of the blanks.
삭제delete 삭제delete 삭제delete 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 가상 키보드 구성부;
상기 가상 키보드 상에 취약점 보완키를 배치하는 취약점 보완키 제공부; 및
상기 취약점 보완키를 제외한 나머지 키들은 비활성화하고, 상기 취약점 보완키가 입력되면, 상기 나머지 키들을 활성화시키는 활성화 처리부;를 포함하되,
각 줄의 좌우측의 양단에 동일 확률로 빈칸이 배치되도록 하는 빈칸 배치부;를 더 포함하고,
상기 가상 키보드 구성부는,
상기 가상 키보드의 키가 입력되면 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공하며,
상기 취약점 보완키 제공부는,
상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치하는 취약점 대응 가상키보드 제공 장치.
A virtual keyboard configuration unit configuring a virtual keyboard including blank spaces at at least one of both ends of each row;
A vulnerability supplementing key providing unit for disposing a vulnerability supplementing key on the virtual keyboard; And
Including; an activation processing unit that deactivates the remaining keys except for the vulnerability supplement key, and activates the remaining keys when the vulnerability supplement key is input,
It further includes; a blank arrangement unit for placing blanks with the same probability at both ends of the left and right sides of each row,
The virtual keyboard configuration unit,
When a key of the virtual keyboard is input, the virtual keyboard is reconfigured and provided by rearranging the keys of the virtual keyboard and the blanks,
The vulnerability supplement key providing unit,
Vulnerability response virtual keyboard providing device for placing a vulnerability supplement key activated in any one of the blanks.
삭제delete 삭제delete 제1항에 따른 취약점 대응 가상키보드 제공 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체.
A computer-readable recording medium on which a program for performing the method for providing a virtual keyboard for responding to vulnerabilities according to claim 1 is recorded.
KR1020180173588A 2018-12-31 2018-12-31 Device and method as a countermeasure against vulnerabilities of virtual keyboard and computer―readable media storing the program for the method KR102149354B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180173588A KR102149354B1 (en) 2018-12-31 2018-12-31 Device and method as a countermeasure against vulnerabilities of virtual keyboard and computer―readable media storing the program for the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180173588A KR102149354B1 (en) 2018-12-31 2018-12-31 Device and method as a countermeasure against vulnerabilities of virtual keyboard and computer―readable media storing the program for the method

Publications (2)

Publication Number Publication Date
KR20200082723A KR20200082723A (en) 2020-07-08
KR102149354B1 true KR102149354B1 (en) 2020-08-28

Family

ID=71600727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180173588A KR102149354B1 (en) 2018-12-31 2018-12-31 Device and method as a countermeasure against vulnerabilities of virtual keyboard and computer―readable media storing the program for the method

Country Status (1)

Country Link
KR (1) KR102149354B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102445580B1 (en) 2020-08-06 2022-09-21 이영규 Apparatus and Method for inputting Character
KR102394614B1 (en) * 2020-09-07 2022-05-04 숭실대학교산학협력단 Keypad input device and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701871B1 (en) * 2015-12-14 2017-02-02 계명대학교 산학협력단 Method and apparatus of generating a security virtual key pad

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036820A (en) * 2007-10-10 2009-04-15 김진우 Hacking protection input system and method of the virtual keyboard
KR101228028B1 (en) * 2010-04-09 2013-01-31 루멘소프트 (주) Virtual keyboard and preventing method for hacking information using the same
KR101505295B1 (en) * 2013-06-25 2015-03-23 숭실대학교산학협력단 Key input method and apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701871B1 (en) * 2015-12-14 2017-02-02 계명대학교 산학협력단 Method and apparatus of generating a security virtual key pad

Also Published As

Publication number Publication date
KR20200082723A (en) 2020-07-08

Similar Documents

Publication Publication Date Title
US11048783B2 (en) Authentication method and system
Adham et al. How to attack two-factor authentication internet banking
US9208489B2 (en) System for secure web-prompt processing on point sale devices
KR102149354B1 (en) Device and method as a countermeasure against vulnerabilities of virtual keyboard and computer―readable media storing the program for the method
Mohsen et al. Android keylogging threat
Kang et al. USBWall: A novel security mechanism to protect against maliciously reprogrammed USB devices
KR101505295B1 (en) Key input method and apparatus
US20170169412A1 (en) Interception of Touch Pad Events for Handling in a Secure Environment
KR101015633B1 (en) A method and a computer readable media for secure data input
KR20180127739A (en) User device and method for providing security pattern thereof
EP2674888A1 (en) System and method for validating a user of an account using a token
JP6493973B2 (en) Character string input method and program
JP2012524322A (en) Keyboard input data security system and method
Blaich Recognising the real danger of SIM fraud
KR101351785B1 (en) certification method for Touch or Pointing Device
Capps The future of identity verification
GB2476242A (en) Integral/plug in keyboard encryption to protect passwords/PINs from keyloggers in compromised computers

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant