KR102404704B1 - 키 보안 입력을 수행하는 사용자 디바이스 - Google Patents

키 보안 입력을 수행하는 사용자 디바이스 Download PDF

Info

Publication number
KR102404704B1
KR102404704B1 KR1020150148918A KR20150148918A KR102404704B1 KR 102404704 B1 KR102404704 B1 KR 102404704B1 KR 1020150148918 A KR1020150148918 A KR 1020150148918A KR 20150148918 A KR20150148918 A KR 20150148918A KR 102404704 B1 KR102404704 B1 KR 102404704B1
Authority
KR
South Korea
Prior art keywords
keyboard
layer
security
screen
user
Prior art date
Application number
KR1020150148918A
Other languages
English (en)
Other versions
KR20170048662A (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 KR1020150148918A priority Critical patent/KR102404704B1/ko
Publication of KR20170048662A publication Critical patent/KR20170048662A/ko
Application granted granted Critical
Publication of KR102404704B1 publication Critical patent/KR102404704B1/ko

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Abstract

본 발명의 실시 예들은, 보안 입력에 관한 것으로, 본 발명의 일 실시 예에 따른 사용자 디바이스는, 키보드 레이어 및 상기 키보드 레이어와 중첩되는 보안 레이어를 디스플레이하는 터치 스크린; 상기 키보드 레이어에 키보드 화면을 구성하는 키보드 어플리케이션 모듈; 및 상기 보안 레이어에 보안 화면을 구성하고, 상기 터치 스크린으로부터 상기 키보드 화면에 대응하는 영역에서 발생한 입력 이벤트의 좌표 정보가 수신되는 경우, 상기 입력 이벤트의 좌표 정보와 상기 키보드 화면의 키 배열 정보를 기반으로, 상기 입력 이벤트가 발생한 지점에 대응하는 키의 키 값을 확인하여 출력하는 보안 어플리케이션 모듈을 포함한다. 본 발명의 실시 예들에 따르면, 사용자가 입력한 문자열을 키보드 어플리케이션이 알 수 없으므로, 키보드 어플리케이션에 대한 공격으로 인한 개인 정보 누출을 방지할 수 있다.

Description

키 보안 입력을 수행하는 사용자 디바이스{User device executing key security input}
본 발명의 실시 예들은, 보안 입력에 관한 것이다.
최근 스마트폰 등 다양한 사용자 디바이스의 보급과 함께, 해당 사용자 디바이스에서 이용 가능한 다양한 어플리케이션들이 보급되고 있다. 이러한 어플리케이션들 중에는, 사용자의 금융 거래를 가능하게 하는 금융 어플리케이션이 있다.
금융 어플리케이션 실행 화면 상에서 사용자가 비밀 번호를 입력하고자 하는 경우, 가상 키보드가 화면에 표시되고, 가상 키보드 상에서 사용자가 선택한 키의 키 값이 비밀 번호로서 금융 어플리케이션에 전달된다.
만약, 공격자가 키보드 어플리케이션을 공격하는 경우, 사용자의 비밀 번호가 공격자에 누출되는 문제가 있다.
국내 공개 특허 제 10-2013-0024074 "휴대단말기의 어플리케이션 관리장치 및 방법"
본 발명의 실시 예들은, 사용자가 입력한 키의 키 값을 키보드 어플리케이션이 알지 못하게 하도록 하는 방안을 제공한다.
본 발명의 일 실시 예에 따른 사용자 디바이스는, 키보드 레이어(제 2 레이어) 및 상기 키보드 레이어와 중첩되는 보안 레이어(제 3 레이어)를 디스플레이하는 터치 스크린; 상기 키보드 레이어에 키보드 화면을 구성하는 키보드 어플리케이션 모듈; 및 상기 보안 레이어에 보안 화면을 구성하고, 상기 터치 스크린으로부터 상기 키보드 화면에 대응하는 영역에서 발생한 입력 이벤트의 좌표 정보가 수신되는 경우, 상기 입력 이벤트의 좌표 정보와 상기 키보드 화면의 키 배열 정보를 기반으로, 상기 입력 이벤트가 발생한 지점에 대응하는 키의 키 값을 확인하여 출력하는 보안 어플리케이션 모듈을 포함한다.
일 실시 예에서, 상기 보안 어플리케이션 모듈은, 키보드 어플리케이션의 호출이 감지되는 경우 상기 보안 레이어에 상기 보안 화면을 구성할 수 있다. 일 실시 예에서, 상기 보안 어플리케이션 모듈은, 상기 키보드 어플리케이션 모듈로부터 상기 키보드 화면의 키 배열 정보를 수신할 수 있다.
일 실시 예에서, 상기 보안 화면은, 투명 또는 반투명할 수 있다.
일 실시 예에서, 상기 입력 이벤트는, 터치 이벤트일 수 있다.
일 실시 예에서, 상기 키보드 레이어와 상기 보안 레이어는 서로 동일한 크기의 활성 영역을 가질 수 있다.
일 실시 예에서, 상기 보안 레이어는 상기 키보드 레이어의 상위에 위치할 수 있다.
일 실시 예에서, 상기 터치 스크린은 사용자 레이어(제 1 레이어)를 더 디스플레이하며, 상기 사용자 디바이스는 상기 사용자 레이어에 문자열 입력을 위한 입력창이 포함된 화면을 구성하는 사용자 어플리케이션 모듈을 더 포함할 수 있다.
일 실시 예에서, 상기 사용자 어플리케이션 모듈은, 금융 어플리케이션 모듈, SNS 어플리케이션 모듈 및 SMS 어플리케이션 모듈 중 어느 하나일 수 있다.
일 실시 예에서, 상기 보안 어플리케이션 모듈은, 상기 확인된 키 값을 상기 사용자 어플리케이션 모듈로 전송할 수 있다.
일 실시 예에서, 상기 사용자 레이어는 최하위 레이어이고 상기 보안 레이어는 최상위 레이어일 수 있다.
일 실시 예에서, 상기 보안 어플리케이션 모듈은, 상기 키보드 어플리케이션 모듈로부터 상기 키보드 화면의 키 배열 정보를 수신하고, 상기 사용자 어플리케이션 모듈로부터 상기 입력창의 좌표 정보를 수신할 수 있다.
일 실시 예에서, 상기 입력 이벤트는, 터치-드래그앤 드랍 이벤트일 수 있다.
일 실시 예에서, 상기 보안 어플리케이션 모듈은, 상기 터치 이벤트 및 드랍 이벤트 중 어느 하나의 이벤트가 키보드 화면 영역에서 이루어지고 나머지 하나의 이벤트가 상기 입력창 영역에서 이루진 경우, 상기 키보드 화면 영역에서 이루어진 이벤트의 좌표 정보에 해당하는 키의 키 값을 상기 사용자 어플리케이션 모듈로 출력할 수 있다.
일 실시 예에서, 상기 키보드 어플리케이션 모듈은, 설정된 문자열이 입력되는 상기 보안 어플리케이션을 호출할 수 있다.
본 발명의 실시 예들에 따르면, 사용자가 입력한 키의 키 값을 키보드 어플리케이션이 알 수 없으므로, 키보드 어플리케이션이 공격을 받은 경우라 할지라도, 사용자가 입력한 내용이 공격자에게 누출되지 않을 수 있다.
본 발명의 실시 예들에 따르면, 키보드 어플리케이션의 보안을 보장하기 위한 보안 프로그램 제작에 대한 부담을 줄일 수 있다.
본 발명의 실시 예들은, 사용자의 개인 정보 보호에 대한 신뢰성을 높일 수 있다.
본 발명의 실시 예들은, 커스텀(custom) 키보드 확산에 기여할 수 있다.
도 1은 본 발명의 실시 예들에 따른 키 보안 입력 방법의 개념을 설명하기 위한 예시도,
도 2는 본 발명의 실시 예들에 따른 어플리케이션들의 레이어 구조를 설명하기 위한 예시도,
도 3은 본 발명의 실시 예들에 따른 레이어 중첩에 따른 화면 구성을 설명하기 위한 예시도,
도 4는 본 발명의 일 실시 예에 따른 키 보안 입력 방법을 설명하기 위한 예시도,
도 5는 본 발명의 일 실시 예에 따른 키 보안 입력 방법을 설명하기 위한 흐름도,
도 6 및 도 7은 본 발명의 다른 실시 예에 따른 키 보안 입력 방법 설명하기 위한 예시도,
도 8은 본 발명의 다른 실시 예에 따른 키 보안 입력 방법을 설명하기 위한 흐름도,
도 9는 본 발명의 실시 예들이 적용되는 사용자 디바이스를 설명하기 위한 블록도.
이하에서, 본 발명의 실시 예들을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
본 발명의 실시 예들은, 임의의 어플리케이션을 이용하는 사용자가 입력한 키의 키 값을 키보드 어플리케이션이 알 수 없도록 하는 방안을 제공한다. 따라서, 키보드 어플리케이션이 공격자에 의하여 공격을 당한 경우라 하더라도, 사용자가 입력한 내용이 공격자에게 누출되지 않을 수 있다.
이하에서, 본 발명의 실시 예들을 설명함에 있어, 금융 어플리케이션을 이용하는 사용자가 비밀 번호를 입력하는 경우를 가정하여 설명한다. 그러나, 본 발명의 실시 예들이 이에 한정되는 것은 아니다.
본 발명의 실시 예들은, 다양한 사용자 어플리케이션을 이용하는 경우에 적용될 수 있다. 예를 들어, 본 발명의 실시 예들은, SNS(social network service) 어플리케이션 및 SMS(short message) 어플리케이션 등을 이용하는 경우에도 적용될 수 있다. 또한, 본 발명의 실시 예들은, 비밀 번호가 입력되는 경우뿐만 아니라, 개인 정보 또는 일반적인 대화 내용 등이 입력되는 경우에도 적용될 수 있다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시 예들을 설명한다.
도 1은 본 발명의 실시 예들에 따른 키 보안 입력 방법의 개념을 설명하기 위한 예시도이다.
도 1을 참조하여 설명하는 실시 예에서, 사용자 디바이스는 터치 스크린(4000)을 구비하는 것으로 가정한다. 또한, 사용자 디바이스 상에서 금융 어플리케이션(1100)이 구동 중인 경우를 가정한다.
금융 어플리케이션(1100)을 사용 중인 사용자가 비밀 번호 입력을 하고자 하는 경우, 사용자는 금융 어플리케이션 실행 화면 상에서 이벤트를 발생시킬 수 있다. 예를 들어, 사용자는, 금융 어플리케이션 실행 화면에 존재하는 비밀 번호 입력을 위한 입력창에서 터치 이벤트를 발생시킬 수 있다. 입력창에서 이벤트가 감지되는 경우, 금융 어플리케이션(1100)은 키보드 어플리케이션(2200) 호출을 위한 호출 이벤트를 브로드캐스팅할 수 있다.
이에 따라, 호출 이벤트를 수신한 키보드 어플리케이션(2200)이 실행되고, 사용자는 터치 스크린(4000)에 표시된 키보드를 확인할 수 있다.
한편, 키보드 어플리케이션(2200) 호출을 위한 호출 이벤트는 브로드캐스팅 이벤트이며, 따라서 해당 호출 이벤트는 보안 어플리케이션(3300)에 의하여서도 수신될 수 있다. 이를 위하여, 보안 어플리케이션(3300)은 키보드 어플리케이션(2200) 호출을 위한 호출 이벤트가 수신되는 경우에 실행되도록 프로그램되어 있을 수 있다.
보안 어플리케이션(3300)이 실행되면, 보안 어플리케이션(3300)은 키보드 어플리케이션(2200)에게 키 배열 정보를 요청할 수 있다. 키보드 어플리케이션 실행 화면(이하, 키보드 화면)의 키 배열은 설정된 사항 또는 사용자의 선택에 따라 달라질 수 있기 때문에, 보안 어플리케이션(3300)은 현재 디스플레이 중인 키보드 화면의 키 배열 정보를 알 수 없다. 따라서, 보안 어플리케이션(3300)은 키보드 어플리케이션(2200)에게 현재 디스플레이 중인 키보드 화면의 키 배열 정보를 요청하고, 키보드 어플리케이션(2200)으로부터 수신된 키 배열 정보를 저장할 수 있다. 키 배열 정보는, 키보드 어플리케이션 실행 화면에 포함된 각 키의 값과 해당 키의 좌표 정보를 포함할 수 있다.
한편, 보안 어플리케이션(3300)은 키보드 어플리케이션(2200)보다 상위 레이어에 표시될 수 있다. 따라서, 터치 스크린(4000) 상에서 사용자에 의하여 발생하는 입력 이벤트는, 키보드 어플리케이션(2200)에 전달되지 않고 보안 어플리케이션(3300)에만 전달될 수 있다.
보안 어플리케이션(3300)은, 사용자에 의하여 발생된 입력 이벤트의 좌표 정보와 키보드 어플리케이션(2200)으로부터 수신된 키 배열 정보를 기반으로, 입력 이벤트가 발생한 지점의 키 값을 확인할 수 있다. 보안 어플리케이션(3300)은, 확인된 키 값을 금융 어플리케이션(1100)에 제공할 수 있다.
전술한 바와 같이, 사용자에 의하여 발생하는 입력 이벤트는 키보드 어플리케이션(2200)에 전달되지 않고, 보안 어플리케이션(3300)을 통하여 금융 어플리케이션(1100)으로 전달될 수 있다. 따라서, 키보드 어플리케이션(2200)이 공격자에 의하여 공격 당한다 하더라도, 사용자가 입력한 비밀 번호가 누출되지 않을 수 있다.
도 2는 본 발명의 실시 예들에 따른 어플리케이션들의 레이어 구조를 설명하기 위한 예시도이다.
제 1 레이어(1110)는, 금융 어플리케이션 실행 화면을 표시하는 레이어일 수 있다. 금융 어플리케이션 실행 화면은, 터치 스크린의 전체 영역과 동일한 크기로 구성되거나, 터치 스크린의 전체 영역보다 작은 크기로 구성될 수 있다.
제 2 레이어(2220)는, 키보드 화면을 표시하는 레이어일 수 있다. 제 2 레이어(2220)는, 활성 영역(2222) 및 비활성 영역(2224)을 포함할 수 있다. 활성 영역(2222)에는 키보드 화면이 표시될 수 있으며, 비활성 영역(2224)에는 어떠한 정보도 표시되지 않을 수 있다.
비활성 영역(2224)에서 입력 이벤트가 발생하는 경우, 제 2 레이어(2220)에 해당 입력 이벤트가 전달되지 않을 수 있다. 예를 들어, 제 1 레이어(1110)가 하위 레이어이고 제 2 레이어(2220)가 상위 레이어인 경우를 가정하자. 이러한 경우, 비활성 영역(2224)에서 발생하는 입력 이벤트는, 제 2 레이어(2220)에 전달되지 않고 제 1 레이어(1110)에 전달될 수 있다. 반대로, 활성 영역(2222)에서 발생하는 입력 이벤트는, 제 1 레이어(1110)에 전달되지 않고 제 2 레이어(2220)에 전달될 수 있다.
본 발명의 실시 예들을 설명함에 있어, 레이어에 이벤트가 전달된다는 것은, 해당 레이어에 대응하는 어플리케이션에 이벤트가 전달된다는 것을 의미할 수 있다.
제 3 레이어(3330)는, 보안 어플리케이션 실행 화면(이하, 보안 화면)을 표시하는 레이어일 수 있다. 제 3 레이어(3330)는, 투명 또는 반투명한 레이어일 수 있다. 다시 말해, 제 3 레이어(3330)에 표시되는 보안 화면은 투명 또는 반투명할 수 있다.
제 3 레이어(3330)는, 제 2 레이어(2220)와 중첩되도록 구성될 수 있다. . 제 3 레이어(3330)는, 활성 영역(3332) 및 비활성 영역(3334)을 포함할 수 있다. 활성 영역(3332)에는 보안 화면이 표시될 수 있으며, 비활성 영역(3334)에는 어떠한 정보도 표시되지 않을 수 있다. 제 3 레이어(3330)에 형성되는 활성 영역(3332)의 위치 및 크기는, 제 2 레이어(2220)에 형성되는 활성 영역(2222)의 위치 및 크기와 동일할 수 있다.
전술한 바와 마찬 가지로, 비활성 영역(3334)에서 입력 이벤트가 발생하는 경우, 제 3 레이어(3330)에 해당 입력 이벤트가 전달되지 않을 수 있다. 예를 들어, 제 2 레이어(2220)가 하위 레이어이고 제 3 레이어(3330)가 상위 레이어인 경우를 가정하자. 이러한 경우, 비활성 영역(3334)에서 발생하는 입력 이벤트는, 제 3 레이어(3330)에 전달되지 않고 제 2 레이어(2220)에 전달될 수 있다. 반대로, 활성 영역(3332)에서 발생하는 입력 이벤트는, 제 2 레이어(2220)에 전달되지 않고 제 3 레이어(3330)에 전달될 수 있다.
실시 예에 따라, 제 3 레이어(3330)에는 비활성 영역(3334)이 형성되지 않을 수 있으며, 이러한 경우 보안 화면은 제 3 레이어(3330) 전체에 표시될 수 있다. 이러한 경우, 터치 스크린의 전체 영역에서 발생하는 입력 이벤트는 제 3 레이어(3330)로 전달될 수 있다.
도 3은 본 발명의 실시 예들에 따른 레이어 중첩에 따른 화면 구성을 설명하기 위한 예시도이다.
도 3에 도시된 바와 같이, 금융 어플리케이션 실행 화면이 표시되는 제 1 레이어(1110), 키보드 화면이 표시되는 제 2 레이어(2220) 및 보안 화면이 표시되는 제 3 레이어(3330)가 중첩되어 하나의 화면(4400)이 구성될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 키 보안 입력 방법을 설명하기 위한 예시도이다.
먼저, 터치 스크린 상에는 금융 어플리케이션 실행 화면을 표시하는 제 1 레이어(1110)만이 디스플레이 중인 상황을 가정한다. 이러한 상황에서, 사용자가 비밀 번호를 입력하고자 제 1 레이어(1110) 상에 표시된 입력창(1112)에 이벤트를 발생시키는 경우, 금융 어플리케이션은 키보드 어플리케이션 호출을 위한 호출 이벤트를 브로드캐스팅할 수 있다.
이에 따라, 키보드 어플리케이션이 호출되고, 키보드 화면이 제 2 레이어(2220) 상에 표시될 수 있다.
한편, 전술한 바와 같이, 키보드 어플리케이션 호출을 위한 호출 이벤트는, 보안 어플리케이션에 의하여도 수신될 수 있다. 호출 이벤트를 수신한 보안 어플리케이션이 실행되는 경우, 제 3 레이어(3330)에 보안 화면이 표시될 수 있다. 한편, 보안 어플리케이션 실행 시에, 보안 어플리케이션은 키보드 어플리케이션에게 키 배열 정보를 요청할 수 있으며, 이에 따라 키보드 어플리케이션은 보안 어플리케이션에게 키 배열 정보를 제공할 수 있다.
여기서, 제 1 레이어(1110)는 최하위 레이어이고, 제 3 레이어(3330)는 최상위 레이어일 수 있다. 따라서, 터치 스크린 상의 일 영역(3332)에서 사용자에 의한 입력 이벤트가 발생하는 경우, 해당 입력 이벤트의 좌표 정보는, 보안 어플리케이션(3300)에게 전달될 수 있다.
보안 어플리케이션(3300)은 터치 스크린으로부터 수신된 입력 이벤트의 좌표 정보와 키보드 어플리케이션으로부터 수신된 키 배열 정보를 기반으로, 입력 이벤트가 발생한 지점에 해당하는 키 값을 확인할 수 있다. 보안 어플리케이션(3300)은, 확인된 키 값을 제 1 레이어(1110)에 위치하는 금융 어플리케이션에게 제공할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 키 보안 입력 방법을 설명하기 위한 흐름도이다.
도 5를 참조하여 설명하는 실시 예에서, 사용자 디바이스 상에서 금융 어플리케이션이 실행되고 있는 상황을 가정한다. 그리고, 금융 어플리케이션 실행 화면 상에서 사용자가 비밀 번호 입력을 위하여 입력창에서 이벤트를 발생시킨 상황을 가정한다.
단계(501)에서, 금융 어플리케이션(1100)은, 키보드 어플리케이션을 호출하는 호출 이벤트를 브로드캐스팅할 수 있다. 해당 호출 이벤트는, 키보드 어플리케이션(2200) 및 보안 어플리케이션(3300)에 의하여 수신될 수 있다.
단계(503)에서, 호출 이벤트를 수신한 키보드 어플리케이션(2200) 및 보안 어플리케이션(3300)이 실행될 수 있다.
단계(505)에서, 보안 어플리케이션(3300)은, 키보드 어플리케이션(2200)에게 키 배열 정보를 요청하고, 상기 요청에 대응하여 키보드 어플리케이션(2200)으로부터 키 배열 정보를 수신할 수 있다.
단계(507)에서, 보안 어플리케이션(3300)은, 터치 스크린(4000)으로부터 사용자에 의한 입력 이벤트를 수신할 수 있다.
단계(509)에서, 보안 어플리케이션(3300)은, 키보드 어플리케이션으로부터 수신된 키 배열 정보 및 터치 스크린으로부터 수신된 입력 이벤트의 좌표 정보를 기반으로, 사용자가 의도한 키 값을 확인할 수 있다.
단계(511)에서, 보안 어플리케이션(3300)은, 확인된 키 값을 금융 어플리케이션에게 제공할 수 있다.
살펴본 바와 같이, 키보드 어플리케이션은, 터치 스크린으로부터 입력 이벤트를 수신하지 않기 때문에, 사용자가 현재 선택한 키의 키 값을 확인할 수 없다. 따라서, 키보드 어플리케이션이 공격자에 의하여 공격을 당하더라도, 사용자에 의하여 입력된 키, 예를 들어 비밀 번호가 누출되지 않을 수 있다.
도 6은 본 발명의 다른 실시 예에 따른 키 보안 입력 방법을 설명하기 위한 예시도이다.
먼저, 터치 스크린 상에는 금융 어플리케이션 실행 화면을 표시하는 제 1 레이어(1110)만이 디스플레이 중인 상황을 가정한다. 이러한 상황에서, 사용자가 비밀 번호를 입력하고자 제 1 레이어(1110) 상에 표시된 입력창(1112)에 이벤트를 발생시키는 경우, 금융 어플리케이션은 키보드 어플리케이션 호출을 위한 호출 이벤트를 브로드캐스팅할 수 있다.
이에 따라, 키보드 어플리케이션이 호출되고, 키보드 화면이 제 2 레이어(2220) 상에 표시될 수 있다.
한편, 전술한 바와 같이, 키보드 어플리케이션 호출을 위한 호출 이벤트는, 보안 어플리케이션에 의하여도 수신될 수 있다. 호출 이벤트를 수신한 보안 어플리케이션이 실행되는 경우, 제 3 레이어(3330)에 보안 화면이 표시될 수 있다. 도 6을 참조하여 설명하는 실시 예에서, 제 3 레이어(3330)에는 비활성 영역이 형성되지 않는 경우를 가정한다. 즉, 제 3 레이어(3330)의 전체 영역에는 보안 화면이 표시될 수 있다.
여기서, 제 1 레이어(1110)는 최하위 레이어이고, 제 3 레이어(3330)는 최상위 레이어일 수 있다.
한편, 보안 어플리케이션 실행 시에, 보안 어플리케이션은 키보드 어플리케이션에게 키 배열 정보를 요청할 수 있으며, 이에 따라 키보드 어플리케이션은 보안 어플리케이션에게 키 배열 정보를 제공할 수 있다.
또한, 보안 어플리케이션 실행 시에, 보안 어플리케이션은 금융 어플리케이션에게 화면 구성 정보를 요청할 수 있으며, 이에 따라 금융 어플리케이션은 보안 어플리케이션에게 화면 구성 정보를 제공할 수 있다. 화면 구성 정보는, 제 1 레이어(1110)에 디스플레이 중인 보안 화면에 포함된 아이템과 해당 아이템의 좌표 정보를 포함할 수 있다. 보안 화면에 포함된 아이템은, 예를 들어, 비밀 번호 입력을 위한 입력창(1112)을 포함할 수 있다.
터치 스크린 상에서 사용자에 의한 입력 이벤트가 발생하는 경우, 해당 입력 이벤트는,보안 어플리케이션에게 전달될 수 있다. 해당 이벤트는 터치 이벤트일 수도 있고, 터치-드래그앤 드랍 이벤트일 수도 있다.
터치-드래그앤 드랍 이벤트가 감지되는 경우, 보안 어플리케이션은 터치 이벤트가 발생한 지점의 좌표 정보와 드랍 이벤트가 발생한 지점의 좌표 정보를 기반으로 사용자가 의도한 키 값을 확인할 수 있다. 그리고, 보안 어플리케이션은, 확인된 키 값을 금융 어플리케이션에게 제공할 수 있다.
예를 들어, 터치 이벤트가 발생한 지점의 좌표 정보가 키보드 화면 상의 임의의 지점을 가리키고, 드랍 이벤트가 발생한 지점의 좌표 정보가 금융 어플리케이션 실행 화면의 입력창 영역을 가리킨다고 가정하자. 이러한 경우, 보안 어플리케이션은, 터치 이벤트가 발생한 지점의 좌표 정보에 대응하는 키의 값을 보안 어플리케이션에 제공할 키 값을 결정할 수 있다.
반대로, 터치 이벤트가 발생한 지점의 좌표 정보가 금융 어플리케이션 실행 화면의 입력창 영역을 가리키고, 드랍 이벤트가 발생한 지점의 좌표 정보가 키보드 화면 상의 임의의 지점을 가리킨다고 가정하자. 이러한 경우, 보안 어플리케이션은 드랍 이벤트가 발생한 지점의 좌표 정보에 대응하는 키의 값을 보안 어플리케이션에게 제공할 수 있다.
한편, 입력창이 다수 개로 분할되어 있는 경우, 사용자는 비밀 번호 입력 순서를 자유롭게 정하여 보안을 더 강화시킬 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 하나의 문자가 입력되는 입력창(1112a, 1112b, 1112c, 1112d)이 다수 개 존재하는 상황을 가정하자. 이러한 경우, 사용자는 첫 번째 선택한 키를 두 번째 입력창에 입력시키고, 두 번째 선택한 키를 네 번째 입력창에 입력시키는 등 키 입력 순서를 자유롭게 정할 수 있다. 따라서, 공격자가 존재한다고 가정할 때, 공격자는 사용자에 의하여 현재 선택된 키와 해당 키가 비밀 번호 중 몇 번째 자리에 위치하는 지를 파악하여야 하는 어려움이 있다.
도 8은 본 발명의 다른 실시 예에 따른 키 보안 입력 방법을 설명하기 위한 흐름도이다.
도 8을 참조하여 설명하는 실시 예에서, 사용자 디바이스 상에서 금융 어플리케이션이 실행되고 있는 상황을 가정한다. 그리고, 금융 어플리케이션 실행 화면 상에서 사용자가 비밀 번호 입력을 위하여 입력창에서 이벤트를 발생시킨 상황을 가정한다.
단계(801)에서, 금융 어플리케이션(1100)은, 키보드 어플리케이션(2200)을 호출하는 호출 이벤트를 브로드캐스팅할 수 있다. 해당 호출 이벤트는, 키보드 어플리케이션(2200) 및 보안 어플리케이션(3300)에 의하여 수신될 수 있다.
단계(803)에서, 호출 이벤트를 수신한 키보드 어플리케이션(2200) 및 보안 어플리케이션(3300)이 실행될 수 있다.
단계(805)에서, 보안 어플리케이션(3300)은, 키보드 어플리케이션(2200)에게 키 배열 정보를 요청하고, 상기 요청에 대응하여 키보드 어플리케이션(2200)으로부터 키 배열 정보를 수신할 수 있다.
단계(807)에서, 보안 어플리케이션(3300)은, 금융 어플리케이션(1100)에게 화면 구성 정보를 요청하고, 상기 요청에 대응하여 금융 어플리케이션(1100)으로부터 화면 구성 정보를 수신할 수 있다. 화면 구성 정보는, 입력창의 좌표 정보를 포함할 수 있다.
단계(809)에서, 보안 어플리케이션(3300)은, 터치 스크린(4000)으로부터 사용자에 의한 입력 이벤트를 수신할 수 있다. 해당 입력 이벤트는, 터치-드래그앤 드랍 이벤트일 수 있다. 해당 입력 이벤트는, 터치 지점의 좌표 정보 및 드랍 지점의 좌표 정보를 포함할 수 있다.
단계(811)에서, 보안 어플리케이션(3300)은, 금융 어플리케이션(1100)으로부터 수신된 화면 구성 정보, 키보드 어플리케이션(2200)으로부터 수신된 키 배열 정보 및 터치 스크린(4000)으로부터 수신된 입력 이벤트의 좌표 정보를 기반으로, 사용자가 의도한 키 값을 확인할 수 있다.
단계(813)에서, 보안 어플리케이션(3300)은, 확인된 키 값을 금융 어플리케이션에게 제공할 수 있다.
도 9는 본 발명의 실시 예들이 적용되는 사용자 디바이스를 설명하기 위한 블록도이다.
도 9를 참조하면, 본 발명의 실시 예들이 적용되는 사용자 디바이스는, 터치 스크린(4000), 사용자 어플리케이션 모듈(1000), 키보드 어플리케이션 모듈(2000) 및 보안 어플리케이션 모듈(3000)을 포함한다. 실시 예에 따라, 전술한 구성 요소 중 적어도 일부는 생략될 수 있다.
터치 스크린(4000)은, 사용자에 의한 입력 이벤트를 감지하고, 감지된 입력 이벤트의 좌표 정보를, 사용자 어플리케이션 모듈(1000) 및 보안 어플리케이션 모듈(3000) 중 적어도 하나에게 제공할 수 있다.
터치 스크린(4000)은, 사용자 어플리케이션 모듈(1000), 키보드 어플리케이션 모듈(2000) 및 보안 어플리케이션 모듈(3000) 중 적어도 하나에 의하여 구성된 레이어를 디스플레이할 수 있다.
사용자 어플리케이션 모듈(1000)은, 사용자 어플리케이션 실행 요청이 있는 경우 제 1 레이어에 사용자 어플리케이션 실행 화면을 구성할 수 있다. 사용자 어플리케이션은, 예를 들어, 금융 어플리케이션, SNS 어플리케이션 또는 SMS 어플리케이션일 수 있다. 사용자 어플리케이션 실행 화면에는 문자열 입력을 위한 입력창이 포함될 수 있다. 입력창 영역에서 사용자에 의한 이벤트가 감지되는 경우, 사용자 어플리케이션 모듈(1000)은 키보드 어플리케이션을 호출하는 호출 이벤트를 브로드캐스팅할 수 있다.
키보드 어플리케이션 모듈(2000)은, 키보드 어플리케이션을 호출하는 호출 이벤트가 감지되는 경우 제 2 레이어에 키보드 화면을 구성할 수 있다.
보안 어플리케이션 모듈(3000)은, 키보드 어플리케이션을 호출하는 호출 이벤트가 감지되는 경우 제 3 레이어에 보안 화면을 구성할 수 있다. 보안 화면은 투명하거나 반투명할 수 있다.
보안 어플리케이션 모듈(3000)은, 키보드 어플리케이션 모듈(2000)에게 키보드 화면의 키 배열 정보를 요청하고, 이에 대한 응답으로 키보드 어플리케이션 모듈(2000)로부터 키 배열 정보를 수신할 수 있다.
보안 어플리케이션 모듈(3000)은, 터치 스크린(4000)으로부터 수신되는 입력 이벤트의 좌표 정보와 키보드 어플리케이션 모듈(2000)로부터 수신되는 키 배열 정보를 기반으로 사용자가 입력을 의도한 키의 키 값을 확인할 수 있다. 다시 말해, 보안 어플리케이션 모듈(3000)은, 입력 이벤트의 좌표 정보와 키 배열 정보를 기반으로 입력 이벤트가 발생한 지점에 대응하는 키의 키 값을 확인할 수 있다. 보안 어플리케이션 모듈(3000)은, 확인된 키 값을 사용자 어플리케이션 모듈(1000)에게 제공할 수 있다.
다른 실시 예에서, 보안 어플리케이션 모듈(3000)은, 키 배열 정보 이외에 사용자 어플리케이션 실행 화면의 화면 구성 정보를 더 수신할 수 있다. 즉, 보안 어플리케이션 모듈(3000)은, 사용자 어플리케이션 모듈(1000)에게 사용자 어플리케이션 실행 화면의 화면 구성 정보를 요청하고, 이에 대한 응답으로 사용자 어플리케이션(1000)으로부터 화면 구성 정보를 수신할 수 있다. 화면 구성 정보에는, 입력 창의 좌표 정보가 포함될 수 있다.
이러한 경우, 보안 어플리케이션 모듈(3000)은, 키 배열 정보, 화면 구성 정보 및 입력 이벤트의 좌표 정보를 기반으로 사용자가 의도한 키의 키 값을 확인할 수 있다. 예를 들어, 사용자 입력 이벤트는 터치-드래그앤 드랍 이벤트이며, 터치 이벤트 및 드랍 이벤트 중 어느 하나의 이벤트가 키보드 화면 영역 상에서 이루어지고 나머지 하나의 이벤트가 비밀 번호 입력창 영역 상에서 이루진 경우를 가정하자. 이러한 경우, 보안 어플리케이션 모듈(3000)은, 키보드 화면 영역 상에서 이루어진 이벤트의 좌표 정보에 해당하는 키의 키 값을 사용자 어플리케이션 모듈(1000)에게 제공할 수 있다. 이 때, 보안 어플리케이션 모듈(3000)은, 나머지 영역 상에서 이루어진 이벤트의 좌표 정보를 사용자 어플리케이션 모듈(1000)에게 더 제공할 수 있다. 이는, 사용자 어플리케이션 실행 화면에 다수의 입력창이 존재하는 경우, 현재 확인된 키 값이 어느 입력 창에 대응하는 것인지를 금융 어플리케이션 모듈(1000)이 알 수 있게끔 하기 위함이다.
이상에서는, 사용자 어플리케이션이 키보드 어플리케이션을 호출하는 경우에 보안 어플리케이션이 자동으로 호출되는 경우의 예를 살펴보았다. 실시 예에 따라, 보안 어플리케이션의 호출을 키보드 어플리케이션이 수행할 수도 있다. 예를 들어, 키보드 어플리케이션 실행 상태에서, 사용자가 미리 설정된 문자열(예를 들어, "****")을 입력하는 경우 보안 어플리케이션이 호출되게 할 수도 있다. 이를 위하여, 키보드 어플리케이션은, 미리 설정된 문자열이 입력되는 경우 보안 어플리케이션을 호출하도록 프로그래밍되어 있을 수 있다.
이상에서 설명된 본 발명의 실시 예들은 임의의 다양한 방법으로 구현될 수 있다. 예를 들어, 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 그 조합을 이용하여 구현될 수 있다. 소프트웨어로 구현되는 경우에, 다양한 운영 체제 또는 플랫폼을 이용하는 하나 이상의 프로세서 상에서 실행되는 소프트웨어로서 구현될 수 있다. 추가적으로, 그러한 소프트웨어는 다수의 적합한 프로그래밍 언어들 중에서 임의의 것을 사용하여 작성될 수 있고, 또한 프레임워크 또는 가상 머신에서 실행 가능한 기계어 코드 또는 중간 코드로 컴파일 될 수 있다.
또한, 본 발명의 실시 예들이 하나 이상의 프로세서 상에서 실행되는 경우 이상에서 논의된 본 발명의 다양한 실시 예들을 구현하는 방법을 수행하기 위한 하나 이상의 프로그램이 기록된 프로세서 판독 가능 매체(예를 들어, 메모리, 플로피 디스크, 하드 디스크, 콤팩트 디스크, 광학 디스크 또는 자기 테이프 등)로 구현될 수 있다.

Claims (15)

  1. 키보드 레이어 및 상기 키보드 레이어의 상위 레이어인 보안 레이어를 중첩하여 디스플레이하는 터치 스크린;
    상기 키보드 레이어에 키보드 화면을 구성하는 키보드 어플리케이션 모듈; 및
    상기 보안 레이어에 보안 화면을 구성하고, 상기 키보드 어플리케이션 모듈로부터 상기 키보드 화면의 키 배열 정보를 획득하고, 상기 터치 스크린으로부터 상기 키보드 화면에 대응하는 영역에서 발생한 입력 이벤트의 좌표 정보가 수신되는 경우, 상기 입력 이벤트의 좌표 정보와 상기 키보드 화면의 키 배열 정보를 기반으로, 상기 입력 이벤트가 발생한 지점에 대응하는 키의 키 값을 확인하고, 문자열 입력을 위한 입력창이 포함된 화면을 구성하는 사용자 레이어에 확인한 키 값을 출력하는 보안 어플리케이션 모듈
    을 포함하는 사용자 디바이스.
  2. 제 1 항에 있어서, 상기 보안 어플리케이션 모듈은,
    키보드 어플리케이션의 호출이 감지되는 경우 상기 보안 레이어에 상기 보안 화면을 구성하는
    사용자 디바이스.
  3. 삭제
  4. 제 1 항에 있어서, 상기 보안 화면은,
    투명 또는 반투명한
    사용자 디바이스.
  5. 제 1 항에 있어서, 상기 입력 이벤트는,
    터치 이벤트인
    사용자 디바이스.
  6. 제 1 항에 있어서,
    상기 키보드 레이어와 상기 보안 레이어는 서로 동일한 크기의 활성 영역을 갖는
    사용자 디바이스.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 터치 스크린은 상기 사용자 레이어를 더 디스플레이하며,
    상기 사용자 레이어에 문자열 입력을 위한 입력창이 포함된 화면을 구성하는 사용자 어플리케이션 모듈을 더 포함하는
    사용자 디바이스.
  9. 제 8 항에 있어서, 상기 사용자 어플리케이션 모듈은,
    금융 어플리케이션 모듈, SNS 어플리케이션 모듈 및 SMS 어플리케이션 모듈 중 어느 하나인
    사용자 디바이스.
  10. 제 8 항에 있어서, 상기 보안 어플리케이션 모듈은,
    상기 확인된 키 값을 상기 사용자 어플리케이션 모듈로 전송하는
    사용자 디바이스.
  11. 제 8 항에 있어서,
    상기 사용자 레이어는 최하위 레이어이고 상기 보안 레이어는 최상위 레이어인
    사용자 디바이스.
  12. 제 8 항에 있어서, 상기 보안 어플리케이션 모듈은,
    상기 키보드 어플리케이션 모듈로부터 상기 키보드 화면의 키 배열 정보를 수신하고, 상기 사용자 어플리케이션 모듈로부터 상기 입력창의 좌표 정보를 수신하는
    사용자 디바이스.
  13. 제 11 항에 있어서, 상기 입력 이벤트는,
    터치 이벤트 또는 드래그앤 드랍 이벤트인
    사용자 디바이스.
  14. 제 13 항에 있어서, 상기 보안 어플리케이션 모듈은,
    상기 터치 이벤트 및 상기 드래그앤 드랍 이벤트 중 어느 하나의 이벤트가 키보드 화면 영역에서 이루어지고 나머지 하나의 이벤트가 상기 입력창 영역에서 이루어진 경우, 상기 키보드 화면 영역에서 이루어진 이벤트의 좌표 정보에 해당하는 키의 키 값을 상기 사용자 어플리케이션 모듈로 출력하는
    사용자 디바이스.
  15. 제 1 항에 있어서, 상기 키보드 어플리케이션 모듈은,
    설정된 문자열이 입력되는 상기 보안 어플리케이션을 호출하는
    사용자 디바이스.
KR1020150148918A 2015-10-26 2015-10-26 키 보안 입력을 수행하는 사용자 디바이스 KR102404704B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150148918A KR102404704B1 (ko) 2015-10-26 2015-10-26 키 보안 입력을 수행하는 사용자 디바이스

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150148918A KR102404704B1 (ko) 2015-10-26 2015-10-26 키 보안 입력을 수행하는 사용자 디바이스

Publications (2)

Publication Number Publication Date
KR20170048662A KR20170048662A (ko) 2017-05-10
KR102404704B1 true KR102404704B1 (ko) 2022-06-02

Family

ID=58743603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150148918A KR102404704B1 (ko) 2015-10-26 2015-10-26 키 보안 입력을 수행하는 사용자 디바이스

Country Status (1)

Country Link
KR (1) KR102404704B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012174208A (ja) * 2011-02-24 2012-09-10 Sony Corp 情報処理装置、情報処理方法、プログラム及び端末装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101882339B1 (ko) 2011-08-30 2018-07-27 삼성전자주식회사 휴대단말기의 어플리케이션 관리장치 및 방법
KR102187255B1 (ko) * 2013-09-30 2020-12-04 삼성전자주식회사 전자 장치의 디스플레이 방법 및 그 전자 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012174208A (ja) * 2011-02-24 2012-09-10 Sony Corp 情報処理装置、情報処理方法、プログラム及び端末装置

Also Published As

Publication number Publication date
KR20170048662A (ko) 2017-05-10

Similar Documents

Publication Publication Date Title
US10936274B2 (en) Selective screen sharing
US20170116408A1 (en) Unlocking electronic devices using touchscreen input gestures
CA2969493C (en) System and method for enabling secure authentication
KR102078753B1 (ko) 화면 구성 방법 및 그 전자 장치
KR102094013B1 (ko) 전자 장치에서 메시지를 전송하기 위한 장치 및 방법
KR101489152B1 (ko) 스크린 캡쳐 방지장치 및 방법
CN103810414A (zh) 密码呈现管理方法和系统
GB2530983A (en) Content mirroring
US11204994B2 (en) Injection attack identification and mitigation
CN104063673A (zh) 一种在浏览器中进行信息输入的方法和浏览器装置
JP2017534991A (ja) ユーザー端末装置のhtmlページでローカルキーボードを呼び出すための方法及びその装置
CN107657187A (zh) 一种应用于Android系统的键盘输入方法和系统
KR20130093725A (ko) 어플리케이션 실행 제어 방법 및 장치
US9569606B2 (en) Verification of a pattern based passcode
WO2021077882A1 (zh) 一种图像显示方法与电子设备
KR102404704B1 (ko) 키 보안 입력을 수행하는 사용자 디바이스
AlJarrah et al. Maintaining user interface integrity on Android
EP2767921A1 (en) Lock releasing method of electronic device, and apparatus thereof
KR102055044B1 (ko) 다국어 키보드 시스템
CN103810415B (zh) 一种图形密码保护方法
CN106302344A (zh) 安全扫描方法及系统
WO2014209079A1 (ko) 문자 및 캐릭터 제공을 위한 정보 처리 장치 및 방법
KR20150062401A (ko) 사생활 보호를 위한 디스플레이 처리 방법 및 장치
US9848331B2 (en) Augmenting mobile device access control modes with hardware buttons
US10491551B2 (en) Terminal device, method and recording medium containing program for message processing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant