KR20110035573A - 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 - Google Patents
클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 Download PDFInfo
- Publication number
- KR20110035573A KR20110035573A KR1020090093352A KR20090093352A KR20110035573A KR 20110035573 A KR20110035573 A KR 20110035573A KR 1020090093352 A KR1020090093352 A KR 1020090093352A KR 20090093352 A KR20090093352 A KR 20090093352A KR 20110035573 A KR20110035573 A KR 20110035573A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- key
- public key
- user terminal
- verification center
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법에 관한 것이다. 이러한 방법에 따르면, 사용자 단말(U)의 가상 머신이 설치될 가상 머신 노드(N)는 검증 센터(VC)로부터 TPM(Trusted Platform Module)을 이용하여 무결성을 검증받는다. 무결성 검증에 성공한 경우, 가상 머신 노드(N)는 검증 센터(VC)를 통해 사용자 단말(U)과의 세션키를 설정하여 세션키로 암호화된 가상 머신 이미지를 사용자 단말(U)로부터 수신하여 설치한다.
TPM(Trusted Platform Module), 세션키, 신뢰 컴퓨팅, 가상 머신 이미지, DH(Diffie-Hellman) 파라미터
Description
본 발명은 클라우드 컴퓨팅 환경에서 가상 머신 설치의 안전성을 제공하는 방법에 관한 것이다. 더욱 상세하게는 다양한 보안 위협이 증가하고 있는 클라우드 컴퓨팅 환경에서 가상 머신의 안전한 설치를 위한 노드 무결성 검증 및 암호 키 설정 방법에 관한 것이다.
클라우드 컴퓨팅 서비스는 기업 및 개인들의 비용을 크게 감소시켜 줄 수 있어 주목을 받고 있는 유망한 서비스이다.
그런데 보안이 클라우드 서비스 활성화에 큰 장애물로 작용하고 있다. 가장 심각한 보안 문제점 중의 하나는 클라우드 컴퓨팅 서비스 운용자들이 사용자들의 데이터를 누설, 변조하는 기밀성을 침해할 가능성이 있다는 것이다. 이는 클라우드 컴퓨팅 서비스를 제공하는 내부 시스템 관리자들이 사용자들의 가상 머신을 접속할 수 있는 기술적 수단을 가지고 있기 때문이다.
클라우드 컴퓨팅 서비스 운용자들은 수많은 가상 머신으로 구성된 데이터 센 터를 운용하므로 사용자들의 가상 머신은 동적으로 변경되어질 수 있다. 이것은 기존의 신뢰(trusted) 플랫폼이 해결하지 못하는 취약점들을 발생 시킨다.
즉 아마존 EC2와 같은 IaaS(Infrastructure as a Service) 클라우드 서비스에서 호스트에 대한 특권 접속 권한 가진 관리자들은 사용자들의 데이터를 읽거나 변조할 수 있다. 따라서, 사용자들은 자신들의 가상 머신을 보호할 수 없다. 이를 위해 클라우드 서비스 제공자들은 내부 공격의 위협을 최소화하기 위하여 시스템을 안전하게 하는 많은 노력을 하고 있다.
예를 들면, 하드웨어 장치에 대한 엄격한 접속 및 보호를 수행하고 중요한 인프라에 대하여 접속할 수 있는 관리자 수를 최소화하는 등의 노력을 수행하고 있다.
하지만 그럼에도 사용자들은 보안에 대한 두려움으로 이러한 서비스를 이용하는 것을 꺼려하고 있다. 이를 해소하기 위해서는 사용자들 스스로가 직접 안전하게 가상 머신을 설치할 수 있도록 컴퓨팅의 무결성, 기밀성을 보장하는 솔루션의 개발이 필요하다.
그러나 현재까지는 클라우드 컴퓨팅 서비스에서 사용자들에게 자신의 데이터와 컴퓨팅에 대해서 보안성을 검증하는 수단을 제공하고 있지 않은 실정이다.
발명이 이루고자 하는 기술적 과제는 TPM(Trusted Platform Module) 원격검증(Remote Attestation) 기술을 응용하여 가상 머신이 설치될 노드(node)에 대한 무결성 검증을 제공하고, 사용자가 직접 3자 공인 기관 형태의 검증 센터를 통한 검증 과정을 통해 가상 머신 이미지를 안전하게 설치할 수 있는 방법을 제공한다.
본 발명의 한 실시예에 따르면, 가상 머신 노드(N)가 안전한 가상 머신 설치를 제공하는 방법이 제공된다. 이 방법은, 클라우드 컴퓨팅 환경에서 사용자 단말(U)에게 안전한 가상 머신 설치를 제공하는 방법에 있어서, (a) 상기 사용자 단말(U)의 가상 머신이 설치될 가상 머신 노드(N)가 검증 센터(VC)로부터 TPM(Trusted Platform Module)을 이용하여 무결성을 검증받는 단계; 및 (b) 상기 검증에 성공한 경우, 상기 검증 센터(VC)를 통해 상기 사용자 단말(U)과의 세션키를 설정하여 상기 세션키로 암호화된 가상 머신 이미지를 상기 사용자 단말(U)로부터 수신하여 설치하는 단계를 포함한다.
본 발명의 다른 실시예에 따르면, 사용자 단말(U)이 안전한 가상 머신 설치를 제공하는 방법이 제공된다. 이 방법은, 클라우드 컴퓨팅 환경에서 사용자 단말(U)이 안전한 가상 머신 설치를 제공하는 방법에 있어서, (a) 상기 사용자 단말(U)이 상기 사용자 단말(U)의 가상 머신이 설치될 가상 머신 노드(N)에게 안전한 가상 머신 설치 서비스를 요청하는 단계; 및 (b) 상기 가상 머신 노드(N)로부터 검증 센터(VC)를 통해 설정된 세션키를 수신하여 상기 세션키를 이용하여 암호화시킨 가상 머신 이미지를 상기 가상 머신 노드(N)로 전송하는 단계를 포함한다.
본 발명의 한 실시예에 따르면, 사용자의 가상 머신이 설치될 노드에 대한 무결성 여부를 사용자에게 제공할 수 있다. 또한, 사용자는 서비스 제공자를 검증할 수 있고 그들의 가상 머신을 시작하기 전에 서비스가 안전한지를 알 수 있다. 따라서, 클라우드 컴퓨팅 환경에서 사용자들이 자신의 데이터와 컴퓨팅에 대해서 보안성을 검증하는 수단을 제공한다.
더불어 사용자의 가상 머신이 안전하게 설치되어 클라우드 제공자의 관리자뿐만 아니라 외부 공격자들로부터 사용자의 데이터 프라이버시 침해를 보호할 수 있다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 시퀀스를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이제, 본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 안전한 가상 머신 설치를 제공하는 클라우 드 컴퓨팅 시스템의 구성도이다.
도 1을 참조하면, 클라우드 컴퓨팅 시스템은 사용자 단말(U)(100), 네트워크(200), 관리부(300), 하나 이상의 가상 머신 노드(N)(400) 및 검증 센터(VC)(500)를 포함한다.
사용자 단말(U)(100)은 네트워크(200)를 통해 하나 이상의 가상 머신 노드(N)(400)에 접속하여 가상화(virtualization) 기술과 지능형 관리기술을 기반으로 PC(Personal Computer)안에 가상 컴퓨팅 환경을 제공한다.
즉 사용자 단말(U)(100)은 사용자 환경 정보를 이미지 형태로 변환하여 생성한 가상 머신 이미지(VMI)를 가상 머신 노드(N)(400)에 저장한다. 그러면 이후 어느 단말에서나 사용자 단말(U)(100)과 동일한 컴퓨팅 환경을 제공받을 수가 있다.
사용자 단말(U)(100)이 네트워크(200)를 통해 관리부(300)에 접속하면, 관리부(300)는 사용자 단말(U)(100)의 가상 머신이 설치될 노드(400)를 선정하여 사용자 단말(U)(100)에게 할당한다.
사용자 단말(U)(100)은 초기 가상 머신 이미지(VMI)를 소유하고 있다. 사용자 단말(U)(100)은 가상 머신이 설치될 물리적 노드 즉 가상 머신 노드(N)(400)는 알지 못하고 검증 센터(VC)(500)만 신뢰한다고 가정한다.
사용자 단말(U)(100)은 무결성이 검증된 가상 머신 노드(N)(400)와 설정된 암호 키를 사용하여 암호화된 가상 머신 이미지(VMI)를 가상 머신 노드(N)(400)에게 전송한다.
가상 머신 노드(N)(400)는 검증 센터(VC)(500)로부터 무결성 검증이 완료되 면 검증 센터(VC)(500)로부터 제공받은 암호 키를 이용하여 사용자 단말(U)(100)로부터 암호화된 가상 머신 이미지(VMI)를 수신하여 설치한다. 이때, 가상 머신 노드(N)(400)에는 무결성 증명을 위한 TPM(Trusted Platform Module)이 장착되어 있다.
여기서, Tamper-resist 모듈인 TPM 칩은 키 값이나 패스워드, 디지털 인증서 등을 저장할 수 있는 안전한 저장 공간을 제공한다. 그리고 RSA(Rivest Shamir Adleman)와 SHA1(Secure Hash Algorithm)과 같은 암호화 엔진을 제공한다. 그리고, TPM은 내부 데이터 보호를 위하여 밀봉(Sealing) 기능을 제공하는데 이것은 TPM 내부에 존재하는 SRK(Storage Root Key)에 의해 유도된 키 값을 사용하여 암호화를 수행한다. 여기서, 상기 키 값은 밀봉된 TPM 내부에만 존재하기 때문에 해당 데이터가 유출되더라도 다른 사용자가 암호화된 데이터를 복호하는 것은 불가능하다. 또한, TPM은 체인 오프 트러스트(Chain of Trust) 기술을 사용하여 플랫폼의 무결성을 측정(Integrity Measurement)하고 제3자 원격 검증(Remote Attestation) 기능을 제공할 수 있다. 이 기능은 SHA1 해시 값을 측정하여 TPM내의 PCR(Platform Configuration Register)에 저장한 뒤, 해당 값을 원격 검증기/검증 서버로 레포팅하여 올바른 값이 생성되었는지 확인(검증) 받는 프로세서이다. 즉, 가상 머신 노드(N)(400)이 시동된 후 BIOS와 부트로더, 운용체제, 응용프로그램의 해시 값이 정상적으로 생성되었음을 신뢰된 검증 센터(VC(500)로부터 검증을 받음으로써 사용중인 기기가 안전한 플랫폼인지를 확인 받는 방법이다.
검증 센터(VC)(500)는 가상 머신 노드(N)(400)의 TPM을 통해 무결성을 검증 한다. 클라우드 컴퓨팅 환경에서 3자 원격 검증을 지원하여 가상 머신 노드(N)(400)의 무결성을 검증한다. 그리고 무결성이 검증된 가상 머신 노드(N)(400)와 사용자 단말(U)(100) 간에 안전한 통신을 수행할 수 있도록 암호 키(세션키(K= ))를 설정하여 분배한다.
이와 같이, 사용자 단말(U)(100)은 가상 머신을 설치하기 전에 가상 머신 노드(N)(400)의 무결성을 검증할 수 있고, 암호 키(세션키(K= ))를 이용하여 안전한 가상 머신의 설치를 제공받는다.
그러면, 본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서 가상 머신 설치의 안전성을 제공하는 방법에 대해서 세부적으로 살펴보기로 한다.
본 발명의 실시예에서 기술되는 다양한 기호에 대해 다음과 같이 정의한다.
■ 기호 정의
n: 검증 센터(VC)에서 발생하는 랜덤넘버(nonce)
SigAIK: 암호화 서명 함수(Sig)를 이용하여 공개키(AIK)로 암호화 서명
PEX(y): y를 X로 공개키 암호화 함수(PE)를 사용하여 연산한 결과인 공개키 암호화 값
EK_S: 가상 머신 노드(N)의 비밀키, EK_P: 가상 머신 노드(N)의 공개키
VC_S: 검증 센터(VC)의 비밀키, VC_P: 검증 센터(VC)의 공개키
도 2는 본 발명의 실시예에 따른 가상 머신 노드(N)의 무결성 검증 과정을 나타낸 흐름도이다.
즉 검증 센터(VC)(500)에서 가상 머신 노드(N)(400)의 무결성을 검증하는 과정을 나타낸다. 이때, TPM(Trusted Computing Module) 원격 검증 절차를 이용한다.
도 2를 참조하면, 가상 머신 노드(N)(400)는 검증 센터(VC)(500)에게 무결성 검증을 위한 검증 서비스를 요청한다(S101).
검증 센터(VC)(500)는 자체 생성한 논스(nonce, n)값과 함께 검증 요구 메시지를 가상 머신 노드(N)(400)에게 전송한다(S103). 여기서, n은 검증 센터(VC)(500)에서 생성한 160bit의 랜덤넘버를 말한다.
가상 머신 노드(N)(400)는 n, ML(measurement log)에 대한 PCR(Platform Configuration Register, 플랫폼 설정 레지스터)값을 기 저장된 공개키(AIK)로 암 호화 서명()을 수행한다(S105).
S105 단계에서 공개키 암호화 서명({), ML, 공개키 인증서( )를 응답 메시지를 통해 검증 센터(VC)(500)로 전송한다(S107). 여기서, PCR은 SHA1 이란 해시 함수의 무결성 값을 가지고 있으며, SHA1 함수에는 OS 부트로드 값과 다양한 소프트웨어 수행파일 값 및 DLL파일 등의 검증 값이 저장된다.
이때, 검증 센터(VC)(500)는 획득한 n이 S103 단계에서 전송한 n을 비교(S111)하여 일치 여부를 판단한다(S113).
일치하지 않는 경우, 공개키(AIK)가 신뢰할 수 없는 플랫폼 키인 것으로 추정한다(S115).
일치하는 경우, 공개키(AIK)가 신뢰할 수 있는 플랫폼 키인 것으로 인정한다(S117).
또한, 공개키(AIK)로 서명한 PCR 값의 무결성을 검증하고, 이 PCR 값이 ML에 대한 해시값임을 검증함으로써 가상 머신 노드(N)(400)이 신뢰할 수 있는 플랫폼임을 확인한다(S119).
그리고 검증 결과를 가상 머신 노드(N)(400)에게 전송한다(S121).
이와 같이, TPM을 통해 검증 센터(VC)(500)와 가상 머신 노드(N)(400)는 하드웨어적인 무결성을 검증하는 기능을 수행하여 컴퓨팅 플랫폼을 신뢰할 수 있도록 지원한다.
한편, S121 단계 이후 가상 머신 노드(N)(400)와 검증 센터(VC)(500) 간에 상호 가상 머신 노드(N)(400)의 공개키(EK_P) 및 검증 센터(VC)(500)의 공개키(VC_P)를 공유할 수 있다.
도 3은 본 발명의 실시예에 따른 사용자에게 안전한 가상 머신 설치를 제공하기 위한 암호 키 설정 과정을 나타낸 흐름도이다.
즉 도 2를 통해 무결성이 검증된 가상 머신 노드(N)(400)에 가상 머신 이미지(VMI)를 안전하게 설치하기 위한 암호 키를 설정하고 이를 이용하여 가상 머신 이미지(VMI)를 설치하는 과정을 나타낸다.
도 3을 참조하면, 사용자 단말(U)은 가상 머신 노드(N)(400)에게 안전한 가상 머신 설치 서비스를 요청하면서 자신의 DH 공개키()를 전송한다(S201). 이때, DH 공개키()는 사용자 단말(U)의 랜덤넘버 형태의 DH 개인키(a)를 이용하여 mod p=를 계산하여 획득한다. 여기서, g는 암호학적 생성함수(generator)를 말한다. 또한, p는 임의로 정해진 수이다. 즉 는 를 p 만큼 모듈러 연산하여 획득된다.
가상 머신 노드(N)(400)는 랜덤넘버 형태의 DH 개인키(b)를 생성(S203)하여 S201 단계에서 수신한 DH 공개키()에 DH 개인키(b)를 지수승하여 를 계산한다(S205).
가상 머신 노드(N)(400)는 자신의 TPM에 저장되어 있는 비밀키(EK_S)로S205 단계에서 계산한를 공개키 암호화()하여 DH 공개키()와 함께 검증 센터(VC)(500)로 전송하여 세션키 설정을 요청한다(S207).
검증 센터(VC)(500)는 랜덤넘버 형태의 DH 개인키(c)를 생성(S211)하여 S209 단계에서 획득한 에 자신의 DH 공개키()를 지수승하여 세션키(K=)를 계산한다(S213). 그리고 수신된 DH 공개키() 및 자신의 DH 공개키()를 이용하여 를 계산한다(S215).
검증 센터(VC)(500)는 세션키(K=)와 를 검증 센터(VC)(500)의 비밀키(VC_S)로 공개키 암호화(,)하여 가상 머신 노드(N)(400)에게 전송하여 세션키 설정 요청에 대해 응답한다(S217).
가상 머신 노드(N)(400)는 S219 단계에서 획득한 K와 S201 단계에서 수신한 DH 공개키()를 'one-way hash' 함수를 이용하여 해시값()을 연산한다(S221). 여기서, 'one-way hash'는 암호학적으로 사용되는 해시함수로서, SHA-1, MD5를 포함하는 알고리즘이 사용될 수 있다.
사용자 단말(U)(100)은 수신된 공개키 암호화 값()를 검증 센터(VC)(500)의 공개키(VC_P)로 복호화하여 를 획득한다(S225). 이때, 사용자 단말(U)(100)은 관리부(도 1의 300)에 클라우드 컴퓨팅 서비스를 이용하기 위해 최초 접속시 관리부(도 1의 300)로부터 공개키(VC_P)를 다운로드하여 저장할 수 있다.
일치하지 않으면, 검증에 실패하였으므로 지정된 프로세스를 수행한다(S233). 예컨대 안전한 가상 머신 설치 서비스를 다시 요청하는 즉 S201 단계부터 다시 시작할 수 있다.
일치하면, 가상 머신 이미지(VMI) 및 상기 가상 머신 이미지(VMI)의 해시 값(H(VMI))을 세션키(K)로 암호화()하여 가상 머신 노드(N)(400)에게 전송한다(S235).
그러면, 가상 머신 노드(N)(400)는 대칭키 암호화된 가상 머신 이미지()를 세션키(K)로 복호화하여 가상 머신 이미지(VMI)를 획득한 후, 이를 설치한다(S237). 그리고 해시값(H(VMI))을 이용하여 가상 머신 이미지(VMI)의 무결성을 검증한다(S239).
본 발명의 실시예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시예에 따른 안전한 가상 머신 설치를 제공하는 클라우드 컴퓨팅 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 가상 머신 노드(N)의 무결성 검증 과정을 나타낸 흐름도이다.
도 3은 본 발명의 실시예에 따른 사용자에게 안전한 가상 머신 설치를 제공하기 위한 암호 키 설정 과정을 나타낸 흐름도이다.
Claims (11)
- 클라우드 컴퓨팅 환경에서 사용자 단말(U)에게 안전한 가상 머신 설치를 제공하는 방법에 있어서,(a) 상기 사용자 단말(U)의 가상 머신이 설치될 가상 머신 노드(N)가 검증 센터(VC)로부터 TPM(Trusted Platform Module)을 이용하여 무결성을 검증받는 단계; 및(b) 상기 검증에 성공한 경우, 상기 검증 센터(VC)를 통해 상기 사용자 단말(U)과의 암호키를 설정하고 상기 암호키를 이용하여 암호화된 가상 머신 이미지를 상기 사용자 단말(U)로부터 수신하여 설치하는 단계를 포함하는 안전한 가상 머신 설치 제공 방법.
- 제2항에 있어서,상기 (b) 단계는,(b1) 상기 사용자 단말(U)로부터 수신한 상기 사용자 단말(U)의 DH 공개키() 및 상기 가상 머신 노드(N)의 DH 공개키()를 이용하여 계산한를 TPM에 저장되어 있는 상기 가상 머신 노드(N)의 비밀키(EK_S)로 공개키 암호화한 값()을 상기 DH 공개키()와 함께 상기 검증 센터(VC)로 전송하여 세션키 설정을 요청하는 단계;(b2) 상기 검증 센터(VC)로부터 수신한 세션키(K=)를 상기 사용자 단말(U)에게 전송하여 상기 사용자 단말(U)로부터 상기 세션키(K=)로 대칭키 암호화된 가상 머신 이미지를 수신하는 단계; 및
- 제3항에 있어서,상기 (b2) 단계는,를 포함하는 안전한 가상 머신 설치 제공 방법.
- 제5항에 있어서,상기 검증 센터(VC)의 공개키(VC_P) 또는 상기 가상 머신 노드(N)의 공개키(EK_P)는 상기 (a) 단계에서 서로 공유하는 안전한 가상 머신 설치 제공 방법.
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 (a) 단계는,상기 가상 머신 노드(N)가 상기 검증 센터(VC)에게 무결성 검증을 요청하여 상기 검증 센터(VC)에서 발생되는 랜덤넘버(n)를 상기 검증 센터(VC)로부터 수신하는 단계; 및상기 랜덤넘버(n) 및 ML(measurement log) 정보에 대한 PCR(Platform Configuration Register)값을 공개키(AIK)를 사용하여 암호화 서명 함수(Sig)로 연산한 암호화 서명(), 상기 ML 정보 및 공개키 인증서를 상기 검증 센터(VC)로 전송하는 단계를 포함하고,
- 클라우드 컴퓨팅 환경에서 사용자 단말(U)이 안전한 가상 머신 설치를 제공하는 방법에 있어서,(a) 상기 사용자 단말(U)이 상기 사용자 단말(U)의 가상 머신이 설치될 가상 머신 노드(N)에게 안전한 가상 머신 설치 서비스를 요청하는 단계; 및(b) 상기 가상 머신 노드(N)로부터 검증 센터(VC)를 통해 설정된 세션키를 수신하여 상기 세션키를 이용하여 암호화시킨 가상 머신 이미지를 상기 가상 머신 노드(N)로 전송하는 단계를 포함하는 안전한 가상 머신 설치 제공 방법.
- 제9항에 있어서,상기 (b) 단계는,(b1) 상기 DH 공개키 및 상기 검증 센터(VC)가 생성한 세션키(K=)를 기 정의된 해시함수를 사용하여 연산한 값() 및 공개키 암호화된 값()을 상기 가상 머신 노드(N)로부터 수신하는 단계;(b4) 상기 가상 머신 노드(N)로부터 수신한 해시값()과 상기 사용자 단말(U)이 연산한 해시값()이 일치하는 경우, 상기 세션키(K=)로 가상 머신 이미지(VMI)를 암호화하여 상기 가상 머신 노드(N)로 전송하는 단계를 포함하고,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090093352A KR20110035573A (ko) | 2009-09-30 | 2009-09-30 | 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090093352A KR20110035573A (ko) | 2009-09-30 | 2009-09-30 | 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110035573A true KR20110035573A (ko) | 2011-04-06 |
Family
ID=44043904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090093352A KR20110035573A (ko) | 2009-09-30 | 2009-09-30 | 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20110035573A (ko) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101107056B1 (ko) * | 2011-07-07 | 2012-01-25 | 이니텍(주) | 클라우드 컴퓨팅 환경에서 가상 머신의 보안 정보 처리 방법 |
KR101279392B1 (ko) * | 2011-09-08 | 2013-07-04 | 한국과학기술정보연구원 | 생명 정보 분석 파이프라인 처리 시스템 및 방법 |
KR20150110712A (ko) * | 2013-01-22 | 2015-10-02 | 아마존 테크놀로지스, 인크. | 보안 가상 머신 이송 |
KR101599995B1 (ko) * | 2014-12-08 | 2016-03-07 | 고려대학교 산학협력단 | 인증서 없는 비대화형 키 교환 방법 및 시스템 |
KR20170133463A (ko) * | 2015-08-07 | 2017-12-05 | 구글 엘엘씨 | 피어 투 피어 증명 |
US10063380B2 (en) | 2013-01-22 | 2018-08-28 | Amazon Technologies, Inc. | Secure interface for invoking privileged operations |
JP2020505700A (ja) * | 2017-01-24 | 2020-02-20 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 密封エンクレーブを用いたデータ密封 |
CN113986470A (zh) * | 2021-11-09 | 2022-01-28 | 四川大学 | 一种用户无感知的虚拟机批量远程证明方法 |
CN116049826A (zh) * | 2022-06-09 | 2023-05-02 | 荣耀终端有限公司 | 基于tpm的数据保护方法、电子设备及存储介质 |
CN117896065A (zh) * | 2024-03-15 | 2024-04-16 | 厦门工学院 | 基于云服务器与内核技术的远程协同防泄漏办公*** |
-
2009
- 2009-09-30 KR KR1020090093352A patent/KR20110035573A/ko not_active Application Discontinuation
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101107056B1 (ko) * | 2011-07-07 | 2012-01-25 | 이니텍(주) | 클라우드 컴퓨팅 환경에서 가상 머신의 보안 정보 처리 방법 |
KR101279392B1 (ko) * | 2011-09-08 | 2013-07-04 | 한국과학기술정보연구원 | 생명 정보 분석 파이프라인 처리 시스템 및 방법 |
US11228449B2 (en) | 2013-01-22 | 2022-01-18 | Amazon Technologies, Inc. | Secure interface for invoking privileged operations |
KR20150110712A (ko) * | 2013-01-22 | 2015-10-02 | 아마존 테크놀로지스, 인크. | 보안 가상 머신 이송 |
US10063380B2 (en) | 2013-01-22 | 2018-08-28 | Amazon Technologies, Inc. | Secure interface for invoking privileged operations |
KR101599995B1 (ko) * | 2014-12-08 | 2016-03-07 | 고려대학교 산학협력단 | 인증서 없는 비대화형 키 교환 방법 및 시스템 |
KR20170133463A (ko) * | 2015-08-07 | 2017-12-05 | 구글 엘엘씨 | 피어 투 피어 증명 |
JP2020505700A (ja) * | 2017-01-24 | 2020-02-20 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 密封エンクレーブを用いたデータ密封 |
CN113986470A (zh) * | 2021-11-09 | 2022-01-28 | 四川大学 | 一种用户无感知的虚拟机批量远程证明方法 |
CN113986470B (zh) * | 2021-11-09 | 2023-08-11 | 四川大学 | 一种用户无感知的虚拟机批量远程证明方法 |
CN116049826A (zh) * | 2022-06-09 | 2023-05-02 | 荣耀终端有限公司 | 基于tpm的数据保护方法、电子设备及存储介质 |
CN116049826B (zh) * | 2022-06-09 | 2023-10-13 | 荣耀终端有限公司 | 基于tpm的数据保护方法、电子设备及存储介质 |
CN117896065A (zh) * | 2024-03-15 | 2024-04-16 | 厦门工学院 | 基于云服务器与内核技术的远程协同防泄漏办公*** |
CN117896065B (zh) * | 2024-03-15 | 2024-05-10 | 厦门工学院 | 基于云服务器与内核技术的远程协同防泄漏办公*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11604901B2 (en) | Systems and methods for using extended hardware security modules | |
EP3382933B1 (en) | Using a trusted execution environment as a trusted third party providing privacy for attestation | |
US10530753B2 (en) | System and method for secure cloud computing | |
US10164778B2 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
KR20110035573A (ko) | 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 | |
US20130185564A1 (en) | Systems and methods for multi-layered authentication/verification of trusted platform updates | |
US20050283826A1 (en) | Systems and methods for performing secure communications between an authorized computing platform and a hardware component | |
CA2786975A1 (en) | System and method of enforcing a computer policy | |
CN107294710B (zh) | 一种vTPM2.0的密钥迁移方法及装置 | |
US11153074B1 (en) | Trust framework against systematic cryptographic | |
CN110874478A (zh) | 密钥处理方法及装置、存储介质和处理器 | |
CN109756492A (zh) | 基于sgx的云平台可信执行方法、装置、设备及介质 | |
WO2014185845A1 (en) | Procedure for platform enforced secure storage in infrastructure clouds | |
Johnston et al. | Recommendations for securing Internet of Things devices using commodity hardware | |
US9800410B1 (en) | Data encryption system and method | |
Chandni et al. | Establishing trust despite attacks in cloud computing: A survey | |
Kurnikov et al. | Keys in the clouds: auditable multi-device access to cryptographic credentials | |
WO2009109811A1 (en) | Platform security model for networking solution platforms | |
Bentajer et al. | Cryptographic key management issues in cloud computing | |
Hao et al. | Trusted block as a service: Towards sensitive applications on the cloud | |
KR20150089696A (ko) | 접근제어와 우선순위기반 무결성 검증 시스템 및 그 방법 | |
CN114124366A (zh) | 一种可信芯片的密钥生成方法及相关设备 | |
Galanou et al. | Matee: Multimodal attestation for trusted execution environments | |
WO2022162797A1 (ja) | 情報処理装置、プログラム実行システム、情報処理方法、及びプログラム | |
KR20100138684A (ko) | 인터넷 기반 컴퓨팅 환경에서 통신 플랫폼 무결성 검증 및 암호 키 설정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |