KR102029053B1 - Virtual machine migration device and method thereof - Google Patents

Virtual machine migration device and method thereof Download PDF

Info

Publication number
KR102029053B1
KR102029053B1 KR1020170108945A KR20170108945A KR102029053B1 KR 102029053 B1 KR102029053 B1 KR 102029053B1 KR 1020170108945 A KR1020170108945 A KR 1020170108945A KR 20170108945 A KR20170108945 A KR 20170108945A KR 102029053 B1 KR102029053 B1 KR 102029053B1
Authority
KR
South Korea
Prior art keywords
data center
virtual machine
physical server
authentication
session key
Prior art date
Application number
KR1020170108945A
Other languages
Korean (ko)
Other versions
KR20190023354A (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 KR1020170108945A priority Critical patent/KR102029053B1/en
Publication of KR20190023354A publication Critical patent/KR20190023354A/en
Application granted granted Critical
Publication of KR102029053B1 publication Critical patent/KR102029053B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 기술적 사상에 의한 일 양태에 따른 가상 머신 마이그레이션 방법은 가상 머신 마이그레이션을 위한 사용자 인증 요청을 획득하는 단계, 상기 획득된 사용자 인증 요청에 대응하는 사용자를 인증하는 단계, 상기 가상 머신 마이그레이션에 대응하는 근원 데이터 센터 및 목적 데이터 센터 사이에 세션 키를 교환하는 단계, 상기 교환된 세션 키를 이용하여, 상기 근원 데이터 센터 및 상기 목적 데이터 센터 각각에서 상기 가상 머신 마이그레이션을 처리하기 위한 처리 인증을 수행하는 단계 및 상기 수행된 처리 인증을 기초로, 상기 근원 데이터 센터에서 상기 목적 데이터 센터로 가상 머신 데이터를 전송하는 단계를 포함할 수 있다.According to an aspect of the present invention, a virtual machine migration method includes acquiring a user authentication request for virtual machine migration, authenticating a user corresponding to the obtained user authentication request, and corresponding to the virtual machine migration. Exchanging a session key between the originating data center and the destination data center, and performing process authentication for processing the virtual machine migration in each of the originating data center and the destination data center using the exchanged session key. And transmitting virtual machine data from the source data center to the destination data center based on the step and the process authentication performed.

Figure R1020170108945
Figure R1020170108945

Description

가상 머신 마이그레이션 장치 및 방법{VIRTUAL MACHINE MIGRATION DEVICE AND METHOD THEREOF}VIRTUAL MACHINE MIGRATION DEVICE AND METHOD THEREOF

본 발명의 기술적 사상은 가상 머신 마이그레이션 장치에 관한 것으로, 보다 상세하게는, 다양한 인증을 통한 가상 머신 마이그레이션 장치 및 그 방법에 관한 것이다.The technical idea of the present invention relates to a virtual machine migration apparatus, and more particularly, to a virtual machine migration apparatus and a method through a variety of authentication.

가상 머신 마이그레이션(Virtual Machine Migration)은 서버 통합, 시스템 복구 등을 목적으로 물리 서버의 가상 머신을 다른 물리 서버로 복제하는 것을 의미한다.Virtual Machine Migration refers to the replication of a physical machine's virtual machine to another physical server for server consolidation and system recovery.

가상 머신 마이그레이션은 운영체제 전체를 다른 위치로 전송하는 과정에서 암호화되지 않은 데이터에 포함된 사용자 정보, 비밀 키 등과 같은 주요 정보가 노출될 수 있다.Virtual machine migration can expose key information such as user information, secret keys, etc. contained in unencrypted data while transferring the entire operating system to another location.

또한, 권한 없는 가상 머신 마이그레이션은 공격자로부터 공격자의 제어권 내의 위치로 가상 머신이 마이그레이션되는 보안 문제가 발생할 수 있다.In addition, unauthorized virtual machine migration may present a security problem in which the virtual machine is migrated from an attacker to a location within the attacker's control.

이러한 보안 문제는 가상 머신 마이그레이션 과정에서, 무단 접근, 데이터 탈취 및 변조, 사용자 권한 탈취 등의 보안 위협에 의해 발생될 수 있다.Such security problems may be caused by security threats such as unauthorized access, data hijacking and tampering, and user privilege taking away during virtual machine migration.

따라서, 가상 머신 마이그레이션 과정에서 발생할 수 있는 보안 위협을 방지할 필요가 있다.Therefore, there is a need to prevent security threats that may occur during virtual machine migration.

본 발명의 기술적 사상에 따른 가상 머신 마이그레이션 장치 및 방법이 이루고자 하는 기술적 과제는, 가상 머신 마이그레이션 과정의 보안성을 강화하는데 목적이 있다.The technical problem to be achieved by the apparatus and method for migrating a virtual machine according to the technical idea of the present invention is to reinforce the security of the virtual machine migration process.

본 발명은 가상 머신 마이그레이션을 위한 다양한 인증 방법을 제공하여 가상 머신 마이그레이션을 위한 인증 방법을 개선하는데 목적이 있다.An object of the present invention is to improve the authentication method for virtual machine migration by providing various authentication methods for virtual machine migration.

또한, 본 발명은 가상 머신 마이그레이션과 관련하여 안정성 높은 인증 방법을 제공하는데 목적이 있다.In addition, an object of the present invention is to provide a highly reliable authentication method with respect to virtual machine migration.

본 발명의 기술적 사상에 따른 충돌예측장치 및 방법이 이루고자 하는 기술적 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved by the collision prediction apparatus and method according to the technical idea of the present invention is not limited to the above-mentioned task (s), another task (s) not mentioned is clearly understood by those skilled in the art from the following description Could be.

본 발명의 기술적 사상에 의한 일 양태에 따른 가상 머신 마이그레이션 방법은 가상 머신 마이그레이션을 위한 사용자 인증 요청을 획득하는 단계; 상기 획득된 사용자 인증 요청에 대응하는 사용자를 인증하는 단계; 상기 가상 머신 마이그레이션에 대응하는 근원 데이터 센터 및 목적 데이터 센터 사이에 세션 키를 교환하는 단계; 상기 교환된 세션 키를 이용하여, 상기 근원 데이터 센터 및 상기 목적 데이터 센터 각각에서 상기 가상 머신 마이그레이션을 처리하기 위한 처리 인증을 수행하는 단계; 및 상기 수행된 처리 인증을 기초로, 상기 근원 데이터 센터에서 상기 목적 데이터 센터로 가상 머신 데이터를 전송하는 단계를 포함할 수 있다.According to an aspect of the inventive concept, a virtual machine migration method includes: obtaining a user authentication request for virtual machine migration; Authenticating a user corresponding to the obtained user authentication request; Exchanging a session key between a source data center and a destination data center corresponding to the virtual machine migration; Performing process authentication to process the virtual machine migration in each of the source data center and the destination data center using the exchanged session key; And transmitting virtual machine data from the origin data center to the destination data center based on the performed process authentication.

예시적인 실시예에 따르면, 상기 처리 인증을 수행하는 단계는 상기 근원 데이터 센터 및 상기 목적 데이터 센터 각각은 상기 근원 데이터 센터 및 상기 목적 데이터 센터 각각에 대응하는 제1 물리 서버 및 제2 물리 서버 각각과 상기 교환된 세션 키를 공유하기 위한 상호 인증 과정을 수행하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the process authentication may include: each of the originating data center and the destination data center with each of a first physical server and a second physical server corresponding to each of the originating data center and the destination data center; The method may include performing a mutual authentication process for sharing the exchanged session key.

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 근원 데이터 센터가 상기 제1 물리 서버에, 상기 근원 데이터 센터의 ID 및 상기 근원 데이터 센터가 생성한 제1 난수를 포함하는 인증 요청 메시지를 전송하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include: requesting, by the origin data center, the origin data center to include an ID of the origin data center and a first random number generated by the origin data center; And sending the message.

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 제1 물리 서버가, 상기 제1 물리 서버가 소유한 TOTP(Time based One Time Password)를 기초로, 상기 전송된 인증 요청 메시지를 복호화하는 단계와, 상기 제1 물리 서버가, 상기 복호화된 인증 요청 메시지에 포함된 물리 서버의 ID와 상기 제1 물리 서버의 ID를 비교하여, 상기 근원 데이터 센터를 인증하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include: transmitting, by the first physical server, the transmitted authentication request message based on a time based one time password (TOTP) owned by the first physical server; Decrypting; and comparing, by the first physical server, an ID of the physical server included in the decrypted authentication request message with an ID of the first physical server to authenticate the originating data center. .

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 제1 물리 서버가, 상기 근원 데이터 센터의 ID 및 상기 제1 난수를 포함하는 처리 인증 응답을 상기 근원 데이터 센터에 전송하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include: transmitting, by the first physical server, a process authentication response including an ID of the origin data center and the first random number to the origin data center; It may include.

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 근원 데이터 센터가, 상기 전송된 처리 인증 응답을 복호화하는 단계와, 상기 근원 데이터 센터가, 상기 복호화된 처리 인증 응답에 포함된 상기 근원 데이터 센터의 ID 및 상기 제1 난수를 기초로, 상기 제1 물리 서버를 인증하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include: decrypting, by the origin data center, the transmitted process authentication response; and wherein the origin data center is included in the decrypted process authentication response. Authenticating the first physical server based on the ID of the originating data center and the first random number.

예시적인 실시예에 따르면, 상기 가상 머신 데이터를 전송하는 단계는 상기 근원 데이터 센터가, 상기 인증된 제1 물리 서버에 상기 세션 키를 공유하는 단계와, 상기 제1 물리 서버가, 상기 공유된 세션 키를 이용하여 상기 가상 머신 데이터를 암호화하는 단계와, 상기 제1 물리 서버가, 상기 암호화된 가상 머신 데이터를 상기 목적 데이터 센터에 전송하는 단계를 포함할 수 있다.According to an exemplary embodiment, the transmitting of the virtual machine data may include: sharing, by the originating data center, the session key to the authenticated first physical server, and by the first physical server, the shared session. Encrypting the virtual machine data using a key; and transmitting, by the first physical server, the encrypted virtual machine data to the destination data center.

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 목적 데이터 센터가, 상기 제2 물리 서버에, 상기 목적 데이터 센터의 ID 및 상기 목적 데이터 센터가 생성한 제2 난수를 포함하는 인증 요청 메시지를 전송하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include: authenticating, by the target data center, the second physical server to include an ID of the target data center and a second random number generated by the target data center. And transmitting a request message.

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 제2 물리 서버가, 상기 제2 물리 서버가 소유한 TOTP(Time based One Time Password)를 기초로, 상기 전송된 인증 요청 메시지를 복호화하는 단계와, 상기 제2 물리 서버가, 상기 복호화된 인증 요청 메시지에 포함된 물리 서버의 ID와 상기 제2 물리 서버의 ID를 비교하여, 상기 목적 데이터 센터를 인증하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include: transmitting, by the second physical server, the transmitted authentication request message based on a time based one time password (TOTP) owned by the second physical server; Decrypting; and comparing, by the second physical server, an ID of the physical server included in the decrypted authentication request message with an ID of the second physical server to authenticate the target data center. .

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 제2 물리 서버가, 상기 목적 데이터 센터의 ID 및 상기 제2 난수를 포함하는 처리 인증 응답을 상기 목적 데이터 센터에 전송하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include transmitting, by the second physical server, a process authentication response including an ID of the target data center and the second random number to the target data center. It may include.

예시적인 실시예에 따르면, 상기 상호 인증 과정을 수행하는 단계는 상기 목적 데이터 센터가, 상기 전송된 처리 인증 응답을 복호화하는 단계와, 상기 목적 데이터 센터가, 상기 복호화된 처리 인증 응답에 포함된 상기 목적 데이터 센터의 ID 및 상기 제2 난수를 기초로, 상기 제2 물리 서버를 인증하는 단계를 포함할 수 있다.According to an exemplary embodiment, the performing of the mutual authentication process may include: decrypting, by the target data center, the transmitted process authentication response, and wherein the target data center is included in the decrypted process authentication response. Authenticating the second physical server based on the ID of the target data center and the second random number.

예시적인 실시예에 따르면, 상기 가상 머신 데이터를 전송하는 단계는 상기 목적 데이터 센터가, 상기 인증된 제2 물리 서버에 상기 세션 키를 공유하는 단계를 포함할 수 있다.According to an exemplary embodiment, transmitting the virtual machine data may include sharing, by the target data center, the session key with the authenticated second physical server.

예시적인 실시예에 따르면, 상기 목적 데이터 센터가, 상기 전송된 가상 머신 데이터를 상기 공유된 세션 키를 이용하여 복호화하는 단계; 및 상기 목적 데이터 센터가, 상기 복호화된 가상 머신 데이터를 해쉬함수로 해쉬하여, 상기 전송된 가상 머신 데이터의 무결성을 확인하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the destination data center, decrypting the transmitted virtual machine data using the shared session key; And verifying the integrity of the transmitted virtual machine data by hashing the decrypted virtual machine data with a hash function by the target data center.

예시적인 실시예에 따르면, 상기 근원 데이터 센터 및 목적 데이터 센터 사이에서 세션 키를 교환하는 단계는 SPEKE(Simple Password Exponential Key Exchange) 방식에 따라 상기 세션 키를 교환하는 단계를 포함할 수 있다.According to an exemplary embodiment, exchanging a session key between the source data center and the destination data center may include exchanging the session key according to a Simple Password Exponential Key Exchange (SPEKE) scheme.

본 발명의 기술적 사상에 의한 다른 양태에 따른 가상 머신 마이그레이션 장치는 적어도 하나의 프로세서; 및 상기 프로세서에 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 가상 머신 마이그레이션을 위한 사용자 인증 요청을 획득하고, 상기 획득된 사용자 인증 요청에 대응하는 사용자를 인증하고, 상기 가상 머신 마이그레이션에 대응하는 목적 데이터 센터와 세션 키를 교환하고, 상기 교환된 세션 키를 이용하여, 상기 가상 머신 마이그레이션을 처리하기 위한 처리 인증을 수행하고, 상기 수행된 처리 인증을 기초로, 상기 목적 데이터 센터에 가상 머신 데이터를 전송하도록 하는 인스트럭션들을 저장할 수 있다.According to another aspect of the inventive concept, a virtual machine migration apparatus may include at least one processor; And a memory electrically coupled to the processor, wherein, when executed, the processor acquires a user authentication request for virtual machine migration, authenticates a user corresponding to the obtained user authentication request, Exchanging a session key with a target data center corresponding to the virtual machine migration, using the exchanged session key to perform process authentication for processing the virtual machine migration, and based on the process authentication performed, Instructions can be stored to transfer virtual machine data to the destination data center.

본 발명의 기술적 사상에 의한 실시예들에 따른 가상 머신 마이그레이션 장치 및 방법은 가상 머신 마이그레이션 과정의 보안성을 강화할 수 있다.The apparatus and method for migrating a virtual machine according to embodiments of the inventive concept may enhance security of a virtual machine migration process.

또한, 본 발명에 따른 가상 머신 마이그레이션 장치 및 방법은 다양한 인증 과정을 통해, 상호 인증, 재생 공격 방지, 기밀성, 무결성, 중간자 공격 방지와 같은 높은 안정성을 제공할 수 있다.In addition, the apparatus and method for migrating a virtual machine according to the present invention may provide high stability such as mutual authentication, prevention of replay attack, confidentiality, integrity, and prevention of man-in-the-middle attack through various authentication processes.

본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 다양한 실시예에 따른 충돌 예측 및 충돌 방지 시스템을 나타낸다.
도 2는 본 발명의 다양한 실시예에 따른 물리 서버의 구성을 나타내는 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션 장치의 구성을 나타내는 블록도이다.
도 4는 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션을 위한 사용자 인증 및 마이그레이션 요청 동작에 대한 래더 다이어그램이다.
도 5는 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션 동작에 대한 래더 다이어그램이다.
도 6은 본 발명의 다양한 실시예에 따른 SPEKE 키 교환에 대한 흐름도이다.
도 7은 본 발명의 다양한 실시예에 따른 HOTP 알고리즘을 나타내고, 도 8은 TOTP 계산 처리를 나타낸다.
BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings referred to herein, a brief description of each drawing is provided.
1 illustrates a collision prediction and collision avoidance system according to various embodiments of the present disclosure.
2 is a block diagram illustrating a configuration of a physical server according to various embodiments of the present disclosure.
3 is a block diagram illustrating a configuration of a virtual machine migration apparatus according to various embodiments of the present disclosure.
4 is a ladder diagram of a user authentication and migration request operation for migrating a virtual machine according to various embodiments of the present disclosure.
5 is a ladder diagram of a virtual machine migration operation according to various embodiments of the present disclosure.
6 is a flowchart illustrating a SPEKE key exchange according to various embodiments of the present invention.
7 illustrates a HOTP algorithm according to various embodiments of the present invention, and FIG. 8 illustrates a TOTP calculation process.

본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technical spirit of the present invention may be variously modified and have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail with reference to the accompanying drawings. However, this is not intended to limit the technical spirit of the present invention to specific embodiments, it should be understood to include all changes, equivalents, and substitutes included in the scope of the technical spirit of the present invention.

본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the technical idea of the present invention, if it is determined that the detailed description of the related known technology may unnecessarily obscure the gist of the technical idea of the present invention, the detailed description thereof will be omitted. In addition, numerals (eg, first, second, etc.) used in the description process of the present specification are merely identification symbols for distinguishing one component from another component.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in the present specification, when one component is referred to as "connected" or "connected" with another component, the one component may be directly connected or directly connected to the other component, but in particular It is to be understood that, unless there is an opposite substrate, it may be connected or connected via another component in the middle.

또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processor), 어플리케이션 프로세서(Application Processor), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, the terms "~ part", "~ group", "~ ruler", "~ module", etc. described herein refer to a unit for processing at least one function or operation, which is a processor, a micro Processor, Application Processor, Micro Controller, Central Processing Unit (CPU), Graphics Processing Unit (GPU), Accelerate Processor Unit (APU), Digital Signal Processor (DSP), ASIC ( It may be implemented by hardware or software such as an application specific integrated circuit (FPGA), a field programmable gate array (FPGA), or a combination of hardware and software.

그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, it is intended to clarify that the division of the components in the present specification is only divided by the main function of each component. That is, two or more components to be described below may be combined into one component, or one component may be provided divided into two or more for each function. Each of the components to be described below may additionally perform some or all of the functions of other components in addition to the main functions of the components, and some of the main functions of each of the components are different. Of course, it may be carried out exclusively by.

이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.Hereinafter, embodiments according to the spirit of the present invention will be described in detail.

도 1은 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션에 대한 개념도이다.1 is a conceptual diagram of a virtual machine migration according to various embodiments of the present disclosure.

도 1을 참조하면, 근원 데이터 센터(100, Source Data Center)에서 목적 데이터 센터(200, Destination Data Center)로 가상 머신(Virtual Machine)이 마이그레이션(migration)될 수 있다.Referring to FIG. 1, a virtual machine may be migrated from a source data center 100 to a destination data center 200.

근원 데이터 센터(100) 및 목적 데이터 센터(200)는 서버, 스토리지, 네트워크, 물리 노드 등의 자원을 포함한 컨테이너일 수 있다. The source data center 100 and the destination data center 200 may be containers including resources such as servers, storage, networks, and physical nodes.

근원 데이터 센터(100) 및 목적 데이터 센터(200)에 포함되는 데이터 센터 자원은 물리적 자원과 가상 자원으로 분류될 수 있다.Data center resources included in the source data center 100 and the destination data center 200 may be classified into physical resources and virtual resources.

근원 데이터 센터(100)는 관리자 모듈(110), 가상 머신 모니터링 모듈(120), 가상 머신(141-146), 물리 노드(160) 및 서버(171, 172)를 포함할 수 있다.The origin data center 100 may include an administrator module 110, a virtual machine monitoring module 120, virtual machines 141-146, physical nodes 160, and servers 171, 172.

관리자 모듈(110)은 근원 데이터 센터(100)에 포함된 가상 머신(141-146) 및 가상 머신 모니터링 모듈(120) 중 적어도 하나에서 정보를 가져올 수 있다. The manager module 110 may obtain information from at least one of the virtual machines 141-146 and the virtual machine monitoring module 120 included in the origin data center 100.

관리자 모듈(110)은 가상 머신 마이그레이션 요청을 획득할 수 있고, 가상 머신 마이그레이션을 결정할 수 있다.The manager module 110 may obtain a virtual machine migration request and determine a virtual machine migration.

가상 머신 모니터링 모듈(120)은 물리 노드(160)에서 생성된 가상 머신(141-146)을 관리할 수 있다. 예를 들면, 가상 머신 모니터링 모듈(120)은 하이퍼바이저 기술로, 단일 하드웨어 자원을 통해 복수의 운영체제(Operation System)의 구동 및 호스트 서버의 로컬 자원 모니터링을 수행할 수 있다.The virtual machine monitoring module 120 may manage the virtual machines 141-146 generated in the physical node 160. For example, the virtual machine monitoring module 120 may be a hypervisor technology, and may operate a plurality of operating systems and monitor local resources of a host server through a single hardware resource.

물리 노드(160)는 물리 서버(171, 172)가 가상 인스턴스를 실행하는 디스크를 갖는 노드일 수 있다. 예를 들면, 물리 노드(160)는 스위치, 라우터 등의 네트워크 자원으로부터 물리 서버(171, 172)가 상호 연결될 수 있다. The physical node 160 may be a node having a disk on which the physical servers 171 and 172 execute a virtual instance. For example, the physical node 160 may be interconnected with physical servers 171 and 172 from network resources such as switches and routers.

근원 데이터 센터(100)는 물리 노드(160)를 통해 물리 서버(171, 172)가 할당될 수 있다.The origin data center 100 may be assigned physical servers 171 and 172 through the physical node 160.

목적 데이터 센터(200)는 근원 데이터 센터(100)와 동일 또는 유사한 구성을 가질 수 있다.The destination data center 200 may have the same or similar configuration as the source data center 100.

목적 데이터 센터(200)는 관리자 모듈(210), 가상 머신 모니터링 모듈(220), 가상 머신(241-246), 물리 노드(260) 및 서버(271, 272)를 포함할 수 있다.The destination data center 200 may include an administrator module 210, a virtual machine monitoring module 220, a virtual machine 241-246, a physical node 260, and servers 271, 272.

관리자 모듈(210)은 목적 데이터 센터(200)에 포함된 가상 머신(241-246) 및 가상 머신 모니터링 모듈(220) 중 적어도 하나에서 정보를 가져올 수 있다. The manager module 210 may obtain information from at least one of the virtual machines 241-246 and the virtual machine monitoring module 220 included in the target data center 200.

관리자 모듈(210)은 가상 머신 마이그레이션 요청을 획득할 수 있고, 가상 머신 마이그레이션을 결정할 수 있다.The administrator module 210 may obtain a virtual machine migration request and determine a virtual machine migration.

가상 머신 모니터링 모듈(220)은 물리 노드(260)에서 생성된 가상 머신(241-246)을 관리할 수 있다. 예를 들면, 가상 머신 모니터링 모듈(220)은 하이퍼바이저 기술로, 단일 하드웨어 자원을 통해 복수의 운영체제(Operation System)의 구동 및 호스트 서버의 로컬 자원 모니터링을 수행할 수 있다.The virtual machine monitoring module 220 may manage the virtual machines 241-246 generated in the physical node 260. For example, the virtual machine monitoring module 220 may be a hypervisor technology, and may operate a plurality of operating systems and monitor local resources of a host server through a single hardware resource.

물리 노드(260)는 물리 서버(271, 272)가 가상 인스턴스를 실행하는 디스크를 갖는 노드일 수 있다. 예를 들면, 물리 노드(260)는 스위치, 라우터 등의 네트워크 자원으로부터 물리 서버(271, 272)가 상호 연결될 수 있다. Physical node 260 may be a node having a disk on which physical servers 271 and 272 run virtual instances. For example, the physical nodes 260 may be physically connected to the physical servers 271 and 272 from network resources such as switches and routers.

목적 데이터 센터(200)는 물리 노드(260)를 통해 물리 서버(271, 272)가 할당될 수 있다.In the destination data center 200, the physical servers 271 and 272 may be allocated through the physical nodes 260.

이하, 도 2를 참조하여 물리 서버의 구성을 설명한다.Hereinafter, the configuration of the physical server will be described with reference to FIG. 2.

도 2는 본 발명의 다양한 실시예에 따른 물리 서버의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a physical server according to various embodiments of the present disclosure.

도 2를 참조하면, 물리 서버(300)는 프로세서(310), 메모리(330) 및 통신 모듈(350)을 포함할 수 있다.Referring to FIG. 2, the physical server 300 may include a processor 310, a memory 330, and a communication module 350.

프로세서(310)는 물리 서버(300)의 전반적인 동작을 제어할 수 있다.The processor 310 may control the overall operation of the physical server 300.

메모리(330)는 물리 서버(300)의 동작과 관련된 다양한 정보를 저장할 수 있다.The memory 330 may store various information related to the operation of the physical server 300.

통신 모듈(350)은 물리 서버(300)와 다른 물리 서버 또는 물리 서버(300)와 물리 노드 간의 유선 통신 또는 무선 통신을 제공할 수 있다. The communication module 350 may provide wired or wireless communication between the physical server 300 and another physical server or the physical server 300 and the physical node.

한편, 물리 서버(300)는 상술한 물리 노드(160, 260)에 포함된 물리 서버(171, 172, 271, 272)뿐만 아니라, 근원 데이터 센터(100) 및 목적 데이터 센터(200)일 수도 있다.The physical server 300 may be the source data center 100 and the destination data center 200 as well as the physical servers 171, 172, 271, and 272 included in the physical nodes 160 and 260 described above. .

본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션 장치의 구성에 대해 도 3을 참조하여 설명한다.A configuration of a virtual machine migration apparatus according to various embodiments of the present disclosure will be described with reference to FIG. 3.

도 3은 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션 장치의 구성을 나타내는 블록도이다.3 is a block diagram illustrating a configuration of a virtual machine migration apparatus according to various embodiments of the present disclosure.

가상 머신 마이그레이션 장치(400)는 가상 머신 마이그레이션 요청 모듈(410) 및 가상 머신 마이그레이션 처리 모듈(430)을 포함할 수 있다. The virtual machine migration apparatus 400 may include a virtual machine migration request module 410 and a virtual machine migration processing module 430.

가상 머신 마이그레이션 장치(400)는 근원 데이터 센터(100) 및/또는 목적 데이터 센터(200)일 수 있고, 후술할 데이터 센터(130, 230)일 수도 있다. 그리고 가상 머신 마이그레이션 장치(400)는 근원 데이터 센터(100) 및/또는 목적 데이터 센터(200)에 포함된 구성일 수도 있고, 데이터 센터(130, 230)에 포함된 구성일 수도 있다.The virtual machine migration apparatus 400 may be the source data center 100 and / or the destination data center 200, or may be the data centers 130 and 230 to be described later. The virtual machine migration apparatus 400 may be a configuration included in the source data center 100 and / or the destination data center 200 or may be a configuration included in the data centers 130 and 230.

가상 머신 마이그레이션 요청 모듈(410)은 물리 서버 간에 가상 머신이 마이그레이션 되기 전, 마이그레이션을 위한 사용자 인증 과정과 데이터 센터 간의 인증 요청 및 응답 과정을 수행할 수 있다.The virtual machine migration request module 410 may perform a user authentication process for migration and an authentication request and response process between data centers before the virtual machines are migrated between physical servers.

가상 머신 마이그레이션 요청 모듈(410)은 가상 머신 마이그레이션 요청 시, 사용자를 인증할 수 있다. 예를 들면, 가상 머신 마이그레이션 요청 모듈(410)은 OTP(One Time Password) 기반의 동적 인증을 통해 사용자를 인증할 수 있다. 구체적으로, 가상 머신 마이그레이션 요청 모듈(410)은 보안 토큰, 가상 토큰, SiFaDA(Single-Factor Dynamic Authentication) 중 적어도 하나를 이용할 수 있다.The virtual machine migration request module 410 may authenticate a user when a virtual machine migration request is made. For example, the virtual machine migration request module 410 may authenticate a user through dynamic authentication based on one time password (OTP). In detail, the virtual machine migration request module 410 may use at least one of a security token, a virtual token, and single-factor dynamic authentication (SiFaDA).

가상 머신 마이그레이션 요청 모듈(410)은 사용자 인증되면 가상 머신 마이그레이션 처리 모듈(430)을 통해, 데이터 센터 간 가상 머신 마이그레이션을 요청할 수 있다. The virtual machine migration request module 410 may request a virtual machine migration between data centers through the virtual machine migration processing module 430 when the user is authenticated.

예를 들면, 가상 머신 마이그레이션 요청 모듈(410)은 사용자 인증되면, 가상 머신 마이그레이션 처리 모듈(430)을 통해, 근원 데이터 센터(100)와 목적 데이터 센터(200) 간의 가상 머신 마이그레이션을 요청할 수 있다.For example, the virtual machine migration request module 410 may request a virtual machine migration between the source data center 100 and the target data center 200 through the virtual machine migration processing module 430 when the user is authenticated.

요청 과정에서, 근원 데이터 센터(100) 및 목적 데이터 센터(200) 각각은 상대방 데이터 센터의 공개 키로 암호화된 사용자 ID 및 데이터 센터 ID를 각각의 개인 키로 복호화할 수 있고, 복호화된 정보와 자신의 정보, 예를 들면 데이터 센터 ID 및 사용자 ID를 비교하여 사용자를 확인할 수 있다. 이에 따라 근원 데이터 센터(100) 및 목적 데이터 센터(200) 간의 인증이 가능하며, 마이그레이션을 요청한 사용자 확인이 가능하다.In the request process, each of the source data center 100 and the destination data center 200 can decrypt the user ID and data center ID encrypted with the public key of the counterpart data center with their respective private keys, and the decrypted information and its own information. For example, a user can be identified by comparing a data center ID and a user ID. Accordingly, authentication between the source data center 100 and the target data center 200 is possible, and the user who requested the migration can be confirmed.

가상 머신 마이그레이션 요청 모듈(410)은 사용자 동적 인증 모듈(411), 마이그레이션 요청 모듈(415)을 포함할 수 있다. The virtual machine migration request module 410 may include a user dynamic authentication module 411 and a migration request module 415.

사용자 동적 인증 모듈(411)은 상술한 사용자 인증 과정을 수행할 수 있다.The user dynamic authentication module 411 may perform the above-described user authentication process.

마이그레이션 요청 모듈(415)은 상술한 데이터 센터 간 가상 머신 마이그레이션 요청을 수행할 수 있다.The migration request module 415 may perform the virtual machine migration request between the data centers described above.

한편, 근원 데이터 센터(100) 및 목적 데이터 센터(200)는 인증 기관에서 X.509와 같은 인증서를 발급 받은 상태이며, 각 사용자는 마이그레이션 요청 시 데이터 센터의 인증 서버에서 해당 OTP를 발급 받은 상태일 수 있다.On the other hand, the source data center 100 and the destination data center 200 has been issued a certificate such as X.509 from a certification authority, and each user has been issued a corresponding OTP from the authentication server of the data center when a migration request is made. Can be.

가상 머신 마이그레이션 요청 모듈(410)의 동작에 따른 가상 머신 마이그레이션을 위한 사용자 인증 및 데이터 센터 간 마이그레이션 요청 과정에 대해 도 4를 참조하여 설명한다.A user authentication and a data center migration request process for migrating a virtual machine according to the operation of the virtual machine migration request module 410 will be described with reference to FIG. 4.

도 4는 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션을 위한 사용자 인증 및 마이그레이션 요청 동작에 대한 래더 다이어그램이다.4 is a ladder diagram of a user authentication and migration request operation for migrating a virtual machine according to various embodiments of the present disclosure.

근원 데이터 센터(100)의 관리자 모듈(110)은 마이그레이션 인증 요청을 획득할 수 있다(S110). The manager module 110 of the origin data center 100 may obtain a migration authentication request (S110).

예를 들면, 관리자 모듈(110)은 사용자로부터 마이그레이션 요청을 수신하여, 마이그레이션 인증 요청을 획득할 수 있다.For example, the administrator module 110 may receive a migration request from a user and obtain a migration authentication request.

일 실시예로, 관리자 모듈(110)은 사용자로부터 가상 머신 마이그레이션을 요청하기 위한 사용자 인증을 위한 마이그레이션 인증 요청 메시지를 수신할 수 있다. 여기서 마이그레이션 인증 요청 메시지는 아래와 같을 수 있다. In an embodiment, the administrator module 110 may receive a migration authentication request message for user authentication for requesting a virtual machine migration from a user. Here, the migration authentication request message may be as follows.

Mig_Auth_Request=[UID||EOTP (UID)]Mig_Auth_Request = [UID || E OTP (UID)]

여기서 UID는 사용자 ID이다.Where UID is the user ID.

관리자 모듈(110)은 데이터 센터(130)에 사용자 인증 요청을 요청할 수 있다(S112). The manager module 110 may request a user authentication request from the data center 130 (S112).

예를 들면, 관리자 모듈(110)은 암호화되지 않은 UID로 사용자를 확인하고, 인증 요청 메시지를 데이터 센터(130)에 전송할 수 있다. 여기서 데이터 센터(130)는 근원 데이터 센터(100)에 포함된 구성일 수 있고, 근원 데이터 센터(100)일 수도 있다.For example, the manager module 110 may identify a user with an unencrypted UID and transmit an authentication request message to the data center 130. The data center 130 may be a component included in the source data center 100 or may be the source data center 100.

일 실시예로, 관리자 모듈(110)은 아래와 같은 인증 요청 메시지를 데이터 센터(130)에 전송할 수 있다. In an embodiment, the manager module 110 may transmit an authentication request message as described below to the data center 130.

Autu_Request=[EOTP (UID)||EK1(nonce1)]Autu_Request = [E OTP (UID) || E K1 (nonce 1 )]

여기서 nonce1은 관리자 모듈(110)이 생성한 난수이고, K1은 관리자 모듈과 데이터 센터(130) 간에 사전에 보안 채널을 통해 교환된 대칭 키이다.Here, nonce 1 is a random number generated by the manager module 110 and K 1 is a symmetric key exchanged through a secure channel in advance between the manager module and the data center 130.

데이터 센터(130)는 요청된 사용자 인증을 확인할 수 있다(S114).The data center 130 may confirm the requested user authentication (S114).

예를 들면, 데이터 센터(130)는 OTP를 생성하고, 인증 요청 메시지를 생성한 OTP로 복호화할 수 있다. 데이터 센터(130)는 복호화된 UID를 확인할 수 있고, 사용자를 인증할 수 있다.For example, the data center 130 may generate an OTP and decrypt the OTP with the generated OTP. The data center 130 may check the decrypted UID and authenticate the user.

데이터 센터(130)는 사용자 인증 응답을 관리자 모듈(110)에 전송할 수 있다(S116).The data center 130 may transmit a user authentication response to the manager module 110 (S116).

데이터 센터(130)는 난수 nonce1을 대칭 키 K1으로 복호화하고, 관리자 모듈(110)에 인증 응답 메시지를 전송할 수 있다. 일 실시예로, 데이터 센터(130)는 아래와 같은 인증 응답 메시지를 전송할 수 있다.The data center 130 may decrypt the random number nonce 1 with the symmetric key K 1 and transmit an authentication response message to the manager module 110. In one embodiment, the data center 130 may transmit an authentication response message as follows.

Auth_Reply=[EK1(UID||nonce1)]Auth_Reply = [E K1 (UID || nonce 1 )]

관리자 모듈(110)은 전송된 사용자 인증 응답을 기초로, 사용자 인증을 확인할 수 있다(S118).The manager module 110 may check user authentication based on the transmitted user authentication response (S118).

일 실시예로, 관리자 모듈(110)은 인증 응답 메시지를 대칭 키 K1으로 복호화하여 UID와 관리자 모듈(110)에서 생성한 난수 nonce1을 획득할 수 있다. 그래서 관리자 모듈(110)은 인증 요청했던 데이터 센터(130)로부터 전송된 응답 메시지인 것을 확인할 수 있다. 이에 따라, 데이터 센터(130)의 사용자 인증이 완료될 수 있다.In an embodiment, the manager module 110 may decrypt the authentication response message with a symmetric key K 1 to obtain a UID and a random number nonce 1 generated by the manager module 110. Therefore, the manager module 110 may confirm that the response message is transmitted from the data center 130 that has requested authentication. Accordingly, user authentication of the data center 130 may be completed.

관리자 모듈(110)은 데이터 센터(130)에 마이그레이션을 요청할 수 있다(S120).The manager module 110 may request a migration from the data center 130 (S120).

예를 들면, 관리자 모듈(110)은 데이터 센터(130)에 가상 머신 마이그레이션을 요청하기 위한 요청 메시지를 전송할 수 있다. 일 실시예로, 관리자 모듈(110)은 아래와 같은 마이그레이션 요청 메시지를 데이터 센터(130)에 전송할 수 있다. For example, the manager module 110 may transmit a request message for requesting a virtual machine migration to the data center 130. In an embodiment, the manager module 110 may transmit a migration request message to the data center 130 as follows.

Mig_Requestadmin=[EK1(Mig_Rqst||Dest_DID||UID)]Mig_Request admin = [E K1 (Mig_Rqst || Dest_DID || UID)]

여기서 Dest_DID는 목적 데이터 센터(200)의 ID이다.Here, Dest_DID is an ID of the destination data center 200.

데이터 센터(130)는 수신된 마이그레이션 요청을 복호화할 수 있다(S122).The data center 130 may decrypt the received migration request (S122).

예를 들면, 데이터 센터(130)는 관리자 모듈(110)로부터 수신한 Mig_Requestadmin을 대칭 키 K1으로 복호화할 수 있다.For example, the data center 130 may decrypt the Mig_Request admin received from the manager module 110 with the symmetric key K 1 .

데이터 센터(130)는 복호화된 메시지를 기초로 마이그레이션 목적 데이터 센터를 확인할 수 있다(S124).The data center 130 may identify the migration target data center based on the decrypted message (S124).

예를 들면, 데이터 센터(130)는 복호화된 메시지에서 Dest_DID, 목적 데이터 센터의 ID를 확인할 수 있다.For example, the data center 130 may check the Dest_DID and the ID of the target data center in the decrypted message.

데이터 센터(130)는 확인된 목적 데이터 센터에 마이그레이션 요청할 수 있다(S126).The data center 130 may request migration to the confirmed target data center (S126).

예를 들면, 데이터 센터(130)는 복호화된 메시지에서 확인된 목적 데이터 센터에 마이그레이션을 요청할 수 있다. 일 실시예로, 데이터 센터(130)는 복호화된 메시지에서 확인된 Dest_DID를 갖는 목적 데이터 센터(200)에 Mig_RequestDC 메시지를 전송하여 가상 머신 마이그레이션을 요청할 수 있다. 구체적으로, 데이터 센터(130)는 아래와 같은 마이그레이션 요청 메시지를 목적 데이터 센터(200)에 전송할 수 있다.For example, the data center 130 may request migration from the destination data center identified in the decrypted message. In one embodiment, the data center 130 may request a virtual machine migration by transmitting a Mig_Request DC message to the destination data center 200 having the Dest_DID identified in the decrypted message. In detail, the data center 130 may transmit the following migration request message to the destination data center 200.

Mig_RequestDC Mig_Request DC

=[EPbDest_DC(Mig_Rqst||Src_DID||Dest_DID||UID)||CertSrc_DC]= [E PbDest_DC (Mig_Rqst || Src_DID || Dest_DID || UID) || Cert Src _ DC ]

여기서 PbDest_DC는 목적 데이터 센터(200)의 공개 키이고, Src_DID는 근원 데이터 센터(100)의 ID이며, CertSrc_DC는 인증 기관에서 발급받은 근원 데이터 센터(100)의 인증서이다. 그리고 근원 데이터 센터(100)의 인증서는 상술한 바와 같이, 이미 발급받은 상태를 가정한다.Where Pb Dest_DC is the public key of the destination data center 200, Src_DID is the ID of the source of the data center (100), Cert Src _ DC is a certificate of origin data center (100) issued by a certificate authority. The certificate of the origin data center 100 assumes a state already issued as described above.

목적 데이터 센터(200)의 데이터 센터(230)는 수신된 마이그레이션 요청을 복호화할 수 있다(S128).The data center 230 of the target data center 200 may decrypt the received migration request (S128).

예를 들면, 데이터 센터(230)는 수신된 마이그레이션 요청 메시지를 데이터 센터(230)가 가진 비밀 키로 복호화할 수 있다. 일 실시예로, 데이터 센터(230)는 수신된 Mig_RequestDC을 소유한 비밀 키로 복호화할 수 있다. For example, the data center 230 may decrypt the received migration request message with the secret key of the data center 230. In one embodiment, the data center 230 may decrypt the received private key with the Mig_Request DC .

여기서 데이터 센터(230)는 목적 데이터 센터(200)에 포함된 구성일 수 있고, 목적 데이터 센터(200)일 수도 있다.The data center 230 may be a configuration included in the target data center 200 or may be the target data center 200.

데이터 센터(230)는 복호화된 값을 기초로, 인증 정보를 확인할 수 있다(S130).The data center 230 may confirm authentication information based on the decrypted value (S130).

예를 들면, 데이터 센터(230)는 복호화된 메시지에서, Dest_ID를 통해 목적 데이터 센터를 확인하고, UID를 통해 사용자를 확인할 수 있다. 그리고 데이터 센터(230)는 CertSrc_DC로 근원 데이터 센터(100)의 자격 증명을 확인할 수 있고, Src_DID로 응답 메시지를 보낼 근원 데이터 센터(100)의 ID를 확인할 수 있다.For example, the data center 230 may identify the destination data center through the Dest_ID and the user through the UID in the decrypted message. The data center 230 may verify the credentials of the source data center 100 with Cert Src _ DC , and identify the ID of the source data center 100 to which the response message is sent with Src_DID.

데이터 센터(230)는 가상 머신 마이그레이션 응답을 데이터 센터(130)에 전송할 수 있다(S132).The data center 230 may transmit a virtual machine migration response to the data center 130 (S132).

예를 들면, 데이터 센터(230)는 가상 머신 마이그레이션 응답 메시지를 근원 데이터 센터(100)의 데이터 센터(130)에 전송할 수 있다. 일 실시예로, 데이터 센터(230)는 Mig_ResponseDC를 근원 데이터 센터(100)에 전송할 수 있다. For example, the data center 230 may send a virtual machine migration response message to the data center 130 of the origin data center 100. In one embodiment, data center 230 may transmit Mig_Response DC to origin data center 100.

Mig_ResponseDC Mig_Response DC

=[EPbSrc_DC(SinPrDest_DC(Dest_DID||Ack))||CertDest_DC]= [E PbSrc_DC (Sin PrDest_DC (Dest_DID || Ack)) || Cert Dest_DC ]

여기서, PbSrc_DC는 근원 데이터 센터(100)의 공개 키이고, CertDest_DC는 인증 기관에서 발급받은 목적 데이터 센터(200)의 인증서이다.Where Pb Src_DC is the public key of the source data center 100, Cert Dest_DC is a certificate of the destination data center 200 issued by a certification authority.

마이그레이션 응답 메시지는 목적 데이터 센터(200)의 비밀 키 PrDest_DC로 확인 메시지의 Ack와 Dest_DID를 서명한 서명 값을 포함할 수 있어서, 부인(deny) 봉쇄가 가능하다.The migration response message may include a signature value signed by Ack and Dest_DID of the confirmation message with the secret key Pr Dest_DC of the target data center 200, so that denial blocking may be possible.

근원 데이터 센터(100)의 데이터 센터(130)는 마이그레이션 응답을 수신하고, 자격 증명을 확인할 수 있다(S134).The data center 130 of the origin data center 100 may receive the migration response and verify the credentials (S134).

예를 들면, 데이터 센터(130)는 마이그레이션 응답 메시지를 수신할 수 있고, 마이그레이션 응답 메시지에서 CertDest_DC를 통해 근원 데이터 센터(100)의 자격 증명을 확인할 수 있다. 그리고 데이터 센터(130)는 소유한 비밀 키로 마이그레이션 응답 메시지를 복호화하고, 복호화된 메시지에 포함된 서명 값을 목적 데이터 센터(200)의 공개 키를 통해, 마이그레이션 요청 시 전송한 메시지에 포함된 목적 데이터 센터(200)의 ID가 맞는지 확인하고, Ack 메시지를 확인할 수 있다. 이에 따라, 근원 데이터 센터(100)와 목적 데이터 센터(200) 간의 권한 있는 마이그레이션이 가능할 수 있다.For example, the data center 130 may receive a migration response message and may verify the credentials of the source data center 100 through Cert Dest_DC in the migration response message. The data center 130 decrypts the migration response message with the owned secret key, and uses the signature value included in the decrypted message through the public key of the destination data center 200 to store the destination data included in the message transmitted in the migration request. Check that the ID of the center 200 is correct, and check the Ack message. Accordingly, authoritative migration between the source data center 100 and the destination data center 200 may be possible.

이와 같이, 다양한 실시예에 따른 가상 머신 마이그레이션 장치 및 방법은 마이그레이션 요청 시마다 OTP를 통해 사용자를 인증하는 단계를 포함하여서, 공격자가 사용자 계정을 탈취하여 사용자의 시스템에 로그인하거나, 사용자 계정을 모르는 공격자가 로그인된 사용자의 시스템에 접근이 가능하더라도, 사용자의 계정만으로는 마이그레이션 요청할 수 없다.As such, the apparatus and method for migrating a virtual machine according to various embodiments includes authenticating a user through an OTP every migration request, so that an attacker steals a user account to log in to the user's system, or an attacker who does not know the user account. Even if the logged-in user can access the system, the user's account alone cannot request migration.

다시 도 3을 참조한다.Reference is again made to FIG. 3.

가상 머신 마이그레이션 처리 모듈(430)은 근원 데이터 센터(100) 및 목적 데이터 센터(200) 간의 세션 키 교환, 데이터 센터와 물리 서버 간의 세션 키 공유, 데이터 센터와 물리 서버 간의 상호 인증을 수행할 수 있다.The virtual machine migration processing module 430 may perform session key exchange between the source data center 100 and the destination data center 200, share session keys between the data center and the physical server, and mutual authentication between the data center and the physical server. .

예를 들면, 가상 머신 마이그레이션 처리 모듈(430)은 SPEKE(Simple Password Exponential Key Exchange) 방식을 사용하여 세션 키를 교환할 수 있다.For example, the virtual machine migration processing module 430 may exchange session keys using a Simple Password Exponential Key Exchange (SPEKE) scheme.

가상 머신 마이그레이션 처리 모듈(430)은 데이터 센터와 물리 서버 간의 상호 인증 및 세션 키 공유에는 TOTP(Time based One Time Password) 기반의 동적 인증 방식을 사용하여, 공유된 세션 키를 통한 데이터 전송 과정의 기밀성을 보장할 수 있다.The virtual machine migration processing module 430 uses a time based one time password (TOTP) based dynamic authentication method for mutual authentication and session key sharing between the data center and the physical server. Can be guaranteed.

가상 머신 마이그레이션 처리 모듈(430)의 동작에 따른 가상 머신 마이그레이션 과정에 대해 도 5를 참조하여 설명한다.A virtual machine migration process according to the operation of the virtual machine migration processing module 430 will be described with reference to FIG. 5.

도 5는 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션 동작에 대한 래더 다이어그램이다.5 is a ladder diagram of a virtual machine migration operation according to various embodiments of the present disclosure.

도 5를 참조하면, 근원 데이터 센터(100)와 목적 데이터 센터(200)는 세션 키를 교환할 수 있다(S140).Referring to FIG. 5, the source data center 100 and the destination data center 200 may exchange session keys (S140).

예를 들면, 근원 데이터 센터(100)와 목적 데이터 센터(200)는 SPEKE 키 교환 방식으로 세션 키를 교환할 수 있다. SPEKE에 따른 세션 키 교환 동작은 도 6과 같다.For example, the source data center 100 and the destination data center 200 may exchange session keys using SPEKE key exchange. Session key exchange operation according to SPEKE is shown in FIG.

도 6은 본 발명의 다양한 실시예에 따른 SPEKE 키 교환에 대한 흐름도이다.6 is a flowchart illustrating a SPEKE key exchange according to various embodiments of the present invention.

도 6을 참조하면, 근원 데이터 센터(100) 및 목적 데이터 센터(200)는 세이프 프라임(safe prime) p를 공유할 수 있다. 근원 데이터 센터(100) 및 목적 데이터 센터(200) 각각은 g=Hash(pw)2을 구성할 수 있다. 근원 데이터 센터(100) 및 목적 데이터 센터(200) 각각은 임의의 정수를 선택하고, 선택된 정수를 다른 데이터 센터에 전송할 수 있다. 예를 들면, 근원 데이터 센터(100)는 비밀 임의 정수(secret random integer) a를 선택하여 목적 데이터 센터(200)에 전송할 수 있고, 목적 데이터 센터(200)는 비밀 임의 정수 b를 선택하여 근원 데이터 센터(100)에 전송할 수 있다. 그리고 근원 데이터 센터(100) 및 목적 데이터 센터(200) 각각은 세이프 프라임 및 전송된 비밀 임의 정수를 이용하여 세션 키를 산출할 수 있다.Referring to FIG. 6, the source data center 100 and the destination data center 200 may share a safe prime p. Each of the source data center 100 and the destination data center 200 may constitute g = Hash (pw) 2 . Each of the source data center 100 and the destination data center 200 may select any integer and transmit the selected integer to another data center. For example, the source data center 100 can select a secret random integer a and send it to the destination data center 200, and the destination data center 200 selects a secret random integer b to source data. May transmit to the center 100. Each of the source data center 100 and the destination data center 200 may calculate a session key using the safe prime and the transmitted secret random integer.

이와 같이 근원 데이터 센터(100) 및 목적 데이터 센터(200)는 SPEKE 키 교환 방식에 따라 세션 키를 교환할 수 있다. 그리고 SPEKE 키 교환 방식에 따르면, 생성기 g는 비밀 값이며, 일부 공유된 키 pw의 해쉬 값을 제곱하여 생성될 수 있고, g 및 p로 계산된 공개 키가 공격자에 탈취되더라도 공격자는 비밀 값 g를 알지 못하므로, 중간자 공격을 예방할 수 있다.As such, the source data center 100 and the destination data center 200 may exchange session keys according to a SPEKE key exchange scheme. And according to the SPEKE key exchange scheme, the generator g is a secret value, which can be generated by squaring the hash value of some shared key pw, and even if the public key computed by g and p is hijacked by the attacker, the attacker will still have Since you don't know, you can prevent man-in-the-middle attacks.

다시 도 5를 참조한다.Reference is again made to FIG. 5.

근원 데이터 센터(100) 및 목적 데이터 센터(200)는 SPEKE를 통해 생성된 세션 키를 각각의 물리 서버(170, 270)와 공유해야 하며, 세션 키 공유 전 데이터 센터(130, 230)와 물리 서버(170, 270) 간 상호 인증 과정을 수행할 수 있다. The source data center 100 and the destination data center 200 must share the session key generated through SPEKE with each physical server 170 and 270, and the data center 130 and 230 and the physical server before sharing the session key. It is possible to perform a mutual authentication process between (170, 270).

근원 데이터 센터(100)의 데이터 센터(130)는 TOTP를 생성하고(S141),물리 서버(170)에 처리 인증 요청을 전송할 수 있다(S143).The data center 130 of the origin data center 100 may generate a TOTP (S141), and transmit a process authentication request to the physical server 170 (S143).

목적 데이터 센터(200)의 데이터 센터(230)는 TOTP를 생성하고(S142), 물리 서버(270)에 처리 인증 요청을 전송할 수 있다(S144).The data center 230 of the target data center 200 may generate a TOTP (S142), and transmit a process authentication request to the physical server 270 (S144).

예를 들면, 데이터 센터(130, 230)는 해쉬 함수를 이용하여 비밀 키와 타임 스탬프를 결합시켜, 상호간 시간 동기화된 OTP를 생성할 수 있다. For example, the data centers 130 and 230 may combine a secret key and a time stamp using a hash function to generate time-synchronized OTPs.

도 7은 본 발명의 다양한 실시예에 따른 HOTP 알고리즘을 나타내고, 도 8은 TOTP 계산 처리를 나타낸다.7 illustrates a HOTP algorithm according to various embodiments of the present invention, and FIG. 8 illustrates a TOTP calculation process.

데이터 센터와 물리 서버 간의 상호 인증은 TOTP 기반으로 이루어지며, Internet Engineering Task Force 표준인 RFC 6238에 따른 TOTP 생성 과정과 같다. 구체적으로, TOTP는 타임 스탬프가 카운터로 대체된 HOTP르 기반으로 생성될 수 있고, HOTP 알고리즘은 도 7과 같다. 그리고 타임 스탬프와 유닉스 시간인 epoch 시간의 시작 시간인 TO를 통해 TOTP를 계산하는 과정은 도 8과 같다. 이 때, d는 OTP의 원하는 자리 수를 의미한다.Mutual authentication between the data center and the physical server is based on TOTP and is the same as the TOTP generation process according to RFC 6238, the Internet Engineering Task Force standard. Specifically, the TOTP may be generated based on the HOTP whose time stamp is replaced with the counter, and the HOTP algorithm is illustrated in FIG. 7. The process of calculating the TOTP through the time stamp and the TO of the start time of the epoch time, which is the UNIX time, is illustrated in FIG. 8. In this case, d means the desired number of digits of the OTP.

타임 스탬프는 일반적으로 30초 간격으로 증가하므로, 데이터 센터(130, 230)는 동일한 비밀 키로 시간에 따라 동일한 암호를 생성할 수 있다. 그리고 데이터 센터(130, 230)는 사용자와 서버의 시간을 대략적으로 동기화하기 위해 타임 스탬프의 1시간 오차를 허용할 수 있다.Since the time stamp generally increases at 30 second intervals, the data centers 130 and 230 can generate the same password over time with the same secret key. In addition, the data centers 130 and 230 may allow a one hour error of the time stamp to roughly synchronize the time between the user and the server.

근원 데이터 센터(100)의 데이터 센터(130) 및 목적 데이터 센터(200)의 데이터 센터(230)는 가상 머신 마이그레이션에 대응하는 물리 서버(170, 270)에 인증 요청 메시지를 전송할 수 있다. 예를 들면, 데이터 센터(130, 230)는 물리 서버(170, 270)에 아래와 같은 인증 요청 메시지 DC_PS_Auth_Request를 전송할 수 있다. The data center 130 of the source data center 100 and the data center 230 of the destination data center 200 may transmit an authentication request message to the physical servers 170 and 270 corresponding to the virtual machine migration. For example, the data centers 130 and 230 may transmit the following authentication request message DC_PS_Auth_Request to the physical servers 170 and 270.

DC_PS_Auth_Request=[ETOTP(DID||PID)]nonce2)]DC_PS_Auth_Request = [E TOTP (DID || PID)] nonce 2 )]

여기서 PID는 물리 서버의 ID이며, 근원 데이터 센터(100)의 물리 서버(170)인 경우 Src_PID, 목적 데이터 센터(200)의 물리 서버(270)인 경우 Dest_PID가 된다. 그리고 nonce2는 데이터 센터가 생성한 난수이다.Here, PID is an ID of a physical server, and Src_PID for the physical server 170 of the source data center 100 and Dest_PID for the physical server 270 of the target data center 200. And nonce 2 is a random number generated by the data center.

물리 서버(170, 270)는 전송된 인증 요청을 복호화하고(S145, S146), 복호화된 인증 요청에 포함된 정보를 기초로 데이터 센터를 인증할 수 있다(S147, S148).The physical servers 170 and 270 may decrypt the transmitted authentication request (S145 and S146) and may authenticate the data center based on the information included in the decrypted authentication request (S147 and S148).

예를 들면, 물리 서버(170, 270)는 전송된 인증 요청 메시지 DC_PS_Auth_Request를 물리 서버 자신의 TOTP로 복호화할 수 있다. 구체적으로, 물리 서버(170, 270)는 DC_PS_Auth_Request를 자신의 TOTP로 복호화하고, 자신의 PID를 확인하여 데이터 센터를 인증할 수 있다. 그리고 물리 서버(170, 270)는 가상 머신 마이그레이션을 요청한 데이터 센터(130, 230)의 DID 및 난수 nonce2를 확인할 수 있다. For example, the physical servers 170 and 270 may decrypt the transmitted authentication request message DC_PS_Auth_Request with the TOTP of the physical server itself. In detail, the physical servers 170 and 270 may decrypt the DC_PS_Auth_Request with their TOTP and verify their PID to authenticate the data center. In addition, the physical servers 170 and 270 may check the DIDs and random numbers nonce 2 of the data centers 130 and 230 that requested the virtual machine migration.

물리 서버(170, 270)는 데이터 센터(130, 230)에 처리 인증 응답을 전송할 수 있다(S147, S148).The physical servers 170 and 270 may transmit process authentication responses to the data centers 130 and 230 (S147 and S148).

예를 들면 물리 서버(170, 270)는 아래와 같은 처리 인증 응답 DC_PS_Auth_Repsonse를 데이터 센터(130, 230)에 전송할 수 있다.For example, the physical servers 170 and 270 may transmit the following process authentication response DC_PS_Auth_Repsonse to the data centers 130 and 230.

DC_PS_Auth_Repsonse=[ETOTP(DID||nonce2)]DC_PS_Auth_Repsonse = [E TOTP (DID || nonce 2 )]

데이터 센터(130, 230)는 전송된 처리 인증 응답을 복호화할 수 있고(S151, S152), 복호화된 처리 인증 응답에 포함된 정보를 기초로 물리 서버(170, 270)를 인증할 수 있다(S153, S154).The data centers 130 and 230 may decrypt the transmitted process authentication response (S151 and S152), and may authenticate the physical servers 170 and 270 based on the information included in the decrypted process authentication response (S153). , S154).

예를 들면, 데이터 센터(130, 230)는 물리 서버 자신의 TOTP로 수신된 처리 인증 응답 DC_PS_Auth_Repsonse을 복호화할 수 있고, 자신의 DID와 난수 nonce2를 확인하여 물리 서버(170, 270)을 확인할 수 있다.For example, the data centers 130 and 230 may decrypt the process authentication response DC_PS_Auth_Repsonse received by the TOTP of the physical server and check the physical server 170 and 270 by checking its DID and random number nonce 2 . have.

데이터 센터(130, 230)는 상호 인증된 물리 서버(170, 270)에 세션 키를 공유할 수 있다(S155, S156).The data centers 130 and 230 may share the session key with the mutually authenticated physical servers 170 and 270 (S155 and S156).

예를 들면, 데이터 센터(130, 230)는 상호 인증된 물리 서버(170, 270)에 TOTP로 암호화한 세션 키를 전송할 수 있다. 일 실시예로, 데이터 센터(130, 230)는 상호 인증된 물리 서버(170, 270)에 TOTP로 세션 키를 암호화한 ETOTP(SK)를 전송할 수 있다. 이에 따라 물리 서버(170, 270)는 전송된 세션 키를 자신의 TOTP로 복호화하여 세션 키를 획득할 수 있다. 그래서 데이터 센터(130, 230)와 물리 서버(170, 270) 간 세션 키가 공유될 수 있다.For example, the data centers 130 and 230 may transmit a TOTP-encrypted session key to the mutually authenticated physical servers 170 and 270. In an embodiment, the data centers 130 and 230 may transmit an E TOTP (SK) encrypted with a session key to the mutually authenticated physical servers 170 and 270 with TOTP. Accordingly, the physical servers 170 and 270 may obtain the session key by decrypting the transmitted session key with its TOTP. Thus, the session key may be shared between the data centers 130 and 230 and the physical servers 170 and 270.

상술한 설명에서 근원 데이터 센터(100) 측 데이터 센터(130)와 물리 서버(170) 간의 동작과, 목적 데이터 센터(200) 측 데이터 센터(230)와 물리 서버(270) 간의 동작이 동시에 설명되었으나, 이는 설명을 위한 예시로, 동시가 아닌 다른 사점에 동작할 수도 있다.In the above description, operations between the data center 130 and the physical server 170 on the source data center 100 and operations between the data center 230 and the physical server 270 on the target data center 200 are simultaneously described. This is an example for explanation, and may operate at other dead points other than simultaneous.

이와 같이, 본 발명의 다양한 실시예에 따른 가상 머신 마이그레이션 장치 및 방법은 상호 전송되는 데이터를 근원 데이터 센터(100) 및 목적 데이터 센터(200) 간의 비밀 키를 이용하여 기밀성을 제공할 수 있다. As such, the apparatus and method for migrating a virtual machine according to various embodiments of the present disclosure may provide confidentiality by using a secret key between the source data center 100 and the destination data center 200 for data transmitted from each other.

근원 데이터 센터(100)의 물리 서버(170)는 공유된 세션 키로 암호화된 가상 머신의 데이터를 목적 데이터 센터(200)의 물리 서버(270)에 전송할 수 있다(S157).The physical server 170 of the origin data center 100 may transmit data of the virtual machine encrypted with the shared session key to the physical server 270 of the target data center 200 (S157).

예를 들면, 근원 데이터 센터(100)의 물리 서버(170)는 세션 키로 암호화된 가상 머신 데이터 VM_Data_Tran를 목적 데이터 센터(200)의 물리 서버(270)에 전송할 수 있다. For example, the physical server 170 of the origin data center 100 may transmit the virtual machine data VM_Data_Tran encrypted with the session key to the physical server 270 of the target data center 200.

VM_Data_Trans=[ESK(VM_Data||Hash(VM_Data))]VM_Data_Trans = [E SK (VM_Data || Hash (VM_Data))]

여기서 VM_Data는 전송하고자 하는 실제 데이터이고, Hash(VM_Data)는 SHA와 같은 해쉬 함수로, VM_Data를 해쉬한 값이다.Here, VM_Data is actual data to be transmitted, and Hash (VM_Data) is a hash function such as SHA, and is a value obtained by hashing VM_Data.

목적 데이터 센터(200)의 물리 서버(270)는 전송된 가상 머신 데이터를 복호화할 수 있다(S158).The physical server 270 of the target data center 200 may decrypt the transmitted virtual machine data (S158).

예를 들면, 물리 서버(270)는 공유된 세션 키를 이용하여 전송된 가상 머신 데이터를 복호화할 수 있다. 예를 들면, 물리 서버(270)는 전송된 VM_Data_Tran을 복호화하여 VM_Data를 획득할 수 있다.For example, the physical server 270 may decrypt the transmitted virtual machine data using the shared session key. For example, the physical server 270 may obtain VM_Data by decoding the transmitted VM_Data_Tran.

물리 서버(270)는 복호화된 가상 머신 데이터의 무결성을 확인할 수 있다(S159).The physical server 270 may check the integrity of the decrypted virtual machine data (S159).

예를 들면, 물리 서버(270)는 복호화된 가상 머신 데이터 VM_Data를 근원 데이터 센터(100)의 물리 서버(170)와 동일한 해쉬함수로 해쉬하여 해쉬 값을 획득하고, 계산한 해쉬 값과 근원 데이터 센터(100)의 물리 서버(170)로부터 전달된 해쉬 값을 비교하여, 가상 머신 데이터에 대한 무결성을 확인할 수 있다.For example, the physical server 270 may hash the decrypted virtual machine data VM_Data with the same hash function as the physical server 170 of the origin data center 100 to obtain a hash value, and calculate the calculated hash value and the origin data center. The integrity of the virtual machine data may be checked by comparing the hash values transmitted from the physical server 170 of 100.

이상, 본 발명의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.As mentioned above, although the technical idea of the present invention has been described in detail with reference to a preferred embodiment, the technical idea of the present invention is not limited to the above embodiments, and having ordinary skill in the art within the scope of the technical idea of the present invention. Many modifications and variations are possible.

100: 근원 데이터 센터
110: 관리자 모듈
120: 가상 머신 모니터링 모듈
130: 데이터 센터
141-146: 가상 머신
160: 물리 노드
170, 171, 172: 물리 서버
200: 목적 데이터 센터
210: 관리자 모듈
220: 가상 머신 모니터링 모듈
230: 데이터 센터
241-246: 가상 머신
260: 물리 노드
270, 271, 272: 물리 서버
300: 물리 서버
310: 프로세서
330: 메모리
350: 통신 모듈
400: 가상 머신 마이그레이션 장치
410: 가상 머신 마이그레이션 요청 모듈
411: 사용자 동적 인증 모듈
415: 마이그레이션 요청 모듈
430: 가상 머신 마이그레이션 처리 모듈
100: source data center
110: manager module
120: virtual machine monitoring module
130: data center
141-146: virtual machines
160: physical nodes
170, 171, 172: physical server
200: destination data center
210: manager module
220: virtual machine monitoring module
230: data center
241-246: virtual machines
260: physical node
270, 271, 272: physical server
300: physical server
310: processor
330: memory
350: communication module
400: virtual machine migration unit
410: virtual machine migration request module
411: user dynamic authentication module
415: migration request module
430: Virtual Machine Migration Processing Module

Claims (15)

가상 머신 마이그레이션을 위한 사용자 인증 요청을 획득하는 단계;
상기 가상 머신 마이그레이션에 대응하는 근원 데이터 센터 및 목적 데이터 센터에서 상기 획득된 사용자 인증 요청에 대응하는 사용자를 인증하기 위해 OTP(One Time Password) 기반의 사용자 인증을 수행하는 단계;
상기 근원 데이터 센터 및 상기 목적 데이터 센터 사이에 세션 키를 교환하는 단계;
상기 교환된 세션 키를 이용하여, 상기 근원 데이터 센터 및 상기 목적 데이터 센터 각각에서 상기 가상 머신 마이그레이션을 처리하기 위한 처리 인증을 수행하는 단계; 및
상기 수행된 처리 인증을 기초로, 상기 근원 데이터 센터에서 상기 목적 데이터 센터로 가상 머신 데이터를 전송하는 단계를 포함하되,
상기 처리 인증을 수행하는 단계는,
상기 근원 데이터 센터 및 상기 목적 데이터 센터 각각이 대응하는 제1 물리 서버 및 제2 물리 서버 각각과 상기 교환된 세션 키를 공유하기 위한 OTP 기반의 상호 인증 과정을 수행하는 단계를 포함하는, 가상 머신 마이그레이션 방법.
Obtaining a user authentication request for virtual machine migration;
Performing one time password (OTP) based user authentication to authenticate a user corresponding to the obtained user authentication request in a source data center and a destination data center corresponding to the virtual machine migration;
Exchanging a session key between the source data center and the destination data center;
Performing process authentication to process the virtual machine migration in each of the source data center and the destination data center using the exchanged session key; And
Based on the performed process authentication, transmitting virtual machine data from the origin data center to the destination data center,
Performing the process authentication,
Performing an OTP-based mutual authentication process for each of the source data center and the destination data center to share the exchanged session key with each of the corresponding first and second physical servers. Way.
삭제delete 제1항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 근원 데이터 센터가 상기 제1 물리 서버에, 상기 근원 데이터 센터의 ID 및 상기 근원 데이터 센터가 생성한 제1 난수를 포함하는 인증 요청 메시지를 전송하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 1,
The step of performing the mutual authentication process
Sending, by the origin data center, an authentication request message including an ID of the origin data center and a first random number generated by the origin data center to the first physical server;
How to migrate a virtual machine.
제3항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 제1 물리 서버가, 상기 제1 물리 서버가 소유한 TOTP(Time based One Time Password)를 기초로, 상기 전송된 인증 요청 메시지를 복호화하는 단계와,
상기 제1 물리 서버가, 상기 복호화된 인증 요청 메시지에 포함된 물리 서버의 ID와 상기 제1 물리 서버의 ID를 비교하여, 상기 근원 데이터 센터를 인증하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 3, wherein
The step of performing the mutual authentication process
Decrypting, by the first physical server, the transmitted authentication request message based on a time based one time password (TOTP) owned by the first physical server;
Authenticating, by the first physical server, the origin data center by comparing an ID of the physical server included in the decrypted authentication request message with an ID of the first physical server.
How to migrate a virtual machine.
제4항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 제1 물리 서버가, 상기 근원 데이터 센터의 ID 및 상기 제1 난수를 포함하는 처리 인증 응답을 상기 근원 데이터 센터에 전송하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 4, wherein
The step of performing the mutual authentication process
Sending, by the first physical server, a process authentication response including the ID of the origin data center and the first random number to the origin data center;
How to migrate a virtual machine.
제5항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 근원 데이터 센터가, 상기 전송된 처리 인증 응답을 복호화하는 단계와,
상기 근원 데이터 센터가, 상기 복호화된 처리 인증 응답에 포함된 상기 근원 데이터 센터의 ID 및 상기 제1 난수를 기초로, 상기 제1 물리 서버를 인증하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 5,
The step of performing the mutual authentication process
Decrypting, by the source data center, the transmitted process authentication response;
Authenticating, by the origin data center, the first physical server based on the first random number and the ID of the origin data center included in the decrypted process authentication response.
How to migrate a virtual machine.
제6항에 있어서,
상기 가상 머신 데이터를 전송하는 단계는
상기 근원 데이터 센터가, 상기 인증된 제1 물리 서버에 상기 세션 키를 공유하는 단계와,
상기 제1 물리 서버가, 상기 공유된 세션 키를 이용하여 상기 가상 머신 데이터를 암호화하는 단계와,
상기 제1 물리 서버가, 상기 암호화된 가상 머신 데이터를 상기 목적 데이터 센터에 전송하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 6,
The transmitting of the virtual machine data
Sharing, by the originating data center, the session key with the authenticated first physical server;
Encrypting, by the first physical server, the virtual machine data using the shared session key;
Sending, by the first physical server, the encrypted virtual machine data to the destination data center.
How to migrate a virtual machine.
제1항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 목적 데이터 센터가, 상기 제2 물리 서버에, 상기 목적 데이터 센터의 ID 및 상기 목적 데이터 센터가 생성한 제2 난수를 포함하는 인증 요청 메시지를 전송하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 1,
The step of performing the mutual authentication process
Sending, by the destination data center, an authentication request message including an ID of the destination data center and a second random number generated by the destination data center to the second physical server.
How to migrate a virtual machine.
제8항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 제2 물리 서버가, 상기 제2 물리 서버가 소유한 TOTP(Time based One Time Password)를 기초로, 상기 전송된 인증 요청 메시지를 복호화하는 단계와,
상기 제2 물리 서버가, 상기 복호화된 인증 요청 메시지에 포함된 물리 서버의 ID와 상기 제2 물리 서버의 ID를 비교하여, 상기 목적 데이터 센터를 인증하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 8,
The step of performing the mutual authentication process
Decrypting, by the second physical server, the transmitted authentication request message based on a time based one time password (TOTP) owned by the second physical server;
Authenticating, by the second physical server, the target data center by comparing an ID of the physical server included in the decrypted authentication request message with an ID of the second physical server.
How to migrate a virtual machine.
제9항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 제2 물리 서버가, 상기 목적 데이터 센터의 ID 및 상기 제2 난수를 포함하는 처리 인증 응답을 상기 목적 데이터 센터에 전송하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 9,
The step of performing the mutual authentication process
Sending, by the second physical server, a process authentication response including the ID of the target data center and the second random number to the target data center.
How to migrate a virtual machine.
제10항에 있어서,
상기 상호 인증 과정을 수행하는 단계는
상기 목적 데이터 센터가, 상기 전송된 처리 인증 응답을 복호화하는 단계와,
상기 목적 데이터 센터가, 상기 복호화된 처리 인증 응답에 포함된 상기 목적 데이터 센터의 ID 및 상기 제2 난수를 기초로, 상기 제2 물리 서버를 인증하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 10,
The step of performing the mutual authentication process
Decrypting, by the destination data center, the transmitted process authentication response;
Authenticating, by the target data center, the second physical server based on the ID and the second random number of the target data center included in the decrypted process authentication response.
How to migrate a virtual machine.
제11항에 있어서,
상기 가상 머신 데이터를 전송하는 단계는
상기 목적 데이터 센터가, 상기 인증된 제2 물리 서버에 상기 세션 키를 공유하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 11,
The transmitting of the virtual machine data
Sharing, by the destination data center, the session key to the authenticated second physical server
How to migrate a virtual machine.
제12항에 있어서,
상기 목적 데이터 센터가, 상기 전송된 가상 머신 데이터를 상기 공유된 세션 키를 이용하여 복호화하는 단계; 및
상기 목적 데이터 센터가, 상기 복호화된 가상 머신 데이터를 해쉬함수로 해쉬하여, 상기 전송된 가상 머신 데이터의 무결성을 확인하는 단계를 더 포함하는
가상 머신 마이그레이션 방법.
The method of claim 12,
Decrypting, by the destination data center, the transmitted virtual machine data using the shared session key; And
And checking, by the target data center, the decrypted virtual machine data with a hash function to verify the integrity of the transmitted virtual machine data.
How to migrate a virtual machine.
제1항에 있어서,
상기 근원 데이터 센터 및 목적 데이터 센터 사이에서 세션 키를 교환하는 단계는
SPEKE(Simple Password Exponential Key Exchange) 방식에 따라 상기 세션 키를 교환하는 단계를 포함하는
가상 머신 마이그레이션 방법.
The method of claim 1,
Exchanging a session key between the source data center and the destination data center
Exchanging the session key according to a Simple Password Exponential Key Exchange (SPEKE) scheme;
How to migrate a virtual machine.
적어도 하나의 프로세서; 및
상기 프로세서에 전기적으로 연결된 메모리를 포함하고,
상기 메모리는, 실행 시에, 상기 프로세서가,
가상 머신 마이그레이션을 위한 사용자 인증 요청을 획득하고,
OTP(One Time Password) 기반의 동적 인증을 통해 상기 획득된 사용자 인증 요청에 대응하는 사용자를 인증하고,
상기 가상 머신 마이그레이션에 대응하는 목적 데이터 센터와 세션 키를 교환하고,
상기 교환된 세션 키를 이용하여, 상기 가상 머신 마이그레이션을 처리하기 위한 처리 인증-대응하는 물리 서버와 상기 교환된 세션 키를 공유하기 위한 OTP 기반의 인증 과정을 포함함-을 수행하고,
상기 수행된 처리 인증을 기초로, 상기 물리 서버가 상기 교환된 세션 키를 기초로 가상 머신 데이터를 암호화하여 상기 목적 데이터 센터로 전송하도록 하는 인스트럭션들을 저장하는
가상 머신 마이그레이션 장치.
At least one processor; And
A memory electrically connected to the processor;
When the memory is executed, the processor,
Obtain user authentication requests for virtual machine migration,
Authenticating a user corresponding to the obtained user authentication request through OTP (One Time Password) based dynamic authentication,
Exchange session keys with a destination data center corresponding to the virtual machine migration,
Use the exchanged session key to perform process authentication for processing the virtual machine migration, including an OTP based authentication process for sharing the exchanged session key with a corresponding physical server,
Based on the performed process authentication, storing instructions that cause the physical server to encrypt virtual machine data based on the exchanged session key and transmit it to the destination data center.
Virtual machine migration device.
KR1020170108945A 2017-08-28 2017-08-28 Virtual machine migration device and method thereof KR102029053B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170108945A KR102029053B1 (en) 2017-08-28 2017-08-28 Virtual machine migration device and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170108945A KR102029053B1 (en) 2017-08-28 2017-08-28 Virtual machine migration device and method thereof

Publications (2)

Publication Number Publication Date
KR20190023354A KR20190023354A (en) 2019-03-08
KR102029053B1 true KR102029053B1 (en) 2019-10-07

Family

ID=65800643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170108945A KR102029053B1 (en) 2017-08-28 2017-08-28 Virtual machine migration device and method thereof

Country Status (1)

Country Link
KR (1) KR102029053B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102175317B1 (en) * 2020-07-02 2020-11-06 굿모닝아이텍(주) Virtual Desktop Infrastructure
KR102179185B1 (en) * 2020-07-02 2020-11-17 굿모닝아이텍(주) Server Management system
KR102543749B1 (en) 2023-02-17 2023-06-14 주식회사 헤카톤에이아이 A Artificial Intelligence-Based Automation System for Data Lake Migration

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
KR100842267B1 (en) * 2006-12-01 2008-06-30 한국전자통신연구원 Server, Client and Method for integrated user authentication in a system of multi-authentication means
US9537938B2 (en) * 2014-09-23 2017-01-03 Amazon Technologies, Inc. Virtual desktop migration

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102175317B1 (en) * 2020-07-02 2020-11-06 굿모닝아이텍(주) Virtual Desktop Infrastructure
KR102179185B1 (en) * 2020-07-02 2020-11-17 굿모닝아이텍(주) Server Management system
KR102543749B1 (en) 2023-02-17 2023-06-14 주식회사 헤카톤에이아이 A Artificial Intelligence-Based Automation System for Data Lake Migration
KR102569185B1 (en) 2023-02-17 2023-08-22 주식회사 헤카톤에이아이 Data Lake Transfer Method Using Artificial Intelligence-Based Automation System for Data Lake Transfer

Also Published As

Publication number Publication date
KR20190023354A (en) 2019-03-08

Similar Documents

Publication Publication Date Title
US11563567B2 (en) Secure shared key establishment for peer to peer communications
JP6684930B2 (en) Blockchain-based identity authentication method, device, node and system
US10142297B2 (en) Secure communication method and apparatus
EP3248310B1 (en) Method, apparatus, and system for quantum key distribution
JP5860815B2 (en) System and method for enforcing computer policy
US9043598B2 (en) Systems and methods for providing secure multicast intra-cluster communication
US20200358764A1 (en) System and method for generating symmetric key to implement media access control security check
CN105873031B (en) Distributed unmanned plane cryptographic key negotiation method based on credible platform
US20080162934A1 (en) Secure transmission system
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
US11799844B2 (en) Secure communication network
CN108809907B (en) Certificate request message sending method, receiving method and device
Kaur et al. A secure two-factor authentication framework in cloud computing
WO2022100356A1 (en) Identity authentication system, method and apparatus, device, and computer readable storage medium
KR102029053B1 (en) Virtual machine migration device and method thereof
JP6972145B2 (en) Programmable Hardware Security Modules and Methods Used for Programmable Hardware Security Modules
US10797888B1 (en) Methods for secured SCEP enrollment for client devices and devices thereof
US20170295142A1 (en) Three-Tiered Security and Computational Architecture
JP2016220062A (en) Communication device, server, signature verification commission system, and signature verification commission method
CN113206815A (en) Method for encryption and decryption, programmable switch and computer program product
US11784993B2 (en) Cross site request forgery (CSRF) protection for web browsers
CN114189370A (en) Access method and device
CN114363077A (en) Management system based on safety access service edge
US11777922B2 (en) Autonomous multi-factor authentication
US20230239138A1 (en) Enhanced secure cryptographic communication system

Legal Events

Date Code Title Description
A201 Request for examination
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