CN109361710A - 一种安全协议重构方法及装置 - Google Patents
一种安全协议重构方法及装置 Download PDFInfo
- Publication number
- CN109361710A CN109361710A CN201811534640.5A CN201811534640A CN109361710A CN 109361710 A CN109361710 A CN 109361710A CN 201811534640 A CN201811534640 A CN 201811534640A CN 109361710 A CN109361710 A CN 109361710A
- Authority
- CN
- China
- Prior art keywords
- reconstruct
- connexon
- network security
- security protocol
- constructed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种安全协议重构方法及装置,在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流,并根据目标安全协议重构流对应的目标重构元集合和已构建网络安全协议对应的初始重构元集合,确定已构建网络安全协议中待更新部分及待更新部分的连接子,使用待更新部分对应的连接子,对待更新部分进行更新,以使得已构建网络安全协议中的所有重构元与目标重构元集合中的所有重构元一致,从而通过对待更新部分的更新实现对已构建网络安全协议的重构,进而实现将已构建网络安全协议的整体重构改为部分重构,由此可以降低资源开销,提高已构建网络安全协议重构的效率。
Description
技术领域
本发明属于安全协议技术领域,更具体的说,尤其涉及一种安全协议重构方法及装置。
背景技术
目前计算机网络以惊人的速度渗透到各个领域并已成为各领域发展的新源泉,并随着现实元素的不断融入,计算机网络世界变得越来越精彩;与此同时,网络安全问题日益突出。
从当前解决网络安全问题的方式考量,最有效的手段是使用安全协议,因为安全协议在身份认证、消息完整性、匿名通信、抗拒绝服务和抗抵赖等方面的应用卓有成效。然而“安全是过程而不是产品”,保障网络安全的工作不可能一蹴而就,外界未知的威胁使系统面临着巨大的安全隐患,在已有的网络安全协议上加筑更多的安全堡垒,并不是提升网络安全的最佳途径。
为此将可重构思想应用到网络安全的建设和管理中,2007年在发布的《联邦网络空间安全及信息保障研究与发展计划(CSIA)》中美国政府明确指出,可重构的安全协议是下一代网络安全系统和体系结构的主要研究领域之一。由此可见,可重构的安全协议是保障网络安全的重要发展方向,其中可重构的安全协议是指能够根据应用环境及其变化进行动态配置,从而能够安全高效运行的信息安全系统。但是在面对网络安全需求发生变化时,安全协议的整体重构势必会需要巨大的资源开销,降低安全协议的效率。
发明内容
有鉴于此,本发明的目的在于提供一种安全协议重构方法及装置,从整体重构改为部分重构,从而降低资源开销,提高安全协议重构的效率。技术方案如下:
本发明提供一种安全协议重构方法,所述方法包括:
在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流;
根据所述目标安全协议重构流对应的目标重构元集合和所述已构建网络安全协议对应的初始重构元集合,确定所述已构建网络安全协议中待更新部分,并确定所述待更新部分对应的连接子,其中所述初始重构元集合根据变化前的网络安全需求对应的初始安全协议重构流确定;
使用所述待更新部分对应的连接子,对所述待更新部分进行更新,以使得所述已构建网络安全协议中的所有重构元与所述目标重构元集合中的所有重构元一致。
优选的,所述使用所述待更新部分对应的连接子,对所述待更新部分进行更新包括:
在所述待更新部分存在将所述已构建网络安全协议中的第i个重构元替换为所述目标重构元集合中的第j个重构元的情况下,在预设交互共享池中激活所述第j个重构元对应的引用连接子和提供连接子,所述引用连接子用于使得所述第j个重构元可引用已构建网络安全协议中的其他重构元,所述提供连接子用于使得所述第j个重构元可被已构建网络安全协议中的其他重构元引用,i和j为自然数;
根据所述第i个重构元对应的逻辑关系表,确定所述第i个重构元对应的引用连接子和提供连接子;
根据所述第i个重构元对应的逻辑关系表,查找是否存在所述第i个重构元的连接提供通道、连接请求通道和引用通道;
若存在,则将所述连接提供通道、连接请求通道和引用通道与所述第i个重构元对应的引用连接子和提供连接子的绑定改为与所述第j个重构元对应的引用连接子和提供连接子的绑定;
删除第i个重构元、第i个重构元对应的引用连接子和提供连接子。
优选的,所述在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流包括:
在所述已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的原始执行流程;
根据所述原始执行流程从预设重构元库中选取对应的重构元,并根据所述原始执行流程建立所选取的重构元之间的相互关系;
使用索引状态机描述所选取的重构元和所选取的重构元之间的相互关系,并根据重构算法将所述索引状态机重构为目标索引状态机,从而得到所述目标索引状态机对应的功能重构流;
根据所述目标索引状态机对应的功能重构流,得到所述目标安全协议重构流。
优选的,根据所述原始执行流程从预设重构元库中选取对应的重构元包括:
对所述原始执行流程中的任一处理环节:确定所述预设重构元库中与该处理环节对应的第一重构元集合,所述第一重构元集合包括与该处理环节对应的各个目标原子功能的重构元;
根据选择函数:
从所确定的第一重构元集合中得到使选择函数的取值最小的重构元子集ei,和为得到重构元子集ei所需的资源代价和时间代价,和分别为所述资源代价和时间代价的权值,为所述重构元子集ei中包含的目标原子功能的重构元的个数;
从第一重构元集合中删除将使选择函数的取值最小的重构元子集ei中的各重构元,并对删除重构元后的第一重构元集合根据选择函数再次选取重构元子集ei直至删除重构元后的第一重构元集合为空集;
将每次根据选择函数选取出的各重构元子集ei组成第二重构元集合,将所述第二重构元集合中的各重构元确定为与该处理环节对应的各重构元。
优选的,所述方法还包括:对于任一处理环节,在将第二重构元集合中的各重构元确定为与该处理环节对应的各重构元之后,对所述第二重构元集合进行去冗余处理,得到处理后的第二重构元集合,并将该处理环节对应的各重构元修改为处理后的第二重构元集合中的各重构元。
优选的,所述预设重构元库的获得过程包括:
根据安全协议的至少一个维度,对至少一种安全协议进行分析,得到每种维度对应的重构元,并为每种维度对应的重构元设置各自对应的描述文本;
为每种维度对应的重构元生成子类层数;
通过子类层数对所有重构元进行预分集划分,得到初始分类集合;
以所述每种维度对应的重构元各自对应的描述文本中记录的信息作为重构元的特征参数,对所述重构元的特征参数进行降维处理;
根据降维处理后的特征参数,对所述初始分类集合中的重构元进行再次划分,得到目标分类集合,将所述目标分类集合中的各个重构元按照所属类别存储在所述预设重构元库中。
本发明还提供一种安全协议重构装置,所述装置包括:
获取单元,用于在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流;
确定单元,用于根据所述目标安全协议重构流对应的目标重构元集合和所述已构建网络安全协议对应的初始重构元集合,确定所述已构建网络安全协议中待更新部分,并确定所述待更新部分对应的连接子,其中所述初始重构元集合根据变化前的网络安全需求对应的初始安全协议重构流确定;
更新单元,用于使用所述待更新部分对应的连接子,对所述待更新部分进行更新,以使得所述已构建网络安全协议中的所有重构元与所述目标重构元集合中的所有重构元一致。
优选的,所述更新单元包括:
激活子单元,用于在所述待更新部分存在将所述已构建网络安全协议中的第i个重构元替换为所述目标重构元集合中的第j个重构元的情况下,在预设交互共享池中激活所述第j个重构元对应的引用连接子和提供连接子,所述引用连接子用于使得所述第j个重构元可引用已构建网络安全协议中的其他重构元,所述提供连接子用于使得所述第j个重构元可被已构建网络安全协议中的其他重构元引用,i和j为自然数;
确定子单元,用于根据所述第i个重构元对应的逻辑关系表,确定所述第i个重构元对应的引用连接子和提供连接子;
查找子单元,用于根据所述第i个重构元对应的逻辑关系表,查找是否存在所述第i个重构元的连接提供通道、连接请求通道和引用通道;
修改子单元,用于存在所述第i个重构元的连接提供通道、连接请求通道和引用通道的情况下,将所述连接提供通道、连接请求通道和引用通道与所述第i个重构元对应的引用连接子和提供连接子的绑定改为与所述第j个重构元对应的引用连接子和提供连接子的绑定;
删除子单元,用于删除第i个重构元、第i个重构元对应的引用连接子和提供连接子。
优选的,所述获取单元包括:
获取子单元,用于在所述已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的原始执行流程;
选取子单元,用于根据所述原始执行流程从预设重构元库中选取对应的重构元;
关系建立子单元,用于根据所述原始执行流程建立所选取的重构元之间的相互关系;
描述子单元,用于使用索引状态机描述所选取的重构元和所选取的重构元之间的相互关系;
重构子单元,用于根据重构算法将所述索引状态机重构为目标索引状态机,从而得到所述目标索引状态机对应的功能重构流;
获得子单元,用于根据所述目标索引状态机对应的功能重构流,得到所述目标安全协议重构流。
优选的,所述选取子单元,具体用于对所述原始执行流程中的任一处理环节:确定所述预设重构元库中与该处理环节对应的第一重构元集合,所述第一重构元集合包括与该处理环节对应的各个目标原子功能的重构元;
根据选择函数:
从所确定的第一重构元集合中得到使选择函数的取值最小的重构元子集ei,和为得到重构元子集ei所需的资源代价和时间代价,和分别为所述资源代价和时间代价的权值,为所述重构元子集ei中包含的目标原子功能的重构元的个数;
从第一重构元集合中删除将使选择函数的取值最小的重构元子集ei中的各重构元,并对删除重构元后的第一重构元集合根据选择函数再次选取重构元子集ei直至删除重构元后的第一重构元集合为空集;
将每次根据选择函数选取出的各重构元子集ei组成第二重构元集合,将所述第二重构元集合中的各重构元确定为与该处理环节对应的各重构元。
优选的,所述装置还包括:去冗余单元,用于对于任一处理环节,在将第二重构元集合中的各重构元确定为与该处理环节对应的各重构元之后,对所述第二重构元集合进行去冗余处理,得到处理后的第二重构元集合,并将该处理环节对应的各重构元修改为处理后的第二重构元集合中的各重构元。
优选的,所述预设重构元库的获得过程包括:
根据安全协议的至少一个维度,对至少一种安全协议进行分析,得到每种维度对应的重构元,并为每种维度对应的重构元设置各自对应的描述文本;
为每种维度对应的重构元生成子类层数;
通过子类层数对所有重构元进行预分集划分,得到初始分类集合;
以所述每种维度对应的重构元各自对应的描述文本中记录的信息作为重构元的特征参数,对所述重构元的特征参数进行降维处理;
根据降维处理后的特征参数,对所述初始分类集合中的重构元进行再次划分,得到目标分类集合,将所述目标分类集合中的各个重构元按照所属类别存储在所述预设重构元库中。
与现有技术相比,本发明提供的上述技术方案具有如下优点:
在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流,并根据目标安全协议重构流对应的目标重构元集合和已构建网络安全协议对应的初始重构元集合,确定已构建网络安全协议中待更新部分和待更新部分对应的连接子,使用待更新部分对应的连接子,对待更新部分进行更新,以使得已构建网络安全协议中的所有重构元与目标重构元集合中的所有重构元一致,从而通过对待更新部分的更新实现对已构建网络安全协议的重构,进而实现将已构建网络安全协议的整体重构改为部分重构,由此可以降低资源开销,提高已构建网络安全协议重构的效率。并且使用待更新部分对应的连接子对待更新部分进行更新,也就是说本发明通过连接子建立重构元之间的依赖关系,使得重构元之间紧密的依赖关系解耦,从而便于通过连接子实现对已构建网络安全协议中的待更新部分(即重构元)进行动态更新,使得待更新部分的动态更新更加简捷高效。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种安全协议重构方法的流程图;
图2是本发明实施例提供的安全协议重构方法中重构元替换的流程图;
图3是本发明实施例提供的安全协议重构方法中重构元替换的示意图;
图4是本发明实施例提供的安全协议重构方法中获取目标安全协议重构流的流程图;
图5是本实施例提供的索引状态机重构的一种示意图;
图6是本实施例提供的索引状态机重构的另一种示意图;
图7是本发明实施例提供的安全协议重构方法中获取预设重构元库的流程图;
图8是本实施例提供的安全协议构造树的示意图;
图9是本实施例提供的协议组织数据的基本格式的示意图;
图10是本发明实施例提供的安全协议重构装置的结构示意图;
图11是本发明实施例提供的安全协议重构装置中获取单元的结构示意图;
图12是本发明实施例提供的安全协议重构装置中更新单元的结构示意图。
具体实施方式
为了便于对本发明实施例的理解,对本发明实施例涉及到的专业术语进行说明:
安全协议的重构:以重构元为基础构建起来的安全协议处理架构,且该安全协议处理架构可以根据网络安全需求,如计算环境及需求变化情况,调整其内部组织结构,形成最适合当前安全需求和性能需求的软硬件处理架构,达到增强安全适应性和提高性能的目的。
重构元:是指能够完成安全协议的某一独立功能、可以明确辨识并且至少在结构粒度、结构层次、时间维度上可重构的元结构。
重构元是一个四元组,即e(ID,link,fun,resource);其中,ID表示重构元的初始标识,后续研究将其扩展为索引;link表示重构连接,为重构元之间的关系;fun表示重构元的功能,即重构元所实现的协议的某一子功能,包括传输、控制、加密、封装等;resource表示要部署完成重构元的功能所占用的包括重构时间与重构资源等性能指标;
其中,重构连接是一个五元组link(linkID,p,r,m,cond);
linkID表示重构连接的标识,一个重构元存在一个或多个连接;
p表示重构元对外提供的功能或操作,作为服务提供接口;
r表示重构元对外请求的功能或操作,作为服务请求接口;
m表示重构元之间传递的消息,m包括mp和mr,其中mp表示提供给其他重构元的消息;mr表示向其他重构元请求消息;
cond由per-con与post-con组成,per-con为重构元执行的前置约束条件;post-con为重构元执行的后置约束条件;
一级索引:对基于初始标识的重构元进行聚类优化操作之后的标识。
二级索引:对基于一级索引的重构元进行功能/路径映射操作之后的标识。
索引状态机ISM是一个九元组,即ism(ID,link,Fun,resource,Q,δ,∑,V,list);
ID表示状态的标识,包括第一索引号与第二索引号,分别表示逻辑功能指向与实例指向;
link表示完成独立功能的状态之间的连接关系;
Fun表示状态元素的功能,也表示状态的输出函数;
resource表示要部署完成重构功能所占用的包括重构时间与重构资源等性能指标;
Q={q0,q1,...,qn}是非空有限状态集合;
∑={o1,o2,...,om}是非空有限输入事件或字符的集合;
V是协议变量的集合,包括协议机制自身设置的变量、运行时的操作数据与带参数的变量;
内部操作函数δ:Q÷∑×P(V)→Δ×A(V),设当前状态机处于qi∈Q,输入字符e∈∑,执行P(V),若条件满足,则得到输出函数值Δ并对变量进行A(V)操作,其中Δ=fun(a1,a2,...,ar)是有限输出字符集合;
list表示此状态根据约束条件指向的下一个或多个状态。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种安全协议重构方法的流程图,用于将已构建网络安全协议从整体重构改为部分重构,从而降低资源开销,提高已构建网络安全协议重构的效率。具体的,图1所示安全协议重构方法可以包括以下步骤:
101:在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流。其中已构建网络安全协议是指根据用户构建的某个网络安全需求,构建的与用户的网络安全需求对应的安全协议,在网络安全需求发生变化的情况下,其对应的安全协议也需要随之变化。
在网络安全需求发生变化的情况下,首先需要获取变化后的网络安全需求对应的目标安全协议重构流,以作为已构建网络安全协议的重构的基础。在本实施例中,目标安全协议重构流协议用于描述已构建网络安全协议需要哪些重构元和所需各重构元之间的关系,如重构元之间的引用关系和提供关系,其中引用关系表明重构元可引用已构建网络安全协议中的哪些重构元,提供关系则表明该重构元可被已构建网络安全协议中的哪些重构元引用,即提供给哪些重构元引用,对于如何获取目标安全协议重构流后续结合附图进行说明,此处不再详细说明。
102:根据目标安全协议重构流对应的目标重构元集合和已构建网络安全协议对应的初始重构元集合,确定已构建网络安全协议中待更新部分,并确定待更新部分对应的连接子,其中初始重构元集合根据变化前的网络安全需求对应的初始安全协议重构流确定。
可以理解的是:目标安全协议重构流用于描述已构建网络安全协议需要哪些重构元和所需各重构元之间的关系,而已构建网络安全协议对应的初始重构元集合是根据变化前的网络安全需求对应的初始安全协议重构流确定,也就是说目标安全协议重构流可以描述出网络安全需求发生变化后的已构建网络安全协议需要哪些重构元和所需重构元之间的关系,初始安全协议重构流可以描述出网络安全需求发生变化前的已构建网络安全协议需要哪些重构元和所需重构元之间的关系,因此根据目标安全协议重构流可以确定网络安全需求发生变化后的已构建网络安全协议对应的所有重构元,这些重构元存储在目标重构元集合,根据初始安全协议重构流可以确定网络安全需求发生变化前的已构建网络安全协议对应的所有重构元,这些重构元存储在初始重构元集合。
将目标重构元集合中的各个重构元和初始重构元集合中的各个重构元进行比对,则可以确定出待更新部分,如确定出已构建网络安全协议中需要删除哪些重构元、需要将哪些重构元替换为目标重构元集合中的哪些重构元和需要加入哪些重构元等等。
并且在确定待更新部分之外还需要确定出与待更新部分对应的连接子,确定与待更新部分对应的连接子的可行方式是:根据重构元与连接子的对应关系来确定,又或者根据重构元中的link(表示重构连接,为重构元之间的关系)确定出各重构元之间的关系,在重构元之间的关系为引用关系时,从预设交互共享池中选取一个引用连接子;在重构元之间的关系为提供关系时,从预设交互共享池中选取一个提供连接子。
其中引用连接子用于使得重构元可引用已构建网络安全协议中的其他重构元,提供连接子用于使得重构元可被已构建网络安全协议中的其他重构元引用,且预设交互共享池中存储有作用于已构建网络安全协议中的重构元之间的引用连接子和提供连接子,以便于从预设交互共享池中选取出与待更新部分对应的连接子(包括引用连接子和提供连接子,具体选取哪种连接子视实际应用而定)。之所以需要确定与待更新部分对应的连接子是因为:在不同的资源情况、不同服务质量要求、不同处理负荷、不同时段的运行效能等网络安全需求影响下,可根据已构建网络安全协议的特性动态地更改、添加、删除、迁移重构元以及重组拓扑关系等操作,对多种功能、效能不同的重构元之间作出调度并能实现服务的跨环境动态迁移来满足灵活多变的需求,即实现动态重构。动态重构是借助“应用决定结构、结构决定效能”的思想,具备持续可用的优势,并不像静态重构通过停止、更新和重启来实现,其避免了不可接受的延迟、代价和危险,具有天然的冗余属性和内在的高可靠性、高安全性优势。实现动态重构的快速实施,就要解耦重构元之间紧密的依赖关系的,只有在重构元之间建立松散的依赖关系,才能使重构元的动态替换更加简捷高效,为此本实施例引入连接子,通过预设交互共享池中的连接子为重构元之间建立依赖关系,这样就可以通过更改连接子来改变重构元之间的依赖关系,从而通过连接子将重构元之间原本紧连的依赖关系进行解耦管理,以利于在预设交互共享池中完成重构元的动态替换。
103:使用待更新部分对应的连接子,对待更新部分进行更新,以使得已构建网络安全协议中的所有重构元与目标重构元集合中的所有重构元一致,完成对已构建网络安全协议的动态重构。
在本实施例中,对待更新部分进行更新的可行方式如图2所示,可以包括以下步骤:
201:在待更新部分存在将已构建网络安全协议中的第i个重构元替换为目标重构元集合中的第j个重构元的情况下,在预设交互共享池中激活第j个重构元对应的引用连接子和提供连接子,引用连接子用于使得第j个重构元可引用已构建网络安全协议中的其他重构元,提供连接子用于使得第j个重构元可被已构建网络安全协议中的其他重构元引用,i和j为自然数,且i的取值不大于初始重构元集合中的重构元数量,j的取值不大于目标重构元集合中重构元数量,对于第j个重构元对应的引用连接子和提供连接子的获取过程,请参阅前述描述,此处不再赘述。
在激活第j个重构元对应的引用连接子和提供连接子后,可以将预设交互共享池中第j个重构元对应的引用连接子和提供连接子的状态更改为占用状态,以表明该引用连接子和提供连接子处于被重构元使用中,这样其他重构元则不再使用处于占用状态中的引用连接子和提供连接子,以避免至少两个重构元使用同一个引用连接子或同一个提供连接子,降低重构元之间相互引用的错误概率。
202:根据第i个重构元对应的逻辑关系表,确定第i个重构元对应的引用连接子和提供连接子。
203:根据第i个重构元对应的逻辑关系表,查找是否存在第i个重构元的连接提供通道、连接请求通道和引用通道,若存在执行步骤204,若不存在返回更新失败标记,以指示此次重构失败。
可以理解的是:逻辑关系表用于表明通过哪些连接子形成重构元之间的关系,因此通过逻辑关系表可以确定出第i个重构元对应的引用连接子和提供连接子,而这些连接子为重构元之间提供连接提供通道、连接请求通道和引用通道,因此在已构建网络安全协议中形成这些通道后会在逻辑关系表中记录第i个重构元的连接提供通道、连接请求通道和引用通道,以便于后续动态重构。
若根据第i个重构元对应的逻辑关系表查找到存在上述通道,说明在已构建网络安全协议中正确对第i个重构元进行构建,在第i个重构元需要被第j个重构元替换时则需要对第i个重构元的上述通道进行更新。若根据第i个重构元对应的逻辑关系表查找到不存在上述通道,说明无法对第i个重构元进行动态替换,进而返回更新失败标识,以指示此次重构失败。
204:若存在,则将连接提供通道、连接请求通道和引用通道与第i个重构元对应的引用连接子和提供连接子的绑定改为与第j个重构元对应的引用连接子和提供连接子的绑定。
也就是说,将第i个重构元对应的引用连接子和提供连接子与第i个重构元的连接提供通道、连接请求通道和引用通道进行解绑,并将连接提供通道、连接请求通道和引用通道与第j个重构元对应的引用连接子和提供连接子绑定在一起,以使得第i个重构元和其他重构元之间的关系转换为第j个重构元和其他重构元之间的关系。下面结合图3对重构元替换进行说明:
图3示出一个已构建网络安全协议,该已构建网络安全协议中的第4个重构元(简称重构元4)需要被目标重构元集合中的第7个重构元替换(简称重构元7),重构元4通过引用连接子1来引用重构元1,通过提供连接子8和提供连接子4被重构元3和重构元1引用,在重构元4被重构元7替换时,则需要将重构元4与重构元1和重构元3之间的关系转换为重构元7月重构元1和重构元3之间的关系,具体的如图3所示,重构元7通过引用连接子1来引用重构元1,通过提供连接子10和提供连接子9被重构元3和重构元1引用,从而将原本重构元4与重构元1和重构元3之间的上述通道与重构元7的连接子(引用连接子1、提供连接子10和提供连接子9)绑定。
205:删除第i个重构元、第i个重构元对应的引用连接子和提供连接子,由此完成第i个重构元的替换,进一步还可以返回更新成功标识,以指示第i个重构元的替换成功。
在待更新部分存在将已构建网络安全协议中的第x个重构元删除的情况下,则需要将第x个重构元、第x个重构元对应的引用连接子和提供连接子删除,在待更新部分存在在已构建网络安全协议中添加目标重构元集合中的第y个重构元的情况下,则需要将第y个重构元、第y个重构元对应的引用连接子和提供连接子加入到已构建网络安全协议中,以以通过第y个重构元对应的引用连接子和提供连接子构建第y个重构元与其他重构元之间的关系,其中,x和y为自然数,且x的取值不大于初始重构元集合中的重构元数量,y的取值不大于目标重构元集合中重构元数量,对于第y个重构元对应的引用连接子和提供连接子的获取过程,请参阅前述描述,此处不再赘述。
在这里需要说明的一点是:一般情况下,已构建网络安全协议中的任一重构元与已构建网络安全协议中的至少一个重构元之间存在关系(引用关系和提供关系中的至少一种),因此已构建网络安全协议的重构基本是重构元的替换,需要参见图2所示方式进行重构元的替换。
从上述技术方案可知,在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流,并根据目标安全协议重构流对应的目标重构元集合和已构建网络安全协议对应的初始重构元集合,确定已构建网络安全协议中待更新部分和待更新部分对应的连接子,使用待更新部分对应的连接子,对待更新部分进行更新,以使得已构建网络安全协议中的所有重构元与目标重构元集合中的所有重构元一致,从而通过对待更新部分的更新实现对已构建网络安全协议的重构,进而实现将已构建网络安全协议的整体重构改为部分重构,由此可以降低资源开销,提高已构建网络安全协议重构的效率。并且使用待更新部分对应的连接子对待更新部分进行更新,也就是说本发明通过连接子建立重构元之间的依赖关系,使得重构元之间紧密的依赖关系解耦,从而便于通过连接子实现对已构建网络安全协议中的待更新部分(即重构元)进行动态更新,使得待更新部分的动态更新更加简捷高效。
下面结合附图4,对本发明实施例如何获取目标安全协议重构流进行说明,其中目标安全协议重构流的获取过程包括以下步骤:
401:在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的原始执行流程。其中原始执行流程描述的是已构建网络安全协议的协议处理过程,是已构建网络安全协议在执行过程中的完整体现,该原始执行流程可以由用户根据变化后的网络安全需求来手动绘出并上传。
402:根据原始执行流程从预设重构元库中选取对应的重构元,并根据原始执行流程建立所选取的重构元之间的相互关系。
也就是说针对原始执行流程中的每一个具体的处理环节,结合该处理环节所处的状态,将已构建网络安全协议的协议行为用可独立表示而又相互联系的不同重构元构建,具体的从预设重构元库中调用相应数量与功能的重构元,其中从预设重构元库中调用重构元的过程如下:
对原始执行流程中的任一处理环节:确定预设重构元库中与该处理环节对应的第一重构元集合,其中第一重构元集合包括与该处理环节对应的各个目标原子功能的重构元,并根据选择函数:
从所确定的重构元集合中得到使选择函数的取值最小的重构元子集ei,和为得到重构元子集ei所需的资源代价和时间代价,和分别为所述资源代价和时间代价的权值,为所述重构元子集ei中包含的目标原子功能的重构元的个数,以n=3为例,对求和的分子进行说明,分子等于:
从第一重构元集合中删除将使选择函数的取值最小的重构元子集ei中的各重构元,并对删除重构元后的第一重构元集合根据选择函数再次选取重构元子集ei直至删除重构元后的第一重构元集合为空集;将每次根据选择函数选取出的各重构元子集ei组成第二重构元集合,将所述第二重构元集合中的各重构元确定为与该处理环节对应的各重构元。即通过多次执行选择函数选取出多个使选择函数的取值最小的重构元子集ei,这些重构元子集ei中的各重构元可以视为与其对应的处理环节对应的各重构元,而每次执行选择函数基于的重构元集合是:第一次执行选择函数基于的重构元集合是从预设重构元库中为该处理环节确定的第一重构元集合,后续第a次执行选择函数基于的重构元集合是从第一重构元集合中删除第一次执行选择函数至第a-1次执行选择函数得到的各重构元子集之后的重构元集合,a为大于1的自然数。
从上述根据选择函数确定重构元可知,由各个使选择函数的取值最小的重构元子集ei组成的第二重构元集合已经是目标原子功能的重构元集合的覆盖,但是不难发现由此得到的第二重构元集合内可能有冗余的重构元,因此需要对第二重构元集合进行去冗余处理,以去除第二重构元集合中的一些冗余的重构元,从而将处理后的第二重构元集合中的各重构元确定为相对应的处理环节对应的各重构元,进而可以最大限度的降低实现代价。其中去冗余处理的过程是:遍历第二重构元集合,若发现功能相同的重构元,则进行删除处理,对于重构元功能是否相同的判断本实施例不再详述。
403:使用索引状态机描述所选取的重构元和所选取的重构元之间的相互关系,并根据重构算法将索引状态机重构为目标索引状态机,从而得到目标索引状态机对应的功能重构流。
可以理解的是:已构建网络安全协议的协议行为用可独立表示而又相互联系的不同重构元构建,而已构建网络安全协议的协议行为可以视为是原始执行流程中的一种状态,而索引状态机能够用于进行状态描述,因此可以使用索引状态机来描述所选取的重构元和所选取的重构元之间的相互关系,具体如何描述本实施例不再赘述。对于重构算法的说明如下:
对于一个安全协议来说,在获知安全协议当前的状态和转移列表的情况下,下一个状态可以根据判断输入事件E,变量V,协议动作A,变量谓词P,输出Δ等转移条件来确定。也就是说对于一个索引状态机M,该索引状态机M要重新重构到目标索引状态机M′,因此需要知道当M重构为M′时什么转换必须重新配置,为此定义如下重构流转换过渡:
为了简化描述,将前面提出的索引状态机表示改为ism=(Q,C,list),其中C=(δ,E,v),E为输入事件,v指变量。给定一个索引状态机M=(Q,C,list)和目标索引状态机M′=(Q′,C′,list′),使T′={(qx,c,qy):qx∈Q′,qy∈list′(qx,c)}表示M′转换的总集,而td=(qx,c,qy)∈T′被称为重构流转换,td需要被重构以使M重构到M′,为所有重构流转换集。
以图5所示索引状态机的重构为例,考虑索引状态机M=(Q,C,list),其中,Q=(Q0,Q1,Q2,Q3), 目标索引状态机M′=(Q′,C′,list′),其中,Q′=(Q0,Q1,Q2,Q3,Q4),要将M重构到M′,其重构流转换集为Tre={(Q2,c3,Q4),(Q3,c6,Q4),(Q4,c7,Q2),(Q4,c8,Q3)}。
但是仅仅获得上述重构流转换是不足以描述协议重构流特性的,在此引入重构流参数重构可行性定理。假设有一个索引状态机M=(Q,C,list),其目标状态机为M′=(Q′,C′,list′),重构参数P可定义为(Qr,Qd,Qr,Tre)。其中
Tre:重构流转换集。
重构参数用来将索引状态机M重构到目标索引状态机M′,其中Qr是新增加的状态的集合,Cr为这些状态相应的转移条件的集合,Qd为重构后被剔除的状态的集合,为了移除Qd,需要在重构算法中引入REM(state)操作。REM(state)函数用来移除状态Qd、Qd的转移条件以及与Qd相关的所有关系。为此上述图5中的重构参数可以重新定义为(Qr,Qd,Qr,Tre),其中Qr={Q3},Qd={φ},Tre={(Q2,c3,Q4),(Q3,c6,Q4),(Q4,c7,Q2),(Q4,c8,Q3)},通过重构参数可以体现出原始执行流和最终得到的目标安全重构流之间的差异为:
由上述分析可知对于两个功能不同的索引状态机M和目标索引状态机M′,总有一个有限的重构序列使得索引状态机M重构为目标索引状态机。相对应的重构算法包括:用重构流转换集重构索引状态机M;用REM(state)去除无用的状态以及相关信息,通过这个重构算法,将索引状态机M重构为目标索引状态机,从而生成从一个功能到另一个功能的功能重构流ReF。
将上述重构算法应用到图6所示索引状态机M=(Q,C,list),其中Q=(Q1,Q2,Q3,Q4,Q5),C={{c1,c2},{c3,c5},{c4,c6},{c7},{c8}},list定义为list(Q1,c1)=Q2,list(Q1,c2)=Q3,list(Q2,c3)=Q3,list(Q2,c5)=Q4,list(Q3,c4)=Q2,list(Q3,c6)=Q5,list(Q4,c7)=Q5,list(Q5,c8)=Q4,用重构参数(Qr,Qd,Qr,Tre),其中Qr={Q6},Cr={c9,c10},Qd={Q4,Q5},Tre={(Q2,c5,Q6),(Q3,c6,Q6),(Q6,c9,Q2),(Q6,c10,Q3)},根据重构算法,得到如下功能重构流ReF:
ReF={ref1(tre(Q2,c5,Q6)),ref2(tre(Q3,c6,Q6)),ref3(tre(Q6,c9,Q2)),ref4(tre(Q6,c10,Q3)),
ref5(REM(Q4)),ref6(REM(Q5))}
通过功能重构流的描述可以快速准确地指导重构的实施,为重构提供了技术支持。
404:根据目标索引状态机对应的功能重构流,得到目标安全协议重构流,即由目标索引状态对应的功能重构流组合成目标安全协议重构流,由此得到对已构建网络安全协议进行重构的基础信息。
对于上述预设重构元库来说,其获得过程如图7所示,可以包括以下步骤:
701:根据安全协议的至少一个维度,对至少一种安全协议进行分析,得到每种维度对应的重构元,并为每种维度对应的重构元设置各自对应的描述文本。
在本实施例中,可以从协商、数据处理、控制和专用等维度出发得到每种维度对应的重构元,下面一一进行说明:
(1)、协商维度的重构元:
对于SSL握手协议,SSL握手协议在传送数据之前需要验证通信双方的身份信息,完成加密算法的协商,生成秘密信息与初始向量等。具体包括:安全能力建立阶段、服务器身份验证和密钥交换阶段、客户机验证和密钥交换阶段、更改密码组阶段。但是,在握手协议实施的过程中有些步骤是可选的,如服务器发送证书、密钥交换和请求证书等。在SET协议中,从协议介入购物流程开始,持卡人与商家的交互主要包括初始请求/响应阶段、购买请求/响应阶段。
对SSL握手协议协议交互模块的设计主要有安全能力建立模块;身份认证、密钥交换模块;更换密码模块。其中安全能力建立模块该阶段是用来初始化逻辑连接,并建立与之相关的安全能力,包括协议双方的协议版本、请求与响应ID、初始随机数、压缩方法、一个保证时限的临时值、信用卡品牌等。具体的模块组成由所需的特定协议决定;身份认证与密钥交换模块是用来保证信息传输过程中信息的完整、机密和提供信息的发送者的身份确认与不可抵赖性;更换密码组模块的主要作用是使前面商定的算法(CipherSpec)成为当前状态。指示发送端已经切换至协商好的密码参数,随后的消息用这些参数加以保护。
基于上述研究,提取协议协商过程中的共性特征作为协商维度的重构元:安全能力建立、身份认证、密钥交换、更换密码。以安全能力建立重构元为例,建立如图8所示的安全协议构造树,通过初步统计得出重构元的编码位为8个比特位,分配到的标识号为11010111,维度为协商Negotiate维度,功能为建立安全能力Build Security Capacity,应用环境为可重构软硬件平台soft hardware,当需要发出请求或回应时触发。则在预设重构元库中的描述文本如下:
(2)数据处理维度的重构元
不同的应用层安全协议消息处理的方式不一而同,本实施例从各个协议处理流程出发,力求对共同点和差异点进行抽象分析。SSL记录协议收到来自高层SSL子协议的数据后,对其进行数据分段、压缩、认证和加密处理。SET协议采用的安全机制包括数字签名、消息摘要、数字信封、双重签名等。如使用数字证书对交易各方的身份进行验证;使用数字签名技术确保完整性和事可否认性;通过制订标准和采用各种技术手段包括交易信息的机密性、完整性、身份认证和不可否认性等。
通过对协议交换数据处理操作的考察,得到数据处理维度的重构元主要包括:应用数据的分段、压缩、杂凑、加密、连接、签名、解密等处理模块。其中,杂凑函数是为了防止协议消息有网络传输过程中被恶意地篡改而增加的完整性保护。经过杂凑函数的计算生成一个消息摘要,可根据系统的要求,灵活选用摘要生成算法,目前主要有基于HASH算法、加密算法,逐位累加等计算方法;加密处理可采用的方式有对称加密与非对称加密,主要有数据加密标准RSA、DES及其扩展算法,不同的算法运行效率与安全强度不尽相同,可根据系统需求进行配置,以确保数据的机密性、真实性。
通过上述研究可抽象出协议组织数据的基本格式,由“协议头”、“数据”与“认证码”组成,如图9所示。其中以明文形式表示“协议头”与“认证码”,密文形式表示“数据”部分。“协议头”与“数据”的组织形式存在序列密码、分组密码和公钥密码的情况,其对应涉及到的包括协议版本号、通信双方ID号、密钥类型及其序列号、通信命令类型与数据加密模式也要分情况处理。
以加密重构元为例,分配到的标识号为10010111,维度为面向数据处理DataProcessing维度,功能为加密encryption,应用环境为可重构软硬件平台soft hardware,当满足前置条件时被触发。则在预设重构元库中的描述文本如下:
(3)控制维度的重构元
根据需求的不同,在安全协议重构执行过程中会出现重构元之间的顺序、选择、并发、触发、迭代等控制操作,将数据处理与控制相分离,将控制操作抽象为控制维度的重构元,分为以下几种情况:
A:当重构元m执行完毕之后重构元n满足条件就可以执行了,表现为顺序控制关系,而当重构元n执行完毕直接触发重构元k的操作,而无需等待其它约束条件。且形式化地描述为(其中npost表示n的后置条件,kpre表示k的前置条件):
npostAkpre==true
B:执行重构元k后,选择or重构元进行重构元n与重构元m的选择操作,继而执行重构元p,利用or重构元将其它重构元连接起来变成一个复合重构元,同时提供重构元n与m的功能,但只允许执行其中一个操作。可形式化描述为:
[(kpost∧npre)∧(npost∧ppre)]∧[(kpost∧mpre)∧(mpost∧ppre)]==true;
npreΛmpre==false
C:执行重构元k后,系统要求同时执行重构元n与重构元m的操作,继而执行重构元p,那么可利用and重构元将其它重构元连接起来变成一个复合重构元,同时提供重构元n与m并发执行的功能,。可形式化描述为(其中npost表示n的后置条件,kpre表示k的前置条件):
[(kpost∧npre∧mpre)]∧[(mposte∧npost∧ppre)]==true;
D:当系统执行完重构元m、n、k时,通过条件判断需要从重构元n处循环执行,直至条件不满足而跳出循环,继而执行重构元p。假设循环条件为r为真,否则跳出循环,则可形式化描述为:
当r==true,
(npost∧kpre)∧(kpost∧npre)==true,
kpost∧ppre==false;
当r==false,
(npost∧kpre)∧(kpost∧npre)==false,
kpost∧ppre==true;
以选择控制为例,分配到的标识号为11110001,维度为数据处理control维度,功能为选择selection,应用环境为可重构软硬件平台soft hardware,当满足前置条件时被触发。则在预设重构元库中的描述文本如下:
(4)专用维度的重构元
在协商维度的重构元的讨论中,还存在另外一种集成操作的重构元,在此处将其划分为专用维度的重构元。例如在IPSec协议中密钥交换协议IKE存在2个阶段、4种模式,阶段1主要任务是创建一个IKE SA,为阶段2创建IPsec SA提供安全保护。阶段1的交换包括主模式交换和野蛮模式交换。主模式仍可分为安全能力建立、密钥交换与身份认证模块,能抵抗中间人攻击。野蛮模式简化了协商过程,具有较高的协议效率,但抵抗攻击的能力较差,也不能提供身份保护。主要的交换模式有:预共享密钥认证主模式、预共享密钥认证的野蛮模式、数字签名认证的主模式、数字签名认证的野蛮模式、公钥加密认证的主模式与修订的公钥加密认证主模式。其协议过程用协商维度的重构元表示为主模式与野蛮模式。
在主模式中,其交互过程可用协商维度的重构元来构建:安全能力建立模块与密钥交换与身份认证模块协作完成,而基于野蛮模式的各认证方式的交互之中已将安全能力建立、密钥交换与身份认证模块的功能集成操作,故提出了专用维度的重构元。
同样的,在网络层安全协议执行过程中有着比上层协议更复杂的操作模块,包括连接处理模块、抗重放攻击模块、分段模块、组包模块、ICMP模块、APR模块、ARP模块、策略管理模块、SA管理模块等。在使用签名与身份认证的协议处理中,不可避免地会涉及到证书的相关操作,将证书模块也作为专用维度的重构元的一类。
以SA管理模块为例,分配到的标识号为10001111,维度为专用维度,功能为SA,应用环境为可重构软硬件平台soft hardware,当满足前置条件时被触发。则在预设重构元库中的描述文本如下:
702:为每种维度对应的重构元生成子类层数。
703:通过子类层数对所有重构元进行预分集划分,得到初始分类集合。具体的可以将具有同一个子类层数的重构元划分至一个初始分类集合中,对于子类层数的生成可以参阅现有技术,本实施例不再详述。
704:以所述每种维度对应的重构元各自对应的描述文本中记录的信息作为重构元的特征参数,对重构元的特征参数进行降维处理。如以上述描述文本中记录的:标识号、维度、功能、应用环境和触发条件为特征参数,使用SVM(Support Vector Machine,支持向量机)技术对其进行降维处理。
705:根据降维处理后的特征参数,对初始分类集合中的重构元进行再次划分,得到目标分类集合,将目标分类集合中的各个重构元按照所属类别存储在预设重构元库中,具体过程不再详述。
通过上述技术方案,可以将属于同一类的重构元划分至同一个目标分类集合中,并且以描述文本作为聚类依据,可以消除因基于关键词与刻面描述信息单一存在主观性因素的影响,这是因为描述文本中记录的信息比较全面、集中,有利于重构元之间相似度的计算,并结合子类层数能有效地克服现有聚类算法准确率与效率不高的问题,在一定程度上实现对重构元的快速精准的聚类,有效地对重构元库进行优化。同时,将聚类后的重构元归入预设重构元库中,为安全协议的重构奠定基础。
与上述方法实施例相对应,本发明实施例还提供一种安全协议重构装置,其结构如图10所示,可以包括:获取单元11、确定单元12和更新单元13。
获取单元11,用于在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流。其中已构建网络安全协议是指根据用户构建的某个网络安全需求,构建的与用户的网络安全需求对应的安全协议,在网络安全需求发生变化的情况下,其对应的安全协议也需要随之变化。
在网络安全需求发生变化的情况下,首先需要获取变化后的网络安全需求对应的目标安全协议重构流,以作为已构建网络安全协议的重构的基础。在本实施例中,目标安全协议重构流协议用于描述已构建网络安全协议需要哪些重构元和所需各重构元之间的关系,如重构元之间的引用关系和提供关系,其中引用关系表明重构元可引用已构建网络安全协议中的哪些重构元,提供关系则表明该重构元可被已构建网络安全协议中的哪些重构元引用,即提供给哪些重构元引用。
相对应的获取单元11的结构如图11所示,可以包括:获取子单元111、选取子单元112、关系建立子单元113、描述子单元114、重构子单元115和获得子单元116。
获取子单元111,用于在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的原始执行流程。其中原始执行流程描述的是已构建网络安全协议的协议处理过程,是已构建网络安全协议在执行过程中的完整体现,该原始执行流程可以由用户根据变化后的网络安全需求来手动绘出并上传。
选取子单元112,用于根据原始执行流程从预设重构元库中选取对应的重构元。其中选取子单元112选取对应的重构元的过程如下:
对原始执行流程中的任一处理环节:确定预设重构元库中与该处理环节对应的第一重构元集合,第一重构元集合包括与该处理环节对应的各个目标原子功能的重构元。
根据选择函数:
从所确定的第一重构元集合中得到使选择函数的取值最小的重构元子集ei,和为得到重构元子集ei所需的资源代价和时间代价,和分别为资源代价和时间代价的权值,为重构元子集ei中包含的目标原子功能的重构元的个数。
从第一重构元集合中删除将使选择函数的取值最小的重构元子集ei中的各重构元,并对删除重构元后的第一重构元集合根据选择函数再次选取重构元子集ei直至删除重构元后的第一重构元集合为空集。
将每次根据选择函数选取出的各重构元子集ei组成第二重构元集合,将第二重构元集合中的各重构元确定为与该处理环节对应的各重构元。
从上述根据选择函数确定重构元可知,由各个使选择函数的取值最小的重构元子集ei组成的第二重构元集合已经是目标原子功能的重构元集合的覆盖,但是不难发现由此得到的第二重构元集合内可能有冗余的重构元,因此本实施例提供的安全协议重构装置还可以包括:去冗余单元,用于对于任一处理环节,在将第二重构元集合中的各重构元确定为与该处理环节对应的各重构元之后,对第二重构元集合进行去冗余处理,得到处理后的第二重构元集合,并将该处理环节对应的各重构元修改为处理后的第二重构元集合中的各重构元,进而可以最大限度的降低实现代价。
其中预设重构元库的获得过程包括:根据安全协议的至少一个维度,对至少一种安全协议进行分析,得到每种维度对应的重构元,并为每种维度对应的重构元设置各自对应的描述文本;为每种维度对应的重构元生成子类层数;通过子类层数对所有重构元进行预分集划分,得到初始分类集合;以每种维度对应的重构元各自对应的描述文本中记录的信息作为重构元的特征参数,对重构元的特征参数进行降维处理;根据降维处理后的特征参数,对初始分类集合中的重构元进行再次划分,得到目标分类集合,将目标分类集合中的各个重构元按照所属类别存储在预设重构元库中,具体说明请参阅方法实施例,对此本实施例不再阐述。
关系建立子单元113,用于根据原始执行流程建立所选取的重构元之间的相互关系。由于原始执行流程描述了已构建网络安全协议的协议处理过程,是已构建网络安全协议在执行过程中的完整体现,而已构建网络安全协议可以视为是多个重构元构成,所以为了完整体现需要在原始执行流程中描述重构元之间的关系,如引用关系和提供关系,由此可以根据原始执行流程来建立选取的重构元之间的相互关系。
描述子单元114,用于使用索引状态机描述所选取的重构元和所选取的重构元之间的相互关系。可以理解的是:已构建网络安全协议的协议行为用可独立表示而又相互联系的不同重构元构建,而已构建网络安全协议的协议行为可以视为是原始执行流程中的一种状态,而索引状态机能够用于进行状态描述,因此可以使用索引状态机来描述所选取的重构元和所选取的重构元之间的相互关系。
重构子单元115,用于根据重构算法将索引状态机重构为目标索引状态机,从而得到目标索引状态机对应的功能重构流,具体过程请参阅方法实施例中的相关说明。
获得子单元116,用于根据目标索引状态机对应的功能重构流,得到目标安全协议重构流,即由目标索引状态对应的功能重构流组合成目标安全协议重构流,由此得到对已构建网络安全协议进行重构的基础信息(目标安全协议重构流)。
确定单元12,用于根据目标安全协议重构流对应的目标重构元集合和已构建网络安全协议对应的初始重构元集合,确定已构建网络安全协议中待更新部分,并确定待更新部分对应的连接子,其中初始重构元集合根据变化前的网络安全需求对应的初始安全协议重构流确定,具体说明请参阅方法实施例,对此本实施例不再阐述。
更新单元13,用于使用待更新部分对应的连接子,对待更新部分进行更新,以使得已构建网络安全协议中的所有重构元与目标重构元集合中的所有重构元一致,从而完成对已构建网络安全协议的动态重构。其中更新单元13的一种可选结构如图12所示,可以包括:激活子单元131、确定子单元132、查找子单元133、修改子单元134和删除子单元135。
激活子单元131,用于在待更新部分存在将已构建网络安全协议中的第i个重构元替换为目标重构元集合中的第j个重构元的情况下,在预设交互共享池中激活第j个重构元对应的引用连接子和提供连接子,引用连接子用于使得第j个重构元可引用已构建网络安全协议中的其他重构元,提供连接子用于使得第j个重构元可被已构建网络安全协议中的其他重构元引用,i和j为自然数。
确定子单元132,用于根据第i个重构元对应的逻辑关系表,确定第i个重构元对应的引用连接子和提供连接子。
查找子单元133,用于根据第i个重构元对应的逻辑关系表,查找是否存在第i个重构元的连接提供通道、连接请求通道和引用通道。
可以理解的是:逻辑关系表用于表明通过哪些连接子形成重构元之间的关系,因此通过逻辑关系表可以确定出第i个重构元对应的引用连接子和提供连接子,而这些连接子为重构元之间提供连接提供通道、连接请求通道和引用通道,因此在已构建网络安全协议中形成这些通道后会在逻辑关系表中记录第i个重构元的连接提供通道、连接请求通道和引用通道,以便于后续动态重构。
若根据第i个重构元对应的逻辑关系表查找到存在上述通道,说明在已构建网络安全协议中正确对第i个重构元进行构建,在第i个重构元需要被第j个重构元替换时则需要对第i个重构元的上述通道进行更新。若根据第i个重构元对应的逻辑关系表查找到不存在上述通道,说明无法对第i个重构元进行动态替换,进而返回更新失败标识,以指示此次重构失败。
修改子单元134,用于存在第i个重构元的连接提供通道、连接请求通道和引用通道的情况下,将连接提供通道、连接请求通道和引用通道与第i个重构元对应的引用连接子和提供连接子的绑定改为与第j个重构元对应的引用连接子和提供连接子的绑定。
删除子单元135,用于删除第i个重构元、第i个重构元对应的引用连接子和提供连接子,由此完成第i个重构元的替换,进一步还可以返回更新成功标识,以指示第i个重构元的替换成功。
在待更新部分存在将已构建网络安全协议中的第x个重构元删除的情况下,则需要将第x个重构元、第x个重构元对应的引用连接子和提供连接子删除,在待更新部分存在在已构建网络安全协议中添加目标重构元集合中的第y个重构元的情况下,则需要将第y个重构元、第y个重构元对应的引用连接子和提供连接子加入到已构建网络安全协议中,以以通过第y个重构元对应的引用连接子和提供连接子构建第y个重构元与其他重构元之间的关系,其中,x和y为自然数,且x的取值不大于初始重构元集合中的重构元数量,y的取值不大于目标重构元集合中重构元数量,对于第y个重构元对应的引用连接子和提供连接子的获取过程,请参阅前述描述,此处不再赘述。
从上述技术方案可知,在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流,并根据目标安全协议重构流对应的目标重构元集合和已构建网络安全协议对应的初始重构元集合,确定已构建网络安全协议中待更新部分和待更新部分对应的连接子,使用待更新部分对应的连接子,对待更新部分进行更新,以使得已构建网络安全协议中的所有重构元与目标重构元集合中的所有重构元一致,从而通过对待更新部分的更新实现对已构建网络安全协议的重构,进而实现将已构建网络安全协议的整体重构改为部分重构,由此可以降低资源开销,提高已构建网络安全协议重构的效率。并且使用待更新部分对应的连接子对待更新部分进行更新,也就是说本发明通过连接子建立重构元之间的依赖关系,使得重构元之间紧密的依赖关系解耦,从而便于通过连接子实现对已构建网络安全协议中的待更新部分(即重构元)进行动态更新,使得待更新部分的动态更新更加简捷高效。
此外,本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序代码,该计算机程序代码执行时实现上述安全协议重构方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种安全协议重构方法,其特征在于,所述方法包括:
在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流;
根据所述目标安全协议重构流对应的目标重构元集合和所述已构建网络安全协议对应的初始重构元集合,确定所述已构建网络安全协议中待更新部分,并确定所述待更新部分对应的连接子,其中所述初始重构元集合根据变化前的网络安全需求对应的初始安全协议重构流确定;
使用所述待更新部分对应的连接子,对所述待更新部分进行更新,以使得所述已构建网络安全协议中的所有重构元与所述目标重构元集合中的所有重构元一致。
2.根据权利要求1所述的方法,其特征在于,所述使用所述待更新部分对应的连接子,对所述待更新部分进行更新包括:
在所述待更新部分存在将所述已构建网络安全协议中的第i个重构元替换为所述目标重构元集合中的第j个重构元的情况下,在预设交互共享池中激活所述第j个重构元对应的引用连接子和提供连接子,所述引用连接子用于使得所述第j个重构元可引用已构建网络安全协议中的其他重构元,所述提供连接子用于使得所述第j个重构元可被已构建网络安全协议中的其他重构元引用,i和j为自然数;
根据所述第i个重构元对应的逻辑关系表,确定所述第i个重构元对应的引用连接子和提供连接子;
根据所述第i个重构元对应的逻辑关系表,查找是否存在所述第i个重构元的连接提供通道、连接请求通道和引用通道;
若存在,则将所述连接提供通道、连接请求通道和引用通道与所述第i个重构元对应的引用连接子和提供连接子的绑定改为与所述第j个重构元对应的引用连接子和提供连接子的绑定;
删除第i个重构元、第i个重构元对应的引用连接子和提供连接子。
3.根据权利要求1所述的方法,其特征在于,所述在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流包括:
在所述已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的原始执行流程;
根据所述原始执行流程从预设重构元库中选取对应的重构元,并根据所述原始执行流程建立所选取的重构元之间的相互关系;
使用索引状态机描述所选取的重构元和所选取的重构元之间的相互关系,并根据重构算法将所述索引状态机重构为目标索引状态机,从而得到所述目标索引状态机对应的功能重构流;
根据所述目标索引状态机对应的功能重构流,得到所述目标安全协议重构流。
4.根据权利要求3所述的方法,其特征在于,根据所述原始执行流程从预设重构元库中选取对应的重构元包括:
对所述原始执行流程中的任一处理环节:确定所述预设重构元库中与该处理环节对应的第一重构元集合,所述第一重构元集合包括与该处理环节对应的各个目标原子功能的重构元;
根据选择函数:
从所确定的第一重构元集合中得到使选择函数的取值最小的重构元子集ei,和为得到重构元子集ei所需的资源代价和时间代价,和分别为所述资源代价和时间代价的权值,为所述重构元子集ei中包含的目标原子功能的重构元的个数;
从第一重构元集合中删除将使选择函数的取值最小的重构元子集ei中的各重构元,并对删除重构元后的第一重构元集合根据选择函数再次选取重构元子集ei直至删除重构元后的第一重构元集合为空集;
将每次根据选择函数选取出的各重构元子集ei组成第二重构元集合,将所述第二重构元集合中的各重构元确定为与该处理环节对应的各重构元。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:对于任一处理环节,在将第二重构元集合中的各重构元确定为与该处理环节对应的各重构元之后,对所述第二重构元集合进行去冗余处理,得到处理后的第二重构元集合,并将该处理环节对应的各重构元修改为处理后的第二重构元集合中的各重构元。
6.根据权利要求3所述的方法,其特征在于,所述预设重构元库的获得过程包括:
根据安全协议的至少一个维度,对至少一种安全协议进行分析,得到每种维度对应的重构元,并为每种维度对应的重构元设置各自对应的描述文本;
为每种维度对应的重构元生成子类层数;
通过子类层数对所有重构元进行预分集划分,得到初始分类集合;
以所述每种维度对应的重构元各自对应的描述文本中记录的信息作为重构元的特征参数,对所述重构元的特征参数进行降维处理;
根据降维处理后的特征参数,对所述初始分类集合中的重构元进行再次划分,得到目标分类集合,将所述目标分类集合中的各个重构元按照所属类别存储在所述预设重构元库中。
7.一种安全协议重构装置,其特征在于,所述装置包括:
获取单元,用于在已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的目标安全协议重构流;
确定单元,用于根据所述目标安全协议重构流对应的目标重构元集合和所述已构建网络安全协议对应的初始重构元集合,确定所述已构建网络安全协议中待更新部分,并确定所述待更新部分对应的连接子,其中所述初始重构元集合根据变化前的网络安全需求对应的初始安全协议重构流确定;
更新单元,用于使用所述待更新部分对应的连接子,对所述待更新部分进行更新,以使得所述已构建网络安全协议中的所有重构元与所述目标重构元集合中的所有重构元一致。
8.根据权利要求7所述的装置,其特征在于,所述更新单元包括:
激活子单元,用于在所述待更新部分存在将所述已构建网络安全协议中的第i个重构元替换为所述目标重构元集合中的第j个重构元的情况下,在预设交互共享池中激活所述第j个重构元对应的引用连接子和提供连接子,所述引用连接子用于使得所述第j个重构元可引用已构建网络安全协议中的其他重构元,所述提供连接子用于使得所述第j个重构元可被已构建网络安全协议中的其他重构元引用,i和j为自然数;
确定子单元,用于根据所述第i个重构元对应的逻辑关系表,确定所述第i个重构元对应的引用连接子和提供连接子;
查找子单元,用于根据所述第i个重构元对应的逻辑关系表,查找是否存在所述第i个重构元的连接提供通道、连接请求通道和引用通道;
修改子单元,用于存在所述第i个重构元的连接提供通道、连接请求通道和引用通道的情况下,将所述连接提供通道、连接请求通道和引用通道与所述第i个重构元对应的引用连接子和提供连接子的绑定改为与所述第j个重构元对应的引用连接子和提供连接子的绑定;
删除子单元,用于删除第i个重构元、第i个重构元对应的引用连接子和提供连接子。
9.根据权利要求7所述的装置,其特征在于,所述获取单元包括:
获取子单元,用于在所述已构建网络安全协议对应的网络安全需求发生变化的情况下,获取变化后的网络安全需求对应的原始执行流程;
选取子单元,用于根据所述原始执行流程从预设重构元库中选取对应的重构元;
关系建立子单元,用于根据所述原始执行流程建立所选取的重构元之间的相互关系;
描述子单元,用于使用索引状态机描述所选取的重构元和所选取的重构元之间的相互关系;
重构子单元,用于根据重构算法将所述索引状态机重构为目标索引状态机,从而得到所述目标索引状态机对应的功能重构流;
获得子单元,用于根据所述目标索引状态机对应的功能重构流,得到所述目标安全协议重构流。
10.根据权利要求9所述的装置,其特征在于,所述选取子单元,具体用于对所述原始执行流程中的任一处理环节:确定所述预设重构元库中与该处理环节对应的第一重构元集合,所述第一重构元集合包括与该处理环节对应的各个目标原子功能的重构元;
根据选择函数:
从所确定的第一重构元集合中得到使选择函数的取值最小的重构元子集ei,和为得到重构元子集ei所需的资源代价和时间代价,和分别为所述资源代价和时间代价的权值,为所述重构元子集ei中包含的目标原子功能的重构元的个数;
从第一重构元集合中删除将使选择函数的取值最小的重构元子集ei中的各重构元,并对删除重构元后的第一重构元集合根据选择函数再次选取重构元子集ei直至删除重构元后的第一重构元集合为空集;
将每次根据选择函数选取出的各重构元子集ei组成第二重构元集合,将所述第二重构元集合中的各重构元确定为与该处理环节对应的各重构元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534640.5A CN109361710B (zh) | 2018-12-14 | 2018-12-14 | 一种安全协议重构方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534640.5A CN109361710B (zh) | 2018-12-14 | 2018-12-14 | 一种安全协议重构方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109361710A true CN109361710A (zh) | 2019-02-19 |
CN109361710B CN109361710B (zh) | 2021-03-09 |
Family
ID=65328871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811534640.5A Active CN109361710B (zh) | 2018-12-14 | 2018-12-14 | 一种安全协议重构方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109361710B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866244A (zh) * | 2022-03-14 | 2022-08-05 | 杭州云象网络技术有限公司 | 基于密文分组链接加密的可控匿名认证方法、系统及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719921A (zh) * | 2009-12-10 | 2010-06-02 | 清华大学 | 可重构路由器软件开发中的路由协议构件的生成方法 |
CN102163247A (zh) * | 2011-04-02 | 2011-08-24 | 北京大学深圳研究生院 | 一种可重构算子的阵列结构 |
CN102625403A (zh) * | 2012-05-04 | 2012-08-01 | 北京邮电大学 | 移动自组网中虚拟骨干网的生成和维护方法 |
CN103870571A (zh) * | 2014-03-14 | 2014-06-18 | 华为技术有限公司 | 多维联机分析处理系统中的立方体重构方法和装置 |
WO2018071067A2 (en) * | 2016-06-22 | 2018-04-19 | The Johns Hopkins University | Network-attack-resilient intrusion-tolerant scada architecture |
CN108259493A (zh) * | 2018-01-16 | 2018-07-06 | 中南民族大学 | 一种安全协议消息构造方法 |
-
2018
- 2018-12-14 CN CN201811534640.5A patent/CN109361710B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719921A (zh) * | 2009-12-10 | 2010-06-02 | 清华大学 | 可重构路由器软件开发中的路由协议构件的生成方法 |
CN102163247A (zh) * | 2011-04-02 | 2011-08-24 | 北京大学深圳研究生院 | 一种可重构算子的阵列结构 |
CN102625403A (zh) * | 2012-05-04 | 2012-08-01 | 北京邮电大学 | 移动自组网中虚拟骨干网的生成和维护方法 |
CN103870571A (zh) * | 2014-03-14 | 2014-06-18 | 华为技术有限公司 | 多维联机分析处理系统中的立方体重构方法和装置 |
WO2018071067A2 (en) * | 2016-06-22 | 2018-04-19 | The Johns Hopkins University | Network-attack-resilient intrusion-tolerant scada architecture |
CN108259493A (zh) * | 2018-01-16 | 2018-07-06 | 中南民族大学 | 一种安全协议消息构造方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866244A (zh) * | 2022-03-14 | 2022-08-05 | 杭州云象网络技术有限公司 | 基于密文分组链接加密的可控匿名认证方法、系统及装置 |
CN114866244B (zh) * | 2022-03-14 | 2024-02-23 | 杭州云象网络技术有限公司 | 基于密文分组链接加密的可控匿名认证方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109361710B (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gai et al. | Blockchain meets cloud computing: A survey | |
Miller et al. | The honey badger of BFT protocols | |
US20230186293A1 (en) | System and method for fast, post-quantum blockchain concensus generation and smart contracts execution | |
EP3652661B1 (en) | Methods and apparatus for efficiently implementing a distributed database within a network | |
Malavolta et al. | Concurrency and privacy with payment-channel networks | |
CN108683747A (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
Kosba et al. | C $\emptyset $ C $\emptyset $: A Framework for Building Composable Zero-Knowledge Proofs | |
CN116957790A (zh) | 一种实现区块链上交换的通证化方法及系统 | |
CN112183765B (zh) | 一种用于共享学习的多源多模态数据预处理方法及系统 | |
CN112866380B (zh) | 一种基于区块链的链网架构 | |
CN109547218B (zh) | 一种改进bip协议的联盟链节点秘钥分配及备份系统 | |
Asfia et al. | Energy trading of electric vehicles using blockchain and smart contracts | |
CN115208665B (zh) | 一种基于区块链的种质资源数据安全共享方法及系统 | |
CN110505067A (zh) | 区块链的处理方法、装置、设备及可读存储介质 | |
Al-Azzoni et al. | Modeling and verification of cryptographic protocols using coloured petri nets and design/CPN | |
CN115001715B (zh) | 基于区块链的加密智能合约检测方法及终端 | |
CN108304733A (zh) | 加密数据搜索方法及可加密搜索的数据存储系统 | |
Xu et al. | Towards efficient cryptographic data validation service in edge computing | |
CN107659400A (zh) | 一种基于标识识别的量子保密通信方法及装置 | |
Dolev et al. | SodsBC: a post-quantum by design asynchronous blockchain framework | |
KR20200139012A (ko) | 블록체인 네트워크 기반의 스마트 계약의 수행 방법 및 이에 적합한 스마트 계약 수행 시스템 | |
Cai et al. | Vizard: A metadata-hiding data analytic system with end-to-end policy controls | |
CN109361710A (zh) | 一种安全协议重构方法及装置 | |
CN113836573B (zh) | 基于分布式存储的用户信息处理方法及装置 | |
Marchesini et al. | Virtual hierarchies-an architecture for building and maintaining efficient and resilient trust chains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |