为安全访客保留一个或多个安全模块的制作方法

文档序号:31469193发布日期:2022-09-09 22:36阅读:73来源:国知局
为安全访客保留一个或多个安全模块的制作方法
为安全访客保留一个或多个安全模块


背景技术:

1.一个或多个方面一般涉及计算环境内的处理,尤其涉及保护此类环境内的数据。
2.在计算环境中,密码元件是保护数据中的有用技术组件。可以以密码安全形式存储或传输信息,以便避免对所存储或传输的信息的未授权访问。在一些情况下,可以使用基于软件的技术来执行这样的数据保护;在其他情况下,可以使用硬件支持和安全性特定元素。这些特定元件可以被称为硬件安全模块(hsm),其可以用作计算环境的计算机或信息传输系统的一部分。
3.硬件安全模块可包括特定电路以提供用于数据加密和数据解密的功能。功能还可以包括生成和存储用于访客系统(也称为访客)的密码密钥。不同访客(例如,虚拟机、虚拟服务器等)由管理程序或虚拟机管理器控制。由公共管理程序管理的不同访客可以由不同的所有者生成。传统管理程序对其托管的访客具有完全控制。具体地,管理程序具有检查甚至修改托管的访客的存储器的能力。在云环境中,管理程序及其管理员将是完全可信的。
4.由管理程序管理的一些访客是安全访客。安全访客是可由不是完全可信的一个或多个管理程序托管的访客。当加载时,此访客的映像将被保护,且分配给访客的资源(例如,存储器、中央处理单元(cpu)寄存器等)的内容的保护将在访客的整个寿命期间维持。访客的保护至少包括完整性保护(例如,管理程序不能恶意地改变任何访客状态),并且此外可包括维护访客中运行的初始映像、代码和数据的机密性。支持安全访客的环境的示例包括amd sev(高级微设备安全加密虚拟化)和保护的计算。power是国际商业机器公司在至少一个管辖区域中的商标或注册商标。


技术实现要素:

5.通过提供一种用于促进计算环境内的处理的计算机程序产品来克服现有技术的缺点并且提供附加的优点。该计算机程序产品包括可由至少一个处理电路读取并且存储用于执行方法的指令的至少一个计算机可读存储介质。该方法包括为计算环境的安全访客保留(reserve)安全模块。保留提供预约(reservation),并且包括将用于与安全模块通信的一个或多个队列绑定到安全访客。基于与预约相关的一个或多个动作来管理一个或多个队列。
6.在此还描述并要求保护与一个或多个方面有关的计算机实施的方法和系统。进一步,本文还描述并可要求保护与一个或多个方面有关的服务。
7.通过在此描述的技术实现附加特征和优点。其他实施例和方面在本文中详细描述,并且被认为是所要求保护的方面的一部分。
附图说明
8.一个或多个方面被特别指出并且被清楚地要求保护作为说明书结尾处的权利要求书中的示例。从下面结合附图的详细描述中,一个或多个方面的上述目标、特征以及优点显而易见,其中:
9.图1a描绘了结合和使用本发明的一个或多个方面的计算环境的一个示例;
10.图1b描绘了根据本发明的一个或多个方面的图1a的计算环境的进一步细节;
11.图2描绘了根据本发明的一个方面的为访客(例如,安全访客)保留安全模块(例如,密码适配器)的一个示例;
12.图3描绘了根据本发明的一个或多个方面的利用密码适配器启动访客的流程的一个示例;
13.图4描绘了根据本发明的一个或多个方面的利用密码适配器终止访客的流程的一个示例;
14.图5描绘了根据本发明的一个或多个方面的向密码适配器发送请求的流程的一个示例;
15.图6描绘了根据本发明的一个或多个方面的从密码适配器获取响应的流程的一个示例;
16.图7a描绘了结合和使用本发明的一个或多个方面的计算环境的另一个示例;
17.图7b描绘了图7a的存储器的进一步细节;
18.图8描绘了云计算环境的一个实施例;以及
19.图9描绘了抽象模型层的一个示例。
具体实施方式
20.根据一个或多个方面,提供了一种用于为访客(例如,安全访客)保留一个或多个安全模块的能力。在一个示例中,安全模块是硬件安全模块(hsm),其例如是可插拔组件或单独连接到计算机系统的组件。作为一个特定示例,硬件安全模块是密码卡或密码适配器(也称为密码适配器);然而,存在其他示例。在一个实施例中,如果例如密码适配器在用于启动安全访客的元数据中包括的可访问的密码适配器的列表中,并且如果密码适配器未被另一安全访客保留,则密码适配器(或其他安全模块)被保留以供安全访客独占使用。
21.参考图1a描述了结合和使用本发明的一个或多个方面的计算环境的一个实施方式。在一个示例中,计算环境基于由纽约州阿蒙克的国际商业机器公司提供的z/architecture硬件架构。z/architecture硬件架构的一个实施例在2017年9月ibm出版物sa22-7832-11号第十二版的“z/architecture操作原理”中进行了描述,其全文通过引用并入本文。ibm和z/architecture是国际商业机器公司在至少一个管辖区域中的注册商标或商标。
22.计算环境还可以基于其他架构;z/architecture硬件架构仅是一个示例。
23.如图1a所示,计算环境100包括,例如,以通用计算设备的形式示出的计算机系统102。计算机系统102可以包括但不限于经由一个或多个总线和/或其他连接120彼此耦合的一个或多个处理器或处理单元104(例如,中央处理单元(cpu))、存储器106(例如,系统存储器、主内存、主存储器、中央存储器或存储装置)以及一个或多个输入/输出(i/o)接口108。
24.总线120表示若干类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(isa)、微通道体系结构(mca)、增强型isa(eisa)、视频电子标准协会(vesa)局部总线和外围组件互连(pci)。
25.存储器106可包含(例如)高速缓冲存储器,例如共享高速缓冲存储器122,其可耦合到处理器104的本地高速缓冲存储器123。进一步,存储器106可以包括一个或多个程序或应用124、操作系统126和一个或多个计算机可读程序指令128。计算机可读程序指令128可以被配置成执行本发明的多个方面的实施例的功能。
26.计算机系统102还可经由例如i/o接口108与一个或多个外部装置130、一个或多个网络接口132和/或一个或多个数据存储装置134通信。示例外部设备包括用户终端、磁带驱动器、指示设备、显示器等。网络接口132使计算机系统102能够与一个或多个网络通信,诸如局域网(lan)、通用广域网(wan)和/或公共网络(例如,互联网),提供与其他计算设备或系统的通信。
27.数据存储设备134可以存储一个或多个程序136、一个或多个计算机可读程序指令138、和/或数据等。该计算机可读程序指令可以被配置成用于执行本发明的多个方面的实施例的功能。
28.计算机系统102可以包括和/或耦合到可移动/不可移动、易失性/非易失性计算机系统存储介质。例如,它可以包括和/或耦合到不可移动、非易失性磁介质(通常被称为“硬盘驱动器”)、用于从可移动、非易失性磁盘(例如,“软盘”)读取或向其写入的磁盘驱动器、和/或用于从可移动、非易失性光盘(如cd-rom、dvd-rom或其他光学介质)读取或向其写入的光盘驱动器。应当理解,其他硬件和/或软件部件可以与计算机系统102结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器和数据归档存储系统等。
29.计算机系统102可以与许多其他通用或专用计算系统环境或配置一起操作。可以适用于计算机系统102的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机(pc)系统、服务器计算机系统、瘦客户端、厚客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。
30.参考图1b描述结合和/或使用本发明的一个或多个方面的计算环境(例如,计算环境100)的一个实施例的进一步细节。在一个示例中,计算环境100是包括系统(诸如计算机系统102)和安全模块(诸如硬件安全模块(hsm)150)的共享计算环境。在本文的示例中,安全模块是硬件安全模块,并且在一个具体示例中,是密码适配器152;然而,在其他实施例中,可以使用其他安全模块。
31.在一个示例中,计算机系统102包括诸如可信固件160的可信组件以及与包括一个或多个安全访客180的一个或多个访客(例如,虚拟机(vm))交互的管理程序170。固件(例如,可信固件160)包括例如处理器的微代码。其包括例如在更高级机器代码的实现中使用的硬件级指令和/或数据结构。在一个实施例中,其包括例如通常作为微代码递送的专有代码,微代码包括可信软件或特定于底层硬件的微代码,并控制操作系统对系统硬件的访问。
32.管理程序(例如,管理程序170)有时被称为主机。管理程序170的一个示例是由纽约州阿蒙克的国际商业机器公司提供的z/vm管理程序。z/vm是国际商业机器公司在至少一个管辖区域中的注册商标或商标。管理程序管理在计算机系统内执行的访客。
33.访客或访客系统例如是在管理程序上的虚拟机(vm)中执行的操作系统。管理程序用于将一个或多个特定硬件安全模块(例如,硬件安全模块150)分配给访客系统。分配给访
客的特定硬件安全模块(例如,硬件安全模块150)可配置有用于包装访客的密钥的密码主密钥(又名主密钥或包装密钥)以便为访客提供安全密钥。
34.一个或多个访客被认为是安全访客(例如,安全访客180)。安全访客是保护其状态和存储器免受管理程序访问的访客。使用例如以机密性保护和完整性保护的方式被传输到可信组件(例如,可信固件160)的元数据来启动安全访客。
35.在一个示例中,可信固件160包括多个控制块,包括例如安全访客控制块162和安全模块控制块,诸如硬件安全模块控制块164。安全访客控制块162包括针对每个安全访客的与为每个访客保留的一个或多个安全模块相关的配置信息。在本文的示例中,可为访客保留的安全模块是密码适配器,并且因此,在一个示例中,该配置被称为安全访客的密码适配器配置166。在一个示例中,安全访客控制块162包括用于系统的每个安全访客的配置166。例如,特定安全访客的配置166包括在用于启动安全访客的元数据中包括的可访问的密码适配器的列表。
36.在一个示例中,硬件安全模块控制块164包含由系统(例如,计算机系统102)使用以与系统可访问的每一个密码适配器通信的一个或多个队列168,以及用于每一个密码适配器的预约信息169。作为示例,一个或多个队列168包括至少一个请求队列168a和至少一个响应队列168b,至少一个请求队列168a用于包括将要发送到分配给队列的密码适配器的请求,至少一个响应队列168b用于从密码适配器接收响应。在一个示例中,同一队列可用于特定密码适配器的请求和/或响应。其他示例也是可能的。
37.预约信息169包括,例如,密码适配器是否被保留的指示,如果是的话,由哪个访客保留。在一个示例中,当为访客(例如,安全访客180)保留密码适配器(或其他安全模块)时,访客具有对密码适配器的独占访问。
38.在支持虚拟化的系统中,诸如由国际商业机器公司提供的system z(system z是在至少一个管辖区域中的国际商业机器公司的商标或注册商标),管理程序可以在访客的存在期间的任何时间改变访客的配置。例如,恶意的或编程不良的管理程序可配置密码适配器的访问,使其不能首先被第一访客访问,然后被第二访客访问。由于对密码适配器的大多数密码请求的异步性质,因此可能发生:对于由第一访客发出的请求,响应可由第二访客访问。然而,对于安全访客,假设尽管管理程序是不可信的,但它们安全地运行;因此,当第一安全访客正在运行或读取由第一安全访客向密码适配器发出的密码请求的结果时,系统将阻止第二访客访问分配给第一安全访客的密码适配器。此外,安全访客能够检测密码适配器的主密钥何时改变,同时安全访客能够访问该密码适配器。
39.本发明的一个或多个方面至少解决了在不合时宜的时候重新分配密码适配器的上述问题。根据本发明的一个或多个方面,为访客保留一个或多个密码适配器(和/或其他安全模块),使得访客独占访问密码适配器。参照图2至图6,描述关于为安全访客保留密码适配器的细节。具体地,图2描绘了为安全访客保留安全模块(例如,密码适配器)的逻辑的一个示例;图3描绘了用密码适配器启动访客的逻辑的一个示例;图4描绘了利用密码适配器终止访客的逻辑的一个示例;图5描绘了向密码适配器发送请求的逻辑的一个示例;以及图6描绘了从密码适配器获取响应的逻辑的一个示例。
40.最初参考图2,为了为安全访客(例如,安全访客180)保留安全模块,可信组件(例如,可信固件160)获得为安全访客保留安全模块(例如,密码适配器152)的请求(步骤200)。
作为示例,这样的请求可以由可信组件基于启动安全访客来获得,或者当安全模块的预约没有成功时(当安全访客启动时)或者当安全模块的预约由于安全模块的丢失(例如,临时丢失)而丢失时,该请求可以由安全访客提交。其他示例也是可能的。
41.基于获得请求,进行关于安全模块是否包括在被包括在用于启动访客的元数据中的可访问安全模块的列表中的判定(查询202)。在一个实施例中,这是使用安全访客的配置166来确定的。如果安全模块不在列表中,则该处理完成,并且在一个实施例中,返回错误代码。安全模块不为访客保留。然而,如果安全模块在可访问安全模块列表中,则进行关于安全模块是否已经例如由另一访客保留的进一步确定(查询204)。这例如通过检查预约信息169来确定。如果其已经被保留,例如,由另一个访客保留,那么该处理完成,并且在一个实施例中,返回错误代码。然而,如果尚未保留安全模块,那么为访客保留安全模块(步骤206)。保留包括例如将一个或多个队列(例如,请求队列168a/响应队列168b)绑定到访客(步骤208)。绑定包括例如在控制块中指示预约,诸如在hsm控制块164的预约信息169中指示。
42.基于将安全模块保留给访客,使用和/或管理绑定至访客的一个或多个队列,和/或基于与预约相关的动作来管理事件和/或预约本身(步骤210)。例如,动作可以包括将请求提交至队列的操作,并且所述管理可以包括:确认所述安全模块被保留给所述安全访客;以及基于确认所述安全模块被保留给所述安全访客以及所述请求是由所述安全访客发出的而准许所述操作;和/或该动作可以包括从队列提取响应的操作,并且该管理可以包括确认该安全模块被保留给该安全访客并且基于确认该安全模块被保留给该安全访客和该提取的操作是由该安全访客发出而准许该操作。更进一步,动作可以包括丢失对安全模块的访问,并且管理可以包括刷新一个或多个队列。作为进一步的示例,动作可以包括安全访客的终止,并且管理可以包括从一个或多个队列删除一个或多个待决请求。此外,作为示例,拒绝从安全访客向不为安全访客保留的队列发送请求;拒绝从未为安全访客保留的队列中取出的对安全访客的响应的通过;和/或如果安全访客试图访问不为安全访客保留的队列,则将错误代码返回至安全访客。可以执行许多其他动作、事件和/或管理。进一步,如本文所指示的,虽然示例涉及密码适配器,但是逻辑同样适用于其他安全模块。
43.参考图3-6描述了关于将安全模块保留给安全访客的进一步细节。
44.参照图3,描述了利用密码适配器(例如,密码适配器152)启动访客(例如,安全访客180)的一个实施方式。首先,管理程序(例如,管理程序170)请求启动要被配置有密码适配器(例如,密码适配器152或其他安全模块)的安全访客(例如,安全访客180)(步骤300)。可信组件(例如,可信固件160)接收请求并检查密码适配器是否已经由例如另一访客保留(步骤302)。这包括例如检查预约信息169。若密码适配器被保留(查询304),则密码适配器对于安全访客不可访问,且因此,访客不以密码适配器开始(步骤306)。在此实例中,可发出另一请求以用另一密码适配器(或其他安全模块)启动访客,或一个请求可包括多个密码适配器(和/或其他安全模块),且处理可重复,直到成功用密码适配器启动访客或在请求中不包含其他密码适配器(或其他安全模块)为止。
45.返回至查询304,在一个示例中,如果密码适配器未被例如另一访客保留,则可信固件160重置密码适配器。重置密码适配器包括例如清空由可信固件160维持的密码适配器的控制块(例如,hsm控制块164)中的请求和响应队列(例如,请求和响应队列168)(步骤
308)。通过清空请求队列,删除对适配器的待决请求(例如,所有待决请求)及其相关联的数据以及来自适配器的待决响应(例如,所有待决响应)及其相关联的数据。在一个示例中,在确定存在要被清空的数据之后,执行队列的清空。在另一示例中,执行清空或清除操作,而不管在队列中是否存在要被清除的数据。
46.进一步,可信固件160为安全访客保留密码适配器(步骤310)。在一个示例中,这包括在例如由可信固件维持的hsm控制块164的预约信息169中输入安全访客的标识符(步骤310)。在其他实施例中,可以提供相同和/或不同位置中的不同和/或其他类型的指示。密码适配器现在可由安全访客访问(步骤312)。
47.在另一方面中,如参照图4进一步描述的,可终止密码适配器对安全访客的预约。在一个示例中,终止配置到密码适配器的安全访客(步骤400)。因此,可信固件160重置密码适配器(步骤402),包括例如清空由可信固件160维持的控制块(例如,请求和响应队列168)中的请求和响应队列(步骤404)。
48.此外,在一个实施例中,可信固件160删除由可信固件维持的可信固件控制块中的预约(例如,预约信息169)(步骤406)。在其他实施例中,相同和/或不同位置中的其他和/或不同指示也可被删除。
49.在另一实施例中,即使安全访客未被终止,也可以发生预约的终止。其他变化也是可能的。
50.参照图5描述从访客向密码适配器发送请求的一个实施方式。最初,访客(例如,安全访客180)向密码适配器(例如,密码适配器152)发送请求(步骤500)。请求可以是对数据进行加密或解密、生成用于密码操作的密钥等的请求。
51.基于发出请求,可信组件(例如,可信固件160)拦截请求并检查密码适配器是否被保留,如果是,检查密码适配器是否被另一访客保留(步骤502)。在一个示例中,该检查是预约信息169。如果密码适配器由另一访客保留(查询504),则操作失败(步骤506)。然而,若密码适配器未由另一访客保留,则检查访客是否不是安全访客或如果该访客是安全访客,则检查是否是由发出请求的安全访客保留的密码适配器(查询508)。再次,在一个示例中,为了检查密码适配器是否由安全访客保留,检查预约信息169。进一步,在一个示例中,为了检查访客是否是安全访客,固件(例如,可信固件160)检查针对访客维护的控制块,其包括访客是否是安全的指示。如果访客是安全访客且密码适配器未被安全访客保留,则操作失败(步骤510)。进一步,如果密码适配器未由其他访客保留(询问504),且访客不是安全访客或访客是安全访客且密码适配器由安全访客保留(询问508),则可信固件将请求推送到密码适配器的请求队列(例如,请求队列168a)上,且在一个示例中,将指示成功操作的返回代码返回到安全访客(步骤512)。
52.参照图6描述从密码适配器获取响应的实施例。最初,访客(例如,安全访客180)发出操作以从密码适配器获取响应(步骤600)。基于发布操作,可信固件(例如,可信固件160)拦截操作并检查密码适配器是否被保留以及如果被保留,则检查密码适配器是否被另一访客保留(步骤602)。在一个示例中,该检查是对预约信息169的检查。若密码适配器由另一访客保留(询问604),则操作失败(步骤606)。然而,若密码适配器未由另一访客保留,则检查访客是否为安全访客或如果访客是安全访客,是否是由发布操作的安全访客保留的密码适配器(询问608)。再次,在一个示例中,密码适配器是否由安全访客保留的检查是对预约信
息169的检查。进一步,在一个示例中,为了检查访客是否是安全访客,固件(例如,可信固件160)检查针对访客维护的控制块,其包括访客是否是安全的指示。如果访客是安全访客且密码适配器未被安全访客保留,则操作失败(步骤610)。进一步,如果密码适配器未由另一访客保留(询问604),且访客不是安全访客或访客是安全访客且密码适配器由安全访客保留(询问608),则可信固件从密码适配器的响应队列(例如,响应队列168b)拉出响应,且将其返回到安全访客(步骤612)。
53.本文描述为特定访客保留安全模块(诸如硬件安全模块,并且具体地,密码适配器)的能力。在一个实施例中,如果密码适配器在用于启动安全访客的元数据中包括的可访问的密码适配器的列表中,且不由另一安全访客保留,则密码适配器被保留以供安全访客独占使用。该元数据将被加密地链接到安全访客的引导映像并且经由安全信道传输到可信固件。
54.当安全访客通过指示可信固件中的控制块中的预约而开始时,由可信固件执行预约,系统使用该可信固件与密码适配器通信以将对密码适配器的请求和来自密码适配器的响应(例如hsm控制块164)排队。预约可以是针对访客的存在时间,并且保护预约免于受管理程序的影响。访客的i/o配置(包括预约)被保护免于管理程序(包括非协作管理程序)的错误配置。
55.在一个示例中,如果密码适配器的预约在安全访客启动时或者由于适配器被拔出(和重新填塞)而取消预约时失败,则系统可以向例如所有安全访客提供选项,以从可信固件请求适配器的预约。在这种情况下,可信固件检查适配器是否可用、安全访客是否可以根据安全访客的元数据访问适配器以及是否存在适配器的冲突预约,并且在肯定情况下,为安全访客保留适配器。
56.在一个方面,可信固件维持控制块(例如,安全访客控制块162),该控制块不可由管理程序访问并且在访客的存在期内表示安全访客,并且包括来自安全访客的元数据的数据。可信固件维持密码适配器的预约,直到安全访客终止。因此,管理程序不能干扰由可信固件为运行的访客维护的预约。可信固件拒绝来自安全访客的不指向为该访客保留的密码适配器的任何请求,以及拒绝来自任意访客的对为另一访客保留的密码适配器的任何请求。
57.在一个实施例中,如果系统检测到密码适配器被拔出,则系统将撤销对该密码适配器的任何预约。
58.对于系统可访问的每个密码适配器,可信固件维持控制块(例如,控制块164),在一个示例中,控制块至少包括请求队列,所述请求队列包括对队列条目是否仍待提交给密码适配器的指示或来自密码适配器的响应。每个这样的控制块还维护其密码适配器是否被保留的指示,并且如果被保留的话,通过哪个访客来保留它。
59.密码适配器控制块(和预约指示)不可由管理程序或访客直接访问。在一个示例中,它们仅可以由固件代表管理程序或访客访问。
60.在系统启动时,在一个实施例中,将所有密码适配器标记为未保留。
61.在一个或多个方面,可信固件启动安全访客,然后在一个实施例中,其保留在管理程序的访客配置和安全访客的元数据中的密码适配器列表两者中定义的密码适配器。对于所有未保留的密码适配器,预约成功,而对于所有保留的密码适配器,预约失败。可信固件
配置安全访客,使得可在管理程序传递模式中从访客访问保留的密码适配器,且访问未为安全客户保留的适配器的尝试失败。在一个示例中,硬件安全模块被配置为处于管理程序传递模式的安全访客,使得由访客发出的密码操作不被管理程序(例如,管理程序170)拦截。相反,它们被可信组件(例如,可信固件160)拦截,绕过管理程序。在z/architecture硬件架构的一个示例中,通过配置例如z/architecture硬件架构的开始解释性执行(sie)指令的加密控制块来执行该配置。
62.在一个或多个方面中,管理密码适配器控制块的固件在应将请求推送到保留硬件安全模块的请求队列的情况下检查请求访客的id,且在id与拥有所述预约的访客的id不匹配的情况下拒绝操作。管理密码适配器控制块的固件在应从保留密码适配器的请求队列中拉取响应的情况下检查发出请求的访客的id,且在该id与拥有该预约的访客的id不匹配的情况下拒绝操作。
63.在一个或多个方面中,如果可信固件终止安全访客,那么对于例如为安全访客保留的所有密码适配器,其向密码适配器指示停止任何待决请求并清除密码适配器的请求和响应队列。
64.在一个或多个方面中,如果用作硬件安全模块(hsm)的保留的密码适配器丢失并重新出现,则可信固件确保密码适配器不对任何未决请求进行操作,刷新其请求和响应队列,并使hsm从安全访客解除配置,或者使其处于安全访客对该适配器的每个请求导致错误的状态。
65.在一个或多个方面中,可信固件提供例如仅由安全访客可访问的接口,安全访客可以使用该接口来请求重新建立丢失的预约。管理程序例如仅针对在安全访客的管理程序配置和安全访客的元数据中的密码适配器列表两者中的密码适配器满足重新建立预约的请求。
66.在一个实施例中,为了确保hsm的主密钥是属于安全访客的主密钥,安全访客在第一次使用适配器之前或每当重新建立丢失的适配器的预约时检查主密钥验证模式。
67.本文描述了各个方面。在不背离本发明的各方面的精神的情况下,许多变型和实施例是可能的。应注意,除非另有不一致之处,否则本文所述的每个方面或特征及其变体可与任何其他方面或特征组合。
68.本发明的一个或多个方面与计算机技术紧密联系并且促进计算机内的处理,从而改善其性能。本发明的实施例不可分割地与计算相联系,至少因为它们旨在解决计算所特有的问题,并提供也在该领域内的技术方法。本发明的实施例为特定访客保留安全模块,例如密码适配器。考虑到问题和方法两者都是计算特定的,本发明的实施例与计算不可分割地联系起来。
69.其他类型的计算环境还可以合并和使用本发明的一个或多个方面,包括但不限于仿真环境,其示例参考图7a进行描述。在该示例中,计算环境35包括例如经由例如一个或多个总线43和/或其他连接彼此耦合的本机中央处理单元(cpu)37、存储器39和一个或多个输入/输出设备和/或接口41。作为示例,计算环境35可以包括由国际商业机器公司(阿芒克,纽约)提供的处理器;和/或基于由国际商业机器公司、英特尔公司或其他公司提供的架构的其他机器。powerpc是在至少一个管辖区域中的国际商业机器公司的商标或注册商标。英特尔是英特尔公司或其子公司在美国和其他国家的商标或注册商标。
70.本机中央处理单元37包括一个或多个本机寄存器45,诸如在环境内处理期间使用的一个或多个通用寄存器和/或一个或多个专用寄存器。这些寄存器包括表示在任何特定时间点的环境状态的信息。
71.此外,本机中央处理单元37执行存储在存储器39中的指令和代码。在一个特定示例中,中央处理单元执行存储在存储器39中的仿真器代码47。该代码使得在一个架构中配置的计算环境能够仿真另一架构。例如,仿真器代码47允许基于除了z/architecture硬件架构之外的架构的机器(诸如powerpc处理器或其他服务器或处理器)仿真z/architecture硬件架构,并且执行基于z/architecture硬件架构开发的软件和指令。
72.参照图7b描述与仿真器代码47相关的进一步细节。存储在存储器39中的访客指令49包括被开发为在不同于本机cpu 37的架构的架构中执行的软件指令(例如,与机器指令相关)。例如,访客指令49可能已经被设计成在z/architecture处理器上执行,但取而代之的是在本机cpu 37(其可以是例如intel处理器)上仿真。在一个示例中,仿真器代码47包括指令提取例程51,以从存储器39获得一个或多个访客指令49,并且可选地提供对所获得的指令的本地缓冲。其还包括指令转换例程53,以确定已经获得的访客指令的类型并将访客指令转换成一个或多个对应的本机指令55。该转换包括,例如,识别要由访客指令执行的函数并选择执行该函数的本机指令。
73.进一步,仿真器代码47包括仿真控制例程57,以使本机指令被执行。仿真控制例程57可使本机cpu37执行仿真一个或多个先前获得的访客指令的本机指令例程,且在此执行结束时,将控制返回到指令提取例程以仿真下一访客指令或一组访客指令的获得。本机指令55的执行可包含将数据从存储器39加载到寄存器中;将数据从寄存器存储回到存储器;或执行如由翻译例程确定的某一类型的算术或逻辑操作。
74.例如,每一例程以软件实施,所述软件存储在存储器中且由本机中央处理单元37执行。在其他示例中,例程或操作中的一个或多个以固件、硬件、软件或其某种组合来实现。可使用本机cpu的寄存器45或通过使用存储器39中的位置来仿真经仿真处理器的寄存器。在各实施例中,访客指令49、本机指令55和仿真器代码47可驻留在同一存储器中或可分布在不同存储器设备之间。
75.一个或多个方面可涉及云计算。
76.应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
77.云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
78.特性如下:
79.按需自助服务:云消费者可单方面根据需要自动提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商进行人为交互。
80.广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户端平台或厚客户端平台(例如,移动电话、膝上型计算机和pda)的使用。
81.资源池:供应商的计算资源被池化以使用多租户模型服务于多个消费者,其中根据需求动态地分配和重新分配不同的物理和虚拟资源。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
82.快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
83.测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
84.服务模型如下:
85.软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
86.平台即服务(paas):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
87.基础设施即服务(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
88.部署模型如下:
89.私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
90.社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
91.公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
92.混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
93.云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
94.现在参见图8,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点52,本地计算设备诸如例如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点52可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,
诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图8中所示的计算设备54a-n的类型仅旨在是说明性的,并且计算节点52和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
95.现在参见图9,示出了由云计算环境50(图8)提供的一组功能抽象层。提前应当理解,图9所示的组件、层和功能仅仅是说明性的,本发明的实施例不限于此。如所描述,提供以下层和对应功能:
96.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
97.虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
98.在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行85提供根据sla预期未来需求的云计算资源的预安排和采购。
99.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;交易处理95和预约处理96。
100.本发明的各个方面可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
101.计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
102.本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部
计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
103.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c++等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
104.下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
105.这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
106.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
107.附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所指出的功能可不按图中所指出的次序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
108.除了上述之外,一个或多个方面可由提供访客环境的管理的服务提供商提供、供应、部署、管理、服务等。例如,服务提供商可为一个或多个访客创建、维护、支持等执行一个
或多个方面的计算机代码和/或计算机基础设施。作为回报,作为示例,服务提供商可以根据订阅和/或费用协议从访客接收支付。另外或可替代地,服务提供商可以从广告内容向一个或多个第三方的销售接收支付。
109.在一个方面,可以部署用于执行一个或多个实施例的应用。作为一个示例,应用的部署包括提供可操作以执行一个或多个实施例的计算机基础设施。
110.作为又一方面,可以部署计算基础设施,包括将计算机可读代码集成到计算系统中,其中代码与计算系统组合能够执行一个或多个实施例。
111.作为又一方面,可提供一种用于集成计算基础设施的过程,所述过程包括将计算机可读代码集成到计算机系统中。计算机系统包括计算机可读介质,其中计算机介质包括一个或多个实施例。代码与计算机系统组合能够执行一个或多个实施例。
112.尽管以上描述了各种实施例,但这些实施例仅是示例。例如,其他架构的计算环境可以用于合并和使用一个或多个实施例。进一步,可以使用其他可信组件和/或安全模块。另外,可以使用其他控制块和/或预约指示。
113.进一步,其他类型的计算环境可有益并被使用。作为示例,适合于存储和/或执行程序代码的数据处理系统是可用的,其包括通过系统总线直接或间接地耦合到存储器元件的至少两个处理器。存储器元件包括例如在程序代码的实际执行期间使用的本地存储器、大容量存储器和高速缓冲存储器,该高速缓冲存储器提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储器检索代码的次数。
114.输入/输出或i/o设备(包括但不限于键盘、显示器、定点设备、dasd、磁带、cd、dvd、拇指驱动器和其他存储介质等)可以直接地或通过中间的i/o控制器耦合到系统。网络适配器也可以耦合到系统,以使得数据处理系统能够通过居间的私有或公共网络耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是一些可用类型的网络适配器。
115.本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在进行限制。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括”和/或“包含”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
116.以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等效物(如果有的话)旨在包括用于结合如具体要求保护的其他要求保护的元件来执行所述功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了对一个或多个实施例的描述,但并不旨在是详尽的或限于所公开的形式。对于本领域普通技术人员而言,许多修改和变化将是显而易见的。选择和描述实施例以便最好地解释各个方面和实际应用,并且使本领域的其他普通技术人员能够理解具有适合于预期的特定用途的不同修改的不同实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1