通信协议可信性验证方法与流程

文档序号:20947005发布日期:2020-06-02 19:55阅读:545来源:国知局
通信协议可信性验证方法与流程

本发明涉及通信技术领域,特别涉及一种通信协议可信性验证方法。



背景技术:

计算平台系统在如今的工业和生活等多个领域发挥着重要的作用,除了传统的个人计算机领域,在如今的智能工厂、智能驾驶等新兴技术领域也占据着十分重要的地位。值得注意的是,如今的计算平台不再是简单的单个节点的运行,如今的计算节点是网络化系统化的,计算平台系统间通过数据通信组成一个功能强大的平台系统,计算平台系统间可靠的数据通信是保证整个软件安全运行的基础,计算平台系统间的通信是通过平台的通信协议来进行约束的。

在传统计算平台系统的通信协议中人们普遍通过使用自然语言对其进行描述,自然语言虽然具备容易理解,方便等优点,但是也具有较多的致命缺点,例如,自然语言精确性不高,不够严格以及多义性等,这样会造成不同人对协议描述存在完全不同的理解,从而出现错误通信协议。为了达到数据传输安全可靠的目的,采取对通信协议进行验证的方式,可以极大限度地检测错误和缺陷,通信协议验证包括非形式化验证和形式化验证,非形式化验证往往缺乏数学的严密性和科学性,很难保证验证结果的质量。



技术实现要素:

本公开实施例提供了一种通信协议可信性验证方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

第一方面,本公开实施例提供了一种通信协议可信性验证方法,包括:

通过形式化语言描述满足安全传输指标的需求规范,得到形式化语言描述的需求规范;

通过形式化验证工具对形式化语言描述的需求规范进行验证,得到验证数据集;

根据验证数据集,进行规范检测。

进一步地,安全传输指标的需求包括:

系统接口需求、用户界面需求、硬件接口需求、软件接口需求、通信接口需求。

进一步地,通过形式化语言描述满足安全传输指标的需求规范,得到形式化语言描述的需求规范,包括:

对满足安全传输指标的需求规范进行词法分析、语法分析、语义分析,得到分析结果;

通过形式化语言描述分析结果,得到形式化语言描述的需求规范。

进一步地,形式化验证工具,包括:

过程分析工具包(pat)。

进一步地,验证数据集,包括:

正确性验证数据集、完备性验证数据集、一致性验证数据集和无歧义性验证数据集。

进一步地,根据验证数据集,进行规范检测,包括:

根据正确性验证数据集,检测规范是否正确;

根据完备性验证数据集,检测规范是否完备;

根据一致性验证数据集,检测规范是否一致;

根据无歧义性验证数据集,检测规范是否无歧义。

第二方面,本公开实施例提供了一种通信协议可信性验证装置,包括:

形式化语言描述模块,用于通过形式化语言描述满足安全传输指标的需求规范,得到形式化语言描述的需求规范;

形式化验证模块,用于通过形式化验证工具对形式化语言描述的需求规范进行验证,得到验证数据集;

检测模块,用于根据验证数据集,进行规范检测。

进一步地,安全传输指标的需求包括:

系统接口需求、用户界面需求、硬件接口需求、软件接口需求、通信接口需求。

进一步地,形式化语言描述模块,包括:

分析单元,用于对满足安全传输指标的需求规范进行词法分析、语法分析、语义分析,得到分析结果;

形式化语言描述单元,用于通过形式化语言描述分析结果,得到形式化语言描述的需求规范。

进一步地,形式化验证工具,包括:

过程分析工具包(pat)。

进一步地,验证数据集,包括:

正确性验证数据集、完备性验证数据集、一致性验证数据集和无歧义性验证数据集。

进一步地,检测模块,包括:

正确性检测单元,用于根据正确性验证数据集,检测规范是否正确;

完备性检测单元,用于根据完备性验证数据集,检测规范是否完备;

一致性检测单元,用于根据一致性验证数据集,检测规范是否一致;

无歧义性检测单元,用于根据无歧义性验证数据集,检测规范是否无歧义。

本公开实施例提供的技术方案可以包括以下有益效果:

本发明提供了一种通信协议可信性验证方法,通过形式化语言描述满足安全传输指标的需求规范,得到形式化语言描述的需求规范,通过形式化验证工具对形式化语言描述的需求规范进行验证,得到验证数据集,根据验证数据集,进行规范检测。通过上述方法,可以利用形式化验证工具对需求规范进行验证,为测试人员快速提供有效地验证计算平台系统的通信协议的方法,在功能复杂、要求严格的计算平台系统上,能够发挥积极的作用,以保证计算平台系统数据通信的安全性和可靠性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种通信协议可信性验证方法的流程示意图;

图2是根据一示例性实施例示出的一种通过形式化验证工具对需求规范进行验证的方法流程示意图;

图3是根据一示例性实施例示出的一种通过模型检查技术对模型的性质进行自动验证的方法流程示意图;

图4是根据一示例性实施例示出的一种通信协议可信性验证装置的结构示意图;

图5是根据一示例性实施例示出的一种检测模块的结构示意图。

具体实施方式

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。

实施例一:

图1是根据一示例性实施例示出的一种通信协议可信性验证方法的流程示意图;

在一些实施例中,一种通信协议可信性验证方法,包括:

步骤s101、通过形式化语言描述满足安全传输指标的需求规范,得到形式化语言描述的需求规范;

在一些可选地实施例中,计算平台不再是简单的单个节点的运行,如今的计算节点是网络化系统化的,计算平台系统间通过数据通信组成一个功能强大的平台系统,计算平台系统间可靠的数据通信是保证整个软件安全运行的基础,计算平台系统间的通信是通过平台的通信协议来进行约束的。通信协议是指双方实体完成通信或服务所必须遵守的规则和约定,协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。在计算机通信中,通信协议用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑之间的信息传递就无法识别,通信协议是指通信各方事前约定的通信规则,可以简单地理解为各计算机之间进行相互会话所使用的共同语言,两台计算机在进行通信时,必须使用的通信协议。

对于复杂的计算平台系统,系统之间的安全可靠的传输是必须的。一个完整的协议规范应该明确包含五个部分:服务,协议所能提供的服务;设定,对协议执行环境的设定;词汇,现实协议所需的数据包的集合;编码,词汇中的每个数据包的编码格式;程序规则,保证数据报一致性交换的规则。

具体地,根据数据安全传输的需求,制定满足安全传输指标的需求规范,其中,需求来源于计算平台系统间的通信协议规范,需求为功能性需求,包括系统接口需求、用户界面需求、硬件接口需求、软件接口需求、通信接口需求、内存需求和运行需求。

通过形式化语言描述满足安全传输指标的需求规范。非形式化描述指的是使用自然语言对我们的数据安全传输需求规范进行描述,在传统计算平台系统的通信协议中人们普遍通过使用自然语言对其进行描述,自然语言虽然具备容易理解,方便等优点,但是也具有较多的致命缺点,例如,自然语言精确性不高,不够严格以及多义性等,这样会造成不同人对协议描述存在完全不同的理解,从而出现错误通信协议。形式化描述相比于非形式化描述具有更加精确,更加严格的特点。

具体地,在利用形式化语言对需求规范进行描述时,首先对满足安全传输指标的需求规范进行词法分析、语法分析、语义分析,得到分析结果,通过形式化语言描述分析结果,对于一个给定的形式化描述语言,我们选择适当的语义抽象函数,建立形式化描述和等价类中的被描述对象的关系,这个关系定义描述对象的一个方面,在实际的应用中,通过使用不同的语义抽象函数,我们可以将被描述对象划分成多个等价类,使每个等价类分别与不同形式化描述语言建立抽象关系,把多个形式化描述语言集成于同一个语义域,这样我们就可以较全面地描述和分析系统地多个不同地方面,得到形式化语言描述的需求规范。

在形式化描述步骤中使用形式化的语言对需求进行形式化建模描述。对协议进行建模时,我们可以为每一类节点赋予一个模型,并用进程代数描述语言对这些进程模型之间的通信进行描述。通过初始化异步帧消息的调度请求,以及对协议中的调度算法的建模,完成协议周期中,调度帧信息的模拟,整个协议模型由这些不同类型节点的进程的并发组成。

通过上述方法,得到用形式化语言描述的需求规范,可以更加精确具体的描述数据通信协议之间的需求规范。

步骤s102、通过形式化验证工具对形式化语言描述的需求规范进行验证,得到验证数据集;

通常,通信协议验证包括非形式化验证和形式化验证,非形式化验证往往缺乏数学的严密性和科学性,很难保证验证结果的质量,形式化验证则可以通过数学分析的方法来发现通信协议描述不一致、不明确或不完整之处。其中,形式化验证工具为pat(processanalysistoolkit,过程分析工具包)。

具体地,利用形式化建模语言对通信协议的基本要素、网络运行机制等进行形式化建模后,再利用一定的规则推理或者空间搜索对其进行严密而全面的分析。

图2是根据一示例性实施例示出的一种通过形式化验证工具对需求规范进行验证的方法流程示意图;

在本公开实施例中,具体的形式化验证步骤如图2所示,s201根据模型仿真器来对通信协议进行仿真,s202构建模型检查算法库,模型检查算法库包括对所有类型的协议模型的验证算法,例如对概率模型、时间模型等分别有不同的模型检查算法。s203通过模型检查技术对模型的性质进行自动验证。形式化验证步骤主要依赖的是模型检查技术。模型检查技术是针对并发系统的一种自动验证技术,系统用有限的状态结构表示,被验证的性质可以采用多种逻辑进行描述,例如时态逻辑,验证过程是对涉及的状态空间进行搜索的过程,该过程确定被验证的性质在状态空间中的可达性或不可达性。

图3是根据一示例性实施例示出的一种通过模型检查技术对模型的性质进行自动验证的方法流程示意图;

如图3所示,在利用模型检查技术对模型的性质进行验证时,包括对构建的通信协议模型进行静态分析、动态分析,动态分析又包括逻辑证明、可达性分析、模拟,其中,逻辑证明包括不变性证明和等价性证明,可达性分析包括全局验证和局部验证。

通过上述方法,可以得到验证数据集。

步骤s103、根据验证数据集,进行规范检测。

规范检测是在通信协议进行验证之后进行的,通过对计算平台系统的通信协议可信性进行验证之后,我们得到了通信协议的验证数据集,然后分别从协议的正确性、完备性、一致性和无歧义性四个方面对系统间的数据安全传输进行检测。

其中,根据正确性验证数据集,检测规范是否正确,主要检测正确性验证数据集中的每一项需求是否都是软件应该满足的需求,当每一项需求都是软件应该满足的需求,则该验证数据集具备正确性,否则,该验证数据集不具备正确性。

根据完备性验证数据集,检测规范是否完备,主要检测完备性验证数据集中的需求是否包含所有重要需求、软件响应的定义、所有图表的全面标记和索引,当包含所有上述需求、定义、标记和索引时,则该验证数据集具备完备性,否则,该验证数据集不具备完备性。

根据一致性验证数据集,检测规范是否一致,主要检测一致性验证数据集中的需求内部是否一致,当需求内部一致时,则该验证数据集具备一致性,否则,该验证数据集不具备一致性。

根据无歧义性验证数据集,检测规范是否无歧义,主要检测无歧义性验证数据集中的每一项需求是否都只有一种解释,当每一项需求都只有一种解释时,则该验证数据集具备无歧义性,否则,该验证数据集不具备无歧义性。

通过上述方法,可以对验证数据集进行规范检测。

进一步地,安全传输指标的需求包括:

系统接口需求、用户界面需求、硬件接口需求、软件接口需求、通信接口需求。

具体地,根据数据安全传输的需求,制定满足安全传输指标的需求规范,其中,需求来源于计算平台系统间的通信协议规范,需求为功能性需求,包括系统接口需求、用户界面需求、硬件接口需求、软件接口需求、通信接口需求、内存需求和运行需求。

进一步地,通过形式化语言描述满足安全传输指标的需求规范,得到形式化语言描述的需求规范,包括:

对满足安全传输指标的需求规范进行词法分析、语法分析、语义分析,得到分析结果;

通过形式化语言描述分析结果,得到形式化语言描述的需求规范。

具体地,在利用形式化语言对需求规范进行描述时,首先对满足安全传输指标的需求规范进行词法分析、语法分析、语义分析,得到分析结果,通过形式化语言描述分析结果,对于一个给定的形式化描述语言,我们选择适当的语义抽象函数,建立形式化描述和等价类中的被描述对象的关系,这个关系定义描述对象的一个方面,在实际的应用中,通过使用不同的语义抽象函数,我们可以将被描述对象划分成多个等价类,使每个等价类分别与不同形式化描述语言建立抽象关系,把多个形式化描述语言集成于同一个语义域,这样我们就可以较全面地描述和分析系统地多个不同地方面,得到形式化语言描述的需求规范。

在形式化描述步骤中使用形式化的语言对需求进行形式化建模描述。对协议进行建模时,我们可以为每一类节点赋予一个模型,并用进程代数描述语言对这些进程模型之间的通信进行描述。通过初始化异步帧消息的调度请求,以及对协议中的调度算法的建模,完成协议周期中,调度帧信息的模拟,整个协议模型由这些不同类型节点的进程的并发组成。

通过上述方法,得到用形式化语言描述的需求规范,可以更加精确具体的描述数据通信协议之间的需求规范。

进一步地,形式化验证工具,包括:

过程分析工具包(pat)。

进一步地,验证数据集,包括:

正确性验证数据集、完备性验证数据集、一致性验证数据集和无歧义性验证数据集。

进一步地,根据验证数据集,进行规范检测,包括:

根据正确性验证数据集,检测规范是否正确;

根据完备性验证数据集,检测规范是否完备;

根据一致性验证数据集,检测规范是否一致;

根据无歧义性验证数据集,检测规范是否无歧义。

规范检测是在通信协议进行验证之后进行的,通过对计算平台系统的通信协议可信性进行验证之后,我们得到了通信协议的验证数据集,然后分别从协议的正确性、完备性、一致性和无歧义性四个方面对系统间的数据安全传输进行检测。

其中,根据正确性验证数据集,检测规范是否正确,主要检测正确性验证数据集中的每一项需求是否都是软件应该满足的需求,当每一项需求都是软件应该满足的需求,则该验证数据集具备正确性,否则,该验证数据集不具备正确性。

根据完备性验证数据集,检测规范是否完备,主要检测完备性验证数据集中的需求是否包含所有重要需求、软件响应的定义、所有图表的全面标记和索引,当包含所有上述需求、定义、标记和索引时,则该验证数据集具备完备性,否则,该验证数据集不具备完备性。

根据一致性验证数据集,检测规范是否一致,主要检测一致性验证数据集中的需求内部是否一致,当需求内部一致时,则该验证数据集具备一致性,否则,该验证数据集不具备一致性。

根据无歧义性验证数据集,检测规范是否无歧义,主要检测无歧义性验证数据集中的每一项需求是否都只有一种解释,当每一项需求都只有一种解释时,则该验证数据集具备无歧义性,否则,该验证数据集不具备无歧义性。

通过上述方法,可以对验证数据集进行规范检测。

实施例二:

在优选实施例中,应用本发明基于计算平台系统的通信协议可信验证方法对计算平台间的powerlink协议进行可信验证。

开源实时通信技术powerlink是一项在标准以太网介质上,用于解决工业控制及数据采集领域数据传输实时性的实时以太网协议,该协议主要规定了数据链层上的通信,该协议支持周期通信和非周期通信,其中一个协议循环周期主要包括等时同步阶段和异步通信阶段,周期通信发生在等时同步阶段,而非周期通信发生在异步通信阶段,powerlink中包含两类通信节点,主站节点和从站节点,并且根据从站在等时同步阶段中与主站节点不同的通信机制,从站又划分为了三类节点,normal节点,prc节点及复用节点。此外,在该协议中存在五类帧信息,异步过程中存在对帧消息发送请求的调度。在应用本发明基于计算平台系统的通信协议可信验证方法对powerlink协议进行可信验证的过程中:

首先,需要获得协议执行的规范以及协议需要满足的数据传输的安全要求,便于之后对协议的建模。在powerlink协议中对所需要满足的性质包括无死锁性、无任务的“饥饿”等待、实时性等。

然后,在形式化描述步骤中使用形式化的语言对需求进行形式化建模描述。对协议进行建模时,我们可以为每一类节点赋予一个模型,并用进程代数描述语言对这些进程模型之间的通信进行描述。通过初始化异步帧消息的调度请求,以及对协议中的调度算法的建模,完成协议周期中,调度帧信息的模拟。整个协议模型由这些不同类型节点的进程的并发组成。对协议需求进行建模,通过时态逻辑、计算树逻辑等描述协议的无死锁性、无任务的“饥饿”等待、实时性等特征。

其次,开始对协议进行验证。形式化验证步骤中一个重要的功能是,根据协议模型和协议需求的形式化表示,对协议所满足的性质进行验证。仿真过程可以呈现所有模型可能执行的路径及状态空间。每个状态可以提供对该状态下所有变量的当前值的提示,状态之间的迁移提示用户协议运行过程中发生的动作。用户可以通过对不同进程的仿真进行建模代码的调试分析。如果发生死锁,在仿真结果中也能非常直观地观察到发生死锁的位置及发生死锁的原因。

最后,验证结果输出到需求规范评估步骤进行处理。针对powerlink协议,可以验证该协议中是否存在死锁,是否会有调度请求一直得不到调度,以及调度请求的顺序是否满足优先级设定等来评估需求规范的正确性、完备性、一致性和无歧义性。

实施例三:

本公开实施例提供了一种通信协议可信性验证装置,图4是根据一示例性实施例示出的一种通信协议可信性验证装置的结构示意图。

如图4所示,一种通信协议可信性验证装置,包括:

s401形式化语言描述模块,用于通过形式化语言描述满足安全传输指标的需求规范,得到形式化语言描述的需求规范;

s402形式化验证模块,用于通过形式化验证工具对所述形式化语言描述的需求规范进行验证,得到验证数据集;

s403检测模块,用于根据所述验证数据集,进行规范检测。

进一步地,安全传输指标的需求包括:

系统接口需求、用户界面需求、硬件接口需求、软件接口需求、通信接口需求。

进一步地,所述形式化语言描述模块,包括:

分析单元,用于对所述满足安全传输指标的需求规范进行词法分析、语法分析、语义分析,得到分析结果;

形式化语言描述单元,用于通过形式化语言描述所述分析结果,得到形式化语言描述的需求规范。

进一步地,所述形式化验证工具,包括:

过程分析工具包(pat)。

进一步地,所述验证数据集,包括:

正确性验证数据集、完备性验证数据集、一致性验证数据集和无歧义性验证数据集。

进一步地,所述检测模块,包括:

s403-1正确性检测单元,用于根据正确性验证数据集,检测规范是否正确;

s403-2完备性检测单元,用于根据完备性验证数据集,检测规范是否完备;

s403-3一致性检测单元,用于根据一致性验证数据集,检测规范是否一致;

s403-4无歧义性检测单元,用于根据无歧义性验证数据集,检测规范是否无歧义。

本公开实施例提供的一种通信协议可信性验证装置,执行上述实施例提供的一种通信协议可信性验证方法,在此不再详细阐述。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的步骤进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的步骤或步骤或组件组合成一个步骤或步骤或组件,以及此外可以把它们分成多个步骤或子步骤或子组件。除了这样的特征和/或过程或者步骤中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或步骤进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件步骤实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的步骤权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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

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