基于安全芯片硬件算法模块的可信网络通信方法及装置与流程

文档序号:15625001发布日期:2018-10-09 22:45阅读:190来源:国知局

本发明涉及数字信息传输术领域,尤其涉及到一种基于安全芯片硬件算法模块的可信网络通信方法及装置。



背景技术:

可信计算是指计算机运算的同时进行安全防护,使操作和过程行为在任意条件下的结果总是与预期一样,计算全程可测可控,不被干扰,是一种运算和防护并存,自我免疫的新计算模式。当前,解决网络通信可信性问题的技术,国内外较为通用的为可信计算组织(trustedcomputinggroup,tcg)提出的可信计算机制与网络接入控制技术相结合可信网络连接(trustednetworkconnection,tnc),该技术由2004年5月tcg组织成立的可信网络连接分组(tncsubgroup,tncsg)提出,旨在将终端的可信状态延续到网络中,使信任链从终端扩展到网络,在传统的基于身份认证网络接入控制技术基础上,增加基于平台硬件模块的平台身份认证与完整性验证,有独创性的优势,符合解决通信可信性的需求。但其面向主机提供通用平台环境下三元对等的鉴别、针对终端进行单向可信认证等机制导致其面向工业控制等特定行业、产业环境的应用有一定的局限性。

现有技术中,公开号为cn104573516b的中国专利文献公开了一种基于安全芯片的工控系统可信环境管控方法,由工控终端和管理服务器实现,工控终端采用度量技术对在终端待运行的程序进行度量标识,管理方在管理服务器对度量信息进行审核并制定白名单,终端依据白名单进行管控,为工控终端提供唯一身份标识,提高工业控制系统的安全防御能力。但是,上述专利文献中的技术方案,仅对在终端待运行的程序进行了度量标识,没有对终端系统和主站系统在通信过程中进行安全防护,因而,该工控系统中传输的数据仍存在被窃取的风险,可信性和安全性较低。



技术实现要素:

因此,本发明要解决的技术问题在于解决现有技术中的的网络通信方法仅在终端有待运行的程序时对待运行进程进行管控,可信性和安全性较低的问题。

为此,根据第一方面,本发明提供了一种基于安全芯片硬件算法模块的可信网络通信方法,包括如下步骤:当前系统启动时,构建当前系统自上电开始的信任链;当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接;在业务连接保持过程中,根据预定指令的触发对应用程序进行第二完整性度量,并根据第二完整性度量结果判断业务连接是否继续保持。

可选地,当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接,包括如下步骤:控制应用程序向对端系统发起业务连接请求;控制安全芯片硬件算法模块计算当前系统的计算环境以及应用程序的第一度量值;将第一度量值与度量基准库中的第一预期度量值进行比较;当第一度量值不等于第一预期度量值时,拒绝业务连接请求;当第一度量值等于第一预期度量值时,向对端系统发送状态可信信息;控制对端系统对状态可信信息进行校验,当校验通过时,允许建立业务连接。

可选地,当当前系统为终端系统时,对端系统为主站系统;当当前系统为主站系统时,对端系统为终端系统。

可选地,在业务连接保持过程中,根据预定指令的触发对应用程序进行第二完整性度量,并根据第二完整性度量结果判断业务连接是否继续保持,包括如下步骤:当当前系统接收到预定指令时,控制安全芯片硬件算法模块计算应用程序的第二度量值;将第二度量值与度量基准库中的第二预期度量值进行比较;当第二度量值不等于第二预期度量值时,终止业务连接;当第二度量值等于第二预期度量值时,继续保持业务连接。

可选地,第二度量值的度量对象包括:应用程序的内核代码段、制度数据段和关键跳转表。

可选地,当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接之前,还包括:当前系统的应用程序向对端系统发起业务连接时,通过数字证书对当前系统和对端系统进行第一身份认证。

可选地,当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接之后,还包括:基于安全芯片硬件算法模块协商用于保护当前系统和对端系统之间的通信数据的工作密钥,并进行数据传输。

可选地,在业务连接保持过程中,根据预定指令的触发对应用程序进行第二完整性度量,并根据第二完整性度量结果判断业务连接是否继续保持之前,还包括:在业务连接保持过程中,根据预定指令的触发对当前系统和对端系统进行第二身份认证;其中,第二身份认证通过协商工作密钥进行。

可选地,该基于安全芯片硬件算法模块的可信网络通信方法还包括:当工作密钥的使用周期达到工作密钥的生命周期时,重复执行当前系统的应用程序向对端系统发起业务连接时,通过数字证书对当前系统和对端系统进行第一身份认证。

根据第二方便,本发明还提供了一种基于安全芯片硬件算法模块的可信网络通信方法装置,包括:信任链构建模块,用于当前系统启动时,构建当前系统自上电开始的信任链;静态度量模块,用于当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接;动态度量模块,用于在业务连接保持过程中,根据预定指令的触发对应用程序进行第二完整性度量,并根据第二完整性度量结果判断业务连接是否继续保持。

可选地,静态度量模块包括:请求发起单元,用于控制应用程序向对端系统发起业务连接请求;静态度量单元,用于控制安全芯片硬件算法模块计算当前系统的计算环境以及应用程序的第一度量值;第一判断单元,用于将第一度量值与度量基准库中的第一预期度量值进行比较;第一执行单元,用于拒绝业务连接请求;第二执行单元,用于向对端系统发送状态可信信息;第二判断单元,用于控制对端系统对状态可信信息进行校验;第三执行单元,用于允许建立业务连接。

可选地,动态度量模块包括:动态度量单元,用于当当前系统接收到预定指令时,控制安全芯片硬件算法模块计算应用程序的第二度量值;第三判断单元,用于将第二度量值与度量基准库中的第二预期度量值进行比较;第四执行单元,用于终止业务连接;第五执行单元,用于继续保持业务连接。

可选地,该基于安全芯片硬件算法模块的可信网络通信方法装置还包括:第一身份认证模块,用于当前系统的应用程序向对端系统发起业务连接时,通过数字证书对当前系统和对端系统进行第一身份认证;第二身份认证模块,用于在业务连接保持过程中,根据预定指令的触发对当前系统和对端系统进行第二身份认证;其中,第二身份认证通过协商工作密钥进行。

本发明提供的技术方案,具有如下优点:

1、本发明提供的基于安全芯片硬件算法模块的可信网络通信方法,包括如下步骤:当前系统启动时,构建当前系统自上电开始的信任链;当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接;在业务连接保持过程中,根据预定指令的触发对应用程序进行第二完整性度量,并根据第二完整性度量结果判断业务连接是否继续保持,通过在应用程序向当前系统的对端系统发起业务连接时对其进行第一完整性度量,在业务连接保持过程中对应用程序进行第二完整性度量,能够防止在应用程序的业务连接建立前和业务连接保持过程中,不可信、不可控的恶意代码对终端系统和主站系统造成破坏,减小终端系统和主站系统建立业务连接传输数据时身份和状态被篡改、仿冒的可能性,提高了该可信网络通信方法的安全性和可信性。

2、本发明提供的基于安全芯片硬件算法模块的可信网络通信方法,还包括:当工作密钥的使用周期达到工作密钥的生命周期时,重复执行当当前系统的应用程序向对端系统发起业务连接时,通过数字证书对当前系统和对端系统进行第一身份认证,通过在工作密钥的生命周期结束时,重新进行第一身份认证,并继续执行后续步骤,能够减小由于工作密钥过期导致的传输过程中的数据被窃取的可能性,进一步提高了该可信网络通信方法的安全性和可信性。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于安全芯片硬件算法模块的可信网络通信方法的流程图;

图2为本发明实施例提供的一种基于安全芯片硬件算法模块的可信网络通信方法进行第一状态认证的流程图;

图3为本发明实施例提供的一种基于安全芯片硬件算法模块的可信网络通信方法进行第二状态认证的流程图;

图4为本发明实施例提供的基于一种可信通信协议的握手交互流程图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

实施例1

本实施例提供了一种基于安全芯片硬件算法模块的可信网络通信方法,如图1所述,包括如下步骤:

步骤s100,当前系统启动时,构建当前系统自上电开始的信任链。在本实施例中,当前系统可以为终端系统,也可以为主站系统,在具体实施例中,终端系统为嵌入式终端系统,主站系统为电力主站系统。

步骤s200,当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接。在本实施例中,步骤s200用于在嵌入式终端系统上电后与主站系统建立业务连接时进行第一状态认证。

在具体实施例中,如图2所示,步骤s200包括如下步骤:

步骤s210,控制应用程序向当前系统的对端系统发起业务连接请求。在本实施例中,当当前系统为终端系统时,对端系统为主站系统;当当前系统为主站系统时,对端系统为终端系统。

步骤s220,控制安全芯片硬件算法模块计算当前系统的计算环境以及应用程序的第一度量值。在本实施例中,安全芯片硬件算法模块中设有度量策略库,用于度量当前系统的计算环境以及应用程序的第一度量值。

步骤s230,将第一度量值与度量基准库中的第一预期度量值进行比较,并判断第一度量值是否等于第一预期度量值。当第一度量值不等于第一预期度量值时,执行步骤s240;当第一度量值等于第一预期度量值时,执行步骤s250。在本实施例中,度量基准库设置于安全芯片硬件算法模块内部,第一预设度量值可以预先设置,同时,还可以在每次度量后,收集第一度量值形成新的第一预期度量值。

步骤s240,拒绝业务连接请求。在本实施例中,业务连接请求被拒绝后,当前系统输出度量日志,方便管理人员通过日志内容验证度量日志中各进程的合法性。同时,当前系统将审计信息上传至主站系统的后台。

步骤s250,向对端系统发送状态可信信息。

步骤s260,控制对端系统对状态可信信息进行校验,当校验通过时,允许建立业务连接。

步骤s300,在业务连接保持过程中,根据预定指令的触发对应用程序进行第二完整性度量,并根据第二完整性度量结果判断业务连接是否继续保持。在本实施例中,预定指令可以为特定业务连接指令,也可以为预先设置的定时触发指令,具体地,定时触发周期可以为1min或者30s等,管理人员可以根据具体应用场景的需要灵活设置。在本实施例中,步骤s300用于在嵌入式终端系统与主站系统在正常通信流程中终端与主站系统保持业务连接时,进行第二状态认证。

在具体实施例中,如图3所示,步骤s300包括如下步骤:

步骤s310,当当前系统接收到预定指令时,控制安全芯片硬件算法模块计算应用程序的第二度量值。在本实施例中,第二度量值的度量对象包括:应用程序的内核代码段、制度数据段和关键跳转表。

步骤s320,将第二度量值与度量基准库中的第二预期度量值进行比较,并判断第二度量值是否等于第二预期度量值。当第二度量值不等于第二预期度量值时,执行步骤s330;当第二度量值等于第二预期度量值时,执行步骤s340。在本实施例中,度量基准库设置于安全芯片硬件算法模块内部,第二预设度量值可以预先设置,同时,还可以在每次度量后,收集第二度量值形成新的第二预期度量值。

步骤s330,终止业务连接。

步骤s340,继续保持业务连接。在本实施例中,当业务连接继续保持时,当前系统调用安全芯片硬件算法模块的验证接口,用于进行下一次第二完整性度量的结果验证。

本发明实施例提供的基于安全芯片硬件算法模块的可信网络通信方法,通过在应用程序向当前系统的对端系统发起业务连接时对其进行第一完整性度量,在业务连接保持过程中对应用程序进行第二完整性度量,能够防止在应用程序的业务连接建立前和业务连接保持过程中,不可信、不可控的恶意代码对终端系统和主站系统造成破坏,减小终端系统和主站系统建立业务连接传输数据时身份和状态被篡改、仿冒的可能性,提高了该可信网络通信方法的安全性和可信性。

在可选的实施例中,如图1所示,在步骤s200之前还包括:

步骤s400,当前系统的应用程序向对端系统发起业务连接时,通过数字证书对当前系统和对端系统进行第一身份认证。

在本实施例中,如图1所示,在步骤s200之后还包括:

步骤s500,基于安全芯片硬件算法模块协商用于保护当前系统和对端系统之间的通信数据的工作密钥,并进行数据传输。

在本实施例中,如图1所示,在步骤s300之后还包括:

步骤s600,在业务连接保持过程中,根据预定指令的触发对当前系统和对端系统进行第二身份认证。在本实施例中,第二身份认证通过协商工作密钥进行。

在本实施例中,基于上述基于安全芯片硬件算法模块的可信网络通信方法,可形成一种可信通信协议,如图4所示,该可信通信协议包括:记录协议和握手协议两层;握手协议用于使通信双方,即嵌入式终端系统和主站系统之间相互进行认证,并协商加密算法和密钥;记录协议建立在其他可靠的传输协议,如tcp/ip等之上,用于封装握手协议。在本实施例中,握手协议包括非对称认证阶段、正常通信阶段和对称认证阶段。非对称阶段包括:认证探测、第一身份认证、第一状态认证、协商密钥和握手完成阶段;在嵌入式终端系统重新加电与主站系统建立连接时,认证探测完成后,通过步骤s400所述的方法进行第一身份认证,通过步骤s200所述的方法进行第一状态认证,认证完成后协商用于保护数据通信的工作密钥,握手完成;握手完成后,该握手协议进入正常通信阶段。正常通信阶段包括心跳检测和数据传输阶段;在数据传输结束后,嵌入式终端系统与主站系统在正常通信流程中终端系统接收到预定指令时,该握手协议进入对称认证阶段。对称认证阶段包括第二身份认证和第二状态认证阶段;在本实施例中,通过步骤s600所述的方法进行第二身份认证,通过步骤s300所述的方法进行第二状态认证。

本实施中提供的可信通信协议,是一种支撑终端身份认证、可信状态认证、机密性保护和完整性保护的轻量级通信协议,能够实现主站系统前置服务器和嵌入式终端系统间端到端的安全通信,并且能够在不改变系统网络架构并极少改变系统设置的情况下实现智能终端设备的安全接入。

在可选的实施例中,该基于安全芯片硬件算法模块的可信网络通信方法还包括:当工作密钥的使用周期达到工作密钥的生命周期时,重复执行当前系统的应用程序向对端系统发起业务连接时,通过数字证书对当前系统和对端系统进行第一身份认证,即重新执行步骤s200~步骤s600。本实施例提供的基于安全芯片硬件算法模块的可信网络通信方法,通过在工作密钥的生命周期结束时,重新进行第一身份认证,并继续执行后续步骤,能够减小由于工作密钥过期导致的传输过程中的数据被窃取的可能性,进一步提高了该可信网络通信方法的安全性和可信性。

实施例2

本实施例提供了一种基于安全芯片硬件算法模块的可信网络通信装置,包括:信任链构建模块,静态度量模块和动态度量模块。

信任链构建模块用于当前系统启动时,构建当前系统自上电开始的信任链。在本实施例中,当前系统可以为终端系统,也可以为主站系统,在具体实施例中,终端系统为嵌入式终端系统,主站系统为电力主站系统。

静态度量模块用于当当前系统的应用程序向当前系统的对端系统发起业务连接时,基于白名单机制对应用程序进行第一完整性度量,并根据第一完整性度量结果判断是否允许建立业务连接。在本实施例中,静态度量模块用于在嵌入式终端系统上电后与主站系统建立业务连接时进行第一状态认证。

在具体实施例中,静态度量模块包括:请求发起单元,静态度量单元,第一判断单元,第一执行单元,第二执行单元,第二判断单元和第三执行单元。

请求发起单元用于控制应用程序向当前系统的对端系统发起业务连接请求。静态度量单元用于控制安全芯片硬件算法模块计算当前系统的计算环境以及应用程序的第一度量值。在本实施例中,当当前系统为终端系统时,对端系统为主站系统;当当前系统为主站系统时,对端系统为终端系统。在本实施例中,安全芯片硬件算法模块中设有度量策略库,用于度量当前系统的计算环境以及应用程序的第一度量值。

第一判断单元用于将第一度量值与度量基准库中的第一预期度量值进行比较,并判断第一度量值是否等于第一预期度量值。在本实施例中,度量基准库设置于安全芯片硬件算法模块内部,第一预设度量值可以预先设置,同时,还可以在每次度量后,收集第一度量值形成新的第一预期度量值。

第一执行单元用于拒绝业务连接请求。在具体实施例中,当第一度量值不等于第一预期度量值时,第一执行单元运行。在本实施例中,当第一执行单元拒绝业务连接请求后,当前系统输出度量日志,方便管理人员通过日志内容验证度量日志中各进程的合法性。同时,当前系统将审计信息上传至主站系统的后台。

第二执行单元用于向对端系统发送状态可信信息。在具体实施例中,当一度量值等于第一预期度量值时,第二执行单元运行。

第二判断单元用于控制对端系统对状态可信信息进行校验。第三执行单元用于当校验通过时,允许建立业务连接。

动态度量模块用于在业务连接保持过程中,根据预定指令的触发对应用程序进行第二完整性度量,并根据第二完整性度量结果判断业务连接是否继续保持。在本实施例中,预定指令可以为特定业务连接指令,也可以为预先设置的定时触发指令,具体地,定时触发周期可以为1min或者30s等,管理人员可以根据具体应用场景的需要灵活设置。在本实施例中,动态度量模块用于在嵌入式终端系统与主站系统在正常通信流程中终端与主站系统保持业务连接时,进行第二状态认证。

在具体实施例中,动态度量模块包括:动态度量单元,第三判断单元,第四执行单元和第五执行单元。

动态度量单元用于当当前系统接收到预定指令时,控制安全芯片硬件算法模块计算应用程序的第二度量值。在本实施例中,第二度量值的度量对象包括:应用程序的内核代码段、制度数据段和关键跳转表。

第三判断单元用于将第二度量值与度量基准库中的第二预期度量值进行比较,并判断第二度量值是否等于第二预期度量值。在本实施例中,度量基准库设置于安全芯片硬件算法模块内部,第二预设度量值可以预先设置,同时,还可以在每次度量后,收集第二度量值形成新的第二预期度量值。第四执行单元用于终止业务连接,在具体实施例中,当第二度量值不等于第二预期度量值时,第四执行单元运行。第五执行单元用于继续保持业务连接,在具体实施例中,当第二度量值等于第二预期度量值时,第五执行单元运行。在本实施例中,当业务连接继续保持时,当前系统调用安全芯片硬件算法模块的验证接口,用于进行下一次第二完整性度量的结果验证。

在可选的实施例中,该基于安全芯片硬件算法模块的可信网络通信方法装置还包括:第一身份认证模块,用于当前系统的应用程序向对端系统发起业务连接时,通过数字证书对当前系统和对端系统进行第一身份认证;第二身份认证模块,用于在业务连接保持过程中,根据预定指令的触发对当前系统和对端系统进行第二身份认证;其中,第二身份认证通过协商工作密钥进行。

在本实施例中,基于上述基于安全芯片硬件算法模块的可信网络通信方法,可形成一种可信通信协议,如图4所示,该可信通信协议包括:记录协议和握手协议两层;握手协议用于使通信双方,即嵌入式终端系统和主站系统之间相互进行认证,并协商加密算法和密钥;记录协议建立在其他可靠的传输协议,如tcp/ip等之上,用于封装握手协议。在本实施例中,握手协议包括非对称认证阶段、正常通信阶段和对称认证阶段。非对称阶段包括:认证探测、第一身份认证、第一状态认证、协商密钥和握手完成阶段;在嵌入式终端系统重新加电与主站系统建立连接时,认证探测完成后,通过第一身份认证模块进行第一身份认证,通过静态度量模块进行第一状态认证,认证完成后协商用于保护数据通信的工作密钥,握手完成;握手完成后,该握手协议进入正常通信阶段。正常通信阶段包括心跳检测和数据传输阶段;在数据传输结束后,嵌入式终端系统与主站系统在正常通信流程中终端系统接收到预定指令时,该握手协议进入对称认证阶段。对称认证阶段包括第二身份认证和第二状态认证阶段;在本实施例中,通过第二身份认证模块进行第二身份认证,通过动态度量模块进行第二状态认证。

本实施中提供的可信通信协议,是一种支撑终端身份认证、可信状态认证、机密性保护和完整性保护的轻量级通信协议,能够实现主站系统前置服务器和嵌入式终端系统间端到端的安全通信,并且能够在不改变系统网络架构并极少改变系统设置的情况下实现智能终端设备的安全接入。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

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