KR20200082723A - 취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체 - Google Patents

취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체 Download PDF

Info

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

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

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

본 발명은 취약점 대응 가상키보드 제공 장치 및 방법, 그 방법을 및 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체에 관한 것으로, 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법은 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공하는 제1 단계; 및 상기 가상 키보드의 키가 입력되면 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공하는 제2 단계;를 포함하여 구성된다.

Description

취약점 대응 가상키보드 제공 장치 및 방법, 그 방법을 및 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체{VULNERABILITY COUNTERMEASURE VIRTUAL KEYBOARD PROVIDING DEVICE AND METHOD AND COMPUTER READABLE MEDIUM STORING PROGRAM OF THE SAME}
본 발명의 실시예는 취약점 대응 가상키보드 제공 장치 및 방법에 관한 것이다.
스마트폰을 주축으로 한 모바일 기기를 통한 미디어 이용은 꾸준히 증가하는 추세이다. 스마트폰의 경우, 2017년 11월 보급률이 84.8%를 기록하였으며, 2018년 10월에는 스마트폰 가입자 수가 5천만명이 넘어 사실상 1인 1스마트폰 시대가 열리면서 초등학생부터 고령층까지 스마트폰의 영향력이 전연령층으로 확대되었다. 스마트폰의 운영체제는 안드로이드, iOS, 윈도모바일, 심비안 등이 있으며, 우리나라의 경우 2017년 11월을 기준으로 안드로이드가 77.4%를 점유율을 가지고 있다.
스마트폰에서 실행되는 앱의 종류는 메신저, 포털, 뉴스, 게임, 엔터테인먼트, 지도 등 생활서비스 및 은행, 신용카드나 쿠폰과 같은 금융결제 등 매우 다양하다. 2018년 현재 금융서비스 중 조회서비스의 85.1%가 모바일뱅킹 등 인터넷 뱅킹을 이용하고 있으며, 인터넷뱅킹 이용 고객 중에서 92.4%는 모바일 뱅킹을 이용하고 있다.
금융결제는 다른 서비스에 비해서 개인정보의 보호가 가장 중요하기 때문에 사용자의 인증 체계를 가장 민감하고 까다롭게 유지하고 있다. 금융 서비스에서 사용하고 있는 사용자 인증 방법은 다양하나, 가장 일반적이고 널리 사용되는 방법은 아이디와 패스워드를 입력하는 방법이다. 그 외에도 지문인식, 공인인증서, PIN(Personal Identification Number), OTP(One Time Password) 등 좀 더 안전하다고 인식되는 방법들이 있으나 대부분 아이디/패스워드 방법과 병행하여 운영되고 있다.
지문인식을 제외한 나머지 방법들은 모두 키보드를 통하여 패스워드를 비롯한 비밀정보를 입력해야만 한다. 스마트폰은 실제 키보드를 사용하지 않기 때문에 화면에 가상 키보드를 제공하는데, 일반 PC에 비하여 화면의 크기가 작고 멀티윈도우를 지원하지 않아 키보드 입력 보안에 상당한 제약이 따른다.
PC를 이용하여 은행 사이트에 로그인하기 위해서 공인인증서를 이용하든 아이디/패스워드를 이용하든 공인인증서 비밀번호나 패스워드 입력이 필요하다. 로그인 후에도 계좌비밀번호를 입력하기 위해서 키보드 입력이 필요하다. 그러나 키보드 입력은 키로깅(key logging) 공격에 취약하기 때문에 많은 은행 사이트들은 키로거(key logger)로부터 패스워드 등을 보호하기 위하여 화면에 가상키보드를 출력하여 마우스 클릭으로 입력할 수 있도록 지원한다. 그러나 가상키보드를 이용하더라도 마우스의 입력 위치의 노출로 패스워드가 분석되는 것을 방지하기 위하여, 빈칸을 임의의 위치에 끼워 넣어 가상키보드의 키의 위치가 매번 변하도록 하는 동적 가상키보드를 많이 이용한다.
예를 들어, 가운데 은행 로고와 빈칸(혹은 더미키)을 삽입하고 멀티마우스를 사용하도록 하거나, 공인인증서와 아이디를 이용한 로그인에 다른 동적 가상키보드를 사용하며, 이때 대부분 키들의 상대적인 위치는 고수되지만 일부 은행의 경우에는 숫자의 순서가 바뀌기도 한다.
또한, PC에서 제공되는 많은 서비스들은 스마트폰 앱의 형태로 지원되고 있다. 그러나 스마트폰이 제공하는 휴대성과 이동성이라는 편리함을 얻는 대신, 낮은 성능과 작은 화면으로 인한 여러 가지 한계와 취약점이라는 대가를 치러야 한다.
스마트폰 은행앱들도 패스워드 입력을 위하여 대부분 PC와 유사한 동적 가상키보드를 제공하고 있다. 종래의 일반적으로 은행에서 사용하는 앱은 모두 동적인 가상키보드를 제공하고 있으며, 사용자의 편리를 위하여 기존의 키들 사이에 빈칸만 삽입할 뿐, 키들의 상대적 위치는 변하지 않도록 하고 있다. 즉, 예를 들어서 'e' 키는 항상 두 번째 줄에 존재하며, 'w'의 오른쪽에 그리고 'r'의 왼쪽에 위치한다.
스마트폰 은행앱의 경우는 PC와는 달리 창의 크기를 확대, 축소하거나 창의 위치를 이동할 수 없으며 가로보기(화면 회전)를 제공하지 않아 가상키보드의 위치와 크기가 고정되므로, 입력되는 스크린 터치 위치에 대한 노출의 위험성이 PC의 경우보다 더욱 높다.
이러한 위험성을 완화시키기 위하여 종래 기술에 따른 앱은 '재배열 키'를 제공하여 이를 누를 경우 빈칸의 위치가 변경되도록 하는데, 일부 앱에서는 입력된 패스워드를 모두 지워 초기화하기도 한다. 또한 삽입되는 빈칸의 크기를 실제키의 1/2로 줄여서 개수를 2배로 늘림으로써 안전도의 향상을 도모하고, 삽입되는 1/2 빈칸의 개수를 줄이고 키들의 크기를 미세하게 늘리기도 한다.
이와 같이 사용자의 편의를 위하여 키의 재배열 방법을 제한적으로 적용하고 있으며, 키의 위치를 재배열한다기 보다는 각 줄 별로 1∼2개의 빈칸을 삽입함으로써 키가 매번 다른 곳에 위치할 수 있도록 한다. 따라서 각 키가 속한 줄은 고정되며, 각 줄에서 키들의 상대적 위치는 변경되지 않는다. 또한 화면 회전이 허용되지 않기 때문에 가변적인 개수의 빈칸을 사용하는 경우를 제외하면 키의 크기는 고정된다.
그러나, 종래 기술에 따르면, 재배열 키를 누르지 않으면 빈칸의 위치가 고정되어, 패스워드에 포함된 중복된 키는 동일한 위치에서 입력이 일어나 그 분포가 노출되거나, 빈칸이 올 수 있는 위치의 분포가 균일하지 않거나, 키의 상대 위치가 변하지 않기 때문에 좌우 끝단에 가까운 키들은 그 키의 좌측에 빈칸이 올 확률과 우측에 빈칸이 올 확률의 차이가 커지며, 그 결과로 가운데 있는 키들에 비해 패스워드에 포함된 키의 식별률이 높아지며, 사용자가 빈칸을 입력하지 않기 때문에, 최좌측이나 최우측에서에서 패스워드 키의 입력이 발생하면 식별률이 100%되는 보안상의 취약점이 발생하였다.
본 발명은 전술한 문제를 해결하기 위해 안출된 것으로서, 보안이 민감한 스마트폰 은행앱이 사용하고 있는 가상키보드의 보안 방식을 개선하여 취약점을 보완한 가상키보드 제공 장치 및 방법을 제공하고자 한다.
전술한 문제를 해결하기 위한 본 실시예에 따른 취약점 대응 가상키보드 제공 방법은 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공하는 제1 단계; 및 상기 가상 키보드의 키가 입력되면 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열 하여 상기 가상 키보드를 재구성하여 제공하는 제2 단계;를 포함한다.
본 발명의 다른 일실시예에 따르면, 상기 제1 단계는 상기 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 단계; 활성화 처리부가 상기 가상 키보드 상에 취약점 보완키를 배치하고, 상기 취약점 보완키를 제외한 나머지 키들은 비활성화하는 단계; 및 상기 취약점 보완키가 입력되면, 상기 활성화 처리부가 상기 나머지 키들을 활성화하여 상기 가상 키보드 구성부가 상기 가상 키보드를 제공하는 단계;를 포함할 수 있다.
본 발명의 다른 일실시예에 따르면, 상기 빈칸은 상기 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치될 수 있다.
본 발명의 다른 일실시예에 따르면, 상기 취약점 보완키를 제외한 나머지 키들을 비활성화하는 단계는 상기 취약점 보완키 제공부가 상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치할 수 있다.
본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치는 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 가상 키보드 구성부; 상기 가상 키보드 상에 취약점 보완키를 배치하는 취약점 보완키 제공부; 및 상기 취약점 보완키를 제외한 나머지 키들은 비활성화하고, 상기 취약점 보완키가 입력되면, 상기 나머지 키들을 활성화시키는 활성화 처리부;를 포함하고, 상기 가상 키보드 구성부는 상기 가상 키보드의 키가 입력되면 상기 가상 키보드의 키와 상기 빈칸을 재배열 하여 상기 가상 키보드를 재구성하여 제공한다.
본 발명의 다른 일실시예에 따르면, 각 줄의 좌우측의 양단에 동일 확률로 빈칸이 배치되도록 하는 빈칸 배치부;를 더 포함할 수 있다.
본 발명의 다른 일실시예에 따르면, 상기 취약점 보완키 제공부는 상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치할 수 있다.
본 발명의 실시예에 따르면 보안이 민감한 스마트폰 은행앱이 사용하고 있는 가상키보드의 보안 방식을 개선하여 취약점을 보완한 가상키보드 제공 장치 및 방법을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치의 구성도이다.
도 2 및 도 3은 본 발명의 일실시예에 따라 제공되는 취약점 대응 가상키보드를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부한 도면을 참조하여 바람직한 본 발명의 일실시예에 대해서 상세히 설명한다. 다만, 실시형태를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 또한, 도면에서의 각 구성요소들의 크기는 설명을 위하여 과장될 수 있으며, 실제로 적용되는 크기를 의미하는 것은 아니다.
도 1은 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치의 구성도이고, 도 2 및 도 3은 본 발명의 일실시예에 따라 제공되는 취약점 대응 가상키보드를 도시한 도면이다.
이후부터는 도 1 내지 도 3을 참조하여 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치를 설명하기로 한다.
본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 장치(100)는 가상 키보드 구성부(110), 빈칸 배치부(120), 취약점 보완키 제공부(130) 및 활성화 처리부(140)를 포함하여 구성될 수 있다.
상기 가상 키보드 구성부(110)는 가상 키보드(200)를 구성하여 제공한다.
보다 구체적으로, 도 2에 도시된 바와 같이 본 발명의 일실시예에 따르면 상기 가상 키보드 구성부(110)는 사용자의 편의를 고려하여 키들의 상대적 위치는 변하지 않도록 재배열하여 제공하며, 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸(210)을 포함하는 가상 키보드(200)를 구성한다.
즉, 상기 가상 키보드 구성부(110)는 가상 키보드(200) 상의 키들을 뒤섞지 않고, 각 줄에 1 내지 2개의 빈칸들(210)을 삽입하여 상기 가상 키보드(200)를 구성할 수 있다.
이때, 빈칸 배치부(120)는 각 줄의 좌우측의 양단에 동일 확률로 빈칸(210)이 배치되도록 할 수 있으며, 상기 빈칸(210)은 가상 키보드(200) 상의 키의 크기와 동일하게 구성될 수 있다.
취약점 보완키 제공부(130)는 상기 가상 키보드(200) 상에 취약점 보완키(220)를 배치한다.
도 3을 참조하면, 상기 취약점 보완키 제공부(130)는 상기 가상 키보드(200) 상에 표시되는 빈칸들(210) 중에서 어느 하나의 빈칸(210)에 취약점 보완키(220)를 배치할 수 있다.
상기 취약점 보완키(220)는 비활성화된 가상 키보드(200) 상에서 유일하게 활성화되는 키로서, 상기 취약점 보완키(220)를 누르면 비활성화되었던 가상 키보드(200)의 모든 키가 활성화되도록 하는 기능을 제공하는 키이다.
활성화 처리부(140)는 이와 같은 취약점 보완키(220)를 제외한 나머지 키들은 비활성화하고, 상기 취약점 보완키(220)가 입력되면, 상기 가상 키보드(200) 상의 나머지 키들을 활성화 한다.
그뿐만 아니라, 본 발명의 일실시예에 따른 상기 가상 키보드 구성부(110)는 상기 가상 키보드(200)의 키가 입력되면, 상기 가상 키보드(200)의 키들과 상기 빈칸들(210)을 재배열 하여 상기 가상 키보드(200)를 재구성하여 제공할 수 있다.
즉, 가상 키보드(200)는 사용자가 별도의 재배열 키를 눌러 재배열을 명령하지 않더라도, 가상 키보드(200) 상의 하나의 키를 입력할 때마다 새롭게 키와 빈칸(210)이 자동으로 재배열된다.
아울러, 본 발명의 일실시예에 따르면 사용자가 재배열키를 누르더라도 패스워드를 초기화(모든 입력이 삭제)하지 않도록 하여, 패스워드에 포함된 중복된 키의 노출을 피할 수 있도록 할 뿐만 아니라, 초기화로 인해 사용자가 패스워드를 재입력 해야 하는 불편함을 방지하도록 구성될 수 있다.
한편, 본 발명의 일실시예에 따르면 빈칸(210)은 가상 키보드(200) 상의 각 줄에서 최좌측과 최우측에만 동일한 확률로 배치되도록 구성될 수 있다.
어떤 위치에서 후보키의 수가 c라고 하면, 그 위치에서 입력키 식별률은 1/c와 같이 균일해진다. L1의 예를 들면, #0 혹은 #10에만 1개의 빈칸을 랜덤하게 배치하는 것이다. #0과 #10의 후보키는 1개이기 때문에 식별률은 1이다. 그러나 후보키가 2개씩인 #1∼#9에 대해서는 좌우에 빈칸이 올 확률이 각각 50%로 동일하게 되므로 표 1에서와 같이 각 후보키들에 대한 확률도 50%로 동일하게 된다.
Figure pat00001
2개의 빈칸이 추가되는 L2의 경우에는 #0, #1, #9, #10에만 동일한 확률로 위치하도록 하면, 역시 각 위치에서 후보키일 확률은 1/c로서 표 2와 같다.
Figure pat00002
L3의 경우에도 표 3과 같이 모든 후보키에 대해 동일한 확률을 가진다. 결과적으로 후보키가 2개 이상인 경우에는 공격자가 유리한 확률로 입력된 키를 예측할 수 없게 된다.
Figure 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인 키보드 사용을 지양해야 하는 이유 중의 하나이다.
공격자는 사실상 빈칸의 위치 자체에는 관심이 없다. 빈칸의 위치 파악은 그것으로부터 다른 실제키의 위치를 알아내어 입력된 키를 식별하기 위한 수단일 뿐이다. 기존의 방식에 비하여 제안한 방식은 빈칸의 위치가 고정되어 그 위치를 알아낼 확률이 더 높아지지만, 공격자가 관심있는 입력된 키를 식별할 가능성을 낮춘다.
빈칸의 위치를 최좌우측으로 제한하더라도 후보키의 개수가 1개인 최좌우측 키의 식별률은 여전히 100%이다. s(b)=1, L1일 경우를 예로 들어보면, #0이나 #10에 빈칸이 오더라도 사용자가 누르지 않기 때문에, 그 위치에서 입력되었다면 반드시 'q'나 'p'이기 때문이다. 만약 빈칸인 경우에도 사용자가 입력하도록 한다면 공격자는 실제 키를 식별하기 어려워진다. 그러므로 최좌우측에 삽입되는 총 5개의 빈칸 중 일부를 랜덤하게 취약점 보완키로 대체하여 사용자가 반드시 입력하도록 함으로써, 실제키의 식별률을 낮출 수 있다.
실제키 36개 중 최좌우측 키는 8개로서 약 22.2%를 차지한다. 취약점 보완키는 최좌우측 키의 식별률을 낮추기 위한 것이므로 최좌우측 키들의 출현빈도와 동일한 빈도로 출현시키면 실제키와 구분할 수 없게 된다. 따라서 모든 키의 사용률이 동일하다고 가정했을 때, 일반적으로 권장하는 길이인 6∼12개 문자의 패스워드를 입력하는 동안 1.3∼2.6개의 취약점 보완키가 출현될 것이다. 취약점 보완키의 출현빈도를 높이면 식별률을 더 낮추는 효과는 얻을 수 있으나 사용자의 불편을 초래할 것이다.
식별률을 낮추고자 한다면 삽입되는 빈칸의 수를 늘린다. 빈칸과 실제키의 크기가 다를 경우, 후보키들의 확률이 균일하지 않게 되므로 삽입되는 빈칸은 실제키의 크기와 같아야 한다. 한 줄에 삽입되는 빈칸의 개수가 n일 경우, 각 위치의 후보키의 수 c=1,2,···,n,n+1가 되며 실제 입력된 키가 후보키일 확률은 1/c로 낮아진다. 그러나 너무 많은 빈칸을 삽입하면 실제키의 크기가 줄어들어 사용자가 불편할 수 있으므로 적절한 선택이 필요하다.
도 4는 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.
이후부터는 도 4를 참조하여 본 발명의 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기로 한다.
본 발명의 일실시예에 따르면, 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공한다.
보다 구체적으로, 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성한다(S410). 이때, 상기 가상 키보드 상의 빈칸은 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치될 수 있다.
또한, 상기 가상 키보드의 키가 입력되는 경우에는(S460), 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공할 수 있다(S470).
즉, 본 발명의 일실시예에 따른 가상 키보드 구성부는 가상 키보드의 키가 입력되면, 상기 가상 키보드의 키들과 상기 빈칸들을 재배열 하여 상기 가상 키보드를 재구성하여 제공할 수 있다.
도 4의 실시예에 따르면 사용자가 별도의 재배열 키를 눌러 가상 키보드는 재배열을 명령하지 않더라도, 가상 키보드 상의 하나의 키를 입력할 때마다 새롭게 키와 빈칸이 자동으로 재배열될 수 있다.
이후, 상기 가상 키보드의 사용이 완료되면 종료된다(S480).
도 5는 본 발명의 다른 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기 위한 흐름도이다.
이후부터는 도 4를 참조하여 본 발명의 다른 일실시예에 따른 취약점 대응 가상키보드 제공 방법을 설명하기로 한다.
본 발명의 다른 일실시예에 따르면, 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공한다.
보다 구체적으로, 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성한다(S410). 이때, 상기 가상 키보드 상의 빈칸은 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치될 수 있다.
또한, 활성화 처리부가 상기 가상 키보드 상에 취약점 보완키를 배치하고(S420), 상기 취약점 보완키를 제외한 나머지 키들은 비활성화한다(S430). 이때, 상기 취약점 보완키 제공부가 상기 빈칸 중에서 어느 하나의 빈칸에는 활성화된 취약점 보완키를 배치하도록 구성될 수 있다.
이후, 상기 취약점 보완키가 입력되면(S440), 상기 활성화 처리부가 상기 나머지 키들을 활성화하여 상기 가상 키보드 구성부가 상기 가상 키보드를 제공한다(S450).
또한, 상기 가상 키보드의 키가 입력되는 경우에는(S460), 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공할 수 있다(S470).
이후, 상기 가상 키보드의 사용이 완료되면 종료된다(S480).이와 같이 본 발명의 실시예에 따르면 보안이 민감한 스마트폰 은행앱이 사용하고 있는 가상키보드의 보안 방식을 개선하여 취약점을 보완한 가상키보드 제공 방법을 제공할 수 있다.
본 발명에 따른 취약점을 보완한 가상키보드 제공 방법의 기능은 프로그램화하여 제공될 수 있도록 하며, 본 발명에서는 이러한 응용프로그램이 기록된 컴퓨터 판독이 가능한 기록매체를 컴퓨터 또는 이동통신단말기(예를 들면, 스마트폰, 태블릿 PC)를 이용하여 실행할 수 있다. 이때, 이러한 응용 프로그램은 컴퓨터의 하드디스크에 설치되거나, 혹은 CD-ROM 또는 DVD-ROM에 설치되거나, 혹은 USB 메모리에 설치되어 실행될 수 있다. 이외에도 다양한 재생장치에 설치되어 실행될 수 있다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다.
본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
이상에서와 같이 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 바람직한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아니다. 이처럼 이 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 본 발명의 실시예의 결합을 통해 다양한 실시예들이 가능함을 이해할 수 있을 것이다.
100: 가상 키보드 제공 장치
110: 가상 키보드 구성부
120: 빈칸 배치부
130: 취약점 보완키 제공부
140: 활성화 처리부
200: 가상 키보드
210: 빈칸
220: 취약점 보완키

Claims (8)

  1. 가상 키보드 구성부가 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하여 제공하는 제1 단계; 및
    상기 가상 키보드의 키가 입력되면 상기 가상 키보드 구성부가 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공하는 제2 단계;
    를 포함하는 취약점 대응 가상키보드 제공 방법.
  2. 청구항 1에 있어서,
    상기 제1 단계는,
    상기 가상 키보드 구성부가 상기 각 줄에 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 단계;
    활성화 처리부가 상기 가상 키보드 상에 취약점 보완키를 배치하고, 상기 취약점 보완키를 제외한 나머지 키들은 비활성화하는 단계; 및
    상기 취약점 보완키가 입력되면, 상기 활성화 처리부가 상기 나머지 키들을 활성화하여 상기 가상 키보드 구성부가 상기 가상 키보드를 제공하는 단계;
    를 포함하는 취약점 대응 가상키보드 제공 방법.
  3. 청구항 1에 있어서,
    상기 빈칸은,
    상기 키의 크기와 동일하게 구성되어, 상기 각 줄의 양단에 동일 확률로 배치되는 취약점 대응 가상키보드 제공 방법.
  4. 청구항 2에 있어서,
    상기 취약점 보완키를 제외한 나머지 키들은 비활성화하는 단계는,
    상기 취약점 보완키 제공부가 상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치하는 취약점 대응 가상키보드 제공 방법.
  5. 각 줄의 양단 중 적어도 어느 하나의 단에 빈칸을 포함하는 가상 키보드를 구성하는 가상 키보드 구성부;
    상기 가상 키보드 상에 취약점 보완키를 배치하는 취약점 보완키 제공부; 및
    상기 취약점 보완키를 제외한 나머지 키들은 비활성화하고, 상기 취약점 보완키가 입력되면, 상기 나머지 키들을 활성화시키는 활성화 처리부;를 포함하고,
    상기 가상 키보드 구성부는,
    상기 가상 키보드의 키가 입력되면 상기 가상 키보드의 키와 상기 빈칸을 재배열하여 상기 가상 키보드를 재구성하여 제공하는 취약점 대응 가상키보드 제공 장치.
  6. 청구항 5에 있어서,
    각 줄의 좌우측의 양단에 동일 확률로 빈칸이 배치되도록 하는 빈칸 배치부;
    를 더 포함하는 취약점 대응 가상키보드 제공 장치.
  7. 청구항 1에 있어서,
    상기 취약점 보완키 제공부는,
    상기 빈칸 중에서 어느 하나의 빈칸에 활성화되는 취약점 보완키를 배치하는 취약점 대응 가상키보드 제공 장치.
  8. 제1항에 따른 취약점 대응 가상키보드 제공 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체.
KR1020180173588A 2018-12-31 2018-12-31 취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체 KR102149354B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180173588A KR102149354B1 (ko) 2018-12-31 2018-12-31 취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180173588A KR102149354B1 (ko) 2018-12-31 2018-12-31 취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체

Publications (2)

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

Family

ID=71600727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180173588A KR102149354B1 (ko) 2018-12-31 2018-12-31 취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체

Country Status (1)

Country Link
KR (1) KR102149354B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220018312A (ko) 2020-08-06 2022-02-15 이영규 문자 입력 장치 및 방법
KR20220032369A (ko) * 2020-09-07 2022-03-15 숭실대학교산학협력단 키패드 입력 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036820A (ko) * 2007-10-10 2009-04-15 김진우 가상키보드 해킹 방지 입력시스템 및 동작방법
KR20110113517A (ko) * 2010-04-09 2011-10-17 루멘소프트 (주) 가상 키보드 및 이를 이용한 정보 해킹방지방법
KR20150000634A (ko) * 2013-06-25 2015-01-05 숭실대학교산학협력단 키 입력 방법 및 그 장치
KR101701871B1 (ko) * 2015-12-14 2017-02-02 계명대학교 산학협력단 보안 가상 키패드 생성방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036820A (ko) * 2007-10-10 2009-04-15 김진우 가상키보드 해킹 방지 입력시스템 및 동작방법
KR20110113517A (ko) * 2010-04-09 2011-10-17 루멘소프트 (주) 가상 키보드 및 이를 이용한 정보 해킹방지방법
KR20150000634A (ko) * 2013-06-25 2015-01-05 숭실대학교산학협력단 키 입력 방법 및 그 장치
KR101701871B1 (ko) * 2015-12-14 2017-02-02 계명대학교 산학협력단 보안 가상 키패드 생성방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220018312A (ko) 2020-08-06 2022-02-15 이영규 문자 입력 장치 및 방법
KR20220032369A (ko) * 2020-09-07 2022-03-15 숭실대학교산학협력단 키패드 입력 장치 및 방법

Also Published As

Publication number Publication date
KR102149354B1 (ko) 2020-08-28

Similar Documents

Publication Publication Date Title
US11048783B2 (en) Authentication method and system
EP2629234B1 (en) Security-enhanced computer systems and methods
US10325101B2 (en) Touchscreen image mapping for augmented reality devices
US20160127134A1 (en) User authentication system and method
US20070209014A1 (en) Method and apparatus for secure data input
US10362023B2 (en) Authentication information encryption server apparatuses, systems non-transitory computer readable mediums and methods for improving password security
US20120104090A1 (en) Card-reader apparatus
Mohsen et al. Android keylogging threat
US10037518B2 (en) Interception of touch pad events for handling in a secure environment
KR20200082723A (ko) 취약점 대응 가상키보드 제공 장치 및 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체
KR101505295B1 (ko) 키 입력 방법 및 그 장치
CN110968860A (zh) 应用账号的安全验证方法、计算机设备及计算机可读存储介质
CN105871840A (zh) 一种证书管理方法及系统
KR101015633B1 (ko) 안전한 데이터 입력 방법 및 컴퓨터로 읽을 수 있는 기록매체
JP5587401B2 (ja) キーボード入力データの保安システムおよび方法
EP2674888A1 (en) System and method for validating a user of an account using a token
Su et al. User biometric information‐based secure method for smart devices
US20220374507A1 (en) Improved systems and methods for secure data input and authentication
US20150339054A1 (en) Method and system for inputting and uploading data
TW201738794A (zh) 自動輸入一次性密碼的方法及裝置
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