KR100447777B1 - Hacking prevention of key stroke data - Google Patents

Hacking prevention of key stroke data Download PDF

Info

Publication number
KR100447777B1
KR100447777B1 KR10-2002-0043576A KR20020043576A KR100447777B1 KR 100447777 B1 KR100447777 B1 KR 100447777B1 KR 20020043576 A KR20020043576 A KR 20020043576A KR 100447777 B1 KR100447777 B1 KR 100447777B1
Authority
KR
South Korea
Prior art keywords
secure
input window
keystroke data
keyboard driver
keyboard
Prior art date
Application number
KR10-2002-0043576A
Other languages
Korean (ko)
Other versions
KR20040009575A (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 KR10-2002-0043576A priority Critical patent/KR100447777B1/en
Publication of KR20040009575A publication Critical patent/KR20040009575A/en
Application granted granted Critical
Publication of KR100447777B1 publication Critical patent/KR100447777B1/en

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 사용자가 입력한 패스워드의 자리 수를 알 수 없고, 해킹을 하더라도 원래의 키 스트록 데이터를 알 수 없는 키 스트록 데이터의 해킹 방지 방법에 관한 것으로, 키보드, 보안 키보드 드라이버 및 보안 입력창 제어부가 구비된 컴퓨터 시스템을 이용하여 암호화된 키값을 생성하여 전송시키는 키 스트록 데이터의 해킹 방지방법에 있어서, 입력창이 클릭되면, 상기 보안 입력창 제어부에서 암호키를 생성하여 상기 보안 키보드 드라이버에 제공하는 제1단계; 상기 보안 키보드 드라이버에서는 키보드를 통해 입력되는 키 스트록 데이터를 내부 버퍼에 저장하고, 시스템 메시지 대기열에는 널(Null)값을 제공하는 제2-1단계; 상기 제2-1단계 수행 후, 상기 보안 키보드 드라이버는 상기 보안 입력창 제어부와 직접 통신하여 입력창에 특수문자를 표시하는 제2-2단계; 상기 보안 키보드 드라이버에서는 상기 내부 버퍼에 저장된 키 스트록 데이터를 상기 암호키를 이용해 블록 암호화하여 버퍼링하는 제3단계; 및 상기 보안 입력창 제어부에서는 상기 암호화된 키 스트록 데이터를 상기 보안 키보드 드라이버로부터 직접 읽어와 상기 암호키를 이용해 복호화하여 응용 프로그램으로 제공하는 제4단계를 포함한다.The present invention relates to a method for preventing hacking of keystroke data in which the number of digits of a user input password is not known and the original keystroke data is not known even if hacking is performed. A method for preventing hacking of keystroke data that generates and transmits an encrypted key value by using a provided computer system, wherein when an input window is clicked, the security input window controller generates an encryption key and provides the first key to the secure keyboard driver. step; In the secure keyboard driver, keystroke data input through the keyboard is stored in an internal buffer, and a null value is provided to a system message queue; After performing step 2-1, the secure keyboard driver directly communicates with the secure input window controller to display a special character on the input window; A third step of the secure keyboard driver to block-encrypt the keystroke data stored in the internal buffer by using the encryption key; And a fourth step in which the secure input window controller reads the encrypted keystroke data directly from the secure keyboard driver, decrypts the encrypted keystroke data using the encryption key, and provides the same to an application program.

Description

키 스트록 데이터의 해킹 방지 방법 및 이를 기록한 컴퓨터로 읽을 수 있는 기록매체{Hacking prevention of key stroke data}Hacking prevention of key stroke data and computer-readable recording medium recording the same {Hacking prevention of key stroke data}

본 발명은 키보드로부터 입력되는 키 스트록(stroke) 데이터의 해킹 방지 방법에 관한 것으로, 더욱 자세하게는 키보드로부터 입력되는 키 스트록 데이터를 키보드 드라이버에서 블록 암호화하고, 입력창 제어부에서 상기 블록 암호화된 키 스트록 데이터를 복호하여 응용 프로그램에 제공함으로써, 사용자 컴퓨터에 설치된 해킹 프로그램에 의해 사용자가 입력한 키 스트록 데이터가 해킹되는 것을 원천적으로 방지할 수 있는 방법 및 이를 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a method for preventing hacking of keystroke data input from a keyboard. More particularly, the present invention relates to block encryption of keystroke data input from a keyboard by a keyboard driver, and to block-blocking keystroke data by an input window controller. The present invention relates to a method for preventing a keystroke data input by a user from being hacked by a hacking program installed on a user's computer by decoding and providing the same to an application program, and a computer-readable recording medium recording the same.

컴퓨터 통신망 관련 기술, 특히 웹이나 전자우편 기술의 발전에 따라 인터넷의 이용자가 급증하고 있는 현실을 감안하면, 이제 인터넷은 새로운 기술 또는 서비스의 영역이 아니라 실생활의 일부분으로 깊숙이 자리잡고 있다. 이러한 추세에 따라 최근에는 인터넷을 이용해 상품을 구매하고, 인터넷을 통해 금융 거래 등을 하고 있다. 이때 사용자를 인증하고 거래를 승인하기 위해 사용자 식별자(ID)와 패스워드 등이 사용된다. 이러한 정보들은 개방형 네트워크인 인터넷을 통해 전송되기 때문에 해킹을 방지하기 위해 네트워크 상에서 전송되는 데이터에 대한 보안방법이 많이 사용되고 있다. 이러한 보안 방법에 의해 전송로 상에서의 해킹은 방지할 수 있지만, 인터넷을 통해 유입되어 사용자 컴퓨터 내에 설치된 키 스트록 해킹 툴에 의해 개인의 중요한 비밀정보인 패스워드가 외부로 유출될 수 있는 위험성을 안고 있다. 즉, 최근에는 사용자의 컴퓨터에 해킹 프로그램을 몰래 설치해 두고, 사용자가 키보드를 통해 입력한 키 스트록 데이터를 시스템 메시지 대기열 혹은 쓰레드 메시지 대기열로부터 후킹하여, 이를 로그파일로 만들어서 전자메일로 해커에게 보냄으로써, 사용자의 패스워드가 유출될 수 있다. 이와 같은 해킹 방식은 인터넷으로 전송될 데이터가 암호화되기 전에 사용자가 입력한 키 스트록 데이터를 가로채기 때문에, 종래의 네트워크 보안 방법으로는 이를 해결할 수 없다.Considering the fact that the number of users of the Internet is increasing due to the development of computer communication network technology, especially the web or e-mail technology, the Internet is deeply positioned as a part of real life, not a new technology or service area. In accordance with this trend, recently, products have been purchased using the Internet, and financial transactions have been made through the Internet. At this time, a user identifier (ID) and a password are used to authenticate the user and approve the transaction. Since such information is transmitted through the Internet, which is an open network, security methods for data transmitted over the network are widely used to prevent hacking. Although such a security method can prevent hacking on the transmission path, a keystroke hacking tool, which is introduced through the Internet and installed in the user's computer, has a risk of leaking passwords, which are important personal information, to the outside. In other words, by recently installing a hacking program secretly on the user's computer, hooking the keystroke data input by the user from the system message queue or the thread message queue, making it a log file, and sending it to the hacker by e-mail, The user's password may be leaked. Such a hacking method intercepts keystroke data input by a user before data to be transmitted to the Internet is encrypted, and thus cannot be solved by conventional network security methods.

이러한 문제점을 해결하기 위해, 대한민국 공개특허공보 2002-48313호에는 키보드 해킹 프로그램으로부터의 해킹 시도를 차단할 수 있는 키보드 해킹 방지 방법이 개시되어 있다. 상기 2002-48313호에 개시된 키보드 해킹 방지방법을 살펴보면, 사용자가 웹 서버에 접속하면 키보드 보안 프로그램이 자동적으로 사용자의 컴퓨터에 설치되는데, 상기 키보드 보안 프로그램에는 보안 입력창 제어부와, 키 테이블 생성부와, 보안 키보드 드라이버가 포함된다. 상기 보안 입력창 제어부는 입력창이 선택될 때마다 키 테이블 생성부를 사용하여 키 테이블을 생성하고, 보안 키보드 드라이버를 사용자의 컴퓨터에 설치한다. 보안 키보드 드라이버는 사용자가 키보드를 사용하여 입력하는 내용을 키 테이블에 따라 암호화하여 시스템 메시지 대기열에 입력한다. 보안 입력창 제어부는 시스템 메시지 대기열과 쓰레드 메시지 대기열을 통해 입력받은 키보드 메시지를 키 테이블을 사용하여 복호하여 웹브라우저에 넘긴다. 프로그램 창의 포커스가 다른 창으로 바뀌면 보안 키보드 드라이버는 자동으로 제거되고, 다른 창에서 다시 키보드 보안프로그램이 설치된 창으로 포커스가 바뀌면 새로이 키 테이블을 생성하고 보안 키보드 드라이버를 설치한다. 여기서, 키 테이블은 키보드 자판의 각 문자에 대해서 임의로 정해진 다른 문자로의 매핑 테이블인 것이 바람직한데, 예를 들어 키 테이블은 'a'가 'x'에, 'b'가 'k'에, 'c'가 '9'에 매핑되어 있어서, 보안 키보드 드라이버는 'abc'가 입력되면 이를 'xk9'로 변환하여 시스템 메시지 대기열로 입력하고, 보안 입력창 제어부는 'xk9'를 읽어와 키 테이블에 따라 'abc'로 변환하여 웹브라우저로 넘긴다.In order to solve this problem, Korean Patent Laid-Open No. 2002-48313 discloses a keyboard hacking prevention method that can block hacking attempts from a keyboard hacking program. Referring to the keyboard hacking prevention method disclosed in 2002-48313, when a user accesses a web server, a keyboard security program is automatically installed on the user's computer. The keyboard security program includes a security input window controller, a key table generator, Includes a secure keyboard driver. The security input window controller generates a key table using a key table generator whenever an input window is selected, and installs a security keyboard driver in a user's computer. The secure keyboard driver encrypts what the user types using the keyboard according to a key table and enters it into the system message queue. The security input window controller decrypts the keyboard message received through the system message queue and the thread message queue using a key table and passes it to the web browser. If the focus of the program window is changed to another window, the security keyboard driver is automatically removed. If the focus is changed from the other window to the window where the keyboard security program is installed again, a new key table is created and the security keyboard driver is installed. Here, the key table is preferably a mapping table to other characters arbitrarily determined for each character of the keyboard keyboard. For example, the key table is' a 'in' x ',' b 'in' k ',' c 'is mapped to' 9 ', so the security keyboard driver converts' abc' to 'xk9' and enters it into the system message queue, and the security input control section reads' xk9 'and follows the key table. Convert it to 'abc' and pass it to the web browser.

하지만, 이와 같은 종래의 방법은 키 테이블을 사용하여 키 스트록 데이터를 변환하기 때문에, 키 테이블이 제3자에게 유출될 경우 상기 키 스트록 데이터를 복호하는데 문제가 되지 않고, 패스워드의 자리 수를 알 수 있어, 가능한 패스워드의 조합을 통해 패스워드를 알 수 있는 문제점이 있다.However, this conventional method converts keystroke data using a key table, so that when the key table is leaked to a third party, it is not a problem to decrypt the keystroke data, and the number of digits of the password can be known. Therefore, there is a problem that the password can be known through a combination of possible passwords.

따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 키보드로부터 입력되는 키 스트록 데이터를 키보드 드라이버에서 블록 암호화하고, 입력창 제어부에서 상기 블록 암호화된 키 스트록 데이터를 복호하여 응용 프로그램에 제공함으로써, 사용자가 입력한 패스워드의 자리 수를 알 수 없고, 해킹을 하더라도 원래의 키 스트록 데이터를 알 수 없는 키 스트록 데이터의 해킹 방지 방법 및 이를 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.Accordingly, the present invention is to solve the problems of the prior art as described above, an object of the present invention is to block-encrypt the keystroke data input from the keyboard in the keyboard driver, and the block-encrypted keystroke data in the input window control unit By decrypting and providing it to an application program, a method of preventing hacking of keystroke data in which the number of digits entered by the user is unknown and the original keystroke data is unknown even if hacked, and a computer-readable recording medium recording the same To provide.

도1은 본 발명이 적용되는 키 스트록 데이터의 전달 과정을 나타낸 도면.1 is a view showing a transfer process of keystroke data to which the present invention is applied.

도2는 본 발명에 따른 처리 흐름도.2 is a process flow diagram in accordance with the present invention.

*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

1 : 키보드 2 : 보안 키보드 드라이버1: keyboard 2: secure keyboard driver

3 : 시스템 메시지 대기열 4 : 쓰레드 메시지 대기열3: system message queue 4: thread message queue

5 : 보안 입력창 제어부 6 : 웹 브라우저5: Security input window control unit 6: Web browser

7 : 인터넷 8 : 웹서버7: Internet 8: Web Server

상기 목적을 달성하기 위한 본 발명은, 키보드, 보안 키보드 드라이버 및 보안 입력창 제어부가 구비된 컴퓨터 시스템을 이용하여 암호화된 키값을 생성하여 전송시키는 키 스트록 데이터의 해킹 방지방법에 있어서, 입력창이 클릭되면, 상기 보안 입력창 제어부에서 암호키를 생성하여 상기 보안 키보드 드라이버에 제공하는 제1단계; 상기 보안 키보드 드라이버에서는 키보드를 통해 입력되는 키 스트록 데이터를 내부 버퍼에 저장하고, 시스템 메시지 대기열에는 널(Null)값을 제공하는 제2-1단계; 상기 제2-1단계 수행 후, 상기 보안 키보드 드라이버는 상기 보안 입력창 제어부와 직접 통신하여 입력창에 특수문자를 표시하는 제2-2단계; 상기 보안 키보드 드라이버에서는 상기 내부 버퍼에 저장된 키 스트록 데이터를 상기 암호키를 이용해 블록 암호화하여 버퍼링하는 제3단계; 및 상기 보안 입력창 제어부에서는 상기 암호화된 키 스트록 데이터를 상기 보안 키보드 드라이버로부터 직접 읽어와 상기 암호키를 이용해 복호화하여 응용 프로그램으로 제공하는 제4단계를 포함하는 키 스트록 데이터의 해킹 방지 방법을 제공한다.본 발명은 또 컴퓨터에 의해 읽혀져서, 입력창이 클릭됨에 따라 보안 입력창 제어부에서 암호키를 생성하여 상기 보안 키보드 드라이버에 제공하는 제1단계; 상기 보안 키보드 드라이버에서는 키보드를 통해 입력되는 키 스트록 데이터를 내부 버퍼에 저장하고, 시스템 메시지 대기열에는 널(Null)값을 제공하는 제2-1단계; 상기 제2-1단계 수행 후, 상기 보안 키보드 드라이버는 상기 보안 입력창 제어부와 직접 통신하여 입력창에 특수문자를 표시하는 제2-2단계; 상기 보안 키보드 드라이버에서는 상기 내부 버퍼에 저장된 키 스트록 데이터를 상기 암호키를 이용해 블록 암호화하여 버퍼링하는 제3단계; 및 상기 보안 입력창 제어부에서는 상기 암호화된 키 스트록 데이터를 상기 보안 키보드 드라이버로부터 직접 읽어와 상기 암호키를 이용해 복호화하여 응용 프로그램으로 제공하는 제4단계가 실행되도록 구성된 프로그램이 기록된 기록매체를 제공한다.In order to achieve the above object, the present invention provides a keystroke data hacking prevention method for generating and transmitting an encrypted key value using a computer system provided with a keyboard, a secure keyboard driver, and a secure input window controller. A first step of generating an encryption key from the security input window controller and providing the encryption key to the security keyboard driver; In the secure keyboard driver, keystroke data input through the keyboard is stored in an internal buffer, and a null value is provided to a system message queue; After performing step 2-1, the secure keyboard driver directly communicates with the secure input window controller to display a special character on the input window; A third step of the secure keyboard driver to block-encrypt the keystroke data stored in the internal buffer by using the encryption key; And a fourth step in which the secure input window controller reads the encrypted keystroke data directly from the secure keyboard driver, decrypts the encrypted keystroke data using the encryption key, and provides the decrypted keystroke data to an application program. The present invention also provides a first step of reading by a computer to generate an encryption key in the security input window control unit as the input window is clicked to provide to the secure keyboard driver; In the secure keyboard driver, keystroke data input through the keyboard is stored in an internal buffer, and a null value is provided to a system message queue; After performing step 2-1, the secure keyboard driver directly communicates with the secure input window controller to display a special character on the input window; A third step of the secure keyboard driver to block-encrypt the keystroke data stored in the internal buffer by using the encryption key; And the secure input window controller provides a recording medium on which a program configured to execute a fourth step of directly reading the encrypted keystroke data from the secure keyboard driver, decrypting the encrypted keystroke data, and providing the encrypted keystroke data to an application program. .

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도1은 본 발명이 적용되는 키 스트록 데이터의 전달 과정을 나타낸 도면으로, 도면에서 1은 키보드, 2는 보안 키보드 드라이버, 3은 시스템 메시지 대기열,4는 쓰레드 메시지 대기열, 5는 보안 입력창 제어부, 6은 웹 브라우저, 7은 인터넷, 8은 웹 서버를 각각 나타낸다.1 is a diagram illustrating a process of transferring keystroke data to which the present invention is applied, in which 1 is a keyboard, 2 is a secure keyboard driver, 3 is a system message queue, 4 is a thread message queue, 5 is a secure input window controller, 6 represents a web browser, 7 represents the Internet, and 8 represents a web server.

본 발명을 위해 사용자 컴퓨터에는 보안 키보드 드라이버(2)와 보안 입력창 제어부(5)가 설치된다. 보안 키보드 드라이버(2)는 키보드(1)로부터 입력된 스캔코드를 키 스트록 데이터로 변환하고, 상기 키 스트록 데이터를 암호화한다. 그리고, 보안 입력창 제어부(5)는 암호키 생성을 통해 보안 키보드 드라이버에 암호키를 제공하고, 상기 보안 키보드 드라이버(2)에 의해 암호화된 키 스트록 데이터를 읽어와 상기 암호키를 이용해 복호화 하여, 웹 브라우저(6) 등의 응용 프로그램으로 제공한다. 보안 키보드 드라이버(2)와 보안 입력창 제어부(5)는 사용자가 온라인을 통해 다운로드 받아 설치할 수도 있고, 오프라인 상에서 설치할 수도 있다.A security keyboard driver 2 and a security input window controller 5 are installed in the user computer for the present invention. The secure keyboard driver 2 converts the scan code input from the keyboard 1 into keystroke data and encrypts the keystroke data. The security input window controller 5 provides an encryption key to the secure keyboard driver by generating an encryption key, reads the keystroke data encrypted by the secure keyboard driver 2, and decrypts the encrypted key using the encryption key. Provided by an application program such as a web browser (6). The security keyboard driver 2 and the security input window controller 5 may be downloaded and installed by the user online or installed offline.

보안 키보드 드라이버(2)는 일반적인 키보드 드라이버에 본 발명을 위한 기능이 추가된 형태로, 일반적인 키보드 드라이버로 동작하는 경우에는 키보드를 통해 입력된 스캔코드 값을 키 스트록 데이터로 변환하여, 시스템 메시지 대기열(3)로 입력한다. 시스템 메시지 대기열(3)에 입력된 키 스트록 데이터는 현재 활성화 되어 있는 가상머신으로 전송되며, 이는 다시 쓰레드 메시지 대기열(4)을 통해 웹브라우저와 같은 응용 프로그램으로 전달된다.The security keyboard driver 2 is a form in which a function for the present invention is added to a general keyboard driver. In the case of operating as a general keyboard driver, the security keyboard driver 2 converts a scan code value input through the keyboard into keystroke data, and transmits a system message queue ( Enter 3). The keystroke data entered into the system message queue (3) is sent to the currently active virtual machine, which is then passed back through the thread message queue (4) to an application such as a web browser.

한편, 보안 키보드 드라이버(2)가 일반적인 키보드 드라이버가 아닌 보안 키보드 드라이버로서 동작하는 경우에는 키보드를 통해 입력된 키 스트록 데이터를 내부 버퍼에 저장하고, 시스템 메시지 대기열에는 'Null'값을 제공한다. 그리고, 사용자가 확인을 클릭하면 보안 키보드 드라이버(2)는 내부 버퍼에 저장된 키 스트록 데이터를 암호키를 이용해 암호화하여 버퍼링 한다. 그러면, 보안 입력창 제어부(5)는 상기 보안 키보드 드라이버에 의해 암호화된 키 스트록 데이터를 보안 키보드 드라이버와의 직접 통신을 통해 읽어와, 복호화 한 후 응용 프로그램인 웹 브라우저(6)로 전달한다. 여기서, 시스템 메시지 대기열로는 'Null'값이 제공되기 때문에, 결국 키 스트록 해킹 툴에 의해 해킹된다 하더라도 아무런 정보도 획득할 수 없다. 한편, 사용자는 입력창을 통해 입력되는 패스워드의 상태를 확인하여야 하는데(예를 들어 하나의 키가 눌러질 때마다 특수문자인 "*"를 표시됨.), 이를 위해 본 발명에서는 보안 키보드 드라이버와 보안 입력창 제어부간의 직접적인 통신을 통해 특수문자를 표시한다. 즉, 보안 키보드 드라이버와 보안 입력창 제어부는 일반적인 시스템 메시지 대기열과 쓰레드 메시지 대기열을 통해 통신하는 것이 아니라, 프로그램을 통해 직접 통신하는 것으로, 이는 일반적인 공지 기술을 통해 달성될 수 있다. 보안 키보드 드라이버는 키가 눌러질 때마다 직접 통신을 통해 특정 신호(의미 있는 문자가 아님)를 보안 입력창 제어부로 제공하고, 보안 입력창 제어부는 상기 입력되는 신호에 따라 특수 문자를 입력창에 표시한다. 이와 같이 보안 키보드 드라이버와 보안 입력창 제어부 간에 직접 통신을 통해 특수문자를 표시하는 이유는, 일반적으로 해킹 툴은 시스템 메시지 대기열과 쓰레드 메시지 대기열 상에 존재하기 때문에, 특수문자가 이 경로를 통해 전달되는 경우 결국 패스워드의 문자 수를 알 수 있기 때문이다. 따라서, 본 발명에서는 패스워드의 문자 수도 알 수 없도록 하기 위해, 시스템 메시지 대기열에는 'Null'값을 제공하고, 보안 키보드 드라이버와 보안 입력창 제어부 간 직접 통신을 통해 특수문자를 표시한다.On the other hand, when the secure keyboard driver 2 operates as a secure keyboard driver instead of a general keyboard driver, the keystroke data input through the keyboard is stored in an internal buffer, and a 'Null' value is provided to the system message queue. When the user clicks OK, the secure keyboard driver 2 encrypts and buffers the keystroke data stored in the internal buffer using an encryption key. Then, the security input window control unit 5 reads the keystroke data encrypted by the security keyboard driver through direct communication with the security keyboard driver, decrypts it, and delivers it to the web browser 6 which is an application program. Here, since the 'Null' value is provided to the system message queue, no information can be obtained even if it is hacked by the keystroke hacking tool. On the other hand, the user has to check the status of the password entered through the input window (for example, a special character "*" is displayed every time a key is pressed). Displays special characters through direct communication between input window controls. That is, the secure keyboard driver and the secure input window control unit communicate directly through a program, not through general system message queues and thread message queues, which can be achieved through general known technology. Whenever a key is pressed, the secure keyboard driver provides a specific signal (not a meaningful character) to the security input window control unit through direct communication, and the security input window control unit displays a special character in the input window according to the input signal. do. The reason for displaying special characters through direct communication between the secure keyboard driver and the secure input window control is that hacking tools usually exist on the system message queue and the thread message queue, so special characters are passed through this path. This is because in the end, the number of characters in the password is known. Accordingly, in the present invention, in order not to know the number of characters of the password, the system message queue provides a 'Null' value, and displays special characters through direct communication between the secure keyboard driver and the secure input window controller.

도2는 본 발명에 따른 키 스트록 데이터 처리 흐름도이다.2 is a flowchart of keystroke data processing in accordance with the present invention.

먼저, 본 발명을 위해서는 보안 입력창 제어부와 보안 키보드 드라이버가 설치되어야 한다(101). 이 상태에서 응용 프로그램의 키 스트록 데이터 입력창이 클릭되면(102), 보안 입력창 제어부는 암호화 및 복호화를 위한 암호키를 생성하여 보안 키보드 드라이버에 제공한다(103). 그런 다음, 보안 키보드 드라이버는 키보드를 통해 입력되는 키 스트록 데이터를 내부 버퍼에 저장하고, 입력되는 키 스트록 데이터를 "Null" 값으로 변경하여 시스템 메시지 대기열로 제공한다(104).First, for the present invention, a secure input window controller and a secure keyboard driver should be installed (101). When the keystroke data input window of the application program is clicked in this state (102), the security input window controller generates an encryption key for encryption and decryption and provides it to the secure keyboard driver (103). The secure keyboard driver then stores the keystroke data entered via the keyboard in an internal buffer and changes the entered keystroke data to a "Null" value to provide to the system message queue (104).

또한, 사용자가 현재 패스워드의 입력 상태를 알 수 있도록 하기 위해, 전술한 바와 같이, 보안 키보드 드라이버는 보안 입력창 제어부와 직접적인 통신을 통해 입력창에 특수문자(예를 들어 "*")가 표시되도록 한다(105). 이후 사용자가 확인을 클릭하면(106), 상기 보안 키보드 드라이버는 내부 버퍼에 저장된 키 스트록 데이터를 암호키를 이용해 블록 암호화하여 버퍼링 한다(107). 여기서, 암호화 방식은 하나의 문자에 대한 매칭 방식이 아닌 특정 크기 만큼에 대한 블록 암호화 알고리즘을 사용하며, 상기 암호화 알고리즘으로는 미국기술표준원(NIST)에서 채택한 128비트 AES 암호화 알고리즘이 바람직하다. 보안 입력창 제어부는 보안 키보드 드라이버에 의해 암호화된 키 스트록 데이터를 버퍼로부터 읽어와, 상기 암호키를 이용해 복호화 하여 웹 브라우저와 같은 응용 프로그램에 제공한다(108). 한편, 본 발명에 있어서, 커서가 입력창에 있을 때에만 보안 키보드 드라이버가 동작하며, 커서가 입력창에서 포커스를 잃을 때에는 보안 키보드 드라이버는 동작을 정지하고, 일반 키보드 드라이버 기능을 수행한다.In addition, in order to allow the user to know the current password input state, as described above, the secure keyboard driver may display special characters (eg, "*") in the input window through direct communication with the secure input window control unit. (105). When the user clicks OK (106), the secure keyboard driver blocks and encrypts the keystroke data stored in the internal buffer using an encryption key (107). Here, the encryption method uses a block encryption algorithm for a specific size, not a matching method for one character, and the encryption algorithm is preferably a 128-bit AES encryption algorithm adopted by the National Institute of Standards and Technology (NIST). The security input window controller reads the keystroke data encrypted by the security keyboard driver from the buffer, decrypts the encryption key using the encryption key, and provides the same to an application program such as a web browser (108). Meanwhile, in the present invention, the security keyboard driver operates only when the cursor is in the input window, and when the cursor loses focus in the input window, the security keyboard driver stops the operation and performs a general keyboard driver function.

이상에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.Although the present invention has been described above based on the preferred embodiments, these examples are intended to illustrate rather than limit the invention. It will be apparent to those skilled in the art that various changes, modifications, or adjustments to the above embodiments can be made without departing from the spirit of the invention. Therefore, the protection scope of the present invention will be limited only by the appended claims, and should be construed as including all such changes, modifications or adjustments.

상기와 같은 본 발명에 의하면, 시스템 메시지 대기열에는 'Null'값으로 변경하여 제공하고, 보안 키보드 드라이버와 보안 입력창 제어부 간 직접 통신을 통해 특수문자를 입력창에 표시하며, 실제적인 패스워드 키 값은 블록 암호화를 통해 제공됨으로, 패스워드의 문자 수도 알 수 없을 뿐만 아니라 사용자의 중요한 정보 중의 하나인 패스워드의 해킹을 원천적으로 방지할 수 있는 효과가 있다.According to the present invention as described above, the system message queue is provided by changing to the 'Null' value, and displays the special characters in the input window through direct communication between the secure keyboard driver and the secure input window control unit, the actual password key value Since it is provided through block encryption, not only the number of characters of the password is known, but also hacking of the password, which is one of the important information of the user, can be effectively prevented.

Claims (4)

(삭제)(delete) (삭제)(delete) (정정) 키보드, 보안 키보드 드라이버 및 보안 입력창 제어부가 구비된 컴퓨터 시스템을 이용하여 암호화된 키값을 생성하여 전송시키는 키 스트록 데이터의 해킹 방지방법에 있어서,(Correct) A method for preventing hacking of keystroke data by generating and transmitting an encrypted key value using a computer system equipped with a keyboard, a secure keyboard driver, and a secure input window control unit, 입력창이 클릭되면, 상기 보안 입력창 제어부(5)에서 암호키를 생성하여 상기 보안 키보드 드라이버(2)에 제공하는 제1단계;A first step of generating an encryption key from the security input window controller 5 and providing the security key to the security keyboard driver 2 when the input window is clicked; 상기 보안 키보드 드라이버(2)에서는 키보드(1)를 통해 입력되는 키 스트록 데이터를 내부 버퍼에 저장하고, 시스템 메시지 대기열에는 널(Null)값을 제공하는 제2-1단계;In the secure keyboard driver 2, step 2-1 storing keystroke data input through the keyboard 1 in an internal buffer and providing a null value to a system message queue; 상기 제2-1단계 수행 후, 상기 보안 키보드 드라이버(2)는 상기 보안 입력창 제어부(5)와 직접 통신하여 입력창에 특수문자를 표시하는 제2-2단계;After performing step 2-1, the secure keyboard driver 2 directly communicates with the secure input window controller 5 to display special characters on the input window; 상기 보안 키보드 드라이버(2)에서는 상기 내부 버퍼에 저장된 키 스트록 데이터를 상기 암호키를 이용해 블록 암호화하여 버퍼링하는 제3단계; 및A third step of the secure keyboard driver (2) to block-encrypt the keystroke data stored in the internal buffer by using the encryption key; And 상기 보안 입력창 제어부(5)에서는 상기 암호화된 키 스트록 데이터를 상기 보안 키보드 드라이버(2)로부터 직접 읽어와 상기 암호키를 이용해 복호화하여 응용 프로그램으로 제공하는 제4단계를 포함하는 것을 특징으로 하는 키 스트록 데이터의 해킹 방지 방법.And a fourth step in which the secure input window controller 5 reads the encrypted keystroke data directly from the secure keyboard driver 2, decrypts the encrypted keystroke data using the encryption key, and provides it to an application program. How to prevent hacking of stroke data. (정정) 키보드, 보안 키보드 드라이버 및 보안 입력창 제어부가 구비된 컴퓨터 시스템을 이용하여 암호화된 키값을 생성하여 전송시키는 키 스트록 데이터의 해킹을 방지함에 있어서,(Correct) To prevent hacking of keystroke data that generates and transmits an encrypted key value using a computer system equipped with a keyboard, a secure keyboard driver, and a secure input window control unit, 상기 컴퓨터 시스템에 의해 읽혀져서, 입력창이 클릭됨에 따라 보안 입력창 제어부(5)에서 암호키를 생성하여 상기 보안 키보드 드라이버(2)에 제공하는 제1단계;A first step that is read by the computer system and generates an encryption key from the security input window control unit 5 as the input window is clicked on and provides it to the secure keyboard driver 2; 상기 보안 키보드 드라이버(2)에서는 키보드(1)를 통해 입력되는 키 스트록 데이터를 내부 버퍼에 저장하고, 시스템 메시지 대기열에는 널(Null)값을 제공하는 제2-1단계;In the secure keyboard driver 2, step 2-1 storing keystroke data input through the keyboard 1 in an internal buffer and providing a null value to a system message queue; 상기 제2-1단계 수행 후, 상기 보안 키보드 드라이버(2)는 상기 보안 입력창 제어부(5)와 직접 통신하여 입력창에 특수문자를 표시하는 제2-2단계;After performing step 2-1, the secure keyboard driver 2 directly communicates with the secure input window controller 5 to display special characters on the input window; 상기 보안 키보드 드라이버(2)에서는 상기 내부 버퍼에 저장된 키 스트록 데이터를 상기 암호키를 이용해 블록 암호화하여 버퍼링하는 제3단계; 및A third step of the secure keyboard driver (2) to block-encrypt the keystroke data stored in the internal buffer by using the encryption key; And 상기 보안 입력창 제어부(5)에서는 상기 암호화된 키 스트록 데이터를 상기 보안 키보드 드라이버(2)로부터 직접 읽어와 상기 암호키를 이용해 복호화하여 응용 프로그램으로 제공하는 제4단계가 실행되도록 구성된 프로그램이 기록된 기록매체.The secure input window controller 5 records a program configured to execute a fourth step of reading the encrypted keystroke data directly from the secure keyboard driver 2, decrypting the encrypted keystroke data using the encryption key, and providing the encrypted keystroke data to an application program. Record carrier.
KR10-2002-0043576A 2002-07-24 2002-07-24 Hacking prevention of key stroke data KR100447777B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0043576A KR100447777B1 (en) 2002-07-24 2002-07-24 Hacking prevention of key stroke data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0043576A KR100447777B1 (en) 2002-07-24 2002-07-24 Hacking prevention of key stroke data

Publications (2)

Publication Number Publication Date
KR20040009575A KR20040009575A (en) 2004-01-31
KR100447777B1 true KR100447777B1 (en) 2004-09-08

Family

ID=37318480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0043576A KR100447777B1 (en) 2002-07-24 2002-07-24 Hacking prevention of key stroke data

Country Status (1)

Country Link
KR (1) KR100447777B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774595B2 (en) 2004-02-05 2010-08-10 King Information & Network Computer security apparatus and method using security input device driver

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100735727B1 (en) * 2003-04-24 2007-07-06 테커스 (주) Apparatus and method for hacking protection using virtural data transmission
KR100710032B1 (en) * 2005-02-23 2007-04-25 제이알소프트 주식회사 Method and system that can secure keyboard key stroke using secure input filter driver and keyboard secure input BHO of Internet Explorer in windows operating system
KR100589529B1 (en) * 2005-08-09 2006-06-14 소프트캠프(주) Keyboard in-put information security method through the exceptional handling of debug
KR100734145B1 (en) * 2005-10-12 2007-07-03 주식회사 안철수연구소 Method of protecting hacking of a key input by using authorization of keyboard data
US8566608B2 (en) 2006-02-02 2013-10-22 Strikeforce Technologies, Inc. Methods and apparatus for securing keystrokes from being intercepted between the keyboard and a browser
KR100835224B1 (en) * 2006-07-28 2008-06-05 김진우 Keyboard security method preventing application hooking
WO2010038913A1 (en) * 2008-10-02 2010-04-08 Softcamp Co., Ltd Preservation method about data in ie memory altered without leave
KR101006721B1 (en) 2009-01-20 2011-01-07 킹스정보통신(주) Keyboard input information security apparatus and method thereof
CN109635571A (en) * 2018-10-31 2019-04-16 深圳壹账通智能科技有限公司 Method for secret protection, device, electronic equipment and the computer readable storage medium of website
KR102133902B1 (en) 2019-10-22 2020-07-14 배희진 Secure input device
US11550922B2 (en) * 2020-01-15 2023-01-10 Vmware, Inc. Secure virtual desktops and virtual applications with anti-keylogging capabilities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001010079A1 (en) * 1999-07-29 2001-02-08 Safe Technology Co., Ltd. Adapter having secure function and computer secure system using it
KR20010099090A (en) * 2001-08-29 2001-11-09 남충희 a Anti Keylog Editor of ActiveX base
KR20020048313A (en) * 2002-03-07 2002-06-22 최동성 Method for preventing key board hacking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001010079A1 (en) * 1999-07-29 2001-02-08 Safe Technology Co., Ltd. Adapter having secure function and computer secure system using it
KR20010099090A (en) * 2001-08-29 2001-11-09 남충희 a Anti Keylog Editor of ActiveX base
KR20020048313A (en) * 2002-03-07 2002-06-22 최동성 Method for preventing key board hacking

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774595B2 (en) 2004-02-05 2010-08-10 King Information & Network Computer security apparatus and method using security input device driver

Also Published As

Publication number Publication date
KR20040009575A (en) 2004-01-31

Similar Documents

Publication Publication Date Title
CA2465270C (en) Secure communication with a keyboard or related device
US7353393B2 (en) Authentication receipt
JP2746352B2 (en) Secure security communication system and method for communication by a remotely located computer
US20030159053A1 (en) Secure reconfigurable input device with transaction card reader
US20020066039A1 (en) Anti-spoofing password protection
US20080288776A1 (en) Security method using virtual keyboard
US20030021419A1 (en) Encryption protocol
US20130290718A1 (en) Mobile storage device and the data processing system and method based thereon
JPH0936851A (en) System and method of integrating private key operation from smart card in a transmissive way with host base cryptograph service
JPH09270785A (en) Information processor
JPH01212041A (en) Cryptographic communication system
US6718468B1 (en) Method for associating a password with a secured public/private key pair
KR100447777B1 (en) Hacking prevention of key stroke data
EP1447734A2 (en) Reconfigurable secure input device
KR100996955B1 (en) Security method using virtual keyboard
KR20020048313A (en) Method for preventing key board hacking
KR100500465B1 (en) Computer security system and method using security input device driver
JPH11168460A (en) Cryptographic network system and method
JPH10320478A (en) Ciphered/deciphered communication system and method therefor
CN115941279A (en) Encryption and decryption method, system and equipment for user identification in data
CN111212068B (en) Method for encrypting and decrypting characters by input method
JPH07140896A (en) File ciphering method and its device
JP2001285286A (en) Authentication method, recording medium, authentication system, terminal, and device for generating recording medium for authentication
JP2002247021A (en) Method and device for displaying access limited contents
EP1421548B1 (en) Encryption protocol

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
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: 20130617

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160816

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170816

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 15