CN104063668A - 程序安装包签名***及方法 - Google Patents
程序安装包签名***及方法 Download PDFInfo
- Publication number
- CN104063668A CN104063668A CN201310092648.1A CN201310092648A CN104063668A CN 104063668 A CN104063668 A CN 104063668A CN 201310092648 A CN201310092648 A CN 201310092648A CN 104063668 A CN104063668 A CN 104063668A
- Authority
- CN
- China
- Prior art keywords
- file
- installation
- signature
- algorithm
- bag
- 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.)
- Granted
Links
- 238000009434 installation Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000013475 authorization Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种程序安装包签名方法,该方法包括:与NFC卡进行通信连接,接收NFC卡中的一组权限管理信息与密钥;根据接收的一组权限管理信息与密钥,对程序安装包进行签名;将签名后的程序安装包发送给电子装置,并在电子装置上验证该签名后的程序安装包。本发明还提供一种程序安装包签名***。利用本发明防止程序安装包被破解,提高了数据的安全性,且通过权限管理的方式使得开发人员不需要开发多个应用程序安装包,方便了开发人员,提高了开发效率。
Description
技术领域
本发明涉及一种程序安装包签名***及方法。
背景技术
一般而言,应用程序发布时,都会对程序安装包进行签名,以对程序安装包进行加密。而程序安装包签名之后,加密算法信息及证书都附加在应用程序安装包上,如此一来,使得应用程序容易被破解。此外,应用程序可能包括多个版本,例如,完整版的应用程序、试用版的应用程序,针对每一个版本的应用程序,开发人员需要开发出对应的程序安装包,如此一来,加重开发人员负担,降低了开发效率。
发明内容
鉴于以上内容,有必要提供一种程序安装包签名***,可以将签名之后的加密算法信息及证书与程序安装包分离,防止程序安装包被破解,提高了数据的安全性,且通过权限管理的方式使得开发人员不需要开发多个应用程序安装包,方便了开发人员,提高了开发效率。
鉴于以上内容,还有必要提供一种利用程序安装包签名***进行充电的方法,可以将签名之后的加密算法信息及证书与程序安装包分离,防止程序安装包被破解,提高了数据的安全性,且通过权限管理的方式使得开发人员不需要开发多个应用程序安装包,方便了开发人员,提高了开发效率。
一种程序安装包签名***,该***包括:接收模块,用于与近场通信NFC卡进行通信连接,接收NFC卡中的一组权限管理信息与密钥;签名模块,用于根据接收的一组权限管理信息与密钥,对程序安装包进行签名;发送模块,用于将签名后的程序安装包发送给电子装置,并在电子装置上验证该签名后的程序安装包。
一种程序安装包签名方法,该方法包括:与NFC卡进行通信连接,接收NFC卡中的一组权限管理信息与密钥;根据接收的一组权限管理信息与密钥,对程序安装包进行签名;将签名后的程序安装包发送给电子装置,并在电子装置上验证该签名后的程序安装包。
相较于现有技术,利用所述的程序安装包签名***及方法,可以将签名之后的加密算法信息及证书与程序安装包分离,防止程序安装包被破解,提高了数据的安全性,且通过权限管理的方式使得开发人员不需要开发多个应用程序安装包,方便了开发人员,提高了开发效率。
附图说明
图1是本发明程序安装包签名***较佳实施例的应用环境图。
图2是本发明图1中程序安装包签名***的功能模块图。
图3是本发明程序安装包签名方法较佳实施例的流程图。
图4是本发明图3步骤S20中对程序安装包进行签名的细化流程图。
图5是本发明图3步骤S30中在电子装置上验证签名后的程序安装包的细化流程图。
主要元件符号说明
服务器 | 1 |
程序安装包签名*** | 10 |
电子装置 | 2 |
NFC卡 | 3 |
接收模块 | 110 |
签名模块 | 120 |
发送模块 | 130 |
存储器 | 140 |
处理器 | 150 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明程序安装包签名***较佳实施例的应用环境图。
该程序安装包签名***10运行于服务器1中,该服务器1分别与电子装置2及近场通信(Near field communication,NFC)卡3连接,而电子装置2与NFC卡3也进行无线连接。所述电子装置2可以是,但不限于,手机、数码相机及平板电脑等装置。所述NFC卡3中包括多个文件夹,每个文件夹内包括一组对应的权限管理信息及密钥,每一个文件夹还附加有一个密码(即PIN码),当该文件夹被访问时,提示用户输入正确的PIN码,输入正确的PIN码之后才能打开该文件夹,并获取该文件夹中的权限管理信息及密钥。所述权限管理信息是指程序安装包中的程序全局配置文件(一种XML格式的文件)中的配置信息,该权限管理信息用于界定程序安装包的功能。通过设置不同的权限管理信息可以使得程序安装包具有不同的功能。例如,假设某一个程序安装包具有三项功能,分别为拨打电话功能、来电显示功能及来电归属地查询功能,包含权限管理信息A的程序安装包具有打电话功能及来电显示功能,而包含权限管理信息B的程序安装包具有拨打电话功能、来电显示功能及来电归属地查询功能。
如图2所示,是本发明图1中程序安装包签名***的功能模块图。
该服务器1除了包括程序安装包签名***10,还包括通过数据线或信号线相连的存储器140和处理器150。该程序安装包签名***10包括接收模块110、签名模块120及发送模块130。模块110至130的程序化代码存储于存储器140中,处理器150执行这些程序化代码,实现程序安装包签名***10提供的上述功能。
所述接收模块110用于与NFC卡3进行通信连接,接收NFC卡3中的一组权限管理信息与密钥。具体而言,接收模块110访问NFC卡3时,弹出对话框提示用户输入PIN码,用户输入对应的PIN码之后,通过PIN码找到对应的文件夹,之后获取NFC卡3中的该PIN码对应的文件夹中的一组权限管理信息与密钥。
所述签名模块120用于根据接收的一组权限管理信息与密钥,对程序安装包进行签名。所述对程序安装包进行签名的方法将在图4中做详细描述。
所述发送模块130用于将签名后的程序安装包发送给电子装置2,并在电子装置2上验证该签名后的程序安装包。所述在电子装置上验证签名后的程序安装包的方法将在图5中做详细描述。
如图3所示,是本发明程序安装包签名方法较佳实施例的流程图。
步骤S10,接收模块110用于与NFC卡3进行通信连接,接收NFC卡3中的一组权限管理信息与密钥。具体而言,接收模块110访问NFC卡3时,弹出对话框提示用户输入PIN码,用户输入对应的PIN码之后,通过PIN码找到对应的文件夹,之后获取NFC卡3中的该PIN码对应的文件夹中的一组权限管理信息与密钥。
步骤S20,签名模块120根据接收的一组权限管理信息与密钥,对程序安装包进行签名。所述对程序安装包进行签名的方法将在图4中做详细描述。
步骤S30,发送模块130用于将签名后的程序安装包发送给电子装置2,并在电子装置2上验证该签名后的程序安装包。所述在电子装置上验证签名后的程序安装包的方法将在图5中做详细描述。
如图4所示,是本发明图3步骤S20中对程序安装包进行签名的细化流程图。
步骤S200,所述签名模块120遍历程序安装包中的所有文件。
步骤S210,所述签名模块120将权限管理信息保存到全局配置文件中。
步骤S220,所述签名模块120通过哈希算法计算出每个文件的摘要,并通过编码算法对所计算出来的每个文件的摘要进行编码,并将编码后的每个文件的摘要保存到声明文件中。在本较佳实施例中,所述哈希算法是指SHA-1算法。所述编码算法为base64算法。所述声明文件为MANIFEST.MF。所述每个文件的摘要是指每个文件的哈希值。
步骤S230,所述签名模块120通过哈希算法计算声明文件的摘要,并根据密钥中的私钥对其进行加密,并将加密后声明文件的摘要保存到证书文件中。所述证书文件为CERT.SF。
步骤S240,所述签名模块120将密钥中的公钥及所采用的加密算法信息保存到算法文件中。所述算法文件为CERT.RAS文件。所述加密算法信息是指加密算法的加解密方法,即如何对文件进行加解密的方法的信息。
步骤S250,所述签名模块120将证书文件及算法文件存到NFC卡3中,完成对程序安装包的签名。具体而言,所述证书文件及算法文件保存到NFC卡3的文件夹中,该文件夹就是所述接收模块110获得权限管控信息及密钥的文件夹。
如图5所示,是本发明图3步骤S30中在电子装置上验证签名后的程序安装包的细化流程图。
步骤S300,电子装置2与NFC卡3进行通信连接,接收NFC卡3中的证书文件及算法文件。具体而言,电子装置2访问NFC卡3时,提示用户输入PIN码,根据输入的PIN码找到对应的文件夹,之后获取NFC卡3中该PIN码对应的文件夹中的证书文件及算法文件。
步骤S310,电子装置2提取算法文件中的加密算法信息及公钥,利用加密算法信息及公钥对证书文件进行验证。
步骤S320,当证书文件验证通过时,电子装置2通过哈希算法计算程序安装包中的每个文件的摘要。
步骤S330,当所计算出来的每个文件的摘要与声明文件中保存的每个文件的摘要相同时,验证通过,并在电子装置2中安装该程序安装包。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换都不应脱离本发明技术方案的精神和范围。
Claims (10)
1.一种程序安装包签名***,其特征在于,该***包括:
接收模块,用于与近场通信NFC卡进行通信连接,接收NFC卡中的一组权限管理信息与密钥;
签名模块,用于根据接收的一组权限管理信息与密钥,对程序安装包进行签名;及
发送模块,用于将签名后的程序安装包发送给电子装置,并在电子装置上验证该签名后的程序安装包。
2.如权利要求1所述的程序安装包签名***,其特征在于,所述NFC卡中包括多个文件夹,每个文件夹包括一组权限管理信息与密钥,每个文件夹对应一个密码。
3.如权利要求1所述的程序安装包签名***,其特征在于,所述权限管理信息是指程序安装包中的程序全局配置文件中的配置信息,该权限管理信息用于界定程序安装包的功能。
4.如权利要求3所述的程序安装包签名***,其特征在于,所述签名模块对程序安装包进行签名的方法如下:
遍历程序安装包中的所有文件;
将权限管理信息保存到全局配置文件中;
通过哈希算法计算出每个文件的摘要,并通过编码算法对所计算出来的每个文件的摘要进行编码,并将编码后的每个文件的摘要保存到声明文件中;
通过哈希算法计算声明文件的摘要,并根据密钥中的私钥对其进行加密,并加密后声明文件的摘要保存到证书文件中;
将密钥中的公钥及采用加密算法信息保存到算法文件中;及
将证书文件及算法文件存到NFC卡中,完成对程序安装包的签名。
5.如权利要求4所述的程序安装包签名***,其特征在于,所述在电子装置上验证签名后的程序安装包的方法如下:
电子装置与NFC卡进行通信连接,接收NFC卡中的证书文件及算法文件;
电子装置提取算法文件中的加密算法信息及公钥,利用加密算法信息及公钥对证书文件进行验证;
当证书文件验证通过时,通过哈希算法计算程序安装包中的每个文件的摘要;及
当所计算出来的每个文件的摘要与声明文件中保存的每个文件的摘要相同时,验证通过,并在电子装置中安装该程序安装包。
6.一种程序安装包签名方法,其特征在于,该方法包括:
与NFC卡进行通信连接,接收NFC卡中的一组权限管理信息与密钥;
根据接收的一组权限管理信息与密钥,对程序安装包进行签名;及
将签名后的程序安装包发送给电子装置,并在电子装置上验证该签名后的程序安装包。
7.如权利要求6所述的程序安装包签名方法,其特征在于,所述NFC卡中包括多个文件夹,每个文件夹包括一组权限管理信息与密钥,每个文件夹对应一个密码。
8.如权利要求6所述的程序安装包签名方法,其特征在于,所述权限管理信息是指程序安装包中的程序全局配置文件中的配置信息,该权限管理信息用于界定程序安装包的功能。
9.如权利要求6所述的程序安装包签名方法,所述对程序安装包进行签名的方法如下:
遍历程序安装包中的所有文件;
将权限管理信息保存到全局配置文件中;
通过哈希算法计算出每个文件的摘要,并通过编码算法对所计算出来的每个文件的摘要进行编码,并将编码后的每个文件的摘要保存到声明文件中;
通过哈希算法计算声明文件的摘要,并根据密钥中的私钥对其进行加密,并加密后声明文件的摘要保存到证书文件中;
将密钥中的公钥及采用加密算法信息保存到算法文件中;及
将证书文件及算法文件存到NFC卡中,完成对程序安装包的签名。
10.如权利要求9所述的程序安装包签名方法,其特征在于,所述在电子装置上验证签名后的程序安装包的方法如下:
电子装置与NFC卡进行通信连接,接收NFC卡中的证书文件及算法文件;
电子装置提取算法文件中的加密算法信息及公钥,利用加密算法信息及公钥对证书文件进行验证;
当证书文件验证通过时,通过哈希算法计算程序安装包中的每个文件的摘要;及
当所计算出来的每个文件的摘要与声明文件中保存的每个文件的摘要相同时,验证通过,并在电子装置中安装该程序安装包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310092648.1A CN104063668B (zh) | 2013-03-21 | 2013-03-21 | 程序安装包签名***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310092648.1A CN104063668B (zh) | 2013-03-21 | 2013-03-21 | 程序安装包签名***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063668A true CN104063668A (zh) | 2014-09-24 |
CN104063668B CN104063668B (zh) | 2018-07-27 |
Family
ID=51551375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310092648.1A Expired - Fee Related CN104063668B (zh) | 2013-03-21 | 2013-03-21 | 程序安装包签名***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063668B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426658A (zh) * | 2013-09-02 | 2015-03-18 | ***通信集团公司 | 对移动终端上的应用进行身份验证的方法及装置 |
CN104793978A (zh) * | 2015-05-08 | 2015-07-22 | 宁波萨瑞通讯有限公司 | 一种应用程序管理***及方法 |
CN105530637A (zh) * | 2015-12-11 | 2016-04-27 | 北京元心科技有限公司 | 保护智能终端用户隐私的方法以及智能终端 |
CN105991539A (zh) * | 2014-11-07 | 2016-10-05 | 天地融科技股份有限公司 | 数据交互方法及*** |
CN106295255A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用程序的加固方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271391A (zh) * | 2008-04-30 | 2008-09-24 | 中兴通讯股份有限公司 | 软件***的制作和使用方法 |
CN101551843A (zh) * | 2009-05-06 | 2009-10-07 | 深圳市融创天下科技发展有限公司 | 一种移动通信装置应用软件包的签名方法 |
CN102065077A (zh) * | 2010-11-11 | 2011-05-18 | 中国联合网络通信集团有限公司 | 终端应用软件分发方法及*** |
CN102663292A (zh) * | 2012-03-26 | 2012-09-12 | 大唐微电子技术有限公司 | 一种实现智能卡应用部署的方法及*** |
CN102799444A (zh) * | 2011-05-27 | 2012-11-28 | 华为软件技术有限公司 | 跨平台打包程序的方法及装置 |
-
2013
- 2013-03-21 CN CN201310092648.1A patent/CN104063668B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271391A (zh) * | 2008-04-30 | 2008-09-24 | 中兴通讯股份有限公司 | 软件***的制作和使用方法 |
CN101551843A (zh) * | 2009-05-06 | 2009-10-07 | 深圳市融创天下科技发展有限公司 | 一种移动通信装置应用软件包的签名方法 |
CN102065077A (zh) * | 2010-11-11 | 2011-05-18 | 中国联合网络通信集团有限公司 | 终端应用软件分发方法及*** |
CN102799444A (zh) * | 2011-05-27 | 2012-11-28 | 华为软件技术有限公司 | 跨平台打包程序的方法及装置 |
CN102663292A (zh) * | 2012-03-26 | 2012-09-12 | 大唐微电子技术有限公司 | 一种实现智能卡应用部署的方法及*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426658A (zh) * | 2013-09-02 | 2015-03-18 | ***通信集团公司 | 对移动终端上的应用进行身份验证的方法及装置 |
CN104426658B (zh) * | 2013-09-02 | 2017-12-01 | ***通信集团公司 | 对移动终端上的应用进行身份验证的方法及装置 |
CN105991539A (zh) * | 2014-11-07 | 2016-10-05 | 天地融科技股份有限公司 | 数据交互方法及*** |
CN105991539B (zh) * | 2014-11-07 | 2019-05-17 | 天地融科技股份有限公司 | 数据交互方法及*** |
CN104793978A (zh) * | 2015-05-08 | 2015-07-22 | 宁波萨瑞通讯有限公司 | 一种应用程序管理***及方法 |
CN106295255A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用程序的加固方法和装置 |
CN106295255B (zh) * | 2015-05-27 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 应用程序的加固方法和装置 |
CN105530637A (zh) * | 2015-12-11 | 2016-04-27 | 北京元心科技有限公司 | 保护智能终端用户隐私的方法以及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN104063668B (zh) | 2018-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472166B (zh) | 一种电子签章方法、装置、设备及介质 | |
CN106471768B (zh) | 用于建立安全通信信道的方法和装置 | |
CN107493273A (zh) | 身份认证方法、***及计算机可读存储介质 | |
CN103503366A (zh) | 管理针对认证设备的数据 | |
US20070257813A1 (en) | Secure network bootstrap of devices in an automatic meter reading network | |
CN106227503A (zh) | 安全芯片cos固件更新方法、服务端、终端及*** | |
US11722315B2 (en) | Factory data storage and recovery | |
EP3384629A1 (en) | System and method for tamper-resistant device usage metering | |
CA2745975C (en) | Utilization of a microcode interpreter built in to a processor | |
CN104063668A (zh) | 程序安装包签名***及方法 | |
CN104378388B (zh) | 可执行文件运行控制方法及装置 | |
CN102594568A (zh) | 基于多级数字证书的保障移动设备软件镜像安全的方法 | |
CN112968971A (zh) | 会话连接建立的方法、装置、电子设备和可读存储介质 | |
CN106465104A (zh) | 密钥共享方法和装置 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、***及电子设备 | |
CN114095220A (zh) | 电话通信验证方法、装置、设备及存储介质 | |
CN113378119A (zh) | 一种软件授权方法、装置、设备及存储介质 | |
CN109361512A (zh) | 数据传输方法 | |
US12045600B2 (en) | Method for upgrading IoT terminal device and electronic device thereof | |
CN101582765B (zh) | 绑定用户的便携式可信移动装置 | |
CN114362951B (zh) | 用于更新证书的方法和装置 | |
CN111259452A (zh) | 一种基于区块链的数据管理方法以及相关装置 | |
CN116909603A (zh) | 车辆安全升级方法及*** | |
CN110796446B (zh) | 密钥注入方法、装置、电子设备及计算机可读存储介质 | |
CN102968588A (zh) | 智能终端*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180727 Termination date: 20190321 |