一种基于超级SIM卡的物联网软件完整性证明方法与流程

文档序号:35023768发布日期:2023-08-04 21:19阅读:44来源:国知局
一种基于超级SIM卡的物联网软件完整性证明方法与流程

本发明涉及一种基于超级sim卡的物联网软件完整性证明方法,属于计算机信息远程证明。


背景技术:

1、随着物联网技术的不断发展,物联网设备出现在我们生活的方方面面。而这些物联网设备正面临着软件完整性被破环的威胁。为了应对这些威胁,研究者前后提出了控制流完整性(cfi,control flow integrity)、控制流远程证明等方案。

2、控制流完整性通过分析程序正常的控制流,得到程序的控制流图(cfg,controlflow graph),使控制流转移在控制流图限定的范围内,从而保证软件运行时的完整性。

3、远程证明由一个可信的验证者和一个或多个资源受限的证明者组成。一般来说,它是验证者和证明者之间的协议。验证者从证明者那里得到一个实时且可信的报告,并通过报告检验软件完整性。在远程证明中,计算开销大的部分交由验证者完成,证明者只需完成必要的计算工作。因此远程证明十分适合资源受限的物联网设备,能够确保安全性并减少证明者的开销。

4、当前众多远程证明方案都需要特定的硬件,或者基于某种特定的cpu实现,这意味着需要额外的成本用于实施软件控制流证明,这对于物联网设备生产商是极大的成本。目前插卡式物联网设备广泛存在,可以将超级sim卡作为软件完整性证明的安全防护技术,这样不仅能够减轻物联网设备生产商的研发成本,而且超级sim卡只要没有损坏还能够重复使用,进一步减少实施软件完整性证明的成本。


技术实现思路

1、本发明要解决的技术问题是提供一种基于超级sim卡的物联网软件完整性证明方法,用于解决上述技术问题。

2、本发明的技术方案是:一种基于超级sim卡的物联网软件完整性证明方法,具体步骤为:

3、step1:验证者对目标程序进行分析,获取目标程序的二进制指令、跳转指令的源地址和跳转指令的目的地址,并通过度量计算公式进行计算,得到各个运行路径的最终度量值,将度量值与对应的输入范围存储到验证者的设备上。

4、step2:验证者产生一个随机数,然后使用密钥派生函数根据随机数生成会话所用的公私钥,并使用设备上的puf指纹信息对随机数进行对称加密,接着生成证明请求发送给设备。

5、step3:设备收到请求后,首先检查请求的新鲜度,然后根据请求中的数据和超级sim卡计算完整性保护数据,并比较该完整性保护数据与请求中的是否相同,以此判断验证者的身份和请求是否受到篡改。

6、step4:设备验证身份成功后,根据请求中的输入运行目标程序,并通过运行时跟踪器获取目标程序运行时的控制流数据,将获取的数据传输到超级sim卡进行哈希、签名计算,从而得到最终的证明报告,通过证明服务将该报告发送给验证者。

7、step5:验证者接收到证明报告后,对证明报告进行检查,从而确定报告的新鲜度。然后使用会话公钥对证明报告中的数字签名进行验签,签名验证成功,则继续检查证明报告中的度量值和合法度量值是否相同,相同则证明设备上软件的完整性未被篡改,否则则说明设备上软件的完整性遭到了攻击。

8、进一步地,所述对目标程序进行分析获取的数据包括程序所有的二进制指令、跳转指令的源地址和跳转指令的目的地址。

9、进一步地,所述的度量计算公式为:

10、

11、

12、h=h(hdm,hsn)

13、其中,h()是哈希函数,hs是静态度量值,hd是动态度量值,h是最终的度量值,i是软件程序的二进制代码,在程序运行时由运行时跟踪器进行拦截获取,其中e表示控制流图中的跳转边,边中的的数据包括跳转指令的源地址,跳转指令的目的地址,另外h(0)是初始哈希值,由管理部门进行设置,一般为0。

14、进一步地,所述的哈希算法使用的超级sim卡支持的sm3密码杂凑算法,对称加密算法使用的超级sim卡支持的sm4分组密码算法,数字签名算法则使用的超级sim卡支持的sm2椭圆曲线公钥密码算法中的数字签名算法。

15、进一步地,所述的验证者是完全可信的,并且设备上的证明程序均存放在设备的可读内存中。

16、本发明的有益效果是:本发明能够同时检测控制流劫持攻击和静态攻击两种攻击,将超级sim卡和物联网设备软件完整性证明相结合,使物联网终端设备无需添加额外的特殊硬件,也能通过超级sim卡为物联网设备提供安全加密和轻量级信任根。由于无需额外的特殊硬件,可以有效减少物联网设备生厂商的成本。



技术特征:

1.一种基于超级sim卡的物联网软件完整性证明方法,其特征在于:

2.根据权利要求1所述的基于超级sim卡的物联网软件完整性证明方法,其特征在于:所述对目标程序进行分析获取的数据包括程序所有的二进制指令、跳转指令的源地址和跳转指令的目的地址。

3.根据权利要求1所述的基于超级sim卡的物联网软件完整性证明方法,其特征在于,所述的度量计算公式为:

4.根据权利要求1所述的基于超级sim卡的物联网软件完整性证明方法,其特征在于:所述的哈希算法使用的超级sim卡支持的sm3密码杂凑算法,对称加密算法使用的超级sim卡支持的sm4分组密码算法,数字签名算法则使用的超级sim卡支持的sm2椭圆曲线公钥密码算法中的数字签名算法。

5.根据权利要求1所述的基于超级sim卡的物联网软件完整性证明方法,其特征在于:所述的验证者是完全可信的,并且设备上的证明程序均存放在设备的可读内存中。


技术总结
本发明涉及一种基于超级SIM卡的物联网软件完整性证明方法,属于计算机信息远程证明技术领域。通过使用动态二进制插桩工具生成软件程序的控制流图,并通过软件完整性度量公式对软件程序进行度量得到度量结果。当设备收到验证者发起的请求后,通过证明服务和请求对验证者的身份进行验证,并根据请求中的输入运行目标程序。通过运行时跟踪器获取目标程序实时的控制流数据,并将其传输到超级SIM卡。通过超级SIM卡的PUF、签名和哈希运算得到证明报告,然后证明服务将报告发送给验证者。本发明通过使用超级SIM卡,使得物联网设备无需特殊的硬件也可有效对软件完整性进行远程证明,可以有效减少实施物联网设备软件完整性证明的成本。

技术研发人员:和建文,孔令南,冯国栋,冯林,李晢燊,傅磊毅,陈洲廷,李涛,张柳凤,钱振东
受保护的技术使用者:中国移动通信集团云南有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1