KR101498965B1 - 가상화 기술을 이용한 내외부망 격리 시스템 및 방법 - Google Patents

가상화 기술을 이용한 내외부망 격리 시스템 및 방법 Download PDF

Info

Publication number
KR101498965B1
KR101498965B1 KR20140079811A KR20140079811A KR101498965B1 KR 101498965 B1 KR101498965 B1 KR 101498965B1 KR 20140079811 A KR20140079811 A KR 20140079811A KR 20140079811 A KR20140079811 A KR 20140079811A KR 101498965 B1 KR101498965 B1 KR 101498965B1
Authority
KR
South Korea
Prior art keywords
virtual
virtual machine
usb
network
kvm
Prior art date
Application number
KR20140079811A
Other languages
English (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 KR20140079811A priority Critical patent/KR101498965B1/ko
Application granted granted Critical
Publication of KR101498965B1 publication Critical patent/KR101498965B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

본 발명의 목적은, 내외부망을 완벽하게 차단하기 위한 완전히 별개인 두 대의 컴퓨터의 효과를 누리면서도, 실제 하드웨어는 하나의 컴퓨터 만으로 구현이 가능한, 단일 입출력장치를 사용하면서 가상화 기술을 이용한 내외부망 격리 시스템 및 방법을 제공하는 것이다. 즉, 완벽한 망 분리를 위해서는 완전히 별개인 두 개의 PC를 사용하는 것이 바람직한바, 그러기 위해서는 완전한 두 벌의 입출력장치와 CPU 등의 호스트 자원 집합이 필요하므로 하드웨어 자원의 활용도가 떨어진다는 문제점이 있고, 역으로 하드웨어 자원의 활용도를 높이기 위해서는 입출력장치와 CPU 등의 호스트 자원 집합을 단일화할 필요가 있으나 그러면 아무래도 완벽한 망 분리가 곤란해진다는 문제점이 있는바, 본 발명은 완벽하게 분리되는 두 대의 가상 PC를 하나의 물리적인 서버로 구현함으로써, 이러한 상충되는 두 가지 문제점을 일거에 해결하는 것이다.

Description

가상화 기술을 이용한 내외부망 격리 시스템 및 방법{A system and method for isolating the internet and the intranet by using the virtual machines}
본 발명은, 내외부망 격리 시스템 및 방법에 관한 것으로서, 한 벌의 입출력장치 세트만을 사용하면서도 가상화 기술을 이용하여 내외부망을 확실하게 격리할 수 있는, 가상화 기술을 이용한 내외부망 격리 시스템 및 방법에 관한 것이다.
인터넷 관련 기술과 통신 규약을 이용하여 조직내부 업무를 통합하는 정보시스템을 인트라넷(intranet) 또는 내부 망이라 한다. 인트라넷이 사용되면 별도의 통신 시스템이 구축되지 않아도 다른 지역에 위치하는 관련 조직의 내부 시스템에 쉽게 접근할 수 있으며 필요시 허가된 다른 조직의 내부 시스템의 자료를 이용할 수 있다는 장점을 가진다. 그러나 이와 같은 인트라넷은 내부의 중요한 자료 또는 정보가 외부로 유출될 수 있다는 보안문제를 발생시키게 된다.
인트라넷이 인터넷에 연결되어 발생될 수 있는 보안문제를 해결하기 위한 기술로 망 분리 기술이 있다. 일반적으로 망 분리는 내부망의 불법 자료 유출 방지, 내부 망 해킹 방지, 바이러스, 스파이-웨어 또는 그레이-웨어와 같은 불법 프래그램의 침투 원천 방지, 업무 효율성의 극대화 및 자료와 자원 활용의 실용성 증대를 위하여 적용될 수 있다.
망 분리 기술은 물리적 망 분리 기술과 논리적 망 분리 기술로 나누어질 수 있다.
먼저, 물리적 망 분리 기술은, 외부망과 내부 망을 물리적으로 별도로 구축하므로 별도의 기술이 요구되지 않지만 각각의 망에 대하여 별도로 접속을 위한 단말기 또는 퍼스널 컴퓨터(PC)가 요구되므로 개인당 2개의 PC가 요구되면서 이동이 필요하고 이에 따라 전력 소비 또는 자원 낭비가 심해진다는 단점을 가진다. 물리적으로 망을 분리하는 방법은 2개의 PC를 통한 분리, 공유되지 않은 자원을 업무용/인터넷용으로 분리하여 네트워크를 분리시키면서 PCI 카드(peripheral component interconnect card) 형태의 전환 장치를 사용하는 분리 방식 및 전용 접속 장치로 호스트(host) PC에 접속하여 인터넷을 사용하는 것에 의하여 업무 네트워크와 물리적으로 분리하는 방식으로 나누어질 수 있다.
다음, 논리적 망 분리는, 주로 가상화 기술을 기반으로 하며 가상 서버를 탑재한 서버를 중앙에 두고 각 단말이 중앙 서버에 접속하여 업무를 처리하는 SBC(Server-Based Computing) 방식과 사용자 업무 환경의 변화없이 작업 영역을 일반 영역과 암호화가 된 보안 업무 영역으로 분리하여 사용자가 생성하는 업무는 보안 업무 영역에만 저장되도록 하는 방식과 같은 것이 사용되고 있다. 일반적으로 논리적 망 분리는, SBC를 이용한 망 분리, 터미널 서버를 이용한 망 분리 및 가상영역 보안을 이용한 망 분리로 나누어질 수 있다.
가상화 기반 기술은, 사용자 인증을 통한 서버 접속 또는 보안영역 접속 방법으로 문서 생성, 조회 또는 다운로드가 되는 일련의 과정이 중앙서버 또는 보안영역을 벗어날 수 없어 정보 유출을 차단하고 사용자의 사용 이력 관리가 가능하며 보안 정책에 따라 데이터 및 사용자 관리가 가능하다는 장점을 가진다.
그러나 SBC를 이용한 망 분리는, 신규 네트워크 구축, 데이터 센터 구축, 사용자 PC 기능 변경 또는 응용 프로그램의 표준화가 진행되어야 한다. 터미널 서버를 이용한 망 분리는, 터미널 서버 구축이 별도로 되어야 하며 인터넷 자료의 PC 저장 과정에서 해킹이 발생할 수 있고, 그리고 가상 영역 보안을 이용한 망 분리는, 가상영역보안 솔루션이 별도로 준비되어야 하고, 소프트웨어를 통한 논리적 망 분리로 인하여 정책/로그 관리를 위한 보안 관리가 요구된다는 단점을 가진다.
논리적 망 분리와 관련된 선행기술로 대한민국 특허공개번호 제2011-0100839호 ‘클라이언트 가상화를 이용한 서버의 논리적 망 분리 시스템 및 방법’이 있다. 상기 제1 선행기술은, 도 1에서 보는 바와 같이, 다수의 클라이언트 단말(100,120)과 서버(150)로 구성되는 망에서 서버를 가상화하여 클라이언트 단말의 가상환경을 통해서만 서버에 접속되도록 하는 논리적 망 분리에 관한 것이다.
구체적으로 상기 제1 선행기술은, 클라이언트 단말의 가상환경에서 실행된 프로세스로부터의 서버 접속 요청에 대해서만 네트워크상 서버로 전송하고, 가상환경을 통하지 않은 프로세서로부터의 서버 접속 요청을 차단시키는 클라이언트 가상화 필터 드라이버(110)와, 상기 클라이언트 가상화 필터 드라이버로부터 상기 클라이언트 단말에 대한 인증 요청을 수신하는 경우 상기 클라이언트 단말에 대한 인증을 수행하여 인증 결과를 전송하는 인증 서버(134)와 상기 클라이언트 가상화 필터 드라이버로부터의 접속 요청 수신 시 상기 클라이언트 단말의 인증 정보를 확인하여 상기 서버로부터의 접속 요청을 허용 또는 차단시키는 서버 가상화 필터 드라이버(130)를 포함하는 클라이언트 가상화를 이용한 서버의 논리적 망 분리 장치에 대하여 개시하고 있다.
상기 제1 선행기술에서 논리적 망 분리의 방법은, 가상 머신을 통하여 여전히 내부 망에 접속이 가능하며, 2 이상의 클라이언트가 동일한 서버에 접근할 수 있다는 점에서 보안 문제에 대한 완전한 해결 방법이 될 수 없다. 다른 한편으로 공지된 물리적 망 분리 방법은 보안 문제에 대한 명확한 해결 방안이 될 수 있지만 내부 자원이 효율적으로 이용될 수 없다는 단점을 가진다.
한편, 이상의 문제점을 해결하기 위한 것으로, 인터넷과 인트라넷에 각각 연결된 적어도 2개의 접속 수단으로부터 생성된 가상 머신에 스위치 방식으로 선택적으로 연결되는 것에 의하여 외부의 무단 접근을 방지할 수 있으면서 내부 자원을 효율적으로 이용할 수 있는 가상 머신 사이에 스위칭 방식의 선택을 이용한 망 분리 시스템을 제공하는 제2 종래기술로서, 본 발명자에 의해 제안된 대한민국 특허 제1173911호 '가상 머신 사이에 스위칭 방식의 선택을 이용한 망 분리 시스템'와 같은 것이 있다.
상기 제2 종래기술을 도 2를 참조하여 상술하면, 인터넷에 접속이 가능한 제1 접속 수단(11), 내부 망과 연결이 가능하고 제1 접속 수단과 물리적으로 분리된 제2 접속 수단(12), 제1 접속 수단으로부터 생성된 적어도 하나의 제1 가상 머신, 제2 접속 수단으로부터 생성되고 제1 가상 머신에 각각 대응되어 연결된 적어도 하나의 제2 가상 머신 및 제1 가상 머신과 대응되는 제2 가상 머신에 각각 연결된 연결 선택 장치를 포함하고, 제1 접속 수단 또는 제2 접속 수단에 대한 입출력을 위한 연결은 연결 선택 장치에서 스위칭 방식의 연결 선택에 의하여 이루어진다.
제1 접속 수단(11)은 인터넷에 연결되어 있고 적어도 하나의 가상 머신(virtual machine)을 생성할 수 있다. 제1 접속 수단(11)은 퍼스널 컴퓨터(personal computer: PC)가 될 수 있지만 이에 제한되지 않고 독립적인 운영체제를 가지면서 내부에서 응용 프로그램이 구동될 수 있는 임의의 전자기기가 될 수 있다. 제1 접속 수단(11)은 적어도 하나의 가상 머신(VM11, VM12)을 생성할 수 있다. 생성되는 가상 머신(VM11, VM12)의 수는 특별히 제한되지 않으며 가상 머신의 종류도 제한되지 않는다.
본 명세서에서 가상 머신은 실제로 있는 컴퓨터 시스템에서 소프트웨어적으로 구성하여 생성된 또 다른 가상 컴퓨터를 의미한다. 하나의 컴퓨터를 여러 명의 사용자가 동시에 사용할 수 있도록 여러 대의 작은 컴퓨터로 분할 사용하거나 또는 운영 체제가 하드웨어의 구성을 다르게 하여 운영할 때 사용될 수 있다. 가상 머신은 실제 장치에 대응되는 사용 및 등급에 따라 시스템 가상 머신(system virtual machine)과 프로세스 가상 머신(process virtual machine)으로 나누어질 수 있다. 시스템 가상 머신은 완전한 운영 체제의 실행을 지원하는 완전한 시스템 플랫폼(system platform)을 제공하는 반면 프로세스 가상 머신은 단일 프로세스를 지원하고 하나의 프로그램이 구동되도록 설계된 것을 말한다.
제1 접속 수단(11)에서 생성되는 가상 머신은 시스템 가상 머신 또는 프로세스 가상 머신이 될 수 있다.
제2 접속 수단(12)은 조직의 내부 망(intranet)에 연결되어 있고 물리적으로 제1 접속 수단(11)과 분리될 수 있다. 제2 접속 수단(12)이 제1 접속 수단(11)과 물리적으로 분리되는 것에 의하여 망 분리 시스템이 형성될 수 있다. 제2 접속 수단(12)은 제1 접속 수단(11)과 마찬가지로 퍼스널 컴퓨터가 될 수 있지만 이에 제한되지 않는다. 제2 접속 수단(12)이 제1 접속 수단(11)과 동일한 종류의 전자기기가 될 필요는 없지만 적어도 독립된 운영 체제를 가지면서 응용 프로그램이 구동될 수 있는 것이 유리하다.
제2 접속 수단(12)은 제1 접속 수단(11)과 동일한 수의 가상 머신(V21, V22)을 생성할 수 있다. 그리고 제1 접속 수단(11)에서 생성된 가상 머신(VM11, VM12)과 제2 가상 머신(VM21, VM22)은 도 2에 도시된 것처럼 예를 들어 KVM(Keyboard, Video & Mouse) 스위치와 같은 연결 선택 장치를 매개로 일대일로 대응이 될 수 있다. 제1 가상 머신(VM11, VM12)과 제2 가상 머신(VM21, VM22)은 동일한 종류의 가상 머신이 될 필요는 없지만 적어도 명령어 또는 응용 프로그램의 호환성이 가능한 가상 머신이 되는 것이 유리하다.
도 2 에 도시된 것처럼, 제1 접속 수단(11)의 어느 하나의 가상 머신(VM11)과 제2 접속 수단(12)의 어느 하나의 가상 머신(VM21)은 연결 선택 장치(KVM1, KVM2)에 의하여 연결될 수 있다. 연결 선택 장치는 적어도 키보드 또는 마우스와 같은 입출력 수단 또는 필요에 따라 디스플레이를 가지면서 선택적으로 다수 개의 접속 수단 중 어느 하나의 접속 수단에 연결될 수 있도록 하는 장치를 말한다. 연결 선택 장치는 물리적으로 다수 개의 접속 수단과 연결되어 있고 내부에서 어느 하나의 접속 수단(11 또는 12)으로 연결되어 마우스 또는 키보드를 통하여 입출력이 가능하다. 만약 어느 하나의 접속 수단(11 또는 12)에 연결이 되면 다른 접속 수단(12 또는 11)과 연결이 되지 않으며 다른 접속 수단(12 또는 11)에 대한 입출력이 불가능하다. 그러므로 다른 접속 수단(12, 11)에 대한 연결을 위하여 스위칭 방식으로 연결이 전환되어야 한다. 이와 같은 기능을 하는 장치로 KVM 스위치가 있다. KVM 스위치는 하나의 키보드, 모니터 및 마우스로 여러 대의 컴퓨터를 제어할 수 있도록 해주는 장치를 말하고 여러 대의 컴퓨터가 연결되어 있어도 KVM은 한 번에 그 중 일부만 제어할 수 있다. 필요에 따라 KVM 스위치는 USB 장치나 스피커 장치를 공유하도록 할 수 있다. 연결 선택 장치에서 USB 장치 또는 스피커 장치의 공유를 위하여 연결 선택 장치에 USB 연결 포트 또는 사운드 카드의 장착을 위한 슬롯이 설치될 수 있다.
연결 선택 장치(KVM1, KVM2)는 물리적 전환 스위치가 되지만 필요에 따라 입력 또는 마우스의 선택에 의하여 작동되는 스위치가 될 수 있다. 예를 들어 사용자 단말(U1, U2)에 제1 접속 수단(11) 또는 제2 접속 수단(12)의 선택을 입력시키는 것에 의하여 연결 선택 장치 내부에서 제1 접속 수단(11) 또는 제2 접속 수단(12)에 대한 연결이 이루어질 수 있다. 그리고 제1 접속 수단(11) 또는 제2 접속 수단(12)에 대하여 입출력이 가능해 질 수 있다.
사용자 단말(U1, U2)은 KVM 스위치(KVM1, KVM2)에 연결되어 가상 머신(VM11, VM12, VM21, VM22)을 통하여 제1 접속 수단(11) 또는 제2 접속 수단(12)에 연결될 수 있다. 사용자 단말(U1, U1)은 모니터, 키보드 및 마우스로 이루어질 수 있지만 이에 제한되지 않고 다양한 형태의 입출력 수단 또는 디스플레이 수단이 될 수 있다.
상기 제2 종래기술에 따르면, 사용자는 제1 접속 수단(11) 또는 제2 접속 수단(12)에 연결되도록 하는 KVM 스위치와 같은 연결 선택 장치(KVM1, KVM2)에 사용자 단말(U1, U2)을 연결하는 것에 의해서만 내부 망에 접근할 수 있다. 그리고 제1 접속 수단(11)과 제2 접속 수단(12)은 물리적으로 완전히 분리가 된다. 그러므로 내부 망에 대한 외부의 무단 접근은 근본적으로 차단될 수 있다.
그러나, 상기 제2 종래기술은, 완전한 망 분리는 가능하나, 어디까지나 KVM 스위치와 같은 연결 선택 장치(KVM1, KVM2)의 스위칭이 이루어져야 한다는 점에서 한계가 있으며, 한 사람의 유저가 이상의 시스템을 사용하고자 하는 경우에는, 한 사람이 두 대의 접속수단(PC)과 두 벌의 입출력장치를 지녀야 하므로, 자원 활용의 측면에서 부적합하고 또한 테이블 공간의 활용도에서도 바람직하지 않다.
다른 한편, 망 분리에 대한 제3 종래기술로서, 대한민국 공개특허 제2011-6399호 '호스트 기반의 망분리 장치 및 방법'과 같은 것이 있다.
상기 제3 종래기술은, 업무를 위한 사내망과 인터넷 접속을 위한 외부망이 동시에 연결되는 호스트 컴퓨터에서 프로세스별 접근할 수 있는 네트워크망을 프로세스에서 처리하는 정보의 특성에 따라 미리 할당하여 프로세스의 실행 시 프로세스가 접근할 수 있도록 미리 설정된 네트워크망으로만 데이터의 송/수신이 가능하도록 제어함으로써, 하나의 호스트 컴퓨터 시스템에서 추가의 망구축이나 서버의 증설 없이도 보다 효율적으로 망분리가 가능하도록 하는 호스트 기반의 망분리 장치 및 방법을 제공하는 것이다.
이를 위해 제3 종래기술은, 호스트 기반 망 분리 장치로서, 호스트 컴퓨터상 임의의 프로세스 실행 시 상기 프로세스가 할당된 사내망 또는 외부망을 확인하여 IP별로 분리하는 망분리 스위치(406)와, 상기 망분리 스위치에 의해 IP별 분리된 프로세스의 패킷 데이터가 해당 IP에 할당되지 않은 다른 네트워크망으로 접근 시 이를 차단시키는 패킷 처리기(410,414)를 포함한다.
제3 종래기술을 도 3을 참조하여 상술하면, 상기 호스트 기반 망분리 장치는, 윈속(winsock)(404)외에도, 가상환경 생성부(402), 망분리 스위치(406), 사내망 패킷 처리기(410), 외부망 패킷 처리기(414), 사내망과 연결되는 제1 NIC(412), 외부망과 연결되는 제2 NIC(416) 등을 포함한다.
먼저, 윈속(404)은 통신을 위해 응용 프로그램에서 사용되는 통신 방법과 통신 기능에 대한 인터페이스(API)를 정의한다.
가상환경 생성부(402)는 호스트 컴퓨터(400)상 임의의 프로세스 실행 시 프로세스가 할당된 사내망 또는 외부망을 확인하여 프로세스의 실행을 위해 사내망 또는 외부망으로의 접근이 논리적으로 분리된 가상 작업 환경을 생성시킨다. 이때, 프로세스는 처리하는 정보 특성에 따른 정책에 따라 사내망 또는 외부망에 접근할 수 있도록 네트워크망 접근 권한이 미리 할당되며, 실행 시 호스트 컴퓨터(400)상 사내망 또는 외부망의 접근이 논리적으로 분리되는 해당 프로세스에 할당된 가상 작업 작업환경으로 유도된다.
망분리 스위치(406)는 프로세스의 실행 시 프로세스가 실행된 가상환경을 확인하여 프로세스를 가상환경에 대응되는 사내망 또는 외부망으로 분리한다. TCP/IP부(408)는 TCP/IP를 제공하여 데이터 전송 시 윈도우 알고리즘을 사용한 흐름 제어를 통해 에러 프레임의 재전송 등을 수행한다.
사내망 패킷 처리기(410)는 망분리 스위치(406)에 의해 프로세스가 실행된 가상환경에 따라 사내망으로 분리된 프로세스에 대해서는 해당 프로세스의 실행에 따른 패킷 데이터를 사내망에 연결되는 제1 NIC(412)를 통해 사내망으로 전송한다.
외부망 패킷 처리기(414)는 망분리 스위치(406)에 의해 프로세스가 실행된 가상환경에 따라 외부망으로 분리된 프로세스에 대해서는 해당 프로세스의 실행에 따른 패킷 데이터를 외부망에 연결되는 제2 NIC(416)를 통해 외부망으로 전송한다.
한편, 사내망 패킷 처리기(410)와 외부망 패킷 처리기(414)는 호스트 컴퓨터(400)와 연결되는 사내망 또는 외부망이 VLAN(virtual LAN)을 사용하는 경우 패킷 데이터에 VLAN망에서 인식될 수 있는 VLAN 태그를 삽입하여 전송시키게 된다.
즉, 도 3은 호스트 컴퓨터(400)에 사내망과 외부망이 물리적으로 서로 분리되도록 구축된 경우로 프로세스가 실행될 사내망 또는 외부망을 미리 설정하고, 프로세스 실행 시 컴퓨터상 사내망 또는 외부망과 연결되는 가상 작업 환경을 생성하여, 해당 프로세스를 프로세스에 미리 할당된 사내망 또는 외부망과 연결되도록 생성되는 가상 작업 환경으로 유도시킴으로써, 다른 망으로부터의 접근이 차단될 수 있도록 하는 것이다.
상기한 바와 같이, 본 발명에서는 호스트 기반 망분리 방법에 있어서, 호스트 컴퓨터 시스템에서 실행되는 프로세스들이 호스트 컴퓨터에 연결되는 사내망 또는 외부망 등의 네트워크망을 사용하려고 하는 경우 시스템에 영향을 주거나 해당 프로세스를 직접 조작하지 않고도 망분리 스위치에서 해당 프로세스에 미리 할당된 망 사용 권한과 일치하는 사내망 또는 외부망으로 연결을 유도시키고, 해당 프로세스의 실행에 따라 발생된 패킷 데이터를 패킷 처리기를 통해 해당되는 사내망 또는 외부망으로 전송시킴으로써, 하나의 호스트 컴퓨터 시스템에서 보다 효율적으로 네트워크망에 대한 논리적 망분리가 가능하도록 한다.
그러나, 이상의 제3 종래기술은 하드디스크(메모리)에 복사 불가능한 영역을 미리 만들어 놓고 보호하고 싶은 데이터를 이곳에 넣어두고 사용하다 나중에 불필요할 경우에 삭제하는 샌드박스(sandbox)의 개념에 가까운 것으로, 네트워크만 가상화되어 있을 뿐, 한 종류의 OS 및 통합된 하나의 자원을 사용하여야 하므로 보안성에 한계가 있거나 또는 자원의 활용면에서 한계가 있다는 문제점이 있다.
즉, 제1 종래기술을 이용하여 망 분리를 하기 위해서는 클라이언트 단말이 2개 필요하게 된다는 문제점이 있고, 제2 종래기술을 이용하여 망 분리를 하기 위해서는 접속수단(PC)이 2개 필요하게 된다는 문제점이 있으며, 다만 제3 종래기술을 이용하여 망 분리를 하는 경우에는 그런 문제점은 없으나 두 개의 가상 작업 환경이 하나의 자원(CPU, 메모리, 디스크)에 의해 단일의 OS로 이루어지므로 외부망을 사용하다 내부망을 사용할 시에는 모든 프로그램을 종료하고 중간값 저장까지 완료하고 나서 (새로운 부팅을 하여) 외부망으로 넘어가야 한다는 문제점이 있으며, 그 역의 경우에도 마찬가지이다. 더욱이, 상기 제1 종래기술 및 제3 종래기술의 경우에는 동일한 CPU가 동일 OS에 의해 동일한 메모리 및 디스크를 사용하여 작업을 행하게 되므로, 중간값이 어느 임시 저장공간에 남아있거나 이전 작업 태스크의 흔적이 남아 있는 경우에는 충분한 보안이 이루어지지 않을 가능성이 상존하게 된다.
대한민국 특허공개번호 제2011-0100839호 ‘클라이언트 가상화를 이용한 서버의 논리적 망 분리 시스템 및 방법’ 대한민국 특허 제1173911호 '가상 머신 사이에 스위칭 방식의 선택을 이용한 망 분리 시스템' 대한민국 공개특허 제2011-6399호 '호스트 기반의 망분리 장치 및 방법'
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 그 목적은 상기 종래기술들의 장점들을 모두 갖도록, 내외부망을 완벽하게 차단하기 위한 완전히 별개인 두 대의 컴퓨터의 효과를 누리면서도, 실제 하드웨어는 하나의 컴퓨터 만으로 구현이 가능한, 가상화 기술을 이용한 내외부망 격리 시스템 및 방법을 제공하는 것이다.
즉, 완벽한 망 분리를 위해서는 제2 종래기술과 같이 완전히 별개인 두 개의 PC를 사용하는 것이 바람직한바, 그러기 위해서는 완전한 두 벌의 입출력장치와 CPU 등의 호스트 자원 집합이 필요하므로 하드웨어 자원의 활용도가 떨어진다는 문제점이 있고, 역으로 하드웨어 자원의 활용도를 높이기 위해서는 입출력장치와 CPU 등의 호스트 자원 집합을 단일화할 필요가 있으나 그러면 아무래도 완벽한 망 분리가 곤란해진다는 문제점이 있는바, 본 발명은 이러한 상충되는 두 가지 문제점을 일거에 해결하기 위한 것이다.
상기의 목적을 달성하기 위한 본 발명의 제1 측면에 따른 가상화 기술을 이용한 내외부망 격리 시스템은, 상기 입출력장치를 지원하는 가상 데스크탑 시스템(10')과, 상기 가상 데스크탑 시스템(10')과 연결된 한 벌의 입출력장치 세트(400)를 포함하되, 상기 가상 데스크탑 시스템(10')은, 제1 가상 PC(100), 제2 가상 PC(100'), 호스트 드라이버(800) 및 가상화부(130)를 포함하여, 입출력장치 세트(400)에게 제1 가상 PC(100)의 제1 가상 머신(120)과 제2 가상 PC(100')의 가상 머신(120') 중의 어느 하나를 배타적으로 할당하여 주고, 상기 입출력장치 세트(400)는, 상기 제1 가상 머신(120) 및 제2 가상 머신(120') 중의 어느 하나와 접속을 위한 가상 KVM 터미널(1000)을 포함하며, 상기 제1 가상 PC(100) 및 상기 제2 가상 PC(100') 중의 어느 하나는 내부망에 접속되어 있고, 다른 하나는 외부망에 접속되어 있으며, 제1 및 제2 NIC(142c,142c') 그리고 USB 호스트 컨트롤러(142b)를 포함한 장치의 전용 프로세서 능력이 요구되는 호스트 자원은 상기 제1 및 제2 가상 머신(120,120')의 제1 및 제2 직접 할당 가능 접근 하드웨어(122,122')에게 직접 할당 가능 호스트 인터페이스 집합(142,142')을 직접 연결 모드(750b,750b')로 할당하여 주며, 상기 제1 및 제2 가상화부(120,120')는 호스트 OS(700)의 장치 접근 스위치부(750)에 의한 직접 할당 연결 모드(750b,750b')를 사용하여, 직접 액세스 하드웨어(122,122')로부터의 직접 할당 가능 호스트 인터페이스 집합(142,142')의 입출력 신호를 입출력장치 세트(400)와 연결하며, 상기 가상화부(130)는, 제1 및 제2 호스트 자원 계층(140,140')에서 제1 및 제2 공유 가능 호스트 자원 집합(141,141')을 에뮬레이션하여 두 대의 가상 머신(120,120')이 공유할 수 있는 가상 호스트 자원 집합을 생성하고, 이를 각 가상 머신(120,120')의 에뮬레이트된 하드웨어(121,121')로 제공해 주며, 에뮬레이션 모드에서 활용 가능한 제1 및 제2 공유 가능 호스트 자원 집합(141,141')은 제1 및 제2 가상 프로세서(141a,141a')를 포함하며, 제1 가상머신에서 제2 가상머신으로의 스위칭을 행하는 경우, USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 기존 활성화된 제1 가상머신(120)에게 전원 '슬립'(sleep)을 요청하고 새로 활성화할 제2 가상머신(120')에게 전원 '웨이크'(wake)를 요청하며, 기존 활성화된 제1 가상머신(120)에서 새로 활성화할 제2 가상머신(120')에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하게 됨으로써 달성되며, 역으로 제2 가상머신에서 제1 가상머신으로의 스위칭을 행하는 경우, USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 기존 활성화된 제2 가상머신(120')에게 전원 '슬립'(sleep)을 요청하고 새로 활성화할 제1 가상머신(120)에게 전원 '웨이크'(wake)를 요청하며, 기존 활성화된 제2 가상머신(120')에서 새로 활성화할 제1 가상머신(120)에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하게 됨으로써 달성되는 것을 특징으로 한다.
바람직하게는, 상기 장치의 전용 프로세서 능력이 요구되는 호스트 인터페이스는, 제1 및 제2 VGA(142a, 142a')를 더 포함하며, 제1 및 제2 VGA(142a, 142a')는 각각 상이한 디스플레이 연결 모드로 디스플레이 장치(410)에 연결되는 것을 특징으로 한다.
더욱 바람직하게는, 상기 제1 및 제2 VGA(142a, 142a') 중의 어느 일측은 RGB 연결 모드를 통해 상기 디스플레이 장치(410)에 연결되며, 다른 일측은 DVI 연결 모드나 HDMI 연결 모드를 통해 상기 디스플레이 장치(410)에 연결되는 것을 특징으로 한다.
또한 바람직하게는, 상기 호스트 OS(700)는 가상머신 리눅스 에이전트(710)에 의해 마스터 서버를 활성화하며, 상기 제1 및 제2 PC(100,100')의 각각의 제1 및 제2 가상 머신 OS(110,110')는 제1 및 제2 가상머신 윈도우 에이전트(112,112')에 의해 각각 활성화되는 것을 특징으로 한다.
또한 바람직하게는, 상기 제1 가상머신에서 제2 가상머신으로의 스위칭을 행하는 경우, KVM 선택 표시로서 제2 상태표시 LED(1002)를 점등하고, 상기 제1 가상머신에서 제2 가상머신으로의 절환이 이루어지며, 역으로 제2 가상머신에서 제1 가상머신으로의 스위칭을 행하는 경우, KVM 선택 표시로서 제1 상태표시 LED(1001)를 점등하고, 제2 가상머신에서 제1 가상머신으로의 절환이 이루어지며, 상기 가상머신 간의 스위칭은 USB 컨트롤 박스(900)에 의해 이루어지는 것을 특징으로 한다.
한편, 상기 본 발명의 목적을 달성하기 위한 본 발명의 제2 측면에 따른 가상화 기술을 이용한 내외부망 격리 방법은, (a) 호스트 PC의 전원을 '온'하면(S71), 호스트 OS(700)의 리눅스 VM 에이전트(710)에 의해 리눅스 OS 프로그램에 의해 가상화 시스템을 부팅하게 되고 가상화부가 동작하기 시작하는 단계(S72); (b) 가장 높은 우선순위의 제1 가상머신(120)부터 부팅이 이루어지되, 제1 VM 윈도우 에이전트(112)에 의해 제1 VM 윈도우 OS(110)에 의해 제1 가상 PC(100)가 동작하며, USB 호스트 컨트롤러(142b) 직접 할당(750b)을 개시하는 단계(S73); (c) 이후 다음 우선순위의 제2 가상머신(120') 부팅이 이루어지되, 제2 VM 윈도우 에이전트(112')에 의해 제2 VM 윈도우 OS(110')에 의해 제2 가상 PC(100')가 동작하며, USB 호스트 컨트롤러(142b) 직접 할당(750b')을 개시하는 단계(S74); 및 (e) 이후, 제2 가상머신으로의 스위칭을 행하면, USB 인터페이스기반 가상 KVM 제어부(131)로 KVM 전환 버튼 신호를 발생시키고(S81), USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 기존 활성화된 제1 가상머신(120)에게 전원 '슬립'(sleep)을 요청하고(S82), USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 새로 활성화할 제2 가상머신(120')에게 전원 '웨이크'(wake)를 요청하며(S83), 이후, USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 기존 활성화된 제1 가상머신(120)에서 새로 활성화할 제2 가상머신(120')에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하는 단계(S84); 를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (b) 단계에서, 제1 VGA 카드(142a)와 RGB 포트가 연결되는 상태로 제1 VGA 카드(142a) 직접 할당(750b)을 개시하며, 상기 (c) 단계에서, 제2 VGA 카드(142a')와 DVI 포트나 HDMI 포트가 연결되는 상태로 제2 VGA 카드(142a') 직접 할당(750b')을 개시하는 것을 특징으로 한다.
또한 바람직하게는, (d) 상기 (c) 단계 이후, 가상 KVM 터미널(1000)에서는 KVM 선택 표시로서, 제1 가상머신 상태 표시 LED(1001)를 점등하는 단계(S75); 를 더 포함하며, 상기 (e) 단계에서, 제2 가상머신으로의 스위칭을 행하면, 가상 KVM 터미널(1000)에서 USB 인터페이스기반 가상 KVM 제어부(131)로 KVM 전환 버튼 신호를 발생시키면서 KVM 선택 표시로서 제2 상태표시 LED(1002)를 점등하는 것을 특징으로 한다.
또한 바람직하게는, 제2 가상머신에서 제1 가상머신으로의 스위칭을 행하는 경우, USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 기존 활성화된 제2 가상머신(120')에게 전원 '슬립'(sleep)을 요청하고 새로 활성화할 제1 가상머신(120)에게 전원 '웨이크'(wake)를 요청하며, 기존 활성화된 제2 가상머신(120')에서 새로 활성화할 제1 가상머신(120)에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하게 됨으로써 달성되는 것을 특징으로 한다.
본 발명에 따른 가상화 기술을 이용한 내외부망 격리 시스템 및 방법에 따르면, 두 개의 가상 작업 환경이 하나의 자원(CPU, 메모리, 디스크)에 의해 수행되더라도 완전히 별개인 두 개의 PC를 사용하는 환경 조성이 가능하므로, 단일의 입출력장치를 사용하면서도 완벽한 차단이 가능하다는 장점이 있다.
더욱이, 본 발명에 의하면, 완전히 별개인 두 개의 PC를 사용하는 환경 조성이 가능하면서도, 별도의 하드웨어 KVM 스위치를 사용하지 않아도 되므로, 책상 위의 케이블이 복잡하게 연결되지 않아도 되고, 업무 공간이 확대되며, 하드웨어 KVM 스위치의 구입비용이 절감되며, 향후 하드웨어 KVM 스위치의 폐기로 인한 환경문제도 간단히 해결가능하다.
상기 목적 및 효과 외에 본 발명의 다른 목적 및 이점들은 첨부한 도면을 참조한 실시 예에 대한 상세한 설명을 통하여 명백하게 드러나게 될 것이다.
도 1은 제1 종래기술의 클라이언트 가상화를 이용한 서버의 망분리 시스템의 구성도.
도 2는 제2 종래기술의 망분리 시스템에 대한 개략적인 구성도.
도 3은 제3 종래기술에 대한 가상환경을 이용한 호스트 기반의 망분리 개념도.
도 4는 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 시스템의 전체 블록도.
도 5는 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 시스템의 동작을 설명하는 개념도.
도 6은 본 발명에 따른 내외부망 격리 시스템의 가상 KVM 터미널의 구조와 가상 KVM 전환동작을 설명하는 개념도.
도 7은 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 방법 중 부팅시의 동작흐름도.
도 8은 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 방법 중 내외부망 절환시의 동작흐름도.
이하, 본 발명에 따른 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 시스템 및 방법에 대하여 도 4 내지 도 7을 참조하여 설명한다.
도 4는 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 시스템의 전체 블록도이고, 도 5는 그러한 시스템의 동작을 설명하는 개념도이고, 도 6은 본 발명에 따른 내외부망 격리 시스템의 가상 KVM 터미널의 구조와 가상 KVM 전환동작을 설명하는 개념도이며, 도 7 및 도 8은 각각, 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 방법 중 부팅시 및 내외부망 절환시의 동작흐름도이다.
본 발명에 따른 가상화 기술을 이용한 내외부망 격리 시스템은, 본 발명자의 대한민국 특허 제1239290호 '제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법'(이하, 본 명세서에서 '선행특허발명'이라 함)의 가상화 기술을 기반으로 망분리 시스템으로 개선한 것이다. 따라서, 상기 본 발명자의 선 특허발명의 명세서는 본 명세서에서 그대로 참조되어 진다.
먼저, 본 발명에 따른 가상화 기술을 이용한 내외부망 격리 시스템의 구성을 크게 보면, 상기 '선행특허발명'의 도 1a에서의 가상화 서버(10)에 대응되는 가상 데스크탑 시스템(10')의 제1 가상 PC(본 발명의 명세서 및 도면 중 도 4의 부재번호 100 참조)가 제1 NIC 카드(142c)를 통해 내부망(상기 도 4의 좌측 부분 참조)에 연결되어 있고, 또다른 제2 가상 PC(본 발명의 명세서 및 도면 중 도 4의 부재번호 100' 참조)가 제2 NIC 카드(142c')를 통해 외부망(상기 도 4의 우측 부분 참조)에 연결되어 있다.
상기 제1 및 제2 가상 PC는, 한 벌의 입력장치 세트 및 출력장치 세트로 이루어지는 한 벌의 입출력장치 세트(400)와 연결되어 있다. 도 4에서는, 기존의 디스플레이 장치 인터페이스를 그대로 활용하기 위해, 모니터(410)의 RGB 단자는 제1 VGA 카드(142a)에, 및 DVI 단자는 제2 VGA 카드(142a')에 접속되며, 다른 입출력장치들(420,430,440,450)은 가상 KVM 터미널(1000)을 통해 USB 호스트 컨트롤러(142b)에 접속되는 것으로 설명되었으나, 이에 한정되지 않고, 모니터(410)가 HDMI 포트나 기타 디스플레이 포트를 통해 접속되어질 수도 있고, 혹은 모든 입출력장치들이 가상 KVM 터미널(1000)을 통해 USB 호스트 컨트롤러(142b)에 접속되는 것으로 구성되어질 수도 있다.
즉, 입출력장치 세트(400)는, 제1 가상 머신(120) 및 제2 가상 머신(120') 중의 어느 하나와 접속을 위한 접속 수단을 필요로 하는 바, 상기 접속 수단은, 가상 KVM 터미널(1000)이 될 수도 있고, 가상 KVM 터미널(1000)을 별도로 두지 않고 일반적인 USB 포트를 사용할 수도 있다.
결국 한 벌의 입출력장치 세트(400)는, 모니터(410) 및 키보드(420), 마우스(430), 오디오(440)와 USB 저장장치(450)와 같은 각종 입출력 장치들을 말하며, 이들은 에뮬레이트되지 않고 제1 직접 연결 하드웨어(122) 및 제2 직접 연결 하드웨어(122')를 통해 제1 및 제2 가상머신(120, 120')에 연결되므로 저렴한 비용으로 구성할 수 있고 보안성이 뛰어나며, 처리 부하가 낮고 처리 시간이 빠른 장점이 있다. 참고로, 직접 연결 하드웨어는, 특정 가상 PC가 PnP(Plug-and-Plug)를 지원하는 PCI 기반 물리적 장치를 독립적으로 선점하게 해주는 기술로서, 가상 PC의 가상 주기억장치(메모리)에서 관리되는 주소 공간과 실제 하드웨어 장치가 인식하는 물리적인 주소 공간을 연결하여 주며, CPU의 컨트롤을 받지 않고 직접 하드웨어의 기능을 활용하는 인텔사의 VT-d(Virtualization Technology for Directed I/O) 기능을 활용한 기술이다.
특히 본 발명에서의 상기 입출력장치 세트(400)는, 일반 PC의 USB 포트를 활용할 수도 있으며, 제로 클라이언트로서 구성하여 사용할 수도 있다. 후자의 경우, 제로 클라이언트의 고유 식별자를 포함하며, USB 호스트 컨트롤러(142b)를 통해 제1 및 제2 가상 머신(120,120')과 접속을 위한 가상 KVM 터미널(1000)이 추가되어 진다.
도 4의 본 발명의 시스템은, 호스트 드라이버(800) 및 가상화부(130)를 포함할 수 있다. 또한, 도 4에 도시된 시스템은 제1 및 제2 가상 PC(100,100')를 포함하는바, 각 가상 PC(100,100')는 입출력장치 세트(400)와 연결되는 제1 및 제2 가상 머신 (120,120')을 필요로 하며, 다시 각 가상 머신(120,120')은 에뮬레이트된 하드웨어(121,121')와 직접 할당 가능 접근 하드웨어(122,122')를 각각 갖는다. 이외에도 각 가상 PC(100,100')는 하드웨어 인터페이스 드라이버(111,111')를 갖는 가상 머신 OS(110,110')를 각각 필요로 한다.
상기 호스트 드라이버(800)는 다시 도 4의 가상 머신 장치 제어 구동부(810)를 포함한다.
이를 위해서, 가상 머신 장치 제어 구동부(810)는 가상화부(130)와 통신하여 가상 머신(120,120')의 할당 호스트 인터페이스 관리의 역할을 하고, 가상 머신 관리 마스터 서버(미 도시됨)의 가상 머신 관리 마스터 서버 엔진의 명령을 받아서 동작한다.
가상 머신 장치 제어 구동부(810)는 가상 머신(120,120')의 생성, 제거, 정지, 재개 등의 명령을 포함하는 가상 머신 설정 명령어 집합을 가상화부(130)의 가상 KVM 제어부에 해당하는 가상 KVM 제어부(131)에 전달하여 가상 머신(120,120')을 설정할 수 있다.
가상화부(130)는 사용자로부터 가상 머신 관리 마스터 서버(미 도시됨)를 거쳐 가상 머신 설정 요청을 수신하여, 에뮬레이션 모드 및 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 가상 머신(120,120')의 호스트 인터페이스를 제공한다. 가상화부(130)는 두 대의 가상 머신(120,120') (또는, 가상 PC(100,100')) 을 운영하기 위한 소프트웨어 또는 커널(kernel)의 형태일 수 있다.
가상화부(130)는 제1 및 제2 호스트 자원 계층(140,140')에서 제1 및 제2 공유 가능 호스트 자원 집합(141,141')을 에뮬레이션하여 두 대의 가상 머신(120,120')이 공유할 수 있는 가상 호스트 자원 집합을 생성하고, 이를 각 가상 머신(120,120')의 에뮬레이트된 하드웨어(121,121')로 제공해 줄 수 있는데 이러한 방법을 에뮬레이션 모드(740b,740b')라고 한다.
일 실시예에서, 에뮬레이션 모드(740b,740b')에서 활용 가능한 호스트 자원(141,141')으로는 프로세서(141a,141a'), 주기억장치(141b,141b'), 보조기억장치(141c,141c')가 있으며, 추가적으로 NIC(Network Interface Card)와 같은 네트워크 장치, 그래픽 처리 장치, USB 호스트 컨트롤러 및 사운드 장치 등이 있을 수 있다.
그러나, 그래픽 처리 장치(142a,142a'), USB 장치(142b), NIC(Network Interface Card: 142c,142c')와 같은 네트워크 장치, 사운드 장치와 같은 대용량 데이터 복사를 수행하거나 혹은 해당 장치의 전용 프로세서 능력이 요구되는 호스트 인터페이스는 장치를 에뮬레이션 모드로 처리할 경우 프로세서의 부하를 과도하게 높이고, 이를 이용하여 수행되는 애플리케이션의 성능을 보장받을 수 없기 때문에, 특정 가상 머신(120,120')의 직접 할당 가능 접근 하드웨어(122,122')에게 직접 할당 가능 호스트 인터페이스 집합(142,142')을 1:1로 할당해서 상기 문제를 해결할 수 있는데, 이를 직접 연결 모드(750b,750b')라고 한다.
본 발명에서 제공하는 입출력장치 세트(400)를 지원하기 위해서 가상화부(120,120')는 호스트 OS(700)의 장치 접근 스위치부(750)에 의한 직접 할당 연결 모드(750b,750b')를 사용하여, 직접 액세스 하드웨어(122,122')로부터의 직접 할당 가능 호스트 인터페이스 집합(142,142')의 입출력 신호를 입출력장치 세트(400)와 연결한다. 직접 할당 가능 호스트 인터페이스 집합(142,142')과 입출력장치 세트(400)의 연결은 후술한다.
본 발명의 일 실시예에 따른 입출력장치를 지원하는 가상 머신 관리 마스터 서버는 가상 머신 관련 호스트 자원 정보를 수집하여 가상화 서버 그룹 자원 풀을 생성하고, 가상화 서버 그룹 자원 풀에 대응하여 입출력장치 세트(400)를 동작시키기 위한 가상 머신 설정 명령어 집합을 생성하며, 생성된 가상 머신 설정 명령어 집합을 가상화 서버로 송신한다.
다시 도 4를 참조하여, 본 발명의 일 실시예에 따른 입출력장치를 지원하는 가상화 서버와 입출력장치 세트(400)가 연결되는 구조를 설명하면, 공유 가능 호스트 자원 집합(141,141')은 사실상 물리적으로는 한 벌의 프로세서, 주기억장치, 보조기억장치로 구성되나, 본 발명의 시스템에서, 각각은 제1 가상 PC(100)용 및 제2 가상 PC(100')용으로 영역이 명확히 구분되어 있다. 즉, 제1 가상 프로세서(141a) 및 제2 가상 프로세서(141a'), 제1 가상 주기억장치(141b) 및 제2 가상 주기억장치(141b'), 그리고 제1 가상 보조기억장치(141c) 및 제2 가상 보조기억장치(141c')로 각각 명확히 구분되어지며, 네트워크 장치 및 그래픽 처리 장치는 제1 네트워크 장치(142c)와 제2 네트워크 장치(142c')로, 제1 그래픽 처리 장치(142a)와 제2 그래픽 처리 장치(142a')는 물리적으로도 각각 2벌로 형성되며, 다만 USB 호스트 컨트롤러(142b)는 개념적으로는 구별되나, 사실상 하나의 컨트롤러를 사용하여 입출력을 위한 가상 KVM 터미널(1000)을 제어한다. 그리고 상위 가상화부(130)에서 이들 장치를 에뮬레이션하여 제1 및 제2 가상 머신(120,120')이 이것들을 사용할 수 있도록 가상 호스트 자원 집합을 생성해 준다.
다만, 상기 입출력장치 세트(400)를 제공하기 위해서 공유 가능 호스트 자원 집합(141,141')의 일부를, 직접 할당 가능 호스트 인터페이스 집합(142,142')으로 포함시켜 직접 할당 연결 모드(750b,750b')로 특정 가상 머신(120,120')에 할당할 수는 있다. 일 실시예에서, 입출력장치 세트(400) 제공을 위한 직접 할당 가능 호스트 인터페이스 집합(142,142')은 그래픽 처리 카드(142a,142a'), USB 호스트 컨트롤러(142b), 네트워크 장치(142c,142c') 및 사운드 장치 중 하나 이상을 포함할 수 있다. 더욱이, 상기의 것 외에도 타블렛, 프린터 등의 입출력 장치의 호스트 인터페이스를 포함할 수 있다.
아울러, 입출력장치 세트(400)는 모니터(410), 일종의 USB 허브로 기능하는 가상 KVM 터미널(1000), USB 키보드(420), USB 마우스(430), USB 오디오(440) 및 USB 저장 장치(450) 중 하나 이상을 포함할 수 있다.
제로 클라이언트로서의 입출력장치 세트(400)를 구성하는 상기 입출력 장치들은, 호스트 드라이버(800)와 같은 클라이언트 입출력 전송 계층을 통해 가상화 서버의 호스트 자원 계층(140,140')에 직접 할당 가능 호스트 인터페이스 집합(142,142')과 물리적으로 연결된다. 일 실시예에서, 클라이언트 입출력 전송 계층으로 전달되는 신호는 HDMI(High-Definition Multimedia Interface) 신호, DVI(Digital Visual Interface) 신호, 아날로그(Analog) 신호와 같은 비디오 출력 장치 신호, USB 신호, 및 광신호 중 하나 이상을 포함할 수 있다.
즉, 도 4에서 보는 바와 같이, 상기 특정 가상 PC(100,100')의 직접 액세스 하드웨어(122,122')는 각각의 호스트 자원 집합(140,140')를 통해 입출력장치 세트(400) 중의 모니터(410)와 통신하며, 한편 가상화부(130)의 가상 KVM 제어부(131)가 호스트 드라이버(800)의 가상 머신 장치제어 구동부(810)를 통해 해당 입출력장치 세트(400)의 가상 KVM 터미널(1000)의 USB 기반 가상 머신 제어부와 통신한다. 이때, 통신 규약은 USB 호스트 컨트롤러(142b)에 의한다.
즉, 도 4에 의하면, 직접 할당 가능한 장치의 장치 접근 스위치부(750)가, 호스트 OS(즉, 리눅스 등)의 호스트 드라이버(800)와 연결되는 패스(750a,750a')와 가상 머신(120,120')의 드라이버와 연결되는 패스(750b,750b')를 선택적으로 교환해 준다.
아울러, 도 4에서 보는 바와 같이, 가상 KVM 터미널(Virtual KVM Terminal)(1000)이, 바람직하게는 USB 기반 가상 머신 장치 제어 구동부(810)를 통해 상기 직접 할당 연결 모드의 패스(750a,750a')를 이루게 할 수도 있다.
한편, 본 발명에서의 장치접근 스위치(750)는, 호스트가 어떤 가상 머신을 선택할지를 스위칭하는바, 이는 소프트웨어 적으로 절환스위칭을 하도록 하여도 되며, 더 바람직하게는 도 5에서 보는 바와 같이, USB 컨트롤 박스(900)를 사용함으로써, 외부에서 사용자가 USB 타입의 PIC 제어를 통해 스위칭하도록 함으로써, 사용자가 내부망용 가상 머신(120)의 가상 PC(100)와 외부망용 가상 머신(120')의 가상 PC(100')를 확실하게 구별하여 스위칭하도록 하는 것이 바람직하다.
이때, 제1 가상머신(120)에서 제2 가상머신(120')으로의 스위칭을 소프트웨어적으로 행하는 경우에는, 리눅스 VM 에이전트(710)를 통하지 않고 직접 제1 윈도우 에이전트(112)가, 리눅스 에이전트(710)을 통하고 다시 가상화부(130)의 가상 KVM 제어부(131)을 통하여, 제1 가상 머신(120)의 직접 연결 하드워에(122)에 연결되어 있는 USB 호스트컨트롤러(142b)를 논리적으로 디어태치(Deattach)하고, 반대로 제2 윈도우 에이전트(112')에서 가상화부를 통하여 제2 가상 머신(120')의 직접 연결 하드워에(122')에 연결되어 있는 USB 호스트컨트롤러(142b)를 논리적으로 어태치(Attach)함으로써 달성되며, 동시에 이와 연동하여 제1 윈도우 에이전트(112)가, 제1 가상머신(120)의 출력용 데이터의 제1 VGA 카드(142a)를 통한 모니터(410)로의 출력을 막기 위해 제1 가상머신(120)을 슬립(sleep) 시키고, 제2 윈도우 에이전트(112')가 제2 가상머신(120')의 출력용 데이터의 제2 VGA 카드(142a')를 통한 모니터(410)로의 출력을 위해 제2 가상머신(120')을 웨이크(wake) 시키게 된다.
한편, 상기 가상머신 간의 스위칭을 USB 컨트롤 박스(900)에 의해 행하는 경우에는, 상기 USB 컨트롤 박스(900)의 스위칭을 행하며 장치 접근 스위치(750) 인터페이스에서 스위칭 신호를 입력받고, 곧 리눅스 VM 에이전트(710)에 전환 신호를 주게 되며, 이후 리눅스 VM 에이전트(710)에 의해 모든 전환 동작이 이루어진다. 즉. 리눅스 VM 에이전트(710)는, 가상 KVM 제어부(131)을 통하여 제1 가상 머신(120)의 직접 연결 하드워에(122)에 연결되어 있는 USB 호스트컨트롤러(142b)를 논리적으로 디어태치(Deattach)하고, 반대로 제2 가상 머신(120')의 직접 연결 하드워에(122')에 연결되어 있는 USB 호스트컨트롤러(142b)를 논리적으로 어태치(Attach)함으로써 전환하며, 동시에 이와 연동하여 제1 윈도우 에이전트(112)를 통해 제1 가상머신(120)을 슬립(sleep) 시키고, 제2 윈도우 에이전트(112')를 통해 제2 가상머신(120')을 웨이크(wake) 시키게 된다.
아울러, 상기 가상 KVM 터미널(1000)은, 도 6에서 보는 바와 같이, 내부망용 제1 가상 PC(100)가 활성화 상태임을 표시하는 제1 상태 표시부(1001), 외부망용 제2 가상 PC(100')가 활성화 상태임을 표시하는 제2 상태 표시부(1002), 가상 KVM 터미널 프로세서(1005) 및 가상 KVM 터미널 USB 인터페이스(1006)을 추가로 포함한다. 경우에 따라, 가상 KVM 터미널(1000)에서 가상 머신을 선택할 수 있도록 하기 위해서는, 이외에도 내부망용 제1 가상 PC(100)가 활성화되도록 하기 위한 제1 KVM 전환 버튼(1003) 및 외부망용 제2 가상 PC(100')가 활성화되도록 하기 위한 제2 KVM 전환 버튼(1004)을 더 포함하도록 한다. 다만, 전환 버튼 한 개만을 사용하여 누를 때마다 망 전환이 가능하게 할 수도 있다.
이제, 상기 가상 KVM 터미널(1000)의 동작에 대해서는, '선행특허발명'의 도 3 내지 도 5를 참조한 명세서에서 가상 머신 터미널로 상세히 설명되어 있으며, 가상 머신 장치 제어 구동부(810)에 대해서는 '선행특허발명'의 도 6을 참조한 명세서에서 상세히 설명되어 있으며, 상기 가상 KVM 제어부(131)에 대해서는 '선행특허발명'의 도 7에서 가상 머신 관리부를 가지고 도 7 내지 도 10을 참조한 명세서에서 상세히 설명되어 있으므로, 이들의 자세한 설명은 생략한다.
아울러, 상기 '선행특허발명'의 도 8 내지 도 11 및 이들의 설명에서, 상기 입출력장치를 지원하는 가상화 서버의 가상 머신 설정을 위한 방법에 대하여 설명되어 있으므로, 일반적인 설명은 생략한다.
이제, 상기 '선행특허발명'와 상이한 본 발명의 가상화 기술을 이용한 내외부망 격리 시스템에 특유한 동작을, 도 4 내지 도 8을 참조하여 설명한다.
우선 도 7에서 보는 바와 같이, 호스트 PC의 전원을 '온'하면(S71), 호스트 OS(700)의 리눅스 VM 에이전트(710)에 의해 리눅스 OS 프로그램에 의해 가상화 시스템을 부팅하게 되고 가상화부가 동작하기 시작한다(S72).
그리하여 우선순위의 가상머신(VM)부터 부팅을 시작하는데, 일례로 내부망용 제1 가상머신(120)부터 부팅이 이루어지는바, 이때는 제1 VM 윈도우 에이전트(112)에 의해 제1 VM 윈도우 OS(110)에 의해 내부망용 제1 가상 PC(100)가 동작하며, 대표적으로 제1 VGA 카드(142a)와 RGB 포트가 연결되는 상태로 제1 VGA 카드(142a) 및 USB 호스트 컨트롤러(142b) 직접 할당(750b)을 개시하게 된다(S73).
이후 다음 우선순위의 가상머신(VM) 부팅을 시작하는데, 일례로 외부망용 제2 가상머신(120') 부팅이 이루어지는바, 이때는 제2 VM 윈도우 에이전트(112')에 의해 제2 VM 윈도우 OS(110')에 의해 외부망용 제2 가상 PC(100')가 동작하며, 대표적으로 제2 VGA 카드(142a')와 DVI 포트가 연결되는 상태로 제2 VGA 카드(142a') 및 USB 호스트 컨트롤러(142b) 직접 할당(750b')을 개시하게 된다(S74).
이후, 가상 KVM 터미널(1000)에서는 KVM 선택 표시로서, 제1 가상머신 상태 표시 LED(도 6의 1001)를 점등하게 된다(S75).
이제, 일례로 USB 컨트롤 박스(도 4 및 도 5의 900)를 이용하여, USB 호스트 컨트롤러(142b)의 KVM 스위칭을 행하게 된다. (KVM 스위칭은 이외에도 도 6의 제1 및 제2 KVM 전환버튼(1003,1004)에 의해 이루어질 수도 있고, 원도우 에이전트(112,112')를 이용하여 모니터의 일측에 소프트웨어적으로 절환 스위치(미 도시됨)를 이용할 수도 있다)
아뭏든 일례로 제2 가상머신으로의 스위칭을 행하면, USB 컨트롤 박스(900)에서 USB 인터페이스기반 가상 KVM 제어부(131)로 KVM 전환 버튼 신호를 발생시키며 (더 구체적으로는, 가상 KVM 터미널(1000)의 프로세서(1005)가 USB 인터페이스(1006)을 통해 신호를 발하고, 호스트 USB 인터페이스(140) 및 호스트 프로세서(700)를 통해 USB 인터페이스기반 가상 KVM 제어부(131)로 신호를 발한다), KVM 선택 표시로서 제2 상태표시 LED(도 6의 1002)를 점등하게 된다(S81).
이후, USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 기존 활성화된 제1 가상머신(120)에게 전원 '슬립'(sleep)을 요청하고(S82), USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 새로 활성화할 제2 가상머신(120')에게 전원 '웨이크'(wake)를 요청하게 된다(S83),
이후, USB 인터페이스기반 가상 KVM 제어부(131)에서 가상화부로 기존 활성화된 제1 가상머신(120)에서 새로 활성화할 제2 가상머신(120')에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하게 된다(S84).
아울러, 바람직하게는, 도 5에서 보는 바와 같이, 모니터의 경우에도, 제2 윈도우 에이전트(112')에 의해 제2 윈도우 OS(110')가 기동하고 제2 가상머신(120')이 활성화되면서, 제2 VGA 카드(142a')가 DVI 포트에 연결되는 상태로 제2 VGA 카드(142a') 직접 할당(750b')을 개시하게 되며, 결국 출력자동감지가 되는 모니터(도 5의 410)에는, 제2 가상머신(120')에 의해 외부망의 태스크가 처리되면서 외부망의 디스플레이용 작업이 출력되어진다.
다만, 상기 모니터가 입력기능은 가지지 않고 오직 출력기능만을 갖는 것이라면, 굳이 모니터에 출력되는 경로를 RGB 포트에서 DVI 포트로 변경할 필연성이 있는 것은 아니며, 더욱이 모니터 출력은 이외에도 HDMI나 기타 디스플레이용 포트를 사용하여 이루어질 수 있고, 더욱이 상기 RGB 포트나 DVI 포트 혹은 HDMI 포트를 여러 대의 모니터를 사용하기 위한 고유의 목적으로 사용할 수도 있다.
물론, 두 대 이상의 모니터를 사용하면서, 내부망에서 외부망으로 절환시, 사용되는 모니터의 대상도 특정하여 내부망용 모니터와 외부망용 모니터를 분리한다면, 더욱 확실한 망분리가 가능하며, 모니터는 한 대만을 사용하나 출력자동감지가 되는 모니터를 사용하면서 망 절환시, 포트를 RGB 포트에서 DVI 포트(혹은 HDMI 포트)로 변경한다면, 모니터의 점유 공간을 한대 분으로 줄이면서 확실한 망분리가 가능하여 바람직할 것이다.
한편, 상기 도 8에서는 제1 가상머신에서 제2 가상머신으로의 스위칭을 행하는 동작의 흐름도이나, 역으로 제2 가상머신에서 제1 가상머신으로의 스위칭을 행하는 동작 역시, KVM 선택 표시로서 제1 상태표시 LED(도 6의 1001)를 점등하고, USB 인터페이스기반 가상 KVM 제어부(131)에서 기존 활성화된 제2 가상머신(120')에게 전원 '슬립'(sleep)을 요청하고 새로 활성화할 제1 가상머신(120)에게 전원 '웨이크'(wake)를 요청하며, 기존 활성화된 제2 가상머신(120')에서 새로 활성화할 제1 가상머신(120)에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하게 됨으로써, 유사한 방식으로 달성 가능하다. 이때, 기존 활성화된 제2 가상머신(120')에서 새로 활성화할 제1 가상머신(120)에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하는 보다 세부적인 동작은, 도 4 및 도 5를 참조하여 전술하였듯이, 제1 가상 머신(120)의 직접 연결 하드워에(122)에 연결되어 있는 USB 호스트컨트롤러(142b)를 논리적으로 디어태치(Deattach)하고, 반대로 제2 가상 머신(120')의 직접 연결 하드워에(122')에 연결되어 있는 USB 호스트컨트롤러(142b)를 논리적으로 어태치(Attach)함으로써 달성된다.
이상에서는 본 발명의 일 실시예에 따라 본 발명을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 변경 및 변형한 것도 본 발명에 속함은 당연하다.
10' : 가상 데스크탑 시스템(VDS: Virtual Desktop System)
100,100' : 가상 PC 110,110' : 가상 머신 OS
111,111' : 하드웨어 인터페이스 드라이버 112,112' : VM 윈도우 에이전트
120,120' : 가상 머신
121,121' : 에뮬레이트된 하드웨어 122,122' : 직접 액세스 하드웨어
130 : 가상화부 131 : 가상 KVM 제어부
140,140' : 호스트 자원
141,141' : 공유가능 호스트 자원
141a,141a' : 가상 CPU 141b,141b' : 가상 메모리
141c,141c' : 가상 디스크 공간
142,142' : 직접 할당 가능 호스트 인터페이스 142a,142a' : VGA 카드
142b : USB 호스트 컨트롤러 142c,142c' : NIC 카드
400 : 입출력장치 410 : 모니터
420 : 키보드 430 : 마우스
440 : 헤드셋 450 : USB 저장장치
700 : 호스트 OS 710 : VM 리눅스 에이전트
740b,740b' : 공유 연결 모드 750,750' : 장치 접근 스위치부
750a,750a' : 직접 할당 연결 모드 제1 패스
750b,750b' : 직접 할당 연결 모드 제2 패스
800 : 호스트 드라이버 810 : 가상 머신 장치 제어 구동부
1000: 가상 KVM 터미널 1001: 제1 상태표시 LED
1002: 제2 상태표시 LED 1003: 제1 KVM 전환버튼
1004: 제2 KVM 전환버튼 1005: 프로세서
1006: USB 인터페이스
제2 종래기술
11: 제1 접속 수단 12: 제2 접속 수단
V11, V12, V21, V22: 가상 머신
KVM1, KVM2: 연결 선택 장치

Claims (15)

  1. 가상화 기술을 이용한 내외부망 격리 시스템으로서,
    입출력을 지원하는 가상 데스크탑 시스템(10')과,
    상기 가상 데스크탑 시스템(10')과 연결된 한 벌의 입출력장치 세트(400)를 포함하되,
    상기 가상 데스크탑 시스템(10')은, 제1 가상 PC(100), 제2 가상 PC(100'), 호스트 드라이버(800) 및 가상화부(130)를 포함하여, 상기 한 벌의 입출력장치 세트(400)에게 제1 가상 PC(100)의 제1 가상 머신(120)과 제2 가상 PC(100')의 가상 머신(120') 중의 어느 하나를 배타적으로 할당하여 주고,
    상기 한 벌의 입출력장치 세트(400)는, 상기 제1 가상 머신(120) 및 제2 가상 머신(120') 중의 어느 하나와 접속을 위한 접속 수단을 포함하며,
    상기 제1 가상 PC(100) 및 상기 제2 가상 PC(100') 중의 어느 하나는 내부망에 접속되어 있고, 다른 하나는 외부망에 접속되어 있으며,
    제1 및 제2 NIC(142c,142c') 그리고 USB 호스트 컨트롤러(142b)를 포함한 장치의 전용 프로세서 능력이 요구되는 호스트 인터페이스는 상기 제1 및 제2 가상 머신(120,120')의 제1 및 제2 직접 할당 가능 접근 하드웨어(122,122')에게 직접 할당 가능 호스트 인터페이스 집합(142,142')을 직접 연결 모드(750b,750b')로 할당하여 주며, 상기 제1 및 제2 가상화부(120,120')는 호스트 OS(700)의 장치 접근 스위치부(750)에 의한 직접 할당 연결 모드(750b,750b')를 사용하여, 직접 액세스 하드웨어(122,122')로부터의 직접 할당 가능 호스트 인터페이스 집합(142,142')의 입출력 신호를 상기 한 벌의 입출력장치 세트(400)와 연결하며,
    상기 가상화부(130)는, 제1 및 제2 공유 가능 호스트 자원 집합(141,141')을 에뮬레이션하여 두 대의 가상 머신(120,120')이 공유할 수 있는 가상 호스트 자원 집합을 생성하고, 이를 각 가상 머신(120,120')의 에뮬레이트된 하드웨어(121,121')로 제공해 주며, 에뮬레이션 모드에서 활용 가능한 제1 및 제2 공유 가능 호스트 자원 집합(141,141')은 제1 및 제2 가상 프로세서(141a,141a')를 포함하며,
    제1 가상머신에서 제2 가상머신으로의 스위칭을 행하는 경우, 기존 활성화된 제1 가상머신(120)에서 새로 활성화할 제2 가상머신(120')에게로 USB 호스트컨트롤러 직접연결 스위칭을 요청하게 됨으로써 달성되며,
    역으로 제2 가상머신에서 제1 가상머신으로의 스위칭을 행하는 경우, 기존 활성화된 제2 가상머신(120')에서 새로 활성화할 제1 가상머신(120)에게로 USB 호스트컨트롤러 직접연결 스위칭을 요청하게 됨으로써 달성되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  2. 제 1 항에 있어서,
    상기 접속 수단은, 가상 KVM 터미널(1000)인 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  3. 제 1 항에 있어서,
    상기 접속 수단은, 일반적인 USB 포트인 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  4. 제 1 항에 있어서,
    제1 가상머신에서 제2 가상머신으로의 스위칭을 행하는 경우, 제1 윈도우 에이전트(112)에서 가상화부를 통하여 제1 가상 머신(120)의 직접 연결 하드워에(122)에 연결되어 있는 USB 호스트컨트롤러를 논리적으로 디어태치(Deattach)하고, 제2 윈도우 에이전트(112')에서 가상화부를 통하여 제2 가상 머신(120')의 직접 연결 하드워에(122')에 연결되어 있는 USB 호스트컨트롤러를 논리적으로 어태치(Attach)함으로써 달성되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  5. 제 1 항에 있어서,
    상기 가상머신 간의 스위칭은 USB 컨트롤 박스(900)에 의해 이루어지는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  6. 제 1 항에 있어서,
    상기 장치의 전용 프로세서 능력이 요구되는 호스트 인터페이스는, 제1 및 제2 VGA(142a, 142a')를 더 포함하며,
    제1 및 제2 VGA(142a, 142a')는 각각 상이한 디스플레이 연결 모드로 디스플레이 장치(410)에 연결되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  7. 제 6 항에 있어서,
    상기 제1 및 제2 VGA(142a, 142a') 중의 어느 일측은 RGB 연결 모드를 통해 상기 디스플레이 장치(410)에 연결되며, 다른 일측은 DVI 연결 모드나 HDMI 연결 모드를 통해 상기 디스플레이 장치(410)에 연결되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  8. 제 1 항에 있어서,
    상기 호스트 OS(700)는 가상머신 리눅스 에이전트(710)에 의해 마스터 서버를 활성화하며, 상기 제1 및 제2 PC(100,100')의 각각의 제1 및 제2 가상 머신 OS(110,110')는 제1 및 제2 가상머신 윈도우 에이전트(112,112')에 의해 각각 활성화되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  9. 제 5 항에 있어서,
    상기 제1 가상머신에서 제2 가상머신으로의 스위칭을 행하는 경우, KVM 선택 표시로서 제2 상태표시 LED(1002)를 점등하고, 상기 제1 가상머신에서 제2 가상머신으로의 절환이 이루어지며,
    역으로 제2 가상머신에서 제1 가상머신으로의 스위칭을 행하는 경우, KVM 선택 표시로서 제1 상태표시 LED(1001)를 점등하고, 제2 가상머신에서 제1 가상머신으로의 절환이 이루어지는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  10. 제 9 항에 있어서,
    상기 USB 호스트 컨트롤러(142b)를 별도의 장치로 하여 구현되며,
    상기 USB 컨트롤 박스(900)의 기능은 상기 USB 호스트 컨트롤러(142b)에 포함되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  11. 제 5 항에 있어서,
    상기 USB 컨트롤 박스(900)의 기능은 상기 제1 및 제2 PC(100,100') 각각의 제 및 제2 가상머신 OS(110,110')에 있는 원도우 에이전트(112,112')에 포함되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 시스템.
  12. 제 1 항의 가상화 기술을 이용한 내외부망 격리 시스템을 이용한 가상화 기술을 이용한 내외부망 격리 방법으로서,
    (a) 호스트 PC의 전원을 '온'하면(S71), 호스트 OS(700)와 가상화부(130)가 차례로 부팅하게 되고 가상화부가 동작하기 시작하는 단계(S72);
    (b) 가장 높은 우선순위의 제1 가상머신(120)부터 부팅이 이루어지되, 제1 VM 윈도우 OS(110)에 의해 제1 가상 PC(100)가 동작하며, USB 호스트 컨트롤러(142b)를 먼저 직접 할당(750b)하는 단계(S73);
    (c) 이후 다음 우선순위의 제2 가상머신(120') 부팅이 이루어지되, 제2 VM 윈도우 OS(110')에 의해 제2 가상 PC(100')가 동작하며, USB 호스트 컨트롤러(142b)는 제2 호스트 자원 집합(140')에 연결되지 않고 대기하는 단계(S74); 및
    (e) 이후, 제2 가상머신으로의 스위칭을 할 경우, VM 리눅스 에이전트(710)에서 USB 인터페이스기반 가상 KVM 제어부(131)로 KVM 전환 버튼 신호를 발생시키고(S81), USB 인터페이스기반 가상 KVM 제어부(131)에서 기존 활성화된 제1 가상머신(120)에게 전원 '슬립'(sleep)을 요청하고(S82), USB 인터페이스기반 가상 KVM 제어부(131)에서 새로 활성화할 제2 가상머신(120')에게 전원 '웨이크'(wake)를 요청하며(S83), 이후, USB 인터페이스기반 가상 KVM 제어부(131)에서 기존 활성화된 제1 가상머신(120)에서 새로 활성화할 제2 가상머신(120')에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하는 단계(S84);
    를 포함하는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 방법.
  13. 제 12 항에 있어서,
    상기 (b) 단계에서, 제1 VGA 카드(142a)와 RGB 포트가 연결되는 상태로 제1 VGA 카드(142a) 직접 할당(750b)을 개시하며,
    상기 (c) 단계에서, 제2 VGA 카드(142a')와 DVI 포트나 HDMI 포트가 연결되는 상태로 제2 VGA 카드(142a') 직접 할당(750b')을 개시하는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 방법.
  14. 제 12 항에 있어서,
    (d) 상기 (c) 단계 이후, 가상 KVM 터미널(1000)에서는 KVM 선택 표시로서, 제1 가상머신 상태 표시 LED(1001)를 점등하는 단계(S75); 를 더 포함하며,
    상기 (e) 단계에서, 제2 가상머신으로의 스위칭을 행하면, KVM 선택 표시로서 제2 상태표시 LED(1002)를 점등하는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 방법.
  15. 제 12 항에 있어서,
    제2 가상머신에서 제1 가상머신으로의 스위칭을 행하는 경우, USB 인터페이스기반 가상 KVM 제어부(131)에서 기존 활성화된 제2 가상머신(120')에게 전원 '슬립'(sleep)을 요청하고 새로 활성화할 제1 가상머신(120)에게 전원 '웨이크'(wake)를 요청하며, 기존 활성화된 제2 가상머신(120')에서 새로 활성화할 제1 가상머신(120)에게로 USB 호스트컨트롤러(142b) 직접연결 스위칭을 요청하게 됨으로써 달성되는 것을 특징으로 하는 가상화 기술을 이용한 내외부망 격리 방법.
KR20140079811A 2014-06-27 2014-06-27 가상화 기술을 이용한 내외부망 격리 시스템 및 방법 KR101498965B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140079811A KR101498965B1 (ko) 2014-06-27 2014-06-27 가상화 기술을 이용한 내외부망 격리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140079811A KR101498965B1 (ko) 2014-06-27 2014-06-27 가상화 기술을 이용한 내외부망 격리 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101498965B1 true KR101498965B1 (ko) 2015-03-04

Family

ID=53026341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140079811A KR101498965B1 (ko) 2014-06-27 2014-06-27 가상화 기술을 이용한 내외부망 격리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101498965B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160131800A (ko) * 2015-05-08 2016-11-16 대우조선해양 주식회사 망 분리 환경에서 메일 서비스 시스템 및 방법
KR101841174B1 (ko) * 2016-09-29 2018-05-04 주식회사 삼보컴퓨터 Kvm 스위치 및 kvm 스위칭 방법
KR101982164B1 (ko) * 2018-03-13 2019-08-28 주식회사 안랩 네트워크 관리 장치 및 방법
CN113282527A (zh) * 2021-05-08 2021-08-20 珠海金智维信息科技有限公司 一种实现usb设备切换管理的方法、装置和主机
CN113473572A (zh) * 2020-03-31 2021-10-01 苏州佳世达电通有限公司 主机连网系统及主机连网方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110100839A (ko) * 2010-03-05 2011-09-15 주식회사 안철수연구소 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법
KR20120129740A (ko) * 2011-05-18 2012-11-28 한국전자통신연구원 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법
KR101239290B1 (ko) * 2012-07-23 2013-03-06 (주)엔텍 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법
KR20130119290A (ko) * 2012-04-23 2013-10-31 한국전자통신연구원 망 분리 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110100839A (ko) * 2010-03-05 2011-09-15 주식회사 안철수연구소 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법
KR20120129740A (ko) * 2011-05-18 2012-11-28 한국전자통신연구원 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법
KR20130119290A (ko) * 2012-04-23 2013-10-31 한국전자통신연구원 망 분리 장치 및 방법
KR101239290B1 (ko) * 2012-07-23 2013-03-06 (주)엔텍 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160131800A (ko) * 2015-05-08 2016-11-16 대우조선해양 주식회사 망 분리 환경에서 메일 서비스 시스템 및 방법
KR102419104B1 (ko) * 2015-05-08 2022-07-11 대우조선해양 주식회사 망 분리 환경에서 메일 서비스 시스템 및 방법
KR101841174B1 (ko) * 2016-09-29 2018-05-04 주식회사 삼보컴퓨터 Kvm 스위치 및 kvm 스위칭 방법
KR101982164B1 (ko) * 2018-03-13 2019-08-28 주식회사 안랩 네트워크 관리 장치 및 방법
CN113473572A (zh) * 2020-03-31 2021-10-01 苏州佳世达电通有限公司 主机连网系统及主机连网方法
CN113473572B (zh) * 2020-03-31 2024-04-19 苏州佳世达电通有限公司 主机连网系统及主机连网方法
CN113282527A (zh) * 2021-05-08 2021-08-20 珠海金智维信息科技有限公司 一种实现usb设备切换管理的方法、装置和主机

Similar Documents

Publication Publication Date Title
US11347530B2 (en) Method, apparatus and system for transparent unification of virtual machines
KR100893541B1 (ko) 다수의 클라이언트 간의 물리 장치 공유
TWI526931B (zh) 用於虛擬機器之繼承產品啟動
US8996864B2 (en) System for enabling multiple execution environments to share a device
US10146940B2 (en) Multiple hardware-separated computer operating systems within a single processor computer system to prevent cross-contamination between systems
US20160149921A1 (en) Trusted peripheral device for a host in a shared electronic environment
KR101498965B1 (ko) 가상화 기술을 이용한 내외부망 격리 시스템 및 방법
US20150370582A1 (en) At least one user space resident interface between at least one user space resident virtual appliance and at least one virtual data plane
US11113046B1 (en) Integration and remote control of a pre-assembled computer system into a server for a virtualization service
US10353727B2 (en) Extending trusted hypervisor functions with existing device drivers
US10257166B2 (en) Guest netfilter protection by virtual machine function
US11243589B1 (en) Remote power button actuation device for a pre-assembled computer system integrated into a server for a virtualization service
US10289853B2 (en) Secure driver platform
KR101239290B1 (ko) 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법
JP2022523522A (ja) セキュア・インターフェイス制御の高レベルのページ管理
AU2017325648A1 (en) Remote computing system providing malicious file detection and mitigation features for virtual machines
Gebhardt et al. Challenges for inter virtual machine communication
KR101173911B1 (ko) 가상 머신 사이에 스위칭 방식의 선택을 이용한 망 분리 시스템
US9411980B2 (en) Preventing modifications to code or data based on the states of a master latch and one or more hardware latches in a hosting architecture
KR20140099647A (ko) 가상 실행 환경에서의 라이선스 관리를 위한 시스템 및 방법
US11768696B2 (en) Security for microengine access
US11853771B1 (en) Offload card based virtualization of a pre-assembled computer system integrated into a server for a virtualization service

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200120

Year of fee payment: 6