KR20070010557A - 키입력 해킹방지 방법 - Google Patents

키입력 해킹방지 방법 Download PDF

Info

Publication number
KR20070010557A
KR20070010557A KR1020050065269A KR20050065269A KR20070010557A KR 20070010557 A KR20070010557 A KR 20070010557A KR 1020050065269 A KR1020050065269 A KR 1020050065269A KR 20050065269 A KR20050065269 A KR 20050065269A KR 20070010557 A KR20070010557 A KR 20070010557A
Authority
KR
South Korea
Prior art keywords
virtual keyboard
key
key input
hacking prevention
program
Prior art date
Application number
KR1020050065269A
Other languages
English (en)
Other versions
KR100745489B1 (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 KR1020050065269A priority Critical patent/KR100745489B1/ko
Publication of KR20070010557A publication Critical patent/KR20070010557A/ko
Application granted granted Critical
Publication of KR100745489B1 publication Critical patent/KR100745489B1/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/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

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

Abstract

본 발명은 키입력 해킹방지 방법에 관한 것으로서, 보안이 필요한 웹 페이지 또는 이와 유사한 기능을 제공하는 응용프로그램 상에서 임의적으로 재배열되는 가상 키보드를 통해 사용자로부터 아이디 또는 패스워드 등의 데이터를 입력받아 이를 웹 페이지 또는 상기 응용프로그램으로 전송되게 함으로써, 키로거와 같은 해킹 프로그램에 의한 개인정보 유출을 방지함에 그 목적이 있다.
상기의 목적 달성을 위한 본 발명은, 서버가 사용자로부터 개인정보를 입력받기 위한 소정의 웹 페이지 또는 이와 유사한 기능을 제공하는 응용프로그램을 사용자 컴퓨터로 전송하는 단계; 사용자 컴퓨터에 키입력 해킹방지 프로그램이 설치되는 단계; 사용자가 상기 웹 페이지 상에 구비된 소정의 텍스트 박스에 개인정보를 입력하려는 경우, 상기 키입력 해킹방지 프로그램에 의해 가상 키보드가 사용자 컴퓨터의 화면에 디스플레이되는 단계; 및 사용자가 상기 가상 키보드를 통해 소정의 데이터를 입력하는 도중에 가상 키보드의 셔플링 키가 눌렸을 경우, 상기 키입력 해킹방지 프로그램에 의해 가상 키보드의 키들이 재배열되는 단계; 로 이루어진다.
가상 키보드, 해킹방지, 셔플링

Description

키입력 해킹방지 방법{PREVENTING METHOD FOR HACKING KEY INPUT DATA}
도 1a 는 종래 키로거 프로그램의 개략적인 작동 양상을 나타내는 예시도.
도 1b 는 종래의 가상 키보드를 나타내는 예시도.
도 2 는 본 발명에 따른 키입력 해킹방지 프로그램의 주요 기능별 구성도.
도 3 은 본 발명에 따른 키입력 해킹방지 방법을 나타내는 흐름도.
도 4a 는 서버로부터 전송된 웹 페이지의 일부 예시도.
도 4b 는 본 발명에 따른 가상 키보드를 나타내는 예시도.
도 4c 는 본 발명에 따라 재배열된 가상 키보드를 나태내는 예시도.
도 4d 는 본 발명에 따른 기본적인 키 배열의 가상 키보드와 재배열된 가상 키보드에 관한 대비도.
< 도면의 주요 부분에 대한 부호의 설명 >
200 : 키입력 해킹방지 프로그램 210 : 가상 키보드 생성모듈
220 : 랜덤 키 배열 생성모듈 230 : 데이터 입출력 모듈
240 : 암호화 모듈 VK : 가상 키보드
TB : 텍스트 박스 SK : 셔플링 키
본 발명은 키입력 해킹방지 방법에 관한 것으로서, 더욱 상세하게는, 각종 중요한 개인정보를 가로채는 악의적인 해킹 툴(Hacking Tool)로부터 키입력 데이터를 보호하기 위한 키입력 해킹방지 방법에 관한 것이다.
최근 컴퓨터 하드웨어와 네트워크 기반 기술의 발달로 인해 유무선 인터넷을 통한 개인과 단체/업체 사이의 각종 정보교환 및 정보공유가 활발히 이루어지고 있다. 이와 아울러 웹 브라우저(Web Browser)의 활용도는 단순히 정보검색에 머물지 않고 온라인 쇼핑몰, 온라인 주식거래, 및 인터넷 뱅킹을 포함하는 신용기반의 각종 서비스 영역까지 확장되고 있는 추세이다.
그러나, 상기와 같은 기술 발달의 이면을 살펴보면, 개인과 단체 간에 유동되는 신용정보를 비롯한 개인정보를 유출하여 이를 통해 소정 형태의 이익을 얻고자 하는 악의적인 해커(Hacker)들이 급증하고 있다. 상기 해커(Hacker)들에 의한 각종 불법적인 행위들은 당사자 개인의 피해에만 국한 되는 것이 아니라 현대 신용기반 사회의 근간을 혼란시키는 보다 큰 피해를 야기시키고 있다.
일반적으로, 상기 해커들은 개인정보 유출이라는 그 악의적인 목적 달성을 위해 여러 가지 해킹 툴을 이용한다. 그 중에서도 사용자 컴퓨터의 키보드 눌림 신호를 가로채는 키로거(Key Logger) 프로그램이 보편적으로 이용되고 있다.
이러한 키로거 프로그램은, 사용자 컴퓨터에 설치되어 씨피유(CPU) 및 메모 리(Memory)를 매우 낮게 점유하는 특성과, 윈도우 운영체제의 레지스트리(Registry)에 그 설치 흔적을 남기지 않는 특성을 갖고 있는 바, 별도의 바이러스 백신 프로그램을 통해 정밀 검사를 행하지 않는 한 사용자는 상기 키로거 프로그램의 실행 여부를 인지하기 어렵다는 문제점이 있다.
이하, 도 1a 에 도시된 바와 같이 해커 컴퓨터(10), 서버(20), 및 사용자 컴퓨터(30)로 구성되는 예시적 시스템을 상정하여 상기 키로거 프로그램의 개략적인 작동 양상을 살펴본다.
먼저, 해커 컴퓨터(10)는 웜(Warm) 형태로 제작된 키로거 프로그램(P)을 이메일 또는 다양한 배포수단을 통해 사용자 컴퓨터(30)에 설치한다. 이후, 상기 키로거 프로그램(P)에 감염된 사용자 컴퓨터(30)가 웹 브라우저(Web Browser, WB)를 통해 예컨대 인터넷 뱅킹 서비스를 제공하는 은행의 서버(20)에 접속하여 소정의 상품구매에 따른 구매금액 결제를 하게 되는 경우, 사용자는 상기 웹 브라우저(WB) 상에 표시되는 결제관련 입력창에 사용자의 계좌비밀번호를 포함한 신용정보를 키보드(Keyboard, KB)를 통해 입력하게 된다. 여기에서, 상기 키보드(KB)의 눌림 신호에 대한 데이터(이하, '키입력 데이터'라 한다)는 키보드 드라이버(Keyboard Driver, KD)를 거쳐 상기 결제관련 입력창에 입력된 후 최종적으로 웹 브라우저(WB)를 통해 서버(20)로 전송된다. 이때, 상기 키입력 데이터는 키보드 드라이버(KB)를 제어하는 키로거 프로그램(P)에 의해 해커 컴퓨터(10)로 유출된다.
더욱 구체적으로, 키보드(KB)의 눌림 신호는 운영체제(미도시) 상에서 윈도우 이벤트(Window Event, WE)를 발생시키고 그 눌림 신호는 윈도우 메시지(Window Message, WM) 형태로 어플리케이션으로 전송되는데, 키로거 프로그램(P)은 상기 윈도우 이벤트(WE)를 감지하여 해당 윈도우 메시지(WM)를 인터셉트함으로써 키보드(KB)를 통해 입력된 키입력 데이터를 빼내게 된다.
한편, 상술한 바와 같은 키로거 프로그램의 폐해를 해소하기 위한 방법이 국내 등록특허 제10-0496462호(발명의 명칭 : '키입력 도용 방지 방법')(이하, '선행특허'라 한다)에 개시되어 있다. 상기 선행특허는, a) 통신 네트워크를 통하여 소정의 서버에 연결된 사용자 컴퓨터에 키보드 보안 프로그램의 존재 여부를 판별하고, 적어도 하나의 개인정보 입력창을 포함하는 페이지를 상기 사용자 컴퓨터로 전송 하는 단계; b) 상기 사용자 컴퓨터에 상기 키보드 보안 프로그램이 설치된 경우, 상기 키보드 보안 프로그램의 키 로거 판단 모듈이 상기 사용자 컴퓨터의 키보드 드라이버 레벨에 키 로거가 존재하는지 여부를 판단하는 단계; c) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하지 않고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 키보드를 통하여 상기 개인정보 입력창에 개인 정보를 입력할 수 있도록 보안 키보드 드라이버 모듈이 동작되는 단계; 및 d) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 상기 사용자 컴퓨터의 화면에 가상 키보드(도 1b 참조)를 디스플레이 하도록 가상 키보드 생성 모듈이 동작되는 단계; 로 이루어져 있다.
상술한 바와 같은 단계들로 이루어진 선행특허는, 종래와 같이 소정의 개인정보를 키보드를 통해서 입력 받는 방식이 아닌, 사용자의 컴퓨터 화면에 디스플레 이 되는 가상 키보드와 사용자가 마우스를 통해 상기 가상 키보드의 키(Key)를 클릭(Click)함으로써 입력 받는 방식을 개시하고 있다. 즉, 개인정보 입력 자체가 키보드 및 키보드 드라이버를 거치지 않게 되므로 키로거 프로그램이 이를 가로챌 수 없게 되는 것이다.
그러나, 상기 선행특허의 가상 키보드는 도 1b 에 도시된 바와 같이 항시 동일한 키배열로 구성되어 있기 때문에 이 역시 해커들에 의한 공격 가능성이 상존하는 문제점이 있다. 구체적으로, 상기 운영체제는 실행되거나 디스플레이되는 응용프로그램의 프로세스(Process), 핸들(Handle) 또는 클래스 아이디(Class ID, CLSID)에 접근할 수 있는 다수의 수단과, 마우스 포인터의 좌표(상대좌표, 절대좌표)를 얻어 낼 수 있는 수단을 기본적으로 제공하고 있다.
예를 들어 '마이크로소트프사의 Visual C++'와 같은 프로그래밍 툴에는 운영체제 상에 등록된 응용프로그램의 프로세스를 감지(훅킹, Hooking)할 수 있는 다수의 함수들과 응용프로그램의 핸들(Handle)을 얻어 낼 수 있는 다수의 함수들이 포함되어 있다. 만약, 해커에 의해 배포된 소정의 해킹 프로그램이 사용자 컴퓨터 내에서 실행되는 응용프로그램을 감지하고 있다고 상정해보면, 전술한 가상 키보드 역시 감지될 수 있고, 가상 키보드 상에서 마우스 클릭이 이루어질 경우 클릭된 순간 순간의 마우스 포인터 좌표를 감지할 수 있게 된다. 아울러, 상기 감지된 가상 키보드의 크기에 대한 좌표(이하, '크기 좌표'라 한다)가 산출될 수 있으며, 따라서 상기 마우스 포인터 좌표와 크기 좌표를 통해 가상 키보드의 어떤 키가 눌렸는지가 산출될 수 있고, 결과적으로 키입력 데이터(소정의 개인정보)가 해커에 의해 유출될 수 있다. 물론, 이러한 개인정보 유출 방법은 고도의 기술을 가진 해커에 의해 다양하게 변형되어 구현될 수 있음은 자명하다.
본 발명은, 상기와 같은 문제점들을 해결하기 위해 창안된 것으로서, 보안이 필요한 웹 페이지 또는 이와 유사한 기능을 제공하는 응용프로그램 상에서 임의적으로 재배열되는 가상 키보드를 통해 사용자로부터 아이디 또는 패스워드 등의 데이터를 입력받아 이를 웹 페이지 또는 상기 응용프로그램으로 전송되게 함으로써, 키로거와 같은 해킹 프로그램에 의한 개인정보 유출을 방지할 수 있는 키입력 해킹방지 방법을 제공함에 그 특징적인 목적이 있다.
상기의 특징적인 목적을 달성하기 위한 본 발명의 키입력 해킹방지 방법은, 유무선 인터넷 망을 통해 소정의 서버에 접속된 사용자 컴퓨터로부터 입력되는 데이터의 유출을 방지하기 위한 방법에 있어서, a) 상기 서버가 사용자로부터 개인정보를 입력받기 위한 소정의 웹 페이지 또는 이와 유사한 기능을 제공하는 응용프로그램을 사용자 컴퓨터로 전송하는 단계; b) 상기 사용자 컴퓨터에 키입력 해킹방지 프로그램(200)이 설치되는 단계; c) 사용자가 상기 웹 페이지 상에 구비된 소정의 텍스트 박스(TB)에 개인정보를 입력하려는 경우, 상기 키입력 해킹방지 프로그램(200)에 의해 가상 키보드(VK)가 사용자 컴퓨터의 화면에 디스플레이되는 단계; 및 d) 사용자가 상기 가상 키보드(VK)를 통해 소정의 데이터를 입력하는 도중에 가상 키보드(VK)의 셔플링 키(SK)가 눌렸을 경우, 상기 키입력 해킹방지 프로그램(200) 에 의해 가상 키보드(VK)의 키들이 재배열되는 단계; 로 이루어진다.
본 발명을 상세하게 설명하기에 앞서, 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.
이하, 첨부된 도 2 를 참조하여 본 발명에 따른 키입력 해킹방지 프로그램을 살펴보면 다음과 같다. 도 2 는 본 발명에 따른 키입력 해킹방지 프로그램의 주요 기능별 구성도이다.
도 2 에 도시된 바와 같이, 본 발명에 따른 키입력 해킹방지 프로그램(200)은 가상 키보드(Virtual Keyboard)를 생성하여 사용자 컴퓨터의 화면에 디스플레이시키는 가상 키보드 생성모듈(210)과, 상기 가상 키보드 상의 키들을 랜덤하게 재배열시키는 랜덤 키 배열 생성모듈(220)과, 마우스 포인터에 의해 눌려지는 상기 가상 키보드의 해당 키의 데이터(이하, '키 데이터'라 한다)를 처리하는 데이터 입출력 모듈(230), 및 상기 키 데이터를 소정의 알고리즘을 통해 암호화시키는 암호화 모듈(240)로 구성된다.
본 발명의 특징적인 양상에 따른 키입력 해킹방지 프로그램(200)은 사용자 컴퓨터가 유무선 인터넷 망을 통해 접속한 서버, 특히 보안을 필요로 하는 서버에 접속했을 경우, 사용자 컴퓨터 내에 다운로드 및 설치되는 프로그램이다. 이때, 상기 키입력 해킹방지 프로그램(200)의 설치는 액티브 엑스(Active X) 또는 플러그 인(Plug In) 방식이 이용될 수 있으며, 이와는 달리 이동 저장매체를 통해 설치될 수도 있다.
한편, 상기 키입력 해킹방지 프로그램(200)은 도 2 에 도시된 바와 같이 사용자 컴퓨터 내에 키로거 프로그램과 같은 해킹 프로그램을 검출하기 위한 검출모듈(250)을 더 포함할 수 있다. 주지하다시피, 상기 검출모듈(250)을 통한 해킹프로그램 검출 방법으로는, 운영체제의 디바이스 드라이버 레벨을 검색하여 시스템 디폴트 드라이버 이외의 드라이버를 검출하는 방법과, 디바이스 드라이버 레벨을 검색하여 드라이버의 시작 주소를 확인하여 검출하는 방법과, 디바이스 드레이버 레벨을 검색하여 드라이버의 주소 테이블이 변경되었는지를 확인하여 검출하는 방법 등이 있다.
이하, 상술한 바와 같은 구성으로 이루어진 키입력 해킹방지 프로그램(200)의 보다 구체적인 작동 양상과 아울러 본 발명의 키입력 해킹방지 방법에 관한 전체적인 흐름을 도 3 내지 도 4d 를 참조하여 살펴보면 다음과 같다. 도 3 은 본 발명에 따른 키입력 해킹방지 방법을 나타내는 흐름도이며, 도 4a 는 서버로부터 전송된 웹 페이지의 일부 예시도이고, 도 4b 는 본 발명에 따른 가상 키보드를 나타내는 예시도이며, 도 4c 는 본 발명에 따라 재배열된 가상 키보드를 나태내는 예시도이고, 도 4d 는 본 발명에 따른 기본적인 키 배열의 가상 키보드와 재배열된 가상 키보드에 관한 대비도이다.
먼저, 사용자 컴퓨터가 보안을 필요로하는 서버, 예를 들어 인터넷 뱅킹을 제공하는 은행의 서버, 온라인 쇼핑몰을 제공하는 서버, 또는 주식거래를 제공하는 서버에 접속한다(S310). 이때, 사용자 컴퓨터에 키입력 해킹방지 프로그램(200)이 설치되어 있지 않다면 상기 서버로부터 전송되어 사용자 컴퓨터에 설치되며(S320), 이러한 설치 단계는 상기 서버에 접속되는 시점에 이루어질 수 있고, 상기 서버가 사용자 컴퓨터로부터 소정의 개인정보를 입력받아야 할 시점에 이루어질 수도 있다. 참고적으로, 상기 제 S310 단계 직후에 사용자 컴퓨터와 서버 사이의 SSL(Secure Socket Layer) 등의 네트워크 통신보안 설정 단계가 부가적으로 이루어질 수 있다. 그리고, 본 실시예에서 상기 개인정보는 아이디, 패스워드, 비밀번호, 계좌번호, 또는 인증번호를 포함하는 것으로 설정하겠으나, 본 발명이 이들에만 국한되는 것은 아니다.
전술한 제 S310 단계 및 S320 단계가 이루어진 후, 도 4a 에 도시된 바와 같이 상기 서버로부터 전송된 개인정보를 입력받기 위한 웹 페이지(이하, '입력 페이지'라 한다.)가 사용자 컴퓨터의 화면에 디스플레이되면 상기 키입력 해킹방지 프로그램(200)의 가상 키보드 생성모듈(210)에 의해 도 4b 에 도시된 바와 같은 가상 키보드(Virtual Keyboard, VK)가 화면에 디스플레이된다(S330).
본 실시예에서 상기 제 S330 단계의 가상 키보드(VK)는 입력 페이지와 함께 사용자 컴퓨터에 디스플레이되는 것으로 설정하였으나, 도 4a 에 도시된 바와 같은 입력 페이지의 텍스트 박스(Text Box, TB)에 마우스 커서가 놓여 지는 경우 디스플레이되는 것으로도 설정할 수 있다. 그리고, 본 실시예에서 본 발명에 따른 기술적 사상의 적용 대상을 서버로부터 전송되는 입력 페이지로 설정하였으나, 상기 서버로부터 전송되되 상기 입력 페이지와 유사한 기능을 제공하는 응용프로그램으로도 설정이 가능하다.
본 발명의 특징적인 양상에 따른 상기 가상 키보드(VK)의 키들은 상기 랜덤 키 배열 생성모듈(220)에 의해 재배열될 수 있다. 여기에서 상기 키들의 재배열은 예측하기 어려운 소정의 랜덤 함수에 의해 구현되며, 이때 키들이 재배열되되 도 4c 에 도시된 바와 같이 백스페이스 키 및 엔터 키를 포함한 기능 키를 제외한 문자와 숫자 키들만 재배열되는 것으로 설정하는 것이 바람직하다. 또한, 상기 가상 키보드(VK)는 상기 제 S330 단계에서 랜덤 키 배열 생성모듈(220)에 의해 기본 키 배열이 아닌 재배열된 상태로 디스플레이될 수 있으며, 기본 키 배열 또는 재배열된 키로 디스플레이될지에 대한 여부는 상기 서버에 의해 선택될 수 있다. 참고적으로 기본 키를 갖는 가상 키보드와 재배열된 키를 갖는 가상 키보드에 대한 대비도가 도 4d 에 도시되어 있다.
그리고, 본 발명의 또 다른 양상에 따른 상기 가상 키보드(VK)는 기능 키로서, 도 4b 및 도 4c 에 도시된 바와 같이 셔플링 키(Shuffling Key, SK)를 포함하고 있으며, 상기 셔플링 키(SK)가 마우스 포인터에 의해 눌리게 되면 랜덤 키 생성모듈(220)을 통해 전술한 바와 동일한 방식으로 키들이 재배열된다. 이에 따라 사용자는 가상 키보드(220)를 통해 데이터를 입력하는 도중에 인위적으로 키를 재배열시킬 수 있게 되므로 해킹 프로그램에 의한 순간적인 화면 캡쳐(Screen Capture) 기능에도 안전하게 대응할 수 있게 된다.
한편, 상기 제 S330 단계 이후에, 사용자는 마우스로 원하는 키를 클릭하여 일련의 데이터(개인정보)를 입력을 하게 된다(S340). 여기에서 입력되는 각각의 데 이터는 텍스트 박스(TB) 상에 '*'문자로 표시되며, 상기 '*'는 단순히 해당 데이터가 입력되었음을 알리기 위한 수단으로 표시될 뿐 실제 데이터 값을 가지고 있지는 않다. 이때, 입력되는 상기 데이터는 키입력 해킹방지 프로그램(200)의 데이터 입출력 모듈(230)에 의해 일시적으로 메모리 또는 버퍼에 저장된다.
이어서, 전술한 바와 같이 셔플링 키(SK)가 눌렸을 경우, 가상 키보드(VK) 상의 키들이 재배열되며(S350), 가상 키보드(VK)를 통한 일련의 데이터 입력이 종료되면, 상기 입력된 데이터들은 암호화 모듈(240)에 의해 암호화되어 웹 페이지로 전송된다(S360). 이후, 웹 페이지 상에 구비된 '확인' 또는 '승인' 버튼이 클릭되면 상기 암호화된 데이터가 서버로 안전하게 전송된다(S370). 부언하여, 상기 데이터 입력의 종료 여부는 가상 키보드(VK)의 엔터 키가 눌렸을 경우에 해당되며, 엔터 키가 눌림과 동시에 상기 가상 키보드(VK)는 화면에서 사라지게 된다.
부언하여, 본 발명의 특징적인 절차에 따른 상기 제 S360 단계에서 상기 입력된 데이터들이 평문(Plain Text) 상태로 웹 페이지에 전송되는 방식이 아닌, 객체간에 암호화된 상태, 즉 E2E암호화(End-To-End Encryption)된 상태로 전송된다. 이는 상기 입력된 데이터가 평문 상태로 웹 페이지에 전송될 경우, 전술한 악의적인 핵커 또는 해킹 프로그램에 의해 인터셉트될 수 있는 일말의 가능성을 봉쇄하기 위함이다. 이때, 최종적으로 상기 입력된 데이터를 전송받는 서버는 이 암호화된 데이터를 복호화할 수 있는 복호화 모듈 또는 이에 상응하는 기능을 구비하고 있는 것이 바람직하다. 본 실시예에서, 암호화 방법의 종류는 다양하게 설정될 수 있는 바, 본 발명이 상기 암호화 방법의 종류에 한정되는 것은 아니며, 상기 암호화 모 듈(240)에 사용되는 소정의 암호화 코드(암호키)는 전술한 SSL(Secure Socket Layer) 등의 보안 채널이 설정된 상태에서 서버에 의해 선택되어지는 것이 바람직하다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상기 본 발명의 키입력 해킹방지 방법에 의하면, 보안이 필요한 웹 페이지 또는 이와 유사한 기능을 제공하는 응용프로그램 상에서, 사용자 또는 서버에 의해 임의적으로 재배열될 수 있는 가상 키보드를 통해 사용자로부터 아이디 또는 패스워드 등의 데이터를 입력받아 이를 웹 페이지로 전송되게 함으로써, 해킹 프로그램에 의한 개인정보 유출을 미연에 방지할 수 있는 효과가 있다.
또한, 상기 키입력 해킹방지 방법에 의하면, 해킹 프로그램에 의한 순간적인 화면 캡쳐 기능에도 안전하게 대응할 수 있는 효과도 있다.
그리고, 가상 키보드를 통해 입력된 데이터를 암호화하여 웹 페이지 또는 응용프로그램에 전송되게 함으로써, E2E암호화를 구현할 수 있는 효과도 있다.

Claims (8)

  1. 유무선 인터넷 망을 통해 소정의 서버에 접속된 사용자 컴퓨터로부터 입력되는 데이터의 유출을 방지하기 위한 방법에 있어서,
    a) 상기 서버가 사용자로부터 개인정보를 입력받기 위한 소정의 웹 페이지 또는 이와 유사한 기능을 제공하는 응용프로그램을 사용자 컴퓨터로 전송하는 단계;
    b) 상기 사용자 컴퓨터에 키입력 해킹방지 프로그램(200)이 설치되는 단계;
    c) 사용자가 상기 웹 페이지 상에 구비된 소정의 텍스트 박스(TB)에 개인정보를 입력하려는 경우, 상기 키입력 해킹방지 프로그램(200)에 의해 가상 키보드(VK)가 사용자 컴퓨터의 화면에 디스플레이되는 단계; 및
    d) 사용자가 상기 가상 키보드(VK)를 통해 소정의 데이터를 입력하는 도중에 가상 키보드(VK)의 셔플링 키(SK)가 눌렸을 경우, 상기 키입력 해킹방지 프로그램(200)에 의해 가상 키보드(VK)의 키들이 재배열되는 단계; 를 포함하여 구성되는 것을 특징으로 하는 키입력 해킹방지 방법.
  2. 제 1 항에 있어서,
    상기 가상 키보드(VK)를 통한 데이터 입력이 종료된 후에,
    e) 입력된 데이터가 상기 키입력 해킹방지 프로그램(200)에 의해 암호화되어 상기 웹 페이지로 전송되는 단계; 를 더 포함하는 것을 특징으로 하는 키입력 해킹방지 방법.
  3. 제 2 항에 있어서,
    상기 데이터 입력에 대한 종료는,
    상기 가상 키보드(VK)의 엔터 키가 눌렸을 경우인 것을 특징으로 하는 키입력 해킹방지 방법.
  4. 제 2 항에 있어서,
    상기 제 e) 단계가 실행된 이후에,
    상기 가상 키보드(VK)가 상기 키입력 해킹방지 프로그램(200)에 의해 사용자 컴퓨터의 화면에서 사라지는 것을 특징으로 하는 키입력 해킹방지 방법.
  5. 제 1 항에 있어서,
    상기 제 d) 단계에 의해 상기 가상 키보드(VK)의 키들이 재배열될 경우,
    기능 키들을 제외한 문자 및 숫자 키들이 재배열되는 것을 특징으로 하는 키입력 해킹방지 방법.
  6. 제 1 항에 있어서,
    상기 제 c) 단계에서,
    상기 사용자 컴퓨터의 화면에 디스플레이되는 가상 키보드(VK)는,
    기본 키 배열 상태로 디스플레이되거나, 또는 상기 키입력 해킹방지 프로그램(200)에 의해 키들이 재배열된 상태로 디스플레이 되는 것을 특징으로 하는 키입력 해킹방지 방법.
  7. 제 1 항에 있어서,
    상기 개인정보는,
    아이디, 패스워드, 비밀번호, 계좌번호, 또는 인증번호 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 키입력 해킹방지 방법.
  8. 제 2 항에 있어서,
    암호화된 데이터를 최종적으로 전송받는 서버는,
    상기 암호화된 데이터를 복호화 할 수 있는 복호화 모듈 또는 이에 준하는 기능을 포함하고 있는 것을 특징으로 하는 키입력 해킹방지 방법.
KR1020050065269A 2005-07-19 2005-07-19 키입력 해킹방지 방법 KR100745489B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050065269A KR100745489B1 (ko) 2005-07-19 2005-07-19 키입력 해킹방지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050065269A KR100745489B1 (ko) 2005-07-19 2005-07-19 키입력 해킹방지 방법

Publications (2)

Publication Number Publication Date
KR20070010557A true KR20070010557A (ko) 2007-01-24
KR100745489B1 KR100745489B1 (ko) 2007-08-02

Family

ID=38011765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050065269A KR100745489B1 (ko) 2005-07-19 2005-07-19 키입력 해킹방지 방법

Country Status (1)

Country Link
KR (1) KR100745489B1 (ko)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847248B1 (ko) * 2007-02-27 2008-07-21 주식회사 하우리 키입력 정보 해킹방지방법
WO2009023422A1 (en) * 2007-08-09 2009-02-19 Mcm Portfolio Llc System and method for generating and displaying a keyboard comprising a random layout of keys
KR100949790B1 (ko) * 2007-09-19 2010-03-30 소프트캠프(주) 무단 변조된 아이이 메모리의 데이터 보안방법
KR100970663B1 (ko) * 2007-09-10 2010-07-15 (주)씽크에이티 온라인에서의 계정정보 보안 방법 및 그 장치
KR100982199B1 (ko) * 2007-12-26 2010-09-14 (주)씽크에이티 온라인에서의 입력 키 보안 방법
WO2010143842A3 (ko) * 2009-06-09 2011-04-21 삼성전자 주식회사 Ui 제공방법 및 이를 적용한 디스플레이 장치
KR101104041B1 (ko) * 2009-11-24 2012-01-06 (주)코어테크놀로지 가상 키보드의 인터페이스 장치
KR101122197B1 (ko) * 2011-06-03 2012-03-20 목포대학교산학협력단 터치 위치 해킹에 의한 정보 유출을 방지하는 가상키패드 표시 방법
KR101133544B1 (ko) * 2009-07-03 2012-04-05 한국인터넷진흥원 알파-뉴메릭 매트릭스를 이용한 패스워드 입력 시스템 및 방법
US8476646B2 (en) 2009-11-30 2013-07-02 Lg Innotek Co., Ltd. Light emitting device and light emitting device package
WO2013147503A1 (ko) * 2012-03-27 2013-10-03 주식회사 엠엘정보기술 개인화 가상키보드 제공방법
KR101509495B1 (ko) * 2013-10-18 2015-04-09 한국전자통신연구원 키패드의 이동을 통한 보안 키패드 입력 장치 및 방법
KR101511451B1 (ko) * 2013-12-10 2015-04-10 플러스기술주식회사 키보드 입력 정보 암호화 방법
WO2015160190A1 (ko) * 2014-04-17 2015-10-22 주식회사 다날 사용자 인증용 가상 키보드 생성 장치 및 방법
US9177162B2 (en) 2010-06-15 2015-11-03 Thomson Licensing Method and device for secured entry of personal data
KR20180022506A (ko) * 2016-08-24 2018-03-06 유동근 프로그램 또는 파일 암호 생성방법
KR20180132013A (ko) * 2018-11-30 2018-12-11 주식회사 비즈모델라인 가상 키를 이용한 보안 입력 처리 방법
US10437349B2 (en) 2016-12-01 2019-10-08 Samsung Electronics Co., Ltd. Display device for interfacing by using smaller number of buttons of key pad and display method for the same
KR20200022258A (ko) * 2018-08-22 2020-03-03 엔에이치엔페이코 주식회사 사용자로부터 입력되는 비밀번호를 처리하기 위한 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102133902B1 (ko) 2019-10-22 2020-07-14 배희진 보안 입력장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949348A (en) 1992-08-17 1999-09-07 Ncr Corporation Method and apparatus for variable keyboard display
KR20010000260A (ko) * 2000-08-25 2001-01-05 박준상 키보드 인증 방법 및 시스템
KR100496462B1 (ko) * 2003-01-17 2005-06-22 주식회사 안철수연구소 키 입력 도용 방지 방법
KR20040086235A (ko) * 2004-09-20 2004-10-08 김영신 랜덤 키코드 보안 소프트웨어에 의해 키로거에 대응한 시스템 전역 보안 방법
KR20040107454A (ko) * 2004-10-15 2004-12-20 임채용 가변 자판을 이용한 비밀번호 입력장치 및 그 방법과,비밀번호 입력방법을 실행하기 위한 소프트웨어를 기록한컴퓨터가 읽을 수 있는 기록매체

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847248B1 (ko) * 2007-02-27 2008-07-21 주식회사 하우리 키입력 정보 해킹방지방법
WO2009023422A1 (en) * 2007-08-09 2009-02-19 Mcm Portfolio Llc System and method for generating and displaying a keyboard comprising a random layout of keys
KR100970663B1 (ko) * 2007-09-10 2010-07-15 (주)씽크에이티 온라인에서의 계정정보 보안 방법 및 그 장치
KR100949790B1 (ko) * 2007-09-19 2010-03-30 소프트캠프(주) 무단 변조된 아이이 메모리의 데이터 보안방법
KR100982199B1 (ko) * 2007-12-26 2010-09-14 (주)씽크에이티 온라인에서의 입력 키 보안 방법
WO2010143842A3 (ko) * 2009-06-09 2011-04-21 삼성전자 주식회사 Ui 제공방법 및 이를 적용한 디스플레이 장치
US9389783B2 (en) 2009-06-09 2016-07-12 Samsung Electronics Co., Ltd Method for associating an onscreen keyboard with a displayed application window and display apparatus applying the same
KR101133544B1 (ko) * 2009-07-03 2012-04-05 한국인터넷진흥원 알파-뉴메릭 매트릭스를 이용한 패스워드 입력 시스템 및 방법
KR101104041B1 (ko) * 2009-11-24 2012-01-06 (주)코어테크놀로지 가상 키보드의 인터페이스 장치
US9595647B2 (en) 2009-11-30 2017-03-14 Lg Innotek Co., Ltd. Light emitting device and light emitting device package
US8476646B2 (en) 2009-11-30 2013-07-02 Lg Innotek Co., Ltd. Light emitting device and light emitting device package
US8987753B2 (en) 2009-11-30 2015-03-24 Lg Innotek Co., Ltd. Light emitting device and light emitting device package
US9177162B2 (en) 2010-06-15 2015-11-03 Thomson Licensing Method and device for secured entry of personal data
KR101122197B1 (ko) * 2011-06-03 2012-03-20 목포대학교산학협력단 터치 위치 해킹에 의한 정보 유출을 방지하는 가상키패드 표시 방법
WO2013147503A1 (ko) * 2012-03-27 2013-10-03 주식회사 엠엘정보기술 개인화 가상키보드 제공방법
KR101509495B1 (ko) * 2013-10-18 2015-04-09 한국전자통신연구원 키패드의 이동을 통한 보안 키패드 입력 장치 및 방법
US9576411B2 (en) 2013-10-18 2017-02-21 Electronics And Telecommunications Research Institute Apparatus and method for providing security keypad through shift of keypad
KR101511451B1 (ko) * 2013-12-10 2015-04-10 플러스기술주식회사 키보드 입력 정보 암호화 방법
WO2015160190A1 (ko) * 2014-04-17 2015-10-22 주식회사 다날 사용자 인증용 가상 키보드 생성 장치 및 방법
KR20180022506A (ko) * 2016-08-24 2018-03-06 유동근 프로그램 또는 파일 암호 생성방법
US10437349B2 (en) 2016-12-01 2019-10-08 Samsung Electronics Co., Ltd. Display device for interfacing by using smaller number of buttons of key pad and display method for the same
KR20200022258A (ko) * 2018-08-22 2020-03-03 엔에이치엔페이코 주식회사 사용자로부터 입력되는 비밀번호를 처리하기 위한 장치 및 방법
KR20180132013A (ko) * 2018-11-30 2018-12-11 주식회사 비즈모델라인 가상 키를 이용한 보안 입력 처리 방법

Also Published As

Publication number Publication date
KR100745489B1 (ko) 2007-08-02

Similar Documents

Publication Publication Date Title
KR100745489B1 (ko) 키입력 해킹방지 방법
KR100734145B1 (ko) 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법
JP5023075B2 (ja) コンピュータ実施認証インターフェイスシステム
JP5153327B2 (ja) オンラインデータ暗号化及び暗号解読
CA2926128C (en) Authorization of server operations
US20080288776A1 (en) Security method using virtual keyboard
US20080184363A1 (en) Coordinate Based Computer Authentication System and Methods
JP2008269610A (ja) リモートアプリケーションを対象とした機密データの保護
TW201539247A (zh) 密碼輸入與確認方法及其系統
KR100996955B1 (ko) 가상키보드를 이용한 보안방법
KR101228028B1 (ko) 가상 키보드 및 이를 이용한 정보 해킹방지방법
KR20070024100A (ko) 이미지 키 입력을 통한 네트워크 보안 시스템 및 그 방법
KR101267875B1 (ko) 가상 키보드를 이용한 메시지 암·복호화 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR100975854B1 (ko) 온라인에서의 패스워드 보안 방법 및 그 장치
KR20090036813A (ko) 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법
KR20110014177A (ko) 맨 인 더 미들 컴퓨터 해킹 기술을 무력화하는 방법 및 시스템
KR20110057379A (ko) 가상 키보드를 이용한 키입력 해킹 방지 방법
KR101152610B1 (ko) 가상 키보드 제공 방법
KR101129894B1 (ko) 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템
KR102109864B1 (ko) 문서객체모델 레벨의 키 입력 암호화 장치 및 방법
US11968202B2 (en) Secure authentication in adverse environments
KR102047547B1 (ko) 자기보호 자바스크립트에서 암호화 모드를 이용한 보안 시스템 및 그 방법
KR100970663B1 (ko) 온라인에서의 계정정보 보안 방법 및 그 장치
JP2024009256A (ja) 認証要素ファイル、サーバ、漏洩検知方法、及びプログラム
KR100854302B1 (ko) 가상 키보드를 이용한 키보드 해킹 방지 방법

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130711

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140702

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150701

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160704

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 12