KR20120019614A - 가상화를 이용한 키보드 보안 방법 및 장치 - Google Patents

가상화를 이용한 키보드 보안 방법 및 장치 Download PDF

Info

Publication number
KR20120019614A
KR20120019614A KR1020100082908A KR20100082908A KR20120019614A KR 20120019614 A KR20120019614 A KR 20120019614A KR 1020100082908 A KR1020100082908 A KR 1020100082908A KR 20100082908 A KR20100082908 A KR 20100082908A KR 20120019614 A KR20120019614 A KR 20120019614A
Authority
KR
South Korea
Prior art keywords
keyboard
keyboard security
user
security program
input
Prior art date
Application number
KR1020100082908A
Other languages
English (en)
Other versions
KR101205513B1 (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 KR1020100082908A priority Critical patent/KR101205513B1/ko
Publication of KR20120019614A publication Critical patent/KR20120019614A/ko
Application granted granted Critical
Publication of KR101205513B1 publication Critical patent/KR101205513B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

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

Abstract

본 발명은 가상화를 이용한 키보드 보안 방법 및 장치에 관한 것이다. 본 발명에 따른 방법은 키보드 보안 프로그램을 사용자 단말에 설치하는 단계, 설치된 키보드 보안 프로그램을 키보드 인터럽트 함수로 인터럽트 벡터 테이블에 등록하는 단계, 그리고 키보드 보안 프로그램이 사용자 키 입력을 암호화하는 단계를 포함한다. 본 발명에 의하면 운영체제의 커널이 해킹되더라도 사용자가 입력한 개인정보를 안전하게 전송할 수 있으며, E2E(End to End) 암호화를 지원하여 해킹 프로그램에 의한 개인정보 유출을 보다 안전하게 방지할 수 있다. 한편 컴퓨터의 중앙처리장치에서 제공하는 가상화 기술을 이용함으로써, 본 발명에 따른 보안 프로그램인 하이퍼바이저를 재부팅 없이 바로 실행하여 사용자의 키보드를 키로거로부터 보호할 수 있다.

Description

가상화를 이용한 키보드 보안 방법 및 장치{APPARATUS AND METHOD FOR SECURING KEBOARD USING VIRTUALIZATION}
본 발명은 키보드 보안 방법 및 장치에 관한 것으로, 보다 상세하게는 운영체제가 해킹되더라도 키보드 입력 정보를 안전하게 보호할 수 있는 가상화를 이용한 키보드 보안 방법 및 장치에 관한 것이다.
최근 정보통신 기술발전과 인터넷 사용 보편화로 인터넷을 통한 전자금융거래 및 전자상거래 이용이 확산되고 있다. 하지만 대면확인이 불가능한 온라인 환경의 특수성 때문에 아이디(ID)와 패스워드(Password)에 의한 기초적 인증 방식에서 전자공인인증서와 같은 고도의 인증 방식에 이르기까지 다양한 방법으로 고객의 정당성 여부를 확인하고 있다.
이런 전자금융거래 및 전자상거래에서는 사용자가 입력하는 키보드 입력값을 필수적으로 보호해야 하는 어려움을 겪는다. 악의적인 해커들은 신용정보와 같은 개인정보를 악용하여 금전적인 이득을 취하고자 키로거(key-logger)라고 불리는 해킹툴을 이용하여 사용자가 입력하는 키보드 입력 값을 가로채어 중요한 개인정보를 획득한다. 이러한 해킹 문제를 해결하기 위해서 PC에 바이러스 백신, 스파이웨어 제거 도구 등을 설치하여 키로거 등을 사전에 차단하려고 하지만 이러한 대응 방법은 모두 알려진 공격에 의해서만 효과적으로 동작할 뿐, 새로운 방식의 악의적인 공격에 대해서는 효과적으로 대응할 수 없다.
키보드의 키값을 보호하기 위한 기술이 국내 등록특허 제 10-0549646호(발명의 명칭 : '인터럽트 처리함수 교체에 의한 키보드 입력정보의 무단유출을 차단하는 방법')에 개시되어 있다. 상기 선행특허는 다음과 같은 방법으로 동작한다. a) 키보드 입력 정보 발생 단계로서 사용자가 키보드를 입력하게 되고 키보드는 각각 자판에 상응하는 전기신호로 변환되어 키보드 컨트롤러로 전송한다. b) 인터럽트 발생 단계로서 키보드 컨트롤러는 키보드 입력정보가 발생하게 되면 중앙처리 장치에 알린다. c) 인터럽트 처리함수 주소 안내 단계로서 발생된 인터럽트를 중앙처리장치에서 확인하게 되고, 이에 해당하는 인터럽트 처리함수의 저장 주소를 안내한다. d) 처리함수 분류단계로서 키보드 보안드라이버는 인터럽트 처리함수의 저장주소로 접근하여 해당 처리함수의 데이터를 분석한다. e) JUMP 함수 교체단계로서 인터럽트 처리함수 중 최초 처리함수를 JUMP 함수로 교체한다. f) 교체된 기존 처리함수의 임시저장단계로서 JUMP 함수로 교체된 기존 처리함수는 임시 메모리에 저장한다. g) 키보드 보안 드라이버의 인터럽트 처리함수 실행단계로서, JUMP 함수는 실행될 처리함수를 키보드 보안 드라이버가 설정한 처리함수로 안내한다.
상기 선행특허는 인터럽트 처리함수가 교체되는 문제를 해결하여 키보드 보안 드라이버를 호출하여 안전하게 사용자 입력정보를 암호화하여 서버에 전달하는 것을 목표로 하고 있다. 만약 악의적인 해커가 설치한 키로거가 인터럽트 처리함수가 변경하더라도 상기 선행특허에서는 해당 인터럽트 처리함수를 원래대로 돌려놓음으로써 사용자의 입력정보를 지킬 수 있다. 하지만 운영체제의 커널이 해커에 의해서 해킹이 되어 있을 경우에는 인터럽트 함수를 교체하더라도 커널이 하드웨어 뿐만 아니라 소프트웨어까지 모든 것을 조작할 수 있으므로 단순히 인터럽트 처리함수를 변경하지 못하도록 하는 것은 근본적인 해결책이 되지 않는다. 즉 커널 해킹을 통해서 악의적인 해커는 인터럽트 처리함수 교체를 키보드 보안 프로그램이 못하도록 막을 수 있으며, 키보드 보안 프로그램이 사용하고 있는 메모리 영역 또한 훔쳐볼 수 있으므로 사용자의 개인정보를 지키는 것은 상기의 선행특허로는 불가능하다.
한편 키 입력 해킹 방지 기술이 국내 등록특허 제 0745489호 (발명의 명칭 : '키입력 해킹방지 방법')에 개시되어 있다. 상기 선행특허는 a) 서버가 사용자로부터 개인정보를 입력받기 위해 소정의 웹페이지나 응용 프로그램을 사용자 컴퓨터에게 전송하는 단계; b) 상기 사용자 컴퓨터에 키입력 해킹방지 프로그램이 설치되는 단계; c) 사용자가 웹페이지 상에 구비된 소정의 텍스트 박스에 개인정보를 입력하려는 경우, 키입력 해킹 방지 프로그램에 의해 가상 키보드가 사용자 컴퓨터의 화면에 디스플레이 되는 단계; d) 사용자가 가상 키보드를 통해 소정의 데이터를 입력하는 도중에 가상 키보드의 셔플링 키가 눌렸을 경우, 키입력 해킹 방지 프로그램에 의해 가상 키보드의 키들이 재배열되는 단계로 구성되어 있다.
상기한 바와 같은 단계로 이루어진 선행특허는, 종래와 같이 개인정보를 키보드를 통해서 입력받는 방식이 아닌, 사용자의 컴퓨터 화면에 디스플레이되는 가상 키보드를 통해서 입력받아서, 종래의 키보드를 통한 사용자 입력정보 전달을 마우스로 변경함으로서 키로거와 같은 악의적인 해킹툴을 무력화할 수 있다. 하지만 악의적인 해커에 의해서 운영체제 커널이 해킹된 경우에는 소프트웨어 분만 아니라 하드웨어에 이르는 모든 자원을 훔쳐볼 수 있고 변경할 수 있으므로 개인 정보 보호에 매우 치명적이다. 예컨대 키보드 보안 프로그램이 사용하는 메모리 영역을 훔쳐볼 수 있으며, 마우스의 위치가 어디에 있고, 어디에서 클릭을 하였는지 알 수 있으며, 마우스의 키보드 영역을 재배열한다고 해도 이러한 문제는 전혀 해결되지 않는다.
따라서 본 발명이 해결하려는 과제는 운영체제 커널이 해킹된 경우에도 키보드 입력 정보를 안전하게 보호할 수 있는 가상화를 이용한 키보드 보안 방법 및 장치를 제공하는 것이다.
이러한 기술적 과제를 해결하기 위한 본 발명의 한 실시예에 따른 가상화를 이용한 키보드 보안 방법은 키보드 보안 프로그램을 사용자 단말에 설치하는 단계, 상기 설치된 키보드 보안 프로그램을 키보드 인터럽트 함수로 인터럽트 벡터 테이블에 등록하는 단계, 그리고 상기 키보드 보안 프로그램이 사용자 키 입력을 암호화하는 단계를 포함한다.
상기 방법은 사용자로부터 암호화 시작 키 조합을 입력받는 단계, 그리고 사용자로부터 암호화 종료 키 조합을 입력받는 단계를 더 포함하고, 상기 암호화는 상기 시작 키 조합 입력 및 상기 종료 키 조합 입력 사이에 입력된 사용자 키에 대해 수행될 수 있다.
상기 방법은 상기 암호화된 사용자 키 입력을 상기 사용자 단말의 운영체제에 전달하는 단계, 그리고 상기 키보드 보안 프로그램의 상기 인터럽트 벡터 테이블 등록을 해제하는 단계를 더 포함할 수 있다.
상기 키보드 보안 프로그램은 상기 사용자 키 입력을 PKI(Public Key Infrastructure) 방법을 이용하여 암호화할 수 있다.
상기 키보드 보안 프로그램은 웹 페이지 또는 응용 프로그램과 함께 전송되어 설치될 수 있다.
본 발명의 다른 실시예에 따른 가상화를 이용한 키보드 보안 방법은, 서버에서 키보드 보안 프로그램을 사용자 단말로 전송하는 단계, 상기 전송된 키보드 보안 프로그램을 사용자 단말에 설치하는 단계, 상기 설치된 키보드 보안 프로그램을 키보드 인터럽트 함수로 인터럽트 벡터 테이블에 등록하는 단계, 상기 키보드 보안 프로그램이 사용자 키 입력을 암호화하는 단계, 그리고 상기 암호화된 키 입력을 상기 서버로 전송하는 단계를 포함한다.
본 발명의 실시예에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
본 발명의 다른 실시예에 따른 가상화를 이용한 키보드 보안 시스템은 키보드 보안 프로그램을 사용자 단말기에 전송하여 설치되게 하는 서버를 포함하며, 상기 키보드 보안 프로그램은 키보드 인터럽트 함수로 상기 사용자 단말기의 인터럽트 벡터 테이블에 등록되고, 사용자 키 입력을 암호화한다.
본 발명의 다른 실시예에 따른 가상화를 이용한 키보드 보안 장치는 키보드 보안 프로그램을 사용자 단말에 설치하고, 상기 설치된 키보드 보안 프로그램을 키보드 인터럽트 함수로 인터럽트 벡터 테이블에 등록하는 설치 관리 모듈, 그리고 사용자 키 입력을 암호화하는 암호화 모듈을 포함한다.
상기 장치는 사용자 키를 입력받는 데이터 입출력 모듈을 더 포함하고, 상기 암호화 모듈은 암호화 시작 키 조합 입력 및 암호화 종료 키 조합 입력 사이에 입력된 사용자 키에 대해 암호화를 수행한다.
상기 데이터 입출력 모듈은 상기 암호화된 사용자 키 입력을 상기 사용자 단말의 운영체제에 전달한다.
상기 설치 관리 모듈은 상기 키보드 보안 프로그램의 상기 인터럽트 벡터 테이블 등록을 해제한다.
본 발명에 의하면, 운영체제의 커널이 해킹되더라도 사용자가 입력한 개인정보를 안전하게 전송할 수 있으며, E2E(End to End) 암호화를 지원하여 해킹 프로그램에 의한 개인정보 유출을 보다 안전하게 방지할 수 있다.
한편 컴퓨터의 중앙처리장치에서 제공하는 가상화 기술을 이용함으로써, 본 발명에 따른 보안 프로그램인 하이퍼바이저를 재부팅 없이 바로 실행하여 사용자의 키보드를 키로거로부터 보호할 수 있다.
도 1은 본 발명의 일 실시예에 따른 가상화를 이용한 키보드 보안 시스템을 설명하기 위해 제공되는 도면이다.
도 2는 본 발명의 한 실시예에 따른 가상화를 이용한 키보드 보안 프로그램이 설치된 사용자 단말의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 가상화를 이용한 키보드 보안 방법을 설명하기 위해 제공되는 흐름도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상화를 이용한 키보드 보안 시스템을 설명하기 위해 제공되는 도면이고, 도 2는 본 발명의 한 실시예에 따른 가상화를 이용한 키보드 보안 프로그램이 설치된 사용자 단말의 블록도이다.
도 1을 참고하면, 본 발명의 일 실시예에 따른 가상화를 이용한 키보드 보안 시스템은 서버(100) 및 사용자 단말(200)을 포함할 수 있다.
서버(100)는 통신망(10)을 통해 사용자 단말(200)과 연결되어 사용자 단말(200)로부터 요청되는 각종 서비스를 제공할 수 있으며, 서비스 제공을 위해 사용자 단말(200)로부터 아이디, 비밀번호 등의 개인 정보를 전달받을 수 있다.
서버(100)는 서비스 제공을 위해 필요에 따라 웹 페이지 또는 응용 프로그램을 사용자 단말(200)에 제공할 수 있으며, 특히 본 발명에 따른 서버(100)는 키보드 보안 프로그램을 웹 페이지 또는 응용 프로그램과 함께 제공하여 사용자 단말(200)에 설치되고, 암호화된 사용자 키 입력을 전달받을 수 있다.
사용자 단말(200)은 통신망(10)을 통해 서버(100)와 연결되어 각종 서비스를 제공받을 수 있으며, 개인 정보에 대응하는 사용자 키 입력을 키보드(도시하지 않음)를 통해 입력받아 암호화한 뒤 서버(100)에 전달할 수 있다.
도 2에 도시한 것처럼, 사용자 단말(200)은 키보드(210), 운영 체제(220), 인터럽트 벡터 테이블(230), 응용 프로그램(240), 키보드 보안 프로그램(250)을 포함할 수 있다.
키보드(210)는 사용자로부터 사용자 키 입력을 받을 수 있다.
운영 체제(220)는 사용자 단말(200)의 각종 자원을 효율적으로 관리하고 운영하며, 하드웨어와 사용자 간의 인터페이스를 담당하는 기능을 수행한다. 예컨대 키보드 인터럽트가 발생하면 키보드 인터럽트 함수를 통해 이를 처리하는 기능을 수행한다.
인터럽트 벡터 테이블(230)은 각 인터럽트(Interrupt)와 그에 대응하는 인터럽트 서비스 루틴(Interrupt Service Routine) 함수 사이의 맵핑 정보가 등록되어있다.
응용 프로그램(240)은 서버(100)에서 제공하는 서비스를 사용자가 이용할 수 있도록 하는 목적을 가지고 만들어진 프로그램이다. 예를 들어 응용 프로그램(240)은 서버(100)로부터 웹 페이지 정보를 받아 해당 웹 페이지를 화면에 표시되게 하고 각종 웹 서비스 요청을 서버(100)에 전달하는 웹 브라우저 또는 서버(100)와 연결되어 사용자가 게임을 즐길 수 있도록 하는 게임 프로그램 등을 포함할 수 있다. 응용 프로그램(240)은 서비스 이용을 위해 사용자로부터 입력된 개인 정보를 서버(100)로 전달할 수 있다.
키보드 보안 프로그램(250)은 키보드 인터럽트 등록을 통해 키보드(210)로부터의 사용자 키 입력을 운영 체제(220)보다 먼저 받아서 필요에 따라 암호화한 뒤 운영 체제(220)에 전달하는 기능을 수행한다. 이를 위해 키보드 보안 프로그램(250)은 설치 관리 모듈(251), 암호화 모듈(253) 및 데이터 입출력 모듈(255)을 포함할 수 있다. 키보드 보안 프로그램(250)은 일종의 경량화된 하이퍼바이저(hypervisor)로서 다수의 운영체제를 실행하기 위해서 가상화된 플랫폼을 제공하는 것이 아니라 시스템 부하를 주지 않도록 키보드 보안에 관한 기능만을 수행하도록 구현하는 것이 바람직하다.
설치 관리 모듈(251)은 관리자 모드를 통해 키보드 보안 프로그램(250)을 사용자 단말(200)에 설치하고, 키보드 보안 프로그램(250)을 인터럽트 벡터 테이블(230)에 등록 또는 해제하는 기능을 수행한다.
암호화 모듈(253)은 키보드(210)로부터 전달된 사용자 키 입력을 암호화하는 기능을 수행하며, 실시예에 따라 PKI(Public Key Infrastructure) 방법을 이용하여 사용자 키 입력을 암호화할 수 있다.
데이터 입출력 모듈(255)은 키보드(210)로부터의 사용자 키 입력을 운영 체제(220)로 전달하는 기능을 수행한다. 특히 본 발명에 따른 데이터 입출력 모듈(255)은 사용자로부터 암호화 시작 키 조합이 입력되면 그 후 입력되는 사용자 키 입력을 임시 저장하였다가, 암호화 종료 키 조합이 입력되면 그때까지 임시 저장되었던 사용자 키 입력을 암호화 모듈(253)에서 암호화한 후 운영 체제(220)에 전달한다. 여기서 암호화 시작 키 조합은 예를 들어 "ctrl+pageup"으로 설정되고 암호화 종료 키 조합은 "ctrl+pagedown"으로 설정될 수 있으며, 다른 키 조합이 이용될 수도 있다.
그러면 도 3을 참조하여 본 발명의 일 실시예에 따른 가상화를 이용한 키보드 보안 방법에 대해 자세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 가상화를 이용한 키보드 보안 방법을 설명하기 위해 제공되는 흐름도이다.
도 1 내지 도 3을 참고하면, 먼저 키보드 보안 프로그램(250)을 사용자 단말(200)에 설치한다(S310). 예를 들어, 사용자가 회원 가입 또는 로그인 등, 개인 보안 정보 입력이 필요한 웹 페이지에 접속하면 서버(100)는 해당 웹 페이지와 함께 키보드 보안 프로그램(250)을 전송하여 사용자 단말(200)에 설치되도록 할 수 있다. 키보드 보안 프로그램(250)은 액티브 엑스나 사용자 설치 프로그램을 통해 관리자 모드 상에서 설치될 수 있으며, 실시예에 따라 이동식 저장매체를 이용하여 설치할 수도 있다.
다음으로 키보드 보안 프로그램(250)을 인터럽트 벡터 테이블(230)에 키보드 인터럽트 함수로 등록한다(S320). 이에 의해 키보드 보안 프로그램(250)은 키보드(210)로부터 입력된 사용자 키 입력을 먼저 받아 운영 체제(220)에 전달한다(S340)
한편 사용자로부터 암호화 시작 키 조합이 입력되면(S330-Y), 키보드 보안 프로그램(250)은 그 후 입력되는 사용자 키 입력을 운영 체제(220)에 바로 전달하지 않고 임시 저장한다(S345).
다음으로 사용자로부터 암호화 종료 키 조합이 입력되면(S350-Y), 그때까지 임시 저장되었던 사용자 키 입력을 한꺼번에 암호화한다(S360). 이와 같이 단계(S330) 내지 단계(S360)의 과정을 통해 사용자 키 입력을 한꺼번에 암호화함으로써 사용자 키 입력을 하나 씩 암호화하는 것보다 보안성을 높일 수 있다. 사용자 키 입력을 하나씩 암호화하는 것은 단지 사상되는 형태를 바꾼 매우 단순한 형태이므로 미리 정해진 기간 동안 입력된 사용자 키 입력을 한꺼번에 암호화하는 것이 바람직하다. 한편 암호화는 PKI(Public Key Infrastructure) 방법을 이용할 수 있다.
다음으로 키보드 보안 프로그램(250)은 암호화된 사용자 키 입력을 운영 체제(220)에 전달한다(S370). 보다 자세하게는 키보드 보안 프로그램(250)은 암호화된 사용자 키 입력을 키보드 입력과 동일한 형태로 문자 하나씩 전달하여 운영 체제(220)에서는 사용자가 입력한 평문(Plain Text)으로 인식하도록 한다.
이후 키보드 보안 프로그램(250)은 인터럽트 벡터 테이블(230)에 키보드 인터럽트 함수 등록을 해제하고(S380), 키보드 인터럽트 함수를 운영 체제(220)로 돌려놓는다. 그리고 키보드 보안 프로그램(250)은 모든 사용한 자원을 반납하는 과정을 거친 뒤 종료된다.
한편 암호화된 사용자 키 입력을 입력받은 운영 체제(220)는 이를 응용 프로그램(240)에 전달한다(S390).
마지막으로 응용 프로그램(240)은 암호화된 사용자 키 입력을 서버(100)에 전달한다(S395). 서버(100)는 암호화되어 전달된 사용자 키 입력을 복호화하여 이용할 수 있다.
이와 같은 방법에 의해 운영 체제(220)의 커널이 해킹 되어 있더라도 키보드 보안 프로그램(250)에서 암호화된 텍스트를 운영 체제(220)에 전달하게 되므로 보안이 유지될 수 있다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 앞서 설명한 가상화를 이용한 키보드 보안 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (17)

  1. 키보드 보안 프로그램을 사용자 단말에 설치하는 단계,
    상기 설치된 키보드 보안 프로그램을 키보드 인터럽트 함수로 인터럽트 벡터 테이블에 등록하는 단계, 그리고
    상기 키보드 보안 프로그램이 사용자 키 입력을 암호화하는 단계를 포함하는 가상화를 이용한 키보드 보안 방법.
  2. 제 1 항에서,
    사용자로부터 암호화 시작 키 조합을 입력받는 단계, 그리고
    사용자로부터 암호화 종료 키 조합을 입력받는 단계를 더 포함하고,
    상기 암호화는 상기 시작 키 조합 입력 및 상기 종료 키 조합 입력 사이에 입력된 사용자 키에 대해 수행되는 가상화를 이용한 키보드 보안 방법.
  3. 제 1 항에서,
    상기 암호화된 사용자 키 입력을 상기 사용자 단말의 운영체제에 전달하는 단계, 그리고
    상기 키보드 보안 프로그램의 상기 인터럽트 벡터 테이블 등록을 해제하는 단계를 더 포함하는 가상화를 이용한 키보드 보안 방법.
  4. 제 1 항에서,
    상기 키보드 보안 프로그램은 상기 사용자 키 입력을 PKI(Public Key Infrastructure) 방법을 이용하여 암호화하는 가상화를 이용한 키보드 보안 방법.
  5. 제 1 항에서,
    상기 키보드 보안 프로그램은 웹 페이지 또는 응용 프로그램과 함께 전송되어 설치되는 가상화를 이용한 키보드 보안 방법.
  6. 서버에서 키보드 보안 프로그램을 사용자 단말로 전송하는 단계,
    상기 전송된 키보드 보안 프로그램을 사용자 단말에 설치하는 단계,
    상기 설치된 키보드 보안 프로그램을 키보드 인터럽트 함수로 인터럽트 벡터 테이블에 등록하는 단계,
    상기 키보드 보안 프로그램이 사용자 키 입력을 암호화하는 단계, 그리고
    상기 암호화된 키 입력을 상기 서버로 전송하는 단계를 포함하는 가상화를 이용한 키보드 보안 방법.
  7. 컴퓨터에 제1항 내지 제6항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  8. 키보드 보안 프로그램을 사용자 단말기에 전송하여 설치되게 하는 서버를 포함하며,
    상기 키보드 보안 프로그램은 키보드 인터럽트 함수로 상기 사용자 단말기의 인터럽트 벡터 테이블에 등록되고, 사용자 키 입력을 암호화하는 가상화를 이용한 키보드 보안 시스템.
  9. 제 8 항에서,
    상기 키보드 보안 프로그램은,
    사용자로부터 암호화 시작 키 조합을 입력받고, 사용자로부터 암호화 종료 키 조합을 입력받으며, 상기 암호화는 상기 시작 키 조합 입력 및 상기 종료 키 조합 입력 사이에 입력된 사용자 키에 대해 수행되는 가상화를 이용한 키보드 보안 시스템.
  10. 제 8 항에서,
    상기 키보드 보안 프로그램은,
    상기 암호화된 사용자 키 입력을 상기 사용자 단말의 운영체제에 전달하고, 상기 키보드 보안 프로그램의 상기 인터럽트 벡터 테이블 등록을 해제하는 가상화를 이용한 키보드 보안 시스템.
  11. 제 8 항에서,
    상기 키보드 보안 프로그램은 상기 사용자 키 입력을 PKI 방법을 이용하여 암호화하는 가상화를 이용한 키보드 보안 시스템.
  12. 제 8 항에서,
    상기 서버는 상기 키보드 보안 프로그램을 웹 페이지 또는 응용 프로그램과 함께 전송하여 설치되게 하는 가상화를 이용한 키보드 보안 시스템.
  13. 제 8 항에서,
    상기 서버는 상기 암호화된 키 입력을 전송받는 가상화를 이용한 키보드 보안 시스템.
  14. 키보드 보안 프로그램을 사용자 단말에 설치하고, 상기 설치된 키보드 보안 프로그램을 키보드 인터럽트 함수로 인터럽트 벡터 테이블에 등록하는 설치 관리 모듈, 그리고
    사용자 키 입력을 암호화하는 암호화 모듈을 포함하는 가상화를 이용한 키보드 보안 장치.
  15. 제 14 항에서,
    사용자 키를 입력받는 데이터 입출력 모듈을 더 포함하고,
    상기 암호화 모듈은 암호화 시작 키 조합 입력 및 암호화 종료 키 조합 입력 사이에 입력된 사용자 키에 대해 암호화를 수행하는 가상화를 이용한 키보드 보안 장치.
  16. 제 14 항에서,
    상기 데이터 입출력 모듈은
    상기 암호화된 사용자 키 입력을 상기 사용자 단말의 운영체제에 전달하는 가상화를 이용한 키보드 보안 장치.
  17. 제 14 항에서,
    상기 설치 관리 모듈은,
    상기 키보드 보안 프로그램의 상기 인터럽트 벡터 테이블 등록을 해제하는 가상화를 이용한 키보드 보안 장치.
KR1020100082908A 2010-08-26 2010-08-26 가상화를 이용한 키보드 보안 방법 및 장치 KR101205513B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100082908A KR101205513B1 (ko) 2010-08-26 2010-08-26 가상화를 이용한 키보드 보안 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100082908A KR101205513B1 (ko) 2010-08-26 2010-08-26 가상화를 이용한 키보드 보안 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120019614A true KR20120019614A (ko) 2012-03-07
KR101205513B1 KR101205513B1 (ko) 2012-11-27

Family

ID=46128466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100082908A KR101205513B1 (ko) 2010-08-26 2010-08-26 가상화를 이용한 키보드 보안 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101205513B1 (ko)

Also Published As

Publication number Publication date
KR101205513B1 (ko) 2012-11-27

Similar Documents

Publication Publication Date Title
CN102271037B (zh) 基于在线密钥的密钥保护装置
KR101878149B1 (ko) 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법
US8281364B2 (en) Method and system for performing secure logon input on network
CN101661544B (zh) 在主显示器内提供安全显示窗口的方法和设备
US7996682B2 (en) Secure prompting
JP4838505B2 (ja) 高い保証の実行環境を備えたシステムにおける信頼できるエージェントへの安全な入出力の提供
EP2251810B1 (en) Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
Bamiah et al. Seven deadly threats and vulnerabilities in cloud computing
CN105453034A (zh) 在管理器控制的系统中处理客户事件
US11868450B2 (en) Network and device security system, method, and apparatus
JP5373852B2 (ja) 認証システム及び認証方法
US20160292460A1 (en) Systems, methods and apparatus for secure peripheral communication
KR20080101333A (ko) 가상키보드를 이용한 보안방법
Mosca et al. Cloud security: Services, risks, and a case study on amazon cloud services
Fan et al. An improved vTPM-VM live migration protocol
Khalil et al. TPM-based authentication mechanism for apache hadoop
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
KR101859823B1 (ko) 키 백업을 사용한 랜섬웨어 방지 시스템 및 방법
KR101267875B1 (ko) 가상 키보드를 이용한 메시지 암·복호화 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US9239937B2 (en) Targeted security policy override
KR101205513B1 (ko) 가상화를 이용한 키보드 보안 방법 및 장치
KR20110114990A (ko) 키보드 보안 장치 및 방법
Zheng et al. Secure mobile payment employing trusted computing on trustzone enabled platforms
Hung et al. A QTE-based Solution to Keylogger Attacks
Jung et al. An architecture for virtualization-based trusted execution environment on mobile devices

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 6