[发明专利]一种软件一致性检测方法和装置无效
申请号: | 200710036898.8 | 申请日: | 2007-01-29 |
公开(公告)号: | CN101236496A | 公开(公告)日: | 2008-08-06 |
发明(设计)人: | 缪晖;吕玲 | 申请(专利权)人: | 展讯通信(上海)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F21/22 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 陈亮 |
地址: | 201203上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 一致性 检测 方法 装置 | ||
技术领域
本发明涉及一种检测方法和装置,尤其涉及一种移动终端在开机阶段对引导程序和系统程序以及其他重要数据的一致性检测方法和装置。
背景技术
移动终端软件是移动终端的重要组成部分,特别是对于引导程序和系统程序,它们又是软件中的核心部分,它们的安全构成了整个移动终端安全的基础。如果它们遭到了非法的修改或者被加入了恶意的程序,就会导致移动终端不可想象的后果。轻则造成移动终端无法正常工作,重则导致移动终端内的重要数据被泄漏或监听。因此,非常有必要在移动终端开机的时候对关键软件程序进行一致性检测,以保证软件程序的完整性和可信性。
目前,对软件进行一致性检测的方法主要是通过计算软件代码的哈希(Hash)值来进行的。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个较小二进制值称为Hash值。Hash值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的Ha sh值可以检验数据的完整性。
理论上,计算并校验所有软件代码的Hash值是最好的检测软件一致性的方法。然而实际上计算所有代码的Hash值存在两个问题:1)代码多、计算量大,会大大增加移动终端的开机时间;2)攻击者同时修改程序和程序对应的Ha sh值便可以轻易破解该检测方法。
而固定的截取程序的某一段内容计算Hash值,虽然可减小计算量且可防止攻击者采用上述2)的方法来破解检测程序,但是由于计算地址是固定的,攻击者仍然可以通过破解一个移动终端来达到破译所有同型号移动终端的目的。
发明内容
本发明的目的在于解决上述问题,提供了一种软件一致性检测方法和装置,防止攻击者采取修改系统程序或加入恶意代码的方法破坏移动终端的正常运行,以保护移动终端自身的安全。
本发明的技术方案为:本发明提供了一种软件一致性检测方法,对移动终端的软件进行一致性检测,判断该软件的数据是否被改动,该方法包括系统初始化过程及后续的检测过程,其中,
该系统初始化过程仅在一移动终端的软件第一次运行过程中有效运行一次,包括:
在软件程序的地址范围内随机选取一起始地址和一结束地址;
计算该起始地址和该结束地址之间的数据的第一HASH值;
对该起始地址、该结束地址以及该第一HASH值进行加密得到一校验值;
存储该校验值;
删除或失效该系统初始化程序;
该检测过程包括:
读取并解密存储在系统中的该校验值,得到该起始地址、该结束地址和该第一HASH值;
计算该起始地址和该结束地址之间的数据的第二HASH值;
判断该第一HASH值和第二HASH值是否相等,如果相等则数据未被改动,软件通过一致性检测;如果不等则数据已被改动,软件未通过一致性检测。
上述的软件一致性检测方法,其中,HASH值的计算是指将一任意长度的二进制值映射为固定长度的二进制值,该固定长度的二进制值即为HASH值。
上述的软件一致性检测方法,其中,该起始地址和结束地址的随机选取是采用随机数发生器产生数据地址。
上述的软件一致性检测方法,其中,该起始地址和结束地址的随机选取是:先将多组起始地址和结束地址做成表格,然后以随机查表的方式选取其中的一组起始地址和结束地址作为数据地址。
上述的软件一致性检测方法,其中,该起始地址、结束地址和HASH值的加密包括对称加密算法和非对称加密算法。
基于上述的检测方法,本发明还提供了一种软件一致性检测装置,对移动终端的软件进行一致性检测,判断该软件的数据是否被改动,该检测装置包括:
一系统初始化模块,在一移动终端第一次开机时运行,该模块进一步包括:
数据地址选取单元,在该移动终端的软件程序的地址范围内随机选取一个起始地址和一个结束地址;
第一HASH值计算单元,计算该起始地址和该结束地址之间的数据的第一HASH值;
加密单元,将该起始地址、该结束地址以及该第一HASH值加密得到一校验值;
存储单元,存储该校验值;
删除/失效单元,在存储单元存储校验值之后删除或失效该系统初始化模块;
一检测模块,在已经系统初始化的该移动终端的每次开机之前运行,该模块进一步包括:
解密单元,将该校验值解密,得到该起始地址、该结束地址和该第一HASH值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(上海)有限公司,未经展讯通信(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710036898.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种仿真硅像化妆工艺
- 下一篇:一种通信设备及其运行状态指示方法