CN107729746B - 一种基于数字签名的已安装应用程序防篡改方法及系统 - Google Patents

一种基于数字签名的已安装应用程序防篡改方法及系统 Download PDF

Info

Publication number
CN107729746B
CN107729746B CN201711214003.5A CN201711214003A CN107729746B CN 107729746 B CN107729746 B CN 107729746B CN 201711214003 A CN201711214003 A CN 201711214003A CN 107729746 B CN107729746 B CN 107729746B
Authority
CN
China
Prior art keywords
digital signature
digital
signature verification
file
certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711214003.5A
Other languages
English (en)
Other versions
CN107729746A (zh
Inventor
唐洪英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201711214003.5A priority Critical patent/CN107729746B/zh
Publication of CN107729746A publication Critical patent/CN107729746A/zh
Application granted granted Critical
Publication of CN107729746B publication Critical patent/CN107729746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种基于数字签名的已安装应用程序防篡改方法,属于计算机安全技术领域。为防止应用程序安装包在网络传播时被篡改,本方法采用的技术方案为:首先,从CA认证机构申请数字证书,并将其加入到CA认证机构发布的数字证书库;然后,进行软件安装包的数字签名验证,在安装目录下对数字签名验证不通过或没有数字签名的可执行文件和库文件用自己的数字证书进行数字签名,在程序运行过程中对要加载运行的文件进行实时数字签名验证,只有通过数字签名验证的文件才允许加载运行。本方法一共进行了三次签名验证,避免已安装程序被篡改。本发明还提供一种基于数字签名的已安装应用程序防篡改系统,其同样通过三次签名验证来预防已安装程序的被篡改。

Description

一种基于数字签名的已安装应用程序防篡改方法及系统
技术领域
本发明涉及计算机安全技术领域,具体地说是一种基于数字签名的已安装应用程序防篡改方法及系统。
背景技术
数字证书,作为Internet上通信双方身份验证的一种方式,由权威CA认证机构发行,保证信息的安全性,被广泛应用于计算机领域以保证数据的安全、可靠性。
为了防止应用程序安装包在Internet网络传播时被篡改,软件制作者通常会在软件发布前,为其进行数字签名。但是,许多软件仅仅只对软件安装包生成了数字签名,而没有对安装后生成的可执行文件及库文件生成相应的数字签名,这就导致安装程序存在被篡改的漏洞。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种基于数字签名的已安装应用程序防篡改方法。
本发明的技术方案是按以下方式实现的:
一种基于数字签名的已安装应用程序防篡改方法,该方法包括以下内容:
1)CA认证机构发布的数字证书库;
2)从CA认证机构申请数字证书,并将其加入到步骤1)所述数字证书库;
3)进行软件安装包的数字签名验证;
4)安装目录下,安装文件数字签名验证,对数字签名验证不通过或没有数字签名的可执行文件和库文件转步骤5),数字签名验证通过的文件则结束安装,转步骤6);
5)安装目录下,对不存在数字签名或数字签名验证不通过的可执行文件和库文件,用自己的数字证书进行数字签名;
6)程序运行时,对要加载运行的文件进行实时数字签名验证,只有通过数字签名验证的文件才允许加载运行。
所涉及步骤3)的具体操作为:
安装一个软件包时,需要验证安装包的数字签名,包括软件签名者证书是否在步骤1)所述数字证书库和软件Hash值是否与数字签名中Hash值是否一致,如果数字签名验证不通过,则提醒用户安装包已被篡改,并阻止安装。
所涉及数字签名的验证可以采用windows提供的API进行验证。
基于上述方法,本发明还提供一种基于数字签名的已安装应用程序防篡改系统,该系统包括:
数字证书库,用于存放CA认证机构发布的数字证书;
申请导入模块,用于从CA认证机构申请数字证书,并将申请的数字证书导入所述数字证书库;
签名验证模块一,用于进行软件安装包的数字签名验证;
签名验证模块二,用于使用自己的数字证书对安装目录下不存在数字签名或数字签名验证不通过的可执行文件和库文件进行数字签名;
签名验证模块三,用于加载运行通过实时数字签名验证的文件。
所涉及签名验证模块一对软件安装包进行数字签名验证的具体操作为:
安装一个软件包时,需要验证安装包的数字签名,包括软件签名者证书是否在步骤1)所述数字证书库和软件Hash值是否与数字签名中Hash值是否一致,如果数字签名验证不通过,则提醒用户安装包已被篡改,并阻止安装。
所涉及签名验证模块一采用windows提供的API进行软件安装包的数字签名验证。
基于上述方法和系统,本发明还提供一种计算机设备,该包括:
至少一个处理器;
存储有程序指令的存储器,所涉及程序指令包括上述一种基于数字签名的已安装应用程序防篡改系统,所涉及处理器被配置为适于根据所涉及存储器中存储的一种基于数字签名的已安装应用程序防篡改系统执行一种基于数字签名的已安装应用程序防篡改方法。
本发明的一种基于数字签名的已安装应用程序防篡改方法及系统与现有技术相比所产生的有益效果是:
1)本发明的方法进行了三次签名验证,通过依次验证应用程序安装包数字签名的一致性、并对安装目录下数字签名不可验证和没有数字签名的文件重新进行数字签名、在运行时对加载文件进行实时数字签名验证,保证了已安装程序的不被篡改性;
2)本发明的系统与所述方法相同,通过三个签名验证模块依次进行了三次签名验证,保证了已安装程序的不被篡改性。
附图说明
附图1是本发明的方法流程框图;
附图2是本发明的系统框架结构连接图。
附图中的标记分别表示:
1、数字证书库,2、申请导入模块,3、签名验证模块一,
4、签名验证模块二,5、签名验证模块三。
具体实施方式
为了更好的说明本发明,现结合具体实施例以及说明书附图对技术方案做进一步的说明。虽然实施例中记载了这些具体的实施方式,然其并非用以限定本发明,任何所述技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动和润饰,故本发明的保护范围当视权利要求书所界定者为准。
实施例一:
如附图1所示,本发明的一种基于数字签名的已安装应用程序防篡改方法,该方法包括以下内容:
S10:CA认证机构发布的数字证书库;
S20:从CA认证机构申请数字证书,并将其加入到步骤S10所述数字证书库;
S30:进行软件安装包的数字签名验证;
S40:安装目录下,安装文件数字签名验证,对数字签名验证不通过或没有数字签名的可执行文件和库文件转步骤S50,数字签名验证通过的文件则结束安装,转步骤S60;
S50:安装目录下,对不存在数字签名或数字签名验证不通过的可执行文件和库文件,用自己的数字证书进行数字签名;
S60:程序运行时,对要加载运行的文件进行实时数字签名验证,只有通过数字签名验证的文件才允许加载运行。
所涉及步骤S30的具体操作为:
安装一个软件包时,需要验证安装包的数字签名,包括软件签名者证书是否在步骤S10所述数字证书库和软件Hash值是否与数字签名中Hash值是否一致,如果数字签名验证不通过,则提醒用户安装包已被篡改,并阻止安装。
所涉及数字签名的验证可以采用windows提供的API进行验证。
本发明的方法进行了三次签名验证,依次验证应用程序安装包数字签名的一致性、对安装目录下数字签名不可验证和没有数字签名的文件重新进行数字签名、在运行时对加载文件进行实时数字签名验证,由此保证了已安装程序的不被篡改性。
实施例二:
基于上述方法,如附图2所示,本发明还提供一种基于数字签名的已安装应用程序防篡改系统,该系统包括:
数字证书库1,用于存放CA认证机构发布的数字证书;
申请导入模块2,用于从CA认证机构申请数字证书,并将申请的数字证书导入所述数字证书库1;
签名验证模块一3,用于进行软件安装包的数字签名验证;
签名验证模块二4,用于使用自己的数字证书对安装目录下不存在数字签名或数字签名验证不通过的可执行文件和库文件进行数字签名;
签名验证模块三5,用于加载运行通过实时数字签名验证的文件。
所涉及签名验证模块一3对软件安装包进行数字签名验证的具体操作为:
安装一个软件包时,需要验证安装包的数字签名,包括软件签名者证书是否在步骤1)所述数字证书库和软件Hash值是否与数字签名中Hash值是否一致,如果数字签名验证不通过,则提醒用户安装包已被篡改,并阻止安装。
所涉及签名验证模块一3采用windows提供的API进行软件安装包的数字签名验证。
本发明的系统进行了三次签名验证,签名验证模块一3验证应用程序安装包数字签名的一致性、签名验证模块二4对安装目录下数字签名不可验证和没有数字签名的文件重新进行数字签名、签名验证模块三5对运行时的加载文件进行实时数字签名验证,由此保证了已安装程序的不被篡改性。
实施例三:
基于上述方法和系统,本发明还提供一种计算机设备,该包括:
至少一个处理器;
存储有程序指令的存储器,所涉及程序指令包括上述一种基于数字签名的已安装应用程序防篡改系统,所涉及处理器被配置为适于根据所涉及存储器中存储的一种基于数字签名的已安装应用程序防篡改系统执行一种基于数字签名的已安装应用程序防篡改方法。
尽管根据有限数量的实施例描述了本发明,但是,受益于上面的描述,本技术领域的技术人员应该明白,在由此描述的本发明的范围内,可以设想其他实施例。
此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说,许多修改和变更都是显而易见的。对于本发明的范围,本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (7)

1.一种基于数字签名的已安装应用程序防篡改方法,其特征在于,所述方法包括以下内容:
1)CA认证机构发布的数字证书库;
2)从CA认证机构申请数字证书,并将其加入到步骤1)所述数字证书库;
3)进行软件安装包的数字签名验证;
4)安装目录下,安装文件数字签名验证,对数字签名验证不通过或没有数字签名的可执行文件和库文件转步骤5),数字签名验证通过的文件则结束安装,转步骤6);
5)安装目录下,对不存在数字签名或数字签名验证不通过的可执行文件和库文件,用自己的数字证书进行数字签名;
6)程序运行时,对要加载运行的文件进行实时数字签名验证,只有通过数字签名验证的文件才允许加载运行。
2.根据权利要求1所述的一种基于数字签名的已安装应用程序防篡改方法,其特征在于,所述步骤3)的具体操作为:
安装一个软件包时,需要验证安装包的数字签名,包括软件签名者证书是否在步骤1)所述数字证书库和软件Hash值是否与数字签名中Hash值是否一致,如果数字签名验证不通过,则提醒用户安装包已被篡改,并阻止安装。
3.根据权利要求1或2所述的一种基于数字签名的已安装应用程序防篡改方法,其特征在于,所述数字签名的验证可以采用windows提供的API进行验证。
4.一种基于数字签名的已安装应用程序防篡改系统,其特征在于,该系统包括:
数字证书库,用于存放CA认证机构发布的数字证书;
申请导入模块,用于从CA认证机构申请数字证书,并将申请的数字证书导入所述数字证书库;
签名验证模块一,用于进行软件安装包的数字签名验证;
签名验证模块二,用于使用自己的数字证书对安装目录下不存在数字签名或数字签名验证不通过的可执行文件和库文件进行数字签名;
签名验证模块三,用于加载运行通过实时数字签名验证的文件。
5.根据权利要求4所述的一种基于数字签名的已安装应用程序防篡改系统,其特征在于,所述签名验证模块一对软件安装包进行数字签名验证的具体操作为:
安装一个软件包时,需要验证安装包的数字签名,包括软件签名者证书是否在步骤1)所述数字证书库和软件Hash值是否与数字签名中Hash值是否一致,如果数字签名验证不通过,则提醒用户安装包已被篡改,并阻止安装。
6.根据权利要求4或5所述的一种基于数字签名的已安装应用程序防篡改系统,其特征在于,所述签名验证模块一采用windows提供的API进行软件安装包的数字签名验证。
7.一种计算机设备,其特征在于,包括:
至少一个处理器;
存储有程序指令的存储器,所述程序指令包括如权利要求4-6中任一项所述的一种基于数字签名的已安装应用程序防篡改系统,所述处理器被配置为适于根据所述存储器中存储的一种基于数字签名的已安装应用程序防篡改系统执行如权利要求1-3中任一项所述的一种基于数字签名的已安装应用程序防篡改方法。
CN201711214003.5A 2017-11-28 2017-11-28 一种基于数字签名的已安装应用程序防篡改方法及系统 Active CN107729746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711214003.5A CN107729746B (zh) 2017-11-28 2017-11-28 一种基于数字签名的已安装应用程序防篡改方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711214003.5A CN107729746B (zh) 2017-11-28 2017-11-28 一种基于数字签名的已安装应用程序防篡改方法及系统

Publications (2)

Publication Number Publication Date
CN107729746A CN107729746A (zh) 2018-02-23
CN107729746B true CN107729746B (zh) 2020-06-12

Family

ID=61219692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711214003.5A Active CN107729746B (zh) 2017-11-28 2017-11-28 一种基于数字签名的已安装应用程序防篡改方法及系统

Country Status (1)

Country Link
CN (1) CN107729746B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108923910B (zh) * 2018-07-12 2021-06-25 南方电网科学研究院有限责任公司 一种移动应用apk防篡改的方法
CN109359465A (zh) * 2018-08-29 2019-02-19 郑州云海信息技术有限公司 一种基于数字证书的程序防御方法及系统
CN109977679A (zh) * 2019-02-22 2019-07-05 北京天地和兴科技有限公司 一种基于tcm芯片的工控安全设备升级包安装方法
CN111581671B (zh) * 2020-05-11 2021-05-25 笵成科技南京有限公司 一种深度神经网络与区块链相结合的数字护照保护方法
CN114578782B (zh) * 2020-12-01 2023-08-25 宇通客车股份有限公司 一种集成控制器程序自动标定方法和系统
CN112463207B (zh) * 2020-12-11 2022-11-22 苏州浪潮智能科技有限公司 一种验证驱动设备的操作系统版本数字签名的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719821A (zh) * 2008-10-09 2010-06-02 爱思开电讯投资(中国)有限公司 智能卡应用程序管理系统及其方法
US7886282B1 (en) * 2006-03-31 2011-02-08 Symantec Corporation Augmenting signature-based technologies with functional flow graphs
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484476B2 (en) * 2005-05-20 2013-07-09 Rovi Technologies Corporation Computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content
US20100242034A1 (en) * 2006-11-01 2010-09-23 Microsoft Corporation Distributing software products as an executable containing script logic with external resources
US8112633B1 (en) * 2008-06-30 2012-02-07 Symantec Corporation Server side verification of digital signatures in streaming environments
CN104573490A (zh) * 2013-10-29 2015-04-29 桂林电子科技大学 Android平台上已安装软件保护方法
CN105956456B (zh) * 2016-04-26 2019-02-19 南京邮电大学 一种对Android系统进行四重联合签名验证的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886282B1 (en) * 2006-03-31 2011-02-08 Symantec Corporation Augmenting signature-based technologies with functional flow graphs
CN101719821A (zh) * 2008-10-09 2010-06-02 爱思开电讯投资(中国)有限公司 智能卡应用程序管理系统及其方法
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置

Also Published As

Publication number Publication date
CN107729746A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
CN107729746B (zh) 一种基于数字签名的已安装应用程序防篡改方法及系统
US11637707B2 (en) System and method for managing installation of an application package requiring high-risk permission access
US11714633B2 (en) Method for providing a firmware update of a device
CN107463806B (zh) 一种Android应用程序安装包的签名和验签方法
US11048824B2 (en) Method for improving security of trusted application
CN110677376B (zh) 认证方法、相关设备和系统及计算机可读存储介质
US20070235517A1 (en) Secure digital delivery seal for information handling system
US20100229242A1 (en) Program execution control system, program execution control method and computer program for program execution control
US20130031371A1 (en) Software Run-Time Provenance
US20100115269A1 (en) Revoking Malware in a Computing Device
CN103577206A (zh) 一种应用软件的安装方法和装置
WO2012109640A2 (en) System and method for secure software update
WO2012064171A1 (en) A method for enabling a trusted platform in a computing system
CN107994993B (zh) 应用程序检测方法及装置
CN104426658A (zh) 对移动终端上的应用进行身份验证的方法及装置
CN109560934B (zh) 数据防篡改方法、装置、计算机设备和存储介质
CN115001695B (zh) 平台的基板管理控制器身份的安全置备
WO2019178763A1 (zh) 一种证书导入方法及终端
WO2016165215A1 (zh) 应用程序加载代码签名的方法和装置
Cooper et al. Security considerations for code signing
CN113572619B (zh) 一种基于notary的容器云镜像可信实现方法及系统
CN113886894A (zh) 数字签名方法和数字签名设备
EP3575953B1 (en) A blockchain network agent for verifying and accepting patch requests from a patch initiator and method thereof
EP3048776A1 (en) Methods for managing content, computer program products and secure element
CN114301601B (zh) 一种基于Android平台的接口管理方法及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200518

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant