KR20090034075A - 커널영역의 키보드 보안을 위한 입력정보 암호화 처리방법 - Google Patents

커널영역의 키보드 보안을 위한 입력정보 암호화 처리방법 Download PDF

Info

Publication number
KR20090034075A
KR20090034075A KR1020070099234A KR20070099234A KR20090034075A KR 20090034075 A KR20090034075 A KR 20090034075A KR 1020070099234 A KR1020070099234 A KR 1020070099234A KR 20070099234 A KR20070099234 A KR 20070099234A KR 20090034075 A KR20090034075 A KR 20090034075A
Authority
KR
South Korea
Prior art keywords
keyboard
input information
port
controller
input
Prior art date
Application number
KR1020070099234A
Other languages
English (en)
Other versions
KR100909891B1 (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 KR1020070099234A priority Critical patent/KR100909891B1/ko
Priority to AU2008307859A priority patent/AU2008307859A1/en
Priority to US12/681,522 priority patent/US8340290B2/en
Priority to JP2010527887A priority patent/JP5032663B2/ja
Priority to PCT/KR2008/005809 priority patent/WO2009045059A2/en
Priority to CN2008801098809A priority patent/CN101816005B/zh
Publication of KR20090034075A publication Critical patent/KR20090034075A/ko
Application granted granted Critical
Publication of KR100909891B1 publication Critical patent/KR100909891B1/ko

Links

Images

Classifications

    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (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

본 발명은 PS/2방식의 키보드에서 8042 키보드 컨트롤러의 인터럽트를 직접 컨트롤하여 키보드 입력정보가 무단유출되는 것을 막는 키보드 입력정보 보안방법에 관한 것으로, 사용자가 입력한 키보드 입력정보를 수신하여 이를 키보드 입출력포트에 기록하는 키보드 컨트롤러와, 키보드 컨트롤러의 인터럽트 발생 요청을 받아 인터럽트 처리함수를 호출하는 인터럽트 컨트롤러와, 상기 키보드 컨트롤러를 제어하는 입력정보 처리모듈과, 입력정보 처리모듈로부터 전송된 키보드 입력정보를 중앙처리장치로 전달하는 키보드 보안모듈을 포함한 키보드 장치에서, 상기 입력정보 처리모듈이 키보드 컨트롤러의 상태정보를 확인하는 상태정보 확인단계; 상기 키보드 컨트롤러의 인터럽트 발생 요청기능을 정지하는 인터럽트 정지단계; 상기 키보드 입출력포트에 기록된 키보드 입력정보를 암호화하는 입력정보 암호화단계; 암호화된 입력정보를 키보드 보안모듈로 전달하는 전달단계; 및 상기 키보드 컨트롤러에 남아 있는 키보드 입력정보를 삭제하는 입력정보 삭제단계를 포함하는 것이다.

Description

키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법{Security method of Keyboard input by directly controling the keyboard controler}
본 발명은 PS/2방식의 키보드에서 8042 키보드 컨트롤러의 인터럽트를 직접 컨트롤하여 키보드 입력정보가 무단유출되는 것을 막는 키보드 입력정보 보안방법에 관한 것이다.
키보드 하드웨어에서 키보드 버튼을 누르면(Key Press Event) 전기적 신호가 발생되어 메인보드(Motherboard)에 설치된 8042 칩셋(Chip Set)으로 전달된다. 이때 키보드 하드웨어의 키들은 모두 회로모양의 배선 교점(matrix) 위에 있기 때문에 키가 눌려졌을 때 전류 변화가 생기는 가로와 세로축의 라인을 조사하여 어느 키가 눌려졌는지 알아낼 수 있다.(도 1 참조)
8042 칩셋을 제어하는 8042 키보드 컨트롤러(Controller)는 중앙처리장치(CPU)로 키보드 입력정보를 전달하거나 중앙처리장치로부터 하드웨어 제어명령(Keyboard Controller Command)을 전달받기 위해 사용하는 양방향의 키보드 입출력 포트(60h, 64h)에 키보드 스캔코드(Keyboard Scan Code) 형태의 키보드 입력정보를 기록하고, 중앙처리장치에게 인터럽트(Interrupt)를 발생시킨다.(도 2 참조)
양방향의 키보드 입출력 포트는 60h와 64h로 구성되어 있으며, 포트 60h는 실제적인 키보드 입력정보 및 하드웨어 제어명령을 처리하고, 포트 64h는 포트 60h에 대한 상태 및 명령을 내리는 용도로 사용한다.
[표 1]은 키보드 입출력 포트의 기능을 분류하여 보인 것이다.
IN Buffer OUT Buffer
60h '중앙처리장치→키보드 입출력포트'로의 하드웨어 제어명령 전달 '키보드 입출력포트→중앙처리장치'로의 키보드 입력정보전송
64h 60h의 상태표시
키보드 스캔코드는 키를 누르는(press) 순간에 발생하는 메이크 코드(Make Code)와 키에서 손을 뗀(release) 순간에 발생하는 브레이크 코드(Break Code)로 구성된다. 만약 키를 계속 누르고 있으면 화면에 연속해서 문자가 출력되는데 이것은 일정키가 눌려져 있을 때 메이크 코드를 연속으로 출력하고 키에서 손을 떼는 순간 브레이크 코드 1개를 출력함으로써 키 반복(Key Repeat) 과정을 끝내게 된다.
인터럽트(Interrupt)란 어떠한 프로세스를 수행하는 도중에 그 일을 잠시 멈추고 중앙처리 장치의 업무처리를 위하여 중앙처리장치의 주위를 끄는 방법을 말한다. 물리적인 키보드 입력으로 인하여 발생한 전기적 신호를 전달받은 8042 키보드 컨트롤러는 8259 칩셋을 제어하는 8259 인터럽트 컨트롤러에게 인터럽트 발생을 요청한다. 8259 인터럽트 컨트롤러는 중앙처리장치에게 해당 인터럽트가 발생했음을 알려주게 되며(Interrupt Request), 중앙처리장치는 해당 인터럽트 처리함수(Interrupt Handler)를 호출하기 위하여 메모리에 적재(load) 되어있는 인터럽트 벡터 테이블(Interrupt Vector Table)을 읽어 발생한 인터럽트에 해당하는 주소 값(Memory Address)을 얻는다. 이 주소값은 인터럽트가 발생될 때 호출되는 함수(일명 '인터럽트 처리함수’또는 '인터럽트 핸들러’)가 저장된 주소값을 나타내는 것으로서, 하드웨어 장치가 중앙처리장치에게 어떠한 연산이나 일을 요구할 때 이 주소의 위치로 이동하여 인터럽트 처리함수를 수행하게 된다.
이상 설명한 바와 같이, 키보드의 입력정보는 커널영역에서 OS로 제어되는 중앙처리장치 및 어플리케이션(유저영역)으로 전달되어 사용자가 의도한 바에 따라 출력 및 처리된다.
그런데, 상기 입력정보 중에는 개인정보 등과 같이 비밀이 보장되어야 할 정보들이 포함될 수 있고, 이러한 입력정보들은 범죄에 악용할 목적으로 해킹의 대상이 되고 있으며, 실제로도 상기 입력정보들은 해킹의 표적이 되어 사용자의 허가없이 무단으로 유출되고 있다. 따라서, 키보드를 통한 정보의 입력과정 중 입력정보를 보호하기 위한 보안시스템이 시급히 요구되는 상황이었다.
이러한 요구에 따라 종래에는 다양한 방식의 보안시스템이 제공되었다.
종래 키보드 보안시스템은 유저영역과 커널영역을 구분하여 동작하는데, 커널영역에서는 키보드 입력정보를 우선적으로 가져와 보안처리하고, 유저영역에서는 커널영역에서 가져온 키보드 입력정보를 보안처리하면서 최종적으로 출력한다.
커널영역에서 이루는 종래 보안방법은, 인터럽트 함수의 IDT 테이블 주소를 변경하거나, 점프코드를 이용해 침입시스템보다 우선적으로 입력정보의 처리가 이루어지도록 하는 보안방법 등이 있었다.
하지만, 커널영역에서 동작하는 종래 보안방법은 운영체제를 기반으로 한 방법이기 때문에 운영체제마다 적용방법이 달라질 수 밖에 없고, 같은 보안방법을 사용했을 경우엔 키보드 입력정보 처리에 대한 우선권이 서로 충돌하는 문제가 있었다. 또한 키보드 컨트롤러(하드웨어)를 직접 공격하는 침입시스템을 막을 수도 없으므로 키보드 입력정보의 완전한 보안이 담보되지 못한다는 문제가 있었다.
이에 본 발명은 상기와 같은 문제를 해소하기 위해 발명된 것으로, 일반적인 컴퓨터의 동작을 총괄하는 OS의 형식과 연동성에 관계없이 키보드를 통해 입력되는 정보를 독립적으로 보안하여 침입시스템보다 우선 처리할 수 있도록 하고, 이를 통해 강력해진 보안성능을 갖는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법의 제공을 기술적 과제로 한다.
상기의 기술적 과제를 달성하기 위하여 본 발명은,
사용자가 입력한 키보드 입력정보를 수신하여 이를 키보드 입출력포트에 기록하는 키보드 컨트롤러와, 키보드 컨트롤러의 인터럽트 발생 요청을 받아 인터럽트 처리함수를 호출하는 인터럽트 컨트롤러와, 상기 키보드 컨트롤러를 제어하는 입력정보 처리모듈과, 입력정보 처리모듈로부터 전송된 키보드 입력정보를 중앙처리장치로 전달하는 키보드 보안모듈을 포함한 키보드 장치에서,
상기 입력정보 처리모듈이 키보드 컨트롤러의 상태정보를 확인하는 상태정보 확인단계;
상기 키보드 컨트롤러의 인터럽트 발생 요청기능을 정지하는 인터럽트 정지단계;
상기 키보드 입출력포트에 기록된 키보드 입력정보를 암호화하는 입력정보 암호화단계;
암호화된 입력정보를 키보드 보안모듈로 전달하는 전달단계; 및
상기 키보드 컨트롤러에 남아 있는 키보드 입력정보를 삭제하는 입력정보 삭제단계;
를 포함하는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법이다.
이상 상기와 같은 본 발명에 따르면, PS/2 키보드 조작을 통해 입력된 키보드 입력정보를 중앙처리장치에서 주목하기 전에 암호화하여 별도 처리할 수 있으므로, OS의 처리과정에 따라야 한다는 제한 없이 적용할 수 있고, 키보드 입력정보를 처리하는 과정 중 최초에 보안작업이 진행되므로 강력한 보안성능을 갖는 효과가 있다.
이하 본 발명을 첨부된 예시도면에 의거하여 상세히 설명한다.
도 3은 본 발명에 따른 키보드 입력정보 보안방법의 동작기반을 이루는 시스템의 모습을 도시한 블록도이고, 도 4는 본 발명에 따른 키보드 입력정보 보안방법을 순차 도시한 플로우차트인 바, 이를 참조하여 설명한다.
본 발명에 따른 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법은, PS/2 키보드를 통해 입력된 입력정보를 보호하고, OS에 영향없이 독립적으로 보안작업을 수행할 수 있도록 된 것이다. 따라서, 본 발명에 따른 키보드 입력정보 보안방법은 PS/2 키보드를 통해 입력된 입력정보를 중앙처리장치가 인식하여 동작하기 전에 본 발명에 따른 키보드 보안모듈로 전송하여서, 입력정보의 견고한 보안을 달성할 수 있도록 한다.
이를 위해, 본 발명에 따른 보안시스템은, 8042 키보드 컨트롤러의 인터럽트 요청기능을 제어하고, 키보드 입력정보를 확인하여 암호화하는 입력정보 처리모듈과, 암호화된 입력정보를 유저영역으로 전달하면서 처리되도록 중개하는 키보드 보안모듈을 포함한다.
본 발명은 다음과 같은 단계를 통해 진행된다.
S11; 키보드컨트롤러의 상태정보 확인단계
본 발명에 따른 보안시스템은, 8042 키보드 컨트롤러가 수신한 전기적 신호인 입력정보를 확인하여 인터럽트를 발생시키는 8259 인터럽트 컨트롤러를 제어하고 상기 입력정보를 확인하여 암호화하는 입력정보 처리모듈과, 암호화된 입력정보를 유저영역으로 전달하면서 처리되도록 중개하는 키보드 보안모듈을 포함한다.
상기 입력정보 처리모듈은 포트 64h를 폴링(일정주기로 확인)하여 그 상태정보를 지속적으로 확인하면서, 키보드 입력이 발생한 경우 포트 60h를 읽어서 해당 키보드 입력정보를 가져온다.
상기 확인단계(S11)는 기존의 상태정보를 변경하지 않고, 원하는 부분인 해당 키보드 입력정보에 해당하는 부분만을 변경하기 위함이다.
상태정보는 포트 64h에 제어명령을 줌으로써 가져올 수 있다.
도 5(8042 키보드 컨트롤러의 제어명령에 대한 설명서)를 통해 설명하면, 포트 64h에 제어명령 0x20(Read Command Byte)을 Write 하면, 포트 60h 에 현재 상태정보가 들어가고, 상기 입력정보 처리모듈은 포트 60h를 Read 하여 현재 8042 키보드 컨트롤러의 상태정보를 가져온다.
도 6은 8042 키보드 컨트롤러의 상태정보에 대한 설명으로, 입력정보 처리모듈은 포트 60h에서 도 6에서 보인 상태정보를 확인할 수 있다.
S12; 키보드 컨트롤러의 인터럽트 정지단계
앞서 설명한 바와 같이, 사용자가 키보드를 조작하면 키보드 하드웨어로부터 전기적 신호가 발생하고, 이 전기적 신호는 8042 키보드 컨트롤러(8042 칩셋)가 수신한다.
한편, 상기 8042 키보드 컨트롤러의 전기적 신호는 키보드 스캔코드 형태로 키보드 입출력포트에 전달되는 한편, 8259 인터럽트 컨트롤러는 키보드 입출력포트에 키보드 스캔코드의 처리를 위한 인터럽트를 발생시켜서 중앙처리장치가 이를 주목할 수 있도록 한다.
따라서, 본 발명에 따른 보안방법은 8042 키보드 컨트롤러가 8259 인터럽트 컨트롤러에 인터럽트 발생을 요청하지 못하도록, 인터럽트 발생 요청기능을 정지시킨다.
8042 키보드 컨트롤러의 인터럽트 요청기능을 정지시키는 것은 제어명령을 통해 도 5(8042 키보드 컨트롤러의 상태정보에 대한 설명서)와 같은 상태정보를 변 경함으로써 이뤄진다.
도 6에서 알 수 있듯이 키보드 컨트롤러의 인터럽트 정보는 INT이므로 INT의 값을 다음과 같이 0으로 하면 키보드 인터럽트가 꺼지면서 8042 키보드 컨트롤러의 인터럽트 요청기능이 정지된다.
① 포트 64h에 제어명령 0x60(Write Command Byte)을 Write한다.
② 포트 60h에 INT를 0으로 하여 Write한다.
S13; 입력정보 입력단계
사용자는 PS/2 키보드를 조작하여 특정 정보를 입력한다. 즉, 사용자는 키보드 하드웨어 조작을 통해 전기적 신호를 발생시키고, 전기적 신호에 대응하는 키보드 스캔코드 형식의 입력정보는 상술한 바와 같이 8042 키보드 컨트롤러를 통해 키보드 입출력포트에 입력된다. 한편, 8042 키보드 컨트롤러의 인터럽트 정지로 인해 인터럽트가 발생하지 않기 때문에 중앙처리장치가 주목하지 않는다.
S14; 입력정보의 보안대상여부 확인단계(S15)
해당 입력정보가 보안대상인지 여부를 확인한다.
사용자가 키보드를 조작하여 입력하는 정보는 그 종류가 다양하고 그 수 또한 매우 많다. 따라서, 이렇게 입력되는 입력정보들 중 보안의 대상이 되는 입력정보를 구별해야 한다.
간단히 예를 들면, 'a', 'b', 'c' 등과 같은 텍스트를 입력할 수 있는 버튼 은 보안대상이고, 'Ctrl', 'Alt' 등과 같은 특수 버튼은 비보안대상으로 설정해 놓으면 보안대상인 'a' 버튼을 입력했을 때는 이를 암호화하여 키보드 보안모듈로 전송하지만, 비보안대상인 'Ctrl' 버튼을 입력했을 때는 암호화하지 않고 원래의 키보드 입력정보 처리과정을 따르는 것이다.
보안대상 여부에 대한 판단기준은 다양한 변형실시가 가능하므로, 본 발명에 따른 보안방법은 특정한 판단기준에 한정되지 않으며, 이하의 청구범위를 벗어나지 않는 한도 내에서 다양하게 변형실시될 수 있다.
S16; 입력정보 암호화단계
상기 보안대상 확인결과, 당해 입력정보가 보안대상으로 확인되면, 상기 입력정보 처리모듈은 입력정보를 암호화한다.
암호화 방법은 매우 다양한 방식이 적용될 수 있으므로, 특정한 암호화 방식에 한정되지 않는다.
S17; 키보드 보안모듈로 전달단계
암호화된 입력정보는 DeviceioControl을 이용해 키보드보안 모듈로 전달된다.
S18; 키보드 컨트롤러의 입력정보 삭제단계
상기 입력정보 처리모듈은 암호화된 키보드 입력정보가 키보드 보안모듈로 전송되면, 8042 키보드 컨트롤러에 있는 키보드 입력정보를 삭제한다. 입력정보의 삭제는 포트 64h에 제어명령 0xd2(Write keyboard buffer)를 Write 하고 포트 60h에 0x00를 Write 하는 것을 통해 이루어진다.
S19; 키보드 컨트롤러 인터럽트 활성화단계
상기 입력정보의 보안대상여부 확인단계(S14)에서 해당 키보드 입력정보가 보안대상이 아닌 것으로 확인되면, 해당 입력정보의 처리가 원래의 키보드 입력정보 처리과정을 따르도록, 정지되어 있던 인터럽트 요청기능을 다시 활성화한다.
인터럽트 요청기능을 활성화하기 위해 입력정보 처리모듈은 포트 64h에 제어명령 0x60(Write Command Byte)을 Write 하고, 포트 60h에 INT를 1로 하여 Write 한다.
S20; 입력정보 입력단계
상기 입력정보 처리모듈은 원래의 키보드 입력정보 처리과정이 정상적으로 진행될 수 있도록, 키보드 컨틀롤러에 키보드 입력정보를 다시 입력한다.
상기 입력정보 처리모듈은 포트 64h에 제어명령 0xd2(Write keyboard buffer)를 Write 하고, 포트 60h 에 키보드 입력정보를 Write 함으로서, 해당 키보드 입력정보를 재입력한다.
이렇게 입력된 비 보안대상인 키보드 입력정보는 키보드 입출력포트로 전달되어 포트 드라이버를 통해 중앙처리장치로 전달되고, 상기 중앙처리장치는 활성화 된 인터럽트에 의해 이를 주목하게 된다.
S21; 보안유지 확인단계
본 발명에 따른 보안시스템에 의한 보안을 계속 진행할지를 확인하여서, 보안유지를 지속할 경우, 상기 키보드컨트롤러의 상태정보 확인단계(S11) 및 키보드 컨트롤러의 인터럽트 정지단계(S12)를 반복 수행하고, 보안유지를 중단할 경우 인터럽트의 활성화상태를 유지한다.
인터럽트 요청기능을 정지하는 것은 앞서 설명한 바와 같이, 포트 64h에 제어명령 0x60(Write Command Byte)을 Write 하고, 포트 60h에 INT를 0으로 하여 Write 함으로서 이루어진다.
또한, 인터럽트 요청기능을 활성화하는 것은 앞서 설명한 바와 같이, 포트 64h에 제어명령 0x60(Write Command Byte)을 Write 하고, 포트 60h에 INT를 1로 하여 Write 함으로서 이루어진다.
도 1은 키보드 하드웨어의 전기신호 발생과정을 개략적으로 도시한 도면이고,
도 2는 PS/2 전용 키보드 컨트롤러의 동작원리를 개략적으로 도시한 도면이고,
도 3은 본 발명에 따른 키보드 입력정보 보안방법의 동작기반을 이루는 시스템의 모습을 도시한 블록도이고,
도 4는 본 발명에 따른 키보드 입력정보 보안방법을 순차 도시한 플로우차트이고,
도 5는 8042 키보드 컨트롤러의 제어명령에 대한 설명서이고,
도 6은 8042 키보드 컨트롤러의 상태정보에 대한 설명서이다.

Claims (6)

  1. 사용자가 입력한 키보드 입력정보를 수신하여 이를 키보드 입출력포트에 기록하는 키보드 컨트롤러와, 키보드 컨트롤러의 인터럽트 발생 요청을 받아 인터럽트 처리함수를 호출하는 인터럽트 컨트롤러와, 상기 키보드 컨트롤러를 제어하는 입력정보 처리모듈과, 입력정보 처리모듈로부터 전송된 키보드 입력정보를 중앙처리장치로 전달하는 키보드 보안모듈을 포함한 키보드 장치에서,
    상기 입력정보 처리모듈이 키보드 컨트롤러의 상태정보를 확인하는 상태정보 확인단계;
    상기 키보드 컨트롤러의 인터럽트 발생 요청기능을 정지하는 인터럽트 정지단계;
    상기 키보드 입출력포트에 기록된 키보드 입력정보를 암호화하는 입력정보 암호화단계;
    암호화된 입력정보를 키보드 보안모듈로 전달하는 전달단계; 및
    상기 키보드 컨트롤러에 남아 있는 키보드 입력정보를 삭제하는 입력정보 삭제단계;
    를 포함하는 것을 특징으로 하는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법.
  2. 제 1 항에 있어서,
    상기 입력정보 암호화단계 이전에, 상기 입력정보 처리모듈이 키보드 입출력포트에 기록된 키보드 입력정보의 보안대상 여부를 확인하고, 보안대상으로 확인되면 상기 입력정보 암호화단계를 진행하도록 하는 보안대상여부 확인단계를 더 포함하는 것을 특징으로 하는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법.
  3. 제 2 항에 있어서,
    상기 보안대상여부 확인단계에서 비 보안대상으로 확인되면, 상기 입력정보 처리모듈이 키보드 컨트롤러가 인터럽트를 요청할 수 있도록 설정하는 인터럽트 활성화단계; 및
    상기 키보드 입출력포트에 기록된 키보드 입력정보를 키보드 컨트롤러에 재입력하는 입력정보 입력단계;
    를 더 포함하는 것을 특징으로 하는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 입력정보 삭제단계는, 상기 입력정보 처리모듈이 상기 포트 64h에 제어명령 0xd2(Write keyboard buffer)를 Write 하고 포트 60h에 0x00를 Write 하는 것을 통해 이루어지는 것;
    을 특징으로 하는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보 안방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 상태정보 확인단계는, 입력정보 처리모듈이 키보드 입출력포트의 포트 64h에 제어명령 0x20(Read Command Byte)을 기록하여 키보드 입출력포트의 포트 60h에 현재 상태정보를 입력하고, 포트 60h를 읽어 현재 키보드 컨트롤러의 상태정보를 가져옴으로서 이루어지고;
    상기 인터럽트 정지단계는, 입력정보 처리모듈이 상기 포트 64h에 제어명령 0x60(Write Command Byte)을 기록하고, 상기 포트 60h에 INT를 0으로 하여 기록함으로서 이루어지는 것;
    을 특징으로 하는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보안방법.
  6. 제 3 항에 있어서,
    상기 인터럽트 활성화단계는, 상기 입력정보 처리모듈이 상기 포트 64h에 제어명령 0x60(Write Command Byte)을 기록하고, 상기 포트 60h에 INT를 1로 기록함으로서 이루어지고;
    상기 입력정보 입력단계는, 상기 포트 64h에 제어명령 0xd2(Write keyboard buffer)를 기록하고, 포트 60h 에 키보드 입력정보를 기록함으로서 이루어지는 것;
    을 특징으로 하는 키보드 컨트롤러의 직접 제어에 의한 키보드 입력정보 보 안방법.
KR1020070099234A 2007-10-02 2007-10-02 커널영역의 키보드 보안을 위한 입력정보 암호화 처리방법 KR100909891B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020070099234A KR100909891B1 (ko) 2007-10-02 2007-10-02 커널영역의 키보드 보안을 위한 입력정보 암호화 처리방법
AU2008307859A AU2008307859A1 (en) 2007-10-02 2008-10-02 Security method of keyboard input by directly controling the keyboard controler
US12/681,522 US8340290B2 (en) 2007-10-02 2008-10-02 Security method of keyboard input directly controlling the keyboard controller
JP2010527887A JP5032663B2 (ja) 2007-10-02 2008-10-02 キーボードコントローラの直接制御によるキーボード入力情報保安方法
PCT/KR2008/005809 WO2009045059A2 (en) 2007-10-02 2008-10-02 Security method of keyboard input by directly controling the keyboard controler
CN2008801098809A CN101816005B (zh) 2007-10-02 2008-10-02 通过直接控制8042键盘控制器确保键盘输入安全方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070099234A KR100909891B1 (ko) 2007-10-02 2007-10-02 커널영역의 키보드 보안을 위한 입력정보 암호화 처리방법

Publications (2)

Publication Number Publication Date
KR20090034075A true KR20090034075A (ko) 2009-04-07
KR100909891B1 KR100909891B1 (ko) 2009-07-31

Family

ID=40526836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070099234A KR100909891B1 (ko) 2007-10-02 2007-10-02 커널영역의 키보드 보안을 위한 입력정보 암호화 처리방법

Country Status (6)

Country Link
US (1) US8340290B2 (ko)
JP (1) JP5032663B2 (ko)
KR (1) KR100909891B1 (ko)
CN (1) CN101816005B (ko)
AU (1) AU2008307859A1 (ko)
WO (1) WO2009045059A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011019167A2 (ko) * 2009-08-10 2011-02-17 주식회사 안철수연구소 블루투스 디바이스의 입력 데이터의 보안 방법과 장치

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101006721B1 (ko) * 2009-01-20 2011-01-07 킹스정보통신(주) 키보드 입력정보 보안장치 및 그 방법
KR100952644B1 (ko) * 2009-04-17 2010-04-13 주식회사 잉카인터넷 키보드 입력데이터의 보안시스템 및 방법
US9477822B1 (en) * 2010-11-03 2016-10-25 Trend Micro Incorporated Secure password entry for accessing remote online services
US8707437B1 (en) * 2011-04-18 2014-04-22 Trend Micro Incorporated Techniques for detecting keyloggers in computer systems
US8954747B2 (en) * 2011-07-01 2015-02-10 Intel Corporation Protecting keystrokes received from a keyboard in a platform containing embedded controllers
US9471799B2 (en) 2014-09-22 2016-10-18 Advanced Micro Devices, Inc. Method for privileged mode based secure input mechanism
FR3026207B1 (fr) * 2014-09-22 2018-08-17 Prove & Run Terminal a affichage securise
US10699033B2 (en) 2017-06-28 2020-06-30 Advanced Micro Devices, Inc. Secure enablement of platform features without user intervention
US10895597B2 (en) 2018-11-21 2021-01-19 Advanced Micro Devices, Inc. Secure coprocessor assisted hardware debugging
US11714891B1 (en) 2019-01-23 2023-08-01 Trend Micro Incorporated Frictionless authentication for logging on a computer service
CN110414225B (zh) * 2019-07-24 2023-05-26 广东魅视科技股份有限公司 一种防hid键盘攻击的系统及方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802318A (en) * 1995-07-25 1998-09-01 Compaq Computer Corporation Universal serial bus keyboard system
US6581162B1 (en) * 1996-12-31 2003-06-17 Compaq Information Technologies Group, L.P. Method for securely creating, storing and using encryption keys in a computer system
US6070204A (en) * 1998-01-06 2000-05-30 Intel Corporation Method and apparatus for using universal serial bus keyboard to control DOS operations
JP3227536B2 (ja) * 1999-10-26 2001-11-12 ジェネティックウェア コーポレーション リミテッド キーボード装置およびそれを用いたパスワード認証方法
US6912663B1 (en) * 1999-12-06 2005-06-28 International Business Machines Corporation Method and system for securing a personal computer bus
KR100378586B1 (ko) * 2001-08-29 2003-04-03 테커스 (주) 엑티브엑스 기반의 키보드 해킹 방지 방법 및 장치
KR20030036276A (ko) * 2003-02-07 2003-05-09 킹스정보통신(주) 보안 입력 디바이스 드라이버를 이용한 컴퓨터 보안시스템
US7243237B2 (en) 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device
WO2005074397A2 (en) * 2004-02-05 2005-08-18 Kings Information & Network Computer security apparatus and method using security input device driver
KR100549645B1 (ko) 2004-11-05 2006-02-06 소프트캠프(주) 키보드로 입력되는 데이터의 보안방법과 이를 구현하는보안시스템
KR100549646B1 (ko) 2005-08-06 2006-02-06 소프트캠프(주) 인터럽트 처리함수 교체에 의한 키보드 입력정보의무단유출을 차단하는 방법
KR100549647B1 (ko) 2005-08-09 2006-02-06 소프트캠프(주) 키보드 입력정보 보안방법
WO2007061147A1 (en) * 2005-11-24 2007-05-31 Softcamp Co., Ltd. Guarding method for input data by usb keyboard and guarding system
CA2571450A1 (en) * 2005-12-21 2007-06-21 Nervo Security Encrypted keyboard
KR20070074897A (ko) * 2006-01-11 2007-07-18 소프트캠프(주) 키보드 입력정보 보안시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011019167A2 (ko) * 2009-08-10 2011-02-17 주식회사 안철수연구소 블루투스 디바이스의 입력 데이터의 보안 방법과 장치
WO2011019167A3 (ko) * 2009-08-10 2011-05-26 주식회사 안철수연구소 블루투스 디바이스의 입력 데이터의 보안 방법과 장치

Also Published As

Publication number Publication date
WO2009045059A2 (en) 2009-04-09
CN101816005B (zh) 2013-11-06
WO2009045059A3 (en) 2009-05-22
JP5032663B2 (ja) 2012-09-26
CN101816005A (zh) 2010-08-25
JP2010541093A (ja) 2010-12-24
US20100228994A1 (en) 2010-09-09
KR100909891B1 (ko) 2009-07-31
AU2008307859A1 (en) 2009-04-09
US8340290B2 (en) 2012-12-25

Similar Documents

Publication Publication Date Title
KR100909891B1 (ko) 커널영역의 키보드 보안을 위한 입력정보 암호화 처리방법
US10061928B2 (en) Security-enhanced computer systems and methods
JP5160722B2 (ja) アクティブx基盤のキーボードハッキング防止入力窓
US5748888A (en) Method and apparatus for providing secure and private keyboard communications in computer systems
US6510521B1 (en) Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
EP2648129B1 (en) Method and apparatus for securing touch input
US20130145475A1 (en) Method and apparatus for securing touch input
US20110131423A1 (en) System and method for securing a user interface
US20090100503A1 (en) Authentication for shared wireless peripherals having an internal memory store for sharing digital content across multiple hosts
JP2005509214A5 (ko)
JPS63124151A (ja) 論理的に安全なプロセツサ・システム
US20050015611A1 (en) Trusted peripheral mechanism
KR100549647B1 (ko) 키보드 입력정보 보안방법
US20180203809A1 (en) Intermediate module for controlling communication between a data processing device and a peripheral device
JPH06103239A (ja) ポータブルコンピュータ
KR100606196B1 (ko) 모바일 플랫폼 트랜잭션을 위한 신뢰 입력
JP2002244757A (ja) 半導体回路
EP3274895B1 (en) System management mode trust establishment for os level drivers
JP3100958B2 (ja) ポータブルコンピュータ
JP3075856B2 (ja) コンピュータ
JP2000099185A (ja) 情報処理装置及び方法、媒体
JPH06102957A (ja) ポータブルコンピュータ
KR20120055134A (ko) 전자 기기 및 전자 기기의 제어 방법
KR20090009649A (ko) 유에스비 키보드 입력 데이터 보안 방법 및 시스템
WO2008029275A2 (en) Authenticated user level data protection of encrypted contents in non-volatile memories

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: 20120713

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130722

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150824

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160804

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190725

Year of fee payment: 11