首页> 中国专利> 用于对上下文加密密钥进行备份和恢复的方法和系统

用于对上下文加密密钥进行备份和恢复的方法和系统

摘要

一种方法和系统,用于在安全处理系统内对可信设备的上下文加密密钥进行备份和恢复,保持虚拟可信设备上下文的安全性,提供对可信设备的现场替换。由随机数对CEK连同系统标识符进行加密,以产生第一结果。再使用厂商公钥对第一结果加密。所得的blob连同随机数一起存储。为了恢复,系统将blob和设备ID发送至服务器。服务器通过用厂商私钥解密获得第一结果,用设备公钥再加密,并发送回新结果。系统将新结果连同关联的随机数发送至设备。设备使用其私钥解密新结果,并使用随机数解密CEK。

著录项

  • 公开/公告号CN1763684A

    专利类型发明专利

  • 公开/公告日2006-04-26

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200510077635.2

  • 申请日2005-06-17

  • 分类号G06F1/00(20060101);G06F11/14(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-17 17:12:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-04-09

    授权

    授权

  • 2006-06-14

    实质审查的生效

    实质审查的生效

  • 2006-04-26

    公开

    公开

说明书

技术领域

本发明总体上涉及处理系统中的安全,更具体地,涉及一种方法,用于对密钥进行备份和恢复,所述密钥用于在没有可用的可信设备时,将机器上下文(machine context)导出并导入到替换设备中。

背景技术

当今的计算系统,更具体地,大规模服务器系统经常包括对于运行多个虚拟机的支持。该系统可以是大规模随需应变服务器系统,它在单一硬件平台上执行成百上千的服务器实例,以支持具有不断变化的计算需求的客户。在这些系统中最灵活的系统中,在操作系统和应用搭配上有所不同的多个分区同时存在于系统存储器中,而且在每个分区中执行的各个进程在一个支持其在访客操作系统上执行的环境中运行。虚拟机提供一种与真实硬件平台足够相似的环境,使得,操作系统进行很小的改变或不用改变就能够运行。系统管理程序(有时称为虚拟机监视器)管理所有的虚拟机或分区,并抽象系统资源,使得,每个分区为每个操作系统实例提供一种类似机器的环境。

为实现上述架构目标,系统中安装有多个处理模块和其它设备,每个设备通常支持上述分区中的一个或多个,尽管有可能在多个设备之间的一个分区上共享任务。设备组或单独的设备可与一个特定客户相关联,而且希望包括来自设备和系统厂商对该设备的保护,来确保只有那个客户能对设备或组进行访问。

在名为“Method and system for verifying binding of aninitial trusted device to a secured processing system”(用于验证初始可信设备到安全处理系统的绑定的方法和系统),代理人案卷号为AUS920040504US1的专利申请描述了一种机制,用于在系统中新安装了第一可信设备,或者当在先前已具有一个或多个可信设备的系统中替换了最后一个可信设备时,将初始可信设备绑定到系统上。该机制提供了对可信设备的现场绑定和远程验证。典型地,由于安全的原因,这样的绑定必须在厂商所在地完成,不过,上述专利申请公开了可在现场进行安装和替换的选择。但是,存在其它对于可信设备(或可信设备组)也是唯一的安全机制,同样需要令牌(token),而令牌一般只在厂商所在地安装或生成于设备自身内部。一个这样的安全机制被称为“上下文加密密钥(CEK)”,这是一种对称密钥,用于将可信设备状态(上下文)导入到一个或多个可信设备中,或者从一个或多个可信设备中导出可信设备状态(上下文),使得,在故障或掉电情况下,虚拟机(或者至少虚拟的机器状态的可信设备部分)能够“交换出来”或存储。可信设备的上下文存储在位于可信设备外面的外部存储器中,不过,当导出到可信设备外部时,会对其进行加密以确保安全。CEK一般生成于系统中初始可信设备内,并且在绑定之后,当需要时传播至系统中其它可信设备。

但是,当系统中不存在其它可信设备而安装替换可信设备时,新生成的CEK不能为运行于故障或掉电的系统上或交换出去存储的虚拟可信设备解密存在的导出的上下文。

因此,希望提供一种机制,以安全地对来自于系统原有设备以及要到系统替换可信设备的上下文加密密钥进行备份和恢复。还希望当系统中不存在其它具有该密钥的设备时,能够进行恢复。进一步希望提供这样一种方法,其中厂商验证该CEK正被安装到与特定系统正确绑定的设备中。

发明内容

提供一种用于备份和恢复上下文加密密钥的安全机制的目的在一种方法和系统中得以实现。该方法的各部分可具体体现在执行于与每个部分关联的不同的处理系统上的计算机程序产品中。

该方法包括,通过在可信设备内生成加密的blob(二进制大对象),在系统内备份上下文加密密钥(CEK),并将其发送至系统进行存储。该blob包括CEK和系统标识符,并且由一次性随机数(或“nonce(当前时间)”)进行对称加密,然后再用厂商的公钥进行加密。将随机数和所得到的加密的blob发送至系统进行存储。

当没有其它可用的可信设备包含CEK而有必要在替换设备移植CEK时,取回blob,并连同替换设备标识符发送至厂商服务器。服务器使用厂商的私钥解密blob,在服务器验证设备和系统正确地绑定在一起之后,再使用替换设备公钥对blob再加密,该替换设备公钥是使用该设备标识符从数据库取回的。然后服务器将再加密的blob发送至系统中,系统将blob连同与其关联的原始随机数传送回设备中。接着,替换设备使用其私钥解密这个再加密的blob,再使用随机数进一步解密该blob,以取回系统标识符和CEK。设备验证系统标识符匹配后,安装CEK。

本发明的前述及其它目的、特征和优势将在下列,更具体地,在本发明如附图中所示的优选实施方式的描述中变得更加清晰。

附图说明

被认为是本发明特征的新颖特征在所附权利要求书中给出。但是结合附图阅读下列示意性实施方式的详细描述,可以对本发明本身、其优选使用模式及其进一步的目的和优势有更好的理解,其中,相同的参考标号表示相同的部件:

图1是一个计算系统的框图,可在其中实现本发明的一个实施方式。

图2是依照本发明一个实施方式的系统存储映像的框图。

图3是描述依照本发明一个实施方式的方法的一部分的流程图。

图4是描述依照本发明一个实施方式的方法的另一部分的流程图。

具体实施方式

现在参照附图,更具体地,参照图1,其描述了一个系统的框图,可在这个系统中实现本发明的一个实施方式。应当理解,所描述的实施方式只是本发明的方法和技术可应用的处理系统类型的实例,本发明并不局限于所描述的实施方式。该系统包括安全本地系统5,其具有四个处理器模块(处理器模块10A和其它三个相同的处理器模块10B-D)。本地系统5可连接到其它系统单元5A,组成超大规模处理系统。本地系统经由互联网(Internet)连接3或者可供选择的网络接口连接到厂商服务器1。厂商服务器(可以是上面提到的专利申请中的证书提供者服务器)包括处理器12A,用于执行依照本发明一个实施方式的服务器程序指令;以及服务器存储器11,用于存储程序指令和数据。

每个处理模块10A、10B-D包括处理器12,用于执行程序指令,本地存储器6,通常映射为其它处理器模块10B-D可访问的系统存储器;以及高速缓冲存储器14,用于存储数据和程序指令。每个处理模块10A、10B-D还包括非易失性存储器13,存储本发明方法所使用的值,以验证处理器模块10A、10B-D安装在它们所绑定的系统中。每个处理器模块10A、10B-D还可包括服务处理器16,它可实现本发明的安全功能,或者作为选择,处理器12可完成在下面进行详述的任务。处理器模块10A、10B-D还包括本地快速接口18,用于与本地系统5中的其它模块进行互通,以及网络接口15,用于与其它系统单元5A和Internet连接3进行通信。本地系统还包括存储器设备7以及其它设备9,可将本发明的绑定技术应用于这些设备。系统非易失性存储器13A(其包括磁盘存储器)也包括在内,用于存储CEK备份信息和其它与本发明的安全技术关联的系统值,例如系统序列号或其它标识符,连同上面提到的专利申请中所述的绑定验证数据。

在系统本地存储器6中,虚拟机监视器程序,或“系统管理程序”为多虚拟机(VM)或多分区的执行提供支持,每个虚拟机或分区为操作系统和多个“访客”程序(由操作系统执行并运行于相关VM中的应用和服务)提供执行环境。由于多种原因,例如系统或设备故障,系统关闭,以及虚拟机在可信设备的交换出入,虚拟机上下文被脱机存储。更具体地,如果系统中最后一个可信设备发生故障,有必要,如果可以,从虚拟机导出所有上下文,使得稍后能够恢复所有上下文。当上下文导出到可信设备外部时,对其进行加密保护,为实现这一目的,将上下文加密密钥(CEK)安装于可信设备中。因此,设备能够解密导入的上下文,并且将导出到存储器设备7或其它位置的上下文进行加密。上下文包括特定可信平台内虚拟可信设备的完整状态,其一般是数据信息,但也可扩展为包括包括静态和动态数据在内的虚拟机的完整状态和/或程序指令。上下文必须只在特定可信设备上可执行或可读,所述特定可信设备可以是系统中所有可信设备或是与特定客户或应用关联的可信设备子群。

本发明使用对称和非对称加密,以确保CEK到替换可信设备中的安装,使得,厂商不能解密可信设备上下文,同样使得对于可信设备,终端用户不能推翻厂商的需求。CEK是从先前存储在系统中的备份中获得的。备份可有效加密地经过第三实体,因此可一直保持CEK的安全性。本发明所应用的架构包括上面提到的专利申请所描述的各种变形,并且依赖于用来实现可信设备的物理硬件安全性信任的可信设备绑定。可信设备在多个虚拟机之间共享,每个虚拟机具有各自的唯一“可信属性”集,当其导出到可信平台设备外部时,就作为上下文被存储。

但是,本发明的技术还可用于向设备恢复丢失的CEK,或者在设备中安装另一个CEK,有效地修复设备或对其调整以读取保存的上下文,例如,可信设备被指定给另一个具有不同CEK的处理设备子群。

而且,应当理解,本发明的技术不仅应用于可信设备,而且,本发明的技术还可应用于任意设备,对于这种设备,可使用本发明的技术进行上下文的安全导入和导出,或者当必须将密钥的备份拷贝安全地传送给一个设备,而避免密钥的传递被截取或复制时,也可应用本发明的技术。例如,存储器设备内的文件可加密地绑定到设备或阵列系统上,使得,存储的数据能够仅由设备电子装置或阵列控制器读取,以及在进行设备电子装置或阵列控制器的现场修复或远程升级时,必须安装新的密钥。本发明提供一种通用技术,用于备份并向设备恢复CEK。因此,应当理解,虽然出于说明的目的,下列描述是参照处理器模块10A到本地系统5的绑定,但同样可应用于其它设备和其它系统的绑定。

现在参照图2,其表示图1的计算机系统中存储映像和信息流的框图。在设备非易失性存储器13中,存储有设备特有标识符,以及设备制造时安装的唯一的设备特有密钥对和厂商公钥,其用于发送加密通信到厂商服务器1。

为了对安装在可信设备中的CEK进行备份,以用于日后修复,设备(以处理器模块10A为例)生成一次性随机数(nonce),然后设备使用这个随机数加密CEK和系统特有标识符。系统特有标识符是先前由本地系统5从系统非易失性存储器13A处提供给处理器模块10A的(或者是由处理器模块10A直接从系统非易失性存储器13A获取的)。使用存储在处理器模块10A中的厂商公钥对第一加密结果再次进行加密。然后,将第二加密结果(CEK导出blob)连同关联的随机数(RN)发送至本地系统5的另一个位置进行存储。上面的备份过程能够如所期望地重复多次,由于一次性随机数的原因,每次所得结果都是唯一的。

当没有其它可用的可信设备,而有必要在替换设备上安装CEK时,可以从存储在本地系统5的备份中取回CEK,但必须有厂商服务器1共同参与,厂商服务器1能够在检测到无效的设备/系统组合时停止转移。本地系统5将CEK导出blob连同替换设备标识符发送至厂商服务器1,厂商服务器1使用厂商的私钥解密blob。厂商使用设备特有公钥对提取的结果(上面的第一加密结果)再加密,以形成CEK导入blob,这里,设备特有公钥是使用本地系统5发送的替换设备标识符从数据库22取回的。首先,服务器1验证设备ID与系统ID是正确关联的,而且设备绑定到该系统平台上,否则,服务器1就不完成它的CEK恢复过程部分。

由于双重秘密机制(随机数加密上的厂商密钥对或设备密钥对加密的),厂商不需要在这个过程中“看见”CEK,而且厂商服务器1和本地系统5之间的通信也不会暴露CEK。

厂商服务器1将再加密的CEK导入blob返回给本地系统13A,该本地系统13A再将blob连同关联的随机数(RN)传送给替换设备。然后设备使用其设备特有私钥解密CEK导入blob,取回最初的第一加密结果,再使用RN对第一加密结果解密,以提取CEK和系统标识符。当验证了双重解密的blob的系统标识符与替换设备绑定的系统相匹配时,该设备安装CEK,以用于上下文的导出和导入。

现在参照图3,其描述了依照本发明一个示意性实施方式的方法的一部分。当接收到(一般来自系统管理程序的系统管理控制台)备份CEK的请求(步骤30)时,设备生成一次性随机数(RN),并用该一次性随机数来加密系统标识符和CEK,以获得第一加密结果(步骤31)。然后设备用厂商公钥加密第一加密结果,以产生CEK导出blob(步骤32)。将blob和随机数发送至系统进行存储(步骤33),系统存储CEK导出blob以备将来系统丢失CEK时使用(步骤34)。

现在参照图4,其描述了依照本发明一个示意性实施方式的方法的另一部分。当替换设备新绑定到系统(步骤40)时,如果系统中存在包含有CEK的可信设备(判决41),则CEK从其它可信设备并入替换设备中。但是,如果系统中不存在可信设备(判决41),从根据图3所述方法存储的备份中安装CEK。首先,系统将CEK导出blob和替换设备标识符发送至厂商服务器1(步骤43)。厂商服务器1使用厂商私钥解密CEK导出blob,以获得由设备生成的第一加密结果。然后,厂商服务器1使用所提供的设备标识符从数据库22中取回替换设备的公钥,在验证设备是正确地绑定之后,对第一加密结果再加密(步骤45),并将得到的CEK导入blob发送到系统中。系统接收CEK导入blob,并将其连同在备份过程中存储的关联的一次性随机数发送至替换设备。

最后,替换设备接收CEK导入blob和关联的随机数,使用其设备特有私钥对CEK导入blob进行解密,以获得第一加密结果,然后使用随机数解密第一加密结果,以获得CEK(步骤47)。然后只有在解密的系统标识符与替换设备绑定的系统相匹配时,替换设备才开始使用CEK。

尽管本发明是特别参考其优选实施方式进行说明和描述的,本领域熟练技术人员应当理解,在不偏离本发明精神和范围的基础上,可对上述和其它进行形式上和细节上的改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号