KR20150092890A - 가상화 기반 보안 강화 장치 및 그 방법 - Google Patents

가상화 기반 보안 강화 장치 및 그 방법 Download PDF

Info

Publication number
KR20150092890A
KR20150092890A KR1020140013486A KR20140013486A KR20150092890A KR 20150092890 A KR20150092890 A KR 20150092890A KR 1020140013486 A KR1020140013486 A KR 1020140013486A KR 20140013486 A KR20140013486 A KR 20140013486A KR 20150092890 A KR20150092890 A KR 20150092890A
Authority
KR
South Korea
Prior art keywords
operating system
authentication
virtual machine
information
host operating
Prior art date
Application number
KR1020140013486A
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 KR1020140013486A priority Critical patent/KR20150092890A/ko
Priority to US14/599,278 priority patent/US20150220709A1/en
Publication of KR20150092890A publication Critical patent/KR20150092890A/ko

Links

Images

Classifications

    • 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
    • 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/45Structures or tools for the administration of authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

본 발명의 일 실시 예에 따른 강화된 보안을 지원하는 전자 장치는, 프로세서; 메모리; 가상 머신 모니터; 호스트 운영체제가 동작하는 제1 가상 머신; 및 보안 운영체제가 동작하는 제2 가상 머신을 포함할 수 있다. 각각의 운영 체제는 상기 가상 머신 모니터를 통해 할당된 시스템 자원에만 접근할 수 있다.

Description

가상화 기반 보안 강화 장치 및 그 방법{Security-Enhanced Device based on Virtualization and the Method thereof}
본 발명은 가상화 기술을 이용하여 인터넷 뱅킹이나 전자상거래 등과 같은 인증이 요구되는 서비스를 이용할 때 사용되는 인증 크리덴셜(authentication credential) 정보 및/또는 인증 모듈의 보안을 강화하기 위한 기술에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, PDA(Personal Digital Assistant), 전자수첩, 스마트 폰, 태블릿 PC(Personal Computer) 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 전자 장치가 다양하게 출시되고 있다. 이러한 전자 장치는 각자의 전통적인 고유 영역에 머무르지 않고 다른 단말들의 영역까지 아우르는 모바일 컨버전스(mobile convergence) 단계에 이르고 있다.
이와 같은 전자 장치를 포함하는 사용자 단말에는, 인터넷 뱅킹이나 전자상거래 등과 같이 사용자 인증을 요구하는 서비스를 이용하기 위해 필요한 인증 크리덴셜 정보가 사용자 단말의 파일 시스템에 저장되어 있다. 사용자 단말은 이와 같은 인증 크리덴셜 정보를 기반으로 하여 인증모듈에 의해 획득되는 암호화된 인증정보를 이용하여 인증 서버를 통한 인증을 수행할 수 있다.
이와 같은 환경에서는, 전자 장치의 운영체제나 애플리케이션이 자격 증명 정보 등에 쉽게 접근할 수 있기 때문에, 전자 장치가 해킹이나 악성 코드 등으로 피해를 입을 경우, 인증 크리덴셜 정보와 같은 중요한 정보들이 쉽게 유출될 수 있다.
인증 크리덴셜 정보를 서버에서 통합 관리하고, 클라이언트 단말에서 네트워크를 통해 서버에 접속하여 암호화된 인증 정보를 이용할 수 있다. 그러나 이와 같은 방법 역시, 클라이언트와 서버 간의 보안 통신을 위해 키 교환 등과 같은 추가 보안 프로세스를 요구하므로, 클라이언트 단말의 보안이 취약할 경우 서버에서 관리되는 인증 크리덴셜 정보는 여전히 안전하게 관리되지 못한다.
본 발명의 다양한 실시 예들은 스마트 단말과 같은 전자 장치에서, 운영체제 사이의 완벽한 격리를 제공하는 가상화 기술을 이용하여 인증 크리덴셜 정보와 인증 모듈을 안전하게 가상화된 보안 영역에서 서비스함으로써, 전자 장치의 운영체제가 가지는 보안 취약점으로 인해 발생할 수 있는 인증 크리덴셜 정보와 같은 중요한 정보의 손상 또는 유출을 근본적으로 방지할 수 있는 장치 및 방법을 제공한다.
본 발명의 일 실시 예에 따른 강화된 보안을 지원하는 전자 장치는, 프로세서; 메모리; 가상 머신 모니터; 호스트 운영체제가 동작하는 제1 가상 머신; 및 보안 운영체제가 동작하는 제2 가상 머신을 포함할 수 있다. 각각의 운영 체제는 상기 가상 머신 모니터를 통해 할당된 시스템 자원에만 접근할 수 있다.
또한 상기 가상 머신 모니터는 이벤트 채널과 공유 메모리를 지원하고, 상기 호스트 운영체제는 상기 이벤트 채널을 통해 상기 보안 운영체제와 통신할 수 있다.
또한 상기 호스트 운영체제 상에서 동작하는 애플리케이션에서 인증 요청이 발생하면, 상기 호스트 운영체제는 상기 인증 요청에 대한 이벤트를 상기 이벤트 채널을 통해 상기 보안 운영체제로 전송할 수 있다.
또한 상기 제2 가상 머신은 적어도 하나의 인증 모듈과 적어도 하나의 인증 크리덴셜을 포함하고, 상기 인증 모듈은 상기 인증 크리덴셜을 이용하여 암호화된 인증 정보를 생성할 수 있다.
또한 상기 암호화된 인증 정보는 상기 가상 머신 모니터를 통해 상기 제1 가상 머신으로 전달될 수 있고 상기 전자 장치 외부에 위치한 인증 서버를 통한 전자 장치의 인증에 사용될 수 있다.
또한 상기 호스트 운영체제는 상기 가상 머신 모니터를 통해 상기 보안 운영체제로 보안 정보를 요청하고, 상기 보안 운영체제는 상기 요청에 응답하여 생성된 보안 정보를 상기 가상 머신 모니터를 통해 상기 호스트 운영체제로 전달할 수 있다.
본 발명의 일 실시 예에 따른 서로 다른 가상 머신 상에서 구동되는 호스트 운영체제와 보안 운영체제를 이용한 인증 수행 방법은, 상기 호스트 운영체제에서 가상 머신 모니터를 통해 상기 보안 운영체제로 인증 요청을 전송하는 단계; 상기 인증 요청에 응답하여 암호화된 인증 정보를 생성하는 단계; 및 상기 생성된 인증 정보를 상기 가상 머신 모니터를 통해 상기 호스트 운영체제로 전송하는 단계를 포함할 수 있다. 상기 호스트 운영체제는 상기 인증 정보를 인증 서버를 통한 인증에 이용할 수 있다.
본 발명의 다양한 실시 예에 따르면, 기존의 호스트 운영체제에서 저장되고 동작하는 인증 크리덴셜과 인증 모듈을 보안 운영체제 영역에서 관리되고 동작하게 함으로써, 사용자에게 강화된 보안 환경에서의 인증 서비스를 제공할 수 있다. 또한, 기존의 인터페이스를 변경하지 않고 보안 영역을 별도로 분리함으로써 강화된 보안을 지원하는 가상화 환경으로 전환이 쉽게 이루어질 수 있다.
도 1은 본 발명의 일 실시 예에 따른 보안 시스템을 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 인증 처리 과정을 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 운영체제 사이의 데이터 전달 방법을 나타낸다.
도 4는 본 발명의 일 실시 예에 따른 인증 수행 프로세스를 나타낸다.
이하, 첨부된 도면들을 참조하여 본 발명의 다양한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 즉, 하기의 설명에서는 본 발명의 실시 예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 1은 본 발명의 일 실시 예에 따른 보안 시스템을 나타낸다. 도 1을 참조하면, 보안 시스템은 전자 장치 100과 인증 서버 200을 포함할 수 있다. 전자 장치 100은 스마트폰(smart phone)이나 태블릿(tablet)과 같은 스마트 단말일 수 있다. 그러나 전자 장치 100은 일반적인 데스크톱 PC(desktop PC)나 랩탑(laptop)일 수 있다. 이 외에도 PDA, 스마트 워치(smart watch), 스마트 안경(smart glasses)와 같은 다양한 장치들이 전자 장치 100에 해당할 수 있다. 전자 장치 100은 통상적으로 모바일 가상화(mobile virtualization) 기술이 지원되는 어떠한 종류의 장치에도 해당될 수 있다. 또한, 가상화 기술은 반드시 모바일 가상화 기술에만 한정되는 것은 아니며, 데스크톱 PC나 랩탑 등에 적용되어 본 발명의 실시 형태가 구현될 수 있는 가상화 기술을 포함한다.
일반적으로 가상화 기술은 물리적(physical) 컴퓨터 자원을 논리적(logical) 컴퓨터 자원으로 분할(또는 통합)하여 시스템 자원을 효율적으로 활용할 수 있게 하는 기술을 의미한다. 통상적인 가상화 기술은 복수 개의 운영 체제(operation system; OS)들이 실제 시스템 하드웨어 상에서 동작하는 것처럼 동작하게 하는 가상 머신을 만들기 위해 가상 머신 모니터(virtual machine monitor; VMM) 또는 하이퍼바이저(hypervisor)와 같은 레이어(layer)를 사용한다. 이와 같은 가상 머신 모니터는 운영체제의 관리프로그램(supervisor) 또는 커널(kernel)보다 높은 수준의 제어를 가지며, 가상 머신들이 시스템 하드웨어에 직접 연결되는 것을 막고, 가상머신들을 서로 분리시킬 수 있다.
다시 도 1을 참조하면, 전자 장치 100은 하드웨어 110, 가상 머신 모니터 120, 제1 가상 머신 130, 제2 가상 머신 140을 포함할 수 있다.
하드웨어 110은 프로세서 및 메모리를 포함할 수 있다. 또한, 사용자 입출력 장치(Input/Output Device; I/O)를 더 포함할 수 있다. 하드웨어 110은 이 외에, 전자 장치 100에 포함되는 추가적은 모듈, 예를 들어 각종 센서나 디스플레이 패널, 통신 모듈 등을 더 포함할 수 있다.
가상 머신 모니터 120은 2개 이상의 운영체제를 각각의 가상 머신에서 동작시키기 위한 가상화를 지원한다. 또한, 가상 머신 모니터 120은 서로 다른 가상 머신에서 구동되는 운영체제 사이의 통신을 위하여 이벤트 채널(event channel) 122와 공유 메모리 124를 지원한다.
제1 가상 머신 130에서는 호스트 운영체제 132가 동작할 수 있다. 호스트 운영체제 상에서는, 일반적인 응용 프로그램 136이 동작할 수 있다. 응용 프로그램은, 예를 들어, 스마트폰의 모바일 뱅킹 앱(app)과 같은 금융 관련 애플리케이션일 수 있다. 응용 프로그램 136은 호스트 운영체제 132 상에서 복수 개가 설치 및 구동될 수 있다. 호스트 운영체제 132는 응용 프로그램 136에 따른 인증 인터페이스 134를 지원할 수 있다.
제2 가상 머신 140에서는 보안 운영체제 142가 동작할 수 있다. 또한 제2 가상 머신 140은 서로 다른 암호화 방법을 지원하는 복수 개의 인증 모듈 144(a-n) 및 서로 다른 인증 크리덴셜 146(a-n)을 포함할 수 있다. 여기서 인증 크리덴셜(Credential)이라 함은, 정보 시스템에서 사용하는 암호학적 개인 정보(personal information)로서, 한 개인이 사용하는 공개 키, 암호 알고리즘을 위한 공개 키/개인 키 쌍, 공인 인증 기관이 발행하는 공개 키 인증서(certificate), 신뢰하는 루트 인증 기관(예, KISA 최상위 인증 기관) 관련 정보, 패스워드, 인가 정보 등을 포함할 수 있다. 또한 보안 운영체제 142가 동작하는 제2 가상 머신 140은, 외부로부터 안전한 환경을 제공하기 위해 네트워크 장치가 연결되지 않고, 네트워크 장치가 연결된 호스트 운영체제 132가 동작하는 제1 가상 머신 130을 통해 인증 서버 200와 같은 외부 장치와 통신할 수 있다.
가상 머신 모니터 120은 제1 가상 머신 130과 제2 가상 머신 사이의 완벽한 격리 상태 150을 제공한다. 각각의 가상 머신에서 동작하는 호스트 운영체제 132와 보안 운영체제 142는 가상 머신 모니터를 통해 할당된 가상 시스템 자원, 예를 들어 가상 CPU, 가상 메모리, 또는 가상 I/O 장치에만 접근할 수 있다. 이와 같은 환경에서, 호스트 운영체제 132와 보안 운영체제 142 사이의 정보 교환을 위한 통신은 이벤트 채널 122와 공유 메모리 124를 통해 수행될 수 있다.
이와 같은 전자 장치 100은 일반 애플리케이션이 동작하는 호스트 운영체제 영역과 인증 크리덴셜 정보를 관리하고 인증 모듈이 동작하는 보안 운영체제 영역이 동시에 사용되는 환경을 지원한다. 특히, 보안 운영체제 142는 금융 및 결재 등의 보안/인증을 요구하는 서비스를 이용할 때 사용되는 인증 크리덴셜 정보를 이용하여 인증 모듈을 통해 암호화된 인증 정보를 전달하고, 호스트 운영체제 132(또는 응용 프로그램 136)는 전달받은 암호화된 인증 정보를 이용하여 외부의 인증 서버 200를 통한 인증 절차를 수행할 수 있다. 이와 같은 구성을 통해, 호스트 운영체제는 필요한 보안 정보를 가상 머신 모니터를 통하여 보안 운영체제에 요청할 수 있다. 보안 운영체제는 요청이 수신되면, 이에 응답하여 보안 정보를 생성하고, 생성된 보안 정보를 가상 머신 모니터를 통해 호스트 운영체제를 통해 전달될 수 있다. 이 과정에서 필요한 정보나 생성된 정보는 공유 메모리를 통해 교환될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 인증 처리 과정을 나타낸다.
예를 들어, 사용자가 스마트폰과 같은 전자 장치의 은행 애플리케이션을 이용하여 은행 계좌에 접근하려고 하는 경우, 공인인증서와 같은 인증 정보를 이용한 사용자(또는 단말) 인증이 요구될 수 있다. 이 경우, 응용 프로그램 136은 인증 인터페이스 134를 통해 인증 요청을 수행한다. 인증 인터페이스 134는 호스트 운영체제 132를 통해 미리 정해진 메모리 영역에 인증을 위한 입력 정보를 저장한다. 인증을 위한 입력 정보는 사용자로부터 입력될 수도 있고(예를 들면, 공인인증서에 대한 비밀번호), 단말에 미리 저장되어 있을 수 있다. 인증을 위한 입력 정보가 가상 머신 모니터 120이 지원하는 공유 메모리 124에 저장되면, 호스트 운영체제 132는 가상 머신 모니터 120 상의 이벤트 채널 122를 통해 제2 가상 머신 140 상에서 구동되는 보안 운영체제 142로 이벤트를 전송할 수 있다. 여기서 공유 메모리 124라 함은, 호스트 운영체제 132가 어떤 정보를 저장하고, 이 정보를 보안 운영체제 142가 접근할 수 있는 가상 머신 모니터에 의해 지원되는 영역을 의미하며, 호스트 운영체제 132와 보안 운영체제 142가 동시에 접근할 수 있는 메모리 주소(memory address)를 의미하는 것은 아니다.
보안 운영체제 142를 통해 이벤트를 전달받은 인증 모듈 144는, 복수 개의 인증 크리덴셜 중 인증을 위한 입력 정보에 해당하는 인증 크리덴셜을 이용하여, 암호화된 인증 정보를 생성할 수 있다. 인증 모듈 144는 생성된 암호화된 인증 정보를 공유 메모리 영역에 기록하고, 이벤트 채널을 통해 호스트 운영체제에 인증 정보에 대한 이벤트를 전달한다.
인증 인터페이스 134(또는 응용 프로그램 136)은 이벤트 채널을 통해 전달된 이벤트를 확인하고, 정해진 메모리 영역에서 암호화된 인증 정보를 읽어온다. 인증 인터페이스 134는 인증 서버 200로 암호화된 인증 정보를 네트워크를 통해 전송한다. 인증 서버 200은 수신한 인증 정보에 기초한 인증 결과를 인증 인터페이스 134로 반환하고, 인증 인터페이스 134는 반환된 인증 결과를 응용 프로그램 136으로 전달한다.
도 3은 본 발명의 일 실시 예에 따른 운영체제 사이의 데이터 전달 방법을 나타낸다.
도 3을 참조하면, 호스트 운영체제 132와 보안 운영체제 142는 가상 머신 모니터 120의 공유 메모리를 통해 데이터를 전달할 수 있다. 가상 머신 모니터는 호스트 운영체제와 보안 운영체제를 위해 각각의 가상 메모리를 할당한다. 또한, 가상 머신 모니터 120은 물리 메모리에서 호스트 운영체제 물리 메모리와 보안 운영체제 물리 메모리를 분리할 수 있다. 따라서, 호스트 운영체제 132는 보안 운영체제 142의 물리 메모리 영역에 접근할 수 없고, 역으로 보안 운영체제 142는 호스트 운영체제 132의 물리 메모리 영역에 접근할 수 없다. 호스트 운영체제 132는 공유 메모리로 사용할 제1 메모리 영역 312를 할당하여 가상 머신 모니터로 알리고, 보안 운영체제 142는 호스트 운영체제 132에서 제공한 공유 메모리를 메모리 주소로 맵핑하여 사용할 수 있다. 하나의 운영 체제가 다른 운영체제로 데이터 전송을 위한 이벤트를 전달할 때, 가상 머신 모니터 120은 이벤트를 전송한 운영체제(예를 들어, 호스트 운영체제 132)의 특정 메모리 영역(예를 들어, 메모리 영역 312)의 데이터를 이벤트를 수신할 운영체제(예를 들어, 보안 운영체제 142)의 특정 메모리 영역(예를 들어, 메모리 영역 322)에 맵핑되도록 하여, 서로 다른 운영체제 사이의 데이터 교환을 지원할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 인증 수행 프로세스를 나타낸다.
도 4를 참조하면, 사용자 또는 전자 장치 100에 대한 인증은 인증 서버 200와 전자 장치 100를 구성하는 호스트 운영체제 132, 가상 머신 모니터 120, 및 보안 운영체제 142 사이에서 수행된다. 도 4의 설명에서, 호스트 운영체제 132 및 보안 운영체제 142는 각각 제2 가상 머신 130 및 제2 가상 머신 140으로 대체할 수 있다. 도 4와 관련된 설명에 있어서, 전술한 내용과 중복되는 설명은 생략한다.
S410과 S420에서, 호스트 운영체제 132는 인증 정보를 요청한다. 이 인증 정보 요청은 가상 머신 모니터 120을 통해 보안 운영체제 142로 전달된다. S410에서 호스트 운영체제 132는 가상 머신 모니터의 이벤트 채널을 통해 이벤트를 전송하고, 공유 메모리에 인증을 위한 정보를 기록할 수 있다. S420에서 이벤트 채널을 통한 이벤트가 보안 운영체제 142로 전달되고, 보안 운영체제 142는 공유 메모리 상의 인증을 위한 정보를 획득할 수 있다.
S430에서 보안 운영체제 142의 인증 모듈은 획득된 정보에 기초하여, 대응되는 인증 크리덴셜을 파악하여 암호화된 인증 정보를 생성한다. 예를 들어, 호스트 운영체제 132의 애플리케이션은 입력 인터페이스를 통해 공인인증서의 비밀번호 등을 입력 받을 수 있고, 이 정보는 보안 운영체제 142로 전달된다. 보안 운영체제 142는 인증 정보를 요청한 애플리케이션에 대한 정보, 필요한 인증서 정보 등을 통해 정확한 인증 크리덴셜을 파악하고, 입력 받은 비밀번호 등을 통해 인증 정보를 획득할 수 있다. 인증 모듈은 이 인증 정보를 암호화하여 암호화된 인증 정보를 생성할 수 있다. S440 및 S450에서 보안 운영체제 142는 이와 같이 암호화된 인증 정보를 호스트 운영체제로 전달할 수 있다. S440에서 보안 운영체제 142는 공유 메모리에 생성된 인증 정보를 저장하고, 인증 정보의 생성에 관한 이벤트를 발생시킬 수 있다. S450에서 이벤트는 가상 머신 모니터 120을 통해 호스트 운영체제 132로 전달되고, 호스트 운영체제 132는 공유 메모리로부터 생성된 인증 정보를 획득할 수 있다.
S460에서 호스트 운영체제 132는 인증 서버 200으로 인증을 요청한다. 인증 서버 200에서는 S470에서 인증을 수행하고, S480에서 인증 결과를 전자 장치 100(즉, 호스트 운영체제 132)로 반환할 수 있다.
이상 본 명세서를 통해 개시된 모든 실시 예들과 조건부 예시들은, 본 발명의 기술 분야에서 통상의 지식을 가진 당업자가 독자가 본 발명의 원리와 개념을 이해하도록 돕기 위한 의도로 기술된 것으로, 당업자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. 강화된 보안을 지원하는 전자 장치에 있어서,
    프로세서;
    메모리;
    가상 머신 모니터;
    호스트 운영체제가 동작하는 제1 가상 머신; 및
    보안 운영체제가 동작하는 제2 가상 머신을 포함하고,
    각각의 운영 체제는 상기 가상 머신 모니터를 통해 할당된 시스템 자원에만 접근할 수 있는 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서,
    상기 가상 머신 모니터는 이벤트 채널과 공유 메모리를 지원하고,
    상기 호스트 운영체제는 상기 이벤트 채널을 통해 상기 보안 운영체제와 통신하는 것을 특징으로 전자 장치.
  3. 제2항에 있어서,
    상기 호스트 운영체제 상에서 동작하는 애플리케이션에서 인증 요청이 발생하면, 상기 호스트 운영체제는 상기 인증 요청에 대한 이벤트를 상기 이벤트 채널을 통해 상기 보안 운영체제로 전송하는 것을 특징으로 하는 전자 장치.
  4. 제3항에 있어서,
    상기 호스트 운영체제는 상기 인증 요청과 관련된 정보를 상기 공유 메모리에 저장하는 것을 특징으로 하는 전자 장치.
  5. 제4항에 있어서,
    상기 보안 운영체제는 상기 공유 메모리에 저장된 정보에 접근할 수 있는 것을 특징으로 하는 전자 장치.
  6. 제5항에 있어서,
    상기 호스트 운영체제는 상기 호스트 운영체제의 가상 메모리의 일부 영역을 공유 메모리로 할당하여 상기 가상 머신 모니터로 통보하고,
    상기 보안 운영체제는 상기 공유 메모리를 상기 보안 운영체제의 가상 메모리의 일부 영역에 맵핑하는 것을 특징으로 하는 전자 장치.
  7. 제1항에 있어서,
    상기 제2 가상 머신은 적어도 하나의 인증 모듈과 적어도 하나의 인증 크리덴셜을 포함하고,
    상기 인증 모듈은 상기 인증 크리덴셜을 이용하여 암호화된 인증 정보를 생성하는 것을 특징으로 하는 전자 장치.
  8. 제7항에 있어서,
    상기 암호화된 인증 정보는 상기 가상 머신 모니터를 통해 상기 제1 가상 머신으로 전달되는 것을 특징으로 하는 전자 장치.
  9. 제8항에 있어서,
    상기 암호화된 인증 정보는 상기 전자 장치 외부에 위치한 인증 서버를 통한 전자 장치의 인증에 사용되는 것을 특징으로 하는 전자 장치.
  10. 제1항에 있어서,
    상기 호스트 운영체제는 상기 가상 머신 모니터를 통해 상기 보안 운영체제로 보안 정보를 요청하고,
    상기 보안 운영체제는 상기 요청에 응답하여 생성된 보안 정보를 상기 가상 머신 모니터를 통해 상기 호스트 운영체제로 전달하는 것을 특징으로 하는 전자 장치.
  11. 서로 다른 가상 머신 상에서 구동되는 호스트 운영체제와 보안 운영체제를 이용한 인증 수행 방법에 있어서,
    상기 호스트 운영체제에서 가상 머신 모니터를 통해 상기 보안 운영체제로 인증 요청을 전송하는 단계;
    상기 인증 요청에 응답하여 암호화된 인증 정보를 생성하는 단계; 및
    상기 생성된 인증 정보를 상기 가상 머신 모니터를 통해 상기 호스트 운영체제로 전송하는 단계를 포함하고,
    상기 호스트 운영체제는 상기 인증 정보를 인증 서버를 통한 인증에 이용하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 인증 요청을 전송하는 단계는,
    인증을 위한 정보를 공유 메모리 영역에 저장하는 단계;
    이벤트 채널을 통해 인증 요청 이벤트를 상기 보안 운영체제로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 암호화된 인증 정보를 생성하는 단계는,
    상기 보안 운영체제의 인증 모듈이 상기 공유 메모리 영역에 저장된 인증을 위한 정보를 획득하는 단계;
    상기 인증 모듈이 상기 인증을 위한 정보에 대응되는 인증 크리덴셜을 이용하여 암호화된 인증 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 인증 정보를 전송하는 단계는,
    상기 생성된 인증 정보를 공유 메모리 영역에 저장하는 단계;
    상기 이벤트 채널을 통해 인증 정보에 대한 이벤트를 상기 호스트 운영체제로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제12항 내지 14항 중 어느 한 항에 있어서,
    상기 호스트 운영체제는 상기 호스트 운영체제의 가상 메모리의 일부 영역을 상기 공유 메모리로 할당하여 상기 가상 머신 모니터로 통보하고,
    상기 보안 운영체제는 상기 공유 메모리를 상기 보안 운영체제의 가상 메모리의 일부 영역에 맵핑하는 것을 특징으로 하는 방법.
KR1020140013486A 2014-02-06 2014-02-06 가상화 기반 보안 강화 장치 및 그 방법 KR20150092890A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140013486A KR20150092890A (ko) 2014-02-06 2014-02-06 가상화 기반 보안 강화 장치 및 그 방법
US14/599,278 US20150220709A1 (en) 2014-02-06 2015-01-16 Security-enhanced device based on virtualization and the method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140013486A KR20150092890A (ko) 2014-02-06 2014-02-06 가상화 기반 보안 강화 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20150092890A true KR20150092890A (ko) 2015-08-17

Family

ID=53755068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140013486A KR20150092890A (ko) 2014-02-06 2014-02-06 가상화 기반 보안 강화 장치 및 그 방법

Country Status (2)

Country Link
US (1) US20150220709A1 (ko)
KR (1) KR20150092890A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948616B2 (en) 2015-02-10 2018-04-17 Electronics And Telecommunications Research Institute Apparatus and method for providing security service based on virtualization
KR102088962B1 (ko) * 2018-10-22 2020-03-13 (주)시큐어가드테크놀러지 복수 개의 운영체제 환경하에서 usb 장치를 공유하는 방법 및 이를 적용한 컴퓨터로 읽을 수 있는 저장매체
KR102130806B1 (ko) * 2020-02-14 2020-07-06 주식회사 두두아이티 사이버 보안 모의훈련 콘텐츠 제공 방법 및 장치
KR102130807B1 (ko) * 2020-01-29 2020-07-06 주식회사 두두아이티 사이버 보안 모의훈련 콘텐츠 제공 방법 및 장치
KR102130805B1 (ko) * 2020-02-14 2020-08-05 주식회사 두두아이티 사이버 보안 모의훈련 콘텐츠 제공 방법 및 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447402A (zh) * 2014-09-28 2016-03-30 酷派软件技术(深圳)有限公司 数据处理方法和数据处理装置
US10798077B1 (en) * 2015-01-23 2020-10-06 Hewlett-Packard Development Company, L.P. Securely authenticating untrusted operating environments
US10628192B2 (en) * 2015-12-24 2020-04-21 Intel Corporation Scalable techniques for data transfer between virtual machines
US10387681B2 (en) * 2017-03-20 2019-08-20 Huawei Technologies Co., Ltd. Methods and apparatus for controlling access to secure computing resources
US10728243B2 (en) * 2018-01-17 2020-07-28 Vmware, Inc. Automating establishment of initial mutual trust during deployment of a virtual appliance in a managed virtual data center environment
WO2020000145A1 (en) * 2018-06-25 2020-01-02 Intel Corporation World-switch as a way to schedule multiple isolated tasks within a VM
JP2021026582A (ja) * 2019-08-07 2021-02-22 日本電産サンキョー株式会社 認証システムおよび認証方法
JP7378356B2 (ja) * 2020-06-12 2023-11-13 株式会社バッファロー 情報処理装置、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8146141B1 (en) * 2003-12-16 2012-03-27 Citibank Development Center, Inc. Method and system for secure authentication of a user by a host system
JP5245869B2 (ja) * 2009-01-29 2013-07-24 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
WO2013184108A1 (en) * 2012-06-06 2013-12-12 Empire Technology Development Llc Software protection mechanism
US9124569B2 (en) * 2013-06-14 2015-09-01 Microsoft Technology Licensing, Llc User authentication in a cloud environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948616B2 (en) 2015-02-10 2018-04-17 Electronics And Telecommunications Research Institute Apparatus and method for providing security service based on virtualization
KR102088962B1 (ko) * 2018-10-22 2020-03-13 (주)시큐어가드테크놀러지 복수 개의 운영체제 환경하에서 usb 장치를 공유하는 방법 및 이를 적용한 컴퓨터로 읽을 수 있는 저장매체
KR102130807B1 (ko) * 2020-01-29 2020-07-06 주식회사 두두아이티 사이버 보안 모의훈련 콘텐츠 제공 방법 및 장치
KR102130806B1 (ko) * 2020-02-14 2020-07-06 주식회사 두두아이티 사이버 보안 모의훈련 콘텐츠 제공 방법 및 장치
KR102130805B1 (ko) * 2020-02-14 2020-08-05 주식회사 두두아이티 사이버 보안 모의훈련 콘텐츠 제공 방법 및 장치

Also Published As

Publication number Publication date
US20150220709A1 (en) 2015-08-06

Similar Documents

Publication Publication Date Title
KR20150092890A (ko) 가상화 기반 보안 강화 장치 및 그 방법
US10601596B2 (en) Techniques to secure computation data in a computing environment
US10097350B2 (en) Privacy enhanced key management for a web service provider using a converged security engine
US9948616B2 (en) Apparatus and method for providing security service based on virtualization
US10338957B2 (en) Provisioning keys for virtual machine secure enclaves
US9626497B2 (en) Sharing USB key by multiple virtual machines located at different hosts
EP3111618B1 (en) Securing client-specified credentials at cryptographically attested resources
US9575790B2 (en) Secure communication using a trusted virtual machine
US10560476B2 (en) Secure data storage system
US11239994B2 (en) Techniques for key provisioning in a trusted execution environment
RU2584570C2 (ru) Реализация защищенного обмена информацией в исполняющей системе
US8935746B2 (en) System with a trusted execution environment component executed on a secure element
US9424421B2 (en) Security engine for a secure operating environment
US20200134200A1 (en) Computational Operations in Enclave Computing Environments
CA2940633A1 (en) Universal authenticator across web and mobile
KR20230027241A (ko) 공유 자원 식별
Mayrhofer An architecture for secure mobile devices
US10033721B2 (en) Credential translation
US10938857B2 (en) Management of a distributed universally secure execution environment
Jung et al. An architecture for virtualization-based trusted execution environment on mobile devices
CN117827475A (zh) 用于进程间通信的方法、装置、电子设备和介质
Mehta et al. Mobile cloud computing–Literature review
CN116614241A (zh) 一种认证方法,计算装置和实例管理装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid