[发明专利]兼容安卓应用的服务签名方法与装置有效
申请号: | 201410300232.9 | 申请日: | 2014-06-26 |
公开(公告)号: | CN104092544B | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 罗文;骆俊瑞;黄子河;刘法旺;杨玚;严宏君;马会丽;庞思铭 | 申请(专利权)人: | 工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) |
主分类号: | H04L9/32 | 分类号: | H04L9/32;G06F21/51 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
地址: | 100044 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 兼容 应用 服务 签名 方法 装置 | ||
1.一种兼容安卓应用的服务签名方法,其特征在于,包括具体以下步骤:
S1:对应用程序软件包除开发者签名外的所有数据文件列出清单LIST,并完成兼容安卓应用的服务签名操作;
S2:通过使用服务自身标识证书或标识公钥对所述兼容安卓应用的服务签名进行验证;
其中,所述步骤S1进一步包括:
S11:将所述清单LIST中所有数据文件进行摘要操作得到摘要信息;
S12:将得到的所有所述摘要信息组成一个字符串MSG;
S13:通过使用服务方证书私钥对所述MSG进行数字签名,获得签名值SIG;
S14:在软件包中预先创建的META-INF目录中创建和服务方提供的预设业务名称相关的目录,并在此目录中创建服务签名文件存储所述签名值SIG,并存储包含所有相关摘要的文件路径名的清单文件。
2.如权利要求1所述的方法,其特征在于,所述步骤S14进一步包括:在软件包中的所述META-INF目录中生成一个以服务方域名中顶级域名命名的目录,即为第一目录,在所述第一目录中嵌套创建一个服务方域名倒数第二段字符串命名的目录,即为第二目录,进一步在所述第二目录中创建一个以服务方域名倒数第三段字符串命名的目录,以此类推,直至服务方域名第一段字符串为止。
3.如权利要求1所述的方法,其特征在于,所述步骤S2进一步包括:
S21:解析应用程序包apk文件,根据自身服务方名称找到对应的服务签名文件存储目录,并从所述存储目录中找到预设业务名称对应的摘要文件清单;
S22:枚举应用程序包中META-INF目录外所有文件,检查枚举到的文件中是否存在摘要文件清单内容之外的文件,如果存在则服务签名验证失败;
S23:读取清单文件中列出的所有数据文件进行摘要操作得到摘要信息,将所有数据文件摘要信息组成一个字符串MSG;
S24:从预先创建的META-INF目录中读取服务签名文件的所述签名值SIG;
S25:通过使用业务证书,MSG、SIG三个因子进行签名验证运算,得到验证结果RESULT_VER,如果验证成功,RESULT_VER为真;否则RESULT_VER为假,服务签名验证失败。
4.如权利要求1所述的方法,其特征在于,所述步骤S2进一步包括:枚举应用程序包中META-INF目录内部所述开发者签名文件与预设业务对应的服务签名文件之外的文件,检查枚举到的文件中是否存在读取的摘要文件清单内容之外的文件,如果存在,验证结果RESULT_CHK为假,服务签名验证失败;否则RESULT_CHK为真,服务签名验证成功。
5.一种兼容安卓应用的服务签名装置,其特征在于,包括:
服务数字签名模块,用于对应用程序软件包除开发者签名外的所有数据文件列出清单LIST,并完成兼容安卓应用的服务签名操作;
服务签名验证模块,用于通过使用服务自身标识证书或标识公钥对所述兼容安卓应用的服务签名进行验证;
其中,所述服务数字签名模块包括:
第一摘要操作单元,用于将所述清单LIST中所有数据文件进行摘要操作得到摘要信息;
第一组串单元,用于将得到的所有所述摘要信息组成一个字符串MSG;
第一签名值获取单元,用于通过使用服务方证书私钥对所述MSG进行数字签名,获得签名值SIG;
存储单元,用于在软件包中预先创建的META-INF目录中创建和服务方提供的预设业务名称相关的目录,并在此目录中创建服务签名文件存储所述签名值SIG,并存储包含所有相关摘要的文件路径名的清单文件。
6.如权利要求5所述的装置,其特征在于,所述服务签名验证模块包括:
解析单元,用于解析应用程序包apk文件,根据自身服务方名称找到对应的服务签名文件存储目录,并从所述存储目录中找到预设业务名称对应的摘要文件清单;
枚举检查单元,用于枚举应用程序包中META-INF目录外所有文件,检查枚举到的文件中是否存在摘要文件清单内容之外的文件,如果存在则服务签名验证失败;
第二摘要操作单元,用于读取清单文件中列出的所有数据文件进行摘要操作得到摘要信息;
第二组串单元,用于将所有数据文件摘要信息组成一个字符串MSG;
第二签名值获取单元,用于从预先创建的META-INF目录中读取服务签名文件的所述签名值SIG;
验证单元,用于通过使用业务证书,MSG、SIG三个因子进行签名验证运算,得到验证结果RESULT_VER,如果验证成功,RESULT_VER为真;否则RESULT_VER为假,服务签名验证失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于工业和信息化部计算机与微电子发展研究中心(中国软件评测中心),未经工业和信息化部计算机与微电子发展研究中心(中国软件评测中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410300232.9/1.html,转载请声明来源钻瓜专利网。