基于有序聚合数字签名的服务链完整性检测方法、装置及介质

文档序号:25595888发布日期:2021-06-22 17:14阅读:113来源:国知局
基于有序聚合数字签名的服务链完整性检测方法、装置及介质

本发明实施例涉及网络安全技术领域,尤其涉及一种基于有序聚合数字签名的服务链完整性检测方法、装置及介质。



背景技术:

服务链是保障网络服务的业务流量、按照用户的业务类别和业务逻辑要求有秩序地穿过一系列虚拟网元的技术。在软件定义网络(sdn,softwaredefinednetworking)以及网络功能虚拟化(nfv,networkfunctionvirtualization)等技术的赋能下,服务链极大地简化了云计算基础服务设施中网络服务的创建、部署以及管理,大幅降低网络服务提供商的资本支出(capex)和运营支出(opex),因此近年来受到学术界、工业界的广泛关注。

在云计算基础服务设施中实现服务链的方式有多种,例如:基于多协议标签交换(mpls,multipleprotocollabelswitch)协议的实现,基于分段路由(segmentrouting)协议的实现,基于网络服务头(nsh,networkserviceheader)协议的实现等。

尽管各种服务链实现方案的运用能够极大地方便网络服务的创建管理,但由于sdn、nfv等各型虚拟化技术的引入,未来网络基础服务设施的网络攻击面变得比以往更大,从而造成运行在基础服务设施上的服务链饱受各型安全威胁的情况发生。当前攻击者可以利用服务链编排系统的潜在漏洞,绕过相关安全机制以破坏服务链的完整性,例如:用恶意服务节点替代服务链上合法服务节点,或者绕过某些履行安全功能的节点等。



技术实现要素:

有鉴于此,本发明实施例期望提供一种基于有序聚合数字签名的服务链完整性检测方法、装置及介质;能够检测服务链的完整性,保障服务链的信息安全。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供了一种基于有序聚合数字签名的服务链完整性检测方法,所述方法应用于在提供服务链的服务网络中的服务链控制实体,所述方法包括:

生成身份基加密参数;

根据所述服务链中各服务节点的身份信息利用所述身份基加密参数生成各服务节点对应的私钥和签名构造参数;

将各服务节点对应的私钥和签名构造参数分发至对应的服务节点;

生成包含有初始数字签名的探针数据包,并将所述探针数据包发送至所述服务链的入口分类器,以使得所述探针数据包在所述服务链中所经历的各服务节点依次利用对应的私钥和签名构造参数更新所述探针数据包中的数字签名;

接收由所述服务链的出口分类器回传的包含有更新完毕的数字签名的探针数据包;

根据预设的验证参数对包含有更新完毕的数字签名的探针数据包进行验证,并基于验证结果确定所述服务链的完整性。

第二方面,本发明实施例提供了一种基于有序聚合数字签名的服务链完整性检测方法,所述方法应用于在提供服务链的服务网络中的服务节点,所述方法包括:

接收由所述服务网络中的服务链控制实体发送的私钥和签名构造参数;

接收处于所述服务链中的上一级网元发送的探针数据包;

根据所述私钥和签名构造参数将所述探针数据包中的数字签名进行更新,并将包含有更新后的数字签名的探针数据包发送至所述服务链中的下一级网元。

第三方面,本发明实施例提供了一种在提供服务链的服务网络中的服务链控制实体,所述服务链控制实体包括:生成部分、分发部分、第一发送部分、第一接收部分和验证部分;其中,

所述生成部分,经配置为生成身份基加密参数;以及,根据所述服务链中各服务节点的身份信息利用所述身份基加密参数生成各服务节点对应的私钥和签名构造参数;

所述分发部分,经配置为将各服务节点对应的私钥和签名构造参数分发至对应的服务节点;

所述生成部分,还经配置为生成包含有初始数字签名的探针数据包;

所述第一发送部分,经配置为将所述探针数据包发送至所述服务链的入口分类器,以使得所述探针数据包在所述服务链中所经历的各服务节点依次利用对应的私钥和签名构造参数更新所述探针数据包中的数字签名;

所述第一接收部分,经配置为接收由所述服务链的出口分类器回传的包含有更新完毕的数字签名的探针数据包;

所述验证部分,经配置为根据预设的验证参数对包含有更新完毕的数字签名的探针数据包进行验证,并基于验证结果确定所述服务链的完整性。

第四方面,本发明实施例提供了一种在提供服务链的服务网络中的服务节点,所述服务节点包括:第二接收部分、更新部分和第二发送部分;其中,

所述第二接收部分,经配置为接收由所述服务网络中的服务链控制实体发送的私钥和签名构造参数;以及接收处于所述服务链中的上一级网元发送的探针数据包;

所述更新部分,经配置为根据所述私钥和签名构造参数将所述探针数据包中的数字签名进行更新;

所述第二发送部分,经配置为将包含有更新后的数字签名的探针数据包发送至所述服务链中的下一级网元。

第五方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有基于有序聚合数字签名的服务链完整性检测程序,所述基于有序聚合数字签名的服务链完整性检测程序被至少一个处理器执行时实现第一方面或者第二方面所述基于有序聚合数字签名的服务链完整性检测方法的步骤。

第六方面,本发明实施例提供了一种提供服务链的服务网络,该网络包括:服务链控制实体以及服务节点;其中,所述服务链控制实体,经配置为执行第一方面所述基于有序聚合数字签名的服务链完整性检测方法的步骤;所述服务节点经配置为执行第二方面所述基于有序聚合数字签名的服务链完整性检测方法的步骤。

本发明实施例提供了一种基于有序聚合数字签名的服务链完整性检测方法、装置及介质;通过服务链中的服务链控制实体向待检测服务链发送包含初始数字签名的探针数据包,随后待检测服务链上的每个服务节点用预先分配的私钥对该探针数据包的数字签名进行更新处理;经过所有服务节点的签名更新后,探针数据包最终回传到服务链控制实体进行检验,并根据核验结果判断服务链完整性是否遭破坏。从而实现了服务链完整性的检测,保障服务链的信息安全。

附图说明

图1为本发明实施例提供的一种提供服务链的网络架构示意图;

图2为本发明实施例提供的一种基于有序聚合数字签名的服务链完整性检测方法流程示意图;

图3为本发明实施例提供的另一种基于有序聚合数字签名的服务链完整性检测方法流程示意图;

图4为本发明实施例提供的服务节点接收到数据包后的处理流程;

图5为本发明实施例提供的服务链架构及对服务链完整性进行检测的流程示意图;

图6为本发明实施例提供的服务链控制实体的组成示意图;

图7为本发明实施例提供的服务链控制实体的具体硬件结构示意图;

图8为本发明实施例提供的服务节点的组成示意图;

图9为本发明实施例提供的服务节点的具体硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

需要说明的是,由于实现服务链的协议方案包括很多种,为了清楚地阐述本发明实施例的技术方案,本申请以基于nsh的服务链网络架构为例进行方案说明,可以理解地,本发明实施例所阐述的技术方案并不排除被应用于其他实现服务链的协议方案,本领域技术人员可以将本申请所阐述的技术方案应用于其他能够实现服务链的协议方案中,本发明实施例对此不做赘述。

参见图1,其示出了本发明实施例提供的一种能够适用于本发明实施例所阐述技术方案的提供服务链的网络架构,以基于nsh的服务链网络架构为例,图1所示架构可以包括:服务链控制器、入口/出口分类器、转发器和服务节点等网元。作为服务链控制实体的服务链控制器负责服务链的创建以及生命周期管理;入口/出口分类器根据内部流表入口/出口流量进行nsh封装/解封装操作;服务链所在服务网络内的转发器,具体可以包括支持openflow的硬件交换机、openvswitch虚拟交换机等,其可以根据nsh报头中所定义的服务路径指示符(spi,servicepathindex)以及服务节点指示符(si,serviceindex)等参数,对数据包进行转发操作,以使得数据包经过服务链定义的服务节点。入口/出口分类器以及转发器支持openflow协议。基于图1所示架构,以客户端和服务器通信为例阐述常规工作流程,可以包括:业务流量从客户端发出后,到达服务器之前,需依次通过深度包检测(dpi,deeppacketinspection)、防火墙(firewall)两个服务节点,此时服务链控制器已经预先根据此服务链对应的描述文件,为服务链以及服务链上第一个节点进行编号(本例中spi=10,si=255),生成相应openflow流表,并如点划线箭头所示下发到入口/出口分类器、转发器等设备。基于此,当客户端的常规网络数据包(如白色方框所示)按照实线箭头所示传输至入口分类器时,入口分类器对数据包进行nsh封装,得到nsh数据包,其中spi=10以及si=255。入口分类器依据spi=10,将nsh数据包按照虚线箭头转发至转发器1,转发器1依据其内部流表,将该nsh数据包按照虚线箭头转发给与转发器1相连接的dpi服务节点,dpi处理完毕后,将nsh报头中si进行减1处理,按照虚线箭头所示回传给转发器1。接着,转发器1按照虚线箭头将nsh数据包传输至转发器2,转发器2依据其内部流表,将该nsh数据包按照虚线箭头转发给与转发器2相连接的firewall服务节点,并在完成firewall处理之后抵达出口分类器2,出口分类器去除nsh数据包中的nsh协议头,从而形成常规网络数据包转发给服务器。

基于上述服务链的常规工作流程以及当前服务链的完整性被破坏的风险,本发明实施例利用有序聚合数字签名的方式对服务链的完整性进行检测。具体来说,有序聚合数字签名是指将信息完整性验证中涉及的多方数字签名聚合成单一签名,从而适用于验证待验证信息是否由涉及的多方按顺序签名的技术方案。该技术方案在实施过程中与服务链安全性检测的诉求高度吻合。但是,由于数字签名基于非对称加密技术,存在计算开销大,难以在网络层面部署的问题,因此,本发明实施例期望能够实现轻量化的服务链完整性检测机制,降低对受保护服务链承载的服务的影响。举例来说,可以通过运行在服务链控制实体,比如图1中所示的服务链控制器内部的服务链完整检测应用程序向待检测服务链发送包含初始数字签名的探针数据包,服务链上每个服务节点用预先分配的私钥对该数据包进行签名处理,经过所有服务节点的签名的探针数据包最终回传到服务链完整检测应用程序,由后者进行最终核验,根据核验结果判断服务链完整性是否遭破坏。基于上述举例内容,参见图2,其示出了本发明实施例提供的一种基于有序聚合数字签名的服务链完整性检测方法,该方法可以应用于在提供服务链的服务网络中的服务链控制实体,具体可以通过运行在服务链控制实体内部的服务链完整检测应用程序以实现,该方法可以包括:

s210:生成身份基加密参数;

s220:根据所述服务链中各服务节点的身份信息利用所述身份基加密参数生成各服务节点对应的私钥和签名构造参数;

s230:将各服务节点对应的私钥和签名构造参数分发至对应的服务节点;

s240:生成包含有初始数字签名的探针数据包,并将所述探针数据包发送至所述服务链的入口分类器,以使得所述探针数据包在所述服务链中所经历的各服务节点依次利用对应的私钥和签名构造参数更新所述探针数据包中的数字签名;

s250:接收由所述服务链的出口分类器回传的包含有更新完毕的数字签名的探针数据包;

s260:根据预设的验证参数对包含有更新完毕的数字签名的探针数据包进行验证,并基于验证结果确定所述服务链的完整性。

对于图2所示的技术方案,通过服务链中的服务链控制实体向待检测服务链发送包含初始数字签名的探针数据包,随后待检测服务链上的每个服务节点用预先分配的私钥对该探针数据包的数字签名进行更新处理;经过所有服务节点的签名更新后,探针数据包最终回传到服务链控制实体进行检验,并根据核验结果判断服务链完整性是否遭破坏。从而实现了服务链完整性的检测,保障服务链的信息安全。

需要说明的是,图2所示的方案可以在实施过程中分为两个阶段,初始化阶段以及运行阶段,举例来说,s210至s230为初始化阶段,该阶段用于生成服务链控制实体以及服务节点在运行阶段所需的相关参数以及私密参数的安全分发;s240至s260为运行阶段,该阶段通过构造并发送探针数据包,随后回收探针数据包进行完整性验证的过程。

对于图2所示的技术方案,在一些可能的实现方式中,所述生成身份基加密参数,包括:

根据预先选择的素数阶p的加法循环群g和素数阶p的乘法循环群gt确定满足g×g→gt的双线性映射e;

根据预先选择的素数阶p的大整数域确定第一哈希函数h1:{0,1}*→g以及第二哈希函数

通过以及在所述大整数域中随机选取的主密钥α计算所述服务链控制实体的公钥gα

对于上述实现方式,在具体实施过程中,主密钥α应当被安全保存;除了主密钥α以外,在上述实现方式中所出现的其他参数均属于可公开参数,可以被服务链中的其他网元,如入口/出口分类器、转发器以及服务节点公开获取;具体来说,其他网元可以通过图1所示的点划线所示的信道获取上述公开参数。

基于上述实现方式,在一些示例中,所述根据所述服务链中各服务节点的身份信息利用所述身份基加密参数生成各服务节点对应的私钥和签名构造参数,包括:

遍历所述服务链中各服务节点,并在遍历过程中对被遍历的第i个服务节点,执行以下操作:

根据所述第i个服务节点的身份信息idi、所述第一哈希函数h1以及所述主密钥α,按照下式确定所述第i个服务节点的私钥

根据所述第i个服务节点的身份信息idi、所述第二哈希函数h2按照下式确定所述第i个服务节点的中间参数sj:

sj=h2(id1||id2…||idj)

其中,j=1,2,…,n表示各个服务节点,操作符||表示字符串的拼接操作;

根据所述第i个服务节点的中间参数sj以及下式确定所述第i个服务节点的签名构造参数s(i)

其中,1≤i≤n,n表示所述服务链中服务节点数目。

对于上述示例,具体来说,设定一条由n个服务节点组成的服务链l=(id1,id2,…,idi,…,idn),其中idi,i=1,2,…,n表示服务节点i的标识符。该标识符在一些示例中可以是该服务节点ip地址、mac地址等能够唯一标识的信息。服务链完整性检测应用程序可以根据各服务节点的标识符,生成各服务节点对应的私钥和签名构造参数。可以理解地,由于各服务节点对应的私钥为各对应服务节点专属,应被安全保存避免泄露;基于此,对于s230所阐述的将各服务节点对应的私钥和签名构造参数分发至对应的服务节点的步骤,除了私钥被服务链控制实体通过安全信道分发至各服务节点以外,其他签名构造参数均可被公开且各服务节点能够公开地获取各自对应的签名构造参数,比如图1所示的点划线所示的信道获取签名构造参数。在一些示例中,安全信道可以是服务链控制实体和各服务节点之间的tls加密信道。在一些示例中,如果服务节点被表现为虚拟机或者容器等形式,还可将上述私钥以及签名构造参数添加至用于产生服务节点的镜像,随后再实例化服务节点。

对于上述示例,服务链控制实体在通过遍历各服务节点以生成各服务节点对应的私钥和签名构造参数之后,还可以提前生成在运行阶段中的步骤s260所采用的验证参数,具体来说,可以通过以下式子获取验证参数:

第一验证参数第二验证参数第三验证参数其中,sj=h2(id1||id2…||idj)

基于上述实现方式及其示例,服务链控制实体完成了初始化阶段;后续,服务链控制实体就可以通过构造并发送探针数据包,随后回收探针数据包的方式进行完整性验证的运行阶段。

基于此,在一些示例中,步骤s240的具体实施过程可以包括:服务链控制实体所运行的服务链完整性检测程序可以根据待检测的服务链编号,在服务链控制实体的内部数据库寻找对应的服务节点,构造探针数据包m并发送至管理待检测的服务链的入口分类器。详细来说,探针数据包m可以包括当前时间戳以防止重放攻击。此外,探针数据包m中含有待验证的数字签名,具体由三部分构成,可以被记作σ=(x,y,z)。该数字签名可以被初始化为(1g,1g,1g),其中1g为群的幺元。在一些示例中,探针数据包的发送频率为一个可定制参数,可依据具体适用情况和场景进行选定,当然,选定标准是以尽可能减少对网络服务的影响为原则。

需要说明的是,当入口分类器接收到由服务链控制实体所运行的服务链完整性检测程序所发送的探针数据包之后,对该探针数据包进行相应的nsh封装,从而使得封装后的探针数据包能够沿待检测的服务链所定义的路径,依次经过该服务链上各个服务节点。

在一些示例中,当探针数据包依次经过待检测的服务链上各服务节点以对其数字签名进行更新之后,最终将到达待检测的服务链上的出口分类器,此时,出口分类器将根据其存储的流表规则,将包含有更新完毕的数字签名的探针数据包回传至服务链控制实体,从而使得服务链控制实体所运行的服务链完整性检测程序对该回传的探针数据包进行验证。具体来说,s260所述的根据预设的验证参数对包含有更新完毕的数字签名的探针数据包进行验证,并基于验证结果确定所述服务链的完整性,可以包括:

设定接收到的探针数据包m中所包含的更新完毕的数字签名σn=(xn,yn,zn);

判断以下两组方程是否同时成立;若是,则确定所述服务链的完整性正常;否则确定所述服务链的完整性被破坏:

其中,第一验证参数第二验证参数第三验证参数

对于上述具体示例,若服务链的完整性正常,则说明服务链运行安全;若服务链的完整性被破坏,则说明整个服务链系统存在未知安全威胁活动,可以通过警示安全管理员介入以消除安全威胁。

前述技术方案详细阐述了在基于有序聚合数字签名的服务链完整性检测过程中服务链控制实体所需执行的方案及示例。基于前述技术方案相同的发明构思,对于服务链中的各服务节点来说,其在基于有序聚合数字签名的服务链完整性检测过程中各自均需要对接收的探针数据包中的数字签名进行更新,从而实现有序聚合数字签名,基于此,参见图3,其示出了一种基于有序聚合数字签名的服务链完整性检测方法,该方法应用于在提供服务链的服务网络中的服务节点,所述方法包括:

s310:接收由所述服务网络中的服务链控制实体发送的私钥和签名构造参数;

s320:接收处于所述服务链中的上一级网元发送的探针数据包;

s330:根据所述私钥和签名构造参数将所述探针数据包中的数字签名进行更新,并将包含有更新后的数字签名的探针数据包发送至所述服务链中的下一级网元。

对于图3所示的技术方案中的步骤s310,在一些示例中,由于各服务节点对应的私钥为各对应服务节点专属,应被安全保存避免泄露,因此,可以通过安全信道从服务链控制实体处进行接收,比如服务链控制实体和各服务节点之间的tls加密信道;而签名构造参数则是能够被公开地获取,因此,可以通过如图1所示的点划线所示的信道获取签名构造参数。

各服务节点在接收完成各自对应的私钥和签名构造参数之后,就可以针对由服务链控制实体向服务链的入口分类器发送的探针数据包中的数字签名进行更新。在一些示例中,为了能够使得各服务节点同时处理正常的数据包以及探针数据包,本发明实施例基于rfc8300中所定义的nsh包头形式进行了变更,比如将报头中第一个字节的第三个闲置比特设计为签名位,其值为1表示该nsh数据包为探针数据包;若为0,则说明是常规数据包。如图4所示,当服务节点的网卡在接收到数据包之后,首先分析判断nsh协议头中签名位s的值是否为1,若为0,则说明这是一个常规数据包,将数据包发送至服务节点处理进程进行常规处理,例如该服务节点所提供的负载均衡、防火墙等服务;若为1,则说明这是一个探针数据包,则服务节点对该探针数据包内的数字签名进行更新。

对于服务节点所接收的探针数据包来说,在一些示例中,当所述服务节点为所述服务链中的第一个服务节点,则所述上一级网元为所述服务链的入口分类器,所述上一级网元发送的探针数据包中的数字签名为σ0=(1g,1g,1g);其中,1g为群的幺元;当所述服务节点为所述服务链中的最后一个服务节点,则所述下一级网元为所述服务链的出口分类器,所述更新后的数字签名为更新完毕的数字签名σn=(xn,yn,zn);其中,n表示所述服务链中服务节点数目。

对于s330所阐述的针对探针数据包内的数字签名更新过程,在一些示例中,所述根据所述私钥和签名构造参数将所述探针数据包中的数字签名进行更新,包括:

选取一随机数其中,表示由所述服务链控制实体选择的素数阶p的大整数域;

将接收到的探针数据包m中的数字签名σi-1=(xi-1,yi-1,zi-1)按照下式进行更新,获取更新后的数字签名σi=(xi,yi,zi):

其中,i表示所述服务节点在所述服务链中的序号;i-1表示所述服务节点的上一级网元在所述服务链中的序号;s(i)表示所述服务节点的签名构造参数;skid表示所述服务节点的私钥;h1()表示由所述服务链控制实体确定的第一哈希函数;si=h2(id1||id2…||idi),操作符||表示字符串的拼接操作;h2()表示由所述服务链控制实体确定的第二哈希函数;mod表示取余运算;p表示由所述服务链控制实体选择的素数阶;g表示由所述服务链控制实体在预先选择的素数阶p的加法循环群g中随机选择的一个生成元。

基于以上阐述,当数字签名更新完毕,或者常规处理完毕后,将nsh数据包发送至对应的转发器进行转发。

结合图2所示技术方案中的运行阶段以及图3所示的技术方案,其表述了对服务链完整性进行检测的流程,参考图5所示的服务链架构,该流程可以包括:

s51:服务链控制实体所运行的服务链完整性检测程序构建包含有初始化数字签名的探针数据包,并将探针数据包发送至入口分类器;

s52:入口分类器将探针数据包进行nsh封装,并将封装完成的探针数据包发送至服务链的转发器1;

s53:转发器1将探针数据包转发至与其连接的服务节点1;

s54:服务节点更新探针数据包的数字签名,并将包含有更新后的数字签名的探针数据包回传至转发器1以转发至后续转发器;

s55:后续各转发器以及与其连接的服务节点按照s53以及s54所述完成数字签名的更新以及探针数据包的转发;

s56:出口分类器接收由服务链中最后一个转发器所转发的探针数据包;

s57:出口分类器将探针数据包进行nsh解封装,并将解封装后的探针数据包回传至服务链控制实体;

s58:服务链控制实体所运行的服务链完整性检测程序对接收自出口分类器的探针数据包内的数字签名进行验证,并基于验证结果检测所述服务链的完整性。

对于图5所示的各步骤,其具体实施示例及实现方案可以参见前述技术方案之相应阐述,本发明实施例对此不做赘述。

基于前述技术方案相同的发明构思,参见图6,其示出了本发明实施例提供的一种在提供服务链的服务网络中的服务链控制实体60,所述服务链控制实体60包括:生成部分601、分发部分602、第一发送部分603、第一接收部分604和验证部分605;其中,

所述生成部分601,经配置为生成身份基加密参数;以及,根据所述服务链中各服务节点的身份信息利用所述身份基加密参数生成各服务节点对应的私钥和签名构造参数;

所述分发部分602,经配置为将各服务节点对应的私钥和签名构造参数分发至对应的服务节点;

所述生成部分601,还经配置为生成包含有初始数字签名的探针数据包;

所述第一发送部分603,经配置为将所述探针数据包发送至所述服务链的入口分类器,以使得所述探针数据包在所述服务链中所经历的各服务节点依次利用对应的私钥和签名构造参数更新所述探针数据包中的数字签名;

所述第一接收部分604,经配置为接收由所述服务链的出口分类器回传的包含有更新完毕的数字签名的探针数据包;

所述验证部分605,经配置为根据预设的验证参数对包含有更新完毕的数字签名的探针数据包进行验证,并基于验证结果确定所述服务链的完整性。

在一些示例中,所述生成部分601,经配置为:

根据预先选择的素数阶p的加法循环群g和素数阶p的乘法循环群gt确定满足g×g→gt的双线性映射e;

根据预先选择的素数阶p的大整数域确定第一哈希函数h1:{0,1}*→g以及第二哈希函数

通过以及在所述大整数域中随机选取的主密钥α计算所述服务链控制实体的公钥gα

在一些示例中,所述生成部分601,经配置为:

遍历所述服务链中各服务节点,并在遍历过程中对被遍历的第i个服务节点,执行以下操作:

根据所述第i个服务节点的身份信息idi、所述第一哈希函数h1以及所述主密钥α,按照下式确定所述第i个服务节点的私钥

根据所述第i个服务节点的身份信息idi、所述第二哈希函数h2按照下式确定所述第i个服务节点的中间参数sj:

sj=h2(id1||id2…||idj)

其中,j=1,2,…,n表示各个服务节点,操作符||表示字符串的拼接操作;

根据所述第i个服务节点的中间参数sj以及下式确定所述第i个服务节点的签名构造参数s(i)

其中,1≤i≤n,n表示所述服务链中服务节点数目。

在一些示例中,所述验证部分605,经配置为:

设定接收到的探针数据包m中所包含的更新完毕的数字签名σn=(xn,yn,zn);

判断以下两组方程是否同时成立;若是,则确定所述服务链的完整性正常;否则确定所述服务链的完整性被破坏:

其中,第一验证参数第二验证参数第三验证参数

可以理解地,在本实施例中,“部分”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是单元,还可以是模块也可以是非模块化的。

另外,在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

因此,本实施例提供了一种计算机存储介质,所述计算机存储介质存储有基于有序聚合数字签名的服务链完整性检测程序,所述基于有序聚合数字签名的服务链完整性检测程序被至少一个处理器执行时实现上述图2所示的技术方案及其实现方式和示例中所述基于有序聚合数字签名的服务链完整性检测方法步骤。

根据上述服务链控制实体60以及计算机存储介质,参见图7,其示出了本发明实施例提供的一种能够实施上述服务链控制实体60的具体硬件结构,该服务链控制实体60可以为无线装置、移动或蜂窝电话(包含所谓的智能电话)、个人数字助理(pda)、视频游戏控制台(包含视频显示器、移动视频游戏装置、移动视频会议单元)、膝上型计算机、桌上型计算机、电视机顶盒、平板计算装置、电子书阅读器、固定或移动媒体播放器,等。服务链控制实体60包括:第一通信接口701,第一存储器702和第一处理器703;各个组件通过第一总线系统704耦合在一起。可理解,第一总线系统704用于实现这些组件之间的连接通信。第一总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为第一总线系统704。其中,

所述第一通信接口701,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;

所述第一存储器702,用于存储能够在所述第一处理器703上运行的计算机程序;

所述第一处理器703,用于在运行所述计算机程序时,执行上述图2所示的技术方案及其实现方式和示例中所述基于有序聚合数字签名的服务链完整性检测方法步骤。

可以理解,本发明实施例中的第一存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本文描述的系统和方法的第一存储器702旨在包括但不限于这些和任意其它适合类型的存储器。

而第一处理器703可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器703中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器703可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器702,第一处理器703读取第一存储器702中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、数字信号处理器(digitalsignalprocessing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

可以理解地,上述为本发明实施例提供的关于服务链控制实体60的示意性方案。需要说明的是,该服务链控制实体60的技术方案与上述图2所示的基于有序聚合数字签名的服务链完整性检测方法的技术方案属于同一构思,上述服务链控制实体60的技术方案未详细描述的细节内容,均可以参见上述图2所示的基于有序聚合数字签名的服务链完整性检测方法的技术方案的描述,在此不再赘述。

基于前述技术方案相同的发明构思,参见图8,其示出了本发明实施例提供的在提供服务链的服务网络中的服务节点80,所述服务节点80包括:第二接收部分801、更新部分802和第二发送部分803;其中,

所述第二接收部分801,经配置为接收由所述服务网络中的服务链控制实体发送的私钥和签名构造参数;以及接收处于所述服务链中的上一级网元发送的探针数据包;

所述更新部分802,经配置为根据所述私钥和签名构造参数将所述探针数据包中的数字签名进行更新;

所述第二发送部分803,经配置为将包含有更新后的数字签名的探针数据包发送至所述服务链中的下一级网元。

在一些示例中,当所述服务节点为所述服务链中的第一个服务节点,则所述上一级网元为所述服务链的入口分类器,所述上一级网元发送的探针数据包中的数字签名为σ0=(1g,1g,1g);其中,1g为群的幺元;

当所述服务节点为所述服务链中的最后一个服务节点,则所述下一级网元为所述服务链的出口分类器,所述更新后的数字签名为更新完毕的数字签名σn=(xn,yn,zn);其中,n表示所述服务链中服务节点数目。

在一些示例中,所述更新部分802,经配置为:

选取一随机数其中,表示由所述服务链控制实体选择的素数阶p的大整数域;

将接收到的探针数据包m中的数字签名σi-1=(xi-1,yi-1,zi-1)按照下式进行更新,获取更新后的数字签名σi=(xi,yi,zi):

其中,i表示所述服务节点在所述服务链中的序号;i-1表示所述服务节点的上一级网元在所述服务链中的序号;s(i)表示所述服务节点的签名构造参数;skid表示所述服务节点的私钥;h1()表示由所述服务链控制实体确定的第一哈希函数;si=h2(id1||id2…||idi),操作符||表示字符串的拼接操作;h2()表示由所述服务链控制实体确定的第二哈希函数;mod表示取余运算;p表示由所述服务链控制实体选择的素数阶;g表示由所述服务链控制实体在预先选择的素数阶p的加法循环群g中随机选择的一个生成元。

另外,本实施例提供了一种计算机存储介质,该计算机存储介质存储有基于有序聚合数字签名的服务链完整性检测程序,所述基于有序聚合数字签名的服务链完整性检测程序被至少一个处理器执行时实现上述图3所示的技术方案及其实现方式中所述基于有序聚合数字签名的服务链完整性检测方法的步骤。针对计算机存储介质的具体阐述,参见前述相关内容中的说明,在此不再赘述。

基于上述服务节点80以及计算机存储介质,参见图9,其示出了本发明实施例提供的一种能够实施上述服务节点80的具体硬件结构,包括:第二网络接口901、第二存储器902和第二处理器903;各个组件通过总线系统904耦合在一起。可理解,总线系统904用于实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。其中,

其中,所述第二网络接口901,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;

第二存储器902,用于存储能够在第二处理器903上运行的计算机程序;

第二处理器903,用于在运行所述计算机程序时,执行上述图3所示的技术方案及其实现方式和示例中所述基于有序聚合数字签名的服务链完整性检测方法步骤。

可以理解地,本实施例中的具体硬件结构中的组成部分,与前述技术方案中的相应部分类似,在此不做赘述。并且,上述为本发明实施例提供的关于服务节点80的示意性方案。需要说明的是,该服务节点80的技术方案与上述图3所示的基于有序聚合数字签名的服务链完整性检测方法的技术方案属于同一构思,上述服务节点80的技术方案未详细描述的细节内容,均可以参见上述图3所示的基于有序聚合数字签名的服务链完整性检测方法的技术方案的描述,在此不再赘述。

需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1