一种基于PUF的物联网OTA升级方法及存储介质技术

技术编号:37787004 阅读:12 留言:0更新日期:2023-06-09 09:17
本发明专利技术公开了一种基于PUF的物联网OTA升级方法及存储介质,方法包括注册设备信息,以设备自带芯片PUF作为设备的唯一标识依据,注册在设备生命周期内只有一次;设备认证,设备端发送随机数、验证码等信息给OTA服务器进行认证,服务器端通过算法进行信息验证,敏感信息如随机数等使用服务器端公钥进行加密处理;数据安全传输通道,设备认证时,在服务器端同时产生本次会话密钥,用户后续数据加密传输,服务器端产生随机数,设备端使用puf和随机数产生对应的密钥。本发明专利技术提高了物联网设备OTA升级过程中的数据隐私和程序完整性保护。升级过程中的数据隐私和程序完整性保护。升级过程中的数据隐私和程序完整性保护。

【技术实现步骤摘要】
一种基于PUF的物联网OTA升级方法及存储介质


[0001]本专利技术属于物联网OTA
,具体涉及一种基于PUF的物联网OTA升级方法及存储介质。

技术介绍

[0002]物联网是物品之间通过网络连接起来的局域网。近年来,物联网市场规模快速增长,联网设备数量持续增加。海量的设备接入互联网,使得OTA(远程升级)技术被普遍使用。“万物互联”带来便利的同时,也为攻击者带来了更多的攻击选择。
[0003]物联网设备OTA升级首先要保证设备身份能被正确认证,否则设备身份被冒认,将对系统带来极大风险。常用的物联网设备身份认证方式有设备ID、CA证书、MAC地址、静态口令等。其中设备ID、MAC地址作为物联网设备身份认证,容易遭到篡改伪造,安全级别较低;在使用普通的静态口令系统进行身份认证时,用户可以长时间多次利用同一口令进行登录,这种方式会带来许多安全隐患。用户长期使用同一口令,其泄露和被破解的危险性会与日俱增;CA证书方式认证安全级别相对较高,但是为海量的物联网设备都生成唯一的证书,维护成本过高,而且物理网设备大部分算力有限,另一方面设备私钥存储在硬件上,容易被复制盗取。
[0004]其次,物联网设备OTA升级过程中,数据传输需要加密,并要保证升级程序的完整性,防止被第三方修改,植入恶意程序,对设备造成破坏。当前升级程序完整性主要通过循环冗余校验码(CRC)技术进行保障,CRC是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。恶意第三方可以截获传输数据,替换成木马程序的二进制流,并根据CRC验证规则添加对应的校验码,以此达到入侵的目的;另外,多次请求相同程序,CRC都是相同的,恶意第三方采用人工神经网络等方法,可更容易破解对应的生成规则,对设备带来潜在威胁。
[0005]而目前的物理不可克隆功能(PUF)是一种硬件安全技术,它利用固有的设备变化来对给定的输入产生不可克隆的唯一设备响应,它们是每一块硅的固有和唯一标识符。由于硅加工技术的不完善,所生产的每一块IC在物理上都是不同的。在不同的集成电路之间,这些工艺变化表现为不同的路径延迟、晶体管阈值电压、电压增益和无数其他的方式,由此形成每一块IC的PUF,可以作为设备具有可靠性、不可预测性和唯一性保证。

技术实现思路

[0006]本专利技术的目的之一在于提供一种基于PUF的物联网OTA升级方法,每个设备端具有唯一的设备芯片PUF,提高物联网设备OTA升级过程中的数据隐私和程序完整性保护。
[0007]为实现上述目的,本专利技术所采取的技术方案为:
[0008]一种基于PUF的物联网OTA升级方法,面向服务端和设备端,用于对物联网设备的OTA升级,所述基于PUF的物联网OTA升级方法实施在设备端侧,包括:
[0009]设备端注册,以设备芯片的puf值生成参照辅助码,将参照辅助码和设备的公开身
份信息发送至服务端进行注册;
[0010]设备端认证,发送设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码至服务端进行认证,接收服务端在认证成功后返回的第二随机数,并根据第二随机数得到本次的通信会话密钥;
[0011]设备端升级,接收服务端发送的由通信会话密钥加密的升级通知,解密后根据升级通知下载程序升级包,对程序升级包验证通过后进行升级,并向服务端上报升级结果。
[0012]作为优选,所述以设备芯片的puf值生成参照辅助码,将参照辅助码和设备的公开身份信息发送至服务端进行注册,包括:
[0013]由设备PUF电路得到一个随机值作为设备芯片的puf值,随机选择相同长度的纠错码与puf值做异或操作,形成参照辅助码M
p

[0014]利用服务器公钥对参照辅助码M
p
进行非对称加密得到密文M

p
,将设备的公开身份信息和密文M

p
发送至服务端进行注册。
[0015]作为优选,所述发送设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码至服务端进行认证,包括:
[0016]由设备PUF电路初始化生成第一随机数R
init

[0017]利用服务器公钥对第一随机数R
init
进行加密得到加密的第一随机数R
p

[0018]由纠错算法根据参照辅助码M
p
和第一随机数R
init
计算得到设备芯片的puf值,并对puf值以及第一随机数R
init
和时间戳之和进行哈希运算得到验证码V
p

[0019]将公开身份信息、时间戳、加密的第一随机数R
p
以及验证码V
p
发送至服务端进行认证。
[0020]作为优选,所述接收服务端发送的由通信会话密钥加密的升级通知,解密后根据升级通知下载程序升级包,对程序升级包验证通过后进行升级,并向服务端上报升级结果,包括:
[0021]接收服务端发送的由通信会话密钥加密的升级通知,所述升级通知中包括程序升级包信息info、版本号version、下载地址url、时间戳t
i
、数字签名sign;
[0022]利用通信会话密钥解密后得到升级通知;
[0023]根据升级通知中的版本号version和时间戳t
i
判断设备端本次升级是否需要进行,若不需要进行,则向服务端上报升级结果,该升级结果中包含拒绝升级;若需要进行,则根据下载地址url到服务端下载程序升级包;
[0024]程序升级包下载完成后,计算程序升级包的MD5值m

f
,同时使用服务器公钥对数字签名sign进行解密得到值sign_hash,计算哈希值valid_hash=MD5(m

f
+info+version+url+t
i
),比较值sign_hash与哈希值valid_hash,若两者相同,则验证通过,设备端根据程序升级包进行升级,并向服务端上报升级结果,该升级结果中包含升级成功或升级失败;否则验证失败,则设备端不进行升级,并向服务端上报升级结果,该升级结果中包含拒绝升级。
[0025]作为优选,还包含设备端数据存储,根据程序数据属性层次,以puf值为根密钥,依次生成对应层级程序数据的存储密钥,对程序数据进行对称加密存储。
[0026]本专利技术还提供一种基于PUF的物联网OTA升级方法,面向服务端和设备端,用于对物联网设备的OTA升级,所述基于PUF的物联网OTA升级方法实施在服务端侧,包括:
[0027]接收设备端发送的参照辅助码和设备的公开身份信息,校对参照辅助码和公开身
份信息后向设备端返回注册结果,该注册结果包括注册成功或注册失败;
[0028本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于PUF的物联网OTA升级方法,面向服务端和设备端,用于对物联网设备的OTA升级,其特征在于,所述基于PUF的物联网OTA升级方法实施在设备端侧,包括:设备端注册,以设备芯片的puf值生成参照辅助码,将参照辅助码和设备的公开身份信息发送至服务端进行注册;设备端认证,发送设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码至服务端进行认证,接收服务端在认证成功后返回的第二随机数,并根据第二随机数得到本次的通信会话密钥;设备端升级,接收服务端发送的由通信会话密钥加密的升级通知,解密后根据升级通知下载程序升级包,对程序升级包验证通过后进行升级,并向服务端上报升级结果。2.如权利要求1所述的基于PUF的物联网OTA升级方法,其特征在于,所述以设备芯片的puf值生成参照辅助码,将参照辅助码和设备的公开身份信息发送至服务端进行注册,包括:由设备PUF电路得到一个随机值作为设备芯片的puf值,随机选择相同长度的纠错码与puf值做异或操作,形成参照辅助码M
p
;利用服务器公钥对参照辅助码M
p
进行非对称加密得到密文M

p
,将设备的公开身份信息和密文M

p
发送至服务端进行注册。3.如权利要求1所述的基于PUF的物联网OTA升级方法,其特征在于,所述发送设备的公开身份信息、时间戳、加密的第一随机数以及由第一随机数生成的验证码至服务端进行认证,包括:由设备PUF电路初始化生成第一随机数R
init
;利用服务器公钥对第一随机数R
init
进行加密得到加密的第一随机数R
p
;由纠错算法根据参照辅助码M
p
和第一随机数R
init
计算得到设备芯片的puf值,并对puf值以及第一随机数R
init
和时间戳之和进行哈希运算得到验证码V
p
;将公开身份信息、时间戳、加密的第一随机数R
p
以及验证码V
p
发送至服务端进行认证。4.如权利要求1所述的基于PUF的物联网OTA升级方法,其特征在于,所述接收服务端发送的由通信会话密钥加密的升级通知,解密后根据升级通知下载程序升级包,对程序升级包验证通过后进行升级,并向服务端上报升级结果,包括:接收服务端发送的由通信会话密钥加密的升级通知,所述升级通知中包括程序升级包信息info、版本号version、下载地址url、时间戳t
i
、数字签名sign;利用通信会话密钥解密后得到升级通知;根据升级通知中的版本号version和时间戳t
i
判断设备端本次升级是否需要进行,若不需要进行,则向服务端上报升级结果,该升级结果中包含拒绝升级;若需要进行,则根据下载地址url到服务端下载程序升级包;程序升级包下载完成后,计算程序升级包的MD5值m

f
,同时使用服务器公钥对数字签名sign进行解密得到值sign_hash,计算哈希值valid_hash=MD5(m

f
+info+version+url+t
i
),比较值sign_hash与哈希值valid_hash,若两者相同,则验证通过,设备端根据程序升级包进行升级,并向服务端上报升级结果,该升级结果中包含升级成功或升级失败;否则验证失败,则设备端不进行升级,并向服务端上报升级结果,该...

【专利技术属性】
技术研发人员:娄琪孙丽娟陈革俞兴华
申请(专利权)人:中电海康集团有限公司
类型:发明
国别省市:

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

1