KR20120062969A - Security apparatus and method for desktop virtualization - Google Patents

Security apparatus and method for desktop virtualization Download PDF

Info

Publication number
KR20120062969A
KR20120062969A KR1020100123924A KR20100123924A KR20120062969A KR 20120062969 A KR20120062969 A KR 20120062969A KR 1020100123924 A KR1020100123924 A KR 1020100123924A KR 20100123924 A KR20100123924 A KR 20100123924A KR 20120062969 A KR20120062969 A KR 20120062969A
Authority
KR
South Korea
Prior art keywords
input
module
authentication data
virtual machine
interface
Prior art date
Application number
KR1020100123924A
Other languages
Korean (ko)
Other versions
KR101205890B1 (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 KR1020100123924A priority Critical patent/KR101205890B1/en
Publication of KR20120062969A publication Critical patent/KR20120062969A/en
Application granted granted Critical
Publication of KR101205890B1 publication Critical patent/KR101205890B1/en

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

PURPOSE: A security apparatus and a method thereof are provided to maintain security about important data in a desktop virtualization environment by performing direct communication between a hypervisor and an input device. CONSTITUTION: An input module(21) is connected to an operation module(22) and includes authentication data. A VM(Virtual Machine) module(23) is operated by the operation module and authenticates the authentication data. The input module includes a storing unit for storing the authentication data and an input unit(212) for receiving user input. An input interface is connected to the operation module.

Description

데스크탑 가상화를 위한 위한 보안 장치 및 방법{SECURITY APPARATUS AND METHOD FOR DESKTOP VIRTUALIZATION}SECURITY APPARATUS AND METHOD FOR DESKTOP VIRTUALIZATION}

실시예들은 데스크탑 가상화(desktop virtualization)를 위한 보안 장치 및 방법에 관한 것이다. Embodiments relate to a security device and method for desktop virtualization.

가상화 기술이 발전함에 따라, 사용자 개인만의 독립적인 데스크탑 환경을 다양한 컴퓨터에서 유지하기 위해 데스크탑 가상화(desktop virtualization) 기술이 널리 사용되고 있다. 하지만, 공용 컴퓨터와 같이 보안이 보장되지 못한 시스템에서 가상화 데스크탑에 접속을 시도하는 것은 보안 측면에서 위험이 따른다. 가상화 레벨은 가장 높은 권한 모드를 가지고 있기 때문에, 사용자 가상화 환경에 대한 모든 데이터, 메모리 이미지, 이벤트 정보 등을 가로챌 수 있다. 이와 같은 특징으로 인하여 사용자 로그인 정보와 같이 민감한 데이터도 얼마든지 쉽게 중간에 가로챌 수 있기 때문에, 보안 측면에서 많은 위험에 노출되어 있다.As virtualization technology evolves, desktop virtualization technology is widely used to maintain independent desktop environments of users on various computers. However, attempting to access the virtualized desktop from a non-secure system, such as a public computer, poses a security risk. Since the virtualization level has the highest privilege mode, it can intercept all data, memory images, event information, etc. for the user virtualization environment. Because of this feature, sensitive data such as user login information can be easily intercepted, which exposes a lot of security.

도 1은 종래 기술에 따른 데스크탑 가상화 환경을 나타내는 개략적인 블록도이다. 도 1은 개인용 컴퓨터(personal computer; PC)와 같은 일반적인 시스템에서 가상화 데스크탑에 접속하기 위해 로그인하는 경우 발생되는 키 이벤트 처리 과정을 나타낸다. 1 is a schematic block diagram illustrating a desktop virtualization environment according to the prior art. 1 illustrates a key event processing that occurs when a user logs in to access a virtualized desktop in a typical system such as a personal computer (PC).

도 1을 참조하면, 사용자는 입력 장치(11)를 이용하여 키를 입력하며, 입력된 키 값은 PC(12)에서 호스트(host) 운영 체제(Operating System; OS)의 인터럽트(interrupt) 처리기(121)를 통해 하이퍼바이저(hypervisor)(13)로 전달된다. 이와 같은 구조에서는 PC(12)의 호스트 운영 체제에 존재하는 애플리케이션(application)이 하이퍼바이저(13)로 전달되는 키 이벤트 값을 쉽게 후킹(hooking)할 수 있다. 호스트 OS에 악성 애플리케이션(122)이 존재하는 경우, 사용자의 키 입력 값은 후킹되거나 변조되어 하이퍼바이저(13)에 전달된다. 따라서, 호스트 OS에서 안전을 보장하지 못한다면, 하이퍼바이저(13)에서 운영되는 애플리케이션(14)에서 사용되는 키 입력 이벤트 값은 그대로 위험에 노출되며, 로그인 암호와 같은 중요 데이터가 위험에 노출될 수 있다.Referring to FIG. 1, a user inputs a key using the input device 11, and the input key value is an interrupt handler of a host operating system (OS) in the PC 12. 121 is passed to the hypervisor 13. In such a structure, an application existing in the host operating system of the PC 12 may easily hook a key event value delivered to the hypervisor 13. If a malicious application 122 exists in the host OS, the user's key input value is hooked or tampered with and passed to the hypervisor 13. Thus, if the host OS does not guarantee safety, the keystroke event value used in the application 14 running on the hypervisor 13 remains at risk and sensitive data such as login passwords may be at risk. .

본 발명의 일 측면에 따르면, 하이퍼바이저(hypervisor)를 이용한 가상화 기술 기반의 데스크탑 환경을 사용하고자 할 때, 공용 컴퓨터와 같이 호스트(host) 운영 체제(Operating System; OS)에서 보안이 보장되지 않는 컴퓨팅 환경에서도 사용자의 데이터에 대한 보안을 유지할 수 있는 장치 및 방법을 제공할 수 있다. According to an aspect of the present invention, when using a desktop environment based on a virtualization technology using a hypervisor, computing that is not secured in a host operating system (OS) such as a public computer It is possible to provide an apparatus and a method for maintaining security of a user's data even in an environment.

일 실시예에 따른 데스크탑 가상화(desktop virtualization)를 위한 보안 장치는, 운영 모듈에 통신 가능하게 연결되며, 인증 데이터를 포함하는 입력 모듈; 및 상기 운영 모듈에 의해 동작되며, 상기 인증 데이터를 인증하고, 상기 인증 데이터가 인증되는 것에 응답하여 상기 입력 모듈과 직접 통신 가능하게 연결되는 가상 머신 모듈을 포함할 수 있다. According to an embodiment, a security device for desktop virtualization may include: an input module communicatively connected to an operating module and including authentication data; And a virtual machine module operated by the operating module to authenticate the authentication data and to be in direct communication with the input module in response to the authentication data being authenticated.

상기 입력 모듈은, 상기 인증 데이터가 저장되는 저장부; 사용자 입력이 수신되는 입력부; 및 상기 운영 모듈에 통신 가능하게 연결되며, 상기 인증 데이터가 인증되는 것에 응답하여 상기 사용자 입력을 상기 운영 모듈을 통하지 않고 상기 가상 머신 모듈에 전송하도록 구성된 입력 인터페이스를 포함할 수 있다.The input module may include a storage unit for storing the authentication data; An input unit to receive a user input; And an input interface communicatively coupled to the operating module, the input interface configured to transmit the user input to the virtual machine module without passing through the operating module in response to the authentication data being authenticated.

일 실시예에 따른 데스크탑 가상화를 위한 보안 방법은, 인증 데이터를 포함하는 입력 모듈을 운영 모듈에 통신 가능하게 연결시키는 단계; 상기 운영 모듈에 의하여 동작되는 가상 머신 모듈에서 상기 인증 데이터를 인증하는 단계; 및 상기 인증 데이터가 인증되는 것에 응답하여, 상기 입력 모듈 및 상기 가상 머신 모듈을 직접 통신 가능하게 연결시키는 단계를 포함할 수 있다. According to an embodiment, a security method for desktop virtualization may include: communicatively connecting an input module including authentication data to an operating module; Authenticating the authentication data in a virtual machine module operated by the operating module; And in response to the authentication data being authenticated, connecting the input module and the virtual machine module in direct communication.

상기 입력 모듈 및 상기 가상 머신 모듈을 직접 통신 가능하게 연결시키는 단계는, 상기 입력 모듈에 입력된 사용자 입력을 상기 운영 모듈을 통하지 않고 상기 가상 머신 모듈에 전송하는 단계를 포함할 수 있다.The directly connecting the input module and the virtual machine module to each other may include transmitting a user input input to the input module to the virtual machine module without passing through the operating module.

본 발명의 일 측면에 따르면, 종래와 같이 호스트(host) 운영 체제(Operating System; OS) 커널(kernel)의 인터럽트(interrupt) 서비스를 통하여 키 입력 이벤트 값을 전송하는 대신 하이퍼바이저(hypervisor)와 입력 장치 사이에 직접 통신을 수행함으로써, 데스크탑 가상화(desktop virtualization) 환경에서 로그인 암호 등 사용자의 중요 데이터에 대한 보안을 유지할 수 있는 장치 및 방법을 제공할 수 있다.According to an aspect of the present invention, instead of transmitting a key input event value through an interrupt service of a host operating system (OS) kernel, a hypervisor and an input may be input. By performing direct communication between devices, it is possible to provide a device and a method for maintaining security of important data of a user such as a login password in a desktop virtualization environment.

도 1은 종래 기술에 따른 데스크탑 가상화(desktop virtualization) 환경을 나타내는 개략적인 블록도이다.
도 2는 일 실시예에 따른 데스크탑 가상화를 위한 보안 장치를 나타내는 개략적인 블록도이다.
1 is a schematic block diagram illustrating a desktop virtualization environment according to the prior art.
2 is a schematic block diagram illustrating a security device for desktop virtualization according to an embodiment.

이하에서는, 도면을 참조하여 실시예를 구체적으로 설명한다. 그러나, 본 발명이 하기 실시예에 의하여 제한되는 것은 아니다.Hereinafter, embodiments will be described in detail with reference to the drawings. However, the present invention is not limited by the following examples.

도 2는 일 실시예에 따른 데스크탑 가상화(desktop virtualization)를 위한 보안 장치를 나타내는 개략적인 블록도이다. FIG. 2 is a schematic block diagram illustrating a security device for desktop virtualization according to an embodiment. FIG.

도 2를 참조하면, 데스크탑 가상화를 위한 보안 장치는 입력 모듈(21) 및 가상 머신(virtual machine) 모듈(23)을 포함할 수 있다. 입력 모듈(21)은 운영 모듈(22)에 통신 가능하게 연결될 수 있으며, 가상 머신 모듈(23)은 운영 모듈(22)에 의하여 동작될 수 있다. 예를 들어, 운영 모듈(22)은 소정의 호스트(host) 운영 체제(Operating System; OS)에 의하여 동작되는 개인용 컴퓨터(Personal Computer; PC)일 수 있다. 이때, 입력 모듈(21)은 USB(Universal Serial Bus) 인터페이스 등을 통해 운영 모듈(22)에 연결되는 입력 장치일 수 있다. 또한, 가상 머신 모듈(23)은 호스트 OS 상에서 하나 이상의 다른 OS가 동작될 수 있도록 하는 가상화 플랫폼으로서, 하이퍼바이저(hypervisor) 또는 가상 머신 모니터(Virtual Machine Monitor; VMM)로 지칭될 수 있다. Referring to FIG. 2, the security device for desktop virtualization may include an input module 21 and a virtual machine module 23. The input module 21 may be communicatively connected to the operating module 22, and the virtual machine module 23 may be operated by the operating module 22. For example, the operating module 22 may be a personal computer (PC) operated by a predetermined host operating system (OS). In this case, the input module 21 may be an input device connected to the operation module 22 through a universal serial bus (USB) interface or the like. In addition, the virtual machine module 23 may be referred to as a hypervisor or a virtual machine monitor (VMM) as a virtualization platform that enables one or more other OSs to operate on the host OS.

통상적으로 입력 모듈(21)에 입력된 사용자 입력은, 운영 모듈(22)의 호스트 OS에서 인터럽트(interrupt) 처리기(221)를 통해 가상 머신 모듈(23)로 전달될 수 있다. 사용자 입력은 가상 머신 모듈(23)에 의해 동작되는 애플리케이션(24)에서 사용되기 위한 데이터로서, 예컨대 사용자의 로그인 아이디 및 암호 등을 포함할 수 있다. 그러나, 운영 모듈(22)의 호스트 OS에 악성 애플리케이션(application)(222)이 존재하는 경우, 사용자 입력에 대응되는 키 입력 이벤트 값을 악성 애플리케이션(222)이 후킹(hooking)하여 사용자 입력이 위험에 노출될 가능성이 있다. Typically, the user input input to the input module 21 may be transmitted to the virtual machine module 23 through the interrupt processor 221 in the host OS of the operating module 22. The user input is data for use in the application 24 operated by the virtual machine module 23 and may include, for example, a user's login ID and password. However, when a malicious application 222 is present in the host OS of the operation module 22, the malicious application 222 hooks a key input event value corresponding to the user input and the user input is at risk. There is a possibility of exposure.

이러한 문제점을 해결하기 위하여, 본 발명의 실시예들에서는 소정의 인증 과정을 거쳐 입력 모듈(21)이 가상 머신 모듈(23)과 직접 통신 가능하게 연결되며, 따라서 입력 모듈(21)에 입력된 사용자 입력은 운영 모듈(22)의 인터럽트 처리기(221)를 통하지 않고 바로 가상 머신 모듈(23)로 전달될 수 있다. 따라서, 운영 모듈(22)의 호스트 OS에 악성 애플리케이션(222)이 존재하는 경우에도 사용자가 입력이 위험에 노출되는 것을 방지할 수 있다. 이하에서 보다 상세히 설명한다. In order to solve this problem, in the embodiments of the present invention, the input module 21 is directly connected to the virtual machine module 23 through a predetermined authentication process, and thus a user inputted to the input module 21. The input can be passed directly to the virtual machine module 23 without passing through the interrupt handler 221 of the operating module 22. Therefore, even when a malicious application 222 exists in the host OS of the operation module 22, the user may be prevented from exposing an input to a risk. It will be described in more detail below.

본 명세서에 기술된 실시예는 전적으로 하드웨어이거나, 부분적으로 하드웨어이고 부분적으로 소프트웨어이거나, 또는 전적으로 소프트웨어인 측면을 가질 수 있다. 본 명세서에서 "부", "장치", "모듈", "인터페이스" 또는 "시스템" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등 컴퓨터 관련 엔티티(entity)를 지칭한다. 예를 들어, 본 명세서에서 부, 장치, 모듈, 인터페이스 또는 시스템 등은 실행중인 프로세스, 프로세서, 객체, 실행 파일(executable), 실행 스레드(thread of execution), 프로그램, 및/또는 컴퓨터일 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 컴퓨터에서 실행중인 애플리케이션(application) 및 컴퓨터의 양쪽이 모두 본 명세서의 부, 장치, 모듈, 인터페이스 또는 시스템에 해당할 수 있다. Embodiments described herein may have aspects that are wholly hardware, partly hardware and partly software, or wholly software. As used herein, “unit”, “apparatus”, “module”, “interface” or “system” and the like refer to hardware, a combination of hardware and software, or a computer related entity such as software. For example, a part, device, module, interface, or system herein may be a running process, processor, object, executable, thread of execution, program, and / or computer, It is not limited to this. For example, both an application running on a computer and a computer may correspond to a part, device, module, interface, or system herein.

일 실시예에서, 입력 모듈(21)은 저장부(211), 입력부(212) 및 입력 인터페이스(213)를 포함할 수 있다. 저장부(211)는, 입력 모듈(21)이 운영 모듈(22)에 연결되었을 때, 입력 모듈(21)이 보안을 요하는 장치인지 여부를 가상 머신 모듈(23)에서 판단하기 위한 소정의 인증 데이터를 저장할 수 있다. 인증 데이터는 사용자 개인을 증명할 수 있는 암호화된 키 값 또는 인증서 등일 수 있다. 일 실시예에서, 저장부(211)는 플래시 메모리(flash memory) 또는 다른 적당한 저장 매체로 이루어지는 저장 공간일 수 있다.In one embodiment, the input module 21 may include a storage unit 211, an input unit 212, and an input interface 213. When the input module 21 is connected to the operation module 22, the storage unit 211 is configured to determine whether the virtual machine module 23 determines whether the input module 21 is a device requiring security. Data can be saved. The authentication data may be an encrypted key value or a certificate that can prove a user's individual. In one embodiment, the storage unit 211 may be a storage space consisting of flash memory or other suitable storage medium.

입력부(212)는 사용자의 입력이 이루어지는 입력 장치이다. 예를 들어, 입력부(212)는 물리적인 키보드(keyboard), 스마트 폰(smart phone) 등에서 사용되는 터치스크린(touchscreen)을 이용한 터치 키보드, 또는 다른 적당한 입력 장치를 하나 이상 포함할 수 있다. 사용자가 입력부(212)를 통하여 키를 입력하면, 사용자 입력 키에 대응되는 키 입력 이벤트 값이 입력 인터페이스(213)를 통하여 운영 모듈(22)의 호스트 OS로 전달될 수 있다. The input unit 212 is an input device through which a user's input is made. For example, the input unit 212 may include one or more touch keyboards using a touch screen used in a physical keyboard, a smart phone, or the like, or another suitable input device. When a user inputs a key through the input unit 212, a key input event value corresponding to the user input key may be transmitted to the host OS of the operation module 22 through the input interface 213.

일 실시예에서, 입력 모듈(21)은 통신 인터페이스(214)를 더 포함할 수도 있다. 통신 인터페이스(214)는 입력부(212)와 입력 인터페이스(213) 간에 유선 및/또는 무선으로 데이터의 송수신이 가능하도록 이들을 통신 연결할 수 있다. 예를 들어, 통신 인터페이스(214)는 USB 인터페이스 등의 유선 통신 인터페이스, 및/또는 RF(Radio Frequency) 통신 인터페이스나 블루투스(Bluetooth) 인터페이스 등의 무선 통신 인터페이스일 수 있다. 이 경우 입력부(212)에 입력된 사용자 입력이 통신 인터페이스(214)를 통해 유선 및/또는 무선으로 입력 인터페이스(213)에 전송될 수 있다. 그러나 전술한 통신 인터페이스(214)의 형태는 예시적인 것으로서, 통신 인터페이스(214)로는 현존하거나 향후 개발될 다른 다양한 인터페이스가 채용될 수도 있다. 또한, 입력 모듈(21)에서 저장부(211), 입력부(212), 입력 인터페이스(213) 및/또는 통신 인터페이스(214) 중 하나 이상의 컴포넌트는 단일 장치 내에 집적화된 형태로 구현될 수도 있다.In one embodiment, the input module 21 may further include a communication interface 214. The communication interface 214 may connect the communication unit 212 so that data can be transmitted and received between the input unit 212 and the input interface 213 by wire and / or wirelessly. For example, the communication interface 214 may be a wired communication interface such as a USB interface and / or a wireless communication interface such as a radio frequency (RF) communication interface or a Bluetooth interface. In this case, the user input input to the input unit 212 may be transmitted to the input interface 213 by wire and / or wirelessly through the communication interface 214. However, the form of communication interface 214 described above is exemplary, and as the communication interface 214, various other interfaces existing or to be developed in the future may be employed. In addition, one or more components of the storage unit 211, the input unit 212, the input interface 213, and / or the communication interface 214 in the input module 21 may be implemented in an integrated form in a single device.

입력 인터페이스(213)는 사용자 입력 및/또는 인증 데이터를 운영 모듈(22)에 전달할 수 있도록 운영 모듈(22)과 통신을 수행하는 부분이다. 일 실시예에서, 입력 인터페이스(213)는 USB 인터페이스일 수 있다. 즉, 입력 인터페이스(213)는 USB 커넥터(connector) 등의 하드웨어 장치 및 상기 하드웨어 장치를 통하여 운영 모듈(22)에 데이터를 전송하기 위한 USB 드라이버 등의 운용 소프트웨어를 포함할 수 있다. The input interface 213 communicates with the operation module 22 to transmit user input and / or authentication data to the operation module 22. In one embodiment, the input interface 213 may be a USB interface. That is, the input interface 213 may include a hardware device such as a USB connector and operating software such as a USB driver for transmitting data to the operating module 22 through the hardware device.

가상 머신 모듈(23)은 운영 모듈(22)의 호스트 OS상에서 실행되며, 호스트 OS상에서 하나 이상의 OS를 운용하기 위한 애플리케이션일 수 있다. 예를 들어, 가상 머신 모듈(23)은 VMWare, Xen 등의 소프트웨어를 포함할 수 있으나 이에 한정되는 것은 아니다. 가상 머신 모듈(23)을 이용하여 호스트 OS상에서 하나 이상의 게스트(Guest) OS 및 상기 게스트 OS상에서 동작되는 하나 이상의 애플리케이션을 실행시킬 수 있다. 도 2에서 애플리케이션(24)은 가상 머신 모듈(23)에 의하여 실행되는 게스트 OS 및 게스트 OS상의 애플리케이션을 설명을 편의를 위해 단일 블록으로 나타낸 것이다. The virtual machine module 23 is executed on the host OS of the operation module 22 and may be an application for operating one or more OSs on the host OS. For example, the virtual machine module 23 may include software such as VMWare, Xen, but is not limited thereto. The virtual machine module 23 may be used to run one or more guest OSs and one or more applications running on the guest OS on the host OS. In FIG. 2, the application 24 depicts a guest OS executed by the virtual machine module 23 and an application on the guest OS in a single block for convenience.

이상과 같이 구성된 본 발명의 실시예에 따른 데스크탑 가상화를 위한 보안 장치의 동작을 설명하면 다음과 같다. Referring to the operation of the security device for desktop virtualization according to an embodiment of the present invention configured as described above are as follows.

입력 모듈(21)이 입력 인터페이스(213)를 통해 운영 모듈(22)에 연결되면, 가상 머신 모듈(23)은 먼저 입력 모듈(21)이 보안을 요하는 장치인지 판단할 수 있다. 이를 위하여, 가상 머신 모듈(23)은 입력 모듈(21)의 저장부(211)에 저장된 인증 데이터를 인증할 수 있다. 인증 데이터의 인증은 입력 모듈(21)이 운영 모듈(22)에 연결되는 것에 응답하여 자동으로 이루어질 수도 있으며, 또는 특정 사용자 입력에 응답하여 수동으로 이루어질 수도 있다. 예를 들어, 통상 동작 상태에서는 운영 모듈(22)의 인터럽트 처리기(221)를 통해 사용자의 키 입력을 처리하다가, 사용자가 특정 키 조합(예컨대, ALT+CTRL+p)을 입력하는 것에 응답하여 가상 머신 모듈(23)에서 인증 데이터를 인증할 수 있다. When the input module 21 is connected to the operating module 22 through the input interface 213, the virtual machine module 23 may first determine whether the input module 21 is a device requiring security. To this end, the virtual machine module 23 may authenticate the authentication data stored in the storage unit 211 of the input module 21. The authentication of the authentication data may be automatic in response to the input module 21 being connected to the operating module 22, or may be performed manually in response to a specific user input. For example, in the normal operation state, the user's key input is processed through the interrupt handler 221 of the operation module 22, and then the user responds to a specific key combination (for example, ALT + CTRL + p). The authentication data can be authenticated by the machine module 23.

인증 데이터의 인증 과정은 암호화 기술에 기반한 다양한 방법으로 수행될 수 있으며, 특정 방법에 한정되지 않는다. 예를 들어, 인증 과정은 사용자가 미리 설정된 암호를 입력하는 방법 및/또는 인증서와 같은 파일을 통한 인증 방법 등에 의해 수행될 수 있다. The authentication process of the authentication data may be performed in various ways based on encryption technology, and is not limited to a specific method. For example, the authentication process may be performed by a user inputting a preset password and / or an authentication method through a file such as a certificate.

인증 작업이 완료되면, 가상 머신 모듈(23)은 입력 모듈(21)과 통신 연결되어, 운영 모듈(22)의 인터럽트 처리기(221)를 통하지 않고 입력 모듈(21)의 입력 인터페이스(213)로부터 직접 키 입력 이벤트 값을 수신할 수 있다. 이를 위하여, 가상 머신 모듈(23)은 장치 드라이버 또는 에이전트(agent) 소프트웨어 등의 애플리케이션을 입력 모듈(21)의 저장부(211)에 설치할 수 있다. 또는, 가상 머신 모듈(23)은 입력 모듈(21)과의 통신을 위한 애플리케이션을 운영 모듈(22) 내에 설치하되, 해당 애플리케이션이 입력 이벤트 값을 호스트 OS의 인터럽트 처리기(221)를 통하지 않고 가상 머신 모듈(23)에 바로 전송하도록 구현될 수도 있다. 그 결과, 입력 모듈(21)을 통해 입력 이벤트 값들은 프로세스간 통신(Inter Process Communication; IPC)을 통해 가상 머신 모듈(23)로 전달될 수 있다. When the authentication operation is completed, the virtual machine module 23 is in communication with the input module 21, directly from the input interface 213 of the input module 21 without going through the interrupt handler 221 of the operating module 22 Receive a key input event value. To this end, the virtual machine module 23 may install an application such as a device driver or agent software in the storage 211 of the input module 21. Alternatively, the virtual machine module 23 installs an application for communication with the input module 21 in the operation module 22, but the application does not send the input event value to the virtual machine without passing through the interrupt handler 221 of the host OS. It may also be implemented to send directly to the module 23. As a result, the input event values may be transmitted to the virtual machine module 23 through Inter Process Communication (IPC) through the input module 21.

사용자 입력이 운영 모듈(22)을 통하지 않고 입력 모듈(21)로부터 직접 가상 머신 모듈(23)로 전송되기 때문에, 운영 모듈(22)의 호스트 OS에 악성 애플리케이션(222)이 존재하는 경우에도 악성 애플리케이션(222)이 키 입력 이벤트 값을 가로채는 것이 불가능하게 된다. Since user input is sent from the input module 21 directly to the virtual machine module 23 rather than through the operating module 22, even if a malicious application 222 exists in the host OS of the operating module 22, the malicious application. It is impossible for 222 to intercept the keystroke event value.

가상 머신 모듈(23)은 인증 데이터가 인증된 후 입력되는 모든 사용자 입력을 입력 모듈(21)로부터 직접 수신하거나, 또는 사용자에 의하여 입력 종료를 지시하는 특정 키 조합이 입력될 때까지만 사용자 입력을 입력 모듈(21)로부터 직접 수신할 수 있다. The virtual machine module 23 receives all user inputs directly input from the input module 21 after authentication data is authenticated, or inputs user inputs only until a specific key combination indicating input termination by the user is input. Receive directly from module 21.

일 실시예에서, 사용자는 특정 키 조합(예컨대, ALT+CTRL+P)을 통하여 보안이 이루어져야 할 입력의 시작 및/또는 끝을 지시할 수 있다. 예를 들어, 사용자는 항상 보안이 이루어지는 대신 로그인 아이디 및 암호를 입력하는 시점과 같이 중요 데이터의 입력이 이루어지는 시점에만 보안이 이루어지도록 할 수도 있다. 즉, 특정 키 조합이 입력되는 것에 응답하여 가상 머신 모듈(23)에 의한 인증 데이터의 인증이 개시되며, 인증이 이루어진 후의 사용자 입력은 입력 모듈(21)로부터 가상 머신 모듈(23)로 직접 전송될 수 있다. 또한, 입력 모듈(21)과 가상 머신 모듈(23)이 직접 통신 연결된 상태에서 다시 특정 키 조합이 입력되는 것에 응답하여 입력 모듈(21)과 가상 머신 모듈(23) 사이의 통신이 해제될 수 있으며, 그 결과 운영 모듈(22)의 인터럽트 처리기(222)에 의해 입력 모듈(21)의 키 입력이 처리되는 통상의 상태로 돌아갈 수 있다.In one embodiment, the user may indicate the start and / or end of the input to be secured through a specific key combination (eg, ALT + CTRL + P). For example, the user may ensure security only at the time of inputting important data, such as when a login ID and password are input instead of always being secure. That is, the authentication of the authentication data by the virtual machine module 23 is initiated in response to the input of a specific key combination, and the user input after authentication is transmitted from the input module 21 to the virtual machine module 23 directly. Can be. In addition, the communication between the input module 21 and the virtual machine module 23 may be released in response to a specific key combination being input again while the input module 21 and the virtual machine module 23 are directly connected to each other. As a result, the interrupt handler 222 of the operating module 22 may return to the normal state where the key input of the input module 21 is processed.

본 명세서에 기술된 데스크탑 가상화를 위한 보안 장치 및 방법, 또는 이들의 어떤 측면이나 부분은, 플로피 디스켓, CD-ROM, DVD, 하드 드라이브, 또는 기타 임의의 컴퓨터로 판독 가능한 기록 매체와 같은 유형 매체에 포함된 프로그램 코드(즉, 명령어)의 형태로 구현될 수도 있다. 상기 프로그램 코드는 컴퓨터와 같은 장치에 로드되어 실행되며, 이때 상기 장치가 본 발명을 실시하기 위한 장치에 해당된다. Security devices and methods, or any aspect or portion thereof, for desktop virtualization described herein may be stored on tangible media, such as floppy diskettes, CD-ROMs, DVDs, hard drives, or any other computer-readable recording media. It may be implemented in the form of included program code (ie, instructions). The program code is loaded and executed in a device such as a computer, wherein the device corresponds to a device for practicing the present invention.

이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention described above has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and variations may be made therefrom. However, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

Claims (11)

운영 모듈에 통신 가능하게 연결되며, 인증 데이터를 포함하는 입력 모듈; 및
상기 운영 모듈에 의해 동작되며, 상기 인증 데이터를 인증하고, 상기 인증 데이터가 인증되는 것에 응답하여 상기 입력 모듈과 직접 통신 가능하게 연결되는 가상 머신 모듈을 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 장치.
An input module communicatively coupled to the operating module and including authentication data; And
And a virtual machine module operated by the operating module and configured to authenticate the authentication data and to be in direct communication with the input module in response to the authentication data being authenticated. .
제 1항에 있어서,
상기 입력 모듈은,
상기 인증 데이터가 저장되는 저장부;
사용자 입력이 수신되는 입력부; 및
상기 운영 모듈에 통신 가능하게 연결되며, 상기 인증 데이터가 인증되는 것에 응답하여 상기 사용자 입력을 상기 운영 모듈을 통하지 않고 상기 가상 머신 모듈에 전송하도록 구성된 입력 인터페이스를 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 장치.
The method of claim 1,
The input module,
A storage unit for storing the authentication data;
An input unit to receive a user input; And
And an input interface communicatively coupled to the operating module, the input interface configured to transmit the user input to the virtual machine module without passing through the operating module in response to the authentication data being authenticated. Security device.
제 2항에 있어서,
상기 입력 인터페이스는 USB 인터페이스인 것을 특징으로 하는 데스크탑 가상화를 위한 보안 장치.
The method of claim 2,
The input interface is a security device for desktop virtualization, characterized in that the USB interface.
제 2항에 있어서,
상기 입력 모듈은, 상기 사용자 입력을 상기 입력부로부터 상기 입력 인터페이스로 전송하도록 구성된 통신 인터페이스를 더 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 장치.
The method of claim 2,
The input module further comprises a communication interface configured to transmit the user input from the input to the input interface.
제 4항에 있어서,
상기 통신 인터페이스는 유선 통신 인터페이스 및 무선 통신 인터페이스 중 하나 이상을 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 장치.
The method of claim 4, wherein
The communication interface includes at least one of a wired communication interface and a wireless communication interface.
제 1항에 있어서,
상기 가상 머신 모듈은, 상기 입력 모듈에 미리 설정된 사용자 입력이 입력되는 것에 응답하여 상기 인증 데이터를 인증하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 장치.
The method of claim 1,
The virtual machine module may be configured to authenticate the authentication data in response to input of a preset user input to the input module.
제 1항에 있어서,
상기 인증 데이터가 인증된 후, 상기 입력 모듈에 미리 설정된 사용자 입력이 입력되는 것에 응답하여 상기 입력 모듈 및 상기 가상 머신 모듈 사이의 통신 연결을 해제하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 장치.
The method of claim 1,
And after the authentication data is authenticated, canceling a communication connection between the input module and the virtual machine module in response to a preset user input being input to the input module.
인증 데이터를 포함하는 입력 모듈을 운영 모듈에 통신 가능하게 연결시키는 단계;
상기 운영 모듈에 의하여 동작되는 가상 머신 모듈에서 상기 인증 데이터를 인증하는 단계; 및
상기 인증 데이터가 인증되는 것에 응답하여, 상기 입력 모듈 및 상기 가상 머신 모듈을 직접 통신 가능하게 연결시키는 단계를 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 방법.
Communicatively connecting an input module comprising authentication data to an operating module;
Authenticating the authentication data in a virtual machine module operated by the operating module; And
In response to the authentication data being authenticated, connecting the input module and the virtual machine module to enable direct communication.
제 8항에 있어서,
상기 입력 모듈 및 상기 가상 머신 모듈을 직접 통신 가능하게 연결시키는 단계는, 상기 입력 모듈에 입력된 사용자 입력을 상기 운영 모듈을 통하지 않고 상기 가상 머신 모듈에 전송하는 단계를 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 방법.
The method of claim 8,
Directly connecting the input module and the virtual machine module to communicate with each other may include transmitting a user input input to the input module to the virtual machine module without passing through the operating module. Security method for
제 8항에 있어서,
상기 인증 데이터를 인증하는 단계는,
상기 입력 모듈에서 미리 설정된 사용자 입력을 수신하는 단계; 및
상기 미리 설정된 사용자 입력이 수신되는 것에 응답하여, 상기 인증 데이터의 인증을 개시하는 단계를 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 방법.
The method of claim 8,
Authenticating the authentication data,
Receiving a preset user input at the input module; And
In response to receiving the preset user input, initiating authentication of the authentication data.
제 8항에 있어서,
상기 인증 데이터가 인증된 후 상기 입력 모듈에서 미리 설정된 사용자 입력을 수신하는 단계; 및
상기 미리 설정된 사용자 입력이 수신되는 것에 응답하여, 상기 가상 머신 모듈 및 상기 입력 모듈 사이의 통신 연결을 해제하는 단계를 더 포함하는 것을 특징으로 하는 데스크탑 가상화를 위한 보안 방법.
The method of claim 8,
Receiving a preset user input in the input module after the authentication data is authenticated; And
In response to receiving the predetermined user input, releasing a communication connection between the virtual machine module and the input module.
KR1020100123924A 2010-12-07 2010-12-07 Security apparatus and method for desktop virtualization KR101205890B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100123924A KR101205890B1 (en) 2010-12-07 2010-12-07 Security apparatus and method for desktop virtualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100123924A KR101205890B1 (en) 2010-12-07 2010-12-07 Security apparatus and method for desktop virtualization

Publications (2)

Publication Number Publication Date
KR20120062969A true KR20120062969A (en) 2012-06-15
KR101205890B1 KR101205890B1 (en) 2012-11-28

Family

ID=46683579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100123924A KR101205890B1 (en) 2010-12-07 2010-12-07 Security apparatus and method for desktop virtualization

Country Status (1)

Country Link
KR (1) KR101205890B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103996003A (en) * 2014-05-20 2014-08-20 金航数码科技有限责任公司 Data wiping system in virtualization environment and method thereof
KR20150045669A (en) * 2013-10-21 2015-04-29 한국전자통신연구원 Appratus for a virtual desktop service and method thereof
US9674143B2 (en) 2014-05-09 2017-06-06 Electronics And Telecommunications Research Institute Security control apparatus and method for cloud-based virtual desktop
CN109150863A (en) * 2018-07-31 2019-01-04 华为技术有限公司 Access control method, device and the desktop cloud terminal equipment of desktop cloud

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150045669A (en) * 2013-10-21 2015-04-29 한국전자통신연구원 Appratus for a virtual desktop service and method thereof
US9674143B2 (en) 2014-05-09 2017-06-06 Electronics And Telecommunications Research Institute Security control apparatus and method for cloud-based virtual desktop
CN103996003A (en) * 2014-05-20 2014-08-20 金航数码科技有限责任公司 Data wiping system in virtualization environment and method thereof
CN109150863A (en) * 2018-07-31 2019-01-04 华为技术有限公司 Access control method, device and the desktop cloud terminal equipment of desktop cloud
CN109150863B (en) * 2018-07-31 2020-10-09 华为技术有限公司 Desktop cloud access control method and device and desktop cloud terminal equipment

Also Published As

Publication number Publication date
KR101205890B1 (en) 2012-11-28

Similar Documents

Publication Publication Date Title
US10152600B2 (en) Methods and systems to measure a hypervisor after the hypervisor has already been measured and booted
US9495540B2 (en) Method and system for monitoring calls to an application program interface (API) function
KR101696131B1 (en) Privileged cryptographic services in a virtualized environment
US9292302B2 (en) Allowing bypassing of boot validation in a computer system having secure boot enabled by default only under certain circumstances
KR101281678B1 (en) Method and Apparatus for authorizing host in portable storage device and providing information for authorizing host, and computer readable medium thereof
US8024790B2 (en) Portable secured computing environment for performing online confidential transactions in untrusted computers
US9087188B2 (en) Providing authenticated anti-virus agents a direct access to scan memory
US8782801B2 (en) Securing stored content for trusted hosts and safe computing environments
US9164925B2 (en) Method and apparatus for authorizing host to access portable storage device
US11704402B2 (en) Runtime device firmware verification using trust chaining
US9449157B2 (en) Mechanisms to secure data on hard reset of device
US8539246B2 (en) Secure resume for encrypted drives
JP5981035B2 (en) Hardware access protection
JP2015532987A (en) Theft prevention in firmware
KR20150105393A (en) User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system
US9881151B2 (en) Providing selective system privileges on an information handling device
KR101205890B1 (en) Security apparatus and method for desktop virtualization
US8473747B2 (en) Secure boot with minimum number of re-boots
JP4247216B2 (en) Information processing apparatus and authentication control method
CA2774722A1 (en) Antivirus computing system
KR101249176B1 (en) Method and apparatus for setting security of a computer system
JP4800340B2 (en) Physical presence authentication method and computer based on TCG specification
RU2533303C2 (en) Antivirus computer system
Brasser et al. Regulating smart personal devices in restricted spaces
Frenn et al. Towards Leveraging Late-Launch to Create Trustworthy Thin-Terminal Clients

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee