KR20110123828A - Server-based computing system and method of security management the same - Google Patents

Server-based computing system and method of security management the same Download PDF

Info

Publication number
KR20110123828A
KR20110123828A KR1020100043263A KR20100043263A KR20110123828A KR 20110123828 A KR20110123828 A KR 20110123828A KR 1020100043263 A KR1020100043263 A KR 1020100043263A KR 20100043263 A KR20100043263 A KR 20100043263A KR 20110123828 A KR20110123828 A KR 20110123828A
Authority
KR
South Korea
Prior art keywords
user
key
user terminal
location
file
Prior art date
Application number
KR1020100043263A
Other languages
Korean (ko)
Other versions
KR101251187B1 (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 KR1020100043263A priority Critical patent/KR101251187B1/en
Publication of KR20110123828A publication Critical patent/KR20110123828A/en
Application granted granted Critical
Publication of KR101251187B1 publication Critical patent/KR101251187B1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6236Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A server-based computing system and a method for managing the security system are provided to improve the security level by ciphering a file into user information and use position information. CONSTITUTION: A VM(Virtual Machine)(210) is connected with a user terminal(100) through a network. A location determination part(400) determines the location of a user terminal which is connected through the network. A hyperviser(220) assigns the VM to the user terminal and compares the location of the user terminal with the use allowance area. If the user is located in the use allowance area, the hypervisor permits the task through the VM.

Description

서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법{SERVER-BASED COMPUTING SYSTEM AND METHOD OF SECURITY MANAGEMENT THE SAME}SERVER-BASED COMPUTING SYSTEM AND METHOD OF SECURITY MANAGEMENT THE SAME

본 발명은 서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법에 관한 것으로, 보다 상세하게는 서버 기반 컴퓨팅 시스템에서 사용되는 파일들을 사용자 정보 및 사용 위치 정보로 암호화함으로써, 허가된 사용자가 허가된 지역에서만 파일을 열람하거나 수정할 수 있도록 함으로써, 서버 기반 컴퓨팅 시스템의 보안수준을 향상시킬 수 있도록 하는 서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법에 관한 것이다. The present invention relates to a server-based computing system and a security management method thereof, and more particularly, by encrypting files used in the server-based computing system with user information and location information, the file is read only in the region where the authorized user is authorized. The present invention relates to a server-based computing system and a security management method thereof, which can improve or improve the security level of the server-based computing system.

인터넷의 확산과 가상화 기술의 발전에 따라 서버기반 컴퓨팅(Server-Based Computing)이 주목 받고 있다. 서버기반 컴퓨팅은 중앙 서버에 복수의 운영체제와 애플리케이션을 운영하여 CPU, 메모리, 디스크 등의 인프라를 통합해 활용할 수 있게 하는 기술로써, 수많은 사용자의 서로 다른 운영체제와 애플리케이션을 통합적으로 구현할 수 있다.With the spread of the Internet and the development of virtualization technology, server-based computing has attracted attention. Server-based computing is a technology that enables multiple operating systems and applications on a central server to integrate and utilize infrastructure such as CPU, memory, and disk, and can integrate different operating systems and applications of many users.

사용자는 씬 클라이언트(Thin client)를 통해 중앙 서버에 구현된 가상 머신(Virtual Machine)에 접속하여 입출력 기능만을 수행하여, 입력동작으로 인한 데이터만을 중앙 서버와 주고받게 됨으로 네트워크 인프라에 대한 부하 증대 부담이나 기존 개인용 컴퓨터(PC)의 업그레이드 비용 부담을 절감할 수 있다.The user connects to a virtual machine implemented in a central server through a thin client to perform only input / output functions, and exchanges only the data due to input operations with the central server, thereby increasing the load on the network infrastructure. Reduce the cost of upgrading an existing personal computer (PC).

이와 같이, 서버 기반 컴퓨팅은, 모든 정보를 중앙 서버에 올려 두기 때문에 사용자가 언제, 어디서나, 어떤 기기나 네트워크를 통해서도 필요한 정보에 접속해 온 디맨드(On demand) 형식으로 이용할 수 있다. In this way, server-based computing puts all the information on a central server so that users can use it in an on-demand format at any time, from anywhere, through any device or network.

그러나, 접속이 자유로운 서버 기반 컴퓨팅의 특성으로 인해 정보 유출의 위험성 또한 높음으로, 보안수준을 향상시키기 위한 기술이 요구되고 있다.However, there is a high risk of information leakage due to the characteristics of server-based computing that can be accessed freely, and thus, a technique for improving the security level is required.

본 발명이 이루고자 하는 기술적 과제는, 서버 기반 컴퓨팅 시스템에서 사용되는 파일들을 사용자 정보 및 사용 위치 정보로 암호화함으로써, 허가된 사용자가 허가된 지역에서만 파일을 열람하거나 수정할 수 있도록 함으로써, 서버 기반 컴퓨팅 시스템의 보안수준을 향상시킬 수 있도록 하는 서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법을 제공함에 있다.The technical problem to be achieved by the present invention is to encrypt the files used in the server-based computing system with user information and location information, so that the authorized user can view or modify the file only in the authorized region, the server-based computing system An object of the present invention is to provide a server-based computing system and a security management method for improving the security level.

본 발명에 따른 서버 기반 컴퓨팅 시스템은, 네트워크 접속이 가능한 사용자 단말; 상기 사용자 단말과 접속되는 복수개의 가상 머신; 상기 네트워크를 통해 접속한 사용자 단말의 위치를 판별하는 위치 판별부; 상기 복수개의 가상 머신 중 어느 하나를 상기 사용자 단말에 할당하고, 상기 위치 판별부를 통해 판별된 상기 사용자 단말의 위치가 기 저장된 사용 허가지역에 포함되는지 여부를 판단하여, 상기 사용자가 상기 사용 허가지역에 위치한 경우 상기 가상 머신을 통한 작업을 허여하는 하이퍼바이저를 포함하는 것을 특징으로 한다.Server-based computing system according to the present invention, a network connection user terminal; A plurality of virtual machines connected with the user terminal; A position determination unit determining a position of a user terminal connected through the network; Assigning one of the plurality of virtual machines to the user terminal and determining whether the location of the user terminal determined by the location determination unit is included in a pre-stored use permission area, so that the user If located, characterized in that it comprises a hypervisor that allows the operation through the virtual machine.

본 발명에 따른 서버 기반 컴퓨팅 시스템의 보안 관리 방법은, 네트워크를 통해 가상 머신에 접속한 사용자 단말로부터 사용자 정보를 입력받아 인증하는 단계와; 상기 사용자 단말의 위치를 판별하는 단계와; 상기 사용자 단말의 위치에 기초하여, 사용자의 위치가 기저장된 사용 허가지역에 포함되는지 여부를 판단하는 단계와; 상기 사용자가 상기 사용 허가지역에 위치한 경우 상기 가상 머신을 통한 파일 작업을 허여하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a security management method of a server-based computing system, comprising: authenticating user information from a user terminal connected to a virtual machine through a network; Determining a location of the user terminal; Determining whether the location of the user is included in a pre-stored permission area based on the location of the user terminal; And permitting file operations through the virtual machine when the user is located in the usage permission area.

본 발명에 따른 서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법에 의하면, 서버 기반 컴퓨팅 시스템에서 사용되는 파일들을 사용자 정보 및 사용 위치 정보로 암호화함으로써, 허가된 사용자가 허가된 지역에서만 파일을 열람하거나 수정할 수 있도록 함으로써, 서버 기반 컴퓨팅 시스템의 보안수준을 향상시킬 수 있다.According to the server-based computing system and the security management method according to the present invention, by encrypting the files used in the server-based computing system with the user information and the use location information, so that the authorized user can view or modify the file only in the authorized region As a result, the security level of the server-based computing system can be improved.

도 1은 본 발명에 따른 서버 기반 컴퓨팅 시스템의 구성도,
도 2는 본 발명의 보안관리 방법에 따른 데이터 암호화/복호화 상태도,
도 3은 본 발명의 보안관리 방법에 따른 서버 기반 컴퓨팅 시스템의 사용자 정보 제어 흐름도,
도 4는 본 발명의 보안관리 방법에 따른 서버 기반 컴퓨팅 시스템의 파일 생성 및 저장 제어 흐름도,
도 5는 본 발명의 보안관리 방법에 따른 서버 기반 컴퓨팅 시스템의 파일 확인 제어 흐름도이다.
1 is a block diagram of a server-based computing system according to the present invention,
2 is a data encryption / decryption state diagram according to the security management method of the present invention,
3 is a flowchart of user information control of a server-based computing system according to a security management method of the present invention;
4 is a flowchart of file generation and storage control in a server-based computing system according to a security management method of the present invention;
5 is a file confirmation control flowchart of a server-based computing system according to the security management method of the present invention.

이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다. 또한 도면들에 있어서, 구성요소들의 두께는 기술적 내용의 효과적인 설명을 위해 과장된 것이다. Objects, other objects, features and advantages of the present invention will be readily understood through the following preferred embodiments associated with the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. Rather, the embodiments disclosed herein are provided so that the disclosure can be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In this specification, when an element is referred to as being on another element, it may be directly formed on another element, or a third element may be interposed therebetween. Also in the figures, the thickness of the components is exaggerated for an effective description of the technical content.

본 명세서에서 기술하는 실시예들은 본 발명의 이상적인 예시도인 단면도 및/또는 평면도들을 참고하여 설명될 것이다. 도면들에 있어서, 막 및 영역들의 두께는 기술적 내용의 효과적인 설명을 위해 과장된 것이다. 따라서 제조 기술 및/또는 허용 오차 등에 의해 예시도의 형태가 변형될 수 있다. 따라서 본 발명의 실시예들은 도시된 특정 형태로 제한되는 것이 아니라 제조 공정에 따라 생성되는 형태의 변화도 포함하는 것이다. 예를 들면, 직각으로 도시된 식각 영역은 라운드지거나 소정 곡률을 가지는 형태일 수 있다. 따라서 도면에서 예시된 영역들은 속성을 가지며, 도면에서 예시된 영역들의 모양은 소자의 영역의 특정 형태를 예시하기 위한 것이며 발명의 범주를 제한하기 위한 것이 아니다. 본 명세서의 다양한 실시예들에서 제1, 제2 등의 용어가 다양한 구성요소들을 기술하기 위해서 사용되었지만, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다. Embodiments described herein will be described with reference to cross-sectional and / or plan views, which are ideal exemplary views of the present invention. In the drawings, the thicknesses of films and regions are exaggerated for effective explanation of technical content. Therefore, the shape of the exemplary diagram may be modified by manufacturing techniques and / or tolerances. Accordingly, the embodiments of the present invention are not limited to the specific forms shown, but also include changes in the shapes that are produced according to the manufacturing process. For example, the etched regions shown at right angles may be rounded or have a predetermined curvature. Thus, the regions illustrated in the figures have attributes, and the shapes of the regions illustrated in the figures are intended to illustrate specific forms of regions of the elements and are not intended to limit the scope of the invention. Although the terms first, second, etc. have been used in various embodiments of the present disclosure to describe various components, these components should not be limited by these terms. These terms are only used to distinguish one component from another. The embodiments described and illustrated herein also include complementary embodiments thereof.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, the words 'comprises' and / or 'comprising' do not exclude the presence or addition of one or more other components.

이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In describing the specific embodiments below, various specific details are set forth in order to explain the invention more specifically and to help understand. However, one of ordinary skill in the art can understand that the present invention can be used without these various specific details. In some cases, it is mentioned in advance that parts of the invention which are commonly known in the description of the invention and which are not highly related to the invention are not described in order to prevent confusion in explaining the invention without cause.

도 1은 본 발명에 따른 서버 기반 컴퓨팅 시스템의 구성도이다.1 is a block diagram of a server-based computing system according to the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 서버 기반 컴퓨팅 시스템은, 네트워크 접속이 가능한 사용자 단말(100)과, 사용자 단말(100)의 위치를 판별하는 위치 판별부(400)와, 파일의 암호와 및 복호화를 위한 키 데이터가 저장되는 키 관리 서버(300)와, 네트워크를 통해 접속한 사용자 단말(100)들에 대해 사용자 정보 및 사용자 단말(100)의 위치 정보에 기초하여 파일 사용이 가능한 사용자 인지 여부를 판단하고, 각 사용자 단말(100)의 입력을 처리하여 사용자의 데이터를 키 관리 서버(300)에 저장된 키 데이터에 따라 암호화 및 복호화 관리하는 하이퍼바이저(Hypervisor) 서버(200)를 포함한다.As shown in FIG. 1, the server-based computing system according to the present invention includes a user terminal 100 capable of accessing a network, a location determination unit 400 for determining a location of the user terminal 100, and a password of a file. And a user who can use a file based on user information and location information of the user terminal 100 with respect to the key management server 300 where key data for decryption and decryption are stored, and the user terminals 100 connected through a network. Or a hypervisor server 200 for determining whether or not to process the data, and processing the input of each user terminal 100 to encrypt and decrypt user data according to the key data stored in the key management server 300. .

사용자 단말(100)은 데스크탑, 노트북, 스마트 폰, 하이퍼바이저 서버(200) 접속을 위한 전용 단말 등 네트워크를 통해 하이퍼바이저 서버(200)에 접속 가능한 모든 단말을 포함할 수 있다. The user terminal 100 may include all terminals accessible to the hypervisor server 200 through a network such as a desktop, a notebook, a smart phone, a dedicated terminal for accessing the hypervisor server 200, and the like.

위치 판별부(400)는 사용자 단말(100)의 위치를 판별하여 판별된 사용자 단말(100)의 위치 정보 및 사용자 아이디를 하이퍼바이저 서버(200) 측으로 제공한다. 이러한 위치 판별부(400)는 물리적인 위치에 대한 논리적 지역 정보가 맵핑된 맵핑 데이터 DB(410)를 포함한다. 물리적 위치는 사무실, 로비, 자택 등의 실제 공간이고, 논리적 지역 정보는 시스템상에서 처리 가능한 형태의 논리값을 포함한다. 맵핑 데이터 DB(410)에는 물리적 위치에 따라 할당된 논리적 지역 정보가 저장된다. 이에, 위치 판별부(400)는 사용자 단말(100)의 물리적 위치를 주기적으로 판별하고, 판별된 물리적 위치를 논리적 지역 정보로 변환하여 사용자 정보와 함께 하이퍼바이저 서버(200) 측에 제공한다. 위치 판별부(400)는 사용자 단말(100)의 위치를 주기적으로 보고하거나, 혹은, 사용자 단말(100)의 논리적 지역 정보가 변환된 경우에 한해 하이퍼바이저 서버(200)에 사용자 단말(100)의 위치를 보고할 수 있다. The location determining unit 400 determines the location of the user terminal 100 and provides the location information and the user ID of the determined user terminal 100 to the hypervisor server 200. The location determiner 400 includes mapping data DB 410 to which logical area information about a physical location is mapped. The physical location is a real space such as an office, a lobby, or a home, and the logical area information includes logical values in a form that can be processed in the system. The mapping data DB 410 stores logical area information allocated according to a physical location. Accordingly, the location determiner 400 periodically determines the physical location of the user terminal 100, converts the determined physical location into logical area information, and provides the hypervisor server 200 with the user information. The location determiner 400 reports the location of the user terminal 100 periodically or the hypervisor server 200 of the user terminal 100 only when the logical area information of the user terminal 100 is converted. You can report the location.

여기서, 위치 판별부(400)는 사용자 단말(100)의 물리적 위치를 판별하기 위해, 사용자 단말(100)이 접속한 IP를 추적할 수 있으며, 사용자 단말(100)이 GPS 기능이나, 이동통신 기능, ZigBee 등의 근거리 네트워크 기능 등의 위치 추적 기능을 지원하는 경우, 이를 이용하여 사용자 단말(100)의 위치를 추적하는 것이 가능하다. 즉, 위치 판별부(400)를 통한 사용자 단말(100)의 위치 추적 방법은 앞서 예시한 것에 한정되지 아니하며, 사용자 단말(100)의 특성에 따라 다양한 기술을 적용할 수 있다.Here, the location determining unit 400 may track the IP connected to the user terminal 100 to determine the physical location of the user terminal 100, the user terminal 100 is a GPS function or a mobile communication function In the case of supporting a location tracking function such as a local area network function such as ZigBee, it is possible to track the location of the user terminal 100 using the location tracking function. That is, the location tracking method of the user terminal 100 through the location determination unit 400 is not limited to the above example, and various techniques may be applied according to the characteristics of the user terminal 100.

키 관리 서버(300)는 사용자 공개키 DB(310)와 지역 공개/비밀키 DB(320)를 포함한다. 사용자 공개키 DB(310)에는 각 사용자의 ID에 대응되는 사용자 공개키가 상호 맵핑되어 저장된다. 지역 공개/비밀키 DB(320)에는 각각의 논리적 지역에 할당된 지역 공개키 및 비밀키가 저장된다. 지역 공개키 및 비밀키는 각 논리적 지역에 상호 맵핑되는 형태로 저장될 수 있다. 키 관리 서버(300)는 하이퍼바이저 서버(200)가 요청한 키를 DB(310, 320)로부터 독출하여 제공할 수 있다. 이러한, 사용자 공개키 DB(310)와 지역 공개/비밀키 DB(320)는 DB 형태나 혹은, LDAP, 파일 등의 다양한 형태로 저장될 수 있다. The key management server 300 includes a user public key DB 310 and a local public / private key DB 320. In the user public key DB 310, a user public key corresponding to the ID of each user is mapped and stored. The local public / private key DB 320 stores local public and private keys assigned to each logical region. Local public and private keys may be stored in a form that maps to each logical region. The key management server 300 may read and provide the key requested by the hypervisor server 200 from the DBs 310 and 320. The user public key DB 310 and the local public / private key DB 320 may be stored in various forms such as a DB form, LDAP, or a file.

하이퍼바이저 서버(200)는 하드웨어 플랫폼(230)과, 하드웨어 플랫폼(230)상에 가상화 계층을 제공하는 하이퍼바이저(220)와, 하이퍼바이저(220) 상에 구현된 복수의 가상 머신(Virtual Machine ; VM)(210)을 포함한다. The hypervisor server 200 may include a hardware platform 230, a hypervisor 220 providing a virtualization layer on the hardware platform 230, and a plurality of virtual machines implemented on the hypervisor 220; VM) 210.

하드웨어 플랫폼(230)은 저장장치와, CPU(Central Processing Unit), 메모리, 입출력 포트 등을 포함하는 실제의 하드웨어 장치를 포함한다. 여기서, 저장장치로는 하드 디스크(235)를 적용하는 경우를 예시하기로 한다.The hardware platform 230 includes a storage device and an actual hardware device including a central processing unit (CPU), memory, input / output ports, and the like. Here, a case in which the hard disk 235 is applied as the storage device will be described.

가상 머신(210)은 마치 물리적 컴퓨터인 것처럼 자체 운영체제 및 애플리케이션을 실행할 수 있는 완전히 분리된 소프트웨어 컨테이너다. 가상 머신(210)에는 각각 게스트 운영체제(guest OS)가 설치될 수 있으며, 각각의 게스트 운영체제 상에는 해당 게스트 운영체제에서 지원되는 프로그램이 설치될 수 있다. 이에, 사용자는 사용자 단말(100)을 통해 가상 머신(210)에 접속하여 아이디 및 패스워드를 입력함으로써 시스템 사용을 인증받은 후, 파일을 생성, 열람, 수정할 수 있다.The virtual machine 210 is a completely separate software container that can run its own operating system and applications as if it were a physical computer. Each guest OS may be installed in the virtual machine 210, and a program supported by the corresponding guest OS may be installed on each guest OS. Thus, the user may access the virtual machine 210 through the user terminal 100 and input the ID and password to authenticate the system use, and then create, view, and modify the file.

하이퍼바이저(220)는 가상화 계층 상에 복수의 가상 머신(210)을 생성하고, 하드웨어 플랫폼(230)의 물리적인 자원들이 각각의 가상 머신(210)이라는 독립적인 동시에 개인화된 환경에서 동작할 수 있도록 한다. The hypervisor 220 creates a plurality of virtual machines 210 on the virtualization layer, so that the physical resources of the hardware platform 230 can operate in an independent and personalized environment called each virtual machine 210. do.

하이퍼바이저(220)는 암호화/복호화 모듈(225)을 포함하여, 키 관리 서버(300)에 저장된 키와 사용자가 보유한 비밀키를 이용하여 파일을 암호화 및 복호화한다. 여기서, 암호화/복호화 모듈(225)은 메모리부(227)를 구비하여, 암호화 및 복호화를 위한 키 쌍을 저장할 수 있으며 위치 판별부(400)로부터 수신된 사용자의 논리적 지역 정보 변경 메시지를 송신 받아 사용자 위치 정보를 갱신할 수 있다. 이에, 메모리부(227)에는 사용자의 정보, 예컨대, 사용자 아이디와 해당 사용자의 논리적 지역 정보가 맵핑되어 갱신될 수 있다. 이러한 메모리부(227)는 캐시메모리 형태로 구비될 수 있으며, 암호화/복호화 모듈(225)의 외부에 구비하는 것도 가능하다.The hypervisor 220 includes an encryption / decryption module 225 to encrypt and decrypt a file using a key stored in the key management server 300 and a secret key held by the user. Here, the encryption / decryption module 225 may include a memory unit 227 to store a key pair for encryption and decryption, and receive a user's logical area information change message received from the location determiner 400. The location information can be updated. Thus, information of the user, for example, the user ID and the logical region information of the user may be mapped and updated in the memory unit 227. The memory unit 227 may be provided in the form of a cache memory, or may be provided outside the encryption / decryption module 225.

이러한 구성에 따라, 하이퍼바이저(220)는 가상 머신(210)에 접속한 사용자 단말(100)이 파일의 생성, 열람, 수정 등을 요구하는 경우, 메모리부(227)에 저장된 사용자 정보와 해당 사용자의 논리적 지역 정보에 기초하여 사용자 단말(100)이 허가된 위치에 있는지를 판단한다. 한편, 특정 논리적 지역이 허가된 위치인지 여부에 대한 정보는 미리 저장되어 있으며, 이러한 정보('논리적 지역-허가 여부 맵핑 정보')를 이용하여 하이퍼바이저(220)가 사용자 단말(100)이 허가된 위치에 있는지 여부를 판단할 수 있다. '논리적 지역-허가 여부 맵핑 정보'는 하드 디스크 또는 별도로 마련된 저장부(미도시)에 저장될 수 있다. 한편, 별도로 마련된 저장부는 하이퍼바이저(200)가 내장하거나 또는 외부에 마련되는 것도 가능하다.According to this configuration, when the user terminal 100 connected to the virtual machine 210 requests creation, viewing, or modification of a file, the hypervisor 220 may store user information stored in the memory unit 227 and the corresponding user. It is determined whether the user terminal 100 is in the authorized location based on the logical area information of the. Meanwhile, information on whether a specific logical area is an authorized location is stored in advance, and the hypervisor 220 permits the user terminal 100 to use the information ('logical area-permission mapping information'). You can determine whether you are in a location. The logical region-permission permission mapping information may be stored in a hard disk or a separate storage unit (not shown). Meanwhile, the separately provided storage unit may be provided in the hypervisor 200 or may be provided outside.

사용자 단말(100)이 허가된 위치에 있는 것으로 판단된 경우, 하이퍼바이저(220)는 사용자가 요청한 파일의 생성, 열람, 수정 등의 요청을 처리한다. 여기서, 암호화/복호화 모듈(225)은 처리되는 파일을 해당 사용자의 공개키 및 비밀키와, 사용 지역의 공개키 및 비밀키를 이용하여 암호화 및 복호화한다.If it is determined that the user terminal 100 is in an authorized position, the hypervisor 220 processes a request for creating, reading, and modifying a file requested by the user. In this case, the encryption / decryption module 225 encrypts and decrypts the processed file using the user's public key and secret key and the local region's public key and secret key.

도 2는 본 발명의 보안관리 방법에 따른 데이터 암호화/복호화 상태도로서, 도 1의 암호화/복호화 모듈(225)에서 파일을 암호화 및 복호화하는 과정을 도시한 것이다.2 is a data encryption / decryption state diagram according to the security management method of the present invention, which illustrates a process of encrypting and decrypting a file in the encryption / decryption module 225 of FIG. 1.

데이터 암호화/복호화를 위한 키 교환방식으로는 공개키/비밀키 쌍(public/private key pair)을 이용한 다양한 기술이 사용될 수 있으며, 이하 설명에서는 디피-헬만 키 교환(Diffie-Hellman key exchange) 방식을 적용하는 경우를 예시하기로 한다. 디피-헬만 키 교환(Diffie-Hellman key exchange)은 서로 다른 두 사용자 A, B 간에 비밀을 공유하거나 대칭키를 교환하는데 사용되는 것으로, 자신의 비밀키와 상대방의 공유키를 이용하여 양측이 동일한 대칭키를 생성하는 것을 기본 원리로 한다.As a key exchange method for data encryption / decryption, various techniques using a public / private key pair may be used. In the following description, a Diffie-Hellman key exchange method may be used. The case of application will be exemplified. Diffie-Hellman key exchange is used to share secrets or exchange symmetric keys between two different users A and B. Both sides share the same symmetry using their own secret key and the other's shared key. The basic principle is to generate keys.

본 발명에 따른 서버 기반 컴퓨팅 시스템에서, 각각의 논리적 지역(a)에는 지역 공개키 Pub_a와 지역 비밀키 Pri_a 쌍이 할당되고, 각 사용자(b)는 사용자 공개키 Pub_b와 사용자 비밀키 Pri_b 쌍을 가지고 있다. 공개키인 Pub_a와 Pub_b는 상호 간에 공개되어 있지만, 비밀키 Pri_a 와 Pri_b는 자신만이 알고 있다. 따라서, 하이퍼바이저 서버(200) 측에서는 지역 공개키 Pub_a 및 지역 비밀키 Pri_a와 사용자 공개키 Pub_b를 알고 있다. 이에, 지역 공개키 Pub_a와 지역 비밀키 Pri_a는 키 관리 서버(300)의 지역 공개/비밀키 DB(320)에 저장되고, 사용자의 공개키 Pub_b는 사용자 공개키 DB(310)에 저장된다.In the server-based computing system according to the present invention, each logical region (a) is assigned a local public key Pub_a and a local secret key Pri_a pair, and each user (b) has a user public key Pub_b and a user private key Pri_b pair. . Public keys Pub_a and Pub_b are open to each other, but private keys Pri_a and Pri_b are known only to you. Therefore, the hypervisor server 200 knows the local public key Pub_a, the local secret key Pri_a, and the user public key Pub_b. Accordingly, the local public key Pub_a and the local secret key Pri_a are stored in the local public / private key DB 320 of the key management server 300, and the user's public key Pub_b is stored in the user public key DB 310.

하이퍼바이저 서버(200)의 암호화/복호화 모듈(225)은 사용자가 생성한 데이터를 암호화하기 위해, 지역 비밀키 Pri_a와 사용자 공개키 Pub_b를 대칭키 생성 알고리즘에 대입하여 암호화 키(DH_Key)를 생성한다(S10). 여기서, 대칭키 생성 알고리즘은, 디피-헬만 키 교환(Diffie-Hellman key exchange) 기술을 이용하여 생성할 수 있다.The encryption / decryption module 225 of the hypervisor server 200 generates an encryption key (DH_Key) by substituting the local secret key Pri_a and the user public key Pub_b into a symmetric key generation algorithm to encrypt data generated by the user. (S10). Here, the symmetric key generation algorithm may be generated using a Diffie-Hellman key exchange technique.

암호화/복호화 모듈(225)은 암호화 키(DH_Key)를 이용하여 암호화 알고리즘을 수행함으로써, 평문을 암호문으로 변환한다(S14).The encryption / decryption module 225 performs an encryption algorithm using the encryption key DH_Key, thereby converting the plain text into a cipher text (S14).

암호문을 복호화하기 위해, 사용자 비밀키 Pri_b와 지역 공개키 Pub_a를 대칭키 생성 알고리즘에 대입하여 복호화 키(DH_Key)를 생성한다(S20). 디피-헬만 키 교환(Diffie-Hellman key exchange) 방식에 따라 생성된 복호화 키(DH_Key)는, S10단계에서 암호화를 위해 생성한 암호화 키(DH_Key)와 일치한다. 즉, Pri_a 및 Pub_b를 이용하여 생성한 키와 Pri_b 및 Pub_a를 이용하여 생성한 키는 상호 일치함으로, 별도의 키 교환과정을 거치지 아니하고도 암호화/복호화를 위한 대칭키(DH_Key)를 생성할 수 있다. 또한, 양측에서 키 생성을 위해 사용한 지역 비밀키 Pri_a와 사용자 비밀키 Pri_b는 각자 본인들만 알 수 있음으로, 다른 사용자들로부터 보안을 유지할 수 있다.In order to decrypt the ciphertext, the decryption key DH_Key is generated by substituting the user private key Pri_b and the local public key Pub_a into a symmetric key generation algorithm (S20). The decryption key DH_Key generated according to the Diffie-Hellman key exchange method matches the encryption key DH_Key generated for encryption in step S10. That is, the key generated using Pri_a and Pub_b and the key generated using Pri_b and Pub_a coincide with each other, so that a symmetric key (DH_Key) for encryption / decryption can be generated without a separate key exchange process. . In addition, the local private key Pri_a and the user private key Pri_b used by both sides can only be known by themselves, so that they can be secured from other users.

복호화 키(DH_Key)를 이용하여 암호문에 대해 복호화 알고리즘을 수행함으로써, 암호문을 평문으로 변환할 수 있다(S24).By performing the decryption algorithm on the cipher text using the decryption key DH_Key, the cipher text can be converted into plain text (S24).

이상 설명한 바와 같이, 본 발명에 따른 서버 기반 컴퓨팅 시스템의 보안 방법은 디피-헬만 키 교환(Diffie-Hellman key exchange) 기술을 이용하여, 파일을 암호화할 때는 사용자의 공개키와 논리적 지역에 할당된 지역의 비밀키를 이용하고, 사용자가 이용하기 위하여 파일을 복호화할 때는 사용자의 비밀키와 논리적 지역에 할당된 지역 공개키를 이용할 수 있다.As described above, the security method of the server-based computing system according to the present invention uses a Diffie-Hellman key exchange technology, the area assigned to the user's public key and logical area when encrypting files When using the private key and decrypting the file for use by the user, the user's private key and the local public key assigned to the logical area can be used.

도 3은 본 발명의 보안관리 방법에 따른 서버 기반 컴퓨팅 시스템의 사용자 정보 제어 흐름도로서, 하이퍼바이저(220)가 사용자의 최신의 논리적 지역을 인식하도록 하기 사용자 단말(100)의 위치 정보를 지속적으로 갱신하는 과정을 도시하고 있다.3 is a flowchart of a user information control of a server-based computing system according to the security management method of the present invention. The hypervisor 220 continuously updates location information of the user terminal 100 to recognize the latest logical region of the user. The process of doing so is shown.

가상 머신(210)에 접속한 사용자 단말(100)은 위치 정보를 송신한다(S100). 사용자 단말(100)은 사용자 정보인 사용자 아이디 및 패스워드를 입력하여 가상 머신(210)에 접속하며, 위치 정보는 사용자 단말(100)의 특성에 따라 다양한 형태로 송신될 수 있다. 예컨대, 사용자 단말(100)의 위치 정보는, 접속 IP나, GPS 신호, ZigBee 등의 근거리 네트워크 신호, 이동통신망 접속에 따른 파일럿 신호 등의 형태로 송신될 수 있다. The user terminal 100 connected to the virtual machine 210 transmits location information (S100). The user terminal 100 accesses the virtual machine 210 by inputting user ID and password, which are user information, and the location information may be transmitted in various forms according to the characteristics of the user terminal 100. For example, the location information of the user terminal 100 may be transmitted in the form of a connection IP, a GPS signal, a local area network signal such as ZigBee, a pilot signal according to a mobile communication network connection, or the like.

위치 판별부(400)는 접속한 사용자 단말(100)의 물리적 위치를 파악한다(S110). The location determiner 400 determines the physical location of the connected user terminal 100 (S110).

위치 판별부(400)는 맵핑 데이터 DB(410)에 저장된 정보에 기초하여 사용자 단말(100)의 물리적 위치에 따른 논리적 지역을 파악한다(S120). The location determiner 400 determines a logical area according to the physical location of the user terminal 100 based on the information stored in the mapping data DB 410 (S120).

위치 판별부(400)는 사용자의 논리적 지역이 이 전 논리적 지역에서 변경되었는지 여부를 판단하고(S130), 논리적 지역이 변경된 경우, 하이퍼바이저(220) 측에 지역 변경 메시지를 송신한다(S140). 지역 변경 메시지는 사용자 정보와 해당 사용자의 논리적 지역 정보를 포함한다.The location determining unit 400 determines whether the logical area of the user has been changed from the previous logical area (S130), and when the logical area is changed, transmits a region change message to the hypervisor 220 (S140). The region change message includes the user information and the logical region information of the user.

하이퍼바이저(220)는 위치 판별부(400)로부터 수신된 지역 변경 메시지에 따라, 메모리부(227)에 저장된 사용자 위치 정보와 사용자 정보를 갱신한다(S150). The hypervisor 220 updates the user location information and the user information stored in the memory unit 227 according to the area change message received from the location determining unit 400 (S150).

이러한 구성에 의해, 하이퍼바이저(220)는 사용자 단말(100)의 최신의 논리적 지역을 지속적으로 갱신할 수 있다.By such a configuration, the hypervisor 220 may continuously update the latest logical area of the user terminal 100.

도 4는 본 발명의 보안관리 방법에 따른 서버 기반 컴퓨팅 시스템의 파일 생성 및 저장 제어 흐름도이다.4 is a flowchart of file generation and storage control in a server-based computing system according to a security management method of the present invention.

사용자는 사용자 단말(100)을 통해 가상 머신(210) 측에 파일 생성하거나 저장할 것을 요청할 수 있다(S210)The user may request to generate or store a file to the virtual machine 210 through the user terminal 100 (S210).

가상 머신(210)은 사용자 입력에 따라 하이퍼바이저(220) 측에, 디스크 입출력(Disk I/O)을 요청한다(S212). 여기서, 디스크는 하드웨어 플랫폼(230)에 위치한 실제 하드 디스크(235)를 포함할 수 있다.The virtual machine 210 requests a disk input / output (Disk I / O) to the hypervisor 220 according to a user input (S212). Here, the disk may include a real hard disk 235 located on the hardware platform 230.

하이퍼바이저(220)는 메모리부(227)에 저장된 사용자 정보 및 사용자 위치 정보를 확인하여, 해당 사용자 단말(100)의 위치가 사용이 허가된 논리적 지역에 포함되는지 여부를 판단한다(S214). 하이퍼바이저(220)는 기저장된 논리적 지역 및 허가 여부에 대한 데이터를 참조하여 사용자의 현재 위치가 사용이 허가된 지역인지 여부를 판단할 수 있다.The hypervisor 220 checks the user information and the user location information stored in the memory unit 227, and determines whether the location of the user terminal 100 is included in the logical area permitted to be used (S214). The hypervisor 220 may determine whether the current location of the user is a licensed region by referring to the pre-stored logical region and data on the permission.

판단결과, 사용자 단말(100)이 허가된 위치에 있지 아니한 경우, 가상 머신(210) 측에 디스크 입출력 거부를 통보하며(S215), 이에 사용자 단말(100)에는 사용이 허가된 위치가 아니라는 취지의 에러메시지가 표시된다(S217).As a result of determination, when the user terminal 100 is not in the permitted position, the virtual machine 210 is notified of the disk I / O denial (S215), and thus the user terminal 100 is not allowed to use the position. An error message is displayed (S217).

한편, 사용자 단말(100)의 위치가 사용이 허가된 논리적 지역에 포함되는 경우, 하이퍼바이저(220)는 암호화/복호화 모듈(225) 측에 사용자 단말(100)의 파일 생성 및 저장 요청이 허여되었음을 통보한다. 이에, 암호화/복호화 모듈(225)은 메모리부(227)에 해당 사용자의 데이터 암호화를 위한 사용자 공개키와 지역 비밀키 쌍이 캐싱되어 있는지를 확인한다(S216). 메모리부(227)에는 사용자 아이디를 포함하는 사용자 정보와 사용자의 논리적 지역 정보가 저장되어 있다. 또한, 해당 위치에서 해당 사용자의 파일 암호화 기능이 수행된 적이 있을 경우, 사용자 공개키와 지역 비밀키가 캐싱되어 있을 수 있다. 그러나, 해당 지역에 처음으로 진입하였거나, 사용자 단말(100)의 위치가 변경된 경우 키 쌍이 저장되어 있지 아니할 있다. 메모리부(227)에 데이터 암호화를 위한 키 쌍이 저장되어 있지 아니할 경우, 암호화/복호화 모듈(225)은 키 관리 서버(300) 측에 사용자 아이디와 논리적 지역 정보를 제공하여 키 쌍을 요청한다. On the other hand, if the location of the user terminal 100 is included in the logical region that is allowed to use, the hypervisor 220 is the encryption / decryption module 225 side that the file creation and storage request of the user terminal 100 is granted Notify me. Accordingly, the encryption / decryption module 225 checks whether the user public key and the local secret key pair for data encryption of the user are cached in the memory unit 227 (S216). The memory unit 227 stores user information including a user ID and logical region information of the user. In addition, when the file encryption function of the user has been performed at the corresponding location, the user public key and the local secret key may be cached. However, when entering the area for the first time or when the location of the user terminal 100 is changed, the key pair may not be stored. If a key pair for data encryption is not stored in the memory unit 227, the encryption / decryption module 225 requests a key pair by providing a user ID and logical region information to the key management server 300.

키 관리 서버(300)는 암호화/복호화 모듈(225)이 제공한 사용자 아이디에 대응되는 사용자 공개키와, 논리적 지역 정보에 대응되는 지역의 비밀키를 DB(310, 320)에서 검색하여 암호화/복호화 모듈(225) 측에 전달한다(S218).The key management server 300 retrieves the user public key corresponding to the user ID provided by the encryption / decryption module 225 and the secret key of the region corresponding to the logical region information from the DB 310 and 320 to encrypt / decrypt it. The module 225 is transferred to the side (S218).

암호화/복호화 모듈(225)은, 키 관리 서버(300)가 제공한 사용자 공개키 및 지역의 비밀키를 이용하여 데이터 암호화를 위안 대칭키를 생성한다. 암호화/복호화 모듈(225)은 사용자가 생성 및 저장하고자 한 파일을 대칭키로 암호화하여 하이퍼바이저(220) 측에 제공한다(S220).The encryption / decryption module 225 generates a symmetric key for data encryption using a user public key and a local secret key provided by the key management server 300. The encryption / decryption module 225 encrypts a file that the user intends to create and store with a symmetric key and provides the encrypted information to the hypervisor 220 (S220).

하이퍼바이저(220)는 암호화된 파일을 하드 디스크(235)에 저장한 후, 가상 머신(210) 측에 디스크 입력이 완료되었음을 통보한다(S222).The hypervisor 220 stores the encrypted file on the hard disk 235 and notifies the virtual machine 210 that the disk input is completed (S222).

가상 머신(210)은 사용자 단말(100) 측에 파일 생성 및 저장이 완료되었음을 통보하고(S224), 사용자는 사용자 단말(100)을 통해 파일 생성 및 저장 요청이 완료되었음을 확인할 수 있다(S226). The virtual machine 210 notifies the user terminal 100 that the file generation and storage is completed (S224), and the user may confirm that the file generation and storage request is completed through the user terminal 100 (S226).

도 5는 본 발명의 보안관리 방법에 따른 서버 기반 컴퓨팅 시스템의 파일 확인 제어 흐름도이다.5 is a file confirmation control flowchart of a server-based computing system according to the security management method of the present invention.

사용자는 사용자 단말(100)을 통해 가상 머신(210) 측에 파일 읽기를 요청할 수 있다(S310). The user may request a file read from the virtual machine 210 through the user terminal 100 (S310).

가상 머신(210)은 사용자 입력에 따라 하이퍼바이저(220) 측에, 디스크 입출력(Disk I/O)을 출력하여 하드 디스크(235)에 저장된 파일의 읽기를 요청한다(S310). The virtual machine 210 outputs disk I / O to the hypervisor 220 according to a user input and requests reading of a file stored in the hard disk 235 (S310).

하이퍼바이저(220)는 메모리부(227)에 저장된 사용자 정보 및 사용자 위치 정보를 확인하여, 해당 사용자 단말(100)의 위치가 사용이 허가된 논리적 지역에 포함되는지 여부를 판단한다(S314).The hypervisor 220 checks the user information and the user location information stored in the memory unit 227, and determines whether the location of the user terminal 100 is included in the logical region where the user is allowed to use (S314).

판단결과, 사용자 단말(100)이 허가된 위치에 있지 아니한 경우, 가상 머신(210) 측에 디스크 입출력 거부를 통보하며(S315), 이에 사용자 단말(100)에는 사용이 허가된 위치가 아니라는 취지의 에러메시지가 표시된다(S317).As a result of determination, when the user terminal 100 is not in the permitted position, the virtual machine 210 is notified of the disk I / O denial (S315), and thus the user terminal 100 is not allowed to use the position. An error message is displayed (S317).

한편, 사용자 단말(100)의 위치가 사용이 허가된 논리적 지역에 포함되는 경우, 하이퍼바이저(220)는 암호화/복호화 모듈(225) 측에 사용자 단말(100)의 파일 읽기 요청이 허여되었음을 통보한다. 이에, 암호화/복호화 모듈(225)은 메모리부(227)에 해당 사용자의 데이터 복호화를 위한 지역 공개키와 사용자 비밀키 쌍이 캐싱되어 있는지를 확인한다(S316). 사용자 단말(100)은 가상 머신(210) 접속 시 사용자 정보를 입력한다. 이에, 사용자의 가상 머신(210) 접속 시 사용자 비밀키는 하이퍼바이저(220)로 전달되어 메모리부(227)에 저장된다. 한편, 지역 공개키는 해당 위치에서 해당 사용자의 파일 암호화 기능이 수행된 적이 있을 경우 캐싱되어 있을 수 있다. 그러나, 해당 지역에 처음으로 진입하였거나, 사용자 단말(100)의 위치가 변경된 경우 지역 공개키가 저장되어 있지 아니할 수 있다. 메모리부(227)에 데이터 복호화를 위한 키 쌍이 저장되어 있지 아니할 경우, 암호화/복호화 모듈(225)은 키 관리 서버(300) 측에 사용자의 논리적 지역 정보를 제공하여 지역 공개키를 요청한다. On the other hand, when the location of the user terminal 100 is included in the logical region that is allowed to use, the hypervisor 220 notifies the encryption / decryption module 225 that the file read request of the user terminal 100 is granted. . Accordingly, the encryption / decryption module 225 checks whether the local public key and the user secret key pair for data decryption of the user are cached in the memory unit 227 (S316). The user terminal 100 inputs user information when the virtual machine 210 is connected. Accordingly, when the user accesses the virtual machine 210, the user secret key is transferred to the hypervisor 220 and stored in the memory unit 227. Meanwhile, the local public key may be cached when the file encryption function of the user has been performed at the corresponding location. However, when the user enters the region for the first time or when the location of the user terminal 100 is changed, the region public key may not be stored. If a key pair for data decryption is not stored in the memory unit 227, the encryption / decryption module 225 requests the local public key by providing logical area information of the user to the key management server 300.

키 관리 서버(300)는 암호화/복호화 모듈(225)이 제공한 논리적 지역 정보에 대응되는 지역의 비밀키를 지역 공개/비밀키 DB(320)에서 검색하여 암호화/복호화 모듈(225) 측에 전달한다(S318).The key management server 300 retrieves the secret key of the region corresponding to the logical region information provided by the encryption / decryption module 225 from the local public / private key DB 320 and delivers it to the encryption / decryption module 225. (S318).

암호화/복호화 모듈(225)은 사용자 비밀키 및 지역의 공개키를 이용하여 데이터 암호화를 위한 대칭키를 생성한다. 암호화/복호화 모듈(225)은 사용자가 확인하고자 하는 파일을 대칭키로 복호화하여 하이퍼바이저(220)를 통해 가상 머신(210) 측에 제공한다(S320).The encryption / decryption module 225 generates a symmetric key for data encryption using the user private key and the local public key. The encryption / decryption module 225 decrypts the file to be checked by the user with a symmetric key and provides the decrypted file to the virtual machine 210 through the hypervisor 220 (S320).

가상 머신(210)은 디스크 출력이 완료되었음을 확인하고(S322), 사용자는 사용자 단말(100)을 통해 파일을 표시할 수 있다(S324). The virtual machine 210 confirms that the disk output is completed (S322), and the user may display a file through the user terminal 100 (S324).

이상 설명한 바와 같이, 본 발명은 사용자 정보 및 위치 정보를 이용하여 하이퍼바이저 서버(200)의 가상 머신(210) 상의 파일을 암호화하여 허가된 사용자가 허가된 지역에서만 해당 파일을 생성, 저장하고 확인할 수 있도록 한다. 이에 따라, 언제 어디서나 컴퓨터를 사용할 수 있는 서버 기반 컴퓨팅의 장점을 살리면서, 동시에 기밀 정보의 유출을 막을 수 있다. 또한, 사용자의 비밀키를 제외한 모든 키가 서버에 보관되고, 암복호화 과정이 모두 하이퍼바이저 내에서 진행되므로 공격자가 대칭키를 알아낼 수 없어 안전하게 파일 암복호화가 가능하며, 사용자 입장에서 파일 보안을 위한 별도의 과정을 거치지 않아 편의성을 높일 수 있다.As described above, the present invention encrypts a file on the virtual machine 210 of the hypervisor server 200 by using user information and location information, so that an authorized user can create, store, and check the corresponding file only in an authorized region. Make sure As a result, you can take advantage of server-based computing where you can use your computer anytime, anywhere, while preventing the leakage of confidential information. In addition, all keys except the user's private key are stored on the server, and the encryption / decryption process is all performed in the hypervisor, so that the attacker cannot find the symmetric key, so the file can be decrypted safely. The convenience can be increased without going through a separate process.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices 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 can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications may be made by those skilled in the art, and differences related to such modifications and applications should be construed as being included in the scope of the present invention as defined in the appended claims.

100 : 사용자 단말 200 : 하이퍼바이저 서버
210 : 가상 머신 220 : 하이퍼바이저
225 : 암호화/복호화 모듈 227 : 메모리부
230 : 하드웨어 플랫폼 235 : 하드 디스크
300 : 키 관리 서버 310 : 사용자 공개키 DB
320 : 지역 공개키/비밀키 DB 400 : 위치 판별부
410 : 맵핑 데이터 DB
100: user terminal 200: hypervisor server
210: virtual machine 220: hypervisor
225: encryption / decryption module 227: memory
230: hardware platform 235: hard disk
300: key management server 310: user public key DB
320: local public key / secret key DB 400: location determination unit
410: mapping data DB

Claims (18)

네트워크 접속이 가능한 사용자 단말;
상기 사용자 단말과 접속되는 복수개의 가상 머신;
상기 네트워크를 통해 접속한 사용자 단말의 위치를 판별하는 위치 판별부;
상기 복수개의 가상 머신 중 어느 하나를 상기 사용자 단말에 할당하고, 상기 위치 판별부를 통해 판별된 상기 사용자 단말의 위치가 기 저장된 사용 허가지역에 포함되는지 여부를 판단하여, 상기 사용자가 상기 사용 허가지역에 위치한 경우 상기 가상 머신을 통한 작업을 허여하는 하이퍼바이저를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
A user terminal capable of network access;
A plurality of virtual machines connected with the user terminal;
A position determination unit determining a position of a user terminal connected through the network;
Assigning one of the plurality of virtual machines to the user terminal and determining whether the location of the user terminal determined by the location determination unit is included in a pre-stored use permission area, so that the user And a hypervisor that permits work through the virtual machine when located.
제1항에 있어서,
상기 위치 판별부는,
상기 사용자 단말의 접속 IP와, 상기 사용자 단말이 발신하는 GPS 신호와, 이동통신신호, 근거리 네트워크 신호 중 적어도 어느 하나를 이용하여 상기 사용자 단말의 위치를 판별하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 1,
The position determining unit,
And determining the location of the user terminal using at least one of an access IP of the user terminal, a GPS signal transmitted by the user terminal, a mobile communication signal, and a local area network signal.
제1항에 있어서,
상기 위치 판별부는,
상기 사용자 단말의 물리적 위치를 논리적 지역 정보로 맵핑하는 맵핑데이터DB를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 1,
The position determining unit,
And a mapping data DB for mapping a physical location of the user terminal into logical area information.
제1항에 있어서,
상기 사용자의 공개키가 저장된 사용자 공개키 DB와;
상기 사용 허가 지역의 공개키 및 비밀키가 저장된 지역 공개/비밀키 DB를 포함하고;
상기 하이퍼바이저의 요청에 따라 상기 사용자 공개키와 상기 지역 공개키 및 비밀키를 검색하여 제공하는 키 관리 서버를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 1,
A user public key DB in which the public key of the user is stored;
A local public / private key DB in which the public key and the private key of the licensed area are stored;
And a key management server that searches for and provides the user public key, the local public key, and the private key in response to a request of the hypervisor.
제4항에 있어서,
상기 하이퍼바이저는,
상기 키 관리서버에 저장된 상기 지역의 공개키 및 비밀키와, 상기 키 관리서버에 저장된 상기 사용자의 공개키와 상기 사용자 단말 접속시 수신된 상기 사용자의 비밀키를 이용하여 파일 암호화키 및 복호화키를 생성하고, 상기 암호화키 및 복호화키를 이용하여 상기 사용자의 파일을 암호화 및 복호화하는 암호화 복호화 모듈을 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 4, wherein
The hypervisor,
The file encryption key and the decryption key are stored using the public key and the secret key of the region stored in the key management server, the public key of the user stored in the key management server, and the user's private key received when the user terminal is accessed. And an encryption and decryption module for generating and encrypting and decrypting the user's file using the encryption key and the decryption key.
제5항에 있어서,
상기 암호화 복호화 모듈은,
상기 사용자의 공개키와 상기 지역 비밀키를 이용하여 상기 파일 암호화키를 생성하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 5,
The encryption decryption module,
And generating the file encryption key using the user's public key and the local secret key.
제5항에 있어서,
상기 암호화 복호화 모듈은,
상기 사용자의 비밀키와 상기 지역 공개키를 이용하여 상기 파일 복호화키를 생성하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 5,
The encryption decryption module,
And generating the file decryption key using the secret key of the user and the local public key.
제5항에 있어서,
상기 암호화 복호화 모듈은,
상기 위치 판별부에서 제공하는 논리적 지역 정보와;
상기 사용자의 사용자 정보와;
상기 암호화키 및 복호화키의 생성을 위한 키 쌍이 저장되는 메모리부를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 5,
The encryption decryption module,
Logical area information provided by the location determining unit;
User information of the user;
And a memory unit in which a key pair for generating the encryption key and the decryption key is stored.
제8항에 있어서,
상기 위치 판별부는,
상기 사용자 단말의 위치가 변경되는 경우, 상기 하이퍼바이저에 위치 변경 메시지를 전송하여 상기 메모리부에 저장된 상기 논리적 지역 정보를 갱신하도록 하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 8,
The position determining unit,
And when the location of the user terminal changes, transmitting the location change message to the hypervisor to update the logical area information stored in the memory unit.
제5항에 있어서,
상기 위치 판별부에서 제공하는 논리적 지역 정보와, 상기 사용자의 사용자 정보와, 상기 암호화키 및 복호화키의 생성을 위한 키 쌍을 저장하여 상기 암호화 복호화 모듈에 상기 저장된 데이터를 제공하는 메모리부를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템.
The method of claim 5,
And a memory unit for storing the logical area information provided by the location determining unit, the user information of the user, a key pair for generating the encryption key and the decryption key, and providing the stored data to the encryption decryption module. Server-based computing system.
네트워크를 통해 가상 머신에 접속한 사용자 단말로부터 사용자 정보를 입력받아 인증하는 단계와;
상기 사용자 단말의 위치를 판별하는 단계와;
상기 사용자 단말의 위치에 기초하여, 사용자의 위치가 기저장된 사용 허가지역에 포함되는지 여부를 판단하는 단계와;
상기 사용자가 상기 사용 허가지역에 위치한 경우 상기 가상 머신을 통한 파일 작업을 허여하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
Authenticating user information from a user terminal connected to a virtual machine through a network;
Determining a location of the user terminal;
Determining whether the location of the user is included in a pre-stored permission area based on the location of the user terminal;
And granting a file operation through the virtual machine when the user is located in the licensed area.
제11항에 있어서,
상기 사용자 단말의 위치를 판별하는 단계는,
상기 사용자 단말의 접속 IP와, 상기 사용자 단말이 발신하는 GPS 신호와, 이동통신신호, 근거리 네트워크 신호 중 적어도 어느 하나를 이용하여 상기 사용자 단말의 위치를 판별하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
The method of claim 11,
Determining the location of the user terminal,
Determining the location of the user terminal using at least one of an access IP of the user terminal, a GPS signal transmitted by the user terminal, a mobile communication signal, and a local area network signal. How to manage security in computing systems.
제11항에 있어서,
상기 사용자 단말의 위치를 판별하는 단계는,
상기 사용자 단말의 물리적 위치를 논리적 지역 정보로 맵핑하여 저장하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
The method of claim 11,
Determining the location of the user terminal,
And mapping and storing the physical location of the user terminal into logical area information.
제11항 또는 제13에 있어서,
상기 사용자 단말의 위치를 판별하는 단계는,
상기 사용자 단말의 위치가 변경되는 경우 상기 사용자 단말의 위치정보를 지속적으로 갱신하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
The method according to claim 11 or 13,
Determining the location of the user terminal,
And continuously updating location information of the user terminal when the location of the user terminal is changed.
제11항에 있어서,
상기 사용자에게 공개키 및 비밀키를 부여하고 상기 공캐키를 미리 저장하는 단계와;
상기 사용 허가 지역의 공개키 및 비밀키를 미리 저장하는 단계를 포함하고;
상기 사용자가 상기 사용 허가지역에 위치한 경우 상기 가상 머신을 통한 파일 작업을 허여하는 단계는,
상기 지역의 공개키 및 비밀키와, 상기 사용자의 공개키 및 비밀키를 이용하여 파일 암호화키 및 복호화키를 생성하는 단계와;
상기 암호화키 및 복호화키를 이용하여 상기 파일을 작업을 수행하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
The method of claim 11,
Assigning a public key and a private key to the user and storing the public key in advance;
Storing public and private keys of the licensed area in advance;
If the user is located in the permission area, allowing the file operation through the virtual machine,
Generating a file encryption key and a decryption key using the local public and private keys and the user's public and private keys;
And performing the operation on the file using the encryption key and the decryption key.
제15항에 있어서,
상기 사용자가 상기 사용 허가지역에 위치한 경우 상기 가상 머신을 통한 파일 작업을 허여하는 단계는,
상기 사용자가 파일 생성 및 저장을 요청한 경우, 기 저장된 상기 사용자의 공개키와 상기 지역 비밀키를 이용하여 상기 파일 암호화키를 생성하는 단계와;
상기 사용자가 생성 및 저장하는 파일을 상기 암호화키로 암호화하여 저장하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
16. The method of claim 15,
If the user is located in the permission area, allowing the file operation through the virtual machine,
Generating a file encryption key by using a user's previously stored public key and the local secret key when the user requests to generate and store a file;
And encrypting and storing the file generated and stored by the user with the encryption key.
제15항에 있어서,
상기 사용자가 상기 사용 허가지역에 위치한 경우 상기 가상 머신을 통한 작업을 허여하는 단계는,
상기 네트워크를 통해 가상 머신에 접속한 사용자 단말로부터 사용자 정보를 입력받아 상기 사용자의 비밀키를 저장하는 단계와;
상기 사용자가 파일 읽기를 요청한 경우, 상기 사용자의 비밀키와 기 저장된 상기 지역 공개키를 이용하여 상기 파일 복호화키를 생성하는 단계와;
상기 사용자가 요청한 파일을 상기 복호화키로 복호화하여 저장하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
16. The method of claim 15,
If the user is located in the licensed area, the step of allowing the operation through the virtual machine,
Receiving user information from a user terminal connected to a virtual machine through the network and storing the user's secret key;
Generating a file decryption key by using the user's private key and the previously stored local public key when the user requests to read a file;
And decrypting and storing the file requested by the user with the decryption key.
제11항에 있어서,
상기 사용자의 위치가 기저장된 사용 허가지역에 포함되는지 아니하는 경우, 상기 가상 머신을 통한 파일 작업을 거부하는 단계를 포함하는 것을 특징으로 하는 서버 기반 컴퓨팅 시스템의 보안 관리 방법.
The method of claim 11,
And if the location of the user is not included in a pre-stored permission area, rejecting a file operation through the virtual machine.
KR1020100043263A 2010-05-10 2010-05-10 Server-based computing system and method of security management the same KR101251187B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100043263A KR101251187B1 (en) 2010-05-10 2010-05-10 Server-based computing system and method of security management the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100043263A KR101251187B1 (en) 2010-05-10 2010-05-10 Server-based computing system and method of security management the same

Publications (2)

Publication Number Publication Date
KR20110123828A true KR20110123828A (en) 2011-11-16
KR101251187B1 KR101251187B1 (en) 2013-04-08

Family

ID=45393835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100043263A KR101251187B1 (en) 2010-05-10 2010-05-10 Server-based computing system and method of security management the same

Country Status (1)

Country Link
KR (1) KR101251187B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101326908B1 (en) * 2011-12-14 2013-11-11 포항공과대학교 산학협력단 Method of changing operation environment and apparatus for the same
KR20140026845A (en) * 2012-08-23 2014-03-06 주식회사 케이티 Method of storing contents and system thereof
KR20160050943A (en) 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 Apparatus and method for managing service information
WO2021216765A1 (en) * 2020-04-22 2021-10-28 Visa International Service Association Online secret encryption

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074537A (en) * 2003-02-19 2004-08-25 주식회사데이콤 System and method of file management/common ownership having security function on internet
JP5413940B2 (en) * 2008-02-26 2014-02-12 日本電気株式会社 Thin client network, thin client, unauthorized connection prevention device, operation method thereof, and recording medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101326908B1 (en) * 2011-12-14 2013-11-11 포항공과대학교 산학협력단 Method of changing operation environment and apparatus for the same
KR20140026845A (en) * 2012-08-23 2014-03-06 주식회사 케이티 Method of storing contents and system thereof
KR20160050943A (en) 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 Apparatus and method for managing service information
WO2021216765A1 (en) * 2020-04-22 2021-10-28 Visa International Service Association Online secret encryption

Also Published As

Publication number Publication date
KR101251187B1 (en) 2013-04-08

Similar Documents

Publication Publication Date Title
US11770368B2 (en) Techniques for shared private data objects in a trusted execution environment
CN108390876B (en) Multi-authorization-center access control method capable of supporting outsourcing revocation and verification and cloud server
CN110968743B (en) Data storage and data reading method and device for private data
Fabian et al. Collaborative and secure sharing of healthcare data in multi-clouds
CN111783075B (en) Authority management method, device and medium based on secret key and electronic equipment
KR101712784B1 (en) System and method for key management for issuer security domain using global platform specifications
Zissis et al. Addressing cloud computing security issues
US9864874B1 (en) Management of encrypted data storage
US10541804B2 (en) Techniques for key provisioning in a trusted execution environment
CN111737366B (en) Private data processing method, device, equipment and storage medium of block chain
CN109587101B (en) Digital certificate management method, device and storage medium
CN110061983B (en) Data processing method and system
JP2019522412A (en) Registration / authorization method, apparatus and system
US20130073854A1 (en) Data storage incorporating crytpographically enhanced data protection
JP2016513840A (en) Method, server, host, and system for protecting data security
US9813403B2 (en) Securing communications with enhanced media platforms
US11943345B2 (en) Key management method and related device
WO2016190949A1 (en) Authorization in a distributed system using access control lists and groups
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
EP3203407B1 (en) Information processing method and information processing device
KR101251187B1 (en) Server-based computing system and method of security management the same
CN114372242A (en) Ciphertext data processing method, authority management server and decryption server
US10546142B2 (en) Systems and methods for zero-knowledge enterprise collaboration
CN112995109B (en) Data encryption system, data encryption method, data processing device and electronic equipment
JP7465043B2 (en) Method and apparatus for purpose-specific access control based on data encryption - Patents.com

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee