虚拟化密码密钥以提供一虚拟密码密钥。为了虚拟化密钥,对密钥和掩码使用例如异或操作的操作。虚拟密钥可被虚拟环境的客户用在密码操作中。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般地涉及在虚拟计算环境中的处理,尤其是在该环境中提供安全性。
技术介绍
在虚拟环境中提供安全性的一个方面是保护在密码装置所执行的密码操作中所使用的密码密钥(cryptographic key)。在一个例子中,这些密钥通过加密来保护。例如, 密码密钥被主密钥(master key)加密,提供加密的密码密钥。主密钥被保持在密码装置的安全边界内。加密的密码密钥可以存储在密码装置的安全边界之外,然后用于密码操作中。单个处理器系统具有与其相关联的一组主密钥。也就是说,单个处理器系统对于每种密码密钥具有一主密钥。但是,在分区环境中,对每个区域或分区具有一组主密钥。
技术实现思路
虽然分区系统中的每个分区具有其自己的一组主密钥,传统上,这些密钥被该分区中的所有虚拟系统共享。如此处所使用的,每个虚拟系统是在虚拟环境中运行的计算系统。其包括例如在像Linux的客户操作系统控制下的资源(例如一个或多个CPU,存储器, I/O等)。这样,术语“客户(guest)”指代虚拟系统。为了提高安全性,希望每个客户具有其自己的一组虚拟主密钥。这样,需要为每个运行于分区中的客户提供单独虚拟密钥的能力。另外,需要虚拟化除主密钥之外的密钥(例如其他密码密钥或其他密钥)的能力。通过提供用于虚拟化密码密钥的计算机程序产品而克服了现有技术的缺点并提供了附加的优势。计算机程序产品包括可由处理电路读取的存储介质,该存储介质存储由处理电路执行来实现一方法的指令。该方法包括,例如,获取密码密钥;和使用操作、密码密钥和掩码产生虚拟密码密钥。关于本专利技术的一个或多个方面的方法和系统也在此描述并要求保护。另外,关于本专利技术的一个或多个方面的服务也在此描述并要求保护。附加的特征和优点通过本专利技术的技术来实现。本专利技术的其他实施例和方面在此详细描述并被认为是所要求保护的专利技术的一部分。附图说明在说明书结尾部分的权利要求中,本专利技术的一个或多个方面作为例子被特别指出并清楚地被要求保护。本专利技术的上述及其他目的、特征和优点从以下详细描述结合附图来看是显然的,其中图1示出包含并使用本专利技术一个或多个方面的计算环境的一个例子;图2示出了客户的控制模块的一个例子,包括根据本专利技术一方面使用的一个或多个客户主密钥掩码;图3示出了根据本专利技术一方面的提供虚拟密钥的逻辑的一个实施例;3图4示出了根据本专利技术一方面,使用在虚拟密钥下加密的加密密钥的逻辑的一个实施例;并且图5示出了包括本专利技术的一个或多个方面的计算机程序产品的一个实施例。 具体实施例方式根据本专利技术的一方面,提供虚拟化密码密钥的能力。在一个特别示例中,用来保护其他密码密钥的主密钥被虚拟化,使得计算环境的分区的每个客户可以拥有其自己的一组主密钥。这组主密钥对于每种要保护的密码密钥(例如AES或DEA)包括一密钥,因此,该组主密钥可以包括一个或多个主密钥。参考图1来描述包含并使用本专利技术的一个或多个方面的计算环境的一个实施例。 计算环境100包括例如划分到一个或多个分区或区域104(例如,逻辑分区1-N)的中央处理器复合体(CPC) 102,至少一个主机106(例如,控制程序,例如管理程序),一个或多个中央处理器108,以及输入/输出子系统110。每个逻辑分区104可以作为单独的系统来运行。也就是说,每个逻辑分区可以独立地重置,如果有需要,可以初始加载操作系统,并操作不同的程序。在逻辑分区中运行的操作系统或应用程序看起来能访问整个完整的系统,但是实际上只是其一部分可用。中央处理器108是可分配给逻辑分区的物理处理器资源。例如,每个逻辑分区104 包括一个或多个逻辑处理器,其每个表示可动态分配到分区的所有或一部分物理处理器资源。尤其是,物理资源由主机106拥有,并且共享的物理资源由主机分派给在由主机106管理的分区中运行的一个或多个客户112。例如,主机可以在运行于处理器108上的微码中实施或者是执行于机器上的主机操作系统的一部分。在每个逻辑分区中,一个或多个客户(甚至几十万)可以运行,并且每个客户能够运行于特定的虚拟化等级上。例如,如果一个客户运行于主机上(例如LPAR)而非另一客户上,则认为其运行在第一虚拟化等级。但是,如果客户操作系统(例如Linux)运行在一个其他客户操作系统上(例如由国际商业机器公司提供的Z/VM 。z/VM 是纽约阿蒙克市的国际商业机器公司的注册商标。此处所用的其他名称可以是国际商业机器公司或其他公司的注册商标、商标或产品名称。)(参见例如图1的逻辑分区2),则其运行在第二虚拟化等级上。客户可以被分层,层数决定了虚拟化等级(参见例如图1的逻辑分区)。为了提供计算环境中的安全性,在密码操作中使用的密码密钥使用主密钥而被加密。计算环境的每个逻辑分区具有其自己的一组主密钥(也就是对每种要保护的密码密钥一个主密钥)。在一个例子中,每个主密钥使用伪随机产生器随机产生,并存储在硬件系统区域(HSA)的安全部分中。根据本专利技术的一方面,逻辑分区的每个客户被提供有其自己的虚拟主密钥。这是通过为该逻辑分区取得主密钥并为每个客户将其虚拟化而实现的,如此处所详述的。 在一个实施例中,为了虚拟化例如主密钥的密码密钥,使用掩码。每个客户具有其自己的掩码,并且如图2所示的,该掩码存储在控制块200中。控制块可以包括用于客户的一个或多个掩码。在此处描述的实施例中,被虚拟化的密钥是主密钥,并且因此对于可用于客户的每种主密钥具有一个掩码。如果仅有一种类型的主密钥,那么就仅有一个主密钥掩码。在一个例子中,掩码是一个唯一数值,例如起始于初始点并随着每次使用数字而加一的4序列数值。在另一个例子中,数值不需要是唯一的,而能够例如是强随机数值,其中重复的几率很小。其他可能也存在。客户的掩码例如由客户运行在其下的操作系统来分配。例如,处于第二虚拟化等级的客户的掩码由处于第一虚拟化等级的客户,例如Z/VM 操作系统分配。客户的掩码被创建该掩码的操作系统置于客户的控制块中。掩码对于客户是不可访问的,并且在客户的使用期限期间(也就是直到客户为IPLed)保留。在一个例子中,为了提供虚拟主密钥,使用主密钥及一个或多个掩码来执行布尔操作,例如异或(或其他操作)。用来创建虚拟主密钥的掩码数量取决于客户的虚拟化等级。例如,如果客户处于第一虚拟化等级,使用一个掩码;处于第二虚拟化等级,使用两个掩码(除了由布尔操作所产生的可能的中间掩码),等等。参考图3进一步详述该处理。参考图3,详细描述了用来提供虚拟密码密钥(例如虚拟主密钥)的逻辑的一个实施例。在一个例子中,该逻辑由计算环境的处理器执行,并且尤其是在其中执行的微代码。 另外,该示例涉及虚拟化主密钥;但是,在其他实施例中,除了主密钥之外的密钥,例如其他密码密钥,可以使用同样的过程来虚拟化。在一个例子中,由微代码产生主密钥。初始地,为了产生虚拟主密钥,在步骤300,确定为其产生密钥的客户的等级。该信息对于运行于中央处理器上的微代码是已知的。如果在询问302中客户的虚拟化等级为一,则在步骤304中,与该客户相关联的掩码与适当的主密钥进行异或,以向客户提供虚拟主密钥。具体地,存储于该客户的控制块(或其他地方)的掩码被获取,并且对掩码与分配给客户在其中执行的分区的主密钥执行XOR操作。XOR的结果是虚拟主密钥,其可以用于本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:P·叶其中,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。