监视程序保护的密钥的制作方法

文档序号:33456095发布日期:2023-03-15 02:22阅读:73来源:国知局
技术简介:
本专利针对虚拟化环境中密钥安全传输与访问控制的问题,提出通过受信监视程序生成访客封装密钥,并创建共享主密钥的卫星虚拟服务器实例,实现密钥的封装、转换与保护。方法包括注册验证、密钥生成、封装传输及转换授权,确保主密钥不被未授权访问,提升虚拟化场景下的密码学操作安全性。
关键词:加密密钥管理,虚拟化安全

1.本发明一般涉及密码学,并且具体地,涉及向访客虚拟服务器提供密码学密钥对象以供密码学操作使用。


背景技术:

2.世界正在数字社会的方向上运动。越来越多的过程、产品和服务以数字形式递送。同时,隐私要求也在增加,并且企业和政府组织尝试保护它们的数字资产。密码学是用于数字隐私的核心技术,并且基于应当从不落入未授权的系统或人员手中的秘密密钥。此外,网络攻击的数量和复杂性也增加了。因此,保护敏感数据的需要随着时间而显著增加。
3.如果假设密码学算法没有缺陷,则密码学的安全性取决于所使用的密钥的保密性。经常地,密钥可以位于将被用于密码学功能的用户系统的存储器中。因此,这种密钥以“明文密钥密码”的形式使用。因为对该密钥的访问也将允许对加密数据的访问,所以密钥的暴露将破坏保密性。
4.因此,存在在用户的所涉及的密码学功能的存储器系统中利用不可用的密钥来进行密码学操作的其它方式。例如,用户系统可以调用硬件安全模块(hsm)。用户系统然后具有令牌、包封密钥或告知硬件安全模块将使用哪个密钥的另一种方式。因为令牌或包封密钥将不提供对加密数据的任何访问,除非一方也具有对硬件安全模块的访问资格,所以使用hsm可以提供附加的安全性。这种hsm解决方案的已知缺点是,带宽经常变得有限,并且操作的等待时间增加。
5.被表示为“受保护密钥”概念的第三种变型已经被添加到大型计算机,如ibm z系统。这个变型使用通过包封密钥加密另一个密钥而形成的包封密钥。包封密钥是(可信的)固件所知的。这种包封由例如crypto express适配器的硬件安全模块启动。包封密钥的用户系统可以仅访问包封密钥,而cpu可以利用展开的密钥进行密码操作。这种方法将明文密钥密码的速度与受保护密钥的安全级别相结合。
6.受保护密钥可能已经用虚拟服务器(vs)特定的主密钥(vs-mk)加密,vs-mk是虚拟服务器的运行实例所特定的并且虚拟服务器不可访问。虚拟服务器主密钥vs-mk可隐藏在固件中。
7.虚拟服务器主密钥(vs-mk)是从主机主密钥(host-mk)和当配置虚拟服务器时由主机提供的虚拟服务器特定模式中导出的。在每个虚拟服务器内部,固件可以提供接口以将明文密钥转换成由主密钥包封的受保护密钥,该主密钥专用于调用的虚拟服务器。目前,这种方法的实施存在于大型机系统上,例如ibm z。
8.如果虚拟服务器主密钥专用于虚拟服务器的运行实例,并且如果受保护密钥仅对虚拟服务器的该特定运行实例有效,则该方法是有问题的。如果在虚拟服务器被重新引导、挂起到磁盘并恢复或迁移到另一系统的情况下受保护密钥不再有效,则该方法是有问题的。
9.因此,可以看出在此提出的方法和系统的根本问题在于如何可以将密钥用作虚拟
服务器的多个(引导)实例中的受保护密钥,使得虚拟服务器从不必须存储可以用于以文本形式公开密钥的数据。这可以在不能访问主机并且可以安全地存储托管数据的边界条件下实现。
10.在这种情况下,已经发布了一些文献:文献u.s.2017/0277898a1公开了一种处理器,其采用安全模块来管理用于处理器的认证和加密密钥。安全模块可以向其他处理系统认证其自身,使得提供要在处理器处执行的软件的处理系统可以生成用于对所提供的软件的地址空间进行加密的密钥,并且可以向处理系统安全地导入加密地址空间处的信息以及从处理系统安全地导出加密地址空间处的信息。
11.另外,文献u.s.8,996,887b2公开了一种用于提供数据的方法。该方法包括从第一虚拟机(vm)接收存储数据的第一请求,获得数据和授权用户的访问控制列表(acl),获得具有数据密钥标识符的数据密钥,使用包封密钥加密数据密钥和acl以生成包封的blob,加密数据,存储包封的blob和加密的数据,以及在acl上向用户提供数据密钥标识符。
12.然而,这些方法也不能解决当硬件安全模块不可用或不实际时使用受保护密钥的上述问题。


技术实现要素:

13.本发明的实施例可以包括一种计算机实施的方法、一种计算机系统和一种计算机程序产品,用于向访客虚拟服务器提供密码学密钥对象以便在密码学操作中使用。访客虚拟服务器可以向受信监视程序(hypervisor)注册。注册可以包括使用访客凭证。受信监视程序可以生成访客包封密钥,并且可以将访客包封密钥与访客凭证相关联。在从访客虚拟服务器接收到以访客凭证作为自变量的请求时,受信监视程序可以为访客虚拟服务器生成卫星虚拟服务器实例。卫星虚拟服务器实例可以配置有来自访客虚拟服务器的虚拟服务器专用数据。卫星虚拟服务器实例可以与虚拟访客服务器共享主密钥。主密钥不能被受信监视程序或任何访客虚拟服务器访问。
14.受信监视程序可以将访客包封密钥的副本传递到卫星虚拟服务器实例。受信监视程序可以生成随机访客密钥。受信监视程序可以用访客包封密钥包封随机访客密钥,从而产生经包封的访客密钥。在从访客虚拟服务器接收到转换请求时,可以执行经包封的访客密钥的转换以将经包封的访客密钥改变为受保护密钥。转换可以包括用主密钥重新包封访客密钥以形成受保护的访客密钥。受保护的访客密钥用作密码学密钥对象。
15.用于向访客虚拟服务器提供密码学密钥对象以便在密码学操作中使用的计算机实施的方法、计算机系统和计算机程序产品可以提供多个优点、技术效果、贡献和/或改进。
16.在不需要硬件安全模块(hsm)的情况下选择使用受保护密钥的构思是优于现有解决方案的显著优点,因为所公开的发明使得可以避免hsm所需的开销和/或成本。本发明可以为加密密钥提供与需要硬件安全模块的那些解决方案相同或至少等同的安全级别。本发明的解决方案可以完全基于软件,并且可以没有任何额外需要的硬件。因此,本发明的解决方案可以实现在相同或等同的安全级别下密码学解决方案的较低价格点,直到现在仅由基于硬件的安全模块的解决方案提供。
17.本发明的一个有益的优点是受保护密钥比在监视程序上运行的虚拟系统的实例“生存时间”更长。根据通常在监视程序上执行的虚拟机的绝对数量,在性能降级方面,可以
忽略另外实现的卫星虚拟服务器。此外,卫星虚拟服务器的功能可以限于一个或仅几个功能或服务。例如,卫星虚拟服务器可以执行单个事务-即,将经包封的访客密钥转换成受保护密钥。监视程序应当是受信监视程序。在可能需要受保护密钥的典型计算环境中,例如在大型机计算环境中,监视程序可以被看作是通过设计而可信的,因为通常以硬件实现的一系列固件组件可以支持监视程序的功能或者可以与监视程序的功能集成。
18.由于不需要安装附加的硬件,因此这里提出的发明也可以在主机计算系统的运行时间期间实现。因此,没有操作系统的停机时间和没有从这样的停机时间减少的生产率时间是所提出的发明方案的进一步有利的结果。
19.下面将描述本发明的附加的实施例。
20.根据本发明的一个高级实施例,转换还包括卫星虚拟服务器实例使用访客包封密钥来解开经包封的访客密钥。因此,卫星虚拟服务器对受保护密钥的递送可以在没有硬件安全模块的情况下发生。
21.根据本发明的另一实施例,转换请求包括作为自变量的访客凭证,例如作为转换自变量。因此,卫星虚拟服务器对受保护密钥的递送可以完全在没有硬件安全模块的情况下发生。
22.根据本发明的另一实施例,受信监视程序可以维护与验证访客凭证所需的数据相关联的访客包封密钥的储存库。因此,可以持久地维护不同访客虚拟机的访客包封密钥,即,可以在相关访客虚拟机的关机后继续存在,并且来自不同访客虚拟服务器的凭证可以保持可验证。
23.根据本发明的另一实施例,受信监视程序可以使用密码学单向函数来计算验证访客凭证所需的数据。这种密码学单向函数可以是密码学散列函数。该实施例改进了监视程序的安全性,因为它消除了存储访客的凭证的需要。
24.根据本发明的一个有利实施例,密钥储存库可用密码短语保护。因此,利用该实施例,不允许对密钥存储器的不受控制的访问。可以保护密钥储存库以防非允许的访问。
25.根据本发明的一个增强的实施例,可以通过硬件安全模块来保护储存库内的访客包封密钥。当硬件安全模块对于监视程序可用而对于监视程序所托管的所有访客不可用时,该实施例可以代表用于访客包封密钥的增强保护的高级选项。
26.根据本发明的有利实施例,虚拟服务器特定的数据可以是存储在虚拟机的密码控制块(crycb)中的数据。该数据特征可以应用于访客虚拟服务器以及卫星虚拟服务器。因此,利用该实施例,值得信任的监视程序可以根据安全要求将两个访客配置成共享或不共享配置数据。换句话说,两个标准访客将不共享安全相关数据,但是一个访客及其附属访客将共享安全相关数据。
27.根据本发明的另一个有利实施例,卫星虚拟服务器可以具有唯一接口,并且该唯一接口可以连接到受信监视程序。因此,利用该实施例,卫星虚拟服务器的其他接口或api可能是可用的或可使用的,并且可以防止卫星虚拟服务器被误用而危及这里提出的安全发明。
28.可替换地或附加地,并且根据本发明的另一实施例,受信监视程序还可以使用来自卫星虚拟服务器的服务,例如附加服务,来生成随机密钥并且将随机密钥与访客包封密钥包封在一起。因此,对于该实施例,可以在受信监视程序和卫星虚拟服务器之间处理用于
这里提出的安全发明的所有高度敏感的核心功能。
29.根据一个许可实施例,本发明还可以包括由受信监视程序在注册之后授权每个请求。所述授权可以包括使用在注册之后随相应请求提供的附加访客凭证。这些特征允许访客注册与多个凭证相关联的多个包封密钥,使得密钥生成和包封密钥转换操作可以在多个独立的密钥空间上操作。
30.根据所述方法的另一高级实施例,监视程序可以在注册之后授权对访客虚拟服务器请求的进一步请求。授权可以另外基于访客特定的数据。用于该实施例的访客特定的数据可以是例如可能在注册请求期间已被记录的引导卷数据或访客所有者数据。因此,利用这些特征,可以进一步降低损害所提出的安全发明的可能性。
附图说明
31.应当注意,本领域技术人员将从以上描述和以下描述理解,除非另有说明,否则属于本文描述的方法、系统或计算机程序产品的特征的任何组合被认为是在本文档内公开的。
32.从下文将描述的实施例的示例中,本发明的上述方面和其它方面是显而易见的,并且将参考实施例的示例进行解释,但是本发明不限于此。
33.将仅通过示例并参考以下附图来描述本发明的优选实施例:
34.图1示出了用于向访客虚拟服务器提供密码学密钥对象以便在密码学操作中使用的本发明的计算机实施的方法的实施例的框图。
35.图2示出了用于生成访客包封密钥的示例性流程图。
36.图3示出了有助于生成访客包封密钥的组件的框图。
37.图4示出了卫星虚拟服务器的启动的示例性流程图。
38.图5示出了在启动卫星虚拟服务器的过程中涉及的组件的框图。
39.图6示出了用于生成随机包封密钥的示例性流程图。
40.图7示出了包括与随机密钥的生成相关的组件的框图。
41.图8示出了包括与经包封的随机密钥的生成有关的组件的框图。
42.图9示出了用于将经包封的密钥变换成受保护密钥的示例性流程图。
43.图10示出了支持生成受保护密钥的所有组件的框图。
44.图11示出了本发明的受保护密钥提供系统的实施例的框图,该系统向访客虚拟服务器提供密码学密钥对象以便在密码学操作中使用。
45.图12示出了包括根据图11的受保护密钥提供系统的计算系统的框图。
46.图13是根据本公开实施例的包括图12中描绘的计算机系统的说明性云计算环境的框图。
47.图14是根据本公开实施例的图13的说明性云计算环境的功能层的框图。
具体实施方式
48.在本说明书的上下文中,可以使用以下术语和/或表达:
49.术语“密码学密钥对象”可以表示将由访客虚拟服务器在密码学操作中使用的数据序列。访客虚拟服务器可以使用密码学密钥对象作为受保护密钥。
50.术语“访客虚拟服务器”可以表示模仿完整计算机系统并且在监视程序中或监视程序上执行的虚拟机。监视程序可以表示真实硬件系统与可以彼此隔离的多个虚拟机之间的层。当虚拟机彼此隔离时,虚拟机之一中或虚拟机之一上的致命错误不影响虚拟机中的另一个。
51.术语“密码学操作”可以表示加密或解密数据以保护数据免受未授权访问。另外,

密码学操作’还可以涉及用于执行数据完整性证明的签名或验证操作。
52.术语“受信监视程序”可以表示可以被构造并嵌入到真实硬件系统中并且可以以不会被未授权个人危害的方式与固件通信交换的监视程序。为了实现监视程序的这种安全性,可以进行组织性的规定。例如,可以限制对终端的访问以安装或管理受信监视程序。或者,如果采取组织措施来保护监视程序免受对安全密钥以及对监视程序所管理的其它机密数据的未授权访问,则仅软件的监视程序可被用作受信监视程序。
53.此外,受信监视程序-或简称“监视程序
”‑
可以向访客虚拟服务器提供超调用,以(a)生成随机密钥令牌,该随机密钥令牌是由访客包封密钥包封的随机密钥,以及(b)将密钥令牌转换成受保护密钥。这两个调用都可以将访客秘密作为自变量,其允许受信监视程序关联正确的卫星虚拟服务器。
54.上述超级调用(a)可以由监视程序执行,但是访客包封密钥将在该操作期间被暴露。超级调用(a)可以优选地由卫星虚拟服务器的服务执行,当利用访客包封密钥初始化时,该服务可以将访客包封密钥变换为受保护密钥,并且因此在使用访客包封密钥包封随机密钥的同时保护访客包封密钥。
55.超级调用(b)可以由与正在调用的访客虚拟服务器相关联的卫星虚拟服务器的服务来执行。卫星虚拟服务器然后可以使用其访客包封密钥(其可以是受保护密钥)的副本来解开密钥令牌,并且可以将解开的密钥立即转换为受保护密钥,该受保护密钥返回给监视程序。
56.术语“访客凭证”可以表示专用于访客虚拟服务器的任何代码数据。访客凭证可以由用户输入或以其他方式提供,或者可以存储在可由访客虚拟服务器访问的永久性存储装置中,例如,usb棒式的密钥存储装置。
57.术语“卫星虚拟服务器实例”可表示在受信监视程序上与客虚拟机并行运行的隐藏虚拟机。在访客虚拟服务器和卫星虚拟服务器之间可以存在1:1的相关性。可以在访客虚拟服务器请求时生成卫星虚拟服务器,其唯一目的是向访客虚拟服务器提供受保护密钥。卫星虚拟服务器可能在功能上受到限制,并且可能不能发起请求,因此将不具有其自己的访客秘密。卫星虚拟服务器可以与访客的秘密相关联,例如与来自其对应访客虚拟机的访客秘密相关联。
58.术语“虚拟服务器”可以用作作为监视程序上的软件执行的术语虚拟机的同义词。该术语可以应用于访客虚拟服务器以及卫星虚拟服务器。
59.术语“主密钥”可以表示例如硬件主机机器专用的并且嵌入在硬件机器的固件中的密码。或者,该术语可以表示虚拟服务器主密钥(vs-mk),即与特定访客虚拟系统相关的主密钥。没有两个访客虚拟系统具有相同的vs-mk,除非一个是另一个的卫星虚拟服务器。
60.术语“随机访客密钥”可以表示由监视程序生成的代码,该代码将由与访客凭证相关联的访客包封密钥包封。
61.术语“访客包封密钥”可以表示由监视程序使用的密钥,例如数字数据序列,以包封随机访客密钥,即,保护随机访客密钥不被未授权访问。
62.术语“卫星虚拟服务器”可以表示向监视程序提供服务的虚拟机,例如,(a)转换由相关联的访客虚拟服务器的访客包封密钥包封的密钥,使得该密钥成为用于相关联的访客虚拟服务器的受保护密钥,以及可选地(b)生成由相关联的访客虚拟服务器的访客包封密钥包封的随机密钥。
63.术语“密码控制块”(crycb)可以表示专用于虚拟机的数据结构,例如专用于访客虚拟服务器或卫星虚拟服务器。crycb可以在监视程序的控制下在监视程序上实例化虚拟机期间生成。在这里提出的发明中,用于访客虚拟服务器和用于相关卫星虚拟服务器的crycb可以是相同的,或者可以包括一些相同的数据。
64.下面,将给出附图的详细描述。图中的所有说明都是示意性的。首先,给出了本发明的计算机实施的方法的实施例的框图,该方法用于向访客虚拟服务器提供密码学密钥对象以供在密码学操作中使用。然后,将描述进一步的实施例以及用于向访客虚拟服务器提供密码学密钥对象以便在密码学操作中使用的受保护密钥提供系统的实施例。
65.图1示出了用于向访客虚拟服务器提供密码学密钥对象(具体地,受保护密钥)以便在密码学操作中使用的计算机实施的方法100的优选实施例的框图。方法100可以包括访客虚拟服务器使用访客凭证向受信监视程序注册的步骤102。访客凭证可以是访客虚拟服务器专用秘密,其可以由用户输入,其可以已经由文件输入,或者其可以来自另一源。在另一个步骤104中,受信监视程序生成用于已注册的访客虚拟服务器的访客包封密钥。受信监视程序可以将访客包封密钥与用于向受信监视程序注册访客虚拟服务器的访客凭证相关联。
66.在另一步骤106中,在从访客虚拟服务器接收到以访客凭证作为自变量的请求(例如,初始化请求)时,受信监视程序生成用于访客虚拟服务器的卫星虚拟服务器实例。请求和生成可以被认为是一个集成的活动。卫星虚拟服务器配置有来自访客虚拟服务器的虚拟服务器特定的数据,特别是crycb中的相同数据。卫星虚拟服务器和访客虚拟服务器可以共享主密钥,例如,可以共享vs-mk。因此,访客虚拟服务器和卫星虚拟服务器的crycb(密码控制块)中的数据原则上是相同的。进一步的限制是主密钥不能被受信监视程序或任何访客虚拟服务器访问。这种保护可以通过在固件中隐藏主密钥来实现。因此,没有访客虚拟服务器可以直接访问其自己的主密钥。
67.另外,方法100可以包括受信监视程序将访客包封密钥的副本传递到卫星服务器实例的步骤108。该传递可以在任何初始化步骤中执行或者作为转换请求的一部分执行。访客包封密钥是与请求的访客凭证相关联的访客包封密钥,即初始化请求或替换地用于包封密钥生成的请求。
68.方法100还可以包括访客虚拟服务器请求由访客包封密钥包封的随机访客密钥的步骤110。此外,方法100可以包括受信监视程序生成随机访客密钥的步骤112。方法100可以包括步骤114,受信监视程序用与访客凭证相关联的访客包封密钥来包封随机访客密钥。
69.方法100还可以包括将经包封的访客密钥转换成受保护密钥的步骤116。转换可以在从访客虚拟服务器接收到转换请求时发生,并且可以在从监视程序发送的访客虚拟服务器使用经包封的访客密钥之前发生。这种转换或变换可以包括卫星虚拟服务器将经包封的
访客密钥与其主密钥重新包封,该主密钥是访客虚拟服务器和卫星虚拟服务器两者专有的。因此,经包封的访客密钥可以被转换成用作密码学密钥对象的受保护访客密钥。
70.图2示出了用于生成访客包封密钥的示例性流程图200。这可以发生在访客虚拟服务器的第一次加载时。在步骤202中,访客虚拟服务器可以请求监视程序生成访客包封密钥,并且将访客包封密钥与访客凭证相关联,例如与访客秘密相关联。在步骤204中,基于该请求,监视程序可以生成新的随机密钥,并且可以将新的随机密钥与访客秘密的密码学散列相关联。此外,在步骤206中,监视程序可以将散列和随机密钥的这种关联存储在储存库中。
71.图3示出了有助于生成访客包封密钥的组件的框图300。监视程序302与固件304协作,从而可以形成受信监视程序。在仅软件的监视程序的情况下,环境的操作限制是适当的以保护监视程序的操作,使得它构成受信监视程序。嵌入在固件304中的是主机-主-密钥(主机-mk)306。主机mk 306可以与加密控制块(crycb)308和来自访客虚拟服务器加密控制块314的访客主密钥模式一起使用,以生成访客主密钥310。
72.在访客虚拟服务器(gvs)312的初始化或第一次使用时,访客虚拟服务器312可以访问可以是访客秘密316的猜测凭证。访客秘密316例如可以是用户输入,或者可以来自另一源。访客秘密316可以是密码,或者可以像密码一样。访客机秘密316可以以单向形式被变换成散列值322。另外,监视程序302可以生成访客包封密钥320。监视程序302可以将访客包封密钥320与散列值322相关联,如访客秘密316的散列值322与访客包封密钥320之间的双箭头所示。访客机秘密316的散列值322和访客包封密钥320两者被永久地存储在储存库318中。即使访客虚拟服务器312被重新引导、挂起到磁盘、或者恢复和/或迁移到使用另一个监视程序的系统的另一个部分,这个存储也允许访客包封密钥320继续存在。
73.图4示出了用于启动卫星虚拟服务器的步骤的至少一个实施例的示例性流程图400。在步骤402,访客虚拟服务器312向监视程序302发送请求,以启动或初始化卫星虚拟服务器,并将卫星虚拟服务器与访客虚拟服务器秘密相关联。访客虚拟服务器专用秘密可以由用户输入,可以通过文件输入,或者可以来自另一个秘密源。因为访客虚拟服务器312与在前述步骤中使用的相同,所以该秘密将与用于生成访客包封密钥320的访客秘密316相同。在该请求时,在步骤404,监视程序302使用与调用访客使用的相同的包封密钥配置,即,使用与访客虚拟服务器312使用的相同的包封密钥配置,来启动卫星虚拟服务器实例。换句话说,监视程序302使用已经用于实例化访客虚拟服务器312的密码控制块crycb 314。
74.在步骤406中,监视程序302确定访客秘密316的散列值322,并且将与散列值322相关联的访客包封密钥320存储在卫星虚拟服务器中。因为访客秘密是相同的,所以在步骤406中确定的散列将与在步骤200中使用的散列相同。散列是确定性函数。在步骤408,监视程序302将卫星虚拟服务器与散列值322相关联。
75.访客虚拟服务器秘密是指数据库中(例如储存库318中)的特定包封密钥。监视程序302必须-在访客的生命期内(即,只要访客正在运行)-记住,只要向监视程序302发出具有作为自变量的访客虚拟服务器秘密的后续请求,就应该使用刚刚创建的卫星服务器。
76.因为正运行的访客的寿命不能超过其主机的寿命(即监视程序302的寿命),所以该关联(例如,由散列和对卫星虚拟服务器的引用组成的对)不需要被存储在外部数据库中,而是应当被存储在监视程序的存储器中的某处。例如,对于已经发出初始化请求的每个
访客,监视程序302维护一对秘密的散列(在初始化期间使用)和对卫星虚拟服务器的引用。例如,在linux kvm(基于内核的虚拟机)中,该引用可以是运行卫星虚拟服务器的qemu(开放源机器仿真器和虚拟化器)处理的进程id。
77.图5示出了在启动卫星虚拟服务器的过程中涉及的组件的框图500。前面已经讨论过的部件将不再描述,并且前面附图中用于相同对象的附图标记被重复使用。
78.监视程序302使用与访客虚拟服务器312使用的相同的主密钥配置或包封密钥配置,例如通过使用用于实例化访客虚拟服务器312的密码控制块314,来启动卫星访客虚拟服务器502(示为与访客虚拟服务器312相邻)。访客包封密钥320的副本存储在卫星访客虚拟服务器502的系统中(由320的两个实例之间的箭头指示)。作为图4中的流程图所示的过程的结果,访客秘密316的散列值322也存在于卫星访客虚拟服务器502中(由从储存库318到卫星访客虚拟服务器502的箭头表示)。
79.卫星访客虚拟服务器502的唯一任务可以是提供用于将由访客包封密钥包封的密钥转换为受保护密钥的功能。因此,在卫星访客虚拟服务器502内可能没有其它功能可用;因此,卫星访客虚拟服务器502不能被误用于任何网络攻击。
80.图6示出了示例性流程图600,其示出了用于生成随机包封密钥的方法。在步骤602中,访客虚拟服务器312可以向监视程序302发送请求,并且可以向监视程序302提供访客秘密。该请求是为了使监视程序302返回与访客秘密相关联的由访客包封密钥320包封的随机密钥。因为虚拟访客服务器312与先前步骤200和400中使用的相同,所以这里的访客秘密将与先前使用的访客秘密316相同,从而系统将能够识别储存库318中的正确保存信息。访客可以例如向监视程序302注册两个不同的秘密,然后具有两个不同的包封密钥和两个不同的卫星服务器。根据在请求中使用的秘密,监视程序302在完成请求时将使用一个或另一个包封密钥和卫星服务器。作为返回,在步骤604中,监视程序302确定访客秘密的散列,并且生成由其访客包封密钥包封的随机密钥。因此,在访客虚拟服务器和卫星虚拟服务器之间没有直接通信发生。在步骤606,监视程序将由访客包封密钥包封的随机密钥返回给访客虚拟服务器。
81.图7示出了在生成随机密钥时涉及的组件的框图700,如刚刚由图6的活动流程图所描述的,图7示出了监视程序302已经生成了随机密钥702。
82.图8示出了与图7所示的组件类似的框图800,但是示出了完成经包封的随机密钥的进一步动作。图8示出了随机密钥702(图7)现在使用来自卫星访客虚拟服务器实例502的访客包封密钥320进行包封,并且由此形成经包封的访客密钥802。由访客包封密钥320包封的访客密钥802对访客虚拟服务器(gvs)312可用。
83.一旦经包封的访客密钥802已经被移动到访客虚拟服务器312或被其接收,则随机密钥702的初始版本(图7)和经包封的访客密钥802的初始版本(即,在图8中向左示出的经包封的访客密钥802)可以不再存在,例如可以被删除。
84.图9示出了用于将经包封的访客密钥802变换成受保护密钥的示例性流程图900。在步骤902中,访客虚拟服务器312向监视程序302发送请求,以返回由访客虚拟服务器主密钥310(vs-mk)包封的密钥,该访客虚拟服务器主密钥310从由与在请求中提供的访客秘密相关联的访客包封密钥320包封的经包封的访客密钥802开始。在另一步骤904中,监视程序302确定该请求的访客秘密的散列值,并且请求相关联的卫星虚拟服务器将由访客包封密
钥320包封的经包封的访客密钥802变换成由其访客主密钥310包封的密钥。
85.在步骤906中,卫星访客虚拟服务器502使用访客包封密钥320来解开经包封的访客密钥802。在步骤908中,卫星访客虚拟服务器502(经由监视程序302)从固件304请求用其主密钥310包封经解开的密钥,并将结果返回给监视程序302。在另一步骤910中,监视程序302将接收到的由访客主密钥310包封的密钥返回到访客虚拟服务器312。因此,循环是闭合的,并且访客虚拟服务器312已经接收到受保护密钥,即密码学密钥对象,其将由访客虚拟服务器312用于进一步的密码学功能,而不需要使用硬件安全模块。
86.图10示出了支持生成受保护密钥的所有组件的框图1000,如在图9中所示的步骤的上下文中刚刚描述的。由访客包封密钥320包封的随机密钥702在卫星访客虚拟服务器502中被解开,并且经由监视程序302被发送到固件304。这里,经解开的访客密钥1002与主密钥310一起包封,并且经由监视程序302作为受保护密钥1004返回到访客虚拟服务器312。
87.这里,可以在访客虚拟服务器312和卫星访客虚拟服务器502中看到经包封的访客密钥802的副本。然而,在经包封的访客密钥802已被解开以变成经解开的访客密钥1002之后,经包封的访客密钥802可能被“忘记”,即,可能在卫星访客虚拟服务器502中被删除。因此,经解开的访客密钥1002可以仅在转变中存在。而且,在对固件304的请求被满足之后,可以在卫星访客虚拟服务器502中删除经解开的访客密钥1002。经解开的访客密钥1002不再需要。在受保护密钥1004已经被传送到访客虚拟服务器312之后,同样的情况将发生在固件中的受保护密钥1004的版本。
88.图11示出了本发明的保护性密钥提供系统1100的实施例的框图,该系统向访客虚拟服务器312提供密码学密钥对象以在密码学操作中使用。系统1100可以包括注册单元1102,其使得访客虚拟服务器312能够使用访客凭证向受信监视程序302注册。系统1100还可以包括第一生成器模块1104,其使得受信监视程序302能够生成访客包封密钥320,并将访客包封密钥320与访客凭证相关联。
89.系统1100还可以包括第二生成器模块1106,其在接收到来自访客虚拟服务器312的请求时以访客凭证作为自变量而变为活动的。在这种情况下,由受信监视程序302触发或以其他方式激活的第二发生器模块1106适于为访客虚拟服务器312生成配置有来自访客虚拟服务器312的虚拟服务器专用数据的卫星访客虚拟服务器实例502。访客虚拟服务器312与卫星访客虚拟服务器实例502共享其主密钥310。在任何情况下,主密钥310不能由受信监视程序302或任何访客虚拟服务器访问。
90.访客虚拟服务器312可共享主密钥310而无需访问主密钥。将具有受保护密钥(由主密钥包封的密钥)的密码请求发送到系统。系统知道密码请求来自哪个虚拟服务器,并使用该虚拟服务器的主密钥来解开受保护密钥。接着,在cpu中根据明文密钥进行密码运算。因此,可以在虚拟服务器不知道实际加密密钥的情况下执行密码操作。
91.此外,系统1100可以包括传递模块1108,其使得受信监视程序302能够将与请求的访客凭证相关联的访客包封密钥320的副本传递到卫星访客虚拟服务器实例502。系统1100还可包括第三生成器模块1110,其使得受信监视程序302能够生成随机密钥702。
92.另外,系统1100可以包括包封模块1112,其使得受信监视程序302能够利用与访客凭证相关联的访客包封密钥320包封随机密钥702,从而产生经包封的访客密钥802。
93.而且,系统1100可以包括请求单元1114,其在使用经包封的访客密钥802之前请求
经包封的访客密钥802到受保护密钥的转换。转换可以包括卫星访客虚拟服务器实例502用主密钥310重新包封经包封的访客密钥802。主密钥310可以是访客虚拟服务器312和卫星访客虚拟服务器502两者特有的,或者可以由访客虚拟服务器312和卫星访客虚拟服务器502共享。通过重新包封,经包封的访客密钥802可以被转换成受保护的访客密钥1004,用作密码学密钥对象。
94.可以注意到,所提及的单元和模块可以直接或间接地互连以用于信息和/或信号交换。可替换地,注册单元1102、第一生成器模块1104、第二生成器模块1106、传递模块1108、第三生成器模块1110、包封模块1112和请求单元1114可以经由保护密钥提供系统1100的内部总线系统1116互连。这些单元和模块可以经由软件形成。
95.本发明的实施例实际上可以与任何类型的计算机一起实现,而不管平台是否适于存储和/或执行程序代码。图12示出了作为示例的计算系统1200,其适于执行与所提出的方法相关的程序代码。
96.计算系统1200仅是合适的计算机系统的一个示例,并且不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制,无论计算系统1200是否能够被实现和/或执行上文阐述的任何功能。在计算机系统1200中,存在可与许多其它通用或专用计算系统环境或配置一起操作的组件。适合与计算机系统/服务器1200一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。计算机系统/服务器1200可以在计算机系统可执行指令的一般上下文中描述,诸如由计算机系统1200执行的程序模块。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器1200可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于本地和远程计算机系统存储介质中,包括存储器存储设备。
97.如图所示,计算机系统/服务器1200以通用计算设备的形式示出。计算机系统/服务器1200的组件可以包括但不限于一个或多个处理器或处理单元1202、系统存储器1204以及将包括系统存储器1204的各种系统组件耦合到处理器1202的总线1206。总线1206表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构可包括工业标准体系结构(isa)总线、微通道体系结构(mca)总线、增强型isa(eisa)总线、视频电子技术标准协会(vesa)局部总线和外围部件互连(pci)总线。计算机系统/服务器1200通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器1200访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质两者。
98.系统存储器1204可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)1208和/或高速缓冲存储器1210。计算机系统/服务器1200还可以包括其它可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统1212可被提供用于从不可移动、非易失性磁介质(未示出且通常被称为“硬盘驱动器”)读取和向其写
入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如cd-rom、dvd-rom或其它光学介质的可移动、非易失性光盘读取或向其写入的光盘驱动器。在这样的实例中,每个可以通过一个或多个数据介质接口连接到总线1206。如下面将进一步描绘和描述的,存储器1204可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行本发明的实施例的功能。
99.例如,具有一组(至少一个)程序模块1216的程序/实用程序可以存储在存储器1204中。操作系统、一个或多个应用程序、其它程序模块和程序数据也可存储在存储器1204中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。程序模块1216一般执行如本文所述的本发明的实施例的功能和/或方法。
100.计算机系统/服务器1200还可以与一个或多个外部设备1218通信,诸如键盘、指示设备、显示器1220等;一个或多个设备,其使得用户能够与计算机系统/服务器1200交互;和/或使计算机系统/服务器1200能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(i/o)接口1214发生。此外,计算机系统/服务器1200还可以经由网络适配器1222与一个或多个网络(例如局域网(lan)、通用广域网(wan)和/或公共网络(例如因特网))通信。如所描绘的,网络适配器1222可以经由总线1206与计算机系统/服务器1200的其他组件通信。应当理解,尽管未示出,但是可以结合计算机系统/服务器1200使用其他硬件和/或软件组件。实例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、raid系统、磁带驱动器和数据档案存储系统等。
101.另外,用于向访客虚拟服务器提供密码学密钥对象以便在密码学操作中使用的受保护密钥提供系统1100可以被附接到总线系统1206。
102.已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
103.本发明可以被实现为系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
104.该介质可以是用于传播介质的电子、磁、光、电磁、红外或半导体系统。计算机可读介质的示例可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、硬磁盘和光盘。光盘的当前例子包括光盘只读存储器(cd-rom)、光盘读/写(cd-r/w)、dvd和蓝光盘。
105.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘
只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
106.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
107.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如smalltalk、c++等)以及常规的过程式编程语言(例如“c”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分地在用户的计算机上作为独立软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
108.本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
109.这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
110.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或另一设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或另一设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
111.附图中的流程图和/或框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些
替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
112.对于采取相关计算机程序产品形式的实施例,程序代码可以从计算机可用或计算机可读介质访问,并且可以适于由计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合使用。为了本说明书的目的,计算机可用或计算机可读介质可以是任何装置,其可以包含用于存储、传送、传播或传输程序的单元或模块,以便由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用。
113.应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
114.云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
115.特征如下:
116.按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。
117.广域网接入:能力在网络上可用,并且通过促进由异构的瘦或胖客户端平台(例如,移动电话、膝上型计算机和pda)使用的标准机制来访问。
118.资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
119.快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
120.测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明度。
121.服务模型如下:
122.软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户界面从各种客户设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
123.平台即服务(paas):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。
消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
124.基础设施即服务(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
125.部署模型如下:
126.私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
127.社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
128.公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
129.混合云:云基础设施是两个或更多个云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
130.云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
131.现在参考图13,描绘了说明性云计算环境1300。如图所示,云计算环境1300包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点1200,所述本地计算设备例如个人数字助理(pda)或蜂窝电话1300a、桌上型计算机1300b、膝上型计算机1300c和/或汽车计算机系统1300n。节点1200可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境1300提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图13中所示的计算设备1300a-1300n的类型仅旨在说明,并且计算节点1200和云计算环境1300可以(例如,使用web浏览器)通过任何类型的网络和/或网络可寻址连接与任何类型的计算设备通信。
132.现在参考图14,示出了由云计算环境1300提供的一组功能抽象层1400。应当预先理解,图14中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
133.硬件和软件层1402包括硬件和软件组件。硬件组件的示例包括:大型机1404;基于risc(精简指令集计算机)架构的服务器1406;服务器1408;刀片服务器1410;存储设备1412;以及网络和联网组件1414。在一些实施例中,软件组件包括网络应用服务器软件1416和数据库软件1418。
134.虚拟化层1420提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器1422;虚拟存储装置1424;虚拟网络1426,包括虚拟专用网络;虚拟应用和操作系统1428;以及虚拟客户端1430。
135.在一个示例中,管理层1432可以提供以下描述的功能。资源供应1434提供对被用
来执行云计算环境内的任务的计算资源和其他资源的动态采购。计量和定价1436提供了在云计算环境中利用资源时的成本跟踪,以及针对这些资源的消耗的计费或计价。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户1438为消费者和系统管理员提供对云计算环境的访问。服务级别管理1440提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(sla)规划和履行1442提供对云计算资源的预安排和采购,其中根据sla来预计未来需求。
136.工作负载层1444提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航1446;软件开发和生命周期管理1448;虚拟课堂教育递送1450;数据分析处理1452;交易处理1454;以及密码学密钥对象处理和受保护密钥提供处理1456。在本发明的上述实施例中描述了密钥对象处理和受保护密钥提供处理的功能。
137.本文所用的术语仅是为了描述特定实施例的目的,而不是要限制本发明。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括(comprises)”、“包括(comprising)”、“包含(includes)”、“包含(including)”、“具有(has)”、“具有(have)”、“具有(having)”、“有(with)”等在本说明书中使用时指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组的存在或添加。
138.已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!