一种基于PUF的物联网OTA升级方法及存储介质与流程

文档序号:34378182发布日期:2023-06-08 00:13阅读:98来源:国知局
一种基于PUF的物联网OTA升级方法及存储介质与流程

本发明属于物联网ota,具体涉及一种基于puf的物联网ota升级方法及存储介质。


背景技术:

1、物联网是物品之间通过网络连接起来的局域网。近年来,物联网市场规模快速增长,联网设备数量持续增加。海量的设备接入互联网,使得ota(远程升级)技术被普遍使用。“万物互联”带来便利的同时,也为攻击者带来了更多的攻击选择。

2、物联网设备ota升级首先要保证设备身份能被正确认证,否则设备身份被冒认,将对系统带来极大风险。常用的物联网设备身份认证方式有设备id、ca证书、mac地址、静态口令等。其中设备id、mac地址作为物联网设备身份认证,容易遭到篡改伪造,安全级别较低;在使用普通的静态口令系统进行身份认证时,用户可以长时间多次利用同一口令进行登录,这种方式会带来许多安全隐患。用户长期使用同一口令,其泄露和被破解的危险性会与日俱增;ca证书方式认证安全级别相对较高,但是为海量的物联网设备都生成唯一的证书,维护成本过高,而且物理网设备大部分算力有限,另一方面设备私钥存储在硬件上,容易被复制盗取。

3、其次,物联网设备ota升级过程中,数据传输需要加密,并要保证升级程序的完整性,防止被第三方修改,植入恶意程序,对设备造成破坏。当前升级程序完整性主要通过循环冗余校验码(crc)技术进行保障,crc是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。恶意第三方可以截获传输数据,替换成木马程序的二进制流,并根据crc验证规则添加对应的校验码,以此达到入侵的目的;另外,多次请求相同程序,crc都是相同的,恶意第三方采用人工神经网络等方法,可更容易破解对应的生成规则,对设备带来潜在威胁。

4、而目前的物理不可克隆功能(puf)是一种硬件安全技术,它利用固有的设备变化来对给定的输入产生不可克隆的唯一设备响应,它们是每一块硅的固有和唯一标识符。由于硅加工技术的不完善,所生产的每一块ic在物理上都是不同的。在不同的集成电路之间,这些工艺变化表现为不同的路径延迟、晶体管阈值电压、电压增益和无数其他的方式,由此形成每一块ic的puf,可以作为设备具有可靠性、不可预测性和唯一性保证。


技术实现思路

1、本发明的目的之一在于提供一种基于puf的物联网ota升级方法,每个设备端具有唯一的设备芯片puf,提高物联网设备ota升级过程中的数据隐私和程序完整性保护。

2、为实现上述目的,本发明所采取的技术方案为:

3、一种基于puf的物联网ota升级方法,面向服务端和设备端,用于对物联网设备的ota升级,所述基于puf的物联网ota升级方法实施在设备端侧,包括:

4、设备端注册,以设备芯片的puf值生成参照辅助码,将参照辅助码和设备的公开身份信息发送至服务端进行注册;

5、设备端认证,发送设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码至服务端进行认证,接收服务端在认证成功后返回的第二随机数,并根据第二随机数得到本次的通信会话密钥;

6、设备端升级,接收服务端发送的由通信会话密钥加密的升级通知,解密后根据升级通知下载程序升级包,对程序升级包验证通过后进行升级,并向服务端上报升级结果。

7、作为优选,所述以设备芯片的puf值生成参照辅助码,将参照辅助码和设备的公开身份信息发送至服务端进行注册,包括:

8、由设备puf电路得到一个随机值作为设备芯片的puf值,随机选择相同长度的纠错码与puf值做异或操作,形成参照辅助码mp;

9、利用服务器公钥对参照辅助码mp进行非对称加密得到密文m′p,将设备的公开身份信息和密文m′p发送至服务端进行注册。

10、作为优选,所述发送设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码至服务端进行认证,包括:

11、由设备puf电路初始化生成第一随机数rinit;

12、利用服务器公钥对第一随机数rinit进行加密得到加密的第一随机数rp;

13、由纠错算法根据参照辅助码mp和第一随机数rinit计算得到设备芯片的puf值,并对puf值以及第一随机数rinit和时间戳之和进行哈希运算得到验证码vp;

14、将公开身份信息、时间戳、加密的第一随机数rp以及验证码vp发送至服务端进行认证。

15、作为优选,所述接收服务端发送的由通信会话密钥加密的升级通知,解密后根据升级通知下载程序升级包,对程序升级包验证通过后进行升级,并向服务端上报升级结果,包括:

16、接收服务端发送的由通信会话密钥加密的升级通知,所述升级通知中包括程序升级包信息info、版本号version、下载地址url、时间戳ti、数字签名sign;

17、利用通信会话密钥解密后得到升级通知;

18、根据升级通知中的版本号version和时间戳ti判断设备端本次升级是否需要进行,若不需要进行,则向服务端上报升级结果,该升级结果中包含拒绝升级;若需要进行,则根据下载地址url到服务端下载程序升级包;

19、程序升级包下载完成后,计算程序升级包的md5值m′f,同时使用服务器公钥对数字签名sign进行解密得到值sign_hash,计算哈希值valid_hash=md5(m′f+info+version+url+ti),比较值sign_hash与哈希值valid_hash,若两者相同,则验证通过,设备端根据程序升级包进行升级,并向服务端上报升级结果,该升级结果中包含升级成功或升级失败;否则验证失败,则设备端不进行升级,并向服务端上报升级结果,该升级结果中包含拒绝升级。

20、作为优选,还包含设备端数据存储,根据程序数据属性层次,以puf值为根密钥,依次生成对应层级程序数据的存储密钥,对程序数据进行对称加密存储。

21、本发明还提供一种基于puf的物联网ota升级方法,面向服务端和设备端,用于对物联网设备的ota升级,所述基于puf的物联网ota升级方法实施在服务端侧,包括:

22、接收设备端发送的参照辅助码和设备的公开身份信息,校对参照辅助码和公开身份信息后向设备端返回注册结果,该注册结果包括注册成功或注册失败;

23、接收设备端发送的设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码进行认证,并在认证成功后生成第二随机数,由第二随机数得到本次的通信会话密钥,并将第二随机数随认证结果发送至设备端;

24、向指定设备端发送由通信会话密钥加密的升级通知,并接收设备端返回的升级结果。

25、作为优选,所述接收设备端发送的参照辅助码和设备的公开身份信息,校对参照辅助码和公开身份信息后向设备端返回注册结果,该注册结果包括注册成功或注册失败,包括:

26、接收设备端发送的公开身份信息和密文m′p;

27、使用服务器私钥对密文mvp解密得到参照辅助码mp,核对参照辅助码mp规则,若不符合规则,则向设备端返回注册失败的注册结果,并结束,若符合规则,则继续执行;

28、根据设备的公开身份信息在服务端数据库检索,若无重复,则存储设备的公开身份信息及参照辅助码mp,并向设备端返回注册成功的注册结果,若重复,则向设备端返回注册失败的注册结果。

29、作为优选,所述接收设备端发送的设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码进行认证,包括:

30、检查时间戳与服务端当前时间的间隔,若时间间隔超出限定时间范围,则设备认证失败,并结束;否则继续执行;

31、使用服务器私钥解密加密的第一随机数得到第一随机数rinit;

32、根据设备的公开身份信息查询得到参照辅助码mp,由纠错算法根据参照辅助码mp和第一随机数rinit计算得到设备芯片的puf值,并对puf值以及第一随机数rinit和时间戳之和进行哈希运算得到验证码vp′;

33、将服务端计算的验证码vp′和设备端发送的验证码vp进行比较,若两者相等则认证成功,否则认证失败。

34、作为优选,所述升级通知中包括程序升级包信息info、版本号version、下载地址url、时间戳ti、数字签名sign,所述数字签名sign的生成过程如下:

35、对程序升级包做md5哈希处理,得到程序升级包的md5值mf,计算哈希值sign_hash=md5(mf+info+version+url+ti),最后使用服务器私钥对哈希值sign_hash做签名,得到数字签名sign。

36、本发明提供的一种基于puf的物联网ota升级方法,实现升级程序完整性保护,对本次升级程序及其相关参数,服务器端先对其组合进行哈希处理,得到总体hash值,再用私钥对hash值进行签名加密,保证设备端得到正确的升级程序,避免被非法入侵;设备存储数据时,根据数据属性层次,以puf值为根密钥,依次生成对应的存储密钥,对数据进行对称加密存储,数据读取时,则需先做对应的解密处理,保证设备存储数据即使被泄露,脱离了设备芯片也无法使用。可以提高物联网设备ota升级过程中的数据隐私和程序完整性保护,并有效保护设备存储的数据。

37、本发明的目的之二在于提供一种计算机可读存储介质,存储介质中的计算机程序被执行后,实现提高物联网设备ota升级过程中的数据隐私和程序完整性的目的。

38、为实现上述目的,本发明所采取的技术方案为:

39、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于puf的物联网ota升级方法的步骤。

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