一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

建立安全性关联和认证以保护发起方与响应方之间的通信的制作方法

2022-04-25 05:13:36 来源:中国专利 TAG:


1.本发明涉及用于建立安全性关联和认证以保护发起方与响应方之间的通信的计算机程序产品、系统和方法。


背景技术:

2.在光纤通道环境中,为了提供光纤通道架构中的节点之间的安全和加密通信,使用安全性建立协议在sa_initiator与sa_responder之间进行安全性关联(sa)管理事务。安全性关联管理协议可以由光纤通道认证协议的认证响应方发起。发起方和响应方可以包括在光纤通道网络中的设备中的主机总线适配器中的端口。为端口处的数据发送和数据接收建立单独的安全性关联。sa建立事务的完成导致一组安全性关联和相关的密钥材料,相关的密钥材料被用于在所建立的安全性关联下加密/解密发起方与目标之间的数据通信。
3.用于保护安全性关联中的数据以便进行发送和接收的密码密钥可以作为密钥更新(rekey)操作的一部分而被周期性地刷新,密钥更新操作涉及重复安全建立协议和重新认证。安全性关联协议的一个示例是t11光纤通道安全性协议标准fc-sp-2中的安全性关联管理协议,其类似于由诸如因特网密钥交换版本2(ikev2)之类的因特网协议标准定义的协议。该协议包括一对消息sa_init和sa_init response以建立父关联,其后是一对消息sa_auth和sa_auth response以执行实体的认证并建立保护实体之间传送的数据的安全性关联。
4.当使用重新认证来执行密钥更新操作时,在发起方和目标处维持多个安全性关联,直到删除旧的安全性关联为止。在特定实现中,为了避免在该时间期间的业务丢失,使用新的安全性关联的数据传输被一直延迟,直到从响应方接收到删除请求之后的某个时间为止。如果在用于建立新的安全性关联的消息传递中发生错误,则可能导致不一致的状态和业务丢失。
5.因此,在本领域中需要解决上述问题。
6.在本领域中需要用于为节点之间的数据传输建立安全性关联的改进技术。


技术实现要素:

7.从第一方面来看,本发明提供了一种用于通过网络在发起方与响应方之间进行安全通信的方法,包括:由所述发起方维持与所述响应方的第一安全性关联,所述第一安全性关联具有用于对与所述响应方传输的数据进行加密和解密的第一密钥;由所述发起方执行密钥更新操作以建立使用第二密钥的与所述响应方的第二安全性关联;在完成所述密钥更新操作之后,由所述发起方对输入/输出i/o排队以用于使用所述第二密钥进行传输;响应于激活所述第二安全性关联以用于传输,由所述发起方启动无效定时器,其中,在所述无效定时器启动之后期满之前,所述第一密钥和所述第二密钥两者能够被用于与所述响应方的传输;以及响应于所述无效定时器的期满,由所述发起方使所述第一安全性关联无效。
8.从另一方面来看,本发明提供了一种用于通过网络在发起方与响应方之间进行安
全通信的方法,所述方法包括:维持与所述响应方的第一安全性关联,所述第一安全性关联具有用于对与所述响应方传输的数据进行加密和解密的第一密钥;执行密钥更新操作以建立使用第二密钥的与所述响应方的第二安全性关联;在完成所述密钥更新操作之后,对输入/输出i/o排队以用于使用所述第二密钥进行传输;响应于激活所述第二安全性关联以用于传输,启动无效定时器,其中,在所述无效定时器启动之后期满之前,所述第一密钥和所述第二密钥两者能够被用于与所述响应方的传输;以及响应于所述无效定时器的期满,使所述第一安全性关联无效。
9.从另一方面来看,本发明提供了一种用于通过网络在发起方与响应方之间进行安全通信的系统,包括:处理器:计算机可读存储介质,其具有在所述发起方处实现的计算机可读程序代码,所述计算机可读程序代码在被执行时执行操作,所述操作包括:向所述响应方发送安全性关联初始化消息以与所述响应方建立安全性关联,所述安全性关联初始化消息包括用于生成用于所述安全性关联的密钥的密钥材料;响应于接收到接受所述安全性关联的安全性关联初始化响应,向所述响应方发送认证消息以对响应方进行编程以在所述响应方与所述发起方之间建立认证;响应于接收到对所述认证消息的认证消息响应,用所述安全性关联和针对所述安全性关联生成的所述密钥对所述发起方进行编程;在接收到所述认证消息响应之后,从所述响应方接收认证完成消息;以及响应于接收到所述认证完成消息,激活所述安全性关联以使用所述密钥来保护所述响应方与所述发起方之间的通信。
10.从另一方面来看,本发明提供了一种用于在网络上发起方与响应方之间进行安全通信的系统,包括:处理器:计算机可读存储介质,其具有在所述发起方处实现的计算机可读程序代码,所述计算机可读程序代码在被执行时执行操作,所述操作包括:维持与所述响应方的第一安全性关联,所述第一安全性关联具有用于对与所述响应方传输的数据进行加密和解密的第一密钥;执行密钥更新操作以建立使用第二密钥的与所述响应方的第二安全性关联;在完成所述密钥更新操作之后,对输入/输出i/o排队以用于使用所述第二密钥进行传输;响应于激活所述第二安全性关联以用于传输,启动无效定时器,其中,在所述无效定时器启动之后期满之前,所述第一密钥和所述第二密钥两者能够被用于与所述响应方的传输;以及响应于所述无效定时器的期满,使所述第一安全性关联无效。
11.从另一方面来看,本发明提供了一种用于通过网络在发起方与响应方之间进行安全通信的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,其具有在所述发起方处实现的计算机可读程序代码,所述计算机可读程序代码在被执行时执行操作,所述操作包括:向所述响应方发送安全性关联初始化消息以与所述响应方建立安全性关联,所述安全性关联初始化消息包括用于生成用于所述安全性关联的密钥的密钥材料;响应于接收到接受所述安全性关联的安全性关联初始化响应,向所述响应方发送认证消息以对响应方进行编程以在所述响应方与所述发起方之间建立认证;响应于接收到对所述认证消息的认证消息响应,用所述安全性关联和针对所述安全性关联生成的所述密钥对所述发起方进行编程;在接收到所述认证消息响应之后,从所述响应方接收认证完成消息;以及响应于接收到所述认证完成消息,激活所述安全性关联以使用所述密钥来保护所述响应方与所述发起方之间的通信。
12.从另一方面来看,本发明提供了一种用于通过网络在发起方与响应方之间进行安全通信的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,其可由处理电
路读取并且存储用于由所述处理电路执行以用于执行用于执行本发明的步骤的方法的指令。
13.从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,所述计算机程序包括软件代码部分,当所述程序在计算机上运行时,所述软件代码部分用于执行本发明的步骤。
14.提供了用于通过网络在发起方与响应方之间进行安全通信的计算机程序产品、系统和方法实施例。所述发起方向所述响应方发送安全性关联初始化消息以与所述响应方建立安全性关联,所述安全性关联初始化消息包括用于生成用于所述安全性关联的密钥的密钥材料。响应于接收到接受所述安全性关联的安全性关联初始化响应,所述发起方向所述响应方发送认证消息以对响应方进行编程以在所述响应方与所述发起方之间建立认证。响应于接收到对所述认证消息的认证消息响应,用所述安全性关联和针对所述安全性关联生成的所述密钥对所述发起方进行编程。在接收到所述认证消息响应之后,从所述响应方接收认证完成消息。响应于接收到所述认证完成消息,所述发起方所述安全性关联以使用所述密钥来保护所述响应方与所述发起方之间的通信。
15.上述实施例通过使发起方等待来自响应方的认证完成消息以向发起方确认响应方已经成功完成认证并且已经激活新的安全性关联以便立即使用,避免了在建立节点的安全性关联和认证时以及还在对认证消息的认证消息响应之后由于错误而导致的不一致状态。这允许在发起方用安全性关联和密钥对发起方编程以使得发起方通过认证完成消息确信响应方已经成功完成认证并且激活了新的安全性关联消息之后,发起方在接收到认证完成消息时开始使用新的安全性关联进行传输。
16.还提供了用于通过网络在发起方与响应方之间进行安全通信并执行密钥更新操作的计算机程序产品、系统和方法实施例。所述发起方维持与所述响应方的第一安全性关联,所述第一安全性关联具有用于对与所述响应方传输的数据进行加密和解密的第一密钥。所述发起方执行密钥更新操作以建立使用第二密钥的与所述响应方的第二安全性关联。在完成所述密钥更新操作之后,对输入/输出i/0排队以用于使用所述第二密钥进行传输。响应于激活所述第二安全性关联以用于传输,所述发起方启动无效定时器。在所述无效定时器启动之后期满之前,所述第一密钥和所述第二密钥两者能够被用于与所述响应方的传输。响应于所述无效定时器的期满,所述发起方使所述第一安全性关联无效。
17.通过上述实施例,发起方可以发起密钥更新操作以生成第二安全性关联以供在发起方处使用。在激活第二安全性关联之后,发起方启动无效定时器,以在使第一安全性关联无效之前等待,以提供时间来从发起方清仓使用第一安全性关联来保护的i/o,使得在无效定时器期间能够使用第一密钥和第二密钥两者。因此,当发起方在无效定时器期满之后使第一安全性关联无效时,发起方被确保第一安全性关联对于系统中的任何未决传输是不需要的。
18.实施例的主题可以可选地包括响应于所述认证完成消息而向所述响应方发送接受消息的可选实施例。响应于发送所述接受消息,激活所述安全性关联和针对所述安全性关联生成的密钥以用于通信。响应于发送所述接受消息,在所述发起方与所述响应方之间建立认证。
19.利用上述可选实施例,通过使发起方发送对认证完成消的接受消息以向响应方发
信号通知发起方和响应方都已经激活安全性关联以供使用并且安全性关联现在可以被用于进一步的传输,来协调安全性关联和认证。
20.上述实施例的主题可以可选地包括可选实施例,即,所述接受消息包括第二接受消息。所述发起方响应于所述认证消息响应,向所述响应方发送第一接受消息,以使所述响应方激活所述安全性关联,以使用用于所述安全性关联的密钥来保护所述发起方与所述响应方之间的通信。所述认证完成消息是在发送所述第一接受消息之后接收的。利用上述可选实施例,在认证完成之后,发起方可以用第一接受消息向响应方发信号以使响应方激活安全性关联,然后响应方通过第一接受消息之后的认证完成消息发信号通知它已经激活安全性关联。这允许发起方与响应方之间关于两者何时已激活安全性关联的协调。
21.上述实施例的主题可以可选地包括可选实施例,即,所述发起方包括主机系统,所述响应方包括向所述主机系统提供对存储资源的访问的存储控制器。针对在所述主机系统处的发起方端口和在所述存储控制器处的响应方端口,建立所述安全性关联和认证。
22.利用上述可选实施例,主机可以实现发起方以建立与存储控制器处的端口的安全性关联。使主机用作与存储控制器建立安全性关联中的发起方避免了必须在节点之间协商将用作发起方的节点。
23.上述实施例的主题可以可选地包括用于所述密钥更新操作的可选实施例,即,响应于接收到接受所述第二安全性关联的安全性关联初始化响应,所述发起方向所述响应方发送认证消息,以使所述响应方在所述响应方与所述发起方之间建立认证。响应于在所述认证消息之后接收到认证完成消息,所述发起方激活所述第二安全性关联以使用所述第二密钥加密和解密与所述响应方的通信。所述发起方启动所述无效定时器,所述无效定时器是响应于所述认证完成消息而启动的。
24.利用上述可选实施例,在响应方发送认证完成消息以用信号通知认证已经完成并且第二密钥已经被激活以供使用的时刻,发起方对它何时启动无效定时器以使第一安全性关联无效进行协调。
附图说明
25.现在将参照优选实施例仅通过示例的方式描述本发明,如以下附图所示:
26.图1示出了网络计算环境的实施例;
27.图2示出了主机总线适配器的实施例;
28.图3示出了安全性关联的实施例;
29.图4示出了用于在发起方节点与响应方节点之间建立安全性关联和认证的操作的实施例;
30.图5示出了用于图4的操作的消息流;
31.图6示出了用于执行密钥更新操作以生成发起方节点与响应方节点之间的新的安全性关联和认证并删除旧的安全性关联的操作的实施例;
32.图7示出了用于图6的操作的消息流;
33.图8示出了其中可实现图1的组件的计算环境。
具体实施方式
34.所描述的实施例提供了对用于在网络中的发起方与响应方之间建立安全性关联的计算机技术的改进。所描述的实施例通过使响应方节点向发起方发送最终认证完成消息,避免了在建立节点的安全性关联和认证时由于错误而导致的不一致状态。响应方发送认证完成消息以向发起方确认响应方已经成功完成认证并且已经激活新的安全性关联以供立即使用。这允许响应方在完成安全性关联管理事务时开始使用新的安全性关联进行传输,而不是等待删除旧的安全性关联。在所描述的实施例中,在针对使用用于旧的安全性关联的密钥所编码的那些消息建立了新的安全性关联之后的一段时间内,针对数据的接收维持旧的安全性关联。延迟具有足够的长度,以允许在删除旧的安全性关联之前从系统中清仓使用旧的安全性来编码的所有消息。这消除了任何潜在的丢失问题,因为一旦旧的安全性关联被移除,就不能处理(解密)用旧的安全性关联加密(保护)的消息。
35.图1示出了网络计算环境100的实施例,其中多个主机1021、1022…
102n可以通过光纤通道架构(网络)106向存储控制器104提交输入/输出(i/o)请求,以访问存储装置110中的卷108(例如,逻辑单元号、逻辑设备、逻辑子系统等)处的数据。存储控制器104包括一个或多个处理器112和i/o管理器114,以用于管理在主机1021、1022…
102n与存储装置之间传送的轨道的传送。轨道可以包括在存储装置110中配置的任何数据单位,例如轨道、逻辑块地址(lba)、存储单元、单元组(例如,列、行或单元阵列)、扇区、段等,轨道可以是更大的轨道组(例如卷、逻辑设备等)的一部分。
36.如关于主机102i所示,每个主机具有一个或多个主机总线适配器(hba)200h,其具有多个端口210
h1

210
hn
以连接到交换机的光纤通道架构106。存储控制器140包括一个或多个主机总线适配器(hba)200
sc
,其具有多个端口210
sc1
...210
scn
以连接到交换机的光纤通道架构106。替代地,主机端口210
hi
和存储控制器端口210
sci
可以经由电缆直接连接。
37.在一个实施例中,光纤通道架构106可以包括存储区域网络(san),其包括利用光纤通道拓扑实现。210
hi
、210
sci
可以包括连接到光纤通道架构106中的光纤通道交换机的光纤通道节点。在替代实施例中,光纤通道架构106可包括其它类型的网络,例如局域网(lan)、广域网(wan)、因特网以及内联网等。替代地,主机1021、1022…
102n可以通过总线接口(例如,外围组件互连(pci)总线接口和本领域公知的其它接口)连接到存储控制器104。
38.在所描述的实施例中,关于光纤通道协议描述了发起方端口与响应方端口之间的消息传送。在替代实施例中,替代网络协议可用于在发起建立新的安全性关联和认证的发起方节点与响应建立用于一对端口的新的安全性关联和认证的请求的响应方节点之间传输消息。
39.作为在此使用的术语,“发起方”是指在发起与响应方的安全性关联和认证的建立中涉及的任何设备,“响应方”是指在响应由发起方发起的安全性关联和认证的建立以提供发起方与响应方之间的安全通信中涉及的任何设备。用作发起方和响应方的元素可以被称为发起方和响应方,其也可以被称为发起方端口和响应方端口、发起方节点和响应方节点、发起方hba和响应方hba、发起方的源节点和响应方的目标节点、发起方的主机端口和响应方的存储控制器端口等。
40.光纤通道架构控制器202和安全性关联管理器206可包括加载到存储器中并由一个或多个处理器执行的程序代码。替代地,一些或所有功能可以被实现为在存储控制器104
中的硬件设备中(例如在专用集成电路(asic)中)的微代码或固件。
41.存储装置110可以包括本领域已知的一个或多个存储设备,诸如由固态电子器件组成的固态存储设备(ssd)、nand存储单元、eeprom(电可擦除可编程只读存储器)、闪存、闪存盘、随机存取存储器(ram)驱动器、存储级存储器(scm)、相变存储器(pcm)、电阻随机存取存储器(rram)、自旋转移扭矩存储器(stm-ram)、导电桥接ram(cbram)、磁性硬盘驱动器、光盘、磁带等。存储设备还可以被配置成设备阵列,诸如简单磁盘捆绑(jbod)、直接存取存储设备(dasd)、独立磁盘冗余阵列(raid)、虚拟化设备等。此外,存储设备可以包括来自不同供应商或来自同一个供应商的异构存储设备。
42.图2示出了主机总线适配器(hba)200i(例如主机hba 200h和存储控制器hba200
sc
)的实施例。hba 200i包括:光纤控制器202,其实现光纤协议,例如光纤通道协议或本领域已知的其它网络协议,以初始化和认证连接并管理i/o操作;i/o队列204,其用于将与其它设备上的其它hba端口有关的发送或接收的i/o请求排队;安全性关联索引300,其具有初始化后的安全性关联,并提供密钥以加密和解密来自另一光纤通道架构端口的数据;安全性关联管理器206,其用于与光纤通道架构106中的另一节点端口协商并建立安全性关联300i,其中一个节点处的一个端口用作发起方,以与另一节点上用作响应方的端口通信;以及无效定时器208,其用于确定在执行密钥更新操作以建立新的安全性关联和用于加密/解密的新密钥之后何时使先前的安全性关联无效。hba 200i包括一个或多个端口2101…
210n,其可以用作发起方端口或响应方端口以在光纤通道架构106上通信。
43.安全性关联管理器206还可以实现认证协议以彼此认证发起方和响应方的身份,以作为建立用于发起方端口与响应方端口之间的安全性关联对的安全性关联的一部分。在特定实施例中,在安全性关联交换完成之后,可以交换认证消息以认证发起方端口与响应方端口以及交换标识。为了描述在发起方端口与响应方端口之间建立安全性关联和认证,参考主机hba 200h中的发起方端口118i和存储控制器hba 200
sc
中的响应方端口122r。在另外的实施例中,发起方端口和响应方端口可以在通过光纤通道架构106通信的其他类型的设备中实现。
44.图3示出了安全性关联索引300中的安全性关联300i的实例的实施例,并且包括:安全性关联(sa)号302;一个或多个密钥304,其用于加密和解密与另一节点的消息;角色306,其指示安全性关联中涉及的本地端口308是发起方还是响应方;远程端口310,其在安全性关联302中涉及的另一设备处,并经历与本地端口308的安全传输;安全性关联属性312,例如用于加密/解密消息的变换类型、变换属性、随机数(nonce)、以及用于作为种子和生成密钥的密钥材料;以及活动标志314,其指示安全性关联300i是否被活动地用于加密和解密消息。消息将在用于加密和解密消息的安全性关联的报头中指示安全性关联号302。
45.图4示出了由在两个hba 200i中实现的安全性关联管理器206执行的操作的实施例,一个hba 200i用作发起方hba 200i,其从发起方hba 200i中的发起方端口210i发起安全性关联管理事务,另一个hba 200i用作响应方hba 200r,其响应在响应方hba200r中的响应方端口210r处的安全性关联管理事务。在一个实现中,主机hba 200h用作发起方,而存储控制器hba 200
sc
用作响应方。在另外的实施例中,设备的其它组合可以具有作为不同端口的发起方或响应方来操作的hba。为了发起建立安全性关联300i的操作,发起方hba 200i从发起方端口210i向响应方端口210r发送(在方块400)安全性关联初始化消息(sa_init),以建
立与响应方端口210r的安全性关联,sa_init包括用于创建加密密钥的密钥材料。在接收到(在方块402)安全性关联初始化消息时,响应方hba 200r向发起方端口210i发送(在方块404)安全性关联初始化消息的接受以便处理。在光纤通道协议实现中,指示对所接收消息的处理的接受消息可以采取链路服务接受消息(ls_acc)的形式。在发送接受之后,响应方hba 200r向发起方端口210i发送(在方块406)初始化响应消息(sa_init_resp)以接受安全性关联,包括用于加密/解密的所选变换方法。安全性关联初始化消息可包括多个不同的加密变换方法,响应方hba 210r可从这些方法中进行选择以用于正在被建立的安全性关联300i。
46.一旦接收到发送的初始化响应消息(sa_init resp),发起方hba 200i就向响应方端口210r发送(在方块408)初始化响应消息被接受以用于处理的接受(ls_acc),然后向响应方端口210r发送(在方块410)认证消息(sa_auth),以对响应方端口210r编程,从而在响应方与发起方之间建立认证,sa_auth包括发起方身份信息。发起方身份信息可包括用于具有发起方端口210i的实体(例如主机102i)的证书。在接收到安全性关联认证消息(sa_auth)后,响应方hba 210r向发起方端口210i发送(在方块412)认证消息被接受以用于处理的接受消息(ls_acc),然后生成(在方块414)安全性关联300i,其包括用来自发起方端口210i的消息执行解密和加密所需的一个或多个密钥304,以编程在响应方安全性关联索引300中,从而指示针对安全性关联300i生成的密钥和其它信息。在用响应方端口210r的安全性关联300i对响应方hba 210r编程之后,响应方hba 210r向发起方端口210i发送(在方块416)认证响应消息(sa_auth resp)以接受认证,sa_auth resp包括响应方身份信息,例如包括响应方hba 200r的实体(例如存储控制器104)的身份。
47.在接收到安全性关联验证响应消息后,发起方hba 200i生成(在框418)安全性关联300i,以编程在发起方安全性关联索引300中,以指示针对安全性关联300i生成的密钥304和其他信息。在将安全性关联300i编程到发起方索引300中之后,发起方hba 200i向响应方端口210r发送(在方块420)认证消息被接受以用于处理的接受(ls_acc)。在接收到接受后,响应方hba 200r激活(在方块422)所创建的安全性关联300i,例如通过设置激活标志314,以便开始使用针对安全性关联300i生成的密钥304来向发起方端口210i传送。在激活安全性关联之后,响应方hba 200r向发起方端口210i发送(在框424)认证完成消息(auth done),其指示安全性关联初始化和认证都已完成,并且现在可以使用用于新建立的安全性关联300i的密钥304对传输进行加密和解密。在接收到认证完成消息后,发起方hba 200i激活(在块426)所创建的安全性关联300i,例如通过设置活动标志314,以开始使用针对安全性关联300i生成的密钥304来向响应方端口210r发送。在激活安全性关联之后,发起方hba 200i向响应方端口220r发送(在方块428)安全性关联300i被激活的接受(ls_acc),并开始使用新的安全性关联密钥304向响应方端口210r发送(在方块430)i/o。
48.图5提供了说明图4中的消息流和操作时序的时序图,其中传输用图4中的对应块来编号。
49.利用图4和5的实施例,响应方hba 200r通过发送认证完成消息来提供建立安全性关联和认证的所有步骤已经成功完成的通知(在框424)。一旦发起方hba 200i接受在安全性关联300i已经在节点处被编程之后发生的认证完成消息,则发起方节点和响应方节点两者可以开始用新的安全性关联300i和密钥304进行传输。利用认证完成消息,响应方发信号
通知利用新密钥304进行发送的能力,以及发信号通知发起方也使用新安全性关联的新密钥304开始发送。这样,通过所描述的实施例,安全性关联管理协议被与相互认证相结合,以允许发起方和响应方使用新的安全性关联开始安全传输。
50.此外,通过所描述的实施例,主机102i可以在与存储控制器104建立安全性关联时总是充当发起方,以避免必须在节点之间协商将充当发起方的节点。
51.图6示出了在发起方hba 200i与响应方hba 200r之间执行的操作的实施例,这些操作用于执行密钥更新操作以针对新的子密钥建立新的安全性关联,以便在根据图4和5的操作建立初始安全性关联之后用于将来传输。为了启动密钥更新操作以创建新的安全性关联300i和密钥304,发起方hba 200i执行(在块600)在图4中的块400、408、410、418、420、426、428的操作,以建立安全性关联并对新的安全性关联执行认证。响应方hba 200r执行(在块602)在图4中的块402、404、406、412、414、416的操作,以建立安全性关联300i并执行对密钥更新操作的认证。在接收到由发起方hba 200i在框420发送的对认证响应消息的接受后,响应方hba 200r在(框424)发送认证完成之前,在激活安全性关联300i(在框422)时启动(在框604)无效定时器208。一旦无效定时器208期满(在方块606),响应方hba 200r就使任何未决的活动安全性关联300
i-1
无效(在方块608)。一旦使先前的安全性关联无效,响应方hba 200r将只使用作为密钥更新操作的一部分而创建的新的安全性关联300i。此外,当发起方hba200i发送对认证完成的接受时(在框428),发起方hba 200i还将启动(在框610)它自己的无效定时器208。在无效定时器208期满(在块612)时,使发起方hba 200i处的先前安全性关联300
i-1
无效(在块614)。
52.图7提供了说明图6中的消息流和密钥更新操作的时序的时序图,其中传输用图6中的相应块来编号。图7中所示的来自图4的参考标号表示如关于图6中所述的第二或新安全性关联的建立而执行的图4的安全性关联初始化操作。
53.对于图6和7的操作的实施例,在完成密钥更新操作之后,发起方端口210i和响应方端口210r都已经开始使用新的传输密钥对i/o请求进行排队以用于传输。此外,发起方和响应方两者启动无效定时器208,其提供足够的时间以允许在使处理在新密钥激活之前发送的i/o请求所需的先前安全性关联300
i-1
无效之前,使用先前密钥和安全性关联300
i-1
发送的所排队的i/o请求被处理并从i/o队列204中被清仓。这样,到先前的安全性关联300
i-1
被无效时,在使用先前的安全性关联300
i-1
加密的i/o队列204中可能不再有i/o请求,此外,在一个实施例中,响应方hba 200r可以在发起方hba 200i之前启动无效定时器208,因为响应方响应于接受(在方块422)激活新的安全性关联,然后发起方响应于稍后发送的认证完成消息(在方块424)激活其新的安全性关联。
54.本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),这些计算机可读程序指令用于使处理器执行本发明的各方面。
55.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘
只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
56.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
57.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如java、smalltalk、c 等)和常规过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
58.在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
59.这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
60.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
61.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代
实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
62.图1和2的计算组件(包括主机1021、1022…
102n、存储控制器104和主机总线适配器200i)可以在一个或多个计算机系统(诸如图8所示的计算机系统802)中实现。计算机系统/服务器802可以在计算机系统执行的诸如程序模块的计算机系统可执行指令的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器802可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
63.如图8所示,计算机系统/服务器802以通用计算设备的形式示出。计算机系统/服务器802的组件可以包括但不限于一个或多个处理器或处理单元804、系统存储器806、以及将包括系统存储器806在内的各种系统组件耦接到处理器804的总线808。总线808表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(isa)总线、微通道体系结构(mca)总线、增强型isa(eisa)总线、视频电子技术标准协会(vesa)局部总线和外围组件互连(pci)总线。
64.计算机系统/服务器802通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器802访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。
65.系统存储器806可包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(ram)810和/或高速缓存存储器812。计算机系统/服务器802还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统813可被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如cd-rom、dvd-rom或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这样的实例中,每个可以通过一个或多个数据介质接口连接到总线808。如下面将进一步描绘和描述的,存储器806可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行本发明的实施例的功能。
66.作为示例而非限制,具有一组(至少一个)程序模块816的程序/实用程序814以及操作系统、一个或多个应用程序、其它程序模块和程序数据可被存储在存储器806中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。计算机802的组件可以被实现为程序模块816,其通常执行如在此所描述的本发明的实施例的功能和/或方法。图1的系统可以在一个或多个计算机系统802中实现,其中如果它们在多个计算机系统802中实现,则计算机系统可以通过网络通信。
67.计算机系统/服务器802还可与一个或多个外部设备818通信,诸如键盘、指点设
备、显示器820等;一个或多个设备,其使得用户能够与计算机系统/服务器802交互;和/或使计算机系统/服务器802能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(i/o)接口822发生。此外,计算机系统/服务器802可以经由网络适配器824与诸如局域网(lan)、通用广域网(wan)和/或公共网络(例如,因特网)之类的一个或多个网络通信。如所描绘的,网络适配器824经由总线808与计算机系统/服务器802的其他组件通信。应当理解,尽管未示出,但是可以结合计算机系统/服务器802使用其他硬件和/或软件组件。实例包括但不限于:微码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、raid系统、磁带驱动器、以及数据档案存储系统等。
68.术语“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”表示“本发明的一个或多个(但不是全部)实施例”,除非另有明确说明。
69.术语“包括”、“包含”、“具有”及其变体表示“包括但不限于”,除非另有明确说明。
70.除非另外明确规定,否则列举的项目列表并不意味着任何或所有项目是互斥的。
71.术语“一”、“一个”和“该”表示“一个或多个”,除非另有明确说明。
72.除非另外明确指出,否则彼此通信的设备不需要彼此连续通信。另外,彼此通信的设备可以直接通信或通过一个或多个中间物间接通信。
73.具有彼此通信的若干组件的实施例的描述并不暗示需要所有此类组件。相反,描述了各种可选组件以说明本发明的各种可能的实施例。
74.当在此描述单个设备或产品时,很明显,可以使用多于一个的设备/产品(无论它们是否协作)来代替单个设备/产品。类似地,在本文描述了多于一个设备或产品(无论它们是否协作)的情况下,将容易明白的是,可以使用单个设备/产品来代替多于一个设备或产品,或者可以使用不同数量的设备/产品来代替所示数量的设备或程序。设备的功能和/或特征可以替代地由一个或多个未明确描述为具有这样的功能/特征的其他设备来体现。因此,本发明的其它实施例不需要包括该设备本身。
75.为了说明和描述的目的,已经给出了本发明的各种实施例的上述描述。其不是穷举的,也不是要将本发明限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。本发明的范围不是由该详细描述来限定,而是由所附权利要求来限定。上述说明、示例和数据提供了对本发明的组成的制造和使用的完整描述。由于在不脱离本发明的精神和范围的情况下可以做出本发明的许多实施例,因此本发明在于所附权利要求书。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献