KR100496462B1 - 키 입력 도용 방지 방법 - Google Patents

키 입력 도용 방지 방법 Download PDF

Info

Publication number
KR100496462B1
KR100496462B1 KR10-2003-0003223A KR20030003223A KR100496462B1 KR 100496462 B1 KR100496462 B1 KR 100496462B1 KR 20030003223 A KR20030003223 A KR 20030003223A KR 100496462 B1 KR100496462 B1 KR 100496462B1
Authority
KR
South Korea
Prior art keywords
keyboard
key
input
user computer
personal information
Prior art date
Application number
KR10-2003-0003223A
Other languages
English (en)
Other versions
KR20040066237A (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 KR10-2003-0003223A priority Critical patent/KR100496462B1/ko
Publication of KR20040066237A publication Critical patent/KR20040066237A/ko
Application granted granted Critical
Publication of KR100496462B1 publication Critical patent/KR100496462B1/ko

Links

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

키 입력 도용 방지 방법이 개시되어 있다. 본 발명은, a) 통신 네트워크를 통하여 소정의 서버에 연결된 사용자 컴퓨터에 키보드 보안 프로그램의 존재 여부를 판별하고, 적어도 하나의 개인정보 입력창을 포함하는 페이지를 상기 사용자 컴퓨터로 전송 하는 단계와; b) 상기 사용자 컴퓨터에 상기 키보드 보안 프로그램이 설치된 경우, 상기 키보드 보안 프로그램의 키 로거 판단 모듈이 상기 사용자 컴퓨터의 키보드 드라이버 레벨에 키 로거가 존재하는지 여부를 판단하는 단계와; c) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하지 않고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 키보드를 통하여 상기 개인정보 입력창에 개인 정보를 입력할 수 있도록 보안 키보드 드라이버 모듈이 동작되는 단계와; d) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 상기 사용자 컴퓨터의 화면에 가상 키보드를 디스플레이 하도록 가상 키보드 생성 모듈이 동작되는 단계를 포함하여 구성되는 것을 특징으로 하여, 통신 네트워크로 연결되어 있는 소정의 서버로 개인 정보를 전송할 때 키보드 보안 프로그램이 설치된 키보드 드라이버 또는 가상 키보드를 이용하여 개인 정보를 보호 할 수 있다.

Description

키 입력 도용 방지 방법{METHOD FOR PROTECTING FROM KEYSTROKE LOGGING }
본 발명은 키 입력 도용 방지 방법에 관한 것으로서, 보다 상세하게는 키보드로 입력되는 중요한 개인정보를 가로채는 키 로거로부터 키 입력 데이터를 보호하기 위한 키 입력 도용 방지 방법에 관한 것이다.
인터넷이 발달하면서 높은 속도 및 안정된 접속 환경을 제공함으로써 과거의 단순한 웹 브라우징을 통한 지식의 공유 수준에서 벗어나 온라인 쇼핑, 온라인 뱅킹 등 다양한 분야에서 활용되고 있다. 이렇게 생활에 편리성을 제공하는 여러 서비스들이 늘어나면서 다른 한편에서는 이들의 취약점을 이용하여 타인의 개인 정보를 유출하여 악의적으로 사용하는 일들도 함께 늘어나고 있다. 이러한 불법적인 행위는 작게는 개인의 사생활을 침해하게 되고 더 나아가서는 개인의 재산권을 위협할 뿐만 아니라 인터넷 서비스를 제공하는 기업들에게도 신뢰를 떨어뜨리게 만드는 요인이 되고 있다.
일반적으로, 해커들은 개인 정보 유출을 위하여 키 로거(Key Logger)라는 프로그램을 쓰는데, 상기 키 로거 프로그램은 사용자가 키보드를 누를 때 마다 키 입력 값을 받아 이후에 해커가 볼 수 있도록 파일에 저장을 해 놓는다. 도 1 및 도 2를 참조하면, 개인용 컴퓨터(Personal Computer, 30)가 인터넷 등의 통신 네트워크를 통하여 서비스 서버(10)에 접속한다(S100). 상기 개인용 컴퓨터(30)를 사용하는 사용자가 인터넷 뱅킹 또는 쇼핑 몰에서의 물건 구입 등을 하고자 할 때, 상기 개인용 컴퓨터(30)와 상기 서비스 서버(10) 사이에 사용자의 개인 정보 보안 유지를 위한 SSL(Secure Socket Layer) 등의 네트워크 통신 보안이 설정된다(S110). 이 때, 개인 정보, 예컨대 개인 아이디, 암호(Password), 계좌번호, 계좌 비밀번호, 신용카드 비밀번호, 주민등록번호 등을 키보드(40)로 입력한다(S120). 상기 키보드(40)로 입력한 개인 정보는 상기 개인용 컴퓨터(30)의 윈도우 운영 시스템에 입력되고, 상기 윈도우 운영 시스템에 입력된 데이터는 키 로거라는 프로그램이 저장된 키보드 드라이버로 전송되어 소정의 메모리 또는 버퍼(Buffer) 에 저장된다(S130, S140, S150). 상기 저장된 개인 정보는 통신 네트워크를 통하여 상기 서비스 서버(10)로 전달된다(S160). 이 때, 상기 개인용 컴퓨터(30) 및 서비스 서버(10) 사이에는 SSL 등의 네트워크 통신 보안(20)이 설정되어 있어 제 3 자로의 개인정보 유출을 방지할 수 있다.
그러나, 상기 개인용 컴퓨터(30) 및 개인용 컴퓨터에 연결된 키보드(40) 사이에는 보안 장치가 없어 키 로거(Key Logger) 등 해킹 툴(Tool)에 노출되어 있다. 따라서, 해커들은 파일에 저장된 개인정보를 수신한다. 상기 과정을 모르는 사용자는 아이디 및 암호를 고스란히 해커에게 알려주게 되는 것이다. 게다가, 상기 키 로거라는 프로그램은 쓰이는 용도에 따라 합법적일 수도 있고 불법적일 수도 있으며, 일반인들이 구입하기에 아무런 어려움이 없고 사용하기도 쉬워서 상기 키 로거를 이용한 해킹이 늘어나는 추세이다.
이를 막기 위해 종래의 키보드 보안 제품들은 보안 키보드 드라이버를 이용하여 키보드로부터 입력되는 값을 시스템의 최앞단인 드라이버 단에서 선점하려 하나 드라이버 적재 순서에 따라 선점에 실패할 경우가 있으며, 이 경우에는 키 입력을 선점하기 위해 드라이버를 최하위 단에 적재하고 시스템을 재시작 해야 한다는 단점이 있다. 또한 선점 확보 경쟁 시 다른 경쟁 드라이버가 최상단으로 적재되는 것을 막기 위해 경쟁 드라이버를 제거한 후 시스템을 재시작 해야 하는데, 이 때 제거하려는 드라이버가 키 로거인지 정상 소프트웨어인지 완벽하게 판단할 수 있는 방법이 없다. 따라서, 제거되는 드라이버가 정상 소프트웨어의 드라이버인 경우, 드라이버의 부재로 해당 소프트웨어가 정상 동작하지 않거나 시스템이 다운 되는 등의 치명적인 문제가 있어 왔다.
본 발명은 상기 문제점을 해결하기 위하여 발명된 것으로서, 본 발명의 목적은 사용자가 아이디 또는 암호 등 보안이 필요한 정보를 입력하고자 할 때, 액티브 엑스(Active X)를 거치지 않고 직접 웹 페이지에 키보드로부터 입력되는 데이터를 전송하도록 함으로써, 키 로거가 키보드로부터 입력되는 데이터를 가로챌 수 없도록 하는 키 입력 도용 방지 방법을 제공하고자 한다.
또한, 본 발명의 목적은 본 발명의 프로그램을 온 라인(ON-Line) 또는 오프 라인(OFF Line)으로 사용자 컴퓨터에 설치한 후 재부팅 없이 바로 사용할 수 있도록 설계된 키 입력 도용 방지 방법을 제공하고자 한다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 키 입력 도용 방지 방법은, a) 통신 네트워크를 통하여 소정의 서버에 연결된 사용자 컴퓨터에 키보드 보안 프로그램의 존재 여부를 판별하고, 적어도 하나의 개인정보 입력창을 포함하는 페이지를 상기 사용자 컴퓨터로 전송 하는 단계;
b) 상기 사용자 컴퓨터에 상기 키보드 보안 프로그램이 설치된 경우, 상기 키보드 보안 프로그램의 키 로거 판단 모듈이 상기 사용자 컴퓨터의 키보드 드라이버 레벨에 키 로거가 존재하는지 여부를 판단하는 단계;
c) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하지 않고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 키보드를 통하여 상기 개인정보 입력창에 개인 정보를 입력할 수 있도록 보안 키보드 드라이버 모듈이 동작되는 단계; 및
d) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 상기 사용자 컴퓨터의 화면에 가상 키보드를 디스플레이 하도록 가상 키보드 생성 모듈이 동작되는 단계를 포함하여 구성되는 것을 특징으로 한다.
바람직하게는, 상기 사용자 컴퓨터와 연결된 상기 키보드 또는 상기 가상 키보드로부터 입력된 키 신호는 다이나믹 하이퍼 텍스트 모델링 언어 객체를 이용하여 상기 페이지로 전송되는 것을 특징으로 한다.
또한, 상기 키보드 보안 프로그램이 사용자 컴퓨터에 설치되어 있지 않은 경우, 상기 서버로부터 상기 사용자 컴퓨터로 상기 키보드 보안 프로그램이 다운로드 되어 인스톨 되는 단계를 더 포함하며, 상기 키보드 보안 프로그램이 인스톨된 사용자 컴퓨터를 재부팅 하지 않은 상태에서 상기 단계 b)를 수행하는 것을 특징으로 하며, 상기 키보드 보안 프로그램은 액티브 엑스 또는 플러그 인의 형태를 통하여 배포 및 설치되는 것을 특징으로 한다.
보다 바람직하게는, 상기 키보드 보안 프로그램이 사용자 컴퓨터에 존재하지 않는 경우, 상기 사용자 컴퓨터로 읽을 수 있는 기록매체로부터 상기 키보드 보안 프로그램이 인스톨 되는 단계를 더 포함하며, 상기 사용자 컴퓨터로 읽을 수 있는 기록매체는 컴팩트 디스크 또는 디스켓인 것을 특징으로 한다.
바람직하게는, 상기 가상 키보드는 디스플레이부의 소정의 영역에 디스플레이 되어, 상기 가상 키보드를 이용하여 키입력 동작이 수행되는 것을 특징으로 하며, 상기 가상 키보드에서의 키입력 동작 수행은 i-1) 마우스의 클릭 또는 터치 스크린의 터치에 의하여 상기 가상 키보드의 해당 영역을 선택하는 단계; i-2) 상기 단계 i-1)에 응답하여 상기 선택된 영역에 할당된 키 값을 해당 키의 입력으로 처리하는 단계; 및 i-3) 상기 단계 i-2)에서 처리된 키 입력 값을 인터넷 익스플로어의 다이나믹 하이퍼 텍스트 모델링 언어(DHTML) 객체를 이용하여 상기 페이지로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 서버가 상기 사용자 컴퓨터로 전송하는 페이지에 포함된 적어도 하나의 개인정보 입력창 중 패스워드 입력창을 선택적으로 인식하여, 상기 패스워드 입력창에 입력되는 데이터를 보안하는 것을 특징으로 한다.
따라서 본 발명에 의하면, 통신 네트워크로 연결되어 있는 소정의 서버로 개인 정보를 전송할 때 키보드 보안 프로그램이 설치된 키보드 드라이버 또는 가상 키보드를 이용하여 개인 정보를 보호 할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
도 3은 본 발명의 일 실시예에 따른 키보드 보안 프로그램 작동 과정을 설명한 순서도이고, 도 4는 상기 키보드 보안 프로그램을 모듈별로 설명한 도면이다.
도 4를 참조하면, 상기 키보드 보안 프로그램(300)은 인스톨 모듈(310), 키 로거 판단 모듈(320), 가상 키보드 생성 모듈(330), 보안 키보드 드라이버 모듈(340), 및 데이터 입출력 모듈(350)을 포함한다.
도 3 및 도 4를 참조하면, 통신 네트워크에 연결되어 있는 개인용 컴퓨터(Personal Computer)에 본 발명의 키보드 보안 프로그램이 존재하지 않는 경우, 상기 키보드 보안 프로그램의 인스톨 모듈(310)이 액티브 엑스(Active X) 또는 플러그 인(Plug In) 프로그램을 통하여 상기 키보드 보안 프로그램을 상기 개인용 컴퓨터에 설치시킨다. 이 때, 상기 키보드 보안 프로그램은 디스켓, 컴팩트 디스크(CD) 등의 저장 매체에 저장될 수 있다. 따라서, 상기 개인용 컴퓨터가 통신 네트워크에 연결되지 않은 상태에서 즉, 오프 라인(OFF-Line)에서도 상기 키보드 보안 프로그램이 저장된 디스켓 또는 컴팩트 디스크를 통하여 개인용 컴퓨터에 설치 가능하다.
상술한 바와 같은 방법으로, 상기 키보드 보안 프로그램이 설치되어 있는 개인용 컴퓨터가 인터넷 등의 통신 네트워크를 통하여 서비스 서버에 접속한다(S200).
상기 개인용 컴퓨터를 사용하는 사용자가 인터넷 뱅킹 또는 쇼핑 몰에서의 물건 구입 등을 하고자 할 때, 상기 개인용 컴퓨터와 상기 서비스 서버 사이에 사용자의 개인 정보 보안 유지를 위한 SSL(Secure Socket Layer) 등의 네트워크 통신 보안이 설정된다(S205).
상기 네트워크 통신 보안을 개인용 컴퓨터 및 상기 개인용 컴퓨터와 연결된 키보드 사이에서도 확장시켜 보안하기 위하여, 상기 개인용 컴퓨터에 설치된 키보드 보안 프로그램의 키 로거 판단 모듈(320)은 키보드 드라이버, 즉 디바이스 드라이버 레벨을 검색하여 키 로거(Key Logger)와 같은 소정의 프로그램이 존재하는지 여부를 판단한다(S220).
본 발명의 키보드 보안 프로그램은 인터넷의 익스플로어(Internet Explorer)의 다이나믹 하이퍼 텍스트 모델링 언어(Dynamic Hyper Text Modeling Language, DHTML) 객체를 이용하여 액티브 엑스(Active X)를 거치지 않고 직접 웹 브라우저 또는 소정의 프로그램으로 입력할 때 입력된 데이터의 보안 유지가 가능하다.
상기 키 로거 판단 방법은 상기 키 로거 판단 모듈(320)이 디바이스 드라이버 레벨을 검색하여 시스템 디폴트 드라이버 이외의 드라이버가 존재하면 키 로거와 같은 프로그램이 존재한다고 판단하는 것이다.
다른 키 로거 판단 방법으로는, 상기 키 로거 판단 모듈(320)이 디바이스 드라이버 레벨을 검색하여, 드라이버의 시작 주소를 확인하여 판단하는 방법이 있다.
또 다른 키 로거 판단 방법은, 상기 키 로거 판단 모듈(320)이 디바이스 드라이버 레벨을 검색하여, 드라이버의 주소 테이블이 변경되었으면 키 로거와 같은 프로그램이 존재한다고 판단하는 방법이다.
또 다른 키 로거 판단 방법은, 상기 키 로거 판단 모듈(320)이 디바이스 드라이버 레벨을 검색하여, USB 키보드 등이 사용하는 휴먼 인터페이스 디바이스 클래스(Human Interface Device Class)를 확인하여 판단하는 방법이다. 상기 휴먼 인터페이스 디바이스(HID)는 키보드, 마우스 등의 입력 장치를 지칭하며, 본 발명은 키 로거가 상기 입력 장치로 상기 휴먼 인터페이스 디바이스 클래스를 통하여 접근하여 키보드 또는 마우스 등의 입력 장치로부터 입력되는 키 입력값을 빼내는 것을 방지할 수 있다.
상기 키 로거 판단 모듈(320)의 판단 결과, 상기 키 로거로 판단되는 프로그램이 디바이스 드라이버 레벨에 존재하지 않는 경우, 상기 키 로거 판단 모듈(320)은 보안 키보드 드라이버 모듈(340)을 활성화시켜 보안 키보드 드라이버 모드로 전환시킨다(S230). 상기 보안 키보드 드라이버 모드로 전환되면, 상기 서비스 서버에서 개인용 컴퓨터로 개인정보를 입력하기 위한 웹 페이지가 전송되어 상기 웹 페이지의 패스워드 입력창에 커서가 놓여지는 경우, 키보드 보안 프로그램(300)이 동작하여 키보드로부터 상기 키보드 보안 프로그램(300)의 데이터 입출력 모듈(350)로 입력되는 개인 정보를 인터넷의 익스플로어의 다이나믹 하이퍼 텍스트 모델링 언어(DHTML) 객체를 이용하여, 직접 상기 웹 페이지에 전달하여 안전하게 보호한다(S250).
다른 응용예로 도 5를 참조하면, 서비스 서버로부터 전송된 웹 페이지의 계좌 비밀번호를 입력하기 위하여 계좌비밀번호 입력 창에 커서를 놓으면, 보안 키보드 프로그램의 보안 키보드 드라이버 모듈이 동작한다. 상기 보안 키보드 드라이버 모듈이 동작함과 동시에 도 5에 도시된 바와 같이 [키보드 보안 프로그램에 의해 보호되고 있습니다. 키보드로 입력] 등의 안내 문구가 디스플레이 되어 보안 프로그램에 의해 안전하게 보호되고 있음을 표시할 수 있다.
그러나, 상기 키보드 보안 프로그램(300)의 키 로거 판단 모듈(320)의 판단 결과, 상기 키보드 드라이버에 키 로거(Key Logger)로 판단되는 프로그램이 키 입력 값을 선점하는 경우, 상기 키 로거 판단 모듈(320)은 가상 키보드 생성 모듈(330)을 활성화시켜 가상 키보드 모드로 전환시킨다(S240).
상기 가상 키보드 모드로 전환된 상태에서, 상기 서비스 서버가 개인용 컴퓨터로 개인정보를 입력하기 위한 웹 페이지를 사용자 단말기로 전송한 후, 상기 웹 페이지의 패스워드 입력 창에 커서가 놓여지는 경우, 가상 키보드 생성 모듈이 활성화 되어 상기 개인용 컴퓨터의 화면에 가상 키보드를 디스플레이 한다. 이 때, 키보드가 아닌 마우스로 화면에 디스플레이 된 가상 키보드의 글자 또는 숫자를 선택한다(S250). 상기 가상 키보드 생성 모듈이 동작함과 동시에 도 6 및 도 7에 도시된 바와 같이 [키보드 보안 프로그램에 의해 보호되고 있습니다. 가상 키보드로 입력] 등의 안내 문구가 디스플레이 되어 보안 프로그램에 의해 안전하게 보호되고 있음을 표시할 수 있다.
다른 응용 예에서는, 터치 스크린의 터치에 의하여 상기 가상 키보드의 해당 영역을 선택하면, 이에 대응하여 선택된 영역에 할당된 키 값을 해당 키의 입력으로 처리한다. 예컨대, 가상 키보드가 디스플레이 된 사용자 컴퓨터의 화면에서 비밀번호 "1234"를 선택하고자 할 때, 상기 가상 키보드에 1,2,3,4를 차례로 선택하면, 상기 키보드 보안 프로그램(300)으로 비밀번호 1,2,3,4 가 차례로 입력된다.
상기 단계 S250에서 보안된 키보드를 통하여 입력된 개인 정보 또는 가상 키보드를 통하여 입력된 개인 정보는 키보드 보안 프로그램(300)의 데이터 입출력 모듈(350)을 통하여 보호 대상 웹 브라우저 또는 프로그램으로 안전하게 입력된다(S260).
도 5 내지 도 7은 본 발명의 일 실시예에 따른 키보드 보안 프로그램의 구동 예를 도시한 것이다.
도 5는 디바이스 드라이버(Device Driver) 레벨에 키 로거로 판단되는 프로그램이 존재하지 않는 경우, 개인용 컴퓨터에 통신 네트워크로 연결된 서비스 서버로부터 전송된 개인정보를 입력할 수 있는 웹 페이지 또는 웹 브라우저 상에서 키보드를 통하여 개인정보 중 비밀번호 등을 입력할 때, 키보드 보안 프로그램이 동작하여 개인정보를 보안을 통하여 안전하게 웹 브라우저 또는 프로그램으로 입력한다. 부언하면, 상기 키보드 보안 프로그램이 동작하는 시점은 상기 웹 페이지 또는 웹 브라우저 상에 사용자가 개인정보 중 소정의 입력 창 예를 들면, 비밀번호 입력 창에 데이터를 입력할 수 있도록 커서가 깜박거릴 때이다.
또한, 도 6에서와 같이, 디바이스 드라이버 레벨에 키 로거로 판단되는 프로그램이 존재하는 경우, 웹 페이지 상에서 비밀번호를 입력하고자 할 때, 본 발명의 키보드 보안 프로그램이 자동으로 감지하여 가상 키보드가 개인용 컴퓨터의 화면에 디스플레이 된다. 이 때, 사용자가 마우스로 클릭 또는 터치 스크린인 경우는 터치에 의하여 상기 가상 키보드의 키를 선택하면, 선택된 영역에 할당된 키 입력 값을 인터넷 익스플로어의 다이나믹 하이퍼 텍스트 모델링 언어(DHTML) 객체를 이용하여 상기 페이지로 전송한다.
또한, 도 7에서와 같이, 디바이스 드라이버 레벨에 키 로거로 판단되는 프로그램이 존재하는 경우, 인증서 프로그램 등에서 키 입력시에도 본 발명의 키보드 보안 프로그램이 동작하여 사용자 컴퓨터의 화면에 가상 키보드가 개인용 컴퓨터의 화면에 디스플레이 된다.
이상에서 상세히 설명한 바와 같이, 본 발명의 키 입력 도용 방지 방법에 의하면, ASP(Application Service Provider) 제품으로 개발되어 인터넷을 통하여 언제 어디서나 어떤 컴퓨터를 사용하든지 바로 다운로드 받아 설치하여 사용할 수 있으며, 인터넷이 연결되지 않는 곳에서는 디스켓, 또는 컴팩트 디스크에 저장된 키보드 보안 프로그램을 설치할 수 있다. 또한, 보안 키보드 드라이버 모드 및 가상 키보드 생성 모드를 지원하여 어떤 상황에서도 시스템의 재부팅 없이 제품을 설치 한 후, 바로 사용할 수 있다는 장점이 있어 재부팅 하는 불편을 없앰으로써 사용자들의 편의를 도모할 수 있다. 또한, 키보드 드라이버를 쓰는 기존 제품들의 특성상 다른 키보드 드라이버를 쓰는 키 로거(Key Logger)들과 같이 사용할 때, 드라이버가 로드 되는 순서에 따라 키보드 정보를 그대로 가로채 갈 수 있는 취약점을 극복할 수 있고, 상기 키 로거들이 키 입력을 선점하기 위하여 다른 보안 프로그램들과 경합을 벌여 재시작 해야 하는 부담감이 없다. 게다가, 웹 페이지 뿐만 아니라 다른 어떤 애플리케이션에 대해서도 본 발명의 키보드 보안 프로그램을 적용할 수 있으므로, 활용 범위가 넓고 적용될 어플리케이션 리스트를 추가함으로써 확장이 가능하다. 부가적으로, 종래에는 웹 페이지에 액티브 엑스를 설치하여 디바이스 드라이버로부터 키 입력값을 전달 받아 웹 페이지에 입력하였으나, 인터넷 익스플로어의 DHTML 객체를 이용하여 액티브 엑스를 거치지 않고 직접 웹 페이지에 전달함으로써, 웹 페이지에 액티브 엑스를 삽입할 필요가 없으므로 웹 페이지에 수정이 불필요하며, 모든 패스워드 입력 창을 수정 없이 포괄적으로 적용할 수 있다는 장점이 있다.
본 발명의 실시예는 하나의 실시예에 지나지 않으며, 본 발명의 요지를 벗어나지 않는 범위 내에서 본 발명의 구성요소의 많은 변형 및 변경이 가능함을 물론이며, 본 발명이 실시예에만 한정되는 것은 아니다.
도 1은 종래 기술을 설명하기 위한 개략적인 시스템을 도시한 것이다.
도 2는 종래에 키보드로 입력한 데이터가 서비스 서버에 도달하는 과정을 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 방법을 설명하기 위한 키보드 보안 프로그램 작동 과정을 설명한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 키보드 보안 프로그램의 모듈을 설명하기 위한 도면이다.
도 5 내지 도 7은 본 발명의 일 실시예에 따른 키보드 보안 프로그램의 구동 예를 도시한 것이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 서비스 서버
20 : SSL 등의 네트워크 통신 보안
30 : 개인용 컴퓨터
40 : 키보드
300 : 키보드 보안 프로그램
310 : 인스톨 모듈
320 : 키 로거 판단 모듈
330 : 가상 키보드 생성 모듈
340 : 보안 키보드 드라이버 모듈
350 : 데이터 입출력 모듈

Claims (14)

  1. a) 통신 네트워크를 통하여 소정의 서버에 연결된 사용자 컴퓨터에 키보드 보안 프로그램의 존재 여부를 판별하고, 적어도 하나의 개인정보 입력창을 포함하는 페이지를 상기 사용자 컴퓨터로 전송 하는 단계;
    b) 상기 사용자 컴퓨터에 상기 키보드 보안 프로그램이 설치된 경우, 상기 키보드 보안 프로그램의 키 로거 판단 모듈이 상기 사용자 컴퓨터의 키보드 드라이버 레벨에 키 로거가 존재하는지 여부를 판단하는 단계;
    c) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하지 않고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 키보드를 통하여 상기 개인정보 입력창에 개인 정보를 입력할 수 있도록 보안 키보드 드라이버 모듈이 동작되는 단계; 및
    d) 상기 단계 b)의 판단 결과, 상기 키 로거가 키보드 드라이버 레벨에 존재하고 상기 개인정보 입력창 중 소정의 입력창에 키 신호 입력 준비가 완료된 경우, 상기 사용자 컴퓨터의 화면에 가상 키보드를 디스플레이 하도록 가상 키보드 생성 모듈이 동작되는 단계를 포함하여 구성되는 것을 특징으로 하는 키 입력 도용 방지 방법.
  2. 제 1 항에 있어서,
    상기 사용자 컴퓨터와 연결된 상기 키보드 또는 상기 가상 키보드로부터 입력된 키 신호는 다이나믹 하이퍼 텍스트 모델링 언어 객체를 이용하여 상기 페이지로 전송되는 것을 특징으로 하는 키 입력 도용 방지 방법.
  3. 제 1 항에 있어서, 상기 키보드 보안 프로그램이 상기 사용자 컴퓨터에 설치되어 있지 않은 경우, 상기 서버로부터 상기 사용자 컴퓨터로 상기 키보드 보안 프로그램이 다운로드 되어 인스톨 되는 단계를 더 포함하며,
    상기 키보드 보안 프로그램이 인스톨된 사용자 컴퓨터를 재부팅 하지 않은 상태에서 상기 단계 b)를 수행하는 것을 특징으로 하는 키 입력 도용 방지 방법.
  4. 제 3 항에 있어서, 상기 키보드 보안 프로그램은 액티브 엑스 또는 플러그 인의 형태를 통하여 배포 및 설치되는 것을 특징으로 하는 키 입력 도용 방지 방법.
  5. 제 1 항에 있어서, 상기 키보드 보안 프로그램이 상기 사용자 컴퓨터에 존재하지 않는 경우, 상기 사용자 컴퓨터로 읽을 수 있는 기록매체로부터 상기 키보드 보안 프로그램이 인스톨 되는 단계를 더 포함하는 것을 특징으로 하는 키 입력 도용 방지 방법.
  6. 제 5 항에 있어서, 상기 사용자 컴퓨터로 읽을 수 있는 기록매체는 컴팩트 디스크 또는 디스켓인 것을 특징으로 하는 키 입력 도용 방지 방법.
  7. 제 1 항에 있어서, 상기 가상 키보드는 디스플레이부의 소정의 영역에 디스플레이 되어, 상기 가상 키보드를 이용하여 키입력 동작이 수행되는 것을 특징으로 하는 키 입력 도용 방지 방법.
  8. 제 7 항에 있어서, 상기 가상 키보드에서의 키입력 동작 수행은
    i-1) 마우스의 클릭 또는 터치 스크린의 터치에 의하여 상기 가상 키보드의 해당 영역을 선택하는 단계;
    i-2) 상기 단계 i-1)에 응답하여 상기 선택된 영역에 할당된 키 값을 해당 키의 입력으로 처리하는 단계; 및
    i-3) 상기 단계 i-2)에서 처리된 키 입력 값을 인터넷 익스플로어의 다이나믹 하이퍼 텍스트 모델링 언어(DHTML) 객체를 이용하여 상기 페이지로 전송하는 단계를 포함하는 것을 특징으로 하는 키 입력 도용 방지 방법.
  9. 제 1 항에 있어서, 상기 서버가 상기 사용자 컴퓨터로 전송하는 페이지에 포함된 적어도 하나의 개인정보 입력창 중 패스워드 입력창을 선택적으로 인식하여, 상기 패스워드 입력창에 입력되는 데이터를 보안하는 것을 특징으로 하는 키 입력 도용 방지 방법.
  10. 제 1 항에 있어서, 상기 단계 c)에서 상기 키보드 드라이버 레벨에 키 로거가 존재하는지 여부는, 상기 키보드 드라이버 레벨에 시스템 디폴트 드라이버 이외의 드라이버가 존재하는지 여부에 따라 결정되는 것을 특징으로 하는 키 입력 도용 방지 방법.
  11. 제 1 항에 있어서, 상기 단계 c)에서 상기 키보드 드라이버 레벨에 키 로거가 존재하는지 여부는, 상기 키보드 드라이버 레벨의 드라이버 시작 주소를 확인하여 결정되는 것을 특징으로 하는 키 입력 도용 방지 방법.
  12. 제 1 항에 있어서, 상기 단계 c)에서 상기 키보드 드라이버 레벨에 키 로거가 존재하는지 여부는, 상기 키보드 드라이버 레벨에서 드라이버의 주소 테이블이 변경되었는지 여부에 따라 결정되는 것을 특징으로 하는 키 입력 도용 방지 방법.
  13. 제 1 항에 있어서, 상기 단계 c)에서 상기 키보드 드라이버 레벨에 키 로거가 존재하는지 여부는, HID( 휴먼 인터페이스 디바이스 ) 클래스를 확인하여 판단하는 것을 특징으로 하는 키 입력 도용 방지 방법.
  14. 제 1 항에 있어서, 상기 개인 정보는 아이디, 패스워드, 통장번호, 비밀번호, 인증번호 중 적어도 하나를 포함하는 것을 특징으로 하는 키 입력 도용 방지 방법.
KR10-2003-0003223A 2003-01-17 2003-01-17 키 입력 도용 방지 방법 KR100496462B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0003223A KR100496462B1 (ko) 2003-01-17 2003-01-17 키 입력 도용 방지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0003223A KR100496462B1 (ko) 2003-01-17 2003-01-17 키 입력 도용 방지 방법

Publications (2)

Publication Number Publication Date
KR20040066237A KR20040066237A (ko) 2004-07-27
KR100496462B1 true KR100496462B1 (ko) 2005-06-22

Family

ID=37356095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0003223A KR100496462B1 (ko) 2003-01-17 2003-01-17 키 입력 도용 방지 방법

Country Status (1)

Country Link
KR (1) KR100496462B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101267875B1 (ko) 2012-01-27 2013-05-27 숭실대학교산학협력단 가상 키보드를 이용한 메시지 암·복호화 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR101393590B1 (ko) 2013-11-08 2014-05-09 서진형 보안 모드 키보드를 이용한 텍스트 입력방법 및 장치, 그 기록매체
KR102133902B1 (ko) 2019-10-22 2020-07-14 배희진 보안 입력장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1918556A (zh) 2004-02-05 2007-02-21 Kings情报通信 使用安全输入装置驱动器的计算机安全装置和方法
KR100495830B1 (ko) * 2004-10-19 2005-06-16 김민규 마우스를 이용한 키보드 해킹 방지방법
KR100710032B1 (ko) * 2005-02-23 2007-04-25 제이알소프트 주식회사 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷 익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 및 시스템
KR100745489B1 (ko) * 2005-07-19 2007-08-02 소프트포럼 주식회사 키입력 해킹방지 방법
KR100571695B1 (ko) * 2005-11-04 2006-04-18 (주)아이넷캅 키보드와 마우스 및 영상의 해킹 방지 방법
KR100746944B1 (ko) * 2006-04-14 2007-08-07 고려대학교 산학협력단 정보 유출 방지 방법 및 정보 유출 방지를 수행하는프로그램이 저장된 기록 매체
US8615662B2 (en) * 2007-01-31 2013-12-24 Microsoft Corporation Password authentication via a one-time keyboard map
KR101438830B1 (ko) * 2008-08-27 2014-09-05 주식회사 엘지유플러스 휴대 단말기에서의 한영 변환장치 및 그 방법
KR101006721B1 (ko) 2009-01-20 2011-01-07 킹스정보통신(주) 키보드 입력정보 보안장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101267875B1 (ko) 2012-01-27 2013-05-27 숭실대학교산학협력단 가상 키보드를 이용한 메시지 암·복호화 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR101393590B1 (ko) 2013-11-08 2014-05-09 서진형 보안 모드 키보드를 이용한 텍스트 입력방법 및 장치, 그 기록매체
KR102133902B1 (ko) 2019-10-22 2020-07-14 배희진 보안 입력장치

Also Published As

Publication number Publication date
KR20040066237A (ko) 2004-07-27

Similar Documents

Publication Publication Date Title
US11086979B1 (en) Security system and method for controlling access to computing resources
CN101334824B (zh) 在不可信计算机上执行在线机密事务的便携式安全计算环境
US20040230836A1 (en) Hardware implementation of process-based security protocol
US20090328169A1 (en) Apparatus and method for convenient and secure access to websites
US9716706B2 (en) Systems and methods for providing a covert password manager
US20050240756A1 (en) System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows.
US20070101148A1 (en) Secure prompting
US20040158734A1 (en) System and method for process-based security in a portable electronic device
US7933971B2 (en) Method for secure communication over a public data network via a terminal that is accessible to multiple users
US20090222908A1 (en) Device for Transmission of Stored Password Information Through a Standard Computer Input Interface
US7720829B2 (en) Middleware sign-on
KR100496462B1 (ko) 키 입력 도용 방지 방법
US20040093525A1 (en) Process based security tai building
Kang et al. USBWall: A novel security mechanism to protect against maliciously reprogrammed USB devices
US8850563B2 (en) Portable computer accounts
KR100710032B1 (ko) 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷 익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 및 시스템
Plus User's Guide
US8732821B1 (en) Method and apparatus for preventing accidential disclosure of confidential information via visual representation objects
KR20060089395A (ko) 웹사이트 자동 접속을 위한 방법
AU2009213049B2 (en) Key protecting method and a computing apparatus
KR100959638B1 (ko) 키보드 해킹차단 방법 및 그 프로그램을 기록한 기록매체
KR101006720B1 (ko) 웹 페이지에서의 비밀번호 보안방법 및 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
US20040243845A1 (en) System and method for process-based security in a network device
KR100721445B1 (ko) 생체 정보를 이용한 인증 시스템 및 인증을 수행하는프로그램이 저장된 기록 매체
CA2501524A1 (en) System and method for improving the efficiency, comfort, and/or reliability in operating systems, such as for example windows

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
FPAY Annual fee payment

Payment date: 20130613

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140613

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150615

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160613

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170613

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180614

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190613

Year of fee payment: 15