KR100447777B1 - Hacking prevention of key stroke data - Google Patents
Hacking prevention of key stroke data Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/83—Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block 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
본 발명은 키보드로부터 입력되는 키 스트록(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)
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)
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)
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)
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 |
-
2002
- 2002-07-24 KR KR10-2002-0043576A patent/KR100447777B1/en active IP Right Grant
Patent Citations (3)
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)
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 |