物联网设备认证及安全传输方法、计算机设备、存储介质技术

技术编号:28385057 阅读:59 留言:0更新日期:2021-05-08 00:13
本发明专利技术公开了一种基于MQTT的物联网设备认证及安全传输方法,包括:设备与IOT平台的认证方法采用基于改进ECC算法加密和同态Hash的互认证方法;认证时,设备与IOT平台通过设备发送MQTT连接报文及设备订阅IOT平台发送的认证回复来实现认证;互认证成功后,IOT平台与设备之间的消息采用改进的ECC算法进行加密;本发明专利技术的基于MQTT的物联网设备认证及安全传输方法,在连接时通过IOT平台与设备互认证,且在传输数据时对消息加密,可有效抵御假冒、窃听、重放攻击。

【技术实现步骤摘要】
物联网设备认证及安全传输方法、计算机设备、存储介质
本专利技术涉及物联网安全
,特别涉及一种物联网设备认证及安全传输方法、计算机设备、存储介质。
技术介绍
随着物联网的飞速发展,大量智能设备连接到互联网进行信息交换和数据通信。据GSMA预测,2015年全球物联网连接数达52亿,2020年为126亿,2025年预计可达252亿。10年内全球物联网连接数增长4倍。物联网正在积极塑造智慧城市、工业生产和消费世界,从智能家居、智能楼宇到城市公共服务和管理,从零售到医疗保健,从金融到物流,物联网技术已遍及每个业务和消费者领域,大量数据在网络上传输。随着国家、企业及个人逐渐认识到物联网安全与隐私保护的重要性,期望物联网设备能抵御各种各样的攻击,如假冒、窃听、重放、拒绝服务攻击等。MQTT协议是基于TCP的发布订阅协议,适用于在内存有限、低带宽、不可靠网络下提供基于物联网平台(IOT平台)的远程设备的数据传输和监控,非常适用于物联网,但其通信中也存在安全问题,需从认证、访问控制、数据完整性及数据机密性等方面采取额外的安全机制。
技术实现思路
本专利技术的目的是克服上述
技术介绍
中不足,提供一种物联网设备认证及安全传输方法、计算机设备、存储介质,针对MQTT安全通信的需求,保证设备安全连接、安全传输、安全控制。为了达到上述的技术效果,本专利技术采取以下技术方案:一种基于MQTT的物联网设备认证及安全传输方法,包括:设备与IOT平台的认证方法采用基于改进ECC(Ellipticcurvecryptography椭圆曲线加密)算法加密和同态Hash的互认证方法;认证时,设备与IOT平台通过设备发送MQTT连接报文及设备订阅IOT平台发送的认证回复来实现认证;互认证成功后,IOT平台与设备之间的消息采用改进的ECC算法进行加密;本专利技术的基于MQTT的物联网设备认证及安全传输方法,在连接时通过IOT平台与设备互认证,且在传输数据时对消息加密,可有效抵御假冒、窃听、重放攻击。具体的,本方案中,选择ECC算法是因为其以更小密钥能提供更快性能和更高等级安全的算法。ECC中最重要、耗时量最大的计算是标量乘运算。改善标量乘运算比较具有代表性的算法有传统的二进制法、NAF法、最短加法链法、Comb法、窗口法与基于滑动窗口的NAF法等。基于算法效率和预计算存储量的考虑,对ECC的改进采用的是一种改进的基于滑动窗口的NAF法;在具体认证时,是一方面采用改进ECC私钥进行验证,另一方面采取同态Hash函数进行验证,增强了认证安全性。进一步地,所述改进ECC算法的原理是在基于滑动窗口的NAF法的基础上减少一半的预存储量,仅当i%4=1才进行预计算,当i%4=3时利用快速运算2G+P来计算,其中,i为奇数,%表示取余数,G为ECC算法的基点,P为改进算法中用到的中间量。进一步地,所述改进ECC算法的具体实现步骤为:S1.计算P=mG,其中,m为整数;S2.进行隔项预计算其中,w为滑动窗口宽度;S3.比较m与0的大小,若m=0,则P=0,进入步骤S8;若m<0,进入步骤S4,若m>0,进入步骤S5;S4.更新G的取值为-G,更新m的取值为-m,进入步骤S5;S5.计算m的NAF表示,其中,m=(klkl-1…k1k0)2,l>0;S6.设定P的初始值为G;S7.设定i取值从l-1到1,并依次执行下述步骤:S7.1.判断是否满足ki=0,t=1,u=0,若是,则直接进入下一步,否则,求t,且t满足u=kiki-1…ki-t+1;且u%2=1、t≤w,进入下一步;S7.2.更新P的取值为2tP,比较u与0的大小;若u=0,则进入下一步;若u>0,则:若u%4=1,则更新P的取值为P+uG;若u%4=3,则更新P的取值为P+(u-2)G+2G;若u<0,则:若u%4=1,则更新P的取值为P-uG;若u%4=3,则更新P的取值为P-(u-2)G+2G;S7.3.更新i为i-1,并判断更新后的i是否大于1,若是,则返回步骤S7.1,否则,进入步骤S8。S8.确定P值,结束运算。进一步地,所述基于改进ECC算法加密和同态Hash的互认证方法中,定义设备的私钥为d,公钥为Pd=dG,设备标识为md,IOT平台的私钥为s,公钥为Ps=sG,IOT平台存储设备的标识Hash函数组为(H(oldmd),H(newmd)),且初始时二者相等;所述基于改进ECC算法加密和同态Hash的互认证方法包括:S1.当设备向IOT平台发出认证请求时,设备选取随机数r,rd,并计算:α=H(rd)、hd=H(md)、Md=map(hd)、C1=rG、C2=rPs+Md;设备发送C1、C2、α至IOT平台;S2.IOT平台认证设备,IOT平台收到C1、C2后利用私钥计算:C3=sC1、Md=C2-C3=rPs+Md-sC1=rsG+Md-srG=Md、h′d=map(Md);IOT平台判断h′d与H(oldmd)是否相等,若相等则认证通过;若H(newmd)与h′d相等,则H(newmd)=h′d×α;IOT平台选取随机数rs,计算:βh′d×α×H(rs);IOT平台发送β,rs至设备;S3.设备收β、rs后,计算:H(md+rd+rs),应满足:H(md+rd+rs)=H(md)×H(rd)×H(rs)=H(md)×α×H(rs);若H(md+rd+rs)等于β,则设备对IOT平台的认证通过,则更新设备标识为md+rd,且同态Hash值与平台的H(newmd)一致。进一步地,认证时,当设备向IOT平台发送MQTT连接报文时,用户名标志和密码标志都被设置为0,报文中的ClientID由C1|时间戳|C2|随机字符串|α组成,C1、C2、α由所述基于改进ECC算法加密和同态Hash的互认证方法计算得到。进一步地,认证时,IOT平台收到MQTT连接报文后,根据ClientID对设备进行认证,具体采用互认证算法进行认证,可通过时间戳是否有效及随机字符串是否出现过判断连接报文是不是被重放攻击,若认证失败则拒绝连接,若认定为非法攻击时则将设备加入黑名单中,认证成功则接受连接。进一步地,连接成功后,设备订阅主题为/authenticate/{设备标识}/reply的认证回复,且在设备未收到认证回复前不上报消息、不订阅其他主题的消息;且当IOT平台收到订阅认证回复请求时,则下发主题为/authenticate/{设备标识}/reply的消息,内容的组成为β|rs|时间戳,β、rs由所述基于改进ECC算法加密和同态Hash的互认证方法计算得到。进一步地,互认证成功后,设备向IOT平台上报消息时具体操作如下:设备将待上报的数据加上时间戳编码到椭圆曲线上的一点M,并产生一个随机数q本文档来自技高网...

【技术保护点】
1.一种基于MQTT的物联网设备认证及安全传输方法,其特征在于,包括:/n设备与IOT平台的认证方法采用基于改进ECC算法加密和同态Hash的互认证方法;/n认证时,设备与IOT平台通过设备发送MQTT连接报文及设备订阅IOT平台发送的认证回复来实现认证;/n互认证成功后,IOT平台与设备之间的消息采用改进的ECC算法进行加密。/n

【技术特征摘要】
1.一种基于MQTT的物联网设备认证及安全传输方法,其特征在于,包括:
设备与IOT平台的认证方法采用基于改进ECC算法加密和同态Hash的互认证方法;
认证时,设备与IOT平台通过设备发送MQTT连接报文及设备订阅IOT平台发送的认证回复来实现认证;
互认证成功后,IOT平台与设备之间的消息采用改进的ECC算法进行加密。


2.根据权利要求1所述的一种基于MQTT的物联网设备认证及安全传输方法,其特征在于,所述改进ECC算法的原理是在基于滑动窗口的NAF法的基础上减少一半的预存储量,仅当i%4=1才进行预计算,当i%4=3时利用快速运算2G+P来计算,其中,i为奇数,%表示取余数,G为ECC算法的基点,P为改进算法中用到的中间量。


3.根据权利要求2所述的一种基于MQTT的物联网设备认证及安全传输方法,其特征在于,所述改进ECC算法的具体实现步骤为:
S1.计算P=mG,其中,m为整数;
S2.进行隔项预计算其中,w为滑动窗口宽度;
S3.比较m与0的大小,若m=0,则P=0,进入步骤S8;若m<0,进入步骤S4,若m>0,进入步骤S5;
S4.更新G的取值为-G,更新m的取值为-m,进入步骤S5;
S5.计算m的NAF表示,其中,m=(klkl-1…k1k0)2,l>0;
S6.设定P的初始值为G;
S7.设定i取值从l-1到1,并依次执行下述步骤:
S7.1.判断是否满足ki=0,t=1,u=0,若是,则直接进入下一步,否则,求t,且t满足u=kiki-1…ki-t+1;且u%2=1、t≤w,进入下一步;
S7.2.更新P的取值为2tP,比较u与0的大小;
若u=0,则进入下一步;
若u>0,则:
若u%4=1,则更新P的取值为P+uG;若u%4=3,则更新P的取值为P+(u-2)G+2G;
若u<0,则:
若u%4=1,则更新P的取值为P-uG;若u%4=3,则更新P的取值为P-(u-2)G+2G;
S7.3.更新i为i-1,并判断更新后的i是否大于1,若是,则返回步骤S7.1,否则,进入步骤S8。
S8.确定P值,结束运算。


4.根据权利要求3所述的一种基于MQTT的物联网设备认证及安全传输方法,其特征在于,所述基于改进ECC算法加密和同态Hash的互认证方法中,定义设备的私钥为d,公钥为Pd=dG,设备标识为md,IOT平台的私钥为s,公钥为Ps=sG,IOT平台存储设备的标识Hash函数组为(H(oldmd),H(newmd)),且初始时二者相等;
所述基于改进ECC算法加密和同态Hash的互认证方法包括:
S1.当设备向IOT平台发出认证请求时,设备选取随机数r,rd,并计算:
α=H(rd)、hd=H(md)、Md=map(hd)、C1=rG、C2=rPs+Md;
设备发送C1、C2、α至IOT平台;
S2.IOT平台认证设备,IOT平台收到C1、C2后利用私钥计算:
C3=sC1、
Md=C2-C3=rPs+Md-sC1=rsG+Md-srG=Md、
h′d=map...

【专利技术属性】
技术研发人员:罗胡琴何杰王瑞祥
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1