KR20090036813A - 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법 - Google Patents

마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법 Download PDF

Info

Publication number
KR20090036813A
KR20090036813A KR1020070102079A KR20070102079A KR20090036813A KR 20090036813 A KR20090036813 A KR 20090036813A KR 1020070102079 A KR1020070102079 A KR 1020070102079A KR 20070102079 A KR20070102079 A KR 20070102079A KR 20090036813 A KR20090036813 A KR 20090036813A
Authority
KR
South Korea
Prior art keywords
virtual keyboard
input
server
user terminal
keyboard
Prior art date
Application number
KR1020070102079A
Other languages
English (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 KR1020070102079A priority Critical patent/KR20090036813A/ko
Publication of KR20090036813A publication Critical patent/KR20090036813A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key

Abstract

본 발명은 마우스 입력 좌표값을 이용하여 가상키보드의 입력 데이터에 대한 해킹을 방지하는 방법으로서, 더욱 상세하게는 가상키보드의 자판 배열을 임의로 배치하여 디스플레이하는 동시에, 가상키보드를 통한 입력 완료시 키 입력값이 아닌 마우스 입력 좌표값을 서버로 전송하여 최종 키 입력값을 서버에서 산출하도록 구성됨으로써, 해킹 프로그램에 의해 전송 데이터가 노출되더라도 실제 키 입력값을 추정할 수 없도록 하여 입력 데이터에 대한 보안을 보다 강화시킨 가상키보드 해킹 방지 방법에 관한 것이다.
본 발명에 따른 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법은, a) 서버가 가상키보드 이미지를 랜덤하게 설정하는 단계와; b) 서버가 상기 설정된 가상키보드 이미지의 각 자판별 좌표 정보를 획득하여 저장해두는 단계와; c) 사용자단말이 상기 설정된 가상키보드 이미지를 서버로부터 전송받아, 상기 전송된 이미지로 구성된 가상키보드를 웹브라우저 상에 디스플레이하는 단계와; d) 사용자단말이 가상키보드 상의 특정 자판에 대한 마우스 입력을 감지하여 해당 입력 좌표값을 저장하고, 마우스 입력에 대응하는 문자를 입력박스에 출력시키는 단계와; f) 해당 입력박스에 대한 마우스 입력이 완료되면, 사용자 단말이 저장된 입력 좌표값들로 구성된 입력 좌표열을 서버로 전송하는 단계와; g) 서버가 사용자단말로부터 전송된 입력 좌표열로부터 상기 b) 단계에서 저장된 좌표 정보를 이용하여 실제 키 입력값으로 구성된 입력 문자열을 산출하는 단계;를 포함하여 구성되는 점을 특징 으로 한다.
가상키보드, 해킹, 보안, 좌표, 공개키기반구조(PKI)

Description

마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법{Vertual keyboard hacking protection method using mouse input coordinates}

본 발명은 마우스 입력 좌표값을 이용하여 가상키보드의 입력 데이터에 대한 해킹을 방지하는 방법으로서, 더욱 상세하게는 가상키보드의 자판 배열을 임의로 배치하여 디스플레이하는 동시에, 가상키보드를 통한 입력 완료시 키 입력값이 아닌 마우스 입력 좌표값을 서버로 전송하여 최종 키 입력값을 서버에서 산출하도록 구성됨으로써, 해킹 프로그램에 의해 전송 데이터가 노출되더라도 실제 키 입력값을 추정할 수 없도록 하여 입력 데이터에 대한 보안을 보다 강화시킨 가상키보드 해킹 방지 방법에 관한 것이다.

최근 인터넷과 컴퓨터 기술이 급속도로 발전함에 따라 인터넷 뱅킹, 주식 거래 및 인터넷 쇼핑몰에서의 전자 결제 등과 같은 중요한 업무가 개인이나 기업의 개인용 컴퓨터(PC)를 통해 이루어지고 있다.

이러한 PC를 통한 금융 거래 또는 전자 상거래에서 사용자가 본인의 신원을 증명하기 위한 수단으로서 아이디(ID), 비밀번호(password), 인증서 비밀번호, 신용카드 번호 또는 주민등록번호 등을 입력하는 인증 과정을 필수적으로 거치게 되 어 있다.

그러나, 이와 같은 중요 정보를 키보드로 입력하는 과정에서, 악의를 가진 제 3자가 PC에 설치한 스파이웨어(spyware)나 키스트로크 로거(keystroke logger)를 통해 키보드 입력 정보를 획득함으로써, 취득한 개인 정보를 불법적으로 도용하는 사례들이 증가하고 있다.

이러한 문제를 해결하기 위한 종래의 키보드 해킹 방지 방법으로는 PC에 바이러스 백신이나 스파이웨어 제거 도구 등을 설치하여, 스파이웨어 등의 악성 프로그램을 탐지 및 제거하는 방법이 있다. 그러나 이러한 방법은 변형 또는 신종 악성 프로그램이 발생한 경우에는 그 피해 상황이 보고된 이후에만 대처가 가능하므로, 사전에 피해를 예방하는 데에는 한계가 있다는 문제점이 있다.

또다른 종래의 키보드 해킹 방지 방법으로는 한국등록특허공보 제 0496462호에 기재된 "키 입력 도용 방지 방법"이 있다. 상기 문헌에는 통신 네트워크를 통하여 소정의 서버에 연결된 사용자 컴퓨터에 키 로거(key logger)가 존재하는지 여부를 판단하여, 키 로거가 존재하는 경우 상기 사용자 컴퓨터의 화면에 가상키보드를 디스플레이하도록 가상키보드 생성 모듈이 동작함으로써, 사용자로부터 상기 가상키보드를 통해 키 입력을 받는 방법이 기재되어 있다.

그러나 이와 같은 가상키보드를 이용한 키보드 해킹 방지 방법은 사용자가 가상키보드의 숫자 또는 문자를 마우스로 클릭하면 클릭된 숫자 또는 문자에 대응하는 키보드 입력 데이터를 생성하여 웹브라우저와 같은 응용 프로그램으로 전달하게 되므로, 입력 과정에서의 키보드 해킹에 대한 보안은 유지할 수 있지만 응용 프 로그램에 입력 데이터가 전달된 이후에는 응용프로그램 자체에 대한 해킹에 무방비로 노출될 수 있는 위험이 있다.

도 1은 해킹툴이 응용프로그램 후킹을 통해 인터넷 뱅킹 로그인 정보를 획득한 상태를 나타내는 도면이다.

도 1의 좌측에서와 같이, 응용 프로그램으로 인터넷 익스플로어(Internet Explorer; IE)를 사용하여 인터넷 뱅킹을 위한 로그인 화면에서 아이디와 비밀번호 정보를 입력하면, IE는 입력된 문자 정보를 입력창에 출력하여 사용자가 인지할 수 있도록 해준다. 그러나, BHO(Browser Helper Object), JavaScript, MSHTML 등을 통해 구현된 해킹툴을 사용하면, 도 1의 우측에 도시된 바와 같이, 응용프로그램 후킹을 통해 아이디 입력박스 및 비밀번호 입력박스의 속성과 각 입력박스에 입력된 아이디와 비밀번호 정보를 용이하게 획득할 수 있다는 문제점이 있다.

따라서, 키보드 입력 정보가 가상키보드로부터 응용프로그램으로 전달되는 과정에서의 키보드 보안 뿐만 아니라, 응용프로그램으로 입력 정보가 전달된 후 인터넷을 통해 서버로 전송되기까지 키보드 입력 데이터를 안전하게 보호할 수 있는 보안 방법에 대한 연구 및 개발이 필수적으로 요구되고 있다.

본 발명은 상기한 종래 기술에 따른 가상키보드 해킹 방지 방법의 문제점을 해결하기 위한 것이다. 즉, 본 발명의 목적은, 가상키보드를 디스플레이할 때마다 그 자판 배열을 임의로 배치시키고, 가상키보드를 통한 입력 완료시 키 입력값이 아닌 마우스 입력 좌표값을 서버로 전송하여 최종 키 입력값을 서버에서 산출하도록 구성함으로써, 해킹 프로그램에 의해 전송 데이터가 노출되는 경우에도 실제 키 입력값을 추정할 수 없도록 입력 데이터에 대한 보안을 강화시키는 데에 있다.

또한, 본 발명은 마우스 입력 좌표값을 PKI를 통해 암호화하여 사용자단말로부터 서버로 전송함으로써 응용프로그램으로부터 서버까지 엔드투엔드(End to End; E2E) 보안을 구현하는 데에 또다른 목적이 있다.

상기의 목적을 달성하기 위한 기술적 사상으로서의 본 발명은, a) 서버가 가상키보드 이미지를 랜덤하게 설정하는 단계와; b) 서버가 상기 설정된 가상키보드 이미지의 각 자판별 좌표 정보를 획득하여 저장해두는 단계와; c) 사용자단말이 상기 설정된 가상키보드 이미지를 서버로부터 전송받아, 상기 전송된 이미지로 구성된 가상키보드를 웹브라우저 상에 디스플레이하는 단계와; d) 사용자단말이 가상키보드 상의 특정 자판에 대한 마우스 입력을 감지하여 해당 입력 좌표값을 저장하고, 마우스 입력에 대응하는 문자를 입력박스에 출력시키는 단계와; f) 해당 입력박스에 대한 마우스 입력이 완료되면, 사용자 단말이 저장된 입력 좌표값들로 구성 된 입력 좌표열을 서버로 전송하는 단계와; g) 서버가 사용자단말로부터 전송된 입력 좌표열로부터 상기 b) 단계에서 저장된 좌표 정보를 이용하여 실제 키 입력값으로 구성된 입력 문자열을 산출하는 단계;를 포함하여 구성되는 것을 특징으로 하는 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법을 제공한다.

본 발명에 따른 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법은, 키 입력값이 아닌 마우스 입력 좌표값을 서버로 전송하기 때문에, 해킹 프로그램에 의해 전송 데이터가 노출되는 경우에도 중요한 입력 데이터를 보호할 수 있는 효과가 있다.

또한, 본 발명은 마우스 입력 좌표값을 보안성이 뛰어난 PKI를 통해 암호화하여 전송해 줌으로써, 가상키보드를 통한 입력 데이터를 입력 시점부터 서버에 전송되는 순간까지 안전하게 보호할 수 있는 효과도 있다.

이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하게 설명하기로 한다.

도 2는 본 발명에 따른 가상키보드 해킹 방지 방법이 적용되는 서버-클라이언트 시스템의 구성도이고, 도 3은 도 2에 도시된 가상키보드와 해당 좌표 정보를 나타내는 도면이다.

도 2에 도시된 바와 같이, 본 발명이 적용되는 서버-클라이언트 시스템은 사용자단말(100)과, 인터넷망을 통해 접속한 사용자단말(100) 측으로 가상키보 드(110)를 통한 보안 입력 인터페이스를 제공하는 서버(200)로 구성된다.

사용자단말(100)은 서버(200)가 제공하는 웹페이지에 접속하기 위한 웹브라우저(130)와, 웹브라우저(130)를 통해 제공되는 웹페이지의 입력박스 내에 아이디 또는 비밀번호를 입력할 수 있도록 출력되는 가상키보드(110)와, 가상키보드(110)의 동작을 제어하는 가상키보드 제어부(120)와, 가상키보드(110)를 통해 입력된 좌표 정보를 암호화하여 공개키기반구조(Public Key Infrastructure; PKI)를 통해 서버(200)로 전송해주는 PKI 모듈(140)을 포함하여 구성된다.

서버(200)는 금융기관의 인터넷뱅킹 서버 또는 인터넷 쇼핑몰의 웹서버로서, 다수의 가상키보드 이미지 및 각 가상키보드 이미지의 자판에 대한 좌표 정보가 저장되어 있는 가상키보드 형상정보DB(220)와, 가상키보드 형상정보DB(220)로부터 무작위로 독출하거나 임의의 자판 배열을 가지도록 신규 생성하는 방식으로 사용자단말(100) 측에 출력되는 가상키보드 이미지를 설정하는 가상키보드 이미지 설정부(210)와, 사용자단말(100) 측으로부터 가상키보드(110)를 통해 입력된 좌표값을 전송받아 복호화하는 PKI 서버 모듈(240)과, PKI 서버 모듈(240)을 통해 복호화된 좌표값으로부터 그에 대응하는 입력 문자를 산출하는 보안입력처리부(230)를 포함하여 구성된다.

여기서, 가상키보드 이미지 설정부(210)는 가상키보드 이미지를 새로 설정하는 동시에 해당 가상키보드 이미지의 각 자판에 대한 좌표 정보를 메모리(미도시)에 일시 저장해두며, 보안입력처리부(230)는 이와 같이 가상키보드 이미지 설정부(210)에 의해 저장된 좌표 정보와 사용자단말(100)로부터 전송된 좌표값을 비교 하여 해당하는 입력 문자를 산출해 낸다. 여기서, 가상키보드 이미지 설정부(210)에 의해 저장되는 자판별 좌표 정보는, 도 3에서와 같이, 각 문자 자판에 대하여 자판이 차지하는 영역의 X축 방향 좌표 범위와 Y축 방향 좌표 범위로 구성되는데, 예를 들어, 사용자단말(100)로부터 전송된 좌표값이 (29, 22)일 때 해당 좌표값은 가상키보드(110)의 자판 중 'R'의 좌표 범위인 (27~32, 20~25) 내에 포함되므로, 사용자에 의해 입력된 문자는 'R'인 것을 알 수 있다.

PKI 서버 모듈(240)은 사용자단말(100)의 PKI 모듈(140)에 대응하는 서버(200)측 모듈로서, PKI 모듈(140)과 함께 공개키를 기반으로 좌표값에 대한 암·복호화를 수행하여 해킹 프로그램에 대한 데이터 보안을 한층 강화시켜 줄 수 있다.

도 4는 본 발명의 제1 실시예에 따른 가상키보드 해킹 방지 방법을 나타내는 순서도이다.

이하, 도 4를 참조하여 본 발명의 제1 실시예에 따른 가상키보드 해킹 방지 방법에 대하여 설명하기로 한다.

먼저, 사용자가 서버(200)로부터 제공받는 웹페이지 상에서 아이디나 비밀번호와 같은 보안이 요구되는 정보를 입력하기 위해 입력박스를 클릭하여 입력박스로 포커스가 이동되거나, 입력박스에 포커스가 있는 상태에서 가상키보드(110)에 의한 입력을 요청하는 경우, 서버(200)의 가상키보드 이미지 설정부(210)는 가상키보드 형상정보DB(220)에 기저장되어 있는 다수의 가상키보드 이미지 중의 하나를 무작위 로 독출하거나, 임의의 자판 배열을 가지는 가상키보드 이미지를 신규 생성함으로써, 사용자단말(100) 측에 디스플레이될 가상키보드 이미지를 랜덤하게 설정한다(S10)

이후, 서버(200)의 가상키보드 이미지 설정부(210)는 상기 설정된 가상키보드 이미지의 각 자판에 대한 좌표 정보를 획득하여 저장해둔다(S20). 여기서, 각 자판별 좌표 정보는 앞서 설명한 바와 같이 각 문자 자판에 대하여 자판이 차지하는 영역의 X축 방향 좌표 범위와 Y축 방향 좌표 범위로 구성된다.

이어서, 사용자단말(100)은 상기 설정된 가상키보드 이미지를 서버(200)로부터 전송받아 전송된 이미지로 구성되는 가상키보드(110)를 웹브라우저(130) 상에 디스플레이하고(S30), 사용자가 가상키보드(110) 상의 특정 자판을 마우스로 클릭하는 마우스 입력을 감지한다(S40).

마우스 입력이 감지되면 가상키보드 제어부(120)는 마우스로 클릭된 입력 좌표값을 저장하고(S50), 마우스 입력에 대응하는 문자를 입력박스에 전달하여 해당 문자가 입력박스에 출력되도록 한다(S60). 여기서, 마우스를 통한 입력 좌표값은 웹브라우저(130) 상에 출력된 가상키보드 이미지 내의 상대 좌표값에 해당하므로, 사용자가 가상키보드(110)를 이동시키거나 웹브라우저(130) 전체를 이동시키더라도 가상키보드(110)의 특정 자판에 대한 입력 좌표값은 항상 동일한 값을 가지게 된다.

이 때, 입력박스가 비밀번호 타입인 경우 입력박스에 전달되는 데이터에 무관하게 '*'와 같은 형태로 출력되므로, 입력박스에 실제 키 입력값이 아닌 보거스 값(bogus value)을 전달함으로써, 응용 프로그램 후킹을 통해 입력박스 내의 데이터가 노출되더라도 키 입력값에 대한 정보를 알아낼 수 없도록 하는 것이 바람직하다. 예를 들어, 입력된 키가 숫자인 경우에는 '1', 문자인 경우에는 'a'와 같이 미리 지정된 특정 문자를 보거스 값으로 출력시켜 키 입력값을 은닉시킬 수 있다.

사용자가 확인 버튼을 클릭하거나 또는 엔터 키를 눌러 해당 입력박스에 대한 마우스 입력이 완료되면, 사용자 단말의 가상키보드 제어부(120)는 저장된 입력 좌표값들로 구성된 입력 좌표열을 서버(200)로 전송하고(S70), 서버(200)의 보안입력처리부(230)는 사용자단말(100)로부터 전송된 입력 좌표열에 대응하는 입력 문자열, 즉 사용자로부터 실제로 입력된 일련의 키 입력값을 산출한다(S80). 이때, 보안입력처리부(230)는, 앞서 시스템 구성에 대한 설명에서 언급한 바와 같이, 전송된 입력 좌표열의 각 입력 좌표값과 상기 S20 단계에서 저장된 가상키보드 이미지에 대한 좌표 정보를 비교하여 각 입력 좌표값에 대응하는 가상키보드(110) 자판을 알아낼 수 있으며, 이로부터 실제 입력된 키 입력값을 산출할 수 있다. 여기서, 입력 좌표값을 저장하는 S50 단계를 수행하지 않고, 상기 S40 단계에서 마우스 입력이 감지될 때마다 S70 단계를 바로 수행함으로써, 입력 문자열이 아닌 입력 좌표값을 각각 서버(200)로 전송하여 해당 키 입력값을 산출할 수도 있다.

한편, 해당 입력박스에 대한 마우스 입력이 완료되지 않은 경우에는 상기 마우스 입력 감지 단계(S40)로 되돌아가 그 이하의 단계를 계속적으로 수행한다.

이상에서와 같이 본 발명은 사용자단말(100)로부터 서버(200)로 전송되는 데이터를 키 입력값이 아닌 해당 가상키보드(110)의 좌표값으로 전송하는 동시에 가 상키보드(110)를 디스플레이할 때마다 자판 배열을 임의로 변경시켜 줌으로써, 해킹 프로그램에 의해 사용자단말(100)로부터 서버(200)로의 전송 데이터가 노출되더라도 실제 키 입력값을 추정할 수 없도록 하며, 설사 특정 시점에서의 가상키보드(110)의 좌표 정보가 노출되는 경우에도 이전에 획득한 좌표 정보를 기초로 새로 생성된 가상키보드(110)에 대한 키 입력값을 알아낼 수 없도록 이중적인 데이터 보안을 구축할 수 있다.

도 5는 본 발명의 제2 실시예에 따른 가상키보드 해킹 방지 방법을 나타내는 순서도이고, 도 6은 도 5에 도시된 가상키보드 해킹 방지 방법에 따른 데이터 흐름도이다.

이하, 도 5를 참조하여 본 발명의 제2 실시예에 따른 가상키보드 해킹 방지 방법에 대하여 설명하기로 한다.

본 발명의 제2 실시예에 따른 가상키보드 해킹 방지 방법은 전술한 제1 실시예에 PKI를 이용한 암호화 및 복호화 과정을 추가하여 보안 기능을 더욱 강화한 방법으로서, 가상키보드 이미지 랜덤 설정 단계(S110)에서부터 입력박스 문자 출력 단계(S160)까지는 제1 실시예의 대응되는 각 단계(S10~S60)와 동일하므로 이에 대한 상세한 설명은 생략하기로 한다.

입력박스 문자 출력 단계(S160) 이후, 사용자가 확인 버튼을 클릭하거나 또는 엔터 키를 눌러 해당 입력박스에 대한 마우스 입력이 완료되면, 사용자 단말의 가상키보드 제어부(120)는 저장된 입력 좌표값들로 구성된 입력 좌표열을 PKI 모 듈(140)을 이용하여 암호화하고 이를 서버(200)로 전송한다(S170). 여기서, PKI 모듈(140)을 이용한 암호화는 PKI 모듈(140)에 입력 좌표열을 전달하여 PKI 모듈(140)의 자체적인 기능에 의하여 폼(form) 단위로 암호화 및 서버 전송을 동시에 구현하는 방법과, PKI 모듈(140)에서 외부로 제공해주는 암호화 함수를 호출하여 암호화하는 방법이 있는데, 먼저 PKI 모듈(140)에서 외부로 제공해주는 암호화 함수를 호출하여 1차적으로 암호화하고, 1차 암호화된 입력 좌표열을 PKI 모듈(140)로 전달하여 PIK 모듈에서 2차 암호화 및 서버 전송을 수행하도록 구성함으로써, 입력 좌표열을 이중으로 암호화하는 것이 바람직하다.

이후, 서버(200)의 PKI 서버 모듈(240)은 사용자단말(100)로부터 전송된 암호화된 입력 좌표열을 복호화한다(S175). 여기서, 상기 PKI 모듈(140)을 이용한 암호화 및 전송 단계(S170)에서 입력 좌표열을 이중으로 암호화한 경우에는 2차 암호화와 1차 암호화에 각각 대응한 복호화를 순차적으로 수행하여 입력 좌표열을 구하게 된다. 즉, 암호화된 입력 좌표열을 상기 2차 암호화에 대응하여 복호화하고, 이어서 상기 복호화된 데이터를 상기 1차 암호화에 대응하여 복호화함으로써 암호화되기 이전의 입력 문자열을 구할 수 있다.

마지막으로, 서버(200)의 보안입력처리부(230)는 상기 복호화된 입력 좌표열로부터 대응하는 입력 문자열을 산출한다(S180).

이상에서와 같이, 본 실시예에 따른 가상키보드 해킹 방지 방법에 의하면, 도 6에 도시된 바와 같이, 가상키보드 제어부(120)에서 마우스로 입력된 입력 좌표 데이터를 PKI 모듈(140)로 바로 전달하여 보안성이 뛰어난 PKI 채널을 통해 보안성 을 강화하고, 웹브라우저(130)의 입력박스에는 보거스 값을 전달하여 응용프로그램 후킹에 의한 데이터 노출 위험을 방지함으로써, 웹브라우저(130), 즉 응용프로그램으로부터 서버(200)까지 엔드투엔드(End to End; E2E) 보안을 구현할 수 있게 된다.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.

도 1은 해킹툴이 응용프로그램 후킹을 통해 인터넷 뱅킹 로그인 정보를 획득한 상태를 나타내는 도면.

도 2는 본 발명에 따른 가상키보드 해킹 방지 방법이 적용되는 서버-클라이언트 시스템의 구성도.

도 3은 도 2에 도시된 가상키보드와 해당 좌표 정보를 나타내는 도면.

도 4는 본 발명의 제1 실시예에 따른 가상키보드 해킹 방지 방법을 나타내는 순서도.

도 5는 본 발명의 제2 실시예에 따른 가상키보드 해킹 방지 방법을 나타내는 순서도.

도 6은 도 5에 도시된 가상키보드 해킹 방지 방법에 따른 데이터 흐름도.

<도면의 주요 부분에 대한 부호의 설명>

100 : 사용자단말 110 : 가상키보드

120 : 가상키보드 제어부 130 : 웹브라우저

140 : PKI 모듈 200 : 서버

220 : 형상정보DB 210 : 가상키보드 이미지 설정부

230 : 보안입력처리부 240 : PKI 서버 모듈

Claims (6)

  1. 서버와, 인터넷을 통해 상기 서버에 접속한 사용자단말로 구성되는 시스템 상에서 상기 사용자단말의 가상키보드를 통한 입력 데이터를 해킹으로부터 보호하는 방법에 있어서,
    a) 서버가 가상키보드 이미지를 랜덤하게 설정하는 단계와;
    b) 서버가 상기 설정된 가상키보드 이미지의 각 자판별 좌표 정보를 획득하여 저장해두는 단계와;
    c) 서버가 상기 설정된 가상키보드 이미지를 사용자단말로 전송하여, 상기 전송된 이미지로 구성된 가상키보드를 웹브라우저 상에 디스플레이시키는 단계와;
    d) 사용자단말이 가상키보드 상의 특정 자판에 대한 마우스 입력을 감지하는 단계와;
    e) 서버가 사용자 단말로부터 상기 감지된 마우스 입력의 입력 좌표값을 전송받는 단계와;
    f) 서버가 상기 전송된 입력 좌표값으로부터 상기 b) 단계에서 저장된 좌표 정보를 이용하여 실제 키 입력값을 산출하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법.
  2. 제 1항에 있어서,
    상기 d) 단계에서는,
    상기 감지된 마우스 입력의 입력 좌표값을 저장해두고,
    상기 e) 단계에서는,
    사용자의 마우스 입력이 완료되면, 상기 저장된 입력 좌표값들로 구성된 입력 좌표열을 전송받는 것을 특징으로 하는 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법.
  3. 서버와, 인터넷을 통해 상기 서버에 접속한 사용자단말로 구성되는 시스템 상에서 상기 사용자단말의 가상키보드를 통한 입력 데이터를 해킹으로부터 보호하는 방법에 있어서,
    a) 서버가 가상키보드 이미지를 랜덤하게 설정하는 단계와;
    b) 서버가 상기 설정된 가상키보드 이미지의 각 자판별 좌표 정보를 획득하여 저장해두는 단계와;
    c) 서버가 상기 설정된 가상키보드 이미지를 사용자단말로 전송하여, 상기 전송된 이미지로 구성된 가상키보드를 웹브라우저 상에 디스플레이시키는 단계와;
    d) 사용자단말이 가상키보드 상의 특정 자판에 대한 마우스 입력을 감지하여 해당 입력 좌표값을 저장하는 단계와;
    e) 해당 입력박스에 대한 마우스 입력이 완료되면, 상기 저장된 입력 좌표값들로 구성된 입력 좌표열을 PKI를 통해 암호화하여 사용자단말로부터 서버로 전송하는 단계와;
    f) 서버가 상기 전송된 암호화된 입력 좌표열을 복호화하고, 상기 b) 단계에서 저장된 좌표 정보를 이용하여 상기 복호화된 입력 좌표열로부터 실제 키 입력값으로 구성된 입력 문자열을 산출하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법.
  4. 제 3항에 있어서,
    상기 e) 단계는,
    e-1) 사용자단말이 PKI 모듈의 외부 제공 함수를 호출하여 입력 좌표열을 1차적으로 암호화하는 단계와;
    e-2) PIK 모듈에서 상기 1차 암호화된 입력 좌표열을 전달받아 2차 암호화한 후 서버로 전송하는 단계;
    로 구성되고,
    상기 f) 단계는,
    f-1) 상기 전송된 암호화된 입력 좌표열을 상기 e-2) 단계의 2차 암호화에 대응하여 복호화하는 단계와;
    f-2) 상기 f-1) 단계에서 복호화된 데이터를 상기 e-1) 단계의 1차 암호화에 대응하여 복호화하는 단계와;
    f-3) 상기 f-2) 단계를 통해 복호화된 입력 좌표열로부터 입력 문자열을 산출하는 단계;
    로 구성되는 것을 특징으로 하는 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법.
  5. 제 1항 또는 제 3항에 있어서,
    상기 a) 단계는,
    기저장되어 있는 다수의 가상키보드 이미지 중의 하나를 무작위로 독출하거나, 임의의 자판 배열을 가지는 가상키보드 이미지를 신규 생성함으로써, 사용자단말 측에 출력되는 가상키보드 이미지를 랜덤하게 설정하는 것을 특징으로 하는 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법.
  6. 제 1항 또는 제 3항에 있어서,
    상기 b) 단계에서 저장되는 자판별 좌표 정보는,
    상기 설정된 가상키보드 이미지의 각 문자 자판에 대하여 해당 자판이 차지하는 영역의 X축 방향 좌표 범위 및 Y축 방향 좌표 범위로 구성되는 것을 특징으로 하는 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법.
KR1020070102079A 2007-10-10 2007-10-10 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법 KR20090036813A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070102079A KR20090036813A (ko) 2007-10-10 2007-10-10 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070102079A KR20090036813A (ko) 2007-10-10 2007-10-10 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법

Publications (1)

Publication Number Publication Date
KR20090036813A true KR20090036813A (ko) 2009-04-15

Family

ID=40761674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070102079A KR20090036813A (ko) 2007-10-10 2007-10-10 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법

Country Status (1)

Country Link
KR (1) KR20090036813A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101042227B1 (ko) * 2009-11-24 2011-06-16 이니텍(주) 가상 키보드를 이용한 키입력 해킹 방지 방법
KR101129894B1 (ko) * 2010-04-21 2012-03-28 루멘소프트 (주) 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템
EP2648126A1 (en) 2012-04-05 2013-10-09 LG CNS Co., Ltd. Method of authenticating user, server and mobile terminal performing the same
KR20180129114A (ko) * 2017-05-25 2018-12-05 순천향대학교 산학협력단 마우스 데이터를 보호하기 위한 보안 시스템 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101042227B1 (ko) * 2009-11-24 2011-06-16 이니텍(주) 가상 키보드를 이용한 키입력 해킹 방지 방법
KR101129894B1 (ko) * 2010-04-21 2012-03-28 루멘소프트 (주) 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템
EP2648126A1 (en) 2012-04-05 2013-10-09 LG CNS Co., Ltd. Method of authenticating user, server and mobile terminal performing the same
US9532216B2 (en) 2012-04-05 2016-12-27 Lg Cns Co., Ltd. Method of authenticating user, server and mobile terminal performing the same
KR20180129114A (ko) * 2017-05-25 2018-12-05 순천향대학교 산학협력단 마우스 데이터를 보호하기 위한 보안 시스템 및 방법

Similar Documents

Publication Publication Date Title
CA2786271C (en) Anytime validation for verification tokens
US6138239A (en) Method and system for authenticating and utilizing secure resources in a computer system
EP2092411B1 (en) Identification and visualization of trusted user interface objects
CA2636244C (en) Online data encryption and decryption
JP5328801B2 (ja) 電子取引を実施する方法及びシステム
US9344275B2 (en) System, device, and method of secure entry and handling of passwords
US9191394B2 (en) Protecting user credentials from a computing device
JP5153327B2 (ja) オンラインデータ暗号化及び暗号解読
US8312520B2 (en) Methods and systems to detect attacks on internet transactions
Claessens et al. (How) can mobile agents do secure electronic transactions on untrusted hosts? A survey of the security issues and the current solutions
DE102011082101B4 (de) Verfahren zur Erzeugung eines Soft-Tokens, Computerprogrammprodukt und Dienst-Computersystem
JP4659806B2 (ja) セキュリティー認証システム及びその方法
US8640203B2 (en) Methods and systems for the authentication of a user
US9083746B2 (en) Method of providing assured transactions using secure transaction appliance and watermark verification
US20040003248A1 (en) Protection of web pages using digital signatures
CN101340281B (zh) 针对在网络上进行安全登录输入的方法和系统
CN102271037B (zh) 基于在线密钥的密钥保护装置
KR20030057565A (ko) 스프핑 방지 패스워드 보호 방법 및 장치
US9166971B1 (en) Authentication using an external device
US20130205380A1 (en) Identity verification
CN101663672A (zh) 用于图形图像认证的方法和系统
US8448226B2 (en) Coordinate based computer authentication system and methods
US20060036731A1 (en) Novel method and system of keyless data entry and navigation in an online user interface console for preventing unauthorized data capture by stealth key logging spy programs
US8176324B1 (en) Method and system for a secure virtual keyboard
US20110265156A1 (en) Portable security device protection against keystroke loggers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application