CN108418817B - 一种加密方法及装置 - Google Patents

一种加密方法及装置 Download PDF

Info

Publication number
CN108418817B
CN108418817B CN201810152246.9A CN201810152246A CN108418817B CN 108418817 B CN108418817 B CN 108418817B CN 201810152246 A CN201810152246 A CN 201810152246A CN 108418817 B CN108418817 B CN 108418817B
Authority
CN
China
Prior art keywords
virtual machine
software system
symmetric key
key
ram
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201810152246.9A
Other languages
English (en)
Other versions
CN108418817A (zh
Inventor
刘国平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810152246.9A priority Critical patent/CN108418817B/zh
Publication of CN108418817A publication Critical patent/CN108418817A/zh
Priority to PCT/CN2018/106017 priority patent/WO2019157816A1/zh
Application granted granted Critical
Publication of CN108418817B publication Critical patent/CN108418817B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

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

Abstract

一种加密方法及装置,用于为客户在云数据中心进行运行时的全过程进行加密,实现对客户数据的安全保护。本申请实施例方法包括:所述虚拟机管理器为目标虚拟机分配虚拟中央处理器vCPU和第一RAM,所述目标虚拟机位于所述云计算服务器;所述安全处理器获取对称密钥;所述安全处理器将所述对称密钥配置给所述加解密引擎;所述加解密引擎利用所述对称密钥为所述vCPU访问所述第一RAM时对所述目标虚拟机的软件系统密文进行加解密处理,所述软件系统密文为所述用户终端利用所述对称密钥加密所述目标虚拟机的软件系统生成,且所述软件系统密文被加载至所述第一RAM。

Description

一种加密方法及装置
技术领域
本申请涉及云计算领域,尤其涉及一种加密方法及装置。
背景技术
随着云计算技术的飞速发展,各大科技公司都把云计算作为其最重要的业务以及占领未来市场的杀手锏和技术制高点。越来越多的客户已经或正在计划把其数据中心往云数据中心上迁移。而云数据中心属于云服务商,用户只是租用云服务商的虚拟机(virtualmachine,VM)使用。VM运行在服务商的主机(Host)上,VM的随机存取存储器(random accessmemory,RAM)由Host的操作系统(operating system,OS)和虚拟机管理器(virtualmachine manager,VMM)分配,是Host RAM的一部分。因为RAM是没有加密的,所以Host完全可以扫描和偷窥客户VM的RAM中机密信息。因此,在云计算中,客户在将重要数据迁移到云数据中心上时需要考虑如何对该重要数据进行加密。
目前最普及的技术为在处理器中内置加密引擎和安全处理器。在客户在云数据中心中进行云计算时,VMM将VM的基本输入输出系统(basic input output system,BIOS)和OS明文加载入云数据中心的RAM中,然后该安全处理器为该VM生成一个加密密钥,并将该加密密钥配置给该加密引擎,由该加密引擎为该VM的RAM进行加密生成一个安全运行环境;然后将该明文BIOS和OS移入到该安全运行环境,最后该VM在该安全运行环境进行运行。
该技术中该云计算中心为该客户的VM建立了安全运行环境,保证了该VM运行时的安全。但是在该VM的安全运行环境建立之前,客户的数据却无法保证安全。
发明内容
本申请实施例提供了一种加密方法及装置,用于为客户在云数据中心进行运行时的全过程进行加密,实现对客户数据的安全保护。
第一方面,本申请实施例提供一种加密方法,具体包括:
该加密方法应用于云计算服务器,该云计算服务器包括安全处理器、加解密引擎、目标虚拟机以及虚拟机管理器;其中,该虚拟机管理器为该目标虚拟机分配虚拟中央处理器vCPU和第一RAM;然后该安全处理器获取对称密钥,并将该对称密钥配置给该加解密引擎;最后该加解密引擎利用该对称密钥为该vCPU访问该第一RAM时对该目标虚拟机的软件系统密文进行加解密处理。其中,该软件系统密文由用户终端利用该对称密钥加密该目标虚拟机的软件系统生成,且该软件系统密文被该云计算服务器加载至该目标虚拟机的第一RAM。
本申请实施例提供的技术方案中,用户终端利用对称密钥对归属于用户的目标虚拟机的软件系统进行加密生成软件系统密文;然后将该软件系统密文加载至该目标虚拟机的第一RAM中;同时该安全处理器获取到该对称密钥之后配置给加解密引擎,以使得该加解密引擎可以利用该对称密钥对该目标虚拟机的运行环境进行加解密。即该用户在进行云计算的过程中,从数据的传输至数据的运行都利用该对称密钥进行加密,同时该虚拟机管理器并不知道该对称密钥,从而保证数据的安全性。
可选的,该对称密钥可以由该用户终端自主生成,也可以由该用户终端与该安全处理器协商处理生成。
在上述技术的基础上,若该对称密钥由该用户终端自主生成,则该安全处理器获取该对称密钥的方法具体如下:
该安全处理器生成非对称密钥,该非对称密钥包括公钥和私钥,该公钥由该安全处理器提供给该用户终端,而该私钥由该安全处理器自主保存,并不能导出该安全处理器的存储器口;然后,该安全处理器将接收到该用户终端利用该公钥加密后的加密对称密钥;最后该安全处理器通过自身保存的私钥对该加密对称密钥进行解密得到该对称密钥。
若该对称密钥收该用户终端与该安全处理器协商生成,则该安全处理器自身即获知该对称密钥,无需再向该用户终端或其他设备获取该对称密钥。
可以理解的是,该安全处理器将该公钥提供给该用户终端时,可以通过邮件向该用户终端发送该公钥,也可以通过短信等通信方式将该公钥告知给该用户终端,具体方式,此处不做限定。
本申请实施例提供的技术方案中,该云计算服务器与该用户终端采用多种方式确定对称密钥,并在对称密钥由该用户终端自主生成的情况下,该安全处理器生成非对称密钥对该对称密钥进行加密传输,从而有效保证用户传输数据的安全性。
可选的,在该目标虚拟机运行的过程中,该软件系统密文需要被该云计算服务器加载至该目标虚拟机的第一RAM中,具体方式包括如下:
一种可能实现方式中,该虚拟机管理器接收该用户终端发送的该软件系统密文;然后该虚拟机管理器将该软件系统密文加载至该第一RAM。
另一种可能实现方式中,该安全处理器接收该用户终端发送的该软件系统密文;然后,该安全处理器将该软件系统密文加载至该第一RAM。
可以理解的是,在该安全处理器在接收到该用户终端发送的软件系统密文之后,本申请实施例还包括如下方法:
该安全处理器生成临时对称密钥;
该安全处理器将该临时对称密钥配置给该加解密引擎;
该安全处理器利用该对称密钥对该软件系统密文进行解密得到该软件系统;
该安全处理器将该软件系统加载至该第一RAM;
该加解密引擎利用该临时对称密钥为该安全处理器和该vCPU访问该第一RAM时对该目标虚拟机的软件系统进行加解密处理。
本申请实施例中,该安全处理器在解密得到该软件系统之后,该安全处理器可以生成的新的临时对称密钥,以避免在多个虚拟机共用对称密钥时的安全性问题。
本申请实施例中,该云计算服务器在该安全处理器的内存满足数据加载的情况下,可以直接将该软件系统密文加载至该第一RAM中,也可以通过该虚拟机管理器将该软件系统密文加载到该第一RAM中,从而有效的保证了数据安全性。
可选的,该目标虚拟机的软件系统包括BIOS、OS loader、OS kernel和Application中的至少一种,所述软件系统密文包括BIOS、OS loader、OS kernel和Application中的至少一种。当该软件系统密文包括该BIOS和该OS loader时,该云计算服务器将该BIOS和该OS Loader加载入该第一RAM,然后当该OS Loader运行起来后,该OSLoader引导该OS Kernel进行加载,直到加载完该软件系统。
可选的,该OS kernel的加密密钥与该BIOS和该OS loader的加密密钥不同。可以理解的是,该OS kernel的加密方法与该BIOS和该OS loader的加密方法是相同的,具体方式此处不再赘述。
可选的,由于可能出现用户将同一个对称密钥分配给该用户的多个VM使用,这样当该对称密钥出现泄露或者其他不安全的情况时,该用户的数据将存在泄露风险,为了解决这一问题,该云计算服务器还可以执行如下操作:
该虚拟机管理器为该目标虚拟机分配第二RAM;同时该安全处理器为该第二RAM生成临时密钥,并将该临时密钥分配给该加解密引擎;该目标虚拟机将自身的软件系统从该第一RAM中迁移至该第二RAM中;该加解密引擎利用该安全处理器配置的临时密钥对该用户的目标虚拟机在vCPU访问该第二RAM时,对该第二RAM进行加解密处理;最后该目标虚拟机利用该vCPU和该第二RAM开始运行,执行该用户的相应操作;在该目标虚拟机迁移该软件系统完成之后,该虚拟机管理器可以将该第一RAM释放。
可以理解的是,该虚拟机管理器可以同时为该目标虚拟机分配第一RAM和第二RAM;也可以为该目标虚拟机先分配该第一RAM,然后在该目标虚拟机的软件系统加载至该第一RAM之后再为该目标虚拟机分配该第二RAM,只要可以保证用户的数据安全即可,具体方式此处不做限定。
本申请实施例提供的技术方案中,可以当该对称密钥发生泄露时,有效的避免数据发生泄露风险。
第二方面,本申请实施例提供一种加密方法,具体包括:
该加密方法应用于用户终端,该用户终端利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文,该目标虚拟机位于云计算服务器;然后该用户终端将该软件系统密文发送给该云计算服务器;该云计算服务器将该软件系统密文加载到第一RAM,其中,该第一RAM由该云计算服务器的虚拟机管理器为该目标虚拟机分配;当该虚拟机管理器为该目标虚拟机分配的虚拟中央处理器访问该第一RAM时,该软件系统密文将被该目标虚拟机的加解密引擎利用该对称密钥进行加解密处理,该对称密钥由该云计算服务器的安全处理器获取并配置给该加解密引擎。
本申请实施例提供的技术方案中,用户终端利用对称密钥对归属于用户的目标虚拟机的软件系统进行加密生成软件系统密文;然后将该软件系统密文加载至该目标虚拟机的第一RAM中;同时该安全处理器获取到该对称密钥之后配置给加解密引擎,以使得该加解密引擎可以利用该对称密钥对该目标虚拟机的运行环境进行加解密。即该用户在进行云计算的过程中,从数据的传输至数据的运行都利用该对称密钥进行加密,同时该虚拟机管理器并不知道该对称密钥,从而保证数据的安全性。
可选的,该对称密钥可以由该用户终端自身生成然后通知给该安全处理器也可以由该用户终端与该安全处理器协商生成。
基于上述技术方案,在该对称密钥由该用户终端自身生成时,该加密方法还包括如下方案:
该用户终端接收该安全处理器发送的由该安全处理器生成的非对称密钥中的公钥;然后该用户终端利用该公钥将该对称密钥进行加密生成加密对称密钥;最后该用户终端将该加密对称密钥发送给该安全处理器,以使得该安全处理器利用该非对称密钥中的私钥解密该加密对称密钥得到该对称密钥。
本申请实施例提供的技术方案中,该云计算服务器与该用户终端采用多种方式确定对称密钥,并在对称密钥由该用户终端自主生成的情况下,该安全处理器生成非对称密钥对该对称密钥进行加密传输,从而有效保证用户传输数据的安全性。
可选的,该用户终端还可以将该软件系统密文发送给该虚拟机管理器或者是该安全处理器,以使得该云计算服务器可以根据实际情况将该软件系统密文加载到该第一RAM中。
第三方面,本申请实施例提供一种云计算服务器,其中,该云计算服务器包括:安全处理器、加解密引擎、目标虚拟机以及虚拟机管理器;
所述虚拟机管理器,用于为所述目标虚拟机分配虚拟中央处理器vCPU和第一RAM;
所述安全处理器,用于获取对称密钥;将所述对称密钥配置给所述加解密引擎;
所述加解密引擎,用于利用所述对称密钥为所述vCPU访问所述第一RAM时对所述目标虚拟机的软件系统密文进行加解密处理,所述软件系统密文为用户终端利用所述对称密钥加密所述目标虚拟机的软件系统生成,且所述软件系统密文被加载至所述第一RAM。
第四方面,本申请实施例提供一种用户终端,该用户终端具有实现上述方法中用户终端的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能实现方式中,该用户终端包括:
处理模块,用于利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文,所述目标虚拟机位于云计算服务器;
发送模块,用于将所述软件系统密文发送给所述云计算服务器,以使得所述软件系统密文被加载至第一RAM,所述第一RAM为所述云计算服务器的虚拟机管理器为所述目标虚拟机分配,虚拟中央处理器vCPU访问所述第一RAM时,所述软件系统密文被所述云计算服务器的加解密引擎利用所述对称密钥为所述虚拟中央处理器vCPU访问所述第一RAM时进行加解密处理,所述对称密钥由所述云计算服务器的安全处理器获取并配置给所述加解密引擎,所述vCPU由所述虚拟机管理器为所述目标虚拟机分配。
另一种可能实现方式中,该用户终端包括:
收发器,一个或多个处理器,总线;
该收发器与该一个或多个处理器通过总线相连;
该处理器,执行如下步骤:
利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文,所述目标虚拟机位于云计算服务器;
该收发器,执行如下步骤:
将所述软件系统密文发送给所述云计算服务器,以使得所述软件系统密文被加载至第一RAM,所述第一RAM为所述云计算服务器的虚拟机管理器为所述目标虚拟机分配,虚拟中央处理器vCPU访问所述第一RAM时,所述软件系统密文被所述云计算服务器的加解密引擎利用所述对称密钥进行加解密处理,所述对称密钥由所述云计算服务器的安全处理器获取并配置给所述加解密引擎,所述vCPU由所述虚拟机管理器为所述目标虚拟机分配。
第五方面,本申请实施例提供一种云计算系统,该云计算系统包括云计算服务器和用户终端;该云计算服务器与该用户终端之间进行数据传输;其中,该云计算服务器具有上述描述中的云计算服务器的全部功能;该用户终端具有上述描述中的用户终端的全部功能。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,所述计算机执行上述的方法。
第七方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,所述计算机执行上述方法。
从以上技术方案可以看出,本申请实施例具有以下优点:用户终端利用对称密钥对归属于用户的目标虚拟机的软件系统进行加密生成软件系统密文;然后将该软件系统密文加载至该目标虚拟机的第一RAM中;同时该安全处理器获取到该对称密钥之后配置给加解密引擎,以使得该加解密引擎可以利用该对称密钥对该目标虚拟机的运行环境进行加解密。即该用户在进行云计算的过程中,从数据的传输至数据的运行都利用该对称密钥进行加密,同时该虚拟机管理器并不知道该对称密钥,从而保证数据的安全性。
附图说明
图1为本申请实施例中云计算系统架构;
图2为现有技术中云加密的过程;
图3为本申请实施例中加密方法的一个实施例示意图;
图4为本申请实施例中软件系统密文的加载示意图;
图5为本申请实施例中加密方法的另一个实施例示意图;
图6为本申请实施例中加密方法的另一个实施例示意图;
图7为本申请实施例中加密方法的另一个实施例示意图;
图8为本申请实施例中云计算服务器的一个实施例示意图;
图9为本申请实施例中用户终端的一个实施例示意图;
图10为本申请实施例中用户终端的另一个实施例示意图;
图11为本申请实施例中云计算系统的一个实施例示意图。
具体实施方式
本申请实施例提供了一种加密方法及装置,用于为客户在云数据中心进行运行时的全过程进行加密,实现对客户数据的安全保护。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着云计算技术的飞速发展,各大科技公司都把云计算作为其最重要的业务以及占领未来市场的杀手锏和技术制高点。越来越多的客户已经或正在计划把其数据中心往云数据中心上迁移。但是客户在将重要数据迁移到云数据中心上时,需要考虑如何对重要数据进行加密。目前的云计算系统如图1所示,该云计算系统包括:云计算服务器和用户终端;其中,该云计算服务器包括中央处理器(Central Processing Unit,CPU)、内存RAM、安全处理器、加解密引擎、虚拟机以及虚拟机管理器;该用户终端是用户认可的处于安全状态的物理或虚拟计算机。其中,该虚拟机管理器为该虚拟机分配对应的RAM和虚拟中央处理器(virtual Central Processing Unit,vCPU),该虚拟机将运行在对应的vCPU和RAM。
目前的加密技术如图2所示,云计算服务器的CPU内置加密引擎,然后在客户在云数据中心中进行云计算时具体步骤如下:1、VMM将VM的BIOS和OS明文加载入云数据中心的RAM中;2、该安全处理器为该VM生成一个加密密钥,并将该加密密钥配置给该加密引擎;3、该加密引擎为该VM的RAM进行加密生成一个安全运行环境;4、将该明文BIOS和OS移入到该安全运行环境;5、该VM在该安全运行环境进行运行。
由上述步骤可知,该云计算中心为该客户的VM建立了安全运行环境,保证了该VM运行时的安全,但是在该VM的安全运行环境建立之前,客户的数据却无法保证安全。同时整个加密过程中,用户无法掌控密钥,使得用户无法对该系统产生足够的安全感。
为了解决这一问题,本申请实施例提供了如下方案:该加密方法应用于云计算服务器,该云计算服务器包括安全处理器、加解密引擎、目标虚拟机以及虚拟机管理器;其中,该虚拟机管理器为该目标虚拟机分配虚拟中央处理器vCPU和第一RAM;然后该安全处理器获取对称密钥,并将该对称密钥配置给该加解密引擎;最后该加解密引擎利用该对称密钥为该vCPU访问该第一RAM时对该目标虚拟机的软件系统密文进行加解密处理。其中,该软件系统密文由用户终端利用该对称密钥加密该目标虚拟机的软件系统生成,且该软件系统密文被该云计算服务器加载至该目标虚拟机的第一RAM。
下面根据加载该目标虚拟机的软件系统的对象不同进行说明:
一、该虚拟机管理器加载该目标虚拟机的软件系统至该第一RAM。
具体请参阅图3所示,本申请实施例中加密方法的一个实施例,包括:
301、该安全处理器生成非对称密钥,该非对称密钥包括公钥和私钥
该安全处理器生成一个非对称密钥,该非对称密钥将包括公钥和私钥。该公钥将提供给该用户,而该私钥将由该安全处理器保存,且该私钥无法由该安全处理器导出。
本实施例中,该非对称密钥可以是在该用户进行云计算时生成,也可以事先生成。
302、该安全处理器将该公钥提供给用户。
该安全处理器提供该公钥给该用户的方式可以包括如下几种可能情况:
一种可能实现方式中,该安全处理器将该公钥发送到该用户当前使用的用户终端的云计算界面;
另一种可能实现方式中,该安全处理器通过短信或者是邮件将该公钥发送给该用户。
可以理解的是,只要该安全处理器可以将该公钥告知给该用户即可,具体方式此处不做限定。
303、该用户通过该用户终端利用该公钥对对称密钥进行加密生成加密对称密钥,并根据该对称密钥对该目标虚拟机的软件系统加密生成软件系统密文。
该用户在使用云计算时,该用户为归属于自身的目标虚拟机的软件系统设置一个对称密钥,并通过当前使用的用户终端利用该对称密钥对该目标虚拟机的软件系统进行加密生成软件系统密文。同时为了该云计算服务器可以解密该软件系统密文,该用户通过该用户终端利用该公钥对该对称密钥进行加密生成加密对称密钥。
304、该用户终端将该加密对称密钥发送给该安全处理器。
该用户通过该用户终端将该加密对称密钥发送给该安全处理器。
305、该用户终端将该软件系统密文发送给该虚拟机管理器。
该用户通过该用户终端将该软件系统密文发送给该虚拟机管理器。
可以理解的是,步骤304与步骤305之间的并没有时间的先后之分,具体的发生时间顺序,此处不做限定。
306、该虚拟机管理器将该软件系统密文加载至该第一RAM。
在云计算系统中,该虚拟机管理器为用户租用的目标虚拟机分配第一vCPU和第一RAM。该虚拟机管理器在接收到该用户终端发送给软件系统密文之后,将该软件系统密文加载到该第一RAM。
在实际应用中,该目标虚拟机的软件系统的组成部分包括基本输入输出系统(Basic Input Output System,BIOS)、操作系统加载器OS loader、操作系统内核OSkernel和应用程序Application等。以本实施例中虚拟机管理器为例,在实际软件系统的加载过程中,该虚拟机管理器具体加载哪些部分可以由虚拟机管理器自由设定。比如如图4所示,该用户利用该对称密钥加密生成的软件系统密文中包括BIOS和OS Loader时,该虚拟机管理器将该BIOS和该OS Loader加载入该第一RAM,然后当该OS Loader运行起来后,该OSLoader引导该OS Kernel进行加载,直到加载完该软件系统。可以理解的是,该OS Kernel与该BIOS和该OS Loader的加密密钥可以不相同,而且该虚拟机管理器也不知道该软件系统各部分的加密密钥,但是该OS Kernel的加密方式与该OS Loader的加密的加密方法相同,此处不再赘述。
307、该安全处理器将该加密对称密钥进行解密得到对称密钥。
该安全处理器利用该私钥将该加密对称密钥进行解密,得到该对称密钥。
308、该安全处理器将该对称密钥发送给该加解密引擎。
该安全处理器将该对称密钥配置给该加解密引擎。
309、该加解密引擎利用该对称密钥为该目标虚拟机的vCPU访问该第一RAM时进行加解密处理。
该加解密引擎利用该安全处理器配置的对称密钥对该用户的目标虚拟机在vCPU访问该第一RAM时,对该软件系统密文和该第一RAM进行加解密处理。最后该目标虚拟机利用该vCPU和该第一RAM开始运行,执行该用户的相应操作。
本实施例中,用户终端利用对称密钥对归属于用户的目标虚拟机的软件系统进行加密生成软件系统密文;然后将该软件系统密文加载至该目标虚拟机的第一RAM中;同时该安全处理器获取到该对称密钥之后配置给加解密引擎,以使得该加解密引擎可以利用该对称密钥对该目标虚拟机的运行环境进行加解密。即该用户在进行云计算的过程中,从数据的传输至数据的运行都利用该对称密钥进行加密,同时该虚拟机管理器并不知道该对称密钥,从而保证数据的安全性。
二、该安全处理器加载该目标虚拟机的软件系统至该第一RAM。
具体请参阅图5所示,本申请实施例中加密方法的另一个实施例包括:
501、该安全处理器生成非对称密钥,该非对称密钥包括公钥和私钥。
该安全处理器生成一个非对称密钥,该非对称密钥将包括公钥和私钥。该公钥将提供给该用户,而该私钥将由该安全处理器保存,且该私钥无法由该安全处理器导出。
本实施例中,该非对称密钥可以是在该用户进行云计算时生成,也可以事先生成。
502、该安全处理器将该公钥提供给用户。
在该安全处理器提供该公钥给该用户的方式可以包括如下几种可能情况:
一种可能实现方式中,该安全处理器将该公钥发送到该用户当前使用的用户终端的云计算界面;
另一种可能实现方式中,该安全处理器通过短信或者是邮件将该公钥发送给该用户。
可以理解的是,只要该安全处理器可以将该公钥告知给该用户即可,具体方式此处不做限定。
503、该用户终端利用该公钥对对称密钥进行加密生成加密对称密钥,并根据该对称密钥对该目标虚拟机的软件系统加密生成软件系统密文。
该用户在使用云计算时,该用户为分配给自身的目标虚拟机的软件系统生成一个对称密钥,并通过当前使用的用户终端利用该对称密钥对该目标虚拟机的软件系统进行加密生成软件系统密文。同时为了该云计算服务器可以解密该软件系统密文,该用户通过该用户终端利用该公钥对该对称密钥进行加密生成加密对称密钥。
504、该用户终端将该加密对称密钥和该软件系统密文发送给该安全处理器。
该用户通过该用户终端将该加密对称密钥和该软件系统密文发送给该安全处理器。
505、该安全处理器将该软件系统密文加载至该第一RAM。
在云计算系统中,该虚拟机管理器为用户租用的目标虚拟机分配第一vCPU和第一RAM。该安全处理器在接收到该用户终端发送给软件系统密文之后,将该软件系统密文加载到该第一RAM。
在实际应用中,该目标虚拟机的软件系统的组成部分包括基本输入输出系统(Basic Input Output System,BIOS)、操作系统加载器OS loader、操作系统内核OSkernel和应用程序Application等。以本实施例中安全处理器为例,在实际软件系统的加载过程中,该安全处理器具体加载哪些部分可以由该安全处理器自由设定。比如如图4所示,该用户利用该对称密钥加密生成的软件系统密文中包括BIOS和OS Loader时,该安全处理器将该BIOS和该OS Loader加载入该第一RAM,然后当该OS Loader运行起来后,该OSLoader引导该OS Kernel进行加载,直到加载完该软件系统。可以理解的是,该OS Kernel与该BIOS和该OS Loader的加密密钥可以不相同,而且该安全处理器也不知道该软件系统各部分的加密密钥,但是该OS Kernel的加密方式与该OS Loader的加密的加密方法相同,此处不再赘述。
可选的,该安全处理器加载该软件系统时,还可以先将该软件系统密文利用该私钥进行解密得到软件系统明文,然后将该软件系统明文加载至该第一RAM。在这种方式中,该安全处理器需要在加载至该第一RAM中时,先给该加解密引擎配置该对称密钥或者是配置一个新的由该安全处理器生成的临时对称密钥;然后当该安全处理器和该vCPU访问该第一RAM时,该加解密引擎可以利用该对称密钥或该临时对称密钥对该软件系统进行加解密处理。
506、该安全处理器将该加密对称密钥进行解密得到对称密钥。
该安全处理器利用该私钥将该加密对称密钥进行解密,得到该对称密钥。
507、该安全处理器将该对称密钥发送给该加解密引擎。
该安全处理器将该对称密钥配置给该加解密引擎。
508、该加解密引擎利用该对称密钥为该目标虚拟机的vCPU访问该第一RAM时进行加解密处理。
该加解密引擎利用该安全处理器配置的对称密钥对该用户的目标虚拟机在vCPU访问该第一RAM时,对该软件系统密文和该第一RAM进行加解密处理。最后该目标虚拟机利用该vCPU和该第一RAM开始运行,执行该用户的相应操作。
本实施例中,用户终端利用对称密钥对归属于用户的目标虚拟机的软件系统进行加密生成软件系统密文;然后将该软件系统密文加载至该目标虚拟机的第一RAM中;同时该安全处理器获取到该对称密钥之后配置给加解密引擎,以使得该加解密引擎可以利用该对称密钥对该目标虚拟机的运行环境进行加解密。即该用户在进行云计算的过程中,从数据的传输至数据的运行都利用该对称密钥进行加密,同时该虚拟机管理器并不知道该对称密钥,从而保证数据的安全性。
具体请参阅图6所示,本申请实施例中加密方法的另一个实施例,包括:
601、该安全处理器与该用户终端协商生成对称密钥。
该安全处理器与该用户终端通过信令交互协商当前的对称密钥。
本实施例中,该对称密钥的表现形式可以为Deffie-Hellman(简称DH)密钥交换协议,它的作用是让通信的双方能在非安全的信道中安全的交换密钥,用于加密后续的通信消息。
602、该用户终端该对称密钥对该目标虚拟机的软件系统加密生成软件系统密文。
该用户在使用云计算系统时,该用户利用该对称密钥为分配给自身的目标虚拟机的软件系统进行加密生成软件系统密文。
603、该用户终端将该软件系统密文发送给该安全处理器。
该用户通过该用户终端将该加密对称密钥和该软件系统密文发送给该安全处理器。
604、该安全处理器将该软件系统密文加载至该第一RAM。
在云计算系统中,该虚拟机管理器为用户租用的目标虚拟机分配第一vCPU和第一RAM。该安全处理器在接收到该用户终端发送给软件系统密文之后,将该软件系统密文加载到该第一RAM。
在实际应用中,该目标虚拟机的软件系统的组成部分包括基本输入输出系统(Basic Input Output System,BIOS)、操作系统加载器OS loader、操作系统内核OSkernel和应用程序Application等。以本实施例中安全处理器为例,在实际软件系统的加载过程中,该安全处理器具体加载哪些部分可以由该安全处理器自由设定。比如如图4所示,该用户利用该对称密钥加密生成的软件系统密文中包括BIOS和OS Loader时,该安全处理器将该BIOS和该OS Loader加载入该第一RAM,然后当该OS Loader运行起来后,该OSLoader引导该OS Kernel进行加载,直到加载完该软件系统。可以理解的是,该OS Kernel与该BIOS和该OS Loader的加密密钥可以不相同,而且该安全处理器也不知道该软件系统各部分的加密密钥,但是该OS Kernel的加密方式与该OS Loader的加密的加密方法相同,此处不再赘述。
可选的,该安全处理器加载该软件系统时,还可以先将该软件系统密文利用该对称密钥进行解密得到软件系统明文,然后将该软件系统明文加载至该第一RAM。
605、该安全处理器将该对称密钥发送给该加解密引擎。
该安全处理器将该对称密钥配置给该加解密引擎。
606、该加解密引擎利用该对称密钥为该目标虚拟机的vCPU访问该第一RAM时对该软件系统密文进行加解密处理。
该加解密引擎利用该安全处理器配置的对称密钥对该用户的目标虚拟机在vCPU访问该第一RAM时,对该软件系统密文和该第一RAM进行加解密处理。最后该目标虚拟机利用该vCPU和该第一RAM开始运行,执行该用户的相应操作。
本实施例中以安全处理器加载该软件系统密文为例进行了说明,但是可以理解的是,本实施例提供的技术方案也可以应用与图3所示的虚拟机管理器加载该软件系统密文的方案,具体只需要将本实施例中中步骤603与步骤604替换为步骤305与步骤306即可,具体此处不再赘述。
基于上述方案中,由于可能出现用户将同一个对称密钥分配给该用户的多个VM使用,这样当该对称密钥出现泄露或者其他不安全的情况时,该用户的数据将存在泄露风险,为了解决这一问题,该云计算服务器还可以执行如下操作:
如图7所示,该虚拟机管理器为该目标虚拟机分配第二RAM;同时该安全处理器为该第二RAM生成临时密钥,并将该临时密钥分配给该加解密引擎;该目标虚拟机将自身的软件系统从该第一RAM中迁移至该第二RAM中;该加解密引擎利用该安全处理器配置的临时密钥对该用户的目标虚拟机在vCPU访问该第二RAM时,对该第二RAM进行加解密处理;最后该目标虚拟机利用该vCPU和该第二RAM开始运行,执行该用户的相应操作。
在本实施例中,在该目标虚拟机迁移该软件系统完成之后,该虚拟机管理器可以将该第一RAM释放。
可以理解的是,该虚拟机管理器可以同时为该目标虚拟机分配第一RAM和第二RAM;也可以为该目标虚拟机先分配该第一RAM,然后在该目标虚拟机的软件系统加载至该第一RAM之后再为该目标虚拟机分配该第二RAM,只要可以保证用户的数据安全即可,具体方式此处不做限定。
本实施例中,用户终端利用对称密钥对归属于用户的目标虚拟机的软件系统进行加密生成软件系统密文;然后将该软件系统密文加载至该目标虚拟机的第一RAM中;同时该安全处理器获取到该对称密钥之后配置给加解密引擎,以使得该加解密引擎可以利用该对称密钥对该目标虚拟机的运行环境进行加解密。即该用户在进行云计算的过程中,从数据的传输至数据的运行都利用该对称密钥进行加密,同时该虚拟机管理器并不知道该对称密钥,从而保证数据的安全性。
上面对本申请实施例中的加密方法进行说明,下面对本申请实施例中的云计算服务器进行说明。
具体请参阅图8所示,本申请实施例中的云计算服务器800包括:安全处理器801、加解密引擎802、目标虚拟机803以及虚拟机管理器804;
所述虚拟机管理器804,用于为所述目标虚拟机803分配虚拟中央处理器vCPU和第一RAM,所述目标虚拟机803位于所述云计算服务器800;
所述安全处理器801,用于获取对称密钥;将所述对称密钥配置给所述加解密引擎802;
所述加解密引擎802,用于利用所述对称密钥为所述vCPU访问所述第一RAM时对所述目标虚拟机803的软件系统密文进行加解密处理,所述软件系统密文为用户终端利用所述对称密钥加密所述目标虚拟机的软件系统生成,且所述软件系统密文被加载至所述第一RAM。
可选的,所述对称密钥由所述用户终端生成或由所述安全处理器801与所述用户终端协商生成。
可选的,在所述对称密钥由所述用户终端生成时,所述安全处理器801,还用于生成非对称密钥,所述非对称密钥包括公钥和私钥,所述公钥由所述安全处理器提供给所述用户终端,所述私钥由所述安全处理器保存;接收所述用户终端发送的加密对称密钥,所述加密对称密钥由所述用户终端利用所述公钥加密所述对称密钥生成;利用所述私钥解密所述加密对称密钥得到所述对称密钥。
可选的,所述虚拟机管理器804,用于接收所述用户终端发送的所述软件系统密文;将所述软件系统密文加载至所述第一RAM;
或,
所述安全处理器801,用于接收所述用户终端发送的所述软件系统密文;将所述软件系统密文加载至所述第一RAM。
可选的,所述目标虚拟机的软件系统包括基本输入输出系统BIOS、操作系统加载器OS loader、操作系统内核OS kernel和应用程序Application中的至少一种,所述软件系统密文包括BIOS、OS loader、OS kernel和Application中的至少一种。
可选的,当所述软件系统密文包括所述BIOS和所述OS loader时,所述软件系统密文的加载包括:
所述BIOS和所述OS loader被加载至所述第一RAM;
所述OS loader将所述OS kernel加载至所述第一RAM。
可选的,所述OS kernel的加密密钥与所述BIOS和所述OS loader的加密密钥不同。
可选的,所述虚拟机管理器804,还用于为所述目标虚拟机803分配第二RAM;
所述安全处理器801,还用于生成临时密钥,并将所述临时密钥分配给所述加解密引擎802;
所述目标虚拟机803,用于将所述软件系统迁移至所述第二RAM,所述软件系统由所述加解密引擎802利用所述对称密钥对所述软件系统密文进行解密后得到;
所述加解密802,用于利用所述临时密钥为所述vCPU访问所述第二RAM时对所述软件系统进行加解密;所述目标虚拟机803,用于在所述vCPu和所述第二RAM中运行;
所述虚拟机管理器804,用于释放所述第一RAM。
本实施例中,用户终端利用对称密钥对归属于用户的目标虚拟机的软件系统进行加密生成软件系统密文;然后将该软件系统密文加载至该目标虚拟机的第一RAM中;同时该安全处理器获取到该对称密钥之后配置给加解密引擎,以使得该加解密引擎可以利用该对称密钥对该目标虚拟机的运行环境进行加解密。即该用户在进行云计算的过程中,从数据的传输至数据的运行都利用该对称密钥进行加密,同时该虚拟机管理器并不知道该对称密钥,从而保证数据的安全性。
具体请参阅图9所示,本申请实施例中用户终端的一个实施例,包括:
处理模块901,用于利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文,所述目标虚拟机位于云计算服务器;
发送模块902,用于将所述软件系统密文发送给所述云计算服务器,以使得所述软件系统密文被加载至第一RAM,所述第一RAM为所述云计算服务器的虚拟机管理器为所述目标虚拟机分配,虚拟中央处理器vCPU访问所述第一RAM时,所述软件系统密文被所述云计算服务器的加解密引擎利用所述对称密钥进行加解密处理,所述对称密钥由所述云计算服务器的安全处理器获取并配置给所述加解密引擎,所述vCPU由所述虚拟机管理器为所述目标虚拟机分配。
可选的,所述处理模块901,还用于与所述安全处理器协商生成所述对称密钥。
可选的,所述处理模块901,还用于生成所述对称密钥。
可选的,所述发送模块902,具体用于将所述软件系统密文发送给所述虚拟机管理器或所述安全处理器。
可选的,所述用户终端还包括接收模块903,所述接收模块903,用于获取公钥,所述公钥为所述安全处理器生成的非对称密钥中的公钥;
所述处理模块901,还用于利用所述公钥加密所述对称密钥生成加密对称密钥;
所述发送模块902,还用于将所述加密对称密钥发送给所述安全处理器,以使得所述安全处理器利用所述私钥对所述加密对称密钥进行解密得到所述对称密钥,所述私钥为所述安全处理器生成的非对称密钥中的私钥。
本实施例中,该用户终端利用对称密钥为该目标虚拟机的软件系统时行加密,从而保证用户在使用云计算服务器时,可以从头将数据进行保护,从而保证数据的安全性。
具体请参阅图10所示,本申请实施例中用户终端的另一个实施例,包括:
收发器1001、处理器1002、总线1003;
该收发器1001与该处理器1002通过该总线1003连接;
该总线1003可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1002可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。
处理器1002还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
参见图10所示,该用户终端还可以包括存储器1004。该存储器1004可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flashmemory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器1004还可以包括上述种类的存储器的组合。
可选地,存储器1004还可以用于存储程序指令,处理器1002调用该存储器1004中存储的程序指令,可以执行上述多个实施例中的一个或多个步骤,或其中可选的实施方式,实现上述方法中用户终端的功能。
该处理器1002,执行如下步骤:
利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文,所述目标虚拟机位于云计算服务器;
该收发器1001,执行如下步骤:
将所述软件系统密文发送给所述云计算服务器,以使得所述软件系统密文被加载至第一RAM,所述第一RAM为所述云计算服务器的虚拟机管理器为所述目标虚拟机分配,虚拟中央处理器vCPU访问所述第一RAM时,所述软件系统密文被所述云计算服务器的加解密引擎利用所述对称密钥进行加解密处理,所述对称密钥由所述云计算服务器的安全处理器获取并配置给所述加解密引擎,所述vCPU由所述虚拟机管理器为所述目标虚拟机分配。
可选的,所述处理器1002,执行如下步骤:
与所述安全处理器协商生成所述对称密钥。
可选的,所述处理器1002,执行如下步骤:
生成所述对称密钥。
可选的,所述收发器1001,执行如下步骤:
将所述软件系统密文发送给所述虚拟机管理器或所述安全处理器。
可选的,该收发器1001,执行如下步骤:
获取公钥,所述公钥为所述安全处理器生成的非对称密钥中的公钥;
所述处理器1002,执行如下步骤:利用所述公钥加密所述对称密钥生成加密对称密钥;
所述收发器1001,执行如下步骤:将所述加密对称密钥发送给所述安全处理器,以使得所述安全处理器利用所述私钥对所述加密对称密钥进行解密得到所述对称密钥,所述私钥为所述安全处理器生成的非对称密钥中的私钥。
本实施例中,该用户终端利用对称密钥为该目标虚拟机的软件系统时行加密,从而保证用户在使用云计算服务器时,可以从头将数据进行保护,从而保证数据的安全性。
具体请参阅图11所示,本申请实施例中云计算系统的一个实施例包括:
云计算服务器1101和用户终端1102;
该云计算服务器1101与该用户终端1102之间进行数据传输;
该云计算服务器具有图8中云计算服务器的全部功能;
该用户终端具有图9和图10中用户终端的全部功能。
本实施例中,该云计算系统可以有效的保证用户在使用云计算服务时的数据安全性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (23)

1.一种加密方法,应用于云计算服务器,所述云计算服务器包括安全处理器、加解密引擎、目标虚拟机以及虚拟机管理器,其特征在于,所述方法包括:
所述虚拟机管理器为所述目标虚拟机分配虚拟中央处理器vCPU和第一RAM;
所述安全处理器获取对称密钥,所述对称密钥由用户终端生成或由所述安全处理器与所述用户终端协商生成;
所述安全处理器将所述对称密钥配置给所述加解密引擎;
所述加解密引擎利用所述对称密钥为所述vCPU访问所述第一RAM时对所述目标虚拟机的软件系统密文和所述第一RAM进行加解密处理,所述软件系统密文为用户终端利用所述对称密钥加密所述目标虚拟机的软件系统生成,且所述软件系统密文被加载至所述第一RAM。
2.根据权利要求1所述的方法,其特征在于,所述对称密钥由所述用户终端生成时,所述安全处理器获取所述对称密钥包括:
所述安全处理器生成非对称密钥,所述非对称密钥包括公钥和私钥,所述公钥由所述安全处理器提供给所述用户终端,所述私钥由所述安全处理器保存;
所述安全处理器接收所述用户终端发送的加密对称密钥,所述加密对称密钥由所述用户终端利用所述公钥加密所述对称密钥生成;
所述安全处理器利用所述私钥解密所述加密对称密钥得到所述对称密钥。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述加解密引擎利用所述对称密钥为所述vCPU访问所述第一RAM时对所述目标虚拟机的软件系统密文进行加解密处理之前,所述方法包括:
所述虚拟机管理器接收所述用户终端发送的所述软件系统密文;
所述虚拟机管理器将所述软件系统密文加载至所述第一RAM;
或,
所述安全处理器接收所述用户终端发送的所述软件系统密文;
所述安全处理器将所述软件系统密文加载至所述第一RAM。
4.根据权利要求1至2中任一项所述的方法,其特征在于,所述目标虚拟机的软件系统包括基本输入输出系统BIOS、操作系统加载器OS loader、操作系统内核OS kernel和应用程序Application中的至少一种,所述软件系统密文包括BIOS、OS loader、OS kernel和Application中的至少一种。
5.根据权利要求4所述的方法,其特征在于,当所述软件系统密文包括所述BIOS和所述OS loader时,所述软件系统密文的加载包括:
所述BIOS和所述OS loader被加载至所述第一RAM;
所述OS loader将所述OS kernel加载至所述第一RAM。
6.根据权利要求5所述的方法,其特征在于,所述OS kernel的加密密钥与所述BIOS和所述OS loader的加密密钥不同。
7.根据权利要求1、2、5、6中任一项所述的方法,其特征在于,所述加解密引擎利用所述对称密钥对所述vCPU访问所述第一RAM时对所述软件系统密文进行加解密处理之后,所述方法还包括:
所述虚拟机管理器为所述目标虚拟机分配第二RAM;
所述安全处理器生成临时密钥,并将所述临时密钥分配给所述加密引擎;
所述目标虚拟机将所述软件系统迁移至所述第二RAM,所述软件系统由所述加解密引擎利用所述对称密钥对所述软件系统密文进行解密后得到;
所述加解密引擎利用所述临时密钥为所述vCPU访问所述第二RAM时对所述软件系统进行加解密;
所述目标虚拟机在所述vCPU和所述第二RAM中运行;
所述虚拟机管理器释放所述第一RAM。
8.一种加密方法,应用于用户终端,所述方法包括:
所述用户终端利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文,所述目标虚拟机位于云计算服务器;
所述用户终端将所述软件系统密文发送给所述云计算服务器,以使得所述软件系统密文被加载至第一RAM,所述第一RAM为所述云计算服务器的虚拟机管理器为所述目标虚拟机分配,虚拟中央处理器vCPU访问所述第一RAM时,所述软件系统密文和所述第一RAM被所述云计算服务器的加解密引擎利用所述对称密钥进行加解密处理,所述对称密钥由所述云计算服务器的安全处理器获取并配置给所述加解密引擎,所述vCPU由所述虚拟机管理器为所述目标虚拟机分配;
所述用户终端利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文之前,所述方法还包括:
所述用户终端与所述安全处理器协商生成所述对称密钥;
或,所述用户终端利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文之前,所述方法还包括:
所述用户终端生成所述对称密钥。
9.根据权利要求8所述的方法,其特征在于,所述用户终端生成所述对称密钥之后,所述方法还包括:
所述用户终端获取公钥,所述公钥为所述安全处理器生成的非对称密钥中的公钥;
所述用户终端利用所述公钥加密所述对称密钥生成加密对称密钥;
所述用户终端将所述加密对称密钥发送给所述安全处理器,以使得所述安全处理器利用私钥对所述加密对称密钥进行解密得到所述对称密钥,所述私钥为所述安全处理器生成的非对称密钥中的私钥。
10.根据权利要求8至9中任一项所述的方法,其特征在于,所述用户终端将所述软件系统密文发送给所述云计算服务器包括:
所述用户终端将所述软件系统密文发送给所述虚拟机管理器或所述安全处理器。
11.一种云计算服务器,其特征在于,包括:
安全处理器、加解密引擎、目标虚拟机以及虚拟机管理器;
所述虚拟机管理器,用于为所述目标虚拟机分配虚拟中央处理器vCPU和第一RAM;
所述安全处理器,用于获取对称密钥,所述对称密钥由用户终端生成或由所述安全处理器与所述用户终端协商生成;将所述对称密钥配置给所述加解密引擎;
所述加解密引擎,用于利用所述对称密钥为所述vCPU访问所述第一RAM时对所述目标虚拟机的软件系统密文和所述第一RAM进行加解密处理,所述软件系统密文为所述用户终端利用所述对称密钥加密所述目标虚拟机的软件系统生成,且所述软件系统密文被加载至所述第一RAM。
12.根据权利要求11所述的云计算服务器,其特征在于,在所述对称密钥由所述用户终端生成时,所述安全处理器,还用于生成非对称密钥,所述非对称密钥包括公钥和私钥,所述公钥由所述安全处理器提供给所述用户终端,所述私钥由所述安全处理器保存;接收所述用户终端发送的加密对称密钥,所述加密对称密钥由所述用户终端利用所述公钥加密所述对称密钥生成;利用所述私钥解密所述加密对称密钥得到所述对称密钥。
13.根据权利要求11至12中任一项所述云计算服务器,其特征在于,所述虚拟机管理器,用于接收所述用户终端发送的所述软件系统密文;将所述软件系统密文加载至所述第一RAM;
或,
所述安全处理器,用于接收所述用户终端发送的所述软件系统密文;将所述软件系统密文加载至所述第一RAM。
14.根据权利要求11至12中任一项所述的云计算服务器,其特征在于,所述目标虚拟机的软件系统包括基本输入输出系统BIOS、操作系统加载器OS loader、操作系统内核OSkernel和应用程序Application中的至少一种,所述软件系统密文包括BIOS、OS loader、OSkernel和Application中的至少一种。
15.根据权利要求14所述的云计算服务器,其特征在于,当所述软件系统密文包括所述BIOS和所述OS loader时,所述软件系统密文的加载包括:
所述BIOS和所述OS loader被加载至所述第一RAM;
所述OS loader将所述OS kernel加载至所述第一RAM。
16.根据权利要求15所述的云计算服务器,其特征在于,所述OS kernel的加密密钥与所述BIOS和所述OS loader的加密密钥不同。
17.根据权利要求11、12、15、16中任一项所述的云计算服务器,其特征在于,所述虚拟机管理器,还用于为所述目标虚拟机分配第二RAM;
所述安全处理器,还用于生成临时密钥,并将所述临时密钥分配给所述加解密引擎;
所述目标虚拟机,用于将所述软件系统迁移至所述第二RAM,所述软件系统由所述加解密引擎利用所述对称密钥对所述软件系统密文进行解密后得到;
所述加解密引擎,用于利用所述临时密钥为所述vCPU访问所述第二RAM时对所述软件系统进行加解密;所述目标虚拟机,用于在所述vCPU和所述第二RAM中运行;
所述虚拟机管理器,用于释放所述第一RAM。
18.一种用户终端,其特征在于,包括:
处理模块,用于利用对称密钥对目标虚拟机的软件系统进行加密得到软件系统密文,所述目标虚拟机位于云计算服务器;
发送模块,用于将所述软件系统密文发送给所述云计算服务器,以使得所述软件系统密文被加载至第一RAM,所述第一RAM为所述云计算服务器的虚拟机管理器为所述目标虚拟机分配,虚拟中央处理器vCPU访问所述第一RAM时,所述软件系统密文和所述第一RAM被所述云计算服务器的加解密引擎利用所述对称密钥进行加解密处理,所述对称密钥由所述云计算服务器的安全处理器获取并配置给所述加解密引擎,所述vCPU由所述虚拟机管理器为所述目标虚拟机分配;
所述处理模块,还用于与所述安全处理器协商生成所述对称密钥; 或,
所述处理模块,还用于生成所述对称密钥。
19.根据权利要求18所述的用户终端,其特征在于,所述用户终端还包括接收模块,所述接收模块,用于获取公钥,所述公钥为所述安全处理器生成的非对称密钥中的公钥;
所述处理模块,还用于利用所述公钥加密所述对称密钥生成加密对称密钥;
所述发送模块,还用于将所述加密对称密钥发送给所述安全处理器,以使得所述安全处理器利用私钥对所述加密对称密钥进行解密得到所述对称密钥,所述私钥为所述安全处理器生成的非对称密钥中的私钥。
20.根据权利要求18至19中任一项所述的用户终端,其特征在于,所述发送模块,具体用于将所述软件系统密文发送给所述虚拟机管理器或所述安全处理器。
21.一种云计算系统,其特征在于,包括:
云计算服务器和用户终端;
所述云计算服务器与所述用户终端之间进行数据传输;
所述云计算服务器具有上述权利要求11至权利要求17所述的云计算服务器的全部功能;
所述用户终端具有上述权利要求18至权利要求20所述的用户终端的全部功能。
22.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,所述计算机执行上述权利要求1至权利要求10所述的方法。
23.一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,所述计算机执行上述权利要求1至权利要求10所述的方法。
CN201810152246.9A 2018-02-14 2018-02-14 一种加密方法及装置 Active CN108418817B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810152246.9A CN108418817B (zh) 2018-02-14 2018-02-14 一种加密方法及装置
PCT/CN2018/106017 WO2019157816A1 (zh) 2018-02-14 2018-09-17 一种加密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810152246.9A CN108418817B (zh) 2018-02-14 2018-02-14 一种加密方法及装置

Publications (2)

Publication Number Publication Date
CN108418817A CN108418817A (zh) 2018-08-17
CN108418817B true CN108418817B (zh) 2021-02-26

Family

ID=63128986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810152246.9A Active CN108418817B (zh) 2018-02-14 2018-02-14 一种加密方法及装置

Country Status (2)

Country Link
CN (1) CN108418817B (zh)
WO (1) WO2019157816A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418817B (zh) * 2018-02-14 2021-02-26 华为技术有限公司 一种加密方法及装置
CN109672521B (zh) * 2018-12-26 2022-11-29 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储系统和方法
CN110781506A (zh) * 2019-10-18 2020-02-11 浪潮电子信息产业股份有限公司 一种虚拟化fpga的运行方法、运行装置及运行系统
CN110995685B (zh) * 2019-11-26 2022-07-19 中国银联股份有限公司 数据的加解密方法、装置、系统及存储介质
CN111371546A (zh) * 2020-03-11 2020-07-03 核芯互联(北京)科技有限公司 基于企业通信办公平台的通信系统、通信方法及设备
CN113179240B (zh) * 2020-09-28 2023-01-06 深圳华智融科技股份有限公司 密钥保护方法、装置、设备及存储介质
US11601260B1 (en) * 2021-10-29 2023-03-07 Uti Limited Partnership Encryption/decryption using key encapsulation/decapsulation
CN115422568B (zh) * 2022-10-31 2023-03-24 南京芯驰半导体科技有限公司 一种基于SoC的文件加密方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726027A (zh) * 2011-12-28 2012-10-10 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备
CN102726028A (zh) * 2011-12-31 2012-10-10 华为技术有限公司 一种加密方法、解密方法和相关装置及系统
CN102739689A (zh) * 2012-07-16 2012-10-17 四川师范大学 一种用于云存储系统的文件数据传输装置和方法
CN103530169A (zh) * 2013-10-22 2014-01-22 中国联合网络通信集团有限公司 虚拟机文件保护方法和用户终端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470789A (zh) * 2007-12-28 2009-07-01 中国长城计算机深圳股份有限公司 一种计算机的加解密方法及装置
US10425229B2 (en) * 2016-02-12 2019-09-24 Microsoft Technology Licensing, Llc Secure provisioning of operating systems
CN107368354B (zh) * 2017-08-03 2021-02-02 海光信息技术股份有限公司 一种虚拟机安全隔离方法
CN108418817B (zh) * 2018-02-14 2021-02-26 华为技术有限公司 一种加密方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726027A (zh) * 2011-12-28 2012-10-10 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备
CN102726028A (zh) * 2011-12-31 2012-10-10 华为技术有限公司 一种加密方法、解密方法和相关装置及系统
CN102739689A (zh) * 2012-07-16 2012-10-17 四川师范大学 一种用于云存储系统的文件数据传输装置和方法
CN103530169A (zh) * 2013-10-22 2014-01-22 中国联合网络通信集团有限公司 虚拟机文件保护方法和用户终端

Also Published As

Publication number Publication date
CN108418817A (zh) 2018-08-17
WO2019157816A1 (zh) 2019-08-22

Similar Documents

Publication Publication Date Title
CN108418817B (zh) 一种加密方法及装置
US11038852B2 (en) Method and system for preventing data leakage from trusted network to untrusted network
US9792427B2 (en) Trusted execution within a distributed computing system
US9954680B1 (en) Secure management of a master encryption key in a split-key based distributed computing environment
US20230244798A1 (en) Systems and Methods of Performing Computation Operations Using Secure Enclaves
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US9503433B2 (en) Method and apparatus for cloud-assisted cryptography
US8977842B1 (en) Hypervisor enabled secure inter-container communications
US10122713B2 (en) Method and device for the secure authentication and execution of programs
EP2947811A1 (en) Method, server, host and system for protecting data security
CN106610863B (zh) 虚拟机可信迁移方法及装置
US10298551B1 (en) Privacy-preserving policy enforcement for messaging
CN110971398A (zh) 数据处理方法、装置及系统
CN111954879B (zh) 互不信任的飞地
CN112400299B (zh) 一种数据交互方法及相关设备
WO2022073429A1 (zh) 数据管理方法、装置及系统、存储介质
CN114930328A (zh) 将安全模块的安全对象绑定到安全访客
CN115053222A (zh) 通过主机与虚拟来宾之间的受控交互来创建隔离工作区的方法和系统
CN107179936A (zh) 一种基于特权分离的虚拟化隔离方法
CN110750326A (zh) 一种虚拟机的磁盘加解密方法以及系统
CN103873245A (zh) 虚拟机系统数据加密方法及设备
CN108154037B (zh) 进程间的数据传输方法和装置
WO2023124530A1 (zh) 一种数据加密系统及相关产品
US11995197B2 (en) Sensitive data encryption
CN111193659B (zh) 一种基于即时聊天工具的文件处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant