KR101506577B1 - Method for autenticating between a software mobility device and a local host, method for creating I/O channel, and the device thereof - Google Patents

Method for autenticating between a software mobility device and a local host, method for creating I/O channel, and the device thereof Download PDF

Info

Publication number
KR101506577B1
KR101506577B1 KR1020080002648A KR20080002648A KR101506577B1 KR 101506577 B1 KR101506577 B1 KR 101506577B1 KR 1020080002648 A KR1020080002648 A KR 1020080002648A KR 20080002648 A KR20080002648 A KR 20080002648A KR 101506577 B1 KR101506577 B1 KR 101506577B1
Authority
KR
South Korea
Prior art keywords
mobile device
local host
security
software mobile
software
Prior art date
Application number
KR1020080002648A
Other languages
Korean (ko)
Other versions
KR20090020457A (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 US12/104,508 priority Critical patent/US8131997B2/en
Publication of KR20090020457A publication Critical patent/KR20090020457A/en
Application granted granted Critical
Publication of KR101506577B1 publication Critical patent/KR101506577B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 따라 소프트웨어 이동 장치와 로컬 호스트간에 상호 인증하는 방법 및 I/O 채널 형성 방법 및 그 장치가 개시된다. 본 발명에 따라 소프트웨어 이동 장치와 로컬 호스트간에 상호 인증하는 방법은, 로컬 호스트의 무결성 값이 저장된 인증서를 요청하여 수신하는 단계와, 상기 로컬 호스트에서 측정한 무결성 값을 수신하고, 상기 수신된 측정한 무결성 값과 상기 인증서내의 무결성 값을 비교하여 검증하는 단계와, 상기 로컬 호스트가 검증되면 상기 장치의 보안 프로파일을 암호화하여 전송하는 단계를 포함한다. A method for mutual authentication between a software mobile device and a local host, and a method and apparatus for forming an I / O channel according to the present invention are disclosed. A method for mutual authentication between a software mobile device and a local host in accordance with the present invention includes the steps of: requesting and receiving a certificate stored with an integrity value of a local host; receiving an integrity value measured at the local host; Comparing and verifying the integrity value with an integrity value in the certificate, and encrypting and transmitting the security profile of the device when the local host is verified.

Description

소프트웨어 이동 장치와 로컬 호스트간에 상호 인증하는 방법, I/O 채널 형성 방법 및 그 장치{Method for autenticating between a software mobility device and a local host, method for creating I/O channel, and the device thereof} FIELD OF THE INVENTION [0001] The present invention relates to a method and apparatus for mutual authentication between a software mobile device and a local host, a method for forming an I / O channel,

본 발명은 소프트웨어 이동 장치와 로컬 호스트간에 상호 인증하는 방법 및 I/O 채널 형성 방법에 관한 것이다. The present invention relates to a method for mutual authentication between a software mobile device and a local host and a method for forming an I / O channel.

소프트웨어 이동(SW Mobility)은 소프트웨어 및 데이터를 이동식 저장 매체 (예: USB Flash Drive)에 저장하거나 또는 네트워크 연결을 통해 클라이언트를 다운로드하여 다른 PC(Personal Computer)나 CE(Consumer Electronics) 기기에서 계속적인 컴퓨팅(seamless computing) 작업을 가능하게 하는 기술을 의미한다. 이는 랩톱(Laptop) 등의 이동을 대체할 수 있는 새로운 컴퓨팅 패러다임의 한 형태로, 이동식 저장 매체 또는 네트워크 연결을 통해 단순 데이터 저장 기능 뿐만 아니라 개인의 컴퓨팅 환경을 이동하는 방식으로 발전해가고 있으며, 현재 하드웨어 또는 운영체제의 가상화 기술을 기반으로 마이크로스프트(Microsoft)사의 Virtual PC, EMC사의 VMWare, IBM사의 SoulPad, SanDisk사의 U3, RingCube사의 MojoPac 등 다양 한 선진사에서는 동종의 솔루션을 개발 중에 있다.SW Mobility allows software and data to be stored on removable storage media (eg, USB Flash Drive) or downloaded over a network connection and used for continuous computing on other PC (Personal Computer) or CE (Consumer Electronics) (seamless computing). This is a new computing paradigm that can replace the movement of laptops, etc., and is being developed not only as a simple data storage function through a removable storage medium or a network connection, but also as a method of moving an individual's computing environment. Based on the operating system's virtualization technology, various advanced companies such as Microsoft's Virtual PC, EMC's VMWare, IBM's SoulPad, SanDisk's U3 and RingCube's MojoPac are developing similar solutions.

그러나, 다른 PC나 CE 기기에서의 계속적인 컴퓨팅 작업을 지원하는데 있어 대부분의 경우, 이동한 PC나 CE 기기의 트로이안 홀스(Trojan Horse), 웜(Worm), 바이러스(Virus) 등 악성코드(Malware)에 의한 로컬 호스트의 감염에 따라, 사용자의 소프트웨어 및 데이터, 개인의 컴퓨팅 환경의 안전성을 고려하지 않고 있어 DRM 및 e-Trading 등의 다양한 서비스 지원에 한계가 된다. However, in order to support continuous computing in other PC or CE devices, in most cases, malware such as Trojan Horse, Worm, and Virus of a moving PC or CE device, It does not take into consideration the security of the user's software and data or the personal computing environment, thereby limiting the support of various services such as DRM and e-trading.

한편, 일반적으로 가상화(virtualization)는 임의의 소프트웨어가 실행되는 "실제 단일 컴퓨팅 기기"를 직접 수정하지 않고도 다수로 존재하는 것처럼 상위 계층에 서비스하는 기술로 정의할 수 있다. On the other hand, in general, virtualization can be defined as a technique of serving an upper layer as if there are a plurality of "actual single computing devices" in which arbitrary software is executed without directly modifying them.

도 1은 일반적으로 가상화(virtualization)의 개념을 설명하기 위한 참고도이다. 1 is a reference diagram for explaining the concept of virtualization in general.

도 1의 (a)를 참조하면, 일반적인 컴퓨팅 시스템은 실제 컴퓨팅 머신(100)과 소프트웨어(110)로 구성된다. 도 1의 (a)에 도시된 일반적인 컴퓨팅 시스템에 가상화 개념을 도입하면, 도 1의 (b)에 도시된 바와 같이, 실제 컴퓨팅 머신(100)과 소프트웨어(110) 사이에 가상화 계층(120)이 마련된다. Referring to Figure 1 (a), a typical computing system comprises an actual computing machine 100 and software 110. Introducing the concept of virtualization into the general computing system shown in Figure 1 (a), a virtualization layer 120 is provided between the actual computing machine 100 and the software 110, as shown in Figure 1 (b) .

또한 가상화는 그 대상에 따라, 물리적인 하드웨어 플랫폼의 가상화로서 다수의 운영체제에 대해 각각 독립된 시스템을 제공하도록 하는 시스템 가상화 (System Virtualization)와 로컬 호스트의 운영체제를 가상화하여 임의의 애플리케이션에 대해 각각 독립된 개별 전용 운영체제 서비스를 제공하는 운영체제 가상화 (OS Virtualization) 로 구분될 수 있다. In addition, virtualization can be virtualized as a physical hardware platform, depending on the target, by virtualizing the operating system of the local host and system virtualization to provide independent systems for multiple operating systems, And operating system virtualization that provides operating system services.

도 2는 가상화의 대상에 따른 가상화의 종류를 설명하기 위한 참고도이다. FIG. 2 is a reference diagram for explaining the types of virtualization according to objects of virtualization.

도 2를 참조하면, 운영체제 가상화(210)는 운영체제(250)와 어플리케이션(230) 사이에 가상화 계층(240)이 마련된 것을 말하고, 시스템 가상화(220)는 하드웨어 플랫폼(270)과 운영체제(250)사이에 가상화 계층(260)이 마련된 것을 말한다. 2, operating system virtualization 210 refers to the provision of a virtualization layer 240 between an operating system 250 and an application 230, and system virtualization 220 refers to an operation between a hardware platform 270 and an operating system 250 A virtualization layer 260 is provided.

이러한 가상화 기술을 기반으로 하는 소프트웨어 이동 솔루션은, 이동식 저장 매체 또는 네트워크를 통해 다른 PC나 CE 기기로의 이동 후 사용자 소프트웨어 및 데이터의 계속적인 컴퓨팅 작업을 수행하기 위해, 각 업체 고유의 특정 API로 실행하고자 하는 애플리케이션을 수정(예: SanDisk사의 U3)하거나, 시스템 가상화 기술을 기반으로 하여 특정 운영체제의 동반이동(예: EMC사의 VMWare) 형태가 대표적이다. Software migration solutions based on these virtualization technologies can be executed by specific vendors' specific APIs to perform continuous computing of user software and data after moving to another PC or CE device over a removable storage medium or network. Modify the application you want (for example, U3 from SanDisk), or a combination of certain operating systems (eg, EMC's VMWare) based on system virtualization technology.

그러나, 이러한 종래의 사례들은 소스코드가 공개된 애플리케이션만 수정이 가능하여 소프트웨어 이동 적용 범위를 확장하기 어렵거나, 특정 운영체제의 동반 이동에 따른 시스템 오버헤드 등으로 개선을 위한 연구 및 개발이 진행 중에 있다. However, in such conventional cases, it is difficult to extend the scope of the software moving application because only the application in which the source code is disclosed can be modified, or the research and development for the improvement due to the system overhead accompanying the movement of the specific operating system are underway .

최근 이동식 저장 매체 또는 네트워크 연결을 통해 이동하는 소프트웨어 이동 솔루션은, 단순 데이터 뿐만 아니라 개인 컴퓨팅 환경의 이동에 있어 DRM, e-Trading 등과 같은 다양한 소프트웨어 또는 애플리케이션의 사용성 향상 목적으로까지 적용되고 있으며 이와 관련된 SW 이동 솔루션 상의 실행 환경의 안전성 지원이 계속적으로 요구되고 있다. Recently, a software moving solution moving through a removable storage medium or a network connection has been applied not only to simple data but also to the purpose of improving the usability of various software or applications such as DRM, e-Trading, etc. in the movement of personal computing environment. There is a continuing need to support the safety of execution environments on mobile solutions.

이에 대해 종래의 네트워크 연결 기반 방식은 서버로부터 클라이언트로의 스트리밍 형태로, 이동한 로컬 호스트 상에서의 SW 이동 솔루션 실행 관련 안전성 보다는 사용자 계정 및 패스워드를 통한 서버 인증이 대부분이며, 이동식 저장 매체 기반 방식은 저장 매체의 분실 위협에 따른 데이터 접근 제어를 위한 사용자 인증 및 암호화 지원으로 제한적인 안전성을 제공하고 있다.In contrast, the conventional network connection based method is streaming from a server to a client. Most of the server authentication is based on a user account and a password, rather than security related to the execution of a SW moving solution on a local host. It provides limited security through user authentication and encryption support for data access control due to media loss threats.

그러나, 이러한 기존 방식에서의 보안 기능만으로는 소프트웨어 솔루션을 통한 DRM, e-Trading 등의 소프트웨어 실행시, 이동한 로컬 호스트에서의 트로이언 홀스(Trojan Horse), 웜(Worm), 바이러스(Virus) 등 멀웨어(Malware)에 대응하여 안전한 실행 환경을 제공하기 위한 무결성 기반 상호 인증 제공이 불가하고, 악의적인 정보 유출이나 위변조의 방지를 위한 안전한 채널을 제공하는데 한계가 있다. 예를 들어, 로컬 호스트의 자원(예: 사운드, 비디오)을 이용하여 소프트웨어 이동 솔루션 상에서 DRM 컨텐츠 실행시 로컬 호스트 상의 멀웨어에 의한 스텔스(Stealth) 공격으로 복호화된 멀티미디어 컨텐츠의 유출이 되기 쉽다. 또한, 소프트웨어 이동 솔루션 상에서 웹 기반 e-Trading 서비스 실행시, 인터넷 상의 사용자 계정 및 패스워드, 거래 내역 등에 대해 로컬 호스트 상의 멀웨어에 의한 공격으로 해당 정보가 유출되고 관련 서비스 사이트의 위변조가 될 수 있다. However, only the security functions of the existing methods can be used to prevent malware such as Trojan Horse, Worm, Virus (Virus), etc. on the local host when the software such as DRM and e-Trading is executed by software solution. It is impossible to provide integrity-based mutual authentication to provide a safe execution environment in response to malware, and there is a limit in providing a secure channel for preventing malicious information leakage or forgery or falsification. For example, when DRM content is executed on a software moving solution using local host resources (eg, sound, video), it is likely to be a leak of multimedia contents decrypted by stealth attacks due to malware on the local host. In addition, when a web-based e-trading service is executed on a software moving solution, malicious software on a local host may leak out relevant information about user accounts, passwords and transaction details on the Internet, and the related service sites may be falsified.

본 발명은 상기와 같은 문제점을 해결하여 사용자 모드를 중심으로 구동되는 운영체제 가상화 기술을 기반으로, 소프트웨어 이동 장치내 컴퓨팅 실행 환경의 안전성 보장을 위해 이동식 저장 매체 또는 네트워크를 통해 이동하는 소프트웨어 이동 장치와 이동한 로컬 호스트와의 무결성 기반 상호 인증 및 소프트웨어 이동 장치 상의 애플리케이션과 이동한 로컬 호스트의 I/O 디바이스와의 안전한 채널을 제공할 수 있는 인증 방법, I/O 채널 형성 방법 및 소프트웨어 이동 장치를 제공하는 것을 목적으로 한다. The present invention has been made to solve the above problems and it is an object of the present invention to provide a software moving device moving through a mobile storage medium or a network in order to ensure the safety of a computing execution environment in a software mobile device, There is provided an authentication method, an I / O channel forming method, and a software moving device capable of providing an integrity-based mutual authentication with a local host and a secure channel between an application on a software mobile device and an I / O device of a local host moved .

상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치에서 상기 소프트웨어 이동 장치가 이동한 로컬 호스트를 인증하는 방법에 있어서, 로컬 호스트의 무결성 기준값이 저장된 인증서를 상기 로컬 호스트로 요청하여 수신하는 단계와, 상기 로컬 호스트에서 측정한 무결성 값을 수신하고, 상기 수신된 측정한 무결성 값과 상기 인증서내의 무결성 기준값을 비교하여 검증하는 단계와, 상기 로컬 호스트가 검증되면 상기 소프트웨어 이동 장치의 보안 프로파일을 암호화하여 상기 로컬 호스트로 전송하는 단계를 포함하는 것이다. According to another aspect of the present invention, there is provided a method for authenticating a local host to which a software mobile device has moved in a software mobile device including an operating system virtualization layer, Requesting and receiving from the local host an integrity value measured at the local host and comparing and verifying the received integrity value with the integrity criterion value in the certificate, Encrypting the security profile of the software mobile device and transmitting the encrypted security profile to the local host.

상기 소프트웨어 이동 장치는 이동식 저장 장치에 포함되어 있는 것이 바람직하다. The software moving device is preferably included in a removable storage device.

상기 소프트웨어 이동 장치는 상기 로컬 호스트와 네트워크로 연결된 서버 컴퓨터에 포함되어 있으며, 상기 서버 컴퓨터에 포함된 운영체제 가상화 계층과 상기 로컬 호스트의 통신 중개를 위해 상기 서버 컴퓨터로부터 상기 로컬 호스트에 운영체제 가상화 클라이언트가 다운로드되는 것이 바람직하다. Wherein the software mobile device is included in a server computer connected to the local host via a network, and the operating system virtualization layer included in the server computer is downloaded from the server computer to the local host to communicate with the local host .

본 발명의 다른 특징은, 운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치와 로컬 호스트와의 안전한 I/O 채널 형성 방법에 있어서, 상기 소프트웨어 이동 장치에서 어플리케이션 구동시 안전한 I/O를 요구하는 보안 정책 (Security Policy) 적용 대상인지 여부를 확인하는 단계와, 확인결과, 보안 정책 적용 대상인 경우, 보안 필터 드라이버(Security Filter Driver)를 상기 로컬 호스트 상의 커널 모드에 설치하는 단계와, 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버에 의해 소프트웨어 이동 장치 내의 어플리케이션 구동에 따른 I/O 디바이스 실행을 위한 데이터 전송시 세션키를 통해 안전한 채널을 형성하여 데이터를 전송하는 단계를 포함하는 것이다. In another aspect of the present invention, there is provided a secure I / O channel forming method for a software mobile device including a virtualization layer of an operating system and a local host, the method comprising the steps of: The method of claim 1, further comprising the steps of: determining whether a security filter driver is applicable to the software mobile device and the security filter; And a step of transmitting data by forming a secure channel through a session key when data is transmitted for the execution of an I / O device by an application in a software moving device by a driver.

상기 세션키는, 상기 소프트웨어 이동 장치의 보안 필터 드라이버 설치시 소프트웨어 이동 장치와 상기 보안 필터 드라이버의 상호 인증 과정을 통해 생성되거나, 상기 소프트웨어 이동 장치의 상기 보안 필터 드라이버 설치 전에 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버 간에 사전 공유되어 상기 보안 필터 드라이버내에 포함되는 것이 바람직하다. Wherein the session key is generated through mutual authentication of the software mobile device and the security filter driver upon installation of the security filter driver of the software mobile device, And are preferably pre-shared among the filter drivers and included in the security filter driver.

본 발명의 또다른 특징은, 운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치에 있어서, 로컬 호스트의 무결성 기준값이 저장된 인증서를 상기 로컬 호 스트로 요청하여 수신하고, 상기 로컬 호스트에서 측정한 무결성 값을 수신하고, 상기 수신된 측정한 무결성 값과 상기 인증서내의 무결성 기준값을 비교하여 검증하고, 상기 로컬 호스트가 검증되면 상기 소프트웨어 이동 장치의 보안 프로파일을 암호화하여 상기 로컬 호스트로 전송하는 보안관리부를 포함하는 것이다. According to another aspect of the present invention, there is provided a software mobile device including an operating system virtualization layer, the software mobile device comprising: a requestor for receiving and receiving a certificate stored in an integrity reference value of a local host with the local host, receiving an integrity value measured by the local host, And a security manager for comparing and verifying the received integrity value with the integrity reference value in the certificate and encrypting the security profile of the software mobile device when the local host is verified and transmitting the encrypted security value to the local host.

본 발명의 또다른 특징은, 운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치에 있어서, 상기 소프트웨어 이동 장치에서 어플리케이션 구동시 안전한 I/O를 요구하는 보안 정책 (Security Policy) 적용 대상인지 여부를 확인하고, 확인결과, 보안 정책 적용 대상인 경우, 보안 필터 드라이버(Security Filter Driver)를 상기 로컬 호스트 상의 커널 모드에 설치하고, 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버에 의해 소프트웨어 이동 장치 내의 어플리케이션 구동에 따른 I/O 디바이스 실행을 위한 데이터 전송시 세션키를 통해 안전한 채널을 형성하여 데이터를 전송하는 보안관리부를 포함하는 것이다. Another aspect of the present invention is summarized as a software mobile device including an operating system virtualization layer, wherein the software mobile device checks whether or not a security policy requesting secure I / O is applied when an application is running, As a result, when a security policy is to be applied, a security filter driver is installed in the kernel mode on the local host, and the I / O device And a security manager for transmitting data by forming a secure channel through a session key when data is transmitted for execution.

이상과 같은 본 발명에 따르면, 본 발명의 소프트웨어 이동 장치는 로컬 호스트 커널 모드와 독립적인 운영체제 가상화 기술을 기반으로 별도의 설치 없이, 소프트웨어, 데이터 및 개인의 컴퓨팅 환경을 이동식 저장 매체 또는 네트워크 연결을 통해 이동함에 있어, 이동한 로컬 호스트에서의 멀웨어에 대응하여 DRM, e-Trading의 소프트웨어 애플리케이션 실행을 위해, 소프트웨어 이동 장치와 로컬 호스트 간의 무결성 기반 상호 인증과 악의적인 정보 유출 및 위변조 방지를 위한 안전한 채널 제공으로 다른 PC나 CE 기기에서 계속적인 컴퓨팅 작업을 활성화하는데 효과적이다. According to the present invention, the software moving device of the present invention is capable of executing software, data, and personal computing environments on a removable storage medium or a network connection without any additional installation based on operating system virtualization technology independent of the local host kernel mode. Provides a secure channel for integrity-based mutual authentication between software mobile device and local host and malicious information leakage and forgery prevention in order to execute software application of DRM and e-Trading in response to malware in moving local host in moving , Which is effective in enabling continuous computing on other PC or CE devices.

이제, 첨부된 도면들을 참조하여 본 발명을 상세히 설명한다.The present invention will now be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 소프트웨어 이동 장치가 구현되는 시스템의 전체 구조를 나타낸다. 본 발명에 따른 소프트웨어 이동 장치는 사용자 모드를 중심으로 구성되는 운영체제 가상화 기술을 기반으로, 이동한 로컬 호스트상의 운영체제에 대해서는 별도의 수정없이 일반적인 어플리케이션과 동일한 형태로 실행되어진다. 3 shows the overall structure of a system in which a software mobile device according to the present invention is implemented. The software moving apparatus according to the present invention is based on an operating system virtualization technology configured mainly in a user mode, and is executed in the same form as a general application without any modification to an operating system on a local host.

도 3을 참조하면, 시스템은 하드웨어(310)와 운영체제(320) 위에 OS 가상화 계층(330)이 배열되며, 운영체제(320)상에서 실행되는 어플리케이션 1,2(340)와 OS 가상화 계층(330)상에서 실행되는 어플리케이션 3,4(350)를 포함한다. 도 3에 도시된 시스템에서 본 발명에 따른 소프트웨어 이동 장치는 OS 가상화 계층(330)에 구현된다. 또한, 하드웨어(310)와 운영체제(320)를 결합하여 로컬 호스트라 부르기도 한다. 3, an OS virtualization layer 330 is arranged on the hardware 310 and the operating system 320, and on the OS virtualization layer 330 and the application 1, 340 340 running on the OS 320, And applications 3 and 4 (350) to be executed. In the system shown in FIG. 3, a software mobile device according to the present invention is implemented in the OS virtualization layer 330. Also, the hardware 310 and the operating system 320 are combined to be referred to as a local host.

도 4는 본 발명에 따른 소프트웨어 이동 장치의 개략도를 나타낸다. 4 shows a schematic diagram of a software mobile device according to the invention.

도 4를 참조하면, 소프트웨어 이동 장치(400)는 운영체제 가상화 계층부(410)와, 최상위 계층부(420)를 포함한다. Referring to FIG. 4, the software mobile device 400 includes an operating system virtualization layer 410 and a top layer 420.

운영체제 가상화 계층부(410)는, 로컬 호스트의 운영체제 가상화를 관리하는 운영체제 (OS) 가상화 관리부(411), 로컬 호스트의 자원(Resource)을 관리하는 자원 관리부(412) 및 로컬 호스트와의 보안(Security)을 관리하는 보안관리부(413)를 포함한다. The OS virtualization layer unit 410 includes an OS virtualization management unit 411 that manages operating system virtualization of the local host, a resource management unit 412 that manages resources of the local host, and security And a security management unit 413 for managing the security management unit 413.

최상위 계층부(430)는 어플리케이션(421), 사용자 데이터(422) 및 개인 컴퓨팅 환경(423)으로 구성되며, 소프트웨어 이동 장치상의 소프트웨어 또는 어플리케이션은 일반 애플리케이션과 동일한 방식으로 운영체제 가상화 계층 상에 설치되어 구동된다. The top layer 430 comprises an application 421, user data 422 and a personal computing environment 423, wherein the software or application on the software mobile device is installed and operated on the operating system virtualization layer in the same manner as a generic application do.

도 5는 도 4에 도시된 소프트웨어 이동 장치를 포함하는 시스템의 구조를 나타낸다. Fig. 5 shows the structure of a system including the software mobile device shown in Fig.

특히, 본 발명에 따라 소프트웨어 이동 장치와 로컬 호스트간의 상호 인증을 수행하는 보안 관리부(413)는 소프트웨어 이동 장치의 등록 정보 및 암호화 키 등을 저장하고 있는 안전한 영역 (Trusted Computing Base:TCB) 을 별도로 가상화한 가상화된 TCB(vTCB)(500)를 사용하며, 이 영역은 실제 물리적인 칩셋의 하드웨어 또는 소프트웨어 등 다양한 형태로 구성될 수 있다.In particular, according to the present invention, the security management unit 413 that performs mutual authentication between the software mobile device and the local host manages a secure area (Trusted Computing Base (TCB) storing the registration information and encryption key of the software mobile device, A virtualized TCB (vTCB) 500 is used, which can be configured in various forms, such as hardware or software of a physical physical chipset.

또한, 로컬 호스트 역시 운영체제, 디바이스 등의 다양한 등록 정보 및 암호화 키 등을 저장하는 영역을 보유하고 있으며 이를 기반으로 소프트웨어 이동 장치와의 상호 인증 및 안전한 채널을 형성하게 된다.In addition, the local host also has an area for storing various registration information and encryption keys such as an operating system and a device, and based on this, a mutual authentication with a software mobile device and a secure channel are established.

도 6은 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트사이의 상호 인증을 설명하기 위한 참고도이다.  6 is a reference diagram for explaining mutual authentication between a software mobile device and a local host moved according to the present invention.

소프트웨어 이동 장치는 이동식 저장 매체 또는 네트워크를 통해 서비스 초기화시 이동한 로컬 호스트 커널 상에 별도의 설치 없이 안전한 영역 (vTCB, TCB)내에 저장된 정보로 무결성 검증을 통해 상호 인증을 수행하도록 하여 소프트웨어 이동 장치의 실행 환경의 신뢰성을 확보하게 된다.The software mobile device performs mutual authentication through integrity verification with the information stored in the secure area (vTCB, TCB) on the local host kernel moved during the service initialization through the removable storage medium or network without any separate installation, Thereby securing the reliability of the execution environment.

본 발명에 따른 소프트웨어 이동 장치는 이동식 저장 장치에 담겨져 있을 수도 있고, 클라이언트 서버에 의해 구현될 수 있다. The software mobile device according to the present invention may be contained in a removable storage device or may be implemented by a client server.

도 7은 본 발명에 따른 소프트웨어 이동 장치가 이동식 저장 장치에 담겨져 있는 예를 나타낸다. 도 7을 참조하면, 본 발명에 따른 소프트웨어 이동 장치(400)는 이동식 저장 장치(700)에 저장되고, 이러한 이동식 저장 장치(700)가 이동할 로컬 호스트 장치(300)에 삽입되거나 로딩되어 사용되는 형태를 나타낸다. 7 shows an example in which the software moving device according to the present invention is contained in a removable storage device. Referring to FIG. 7, a software moving apparatus 400 according to the present invention is stored in a portable storage apparatus 700, and the portable storage apparatus 700 is inserted into a local host apparatus 300 to be moved, .

도 8은 본 발명에 따른 소프트웨어 이동 장치가 클라이언트 서버에 의해 구현되는 예를 나타낸다. 도 8을 참조하면, 본 발명에 따른 소프트웨어 이동 장치(400)는 서버 컴퓨터(800)에 배열되고, 사용자가 이동할 로컬 호스트 장치(300)에서 사용하기 위해 로컬 호스트 장치(300)에서 소프트웨어 이동 장치 클라이언트(810)를 서버 컴퓨터(800)로부터 다운로드받는다. 다운로드된 소프트웨어 이동 장치 클라이언트(810)는 로컬 호스트(300)와 서버 컴퓨터(800)의 소프트웨어 이동 장치(400)의 중개 역할을 한다. 8 shows an example in which the software mobile device according to the present invention is implemented by a client server. Referring to Figure 8, a software mobile device 400 according to the present invention is arranged in a server computer 800 and includes a software mobile device client 300 in a local host device 300 for use by a local host device 300, (810) from the server computer (800). The downloaded software mobile client 810 acts as an intermediary between the local host 300 and the software mobile device 400 of the server computer 800.

이제 본 발명에 따라 이동식 저장 매체에 저장된 소프트웨어 이동 장치와 로컬 호스트 사이의 상호 인증 과정을 도 6 및 9를 참조하여 설명한다. 서버 클라이언트로 구현되는 소프트웨어 이동 장치에 대해서는 이하에서 별도로 설명하기로 한다. A mutual authentication procedure between a software mobile device and a local host stored in a removable storage medium according to the present invention will now be described with reference to FIGS. 6 and 9. FIG. A software mobile device implemented as a server client will be separately described below.

도 6 및 도 9를 참조하면, 소프트웨어 이동 장치(400)와 로컬 호스트(300)간에 인증서를 상호 교환한다(910). Referring to FIGS. 6 and 9, a certificate is exchanged 910 between the software mobile device 400 and the local host 300.

소프트웨어 이동 장치(400)는 자신의 등록 정보 (ID) 등으로 로컬 호스트의 인증서(Cert)를 요청하여 상호 교환한다. The software mobile device 400 requests and exchanges a certificate (Cert) of the local host with its registration information (ID) or the like.

즉, 소프트웨어 이동 장치(400)는 로컬 호스트(300)로 인증서를 요청하여 수신하고, 로컬 호스트(300)는 소프트웨어 이동 장치(400)로 인증서를 요청하여 수신한다.That is, the software mobile device 400 requests and receives a certificate from the local host 300, and the local host 300 requests and receives a certificate from the software mobile device 400.

도 10은 도 9의 상호인증에 이용되는 인증서의 일 예를 나타낸다.        FIG. 10 shows an example of a certificate used for mutual authentication in FIG.

도 10을 참조하면, 인증서(1000)는 ID(1010), 공개키(1020), 무결성 기준값(1030), 서명(1040)을 포함한다. Referring to FIG. 10, a certificate 1000 includes an ID 1010, a public key 1020, an integrity reference value 1030, and a signature 1040.

교환되는 인증서내에는 해당 소프트웨어 이동 장치 및 플랫폼의 무결성 기준값 (Integrity), ID, 공개키 등이 저장되어 있고 인증기관(CA)의 비밀키로 전자 서명(Signature) 되어 있다. 또한, 해당 인증서내 무결성 기준값은 각 주체의 안전한 영역 (vTCB, TCB)에 디지털 파일 형태로 저장되어 인증서를 대체할 수 있다.Integrity, ID, and public key of the corresponding software mobile device and platform are stored in the exchanged certificate and are digitally signed with the private key of the certification authority (CA). In addition, the integrity reference value in the corresponding certificate can be stored as a digital file in the secure area (vTCB, TCB) of each subject to replace the certificate.

다음, 소프트웨어 이동 장치(400)와 로컬 호스트(300)는 각자 자신의 무결성 값을 측정하여 교환하고, 각 소프트웨어 이동 장치(400)와 로컬 호스트(300)는 각각 수신한 측정된 무결성 값과 전송받은 인증서내의 저장된 무결성 기준값을 비교하여 검증한다(920).Next, the software mobile device 400 and the local host 300 measure and exchange their own integrity values, and each of the software mobile device 400 and the local host 300 transmits the received measured integrity value and the received The stored integrity criteria values in the certificate are compared and verified (920).

이때, 무결성 값 측정은 안전한 영역 (vTCB, TCB)내에 포함된 무결성 체크 모듈(Integrity Check Module)을 이용한다.At this time, the integrity value measurement uses the Integrity Check Module included in the secure area (vTCB, TCB).

이제, 검증을 통해 상대방의 무결성이 확인되면, 이후 각 주체 즉, 소프트웨어 이동 장치(400)와 로컬 호스트(300)는 보안 프로파일(Security Profile)(예를 들어, 버전 정보)을 세션키로 암호화하여 상호 교환한다(930). When the integrity of the other party is verified through the verification, each of the subjects, that is, the software mobile device 400 and the local host 300 encrypts the security profile (for example, version information) (930).

로컬 호스트에서의 무결성 확인은 도 6의 운영체제(320)에 포함된 보안 참조모니터(Security Reference Monitor)에 의해 수행될 수 있다. 보안 참조 모니터는 사용자가 특정 객체에 액세스할 권리가 있는지 또 해당 객체에 특정 행위를 할 수 있는지를 검사하는 기능 접속 확인과 보안 정책 및 사용자 인증을 위한 감사를 시행하며 사용자가 파일이나 디렉터리에 접근하면 사용자의 계정을 검사해서 접근 허용 여부를 결정하고 필요 시 그 결과를 검사 메시지로 생성한다. Integrity checking at the local host may be performed by a Security Reference Monitor included in the operating system 320 of FIG. The Security Reference Monitor enforces access checks, security policies, and audits for user authentication, which check whether a user has the right to access a specific object and can perform certain actions on that object. When a user accesses a file or directory It examines the user's account to determine whether access is allowed, and generates the result as an inspection message if necessary.

이제 네트워크 기반으로 구현되는 소프트웨어 이동 장치에 대해서 설명하기로 한다. Now, a description will be made of a software moving device implemented on a network basis.

로컬 호스트에 다운로드된 소프트웨어 이동 장치 클라이언트(810)는 해당 로컬 호스트의 등록 정보를 요청하여 소프트웨어 이동 장치(400)가 배열된 서버 컴퓨터(800)로 전달한다. 이 때, 소프트웨어 이동 장치 클라이언트(810)는 로컬 호스트(300) 상에서 중개 역할을 담당하며 실질적인 상호 인증은 소프트웨어 이동 장치 서버(800)와 로컬 호스트(300)간에 이루어진다. The software mobile device client 810 downloaded to the local host requests registration information of the corresponding local host and transmits the registration information to the server computer 800 in which the software mobile device 400 is arranged. At this time, the software mobile device client 810 acts as an intermediary on the local host 300, and substantial mutual authentication is performed between the software mobile device server 800 and the local host 300.

소프트웨어 이동 장치 서버(800)는 소프트웨어 이동 장치 클라이언트(810)를 통해 로컬 호스트로 인증서를 요청하여 수신하고, 로컬 호스트는 소프트웨어 이동 장치 클라이언트(180)를 통해 소프트웨어 이동 장치 서버(800)로 인증서를 요청하여 수신한다.  The software mobile device server 800 requests and receives a certificate from the software mobile device client 810 to the local host and the local host sends a certificate request to the software mobile device server 800 via the software mobile device client 180 .

이 때, 교환되는 인증서 내는 각 주체의 무결성 값이 저장되어 있고 CA의 비밀키로 전자 서명되어 있다. 또한, 해당 인증서내의 무결성 값은 각 주체의 안전한 영역 (vTCB, TCB)에 디지털 파일 형태로 저장되어 인증서를 대체할 수 있다.  In this case, the integrity value of each subject is stored in the exchanged certificate and is digitally signed with the CA's secret key. In addition, the integrity value in the corresponding certificate can be stored in the secure area (vTCB, TCB) of each subject in the form of a digital file to replace the certificate.

다음 소프트웨어 이동 장치 서버(800)는 수신한 로컬 호스트의 무결성 측정값과 전송받은 인증서내 저장된 값을 비교하여 검증하게 된다.  Next, the software mobile device server 800 compares the received integrity measure of the local host with the stored value in the transmitted certificate and verifies.

이때, 무결성 값 측정은 안전한 영역 (vTCB, TCB)내 포함된 무결성 체크 모듈(Integrity Check Module)을 이용하며, 소프트웨어 이동 장치 서버는 로컬 호스트 상의 소프트웨어 이동 장치 클라이언트를 대행하여 수행하도록 한다.   At this time, the integrity value measurement uses an Integrity Check Module included in the secure area (vTCB, TCB), and the software mobile server server performs the software mobile client client on the local host.

검증을 통해 상대방의 무결성 값이 확인이 되면, 이후 각 주체의 보안 프로파일(Security Profile)을 세션키로 암호화하여 교환한다.  When the integrity value of the other party is verified through the verification, the security profile of each subject is encrypted and exchanged with the session key.

도 11은 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트와의 안전한 채널 I/O 형성 설명하기 위한 참고도이다. 11 is a reference diagram for explaining a secure channel I / O formation between a software mobile device and a local host moved according to the present invention.

소프트웨어 이동 장치상에서의 안전성을 요구하는 어플리케이션, 예를 들어 DRM이나 e-Trading의 구동은, 이동한 로컬 호스트 커널 상에 보안 필터 드라이버(1110)를 실행하여 I/O 디바이스 드라이버의 서명 검증 이후 해당 세션에 대한 암호화된 데이터 전송으로 안전한 채널을 형성하도록 한다.An application requiring safety on the software mobile device, for example, DRM or e-Trading, is executed by executing the security filter driver 1110 on the moved local host kernel to verify the signature of the I / Lt; RTI ID = 0.0 > a < / RTI > secure channel.

도 12는 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트사이에 안전한 채널 I/O 형성 과정을 설명하기 위한 흐름도이다. 도 11 및 도 12를 참조하여, 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트사이에 안전한 채널 I/O 형성 과정을 설명하기로 한다. 12 is a flowchart illustrating a process of forming a secure channel I / O between a software mobile device and a local host moving according to the present invention. 11 and 12, the process of forming a secure channel I / O between the software mobile device and the local host moving according to the present invention will be described.

소프트웨어 이동 장치에서 어플리케이션 구동시 안전한 I/O를 요구하는 보안 정책 (Security Policy) 적용 대상인지 여부를 확인한다(1210).In operation 1210, the software mobile device checks whether a security policy requesting secure I / O is applied.

확인결과, 보안 정책 적용 대상인 경우, Secure File I/O 요청으로 보안 필터 드라이버(Security Filter Driver)(1110)를 로컬 호스트 상의 커널 모드에 설치한다(1220). 이때, 보안 필터 드라이버(1110)는 해당 I/O 디바이스 드라이버(1120)에 대한 서비스 프로바이더(Service Provider)(예를 들어,WHQL (Windows Hardware Qualification Lab), DRM 서버)의 서명을 검증하여 신뢰성을 확인하는 것도 가능하다.If it is determined that the security policy is to be applied, the security filter driver 1110 is installed in the kernel mode on the local host in response to the Secure File I / O request (1220). At this time, the security filter driver 1110 verifies the signature of the service provider (e.g., WHQL (Windows Hardware Qualification Lab), DRM server) for the corresponding I / O device driver 1120, It is also possible to confirm.

이후 소프트웨어 이동 장치와 보안 필터 드라이버(1110)는 소프트웨어 이동 장치 내의 어플리케이션 구동에 따른 I/O 디바이스 실행을 위한 데이터 전송시 세션키 (K)를 통해 안전한 채널을 형성하고, 보안 필터 드라이버(1110)는 해당 데이터를 I/O 디바이스(1130)로 전달한다(1230). 이때, 해당 세션키는 소프트웨어 이동 장치의 보안 필터 드라이버 설치시 소프트웨어 이동 장치와 보안 필터 드라이버의 상호 인증 과정을 통해 생성하거나, 소프트웨어 이동 장치의 보안 필터 드라이버 설치전에 소프트웨어 이동 장치와 보안 필터 드라이버 사이에 사전 공유되어 보안 필터 드라이버(1110)내에 포함되도록 한다. Then, the software mobile device and the security filter driver 1110 form a secure channel through the session key K in data transmission for execution of the I / O device according to application driving in the software mobile device, and the security filter driver 1110 And transfers the data to the I / O device 1130 (1230). At this time, the session key may be generated through a mutual authentication process between the software mobile device and the security filter driver when the security filter driver of the software mobile device is installed, or may be generated beforehand between the software mobile device and the security filter driver To be included in the security filter driver 1110.

또한, 매 Secure File I/O 요청시 타임 스탬프(Time Stamp) 등으로 세션키의 유효성을 관리하도록 하며, 소프트웨어 이동 장치의 종료시 보안 필터 드라이버와 함께 삭제된다. Also, the validity of the session key is managed by a time stamp (Time Stamp) or the like at the time of requesting Secure File I / O, and it is deleted together with the security filter driver at the end of the software mobile device.

예를 들어, 소프트웨어 이동 장치와 보안 필터 드라이버의 세션키는, 난수와 타임 스탬프를 이용하여 생성된다. For example, the session key of the software mobile device and the security filter driver is generated using a random number and a time stamp.

도 13은 본 발명에 따른 운영체제 가상화 장치의 사용 예를 설명하기 위한 참고도이다. 13 is a reference diagram for explaining an example of using an operating system virtualization apparatus according to the present invention.

본 발명은 USB 플래시 드라이브(USB Flash Drive)와 같은 일반적인 이동식 저장 장치 뿐만 아니라, 내장 메모리를 탑재하는 MP3P, 모바일 폰(Mobile Phone) 등에 대해 해당 디바이스의 관리용 소프트웨어의 출시전에 설치함으로써 이후 별도의 재설치 없이 이동을 지원하며 사용하는 형태로 적용 가능하다. The present invention can be applied not only to a general portable storage device such as a USB flash drive (USB flash drive), but also to an MP3P, a mobile phone, And can be applied in the form of use.

또한, SaaS (Software as a Service) 또는 DRM 등의 비즈니스 모델에 대해 본 발명의 소프트웨어 이동 상의 안전한 실행 환경 적용으로 합법적인 활성화에 기여할 수 있을 것으로 예상된다. In addition, it is expected that the application of the secure execution environment of the present invention to a business model such as software as a service (SaaS) or DRM can contribute to legitimate activation.

이상 설명한 바와 같은 상호인증 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 상호인증 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다. The mutual authentication method as described above can also be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing the mutual authentication method can be easily inferred by programmers of the art to which the present invention belongs.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

도 1은 일반적으로 가상화(virtualization)의 개념을 설명하기 위한 참고도,FIG. 1 is a reference diagram for explaining the concept of virtualization in general,

도 2는 가상화의 대상에 따른 가상화의 종류를 설명하기 위한 참고도,2 is a reference diagram for explaining the types of virtualization according to objects of virtualization,

도 3은 본 발명에 따른 운영체제 가상화 시스템의 전체 구조,FIG. 3 is a diagram illustrating an overall structure of an operating system virtualization system according to the present invention,

도 4는 도 3에 도시된 소프트웨어 이동 장치의 개략도,Figure 4 is a schematic diagram of the software mobile device shown in Figure 3,

도 5는 도 4에 도시된 소프트웨어 이동 장치를 포함하는 운영체제 가상화 시스템의 구조,5 illustrates the structure of an operating system virtualization system including the software mobile device shown in FIG. 4,

도 6은 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트사이의 상호 인증을 설명하기 위한 참고도,6 is a reference diagram for describing mutual authentication between a software mobile device according to the present invention and a local host moved;

도 7은 본 발명에 따른 소프트웨어 이동 장치가 이동식 저장 매체에 담겨져 있는 예,Figure 7 is an example of a software mobile device according to the present invention being embedded in a removable storage medium,

도 8은 본 발명에 따른 소프트웨어 이동 장치가 클라이언트 서버에 의해 구현되는 예,Figure 8 shows an example where the software mobile device according to the present invention is implemented by a client server,

도 9는 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트 사이의 상호 인증을 설명하기 위한 흐름도,9 is a flowchart for explaining mutual authentication between a software mobile device and a local host moved according to the present invention;

도 10은 도 9의 상호인증에 이용되는 인증서의 일 예,Figure 10 is an example of a certificate used for mutual authentication in Figure 9,

도 11은 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트와의 안전한 채널 I/O 형성 설명하기 위한 참고도,11 is a reference diagram for explaining a secure channel I / O formation between a software mobile device and a local host moved according to the present invention;

도 12는 본 발명에 따른 소프트웨어 이동 장치와 이동한 로컬 호스트사이에 안전한 채널 I/O 형성 과정을 설명하기 위한 흐름도,FIG. 12 is a flowchart illustrating a process of forming a secure channel I / O between a software mobile device and a local host moving according to an embodiment of the present invention;

도 13은 본 발명에 따른 소프트웨어 이동 장치의 사용 예를 설명하기 위한 참고도. 13 is a reference diagram for explaining an example of use of a software moving apparatus according to the present invention.

Claims (10)

운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치에서 로컬 호스트를 인증하는 방법에 있어서,A method for authenticating a local host in a software mobile device comprising an operating system virtualization layer, 상기 소프트웨어 이동 장치의 보안관리부가, 상기 로컬 호스트의 무결성 기준값이 저장된 인증서 및 상기 로컬 호스트에서 측정된 무결성 값을 상기 로컬 호스트로부터 획득하는 단계;The security management unit of the software mobile device acquiring the certificate stored in the local host's integrity reference value and the integrity value measured at the local host from the local host; 상기 소프트웨어 이동 장치의 보안관리부가, 상기 무결성 값과 상기 인증서내의 무결성 기준값을 비교하여 상기 로컬 호스트의 무결성을 검증하는 단계; 및The security manager of the software mobile device verifying the integrity of the local host by comparing the integrity value with an integrity reference value in the certificate; And 상기 소프트웨어 이동 장치의 보안관리부가, 상기 로컬 호스트가 검증되면 상기 소프트웨어 이동 장치의 보안 프로파일을 암호화하여 상기 로컬 호스트에게 전송하는 단계;를 포함하는 로컬 호스트 인증 방법.And encrypting the security profile of the software mobile device and transmitting the encrypted security profile to the local host when the local host is verified. 제1항에 있어서,The method according to claim 1, 상기 소프트웨어 이동 장치는 이동식 저장 장치에 포함되는 것을 특징으로 하는, 로컬 호스트 인증 방법.Characterized in that the software mobile device is included in a removable storage device. 제1항에 있어서,The method according to claim 1, 상기 소프트웨어 이동 장치는 상기 로컬 호스트와 네트워크로 연결된 서버 컴퓨터에 포함되는 것을 특징으로 하는, 로컬 호스트 인증 방법. Wherein the software mobile device is included in a server computer that is networked with the local host. 운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치와 로컬 호스트 간의 안전한 I/O 채널 형성 방법에 있어서,A method of forming a secure I / O channel between a software mobile device and a local host that includes an operating system virtualization layer, 상기 소프트웨어 이동 장치의 보안관리부가, 상기 소프트웨어 이동 장치에서 어플리케이션 구동시 안전한 I/O를 요구하는 보안 정책 (Security Policy) 적용 대상인 경우, 보안 필터 드라이버(Security Filter Driver)를 상기 로컬 호스트 상의 커널 모드에 설치하는 단계; 및Wherein the security management unit of the software mobile device includes a security filter driver in a kernel mode on the local host when a security policy requiring secure I / Installing; And 상기 소프트웨어 이동 장치의 보안관리부가, 상기 보안 필터 드라이버에 의해 상기 소프트웨어 이동 장치 내의 상기 어플리케이션 구동에 따른 I/O 디바이스 실행을 위한 데이터 전송시 세션키를 통해 안전한 채널을 형성하는 단계;를 포함하는 I/O 채널 형성 방법. Wherein the security management unit of the software mobile device forms a secure channel through a session key in data transmission for execution of the I / O device in accordance with the driving of the application in the software mobile device by the security filter driver / O channel formation method. 제4항에 있어서,5. The method of claim 4, 상기 세션키는, 상기 소프트웨어 이동 장치의 상기 보안 필터 드라이버 설치시 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버의 상호 인증 과정을 통해 생성되거나, 또는 상기 소프트웨어 이동 장치의 상기 보안 필터 드라이버 설치 전에 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버 간에 사전 공유되어 상기 보안 필터 드라이버내에 포함되는 것을 특징으로 하는, I/O 채널 형성 방법.Wherein the session key is generated through a mutual authentication process between the software mobile device and the security filter driver upon installation of the security filter driver of the software mobile device, And is included in the security filter driver in a manner that is pre-shared between the security filter driver and the security filter driver. 운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치에 있어서,1. A software mobile device comprising an operating system virtualization layer, 상기 운영체제 가상화 계층은, 로컬 호스트를 인증하기 위한 보안관리부를 포함하고, Wherein the operating system virtualization layer includes a security management unit for authenticating a local host, 상기 보안관리부는, 상기 로컬 호스트의 무결성 기준값이 저장된 인증서 및 상기 로컬 호스트에서 측정한 무결성 값을 상기 로컬 호스트로부터 획득하고, 상기 무결성 값과 상기 인증서내의 무결성 기준값을 비교하여 상기 로컬 호스트의 무결성을 검증하고, 상기 로컬 호스트의 무결성이 검증되면 상기 소프트웨어 이동 장치의 보안 프로파일을 암호화하여, 상기 암호화된 보안 프로파일을 상기 로컬 호스트에게 전송하는 것을 특징으로 하는, 소프트웨어 이동 장치. Wherein the security manager obtains a certificate stored in the local host's integrity reference value and an integrity value measured at the local host from the local host and verifies integrity of the local host by comparing the integrity value with an integrity reference value in the certificate, Encrypts the security profile of the software mobile device when the integrity of the local host is verified, and transmits the encrypted security profile to the local host. 제6항에 있어서,The method according to claim 6, 상기 소프트웨어 이동 장치는 이동식 저장 장치에 포함되는 것을 특징으로 하는, 소프트웨어 이동 장치. Wherein the software moving device is included in a removable storage device. 제6항에 있어서,The method according to claim 6, 상기 소프트웨어 이동 장치는 상기 로컬 호스트와 네트워크로 연결된 서버 컴퓨터에 포함되는 것을 특징으로 하는, 소프트웨어 이동 장치. Wherein the software mobile device is included in a server computer that is networked with the local host. 운영체제 가상화 계층을 포함하는 소프트웨어 이동 장치에 있어서, 1. A software mobile device comprising an operating system virtualization layer, 상기 운영체제 가상화 계층은 로컬 호스트를 인증하기 위한 보안관리부를 포함하고, Wherein the operating system virtualization layer includes a security manager for authenticating a local host, 상기 보안관리부는, 상기 소프트웨어 이동 장치에서 어플리케이션 구동시 안전한 I/O를 요구하는 보안 정책 (Security Policy) 적용 대상인 경우, 보안 필터 드라이버(Security Filter Driver)를 상기 로컬 호스트 상의 커널 모드에 설치하고, 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버에 의해 상기 소프트웨어 이동 장치 내의 상기 어플리케이션 구동에 따른 I/O 디바이스 실행을 위한 데이터 전송시 세션키를 통해 안전한 채널을 형성하는 것을 특징으로 하는, 소프트웨어 이동 장치. Wherein the security management unit includes a security filter driver installed in a kernel mode on the local host when a security policy requesting secure I / O is applied when the application is running in the software mobile device, Wherein the software mobile device and the security filter driver form a secure channel through the session key when transmitting data for execution of the I / O device in accordance with the driving of the application in the software mobile device. 제9항에 있어서,10. The method of claim 9, 상기 세션키는, 상기 소프트웨어 이동 장치의 상기 보안 필터 드라이버 설치시 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버의 상호 인증 과정을 통해 생성되거나, 또는 상기 소프트웨어 이동 장치의 상기 보안 필터 드라이버 설치 전에 상기 소프트웨어 이동 장치와 상기 보안 필터 드라이버 간에 사전 공유되어 상기 보안 필터 드라이버내에 포함되는 것을 특징으로 하는, 소프트웨어 이동 장치. Wherein the session key is generated through a mutual authentication process between the software mobile device and the security filter driver upon installation of the security filter driver of the software mobile device, And is included in the security filter driver in a pre-shared manner between the security filter driver and the security filter driver.
KR1020080002648A 2007-08-23 2008-01-09 Method for autenticating between a software mobility device and a local host, method for creating I/O channel, and the device thereof KR101506577B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/104,508 US8131997B2 (en) 2007-08-23 2008-04-17 Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US95753807P 2007-08-23 2007-08-23
US60/957,538 2007-08-23

Publications (2)

Publication Number Publication Date
KR20090020457A KR20090020457A (en) 2009-02-26
KR101506577B1 true KR101506577B1 (en) 2015-03-27

Family

ID=40687921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080002648A KR101506577B1 (en) 2007-08-23 2008-01-09 Method for autenticating between a software mobility device and a local host, method for creating I/O channel, and the device thereof

Country Status (1)

Country Link
KR (1) KR101506577B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101120372B1 (en) * 2009-10-16 2012-02-24 닉스테크 주식회사 Method for preventing information leakage of host apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050026131A (en) * 2003-09-09 2005-03-15 (주)잉카엔트웍스 A method of synchronizing data of personal portable device and a system thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050026131A (en) * 2003-09-09 2005-03-15 (주)잉카엔트웍스 A method of synchronizing data of personal portable device and a system thereof

Also Published As

Publication number Publication date
KR20090020457A (en) 2009-02-26

Similar Documents

Publication Publication Date Title
US8131997B2 (en) Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel
Sandhu et al. Peer-to-peer access control architecture using trusted computing technology
KR101801567B1 (en) Policy-based trusted inspection of rights managed content
US8171295B2 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
US20200175208A1 (en) Personalized and cryptographically secure access control in operating systems
US7818585B2 (en) Secure license management
KR100930218B1 (en) Method, apparatus and processing system for providing a software-based security coprocessor
Garriss et al. Trustworthy and personalized computing on public kiosks
US8565437B2 (en) Method and apparatus for remotely provisioning software-based security coprocessors
WO2017124960A1 (en) Method and device for application program to access interface, and method and device for application program to request authorization
EP2866166A1 (en) Systems and methods for enforcing third party oversight data anonymization
US20090031141A1 (en) Computer platforms and their methods of operation
US20070094719A1 (en) Method and apparatus for migrating virtual trusted platform modules
EP1203278B1 (en) Enforcing restrictions on the use of stored data
US11069786B2 (en) Controlling execution of software by combining secure boot and trusted boot features
EP3217310B1 (en) Hypervisor-based attestation of virtual environments
Cooper et al. Security considerations for code signing
Aslam et al. Security and trust preserving inter‐and intra‐cloud VM migrations
Zhang et al. Security enforcement model for distributed usage control
US20090204544A1 (en) Activation by trust delegation
Khan et al. A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds
KR101506577B1 (en) Method for autenticating between a software mobility device and a local host, method for creating I/O channel, and the device thereof
Park et al. A tiny hypervisor-based trusted geolocation framework with minimized TPM operations
KR20150072007A (en) Method for accessing temper-proof device and apparatus enabling of the method
Huang et al. Pearl-TEE: supporting untrusted applications in trustzone

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
FPAY Annual fee payment

Payment date: 20180227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 6