WO2013097209A1 - 一种加密方法、解密方法和相关装置及系统 - Google Patents

一种加密方法、解密方法和相关装置及系统 Download PDF

Info

Publication number
WO2013097209A1
WO2013097209A1 PCT/CN2011/085116 CN2011085116W WO2013097209A1 WO 2013097209 A1 WO2013097209 A1 WO 2013097209A1 CN 2011085116 W CN2011085116 W CN 2011085116W WO 2013097209 A1 WO2013097209 A1 WO 2013097209A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
encryption
client
encrypted
virtual machine
Prior art date
Application number
PCT/CN2011/085116
Other languages
English (en)
French (fr)
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 CN2011800035842A priority Critical patent/CN102726028A/zh
Priority to PCT/CN2011/085116 priority patent/WO2013097209A1/zh
Publication of WO2013097209A1 publication Critical patent/WO2013097209A1/zh

Links

Classifications

    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key

Definitions

  • the embodiments of the present invention relate to the field of computer technologies, and in particular, to an encryption method, a decryption method, and related devices and systems.
  • BACKGROUND With the maturity of cloud computing technologies, for example, in the cloud computing elastic computing rental scenario, more and more enterprise users put virtual machine (VM, Virtual Machine) system volumes on the cloud, so that enterprise users lose The control of the system volume, the security performance can not be guaranteed has become the biggest concern of enterprise users.
  • the security threats that exist may be: 1) The privileged user of the cloud service provider (such as an administrator) may unmount the system volume of the enterprise user to view the data. 2), hackers may also illegally invade users in the cloud, virtual machines to view user data, resulting in data leakage.
  • the embodiment of the invention provides an encryption method, a decryption method and a related device and system, which are used for security protection of a system volume in a user's virtual machine.
  • the encryption method of the system volume in the virtual machine provided by the embodiment of the present invention includes: the encryption client sends a key application request message to the key management system, so that the key management system requests the message according to the key. Generate an encryption key;
  • the encryption client receives a key application response message sent by the key management system, and the key application response message includes the encryption key;
  • the encryption client encrypts the system volume in the virtual machine according to the encryption key.
  • the method for decrypting the system volume in the virtual machine includes: the encryption client decrypts the encrypted encryption key;
  • the encrypted client performs a system volume in the encrypted virtual machine according to the decrypted encryption key. Decrypt.
  • an encryption client provided by the embodiment of the present invention includes:
  • a sending unit configured to send a key application request message to the key management system, so that the key management system generates an encryption key according to the key application request message;
  • a receiving unit configured to receive a key application response message sent by the key management system, where the key application response message includes the encryption key
  • an encryption unit configured to encrypt the system volume in the virtual machine according to the encryption key.
  • the encryption system of the system volume in the virtual machine provided by the embodiment of the present invention includes: the encryption client includes:
  • a sending unit configured to send a key application request message to the key management system, so that the key management system generates an encryption key according to the key application request message;
  • a receiving unit configured to receive a key application response message sent by the key management system, where the key application response message includes the encryption key
  • an encryption unit configured to encrypt the system volume in the virtual machine according to the encryption key.
  • the key management system includes:
  • a transceiver unit configured to receive a key application request message sent by the encryption client, a key generation unit, configured to generate an encryption key according to the key application request message, and the transceiver unit is configured to send the encryption
  • the client sends a key application response message, and the key application response message includes the encryption key.
  • another encryption client provided by the embodiment of the present invention includes:
  • a key decrypting unit configured to decrypt the encrypted encryption key
  • the system volume decryption unit is configured to decrypt the system volume in the encrypted virtual machine according to the decrypted encryption key.
  • the embodiments of the present invention have the following advantages:
  • the encryption client obtains an encryption key from the key application response message, and encrypts the system volume in the virtual machine according to the encryption key, because the virtual machine in the embodiment of the present invention
  • the system volume in the encryption is encrypted to secure the system volume in the user's virtual machine.
  • the encrypted client first decrypts the encrypted encryption key, and then decrypts the system volume in the encrypted virtual machine with the decrypted encryption key, because in the virtual machine.
  • the encryption key must be decrypted to use the decrypted encryption key.
  • the key decrypts the system volume to ensure that the system volume in the user's virtual machine can be used only after decryption, which avoids the leakage of the system volume and is beneficial to the security of the system volume in the user's virtual machine.
  • FIG. 1 is a schematic diagram of an embodiment of a method for encrypting a system volume in a virtual machine according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of an interaction process between an encryption client and a key management system according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of an embodiment of a method for decrypting a system volume in a virtual machine according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of an encryption client according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an encryption system of a system volume in a virtual machine according to an embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of another encryption client according to an embodiment of the present invention. detailed description
  • the embodiment of the invention provides an encryption method, a decryption method and a related device and system, which are used for security protection of a system volume in a user's virtual machine.
  • an embodiment of a method for encrypting a system volume in a virtual machine includes the following steps:
  • the encryption client sends a key application request message to the key management system, so that the key management system generates an encryption key according to the key application request message.
  • the encryption client sends a key application request message to the key management system to request the key management system to allocate an encryption key.
  • the user may The encrypted volume command is issued to the encrypted client, so that the encrypted client encrypts the system volume in the virtual machine to implement security protection on the system volume in the user's virtual machine.
  • the encryption client implements the security protection of the system volume in the user's virtual machine.
  • the encryption client can be deployed in the user's virtual machine.
  • the key management system can be called.
  • a system for generating a key for protecting data security which may be deployed in the cloud or in a user's own virtual machine, which may be determined by the user.
  • the key management system After the key management system receives the key application request message from the encrypted client, the key management system generates an encryption key (EK, Encryption Key) according to the key application request message, and then the generated key is generated by the key management system. Carrying in the key application response message, the key management system sends a key application response message to the encrypted client.
  • EK Encryption Key
  • the system volume described in the embodiment of the present invention is relative to the data volume in the virtual machine.
  • the data volume refers to a volume used by the user to store data, pictures, and the like in the virtual machine, and the system volume. It can refer to the volume used by the operating system installed in the virtual machine.
  • the system volume can also include the virtual machine pre-boot operating system. In practical applications, the operating system of the virtual machine and the pre-boot operating system can be collectively referred to as volume data.
  • the encryption client receives a key application response message sent by the key management system, where the key application response message includes an encryption key.
  • the encryption client receives the key application response message sent by the key management system, and through the key application response message, the encryption client can extract the encryption key generated by the key management system for the encrypted client.
  • the key management system after the key management system sends the key application response message to the encrypted client, the key management system is to protect the security of the encryption key generated by the key management system.
  • the generated encryption key is encrypted and stored, and the encryption key is sent to the encryption client according to the request of the encryption client, that is, the key management system cannot directly save the encryption key in the form of plaintext, but is encrypted and used as the ciphertext.
  • the key management system encrypts and stores the encryption key, including:
  • the key management system generates a root key (RK, Rook Key), and the key management system encrypts and stores the encryption key according to the root key.
  • the key management system may use a key derivation function (KDF, Key Derivation Function) to encrypt the encryption key according to the root key.
  • KDF Key Derivation Function
  • the KDF used by the key management system can be an Advanced Encryption Standard (AES) algorithm.
  • AES Advanced Encryption Standard
  • the method further includes: the key management system saves the root key on the hardware chip; or, the key management The system splits the root key into multiple parts, which are stored in different locations in the key management system.
  • the key management system divides the root key RK into two parts, RK1 and RK2, respectively, and saves the two parts in two different places in the key management system to increase security.
  • the encryption client encrypts the system volume in the virtual machine according to the encryption key.
  • the encryption client After obtaining the encryption key assigned by the key management system, the encryption client can encrypt the system volume in the virtual machine according to the encryption key to achieve security protection.
  • the encryption client encrypts the system volume in the virtual machine with the encryption key and saves it in the cloud to ensure the security of the system volume.
  • the encryption client encrypts the system volume.
  • the encryption client can be:
  • the operating system of the virtual machine is encrypted according to the encryption key.
  • the encryption client encrypts and protects the operating system (OS, Operating System) of the entire virtual machine (VM, Virtual Machine).
  • OS Operating System
  • VM Virtual Machine
  • the applications loaded in the virtual machine can be encrypted and protected. In this way, the encrypted operating system is placed in the cloud to ensure data security and avoid data leakage.
  • the method may further include: encrypting the client storage encryption key, so that the encryption client starts again.
  • the system volume in the virtual machine is decrypted by using the stored encryption key, that is, if needed in the future, the original encryption key can be decrypted first according to the request of the encryption client, and then the encryption key is sent to the encryption client.
  • the encryption client may perform the encryption key after the encryption client encrypts the system volume of the virtual machine according to the encryption key, in order to ensure the security of the encryption key to avoid illegal acquisition by the malicious person.
  • Encrypted storage that is, the encryption key is encrypted and then saved, instead of being saved as a plaintext.
  • the encryption client can encrypt and store the encryption key in multiple implementation manners, one of the implementation manners may include the following Steps:
  • the encrypted client obtains the user's authentication key
  • the encryption client encrypts the encryption key according to the authentication key
  • the encryption client saves the encrypted encryption key in the area of the pre-boot operating system.
  • the encrypted client first obtains the user's authentication key (AK, Authentication). Key ), there is a user in each virtual machine, each user has a corresponding authentication key, which is usually stored securely in the active directory (AD, Active Directory) server (Server), and the encrypted client can be used.
  • the authentication key is obtained by the user manually inputting the authentication key.
  • the authentication client can also obtain the authentication key by interacting with the AD server.
  • the encryption client may encrypt the encryption key according to the authentication key, and the encryption client may use a key derivation function (KDF, Key Derivation Function) to authenticate the authentication key.
  • KDF Key Derivation Function
  • the encryption client saves the encrypted encryption key in the area of the Preboot operating system (OS, Operate System), and the pre-boot operating system is actually a
  • OS Operate System
  • the pre-boot operating system is actually a
  • the pre-boot operating system can be pre-configured for the VM.
  • the system volume on the virtual machine can be divided into two parts: Preboot OS, VM OS, in order to ensure the system can start normally, Preboot OS must be saved in plain text; to ensure data security in VM, VM OS ( The included application must be encrypted and saved.
  • the pre-boot operating system is configured in the cloud virtual machine. The pre-boot operating system is used to authenticate the user before the virtual machine starts.
  • the encryption client protects the authentication key
  • the encryption client saves the protected authentication key.
  • the encrypted client performs hash algorithm processing on the AK to obtain HASH (AK), and then HASH (AK M stays in the Preboot OS, for example, the encrypted client can also The plaintext encrypts the AK and then stores the encrypted AK in the Preboot OS area.
  • the encryption client obtains an encryption key from the key application response message, and encrypts the system volume in the virtual machine according to the encryption key, and finally encrypts the encryption key.
  • Storage because the system volume in the virtual machine is encrypted in the embodiment of the present invention, the security of the system volume in the virtual machine of the user can be guaranteed.
  • the flow chart of the interaction between the encryption client and the key management system includes:
  • the user issues an encrypted volume instruction to the encrypted client.
  • the encryption client sends a key application request message to the key management system.
  • the key management system generates an encryption key according to the key application request message.
  • the key management system sends a key application response message to the encryption client, where the key application response message includes an encryption key.
  • the encryption client encrypts the system volume in the virtual machine according to the encryption key.
  • the encryption client encrypts and stores the encryption key.
  • the key management system encrypts and stores the encryption key.
  • the encryption client obtains an encryption key by interacting with the key management system, and then the encryption client encrypts the system volume in the virtual machine, and finally the encryption client and the key management system both encrypt the key. Encrypted storage ensures the security of the system volume in the user's virtual machine.
  • the above embodiment describes the encryption method of the system volume in the virtual machine provided by the embodiment of the present invention.
  • the decryption method corresponding to the encryption method is introduced. Referring to FIG. 3, the system volume in the virtual machine provided by the embodiment of the present invention is shown.
  • the decryption methods include:
  • the encryption client decrypts the encrypted encryption key
  • the system volume is encrypted and stored in the cloud.
  • the user can issue a decryption volume instruction to the encrypted client, so that the encrypted client is encrypted.
  • the system volume is decrypted, and after the encryption client obtains the decryption volume command from the user side, the encryption key is also encrypted and stored according to the foregoing encryption method. Therefore, in the embodiment of the present invention, the encryption client needs to use the encryption key.
  • the key decrypts the system volume, and the encrypted client first needs to decrypt the encrypted encryption key.
  • the encryption client decrypts the encrypted encryption key EK including:
  • the encrypted client receives the authentication key input by the user; B3.
  • the encryption client decrypts the encrypted encryption key according to the authentication key to obtain an encryption key of the plaintext.
  • step B1 the encryption key is encrypted and stored in the area of the pre-boot operating system.
  • the encrypted client needs to load the pre-boot operating system first, the user inputs the user name and the authentication key, and then performs step B2 to encrypt the client receiving the user.
  • the method further includes the following steps: the encryption client protects the authentication key, and compares the protection authentication key with the pre-stored protected authentication key. If they are consistent, the user authentication passes, and then the step B3 is triggered. If the user does not pass the authentication, the user refuses to perform step B3.
  • the foregoing authentication process for the user is:
  • the encryption client processes the AK by a hash algorithm to obtain HASH (AK), and then HASH (AK) Pre-stored in Preboot OS, the encrypted client first calculates HASH(AK) according to the AK input by the user, and compares it with HASH(AK) stored in advance in the hidden area. If it is consistent, the user authentication passes.
  • the AK is encrypted when the encryption client performs protection processing on the authentication key, the AK input by the user needs to be encrypted, and then the AK encrypted result input by the user is compared with the previously stored encrypted AK. AK, if they are consistent, the user authentication passes.
  • the method may further include the step of: the encryption client saves the authentication key in the memory of the pre-boot operating system.
  • the encryption client saves the authentication key in the memory of the pre-boot operating system.
  • the authentication key input by the user may be used in the embodiment of the present invention.
  • the encryption client decrypts the system volume in the encrypted virtual machine according to the decrypted encryption key.
  • the encryption client decrypts the encrypted encryption key
  • the encryption client decrypts the system volume in the encrypted virtual machine according to the decrypted encryption key
  • the specific decryption algorithm may be adopted.
  • the encryption algorithm is different.
  • the encrypted client decrypts the system volume in the encrypted virtual machine according to the decrypted encryption key. Specifically, the encryption client decrypts the operating system of the encrypted virtual machine according to the decrypted encryption key. If the volume data further includes an application on the virtual machine, the encrypted client decrypts the operating system of the entire virtual machine and the application loaded on the virtual machine according to the encrypted encryption key, and the decrypted operating system can be User login is used.
  • the encryption key is first decrypted by the encryption client, and then the decrypted encryption key is used to decrypt the system volume in the encrypted virtual machine due to the system in the virtual machine.
  • the encryption key must be decrypted, and then the decrypted encryption key is used to decrypt the system volume. This ensures that the system volume in the user's virtual machine can be used only after decryption, thus avoiding the leakage of the system volume. , is beneficial to the security of the system volume in the user's virtual machine.
  • the method for decrypting the system volume in the virtual machine provided by the embodiment of the present invention is introduced in the following, and the method for decrypting the system volume including the operating system in the virtual machine is described, which includes:
  • VxBIOS virtual basic input and output system
  • Preboot OS Preboot OS
  • the encrypted client loads the Preboot OS into the memory, executes the Preboot OS, displays the user input interface, and the user enters the authentication information (user name, AK).
  • the encrypted client calculates HASH(AK) according to the AK input by the user, and compares it with the HASH (AK) stored in advance in the hidden area. If the agreement is the same, the user passes the authentication in the Preboot OS.
  • the encryption client decrypts the encrypted encryption key EK" by using the AK input by the user to obtain the encryption key EK.
  • the encrypted client uses the EK decryption operating system to obtain the original unencrypted VM OS.
  • the encrypted client loads the VM OS and passes (username, AK) as a boot parameter to the VM OS.
  • the VM OS starts normally and automatically logs in. It does not need to be entered again (username, AK). This enables single sign-on.
  • an encryption client 400 includes:
  • the sending unit 401 is configured to send a key application request message to the key management system, so that the key management system generates an encryption key according to the key application request message;
  • the receiving unit 402 is configured to receive a key application response message sent by the key management system, where the key application response message includes an encryption key;
  • the encryption unit 403 is configured to encrypt the system volume in the virtual machine according to the encryption key.
  • the encryption client 400 may further include: a storage unit 404, configured to store an encryption key, so that when the encryption client is started again, the virtual The system volume in the machine is decrypted.
  • the encryption unit 403 may be specifically configured to encrypt the operating system of the virtual machine according to the encryption key.
  • the storage unit 404 may specifically include (not shown in FIG. 4):
  • An obtaining module configured to obtain an authentication key of the user
  • a key encryption module configured to encrypt the encryption key according to the authentication key
  • a save module for saving the encrypted encryption key in an area of the pre-boot operating system.
  • the key encryption module is further configured to perform protection processing on the authentication key
  • the saving module is further configured to save the protection-processed authentication key in an area of the pre-boot operating system.
  • the receiving unit obtains an encryption key from the key application response message, and the encryption unit encrypts the system volume in the virtual machine according to the encryption key, because the virtual machine in the embodiment of the present invention
  • the system volume in the encryption is encrypted to secure the system volume in the user's virtual machine.
  • the encryption system 500 of the system volume in the virtual machine includes: an encryption client 501 and a key management system 502, where
  • the encryption client 501 may specifically be the encryption client 400 as described in the foregoing embodiment;
  • the key management system 502 includes:
  • the transceiver unit 5021 is configured to receive a key application request message sent by the encryption client.
  • the key generation unit 5022 is configured to generate an encryption key according to the key application request message.
  • the transceiver unit 5021 is further configured to send the encryption to the encryption client.
  • a key application response message where the key application response message includes an encryption key.
  • the key management system 502 provided by the embodiment of the present invention may further include: an encryption storage unit 5023, configured to encrypt an encryption key generated by the key management system 502 by itself, according to the encrypted client. Request to send an encryption key to the encrypted client.
  • the encryption storage unit 5023 may be specifically configured to: generate a root key, and encrypt and store the encryption key according to the root key.
  • an encryption key is obtained from the key management system by the encryption client, and the system volume in the virtual machine is encrypted according to the encryption key, because the virtual machine is in the virtual machine in the embodiment of the present invention.
  • the system volume is encrypted to secure the system volume in the user's virtual machine.
  • the above embodiment introduces a corresponding device using the encryption method of the system volume in the virtual machine.
  • the corresponding device using the decryption method of the system volume in the virtual machine is introduced.
  • the encryption client 600 includes:
  • a key decryption unit 601 configured to decrypt the encrypted encryption key
  • the system volume decryption unit 602 is configured to decrypt the system volume in the encrypted virtual machine according to the decrypted encryption key.
  • the key decryption unit 601 may specifically include (not shown in FIG. 6):
  • a loading module a pre-boot operating system for loading a virtual machine
  • a receiving module configured to receive an authentication key input by a user
  • the key decryption module is configured to decrypt the encrypted storage encryption key according to the authentication key.
  • the key decryption unit may further include: an authentication module, configured to perform protection processing on the authentication key, and compare the protected authentication key with an authentication key stored in advance for protection processing, if If the user authentication is passed, the trigger key decryption module executes.
  • an authentication module configured to perform protection processing on the authentication key, and compare the protected authentication key with an authentication key stored in advance for protection processing, if If the user authentication is passed, the trigger key decryption module executes.
  • the encrypted decryption unit first decrypts the encrypted encryption key, and then the system volume decryption unit decrypts the system volume in the encrypted virtual machine with the decrypted encryption key. Since the encryption key must be decrypted when the system volume in the virtual machine is decrypted, and then the decrypted encryption key is used to decrypt the system volume, the system in the user's virtual machine can be guaranteed. The system can only be used after decryption, which avoids the leakage of the system volume and is beneficial to the security of the system volume in the user's virtual machine.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.
  • the units described as separate components may or may not be physically separate, and the components displayed as the units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the above software functional units are stored in a storage medium and include a number of instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform part of the steps of the method of the various embodiments of the present invention.
  • the foregoing storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (Read-Only Memory), a random access memory (RAM), a disk or an optical disk, and the like.
  • the medium of the program code includes: a USB flash drive, a mobile hard disk, a read-only memory (Read-Only Memory), a random access memory (RAM), a disk or an optical disk, and the like.

Landscapes

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

Abstract

一种加密方法、解密方法和相关装置及系统,其中加密方法包括:加密客户端向密钥管理系统发送密钥申请请求消息以使所述密钥管理系统根据所述密钥申请请求消息生成加密密钥;所述加密客户端接收所述密钥管理系统发送的密钥申请响应消息,所述密钥申请响应消息包括所述加密密钥;所述加密客户端根据所述加密密钥对虚拟机中的系统卷进行加密。

Description

技术领域
本发明实施例涉及计算机技术领域, 尤其涉及一种加密方法、解密方法和 相关装置及系统。 背景技术 随着云计算技术的成熟, 例如在云的弹性计算出租场景下,越来越多的企 业用户将虚拟机 ( VM, Virtual Machine ) 的系统卷放在云上, 这样企业用户 就失去了对系统卷的控制, 安全性能不能得到保证成为了企业用户最大的疑 虑。 存在的安全威胁可能有: 1 )、 云服务商的特权用户 (例如管理员)可能非 法挂载企业用户的系统卷从而查看数据。 2 )、黑客也可能非法入侵云中的用户 虚拟机从而查看用户的数据,造成数据泄漏。 这些疑虑也是企业用户将系统卷 迁移到云端的最大障碍, 为了推动云计算的进一步普及应用,如何保障企业用 户的虚拟机系统卷的安全, 以消除企业用户的这个疑虑, 成为业界亟待解决的 难题之一。 发明内容
本发明实施例提供了一种加密方法、解密方法和相关装置及系统, 用于对 用户的虚拟机中的系统卷进行安全保护。
一方面, 本发明实施例提供的虚拟机中系统卷的加密方法, 包括: 加密客户端向密钥管理系统发送密钥申请请求消息以使所述密钥管理系 统根据所述密钥申请请求消息生成加密密钥;
所述加密客户端接收所述密钥管理系统发送的密钥申请响应消息,所述密 钥申请响应消息包括所述加密密钥;
所述加密客户端根据所述加密密钥对虚拟机中的系统卷进行加密。
另一方面, 本发明实施例提供的虚拟机中系统卷的解密方法, 包括: 加密客户端对加密的加密密钥进行解密;
所述加密客户端根据解密后的加密密钥对加密的虚拟机中的系统卷进行 解密。
另一方面, 本发明实施例提供的一种加密客户端, 包括:
发送单元, 用于向密钥管理系统发送密钥申请请求消息, 以使所述密钥管 理系统根据所述密钥申请请求消息生成加密密钥;
接收单元, 用于接收所述密钥管理系统发送的密钥申请响应消息, 所述密 钥申请响应消息包括所述加密密钥;
加密单元, 用于根据所述加密密钥对虚拟机中的系统卷进行加密。
另一方面, 本发明实施例提供的虚拟机中系统卷的加密系统, 包括: 所述加密客户端包括:
发送单元, 用于向密钥管理系统发送密钥申请请求消息, 以使所述密钥管 理系统根据所述密钥申请请求消息生成加密密钥;
接收单元, 用于接收所述密钥管理系统发送的密钥申请响应消息, 所述密 钥申请响应消息包括所述加密密钥;
加密单元, 用于根据所述加密密钥对虚拟机中的系统卷进行加密。
所述密钥管理系统包括:
收发单元, 用于接收所述加密客户端发送的密钥申请请求消息; 密钥生成单元, 用于根据所述密钥申请请求消息生成加密密钥; 所述收发单元, 用于向所述加密客户端发送密钥申请响应消息, 所述密钥 申请响应消息包括所述加密密钥。
另一方面, 本发明实施例提供的另一种加密客户端, 包括:
密钥解密单元, 用于对加密的加密密钥进行解密;
系统卷解密单元,用于根据解密后的加密密钥对加密的虚拟机中的系统卷 进行解密。
从以上技术方案可以看出, 本发明实施例具有以下优点:
在本发明的一实施例中,由加密客户端从密钥申请响应消息中得到加密密 钥, 并根据该加密密钥对虚拟机中的系统卷进行加密, 由于本发明实施例中对 虚拟机中的系统卷进行了加密, 能够保障用户的虚拟机中系统卷的安全。
在本发明另一实施例中, 由加密客户端首先对加密的加密密钥进行解密, 然后再用解密后的加密密钥对加密的虚拟机中的系统卷进行解密,由于在对虚 拟机中的系统卷进行解密时,必须对加密密钥解密才能用这个解密后的加密密 钥对系统卷进行解密,能够保障用户的虚拟机中的系统卷只有解密后才能够使 用, 避免了系统卷的泄露, 有利于用户的虚拟机中系统卷的安全。 附图说明
图 1 为本发明实施例提供的虚拟机中系统卷的加密方法的一个实施例示 意图;
图 2 为本发明实施例提供的加密客户端和密钥管理系统之间的交互流程 示意图;
图 3 为本发明实施例提供的虚拟机中系统卷的解密方法的一个实施例示 意图;
图 4为本发明实施例提供的一种加密客户端的结构示意图;
图 5为本发明实施例提供的虚拟机中系统卷的加密系统的示意图; 图 6为本发明实施例提供的另一种加密客户端的结构示意图。 具体实施方式
本发明实施例提供了一种加密方法、解密方法和相关装置及系统, 用于对 用户的虚拟机中的系统卷进行安全保护。
为使得本发明的发明目的、 特征、优点能够更加的明显和易懂, 下面将结 合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、 完整地描 述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。 基于本发明中的实施例, 本领域的技术人员所获得的所有其他实施例,都属于 本发明保护的范围。
请参阅图 1 , 本发明实施例提供的虚拟机中系统卷的加密方法的一个实施 例, 包括如下步骤:
101、 加密客户端向密钥管理系统发送密钥申请请求消息, 以使密钥管理 系统根据密钥申请请求消息生成加密密钥。
在本发明实施例中, 加密客户端向密钥管理系统发送密钥申请请求消息, 以向密钥管理系统请求分配加密密钥, 在实际应用中, 当用户需要对虚拟机加 密时, 用户可以向加密客户端下达加密卷指令, 以使加密客户端对虚拟机中的 系统卷加密, 实现对用户的虚拟机中系统卷的安全保护。 需要说明的是,加密客户端实现对用户的虚拟机中系统卷的安全保护,加 密客户端可以部署在用户的虚拟机中, 当用户需要对系统卷加密时可以调用, 密钥管理系统是能够产生密钥以用于保护数据安全的系统,具体可以部署在云 端, 也可以部署在用户自己的虚拟机中, 具体可以由用户需要来决定。
密钥管理系统从加密客户端接收到密钥申请请求消息之后,密钥管理系统 根据该密钥申请请求消息生成加密密钥 (EK, Encryption Key ), 然后密钥管 理系统将生成的加密密钥携带在密钥申请响应消息中,密钥管理系统向加密客 户端发送密钥申请响应消息。
需要说明的是,本发明实施例中描述的系统卷是相对于虚拟机中的数据卷 来说的, 比如数据卷指的是用户在虚拟机中存储资料、 图片等所使用的卷, 系 统卷可以指的是虚拟机中安装的操作系统所使用的卷,系统卷除了包括虚拟机 中, 系统卷还可以包括虚拟机预启动操作系统。 在实际应用中, 虚拟机的操作 系统和预启动操作系统都可以统称之为卷数据。
102、 加密客户端接收密钥管理系统发送的密钥申请响应消息, 其中, 密 钥申请响应消息包括加密密钥。
加密客户端接收密钥管理系统发送的密钥申请响应消息,通过该密钥申请 响应消息,加密客户端就可以提取出密钥管理系统为加密客户端生成的加密密 钥。
需要说明的是,在本发明实施例中, 当密钥管理系统为加密客户端发送密 钥申请响应消息之后, 为了保证密钥管理系统生成的加密密钥的安全性, 密钥 管理系统对自己生成的加密密钥进行加密存储,根据加密客户端的请求向加密 客户端发送所述加密密钥,即密钥管理系统不能够以明文的形式直接保存加密 密钥, 而是加密后作为密文来保存, 在实际应用中, 密钥管理系统对加密密钥 进行加密存储包括: 密钥管理系统生成根密钥(RK, Rook Key), 密钥管理系 统根据根密钥对加密密钥进行加密存储,密钥管理系统可以采用密钥推导函数 ( KDF , Key Derivation Function )根据根密钥加密加密密钥, 例如, 加密前的 明文为 EK, 则采用 RK加密后得到的密文 EK,=KDF(RK, EK), 密钥管理系统 采用的 KDF具体可以为高级加密标准( AES , Advanced Encryption Standard ) 算法。 另外, 为了防止恶意者非法获取根密钥, 密钥管理系统根据根密钥对加密 密钥进行加密存储之后,还包括: 密钥管理系统将根密钥保存在硬件芯片;或, 密钥管理系统将根密钥拆分成多个部分,分別保存在密钥管理系统中的不同位 置。 例如, 密钥管理系统将根密钥 RK划分为两个部分, 分別为 RK1、 RK2, 分別将这两个部分保存在密钥管理系统中两个不同的地方, 以增加安全性,再 需要根密钥时通过一定的算法来根据 RK1、 RK2恢复出 RK, 例如 RK=RK1II RK2。
103、 加密客户端根据加密密钥对虚拟机中的系统卷进行加密。
在获取到密钥管理系统分配的加密密钥之后,加密客户端就可以根据该加 密密钥对虚拟机中的系统卷进行加密, 以达到安全保护的目的。
加密客户端采用加密密钥对虚拟机中的系统卷加密,保存在云端, 以使用 户对系统卷的安全放心,在实际应用中,加密客户端对系统卷进行加密具体可 以为: 加密客户端根据加密密钥对虚拟机的操作系统进行加密, 例如加密客户 端将整个虚拟机 ( VM, Virtual Machine )的操作系统( OS, Operating System ) 都进行加密保护, 需要说明的是, 加密客户端对 VM OS进行加密保护之外还 可以对虚拟机中装载的应用程序都进行加密保护, 这样,加密之后的操作系统 放在云端, 能够保证数据安全, 避免数据泄漏。
需要说明的是,在本发明实施例中,加密客户端根据加密密钥对虚拟机中 的系统卷进行加密之后, 还可以包括: 加密客户端存储加密密钥, 以使加密客 户端再次启动时, 利用存储的加密密钥对虚拟机中的系统卷进行解密, 即以便 将来需要时, 可以根据加密客户端的请求首先解密得到原始的加密密钥, 然后 向加密客户端发送加密密钥。在本发明实施例中,加密客户端根据加密密钥对 虚拟机的系统卷进行加密之后,为了保证加密密钥的安全性以避免被恶意者的 非法获取,加密客户端可以对加密密钥进行加密存储, 即加密密钥被加密后再 保存, 而不是作为明文来保存, 在实际应用中, 加密客户端可以采用多种实现 方式对加密密钥进行加密存储, 其中一种实现方式可以包括如下步骤:
Al、 加密客户端获取用户的认证密钥;
A2、 加密客户端根据认证密钥对加密密钥进行加密;
A3、 加密客户端将加密后的加密密钥保存在预启动操作系统的区域中。 对于步骤 A1 , 加密客户端首先获取用户的认证密钥(AK, Authentication Key ), 在每个虚拟机中都对应有用户, 每个用户都有一个对应的认证密钥, 通常安全存储在活动目录(AD, Active Directory )服务端(Server ) 中, 加密 客户端可以采用由用户自己人工输入认证密钥的方式,也可以由加密客户端与 AD Server交互的方式来获取到认证密钥。
对于步骤 A2, 加密客户端获取到认证密钥之后, 加密客户端可以根据该 认证密钥对加密密钥进行加密, 加密客户端可以采用密钥推导函数(KDF, Key Derivation Function )才艮据认证密钥加密加密密钥, 例如, 力口密前的明文为 EK , 则利用 AK加密 EK后得到的密文 EK"=KDF(AK, EK) , 加密客户端采用 的 KDF具体可以为高级加密标准( AES, Advanced Encryption Standard )算法, 需要说明的是,在本发明实施例中,也可以不采用认证密钥对加密密钥进行加 密, 而采用其它的密钥来加密,但是使用现有技术已经存在的认证密钥进行加 密, 可以减少对原有系统做较大改进, 能更好的兼容现有的操作系统。
对于步骤 A3, 加密客户端对加密密钥加密之后, 加密客户端将加密的加 密密钥保存在预启动 (Preboot )操作系统(OS, Operate System ) 的区域中, 预启动操作系统实际上是一个很小的操作系统,是虚拟机中的隐藏区域, 主要 用于完成对 VM OS启动之前的一些预处理工作, 例如输入解密 VM OS的密 码, 对用户进行认证等。 在本发明实施例中, 可以为 VM预先配置此预启动操 作系统。 在实际应用中, 虚拟机上的系统卷实际上可以划分为两个部分: Preboot OS, VM OS, 为保证系统能正常启动, Preboot OS必须明文保存; 为 保证 VM中数据安全性, VM OS (包含应用程序)必须加密保存, 其中, 预启 动操作系统配置在云端的虚拟机中,预启动操作系统用于在虚拟机启动前对用 户进行认证。
需要说明的是, 在步骤 A2完成之后, 为了进一步的保证认证密钥的安全 性, 还可以包括如下步骤: 加密客户端对认证密钥进行保护处理, 加密客户端 将保护后的认证密钥保存在预启动操作系统的区域中, 例如, 加密客户端对 AK进行哈希算法处理,得到 HASH( AK ) ,然后将 HASH( AK M呆存在 Preboot OS之中, 又如, 加密客户端还可以对明文为 AK进行加密处理, 然后将加密 后的 AK保存在 Preboot OS的区域之中。
在本发明实施例中, 由加密客户端从密钥申请响应消息中得到加密密钥, 并根据该加密密钥对虚拟机中的系统卷进行加密,最后对加密密钥也进行加密 存储, 由于本发明实施例中对虚拟机中的系统卷进行了加密, 能够保障用户的 虚拟机中系统卷的安全。
接下来以一个详细的应用场景来介绍本发明实施例提供的虚拟机中系统 卷的加密方法,如图 2所示,为加密客户端和密钥管理系统之间的交互流程图, 包括:
201、 用户向加密客户端下达加密卷指令;
202、 加密客户端向密钥管理系统发送密钥申请请求消息;
203、 密钥管理系统根据该密钥申请请求消息生成加密密钥;
204、 密钥管理系统向加密客户端发送密钥申请响应消息, 密钥申请响应 消息包括加密密钥;
205、 加密客户端根据该加密密钥对虚拟机中的系统卷进行加密;
206、 加密客户端对加密密钥进行加密存储;
207、 密钥管理系统对加密密钥进行加密存储。
在本发明实施例中, 由加密客户端通过和密钥管理系统交互得到加密密 钥, 然后加密客户端对虚拟机中系统卷进行加密, 最后加密客户端和密钥管理 系统都对加密密钥进行加密存储, 能够保障用户的虚拟机中系统卷的安全。
以上实施例介绍本发明实施例提供的虚拟机中系统卷的加密方法,接下来 介绍与该加密方法相对应的解密方法,请参阅图 3所示, 本发明实施例提供的 虚拟机中系统卷的解密方法包括:
301、 加密客户端对加密的加密密钥进行解密;
在本发明实施例中, 系统卷加密后被保存在云端, 当用户需要使用虚拟机 时用户从云端获取系统卷, 则用户可以向加密客户端下达解密卷指令, 以使加 密客户端对加密后的系统卷进行解密,加密客户端从用户侧得到解密卷指令之 后, 根据前述的加密方法, 加密密钥也已经被加密存储了, 所以在本发明实施 例中,加密客户端若需要使用加密密钥对系统卷进行解密, 则加密客户端首先 需要对加密的加密密钥进行解密。
需要说明的是, 若加密的加密密钥保存在预启动操作系统的区域中,加密 客户端对加密的加密密钥 EK进行解密包括:
Bl、 加密客户端加载虚拟机的预启动操作系统;
B2、 加密客户端接收用户输入的认证密钥; B3、 加密客户端根据认证密钥对加密的加密密钥进行解密, 得到明文的 加密密钥。
对于步骤 B1 , 加密密钥被加密保存在预启动操作系统的区域中, 加密客 户端则需要首先加载这个预启动操作系统, 用户输入用户名和认证密钥, 然后 执行步骤 B2, 加密客户端接收用户输入的认证密钥, 得到认证密钥之后, 还 包括步骤: 加密客户端对认证密钥进行保护处理, 并将保护处理后的认证密钥 和预先存储的经过保护处理的认证密钥进行比较,若一致则用户鉴权通过, 然 后再触发步骤 B3执行。 若不一致则用户没有通过鉴权, 则拒绝执行步骤 B3。 例如, 上述对用户的鉴权处理过程为: 假如上述加密客户端对认证密钥进行保 护处理的方法中, 加密客户端将 AK进行哈希算法处理, 得到 HASH ( AK ), 然后将 HASH ( AK )预先保存在 Preboot OS之中, 则加密客户端先根据用户 输入的 AK计算 HASH(AK),并和隐藏区域事先存储的 HASH(AK)比较,如果 一致的话, 则用户鉴权通过。 又如, 若加密客户端对认证密钥进行保护处理时 对 AK进行了加密, 则在此需要对用户输入的 AK进行加密, 然后比较用户输 入的 AK加密后的结果与事先存储的加密后的 AK, 如果一致的话, 则用户鉴 权通过。
需要说明的是, 在步骤 B2执行之后, 还可以包括步骤: 加密客户端将认 证密钥保存在预启动操作系统的内存。这样做的目的在于当解密完成虚拟机的 操作系统之后, 用户仍然需要使用用户名和认证密钥才能登陆操作系统, 为了 避免用户的重复输入,在本发明实施例中可以将用户输入的认证密钥保存在预 启动操作系统的内存之后,当需要启动虚拟机的操作系统时将保存在预启动操 作系统的内存中的认证密钥作为启动参数输入到操作系统中,实现了用户的单 点登录(SSO, Single Sign On )。
302、 加密客户端根据解密后的加密密钥对加密的虚拟机中的系统卷进行 解密。
在本发明实施例中,加密客户端对加密的加密密钥进行解密之后,加密客 户端根据解密后的加密密钥对加密的虚拟机中的系统卷进行解密,具体的解密 算法会因为采用的加密算法的不同而不同。
需要说明的是,在实际应用中, 若虚拟机中的系统卷包括虚拟机的操作系 统,则加密客户端根据解密后的加密密钥对加密的虚拟机中的系统卷进行解密 具体为:加密客户端根据解密后的加密密钥对加密的虚拟机的操作系统进行解 密。若卷数据还包括虚拟机上的应用程序, 则加密客户端根据加密的加密密钥 对整个虚拟机的操作系统和虚拟机上加载的应用程序都进行解密,则解密后的 操作系统就可以由用户登录使用了。
在本发明提供的实施例中, 由加密客户端首先对加密密钥进行解密, 然后 再用解密后的加密密钥对加密的虚拟机中的系统卷进行解密,由于在对虚拟机 中的系统卷进行解密时必须得对加密密钥解密,然后用这个解密后的加密密钥 对系统卷进行解密, 能够保障用户的虚拟机中的系统卷只有解密后才能够使 用, 避免了系统卷的泄露, 有利于用户的虚拟机中系统卷的安全。
接下来以实际的应用场景来介绍本发明实施例提供的虚拟机中系统卷的 解密方法,介绍的是系统卷包括虚拟机中的操作系统被加密时的解密方法, 包 括:
1、 当虚拟机加电启动后, 首先进入虚拟基本输入输出系统( VxBIOS , Basic Input Output System ), 然后访问 Preboot OS。。
2、 加密客户端加载 Preboot OS到内存, 执行 Preboot OS, 显示用户输入 界面, 用户输入认证信息 (用户名, AK )。
3、 加密客户端根据用户输入的 AK计算 HASH(AK), 并和隐藏区域事先 存储的 HASH(AK)比较, 一致的话, 则用户在 Preboot OS通过鉴权。
4、 加密客户端利用用户输入的 AK解密被加密的加密密钥 EK", 得到加 密密钥 EK。
5、 加密客户端用 EK解密操作系统得到原始未加密的 VM OS。
6、 加密客户端加载 VM OS, 并将(用户名, AK )作为启动参数传递给 VM OS。
7、 VM OS正常启动和自动登录, 不需要再次输入(用户名、 AK)。 从而 实现了单点登录。
以上实施例分別介绍了本发明实施例提供的虚拟机中系统卷的加密方法、 解密方法, 接下来介绍使用这些方法的相应装置, 如图 4所示, 一种加密客户 端 400, 包括:
发送单元 401 , 用于向密钥管理系统发送密钥申请请求消息, 以使所述密 钥管理系统根据所述密钥申请请求消息生成加密密钥; 接收单元 402, 用于接收所述密钥管理系统发送的密钥申请响应消息, 其 中, 密钥申请响应消息包括加密密钥;
加密单元 403 , 用于根据加密密钥对虚拟机中的系统卷进行加密。
需要说明的是, 在本发明实施例中, 加密客户端 400还可以包括: 存储单 元 404, 用于存储加密密钥, 以使加密客户端再次启动时, 利用存储的加密密 钥对所述虚拟机中的系统卷进行解密。
需要说明的是, 对于加密单元 403 而言, 在实际应用中, 加密单元 403 可以具体用于根据加密密钥对虚拟机的操作系统进行加密。
需要说明的是, 对于存储单元 404 而言, 在实际应用中, 存储单元 404 具体可以包括(未在图 4中示出 ):
获取模块, 用于获取用户的认证密钥;
密钥加密模块, 用于根据认证密钥对加密密钥进行加密;
保存模块, 用于将加密后的加密密钥保存在预启动操作系统的区域中。 需要说明的是, 密钥加密模块还用于对认证密钥进行保护处理,保存模块 还用于将保护处理后的认证密钥保存在预启动操作系统的区域中。
需要说明的是, 上述装置各模块 /单元之间的信息交互、 执行过程等内容, 由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施 例相同, 具体内容可参见本发明如图 1或 2所示的方法实施例中的叙述, 此处 不再赘述。
在本发明实施例中, 由接收单元从密钥申请响应消息中得到加密密钥, 并 由加密单元根据该加密密钥对虚拟机中的系统卷进行加密,由于本发明实施例 中对虚拟机中的系统卷进行了加密, 能够保障用户的虚拟机中系统卷的安全。
接下来介绍一种虚拟机中系统卷的加密系统,如图 5所示,虚拟机中系统 卷的加密系统 500, 包括: 加密客户端 501和密钥管理系统 502, 其中,
加密客户端 501具体可以为如前述实施例中描述的加密客户端 400;
密钥管理系统 502包括:
收发单元 5021 , 用于接收加密客户端发送的密钥申请请求消息; 密钥生成单元 5022, 用于根据密钥申请请求消息生成加密密钥; 收发单元 5021 , 还用于向加密客户端发送密钥申请响应消息, 其中, 密 钥申请响应消息包括加密密钥。 需要说明的是, 本发明实施例提供的密钥管理系统 502, 还可以包括: 加 密存储单元 5023 , 用于对密钥管理系统 502 自己生成的加密密钥进行加密存 储单元,以根据加密客户端的请求向加密客户端发送加密密钥。在实际应用中, 一种实现方式是, 加密存储单元 5023具体可以用于: 生成根密钥, 根据根密 钥对加密密钥进行加密存储。
在本发明提供的实施例中, 由加密客户端从密钥管理系统中得到加密密 钥, 并根据该加密密钥对虚拟机中的系统卷进行加密, 由于本发明实施例中对 虚拟机中的系统卷进行了加密, 能够保障用户的虚拟机中系统卷的安全。
以上实施例介绍了使用虚拟机中系统卷的加密方法的对应装置,接下来介 绍使用虚拟机中系统卷的解密方法的对应装置,如图 6所示,加密客户端 600, 包括:
密钥解密单元 601 , 用于对加密的加密密钥进行解密;
系统卷解密单元 602, 用于根据解密后的加密密钥对加密的虚拟机中的系 统卷进行解密。
需要说明的是,在实际应用中, 若加密的加密密钥被保存在预启动操作系 统的区域中, 则密钥解密单元 601具体可以包括(未在图 6中示出):
加载模块, 用于加载虚拟机的预启动操作系统;
接收模块, 用于接收用户输入的认证密钥;
密钥解密模块, 用于根据认证密钥对加密存储的加密密钥进行解密。
在实际应用中, 密钥解密单元还可以包括: 鉴权模块, 用于对认证密钥进 行保护处理,并将保护处理后的认证密钥和预先存储经过保护处理的认证密钥 进行比较, 若一致则用户鉴权通过, 触发密钥解密模块执行。
需要说明的是, 上述装置各模块 /单元之间的信息交互、 执行过程等内容, 由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施 例相同, 具体内容可参见本发明如图 2或 3所示的方法实施例中的叙述, 此处 不再赘述。
在本发明提供的实施例中,由密钥解密单元首先对加密的加密密钥进行解 密,然后由系统卷解密单元再用解密后的加密密钥对加密的虚拟机中的系统卷 进行解密, 由于在对虚拟机中的系统卷进行解密时必须得对加密密钥解密, 然 后用这个解密后的加密密钥对系统卷进行解密,能够保障用户的虚拟机中的系 统卷只有解密后才能够使用, 避免了系统卷的泄露,有利于用户的虚拟机中系 统卷的安全。
所属领域的技术人员可以清楚地了解到, 为描述的方便和筒洁, 上述描述 的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装置和方 法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性 的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另 外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个系统, 或 一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直 接耦合或通信连接可以是通过一些接口, 装置或单元的间接耦合或通信连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为 单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者 也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元 中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能 单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可 读取存储介质中。上述软件功能单元存储在一个存储介质中, 包括若干指令用 以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行 本发明各个实施例所述方法的部分步骤。 而前述的存储介质包括: U盘、 移动 硬盘、只读存储器( Read-Only Memory,筒称 ROM )、随机存取存储器( Random Access Memory, 筒称 RAM )、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的一种加密方法、解密方法和相关装置及系统进行了 详细介绍, 对于本领域的一般技术人员, 依据本发明实施例的思想, 在具体实 施方式及应用范围上均会有改变之处, 因此, 本说明书内容不应理解为对本发 明的限制。

Claims

权 利 要 求
1、 一种虚拟机中系统卷的加密方法, 其特征在于, 包括:
加密客户端向密钥管理系统发送密钥申请请求消息以使所述密钥管理系 统根据所述密钥申请请求消息生成加密密钥;
所述加密客户端接收所述密钥管理系统发送的密钥申请响应消息,所述密 钥申请响应消息包括所述加密密钥;
所述加密客户端根据所述加密密钥对虚拟机中的系统卷进行加密。
2、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 所述加 密客户端存储所述加密密钥, 以使所述加密客户端再次启动时, 利用所述存储 的加密密钥对所述虚拟机中的系统卷进行解密。
3、 根据权利要求 2所述的方法, 其特征在于, 所述加密客户端存储所述 加密密钥具体包括:
所述加密客户端获取用户的认证密钥;
所述加密客户端根据所述认证密钥对所述加密密钥进行加密;
所述加密客户端将加密后的加密密钥保存在预启动操作系统的区域中。
4、 根据权利要求 3所述的方法, 其特征在于, 所述预启动操作系统配置 在云端的虚拟机中,所述预启动操作系统用于在所述虚拟机启动前对用户进行 认证。
5、 根据权利要求 4所述的方法, 其特征在于, 所述加密客户端根据所述 认证密钥对所述加密密钥进行加密之后, 还包括:
所述加密客户端对所述认证密钥进行保护处理;
所述加密客户端将保护处理后的认证密钥保存在预启动操作系统的区域 中。
6、 根据权利要求 1-5任一所述的方法, 其特征在于, 所述方法还包括: 所述密钥管理系统对所述加密密钥进行加密存储,以根据所述加密客户端 的请求向所述加密客户端发送所述加密密钥。
7、 根据权利要求 6所述的方法, 其特征在于, 所述密钥管理系统对所述 加密密钥进行加密存储包括:
所述密钥管理系统生成根密钥;
所述密钥管理系统根据所述根密钥对所述加密密钥进行加密存储。
8、 一种虚拟机中系统卷的解密方法, 其特征在于, 包括:
加密客户端对加密的加密密钥进行解密;
所述加密客户端根据解密后的加密密钥对加密的虚拟机中的系统卷进行 解密。
9、 根据权利要求 8所述的方法, 其特征在于, 若所述加密的加密密钥保 存在预启动操作系统的区域中,所述加密客户端对加密的加密密钥进行解密包 括:
所述加密客户端加载所述虚拟机的预启动操作系统;
所述加密客户端接收用户输入的认证密钥;
所述加密客户端根据所述认证密钥对加密的加密密钥进行解密。
10、 根据权利要求 9所述的方法, 其特征在于, 所述加密客户端接收用户 输入的认证密钥之后, 还包括:
所述加密客户端对所述认证密钥进行保护处理,并将所述保护处理后的认 证密钥和预先存储经过保护处理的认证密钥进行比较,若一致则所述用户鉴权 通过,触发所述加密客户端根据所述认证密钥对加密的加密密钥进行解密的步 骤。
11、 一种加密客户端, 其特征在于, 包括:
发送单元, 用于向密钥管理系统发送密钥申请请求消息, 以使所述密钥管 理系统根据所述密钥申请请求消息生成加密密钥;
接收单元, 用于接收所述密钥管理系统发送的密钥申请响应消息, 所述密 钥申请响应消息包括所述加密密钥;
加密单元, 用于根据所述加密密钥对虚拟机中的系统卷进行加密。
12、 根据权利要求 11所述的加密客户端, 其特征在于, 所述加密客户端 还包括:存储单元,用于存储所述加密密钥,以使所述加密客户端再次启动时, 利用所述存储的加密密钥对所述虚拟机中的系统卷进行解密。
13、 根据权利要求 12所述的加密客户端, 其特征在于, 所述存储单元包 括:
获取模块, 用于获取用户的认证密钥;
密钥加密模块, 用于根据所述认证密钥对所述加密密钥进行加密; 保存模块, 用于将加密后的加密密钥保存在预启动操作系统的区域中。
14、 根据权利要求 13所述的加密客户端, 其特征在于, 所述密钥加密模 块还用于对所述认证密钥进行保护处理;
所述保存模块,还用于将保护处理后的认证密钥保存在预启动操作系统的 区域中。
15、 一种虚拟机中系统卷的加密系统, 其特征在于, 包括: 加密客户端和 密钥管理系统, 其中,
所述加密客户端如权利要求 11至 14中任一项所述的加密客户端; 所述密钥管理系统包括:
收发单元, 用于接收所述加密客户端发送的密钥申请请求消息; 密钥生成单元, 用于根据所述密钥申请请求消息生成加密密钥; 所述收发单元,还用于向所述加密客户端发送密钥申请响应消息, 所述密 钥申请响应消息包括所述加密密钥。
16、 根据权利要求 15所述的虚拟机中系统卷的加密系统, 其特征在于, 所述密钥管理系统还包括:
加密存储单元,用于对所述密钥管理系统自己生成的加密密钥进行加密存 储, 以根据所述加密客户端的请求向所述加密客户端发送所述加密密钥。
17、 根据权利要求 16所述的虚拟机中系统卷的加密系统, 其特征在于, 所述加密存储单元具体用于: 生成根密钥,根据所述根密钥对所述加密密钥进 行加密存储。
18、 一种加密客户端, 其特征在于, 包括:
密钥解密单元, 用于对加密的加密密钥进行解密;
系统卷解密单元,用于根据解密后的加密密钥对加密的虚拟机中的系统卷 进行解密。
19、 根据权利要求 18所述的加密客户端, 其特征在于, 若所述加密的加 密密钥保存在预启动操作系统的区域中, 所述密钥解密单元包括:
加载模块, 用于加载所述虚拟机的预启动操作系统;
接收模块, 用于接收用户输入的认证密钥;
密钥解密模块, 用于根据所述认证密钥对加密的加密密钥进行解密。
20、 根据权利要求 19所述的加密客户端, 其特征在于, 所述密钥解密单 元还包括: 鉴权模块, 用于对所述认证密钥进行保护处理, 并将所述保护处理后的认 证密钥和预先存储经过保护处理的认证密钥进行比较,若一致则所述用户鉴权 通过, 触发所述密钥解密模块执行。
PCT/CN2011/085116 2011-12-31 2011-12-31 一种加密方法、解密方法和相关装置及系统 WO2013097209A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011800035842A CN102726028A (zh) 2011-12-31 2011-12-31 一种加密方法、解密方法和相关装置及系统
PCT/CN2011/085116 WO2013097209A1 (zh) 2011-12-31 2011-12-31 一种加密方法、解密方法和相关装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/085116 WO2013097209A1 (zh) 2011-12-31 2011-12-31 一种加密方法、解密方法和相关装置及系统

Publications (1)

Publication Number Publication Date
WO2013097209A1 true WO2013097209A1 (zh) 2013-07-04

Family

ID=46950490

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/085116 WO2013097209A1 (zh) 2011-12-31 2011-12-31 一种加密方法、解密方法和相关装置及系统

Country Status (2)

Country Link
CN (1) CN102726028A (zh)
WO (1) WO2013097209A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10367647B2 (en) 2014-05-08 2019-07-30 Huawei Technologies Co., Ltd. Certificate acquiring method and device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104052591A (zh) * 2013-03-12 2014-09-17 大连永佳电子技术有限公司 基于智能策略的云虚拟机加密技术
CN104113410B (zh) * 2014-07-04 2017-05-17 北京思特奇信息技术股份有限公司 一种基于多表加密法的数据加密传输方法及装置
CN108632021A (zh) * 2017-03-15 2018-10-09 阿里巴巴集团控股有限公司 一种密钥加密方法、装置和系统
TWI651656B (zh) * 2017-03-29 2019-02-21 楊建綱 多維條碼行動身分認證方法、數位證件裝置
US10467416B2 (en) * 2017-06-16 2019-11-05 International Business Machines Corporation Securing operating system configuration using hardware
CN108418817B (zh) * 2018-02-14 2021-02-26 华为技术有限公司 一种加密方法及装置
CN109039598A (zh) * 2018-07-03 2018-12-18 福建天晴数码有限公司 数据传输加密方法、客户端及服务端
CN109743307A (zh) * 2018-12-28 2019-05-10 东莞见达信息技术有限公司 云端数据保护的方法、服务器装置和客户端装置
CN112748984B (zh) * 2020-12-28 2022-12-06 海光信息技术股份有限公司 虚拟机数据处理、控制方法、处理器、芯片、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025744A (zh) * 2010-12-20 2011-04-20 北京世纪互联工程技术服务有限公司 一种云计算中虚拟机镜像导入和导出系统
CN102163266A (zh) * 2010-02-17 2011-08-24 微软公司 在主机服务器之间安全地移动虚拟机
CN102208000A (zh) * 2010-03-31 2011-10-05 伊姆西公司 为虚拟机镜像提供安全机制的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840346B (zh) * 2009-12-30 2013-08-21 北京世纪互联宽带数据中心有限公司 云主机部署的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163266A (zh) * 2010-02-17 2011-08-24 微软公司 在主机服务器之间安全地移动虚拟机
CN102208000A (zh) * 2010-03-31 2011-10-05 伊姆西公司 为虚拟机镜像提供安全机制的方法和系统
CN102025744A (zh) * 2010-12-20 2011-04-20 北京世纪互联工程技术服务有限公司 一种云计算中虚拟机镜像导入和导出系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10367647B2 (en) 2014-05-08 2019-07-30 Huawei Technologies Co., Ltd. Certificate acquiring method and device

Also Published As

Publication number Publication date
CN102726028A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
US10469469B1 (en) Device-based PIN authentication process to protect encrypted data
CN109361668B (zh) 一种数据可信传输方法
US10462114B2 (en) System and associated software for providing advanced data protections in a defense-in-depth system by integrating multi-factor authentication with cryptographic offloading
WO2013097209A1 (zh) 一种加密方法、解密方法和相关装置及系统
EP2913956B1 (en) Management control method and device for virtual machines
EP3127274B1 (en) Methods and apparatus to securely share data
EP2495681B1 (en) Remote pre-boot authentication
KR101891420B1 (ko) DaaS를 위한 컨텐츠 보호
US8462955B2 (en) Key protectors based on online keys
US20140112470A1 (en) Method and system for key generation, backup, and migration based on trusted computing
KR101377359B1 (ko) 보안 엔진 기반 하드웨어를 사용한 안전한 소프트웨어 라이센싱 및 제공 방법
US9961048B2 (en) System and associated software for providing advanced data protections in a defense-in-depth system by integrating multi-factor authentication with cryptographic offloading
CA2982539C (en) Method of operating a computing device, computing device and computer program
CN107453880B (zh) 一种云数据安全存储方法和系统
US11831752B2 (en) Initializing a data storage device with a manager device
US20140237627A1 (en) Protecting data in a mobile environment
CN104866784A (zh) 一种基于bios加密的安全硬盘、数据加密及解密方法
US20210216653A1 (en) Multi-role unlocking of a data storage device
EP3720042B1 (en) Method and device for determining trust state of tpm, and storage medium
US11556665B2 (en) Unlocking a data storage device
KR20160146623A (ko) 휴대용 단말에서 컨텐츠를 보호하는 방법, 상기 방법을 컴퓨터 프로그램으로 기록하기 위한 기록매체, 및 휴대단말 보안 시스템
KR101703847B1 (ko) 휴대용 단말에서 컨텐츠를 보호하는 방법, 상기 방법을 컴퓨터 프로그램으로 기록하기 위한 기록매체, 및 휴대단말 보안 시스템

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180003584.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11879067

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11879067

Country of ref document: EP

Kind code of ref document: A1