首页> 中国专利> 一种软件定义物联网节点远程证明方法及系统

一种软件定义物联网节点远程证明方法及系统

摘要

本发明公开了一种软件定义物联网节点远程证明方法及系统。方法包括:(1)软件定义物联网控制器生成随机数,加密发送给节点m;(2)节点m获取自身当前安装的软件包信息,与随机数以及共享主密钥加密作为证明信息;(3)控制器解析出节点m加入软件定义物联网时的软件包信息;(4)控制器将节点m加入软件定义物联网时的软件包信息,与随机数以及共享主密钥采用与步骤(2)节点m相同的方式组合并加密,获得标准信息;(5)将证明信息与标准信息相比较。系统包括密钥管理服务器、以及软件定义物联网控制器。本发明提供的软件定义物联网节点远程证明方法能有效验证软件定义物联网节点的完整性状态。

著录项

  • 公开/公告号CN110635904A

    专利类型发明专利

  • 公开/公告日2019-12-31

    原文格式PDF

  • 申请/专利权人 绍兴文理学院;

    申请/专利号CN201910868719.X

  • 申请日2019-09-16

  • 分类号

  • 代理机构武汉臻诚专利代理事务所(普通合伙);

  • 代理人胡星驰

  • 地址 312000 浙江省绍兴市越城区环城西路508号

  • 入库时间 2024-02-19 17:18:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-31

    授权

    授权

  • 2020-01-24

    实质审查的生效 IPC(主分类):H04L9/08 申请日:20190916

    实质审查的生效

  • 2019-12-31

    公开

    公开

说明书

技术领域

本发明属于物联网安全技术领域,更具体地,涉及一种软件定义物联网节点远程证明方法及系统。

背景技术

软件定义物联网建立在软件定义网络基础上,继承了集中控制以及转发与控制相分离的网络体系架构,能灵活地实现可编程的物联网管理模式。借鉴软件定义网络中的南向接口,软件定义物联网能方便地在不同物联网网络协议之间进行网络通信。通过软件定义物联网控制器,软件定义物联网能高效地管理各个软件定义物联网节点,从而降低整个物联网运维成本。因此,软件定义物联网已成为当前物联网部署的主要形式。

然而,在一个软件定义物联网中,通常包含大量计算能力、存储能力偏弱的节点,由于安全技术的安全保护性强弱一般跟计算量成正比,导致这些节点难以支撑安全保护性强的安全技术。另外,由于对大量节点进行系统升级和更新的任务艰巨,所以大部分软件定义物联网节点一旦部署完毕后极少更新,导致大部分软件定义物联网节点具有较多的安全漏洞但未能及时修复。

远程证明技术是一种验证设备软硬件完整性状态的有效机制,使用该技术可以让网络通信的一方检测到另一方设备软硬件的变化,这样就可以避免向不安全或安全受损的通信方发送私有信息或重要的命令。

目前,已有一些远程证明系统与方法。杜变霞等人发表的论文“面向物联网的高效集群证明机制”(计算机系统应用,2018,27(10):22–32)提出了一种基于物联网节点分组的集群证明方案,该方案主要应用于同构物联网节点,不适用于目前普遍采用异构架构的物联网。同时,未考虑软件定义物联网的网络拓扑结构。专利申请文件CN 104506532A公开了一种适用于紧急救援平台的远程证明方法,但不适用于软件定义物联网。专利申请文件CN103560887A公开了一种适用于智能终端的远程证明方法和系统,专利申请文件CN103220300A公开了一种支持动态远程证明的移动终端系统,专利申请文件CN 103179129A公开了一种基于云计算IaaS环境的远程证明方法,专利申请文件CN 101951388A公开了一种可信计算环境中的远程证明方法,但这些远程证明系统和方法应用的网络环境与软件定义物联网网络拓扑环境不同,都不能适用于软件定义物联网。

综上,现有的远程证明系统与方法未考虑软件定义物联网的网络拓扑结构,也未考虑新加入软件定义物联网节点或移动原有软件定义物联网节点时导致网络拓扑结构变化的情况,因此,不能直接应用于软件定义物联网。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供了一种软件定义物联网的证明方法及系统,其目的在于节点通过调用控制器的计算能力,向控制器提供节点自身的软件配置信息,以验证软件定义物联网的完整性状态,确保软件定义物联网节点身份的合法性及其所运行软件的正确性,从而使软件定义物联网节点提供可信数据,达到防止恶意程序注入而泄露重要数据的目的,由此解决大部分软件定义物联网节点计算能力偏弱难以支撑安全保护性强的安全技术、安全漏洞多但未能及时修复的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种软件定义物联网节点远程证明方法,其包括以下步骤:

(1)对于需要远程证明的软件定义物联网节点m,软件定义物联网控制器生成一个标识唯一的随机数,并基于所述软件定义物联网控制器和所述软件定义物联网节点m之间用于信息保密传输的共享主密钥加密发送给所述节点m;

(2)所述节点m通过软件定义物联网控制器获取自身当前安装的软件包信息Sof′m=GetSof(m),与所述随机数以及所述共享主密钥采用与所述控制器约定的方式组合并加密,作为证明信息发送给软件定义物联网控制器;

(3)所述控制器取出所述节点m加入所述软件定义物联网时的软件包信息证书Dig(Sofm),并解析出所述节点m加入所述软件定义物联网时的软件包信息Sofm

(4)所述控制器将节点m加入所述软件定义物联网时的软件包信息Sofm,与所述随机数以及所述共享主密钥采用与步骤(2)所述节点m相同的方式组合并加密,获得标准信息;

(5)将所述证明信息与标准信息相比较,若一致则,所述软件定义物联网节点m通过远程证明,要求其他软件定义物联网节点将所述软件定义物联网节点m加入到各自的邻居节点集合;否则所述软件定义物联网节点m未通过远程证明,软件定义物联网控制器向整个软件定义物联网广播“软件定义物联网节点m属于不可信节点”的消息,要求其他软件定义物联网节点从各自的邻居节点集合中删除所述软件定义物联网节点m,之后,结束对软件定义物联网节点m身份的远程证明。

优选地,所述软件定义物联网节点远程证明方法,其所述软件定义物联网节点m保存软件包信息证书Dig(Sofm),所述软件定义物联网控制器和所述软件定义物联网节点m之间由密钥管理服务器生成用于信息保密传输的共享主密钥

优选地,所述软件定义物联网节点远程证明方法,其所述软件包信息证书Dig(Sofm),由所述软件定义物联网的密钥管理服务器调用所述软件定义物联网控制器的安全中间件内的杂凑函数和数字签名函数将所述节点m中安装的软件包信息Sofm计算杂凑值并进行数字签名后获得,所述节点m中安装的软件包信息Sofm由所述软件定义物联网的密钥管理服务器调用软件定义物联网控制器的安全中间件内的软件包安装信息获取函数获取所述节点m中安装的软件包信息Sofm=GetSof(m)。

优选地,所述软件定义物联网节点远程证明方法,其所述软件定义物联网控制器和所述软件定义物联网节点m之间用于信息保密传输的共享主密钥由软件定义物联网的密钥管理服务器基于Diffie-Hellman密钥交换算法生成,再分别发送给所述软件定义物联网控制器和所述软件定义物联网节点m。

优选地,所述软件定义物联网节点远程证明方法,其所述软件定义物联网节点m保存数字签名对(Prim,Pubm)、数字身份证书Dig(Pubm)、软件定义物联网的密钥管理服务器的公钥PubKM、标识信息βm、以及其邻居节点集合Neim

优选地,所述软件定义物联网节点远程证明方法,其所述数字签名对(Prim,Pubm),由所述软件定义物联网的密钥管理服务器为所述节点分配,其中Prim表示所述软件定义物联网节点m的私钥,Pubm表示所述软件定义物联网节点m的公钥。

优选地,所述软件定义物联网节点远程证明方法,其所述数字身份证书Dig(Pubm),由所述软件定义物联网的密钥管理服务器基于所述节点m的公钥Pubm,调用所述软件定义物联网控制器的安全中间件内的杂凑函数和数字签名函数生成。

优选地,所述软件定义物联网节点远程证明方法,其所述标识信息βm,由所述软件定义物联网的密钥管理服务器组合所述软件定义物联网节点m的身份信息Idem和初始化时间Tim0得到αm=Idem||Tim0,再使用所述软件定义物联网的密钥管理服务器的私钥PriKM对αm进行数字签名获得。

优选地,所述软件定义物联网节点远程证明方法,其所述节点m的邻居节点集合Neim按照以下方法加入到所述软件定义物联网:

S1、将所述节点m存储的标识信息βm,调用所述软件定义物联网控制器的安全中间件内的加密算法基于其存储的共享主密钥加密,得到加密的标识信息γm,发送给所述软件定义物联网控制器;

S2、所述软件定义物联网控制器收到γm后,基于所述共享主密钥解密γm得到节点m的标识信息并使用软件定义物联网的密钥管理服务器的公钥PubKM校验βm,若校验通过,则由软件定义物联网的密钥管理服务器的公钥PubKM校验βm获得校验信息αm=SM2Ver(βm,PubKM),转到步骤S3;若校验不通过,软件定义物联网控制器向整个软件定义物联网广播,使得软件定义物联网中所有节点从邻居节点集合中删除所述节点m,结束关于所有该节点的证明进程;

S3、所述软件定义物联网节点m向所述软件定义物联网控制器发送所述软件定义物联网节点m的软件包信息证书Dig(Sofm)并由控制器存储;根据软件定义物联网的拓扑结构获取所述节点m的邻居节点集合Neim,并将其身份信息添加到邻居节点集合中所有节点的邻居节点集合中。

按照本发明的另一个方面,提供了一种软件定义物联网的节点远程证明系统,其包括密钥管理服务器、以及软件定义物联网控制器;

所述密钥管理服务器,为所有相互通信的设备分配共享密钥、数字签名对,并生成数字证书;

所述控制器,用于与软件定义物联网节点通信,并通过控制各节点的邻居节点集合读写控制软件定义物联网拓扑结构;

所述控制器包括,证明模块、安全中间件、以及广播模块;

所述证明模块,用于根据校验信息及标准信息校验待证明节点的软件包从而证明所述节点;所述安全中间件用于提供生成校验信息以及标准信息的安全函数;所述广播模块用于根据证明的结果控制所述软件定义物联网内各节点的邻居节点集合读写:将通过证明的物联网节点加入到相应节点的邻居节点集合中;将未通过证明的物联网节点从所有节点的邻居节点集合中删除。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明提供的软件定义物联网节点远程证明方法能有效验证软件定义物联网节点的完整性状态,能确保软件定义物联网节点身份的合法性及其所运行软件的正确性,使软件定义物联网节点提供可信数据,防止恶意程序注入而泄露重要数据。

(2)本发明提供的软件定义物联网节点远程证明系统将计算量大的安全计算交给具有充足计算能力的软件定义物联网控制器完成,大大减轻软件定义物联网节点用于保证系统安全的计算量。

(3)本发明提供的软件定义物联网节点远程证明方法完全适用于因为新加入软件定义物联网节点或者移动原有软件定义物联网节点导致网络拓扑结构变化的情况,可扩展性强。

(4)本发明实施例提供的软件定义物联网节点远程证明方法使用国家密码管理局发布的安全算法,安全可控。

附图说明

图1是本发明提供的软件定义物联网节点远程证明系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供的软件定义物联网节点远程证明方法,包括以下步骤:

(1)对于需要远程证明的软件定义物联网节点m,软件定义物联网控制器生成一个标识唯一的随机数,并基于所述软件定义物联网控制器和所述软件定义物联网节点m之间用于信息保密传输的共享主密钥加密发送给所述节点m;

所述软件定义物联网节点m保存数字签名对(Prim,Pubm)、数字身份证书Dig(Pubm)、软件定义物联网的密钥管理服务器的公钥PubKM、软件包信息证书Dig(Sofm)、标识信息βm、所述软件定义物联网控制器和所述软件定义物联网节点m之间用于信息保密传输的共享主密钥以及其邻居节点集合Neim

所述数字签名对(Prim,Pubm),由所述软件定义物联网的密钥管理服务器为所述节点分配,其中Prim表示所述软件定义物联网节点m的私钥,Pubm表示所述软件定义物联网节点m的公钥。

所述数字身份证书Dig(Pubm),由所述软件定义物联网的密钥管理服务器基于所述节点m的公钥Pubm,调用所述软件定义物联网控制器的安全中间件内的杂凑函数和数字签名函数生成。

所述软件包信息证书Dig(Sofm),由所述软件定义物联网的密钥管理服务器调用所述软件定义物联网控制器的安全中间件内的杂凑函数和数字签名函数将所述节点m中安装的软件包信息Sofm计算杂凑值并进行数字签名后获得,所述节点m中安装的软件包信息Sofm由软件定义物联网的密钥管理服务器调用软件定义物联网控制器的安全中间件内的软件包安装信息获取函数获取所述节点m中安装的软件包信息Sofm=GetSof(m)。

所述标识信息βm,由所述软件定义物联网的密钥管理服务器组合所述软件定义物联网节点m的身份信息Idem和初始化时间Tim0得到αm=Idem||Tim0,再使用所述软件定义物联网的密钥管理服务器的私钥PriKM对αm进行数字签名获得。

所述软件定义物联网控制器和所述软件定义物联网节点m之间用于信息保密传输的共享主密钥由软件定义物联网的密钥管理服务器基于Diffie-Hellman密钥交换算法生成,再分别发送给所述软件定义物联网控制器和所述软件定义物联网节点m。

所述节点m的邻居节点集合Neim按照以下方法加入到所述软件定义物联网:

S1、将所述节点m存储的标识信息βm,调用所述软件定义物联网控制器的安全中间件内的加密算法基于其存储的共享主密钥加密,得到加密的标识信息γm,发送给所述软件定义物联网控制器;

S2、所述软件定义物联网控制器收到γm后,基于所述共享主密钥解密γm得到节点m的标识信息并使用软件定义物联网的密钥管理服务器的公钥PubKM校验βm,若校验通过,则由软件定义物联网的密钥管理服务器的公钥PubKM校验βm获得校验信息αm=SM2Ver(βm,PubKM),转到步骤S3;若校验不通过,软件定义物联网控制器向整个软件定义物联网广播,使得软件定义物联网中所有节点从邻居节点集合中删除所述节点m,结束关于所有该节点的证明进程;

S3、所述软件定义物联网节点m向所述软件定义物联网控制器发送所述软件定义物联网节点m的软件包信息证书Dig(Sofm)并由控制器存储;根据软件定义物联网的拓扑结构获取所述节点m的邻居节点集合Neim,并将其身份信息添加到邻居节点集合中所有节点的邻居节点集合中。

(2)所述节点m通过软件定义物联网控制器获取自身当前安装的软件包信息Sof′m=GetSof(m),与所述随机数以及所述共享主密钥采用与所述控制器约定的方式组合并加密,作为证明信息发送给软件定义物联网控制器;

(3)所述控制器取出所述节点m加入所述软件定义物联网时的软件包信息证书Dig(Sofm),并解析出所述节点m加入所述软件定义物联网时的软件包信息Sofm

(4)所述控制器将节点m加入所述软件定义物联网时的软件包信息Sofm,与所述随机数以及所述共享主密钥采用与步骤(2)所述节点m相同的方式组合并加密,获得标准信息;

(5)将所述证明信息与标准信息相比较,若一致则,所述软件定义物联网节点m通过远程证明,要求其他软件定义物联网节点将所述软件定义物联网节点m加入到各自的邻居节点集合;否则所述软件定义物联网节点m未通过远程证明,软件定义物联网控制器向整个软件定义物联网广播“软件定义物联网节点m属于不可信节点”的消息,要求其他软件定义物联网节点从各自的邻居节点集合中删除所述软件定义物联网节点m,之后,结束对软件定义物联网节点m身份的远程证明。

本发明提供的软件定义物联网的节点远程证明系统,包括密钥管理服务器、以及软件定义物联网控制器;

所述密钥管理服务器,为所有相互通信的设备分配共享密钥、数字签名对,并生成数字证书;

所述控制器,用于与软件定义物联网节点通信,并通过控制各节点的邻居节点集合读写控制软件定义物联网拓扑结构;

所述控制器包括,证明模块、安全中间件、以及广播模块;

所述证明模块,用于根据校验信息及标准信息校验待证明节点的软件包从而证明所述节点;所述安全中间件用于提供生成校验信息以及标准信息的安全函数;所述广播模块用于根据证明的结果控制所述软件定义物联网内各节点的邻居节点集合读写:将通过证明的物联网节点加入到相应节点的邻居节点集合中;将未通过证明的物联网节点从所有节点的邻居节点集合中删除。

以下为实施例:

软件定义物联网节点初始化:

步骤A1、对于任意一个软件定义物联网节点m,软件定义物联网的密钥管理服务器给所述软件定义物联网节点m分配数字签名对(Prim,Pubm),其中,Prim表示所述软件定义物联网节点m的私钥,Pubm表示所述软件定义物联网节点m的公钥。所述软件定义物联网节点m保存(Prim,Pubm);

步骤A2、软件定义物联网的密钥管理服务器基于所述软件定义物联网节点m的公钥Pubm,调用软件定义物联网控制器的安全中间件内的国密SM3密码杂凑算法的杂凑函数SM3Has()和国密SM2椭圆曲线公钥密码算法的数字签名函数SM2Sig(),给所述软件定义物联网节点m计算杂凑值并进行数字签名后生成数字身份证书Dig(Pubm),发送给所述软件定义物联网节点m后由所述软件定义物联网节点m保存Dig(Pubm);

步骤A3、软件定义物联网的密钥管理服务器将自身的公钥PubKM发送给所述软件定义物联网节点m,所述软件定义物联网节点m保存PubKM

步骤A4、软件定义物联网的密钥管理服务器调用软件定义物联网控制器的安全中间件内的软件包安装信息获取函数GetSof(),获得所述软件定义物联网节点m中安装的软件包信息Sofm=GetSof(m),再调用软件定义物联网控制器的安全中间件内的国密SM3密码杂凑算法的杂凑函数SM3Has()和国密SM2椭圆曲线公钥密码算法的数字签名函数SM2Sig(),给所述软件定义物联网节点m计算杂凑值并进行数字签名后生成软件包信息证书Dig(Sofm),发送给所述软件定义物联网节点m后由所述软件定义物联网节点m保存Dig(Sofm);

步骤A5、软件定义物联网的密钥管理服务器组合所述软件定义物联网节点m的身份信息IDem和初始化时间Tim0得到αm=Idem||Tim0,使用自身的私钥PriKM,调用国密SM2椭圆曲线公钥密码算法的数字签名函数SM2Sig(),对αm进行数字签名得到节点m的标识信息βm=SM2Sig(αm,PriKM),发送给所述软件定义物联网节点m后由所述软件定义物联网节点m保存βm

步骤A6、软件定义物联网的密钥管理服务器基于Diffie-Hellman密钥交换算法生成所述软件定义物联网控制器和所述软件定义物联网节点m之间用于信息保密传输的共享主密钥再分别发送给所述软件定义物联网控制器和所述软件定义物联网节点m后,由所述软件定义物联网控制器和所述软件定义物联网节点m分别保存。

将节点m加入软件定义物联网:

步骤B1、对于拟加入软件定义物联网的任意一个软件定义物联网节点m,所述软件定义物联网节点m调用软件定义物联网控制器的安全中间件内的国密SM4分组密码算法的加密函数ESM4(),基于所述共享主密钥加密所述软件定义物联网节点m的βm得到再向所述软件定义物联网控制器发送γm

步骤B2、所述软件定义物联网控制器收到γm后,调用自身安全中间件内的国密SM4分组密码算法的解密函数DSM4(),基于所述共享主密钥解密γm得到再调用自身安全中间件内的国密SM2椭圆曲线公钥密码算法的数字签名校验函数SM2Ver(),使用软件定义物联网的密钥管理服务器的公钥PubKM校验βm,若校验通过,则得到αm=SM2Ver(βm,PubKM),转到步骤B3。否则,若校验不通过,软件定义物联网控制器向整个软件定义物联网广播“软件定义物联网节点m属于不可信节点”的消息,要求其他软件定义物联网节点从各自的邻居节点集合中删除所述软件定义物联网节点m,之后,结束对软件定义物联网节点m身份的远程证明;

步骤B3、所述软件定义物联网节点m向所述软件定义物联网控制器发送所述软件定义物联网节点m的软件包信息证书Dig(Sofm),并由所述软件定义物联网控制器保存;

步骤B4、所述软件定义物联网节点m通过节点邻居发现协议发现它的邻居节点,并将所述邻居节点的身份信息加入所述软件定义物联网节点m的邻居节点集合Neim

一种软件定义物联网节点远程证明方法,包括以下步骤:

(1)对于需要远程证明的软件定义物联网节点m,软件定义物联网控制器生成一个标识唯一的随机数,并基于所述软件定义物联网控制器和所述软件定义物联网节点m之间用于信息保密传输的共享主密钥加密发送给所述节点m;具体地:

对于软件定义物联网节点m,软件定义物联网控制器生成一个标识唯一且不能预测的64位随机数Noncm,调用控制器自身安全中间件内的国密SM4分组密码算法的加密函数ESM4(),基于所述共享主密钥加密Noncm得到再向所述软件定义物联网节点m发送δm

(2)所述节点m通过软件定义物联网控制器获取自身当前安装的软件包信息Sof′m=GetSof(m),与所述随机数以及所述共享主密钥采用与所述控制器约定的方式组合并加密,作为证明信息发送给软件定义物联网控制器;具体地:

所述软件定义物联网节点m收到δm后,调用软件定义物联网控制器的安全中间件内的国密SM4分组密码算法的解密函数DSM4(),基于所述共享主密钥解密δm得到

所述软件定义物联网节点m调用软件定义物联网控制器的安全中间件内的软件包安装信息获取函数GetSof(),获得所述软件定义物联网节点m中当前安装的软件包信息Sof′m=GetSof(m),组合Noncm得到调用软件定义物联网控制器的安全中间件内的国密SM3密码杂凑算法的杂凑函数SM3Has(),得到证明信息μ′m=SM3Has(θ′m),再向所述软件定义物联网控制器发送μ′m

(3)所述控制器取出所述节点m加入所述软件定义物联网时的软件包信息证书Dig(Sofm),并解析出所述节点m加入所述软件定义物联网时的软件包信息Sofm;具体地:

所述软件定义物联网控制器取出所述软件定义物联网节点m的软件包信息证书Dig(Sofm),从中得到所述软件定义物联网节点m的软件包信息Sofm

(4)所述控制器将节点m加入所述软件定义物联网时的软件包信息Sofm,与所述随机数以及所述共享主密钥采用与步骤(2)所述节点m相同的方式组合并加密,获得标准信息;具体地:

所述软件定义物联网控制器组合Noncm得到调用软件定义物联网控制器的安全中间件内的国密SM3密码杂凑算法的杂凑函数SM3Has(),得到标准信息μm=SM3Has(θm)。

(5)将所述证明信息与标准信息相比较,若一致则,即:μm=μ′m,所述软件定义物联网节点m通过远程证明,要求其他软件定义物联网节点将所述软件定义物联网节点m加入到各自的邻居节点集合;否则所述软件定义物联网节点m未通过远程证明,软件定义物联网控制器向整个软件定义物联网广播“软件定义物联网节点m属于不可信节点”的消息,要求其他软件定义物联网节点从各自的邻居节点集合中删除所述软件定义物联网节点m,之后,结束对软件定义物联网节点m身份的远程证明。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号