本发明专利技术是关于一种面向安卓系统软件的扩展签名的实现方法,该方法包括:S1,获取开发者生成的安卓程序文件;S2,对上述程序文件进行数字签名,生成扩展签名证书文件;S3,将扩展签名证书文件存放在安卓程序文件中的META-INF目录下;S4,将带有扩展签名证书文件的安卓程序解压文件重新打包生成安卓程序文件,完成扩展签名。本发明专利技术在不破坏安卓系统自签名机制的基础上进行了一次扩展签名,该扩展签名可用于开发者身份认证、安全检测认证等第三方数字认证,提高了安卓系统的安全性。
【技术实现步骤摘要】
【专利摘要】本专利技术是关于,该方法包括:S1,获取开发者生成的安卓程序文件;S2,对上述程序文件进行数字签名,生成扩展签名证书文件;S3,将扩展签名证书文件存放在安卓程序文件中的META-INF目录下;S4,将带有扩展签名证书文件的安卓程序解压文件重新打包生成安卓程序文件,完成扩展签名。本专利技术在不破坏安卓系统自签名机制的基础上进行了一次扩展签名,该扩展签名可用于开发者身份认证、安全检测认证等第三方数字认证,提高了安卓系统的安全性。【专利说明】
本专利技术涉及一种软件签名方法,特别是涉及一种面向安卓系统软件的扩展签名的 实现方法。
技术介绍
近几年,由于我国移动通信网络的不断优化、移动设备智能终端的不断普及,移动 终端设备在不同的行业领域里提升了工作效率。我国目前移动互联网应用软件产业每天在 发生巨大的变化,互联网应用软件开发企业及开发者快速增长。分布在移动终端设备中的 手机游戏、手机支付、移动商务的应用软件,不仅加强了移动互联网与公众生活的联系,也 在不断地改变我们的生产和生活方式。 然而,我们国家移动互联网产业在快速发展过程中,相应的问题也在不断凸现,绝 大多数人们在安装APP后发现会被窃取终端手机号和通讯录,有些"关闭不掉的广告"、 "无法卸载的应用"、"恶意扣费"的现象严重影响了人们对APP信任程度,并且很多企业的 应用开发者在不知情的情况下APP被盗版、内置恶意吸费代码,然后被上传到第三方应用 市场,一旦用户下载安装了这类应用,就会被恶意扣费。 为确保经过检查的软件的安全合法使用,保障检测完成的软件的真实有效以及在 使用过程中与当初检查保持一致性,需要采用数字证书来实现其检查认证及真实完整,降 低现场测试的测试成本,提高检测效率。通过有效利用数字签名技术,实现对源码、资源文 件、主配文件的保障,从而获知APK产品代码是否安全、是否容易被反编译、源代码是否裸 奔、资源文件和Android主配文件是否被动用。 现有的签名方法主要采用谷歌提供的自签名机制由开发者自发签名,谷歌未提供 扩展签名的方法,不利于第三方认证机构的认证和监管,因此安卓系统存在严重的安全隐 患。
技术实现思路
本专利技术的目的在于解决现有的安卓软件自签名机制存在的不足,而提供一种面向 安卓系统软件的扩展签名的实现方法。 本专利技术的目的是采用以下技术方案来实现的。本专利技术是一种面向安卓系统软件的 扩展签名的实现方法,包括以下步骤:步骤S1,获取开发者生成的安卓程序文件;步骤S2, 对上述程序文件进行数字签名,生成扩展签名证书文件;步骤S3,将扩展签名证书文件存 放在安卓程序文件中的ΜΕΤΑ-INF目录下;步骤S4,将带有扩展签名证书文件的安卓程序解 压文件重新打包生成安卓程序文件,完成扩展签名。 本专利技术的目的还可采用以下技术措施进一步实现。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中所述的步骤S1之 前还包括以下开发者自签名的步骤:步骤S11,开发者对原始程序文件中除ΜΕΤΑ-INF目录 以外的文件计算并生成摘要文件;步骤S12,利用开发者自有的私钥对摘要文件计算并生 成签名,将该签名与开发者自有的公钥一起保存在证书文件中,生成签名证书文件;步骤 S13,打包签名证书文件,得到开发者生成的安卓程序文件。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中所述的步骤S2包 括:对程序文件提取数字摘要信息,利用哈希算法生成摘要文件。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中所述的利用哈希 算法所计算的文件不包括ΜΕΤΑ-INF目录里面的文件。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中所述的扩展签名 证书文件中包含证书签发机构的公钥。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中所述的步骤S4之 后还包括以下开发者自签名的步骤:步骤S41,开发者对插入签名证书文件后的程序文件 中除ΜΕΤΑ-INF目录以外的文件计算并生成摘要文件;步骤S42,利用开发者自有的私钥对 摘要文件计算并生成签名,将该签名与开发者自有的公钥一起保存在证书文件中,生成签 名证书文件。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中在步骤S4完成扩 展签名之后还包括以下验证扩展签名的步骤:步骤S51,认证机构获取安装包文件;步骤 S52,从安装包文件中提取扩展签名证书文件;步骤S53,利用扩展签名证书文件中的信息 验证扩展签名;步骤S54,利用扩展签名证书文件中的信息验证摘要文件;步骤S55,利用摘 要文件验证安装文件是否被篡改。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中所述的步骤S53 包括:利用证书签发机构的公钥验证扩展签名。 较佳的,前述的面向安卓系统软件的扩展签名的实现方法,其中所述的步骤S54、 S55包括:验证摘要文件的内容列表和安装包文件中除ΜΕΤΑ-INF目录以外的文件的摘要信 息的对应关系。 借由上述技术方案,本专利技术至少具 有下列优点及有益效果:本专利技术在谷歌自签名基础上增加了一次扩展签名环节,提高了安 卓系统的安全性,该方法不影响原有谷歌的签名机制,采用可扩展签名技术,产生扩展签名 的过程独立可控,扩展签名可在原有谷歌签名之前或之后,互相独立,验证环节简单可靠, 该扩展签名可用于开发者身份的识别和该安卓系统应用的不可篡改性的验证。 上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段, 而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够 更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。 【专利附图】【附图说明】 图1是本专利技术方法的流程图。 图2是本专利技术方法的验证签名流程图。 【具体实施方式】 为更进一步阐述本专利技术为达成预定专利技术目的所采取的技术手段及功效,以下结 合附图及较佳实施例,对依据本专利技术提出的 的【具体实施方式】、结构、特征及其功效,详细说明如后。 请参阅图1,是本专利技术方法的流程图。包括以下步骤: 步骤S1,获取开发者生成的安卓程序文件; 步骤S1所述的开发者生成的安卓程序文件可以是开发者自签名后的程序文件, 也可以是开发者还未签名的程序文件。 步骤S2,对上述程序文件进行数字签名(即扩展签名),生成扩展签名证书文件; 步骤S2所述的签名方法符合X. 509协议等数字认证协议和技术标准,所认证的 文件不包括ΜΕΤΑ-INF目录里面的文件,即对程序文件提取数字摘要信息(如利用哈希算法 生成摘要文件)时,所计算的文件不包括ΜΕΤΑ-INF目录里面的文件。所述的扩展签名证书 文件中包含证书签发机构(即认证机构)的公钥,保证签名验证的时候利用证书签发机构 的公钥来验证签名。 步骤S3,将扩展签名证书文件存放在安卓程序文件中的ΜΕΤΑ-INF目录下; 扩展签名证书文件插入程序文件的ΜΕΤΑ-INF目录下,不影响开发者原有的自签 名机制。 步骤S4,将带有扩展签名证书文件的安卓程序解压文件重新打包生成安卓程序文 件,完成扩展签名。 本专利技术的以上认证机构扩展签名步骤S本文档来自技高网...
【技术保护点】
一种面向安卓系统软件的扩展签名的实现方法,其特征在于包括以下步骤:步骤S1,获取开发者生成的安卓程序文件;步骤S2,对上述程序文件进行数字签名,生成扩展签名证书文件;步骤S3,将扩展签名证书文件存放在安卓程序文件中的META‑INF目录下;步骤S4,将带有扩展签名证书文件的安卓程序解压文件重新打包生成安卓程序文件,完成扩展签名。
【技术特征摘要】
【专利技术属性】
技术研发人员:何能强,云晓春,王宇,王明华,赵慧,张鸿江,徐晓燕,严寒冰,李佳,纪玉春,赵宸,金红,杨满智,王小华,陈普贵,
申请(专利权)人:国家计算机网络与信息安全管理中心,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。