使用数字签名检测软件是否经过篡改的制作方法

文档序号:6581112阅读:1018来源:国知局
专利名称:使用数字签名检测软件是否经过篡改的制作方法
使用数字签名检测软件是否经过篡改所属技术领域
计算机密码学中数字签名及文件透明加密,属于计算机信息安全领域。
技术背景
此发明主要用于文件透明加密软件中。文件透明加密技术有一个很重要的基础 就是要识别相关进程的受控与否。当为受控进程时,其可以读取到加密文件的明文,生 成的文件也为加密。为非受控进程时,其只可读到加密文件的密文,生成的文件也为普 通文件。以此实现一个精确的控制,在保护重要文件的同时不影响用户的使用习惯。
目前采用的进程识别主要有3种方法。
1)使用程序的名称
2)使用程序中带的相关版本信息进行识别
3)使用程序的Piash值(MD5)进行识别
使用第一种方式的缺点显而易见,只需将程序的名称进行修改,即可跳过相关 的检测。第二种方式相对要健壮一点,但网上有大量的软件可以方便的修改程序中的版 本信息,对于黑客和有一定电脑基础的用户,还是可以比较轻松的绕过相关的检测。第 三种方式是很健壮的方案,因为每个程序的Hash值均不会相同。所以不可能会被绕过。 但所存在的问题主要有两点
1)如果一个程序比较大。进行Hash运算检测的时间比较长。影响用户的使用 体验。
幻每次软件升级或者发补丁时,其Hash值均会发生变化。
举例来说,我们对Word进行受控。当采用Hash值验证时,经过Hash运算确定 其值一个认可的值时,其能读取到加密文件的明文,所生成的文件也为加密文件。但如 果打补丁后,Word程序经过了修改,其Hash值同时也就会产生变化。此时再进行Hash 验证时,其Hash值不再是一个认可的值。则Word将被当作非受控软件处理,其只能读 取到加密文件的密文。在用户看来也就是一堆乱码。
具体到用户,每次当Word经过升级后,而透明加密软件又没有更新时。用户将 会无法打开加密的文件,这将严重影响用户的使用。发明内容
为了解决上述现有方案的缺陷,本公司发明了使用数字签名证书检测软件是否 经过篡改的方法,再结合程序的版本信息,确定软件的类型。
本发明所使用的技术方案为
1)编制特征库表,存入“颁发者”及“签名人姓名”的信息。将各受控软件 的数字签名的证书信息放入其中。以Word为例,其颁发者为“Microsoft Code Signing PCA",其签名人姓名为 “Microsoft Corporation”。
2)当相关软件运行时,我们检测其程序的数字签名信息,如果其颁发者和签名人姓名与特征库中数据匹配,则确定其程序没有经过篡改。
3)当确定未经过篡改后,进一步根据程序的版本信息确定程序的类别,即是否 要受控。采用本方案的有益效果是既从根本上解决现有方案1(程序名称)方案2(程 序版本信息)所带来的脆弱性。同时又解决3 (Hash值)所带来的维护复杂性。


下面结合附图和实施例对发明专利进一步说明。
图1特征库的基本结构。
图2检测流程。
具体实施方式
以检测0ffice2003 中的 Word2003 为例。
首先需要将Word的相关信息存入特征库,其颁发者为“Microsoft Code Sgning PCA”,其签名人姓名为“Microsoft Corporation”。 其版本信息中的源文件名为“WinWord.exe,,。其文件版本为11。参阅图1。
当获知Word2003开始运行时,我们检测其程序的特征,首先我们读取此程序是 否有数字签名,如果没有,则其肯定不是WOTd2003或者此程序经过了篡改,如果有数 字签名,并且其颁发者为“Microsoft Code Signtag PCA”,其签名人姓名为“Microsoft Corporation"。那么我们可以确定此程序没有经过篡改。
再进一步,我们读取此程序的版本信息。如果其没有版本信息或者是其版本 信息中的源文件名并非为“WinWorclexe”,则表明此程序为Microsoft的其他软件的程 序。只有当其版本信息中源文件为“WinWorclexe”并且文件版本为11时,我们才可以 确定此程序为Word2003。流程可以参看附图权利要求
1.一种检测程序是否经过篡改的方法,其特征是通过检测程序的数字签名信息, 从而确定软件是否经过篡改。
2.根据权利要求1,其特征是通过检测数字签名,进而根据程序的版本信息对程序 进行精确的识别和分类。
全文摘要
一种检测应用程序是否经过篡改的方法。利用数字签名的不可更改性的原理,通过读取软件中含有的数字签名信息,与事先保存于特征库的信息进行比对,进而确定程序是否被篡改过。主要用于计算机信息安全领域。通过此方法,可以有效的防止用户恶意地伪造一个名称、版本信息均于受控程序相同的程序。然后再利用此伪造的程序,骗过透明加密软件的防护,直接读取到明文,进而将其导出的漏洞。同时,通过此方法,亦可最准备的判断程序的版本号,以便根据不同的版本作出不同的设置。
文档编号G06F21/22GK102024120SQ20091018334
公开日2011年4月20日 申请日期2009年9月18日 优先权日2009年9月18日
发明者邱文乔 申请人:无锡安腾软件开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1