[发明专利]校验POS机APK签名的方法及系统有效
申请号: | 201710811612.2 | 申请日: | 2017-09-11 |
公开(公告)号: | CN107769924B | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 王震懿;刘坤坤;严明;郑凯 | 申请(专利权)人: | 福建新大陆支付技术有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;G07G1/12 |
代理公司: | 厦门原创专利事务所(普通合伙) 35101 | 代理人: | 吴廷正 |
地址: | 350015 福建省福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 校验 pos apk 签名 方法 系统 | ||
1.一种校验POS机APK签名的方法,其特征在于,至少包括如下步骤:
S1:收单机构根据根证书生成工作证书及第一根证书请求文件;
S2:收单机构将所述第一根证书请求文件发送给POS机厂商,POS机厂商根据厂商证书链管理所述第一根证书请求文件,并导入到POS机上;
S3:收单机构使用所述工作证书对原始apk文件进行签名,以生成带签名的apk文件;
S4:POS机校验所述带签名的apk文件的合法性;
其中,步骤S1具体为:
S11:收单机构通过加密机生成根公钥及根私钥,并使用跟私钥对根公钥及根证书信息进行签名,生成自签名的第一根证书及第一根证书请求文件;
S12:收单机构通过加密机生成工作公钥及工作私钥,并使用工作私钥对工作公钥及证书信息进行签名,生成工作证书请求文件;
S13:收单机构根据根私钥对所述工作证书请求文件进行签发,生成工作证书;
步骤S2具体为:
S21:收单机构将所述第一根证书请求文件发送给POS机厂商,POS机厂商验证后,使用厂商证书私钥对所述第一根证书请求文件进行签名,生成第二根证书;
S22:厂商通过预置在POS机安全区的厂商证书验证所述第二根证书,并在验证通过后,导入到POS机上;
步骤S3具体为:
S31:收单机构对原始apk文件进行摘要计算,获得原始apk文件对应的摘要值;
S32:按照PKCS规范填充摘要值,并使用工作证书私钥对所述摘要值进行运算,获得签名值;
S33:组装所述签名值、第一根证书、工作证书及附加信息,以生成签名文件;
S34:将所述签名文件导入到原始apk文件中,生成带签名的apk文件;
步骤S4具体为:
S41:POS机从带签名的apk文件中提取出所述签名文件,还原出原始apk文件,并从所述签名文件中解析出签名值、第一根证书、工作证书及证书主体信息;
S42:比对解析出的证书主体信息是否与POS机存储的第二根证书的证书主体信息一致,
若不一致,则执行步骤S5:验证失败,拒绝安装原始apk文件;
若一致,则执行步骤S43:比对第二根证书公钥是否与步骤S41解析出的第一根证书公钥一致,
若不一致,则执行步骤S5;
若一致,则执行步骤S44:使用步骤S41解析出的第一根证书验证工作证书的合法性,
若验证不通过,则执行步骤S5;
若验证通过,则执行步骤S45:使用工作证书验证所述原始apk文件的签名值;
若验证不通过,则执行步骤S5;
若验证通过,则执行步骤S46:调用安卓标准流程安装原始apk文件。
2.根据权利要求1所述校验POS机APK签名的方法,其特征在于,所述证书信息包括证书主体信息、颁发者信息、有效期及序列号。
3.根据权利要求1所述校验POS机APK签名的方法,其特征在于,步骤S22之后,还包括步骤S23:在POS机在定时自检时,对所述第二根证书进行循环检测,以确保POS机的第二根证书的真实性及完整性。
4.根据权利要求1所述校验POS机APK签名的方法,其特征在于,步骤S45具体为:
S451:使用工作证书公钥对签名值进行运算,获得带填充的原始apk文件的摘要值;
S452:去除填充,获得原始apk文件的还原摘要值;
S453:使用设定的摘要算法,对S41步骤中还原出的原始apk文件作运算,获得计算摘要值;
S454:比对所述还原摘要值与所述计算摘要值。
5.一种校验POS机APK签名的系统,其加载有权利要求1至4之一所述的方法,所述系统包括POS机、POS机厂商及收单机构,其特征在于:
收单机构根据根证书生成工作证书及第一根证书请求文件;
收单机构将所述第一根证书请求文件发送给POS机厂商,POS机厂商根据厂商证书链管理所述第一根证书请求文件,并导入到POS机上;
收单机构使用所述工作证书对原始apk文件进行签名,以生成带签名的apk文件;
POS机校验所述带签名的apk文件的合法性;
其中,
POS机从带签名的apk文件中提取出签名文件,还原原始apk文件,并从所述签名文件中解析出签名值、第一根证书、工作证书及证书主体信息;
比对解析出的证书主体信息是否与POS机存储的第二根证书的证书主体信息一致,
若不一致,则验证失败,拒绝安装原始apk文件;
若一致,则比对第二根证书公钥是否与解析出的第一根证书公钥一致,
若不一致,则验证失败,拒绝安装原始apk文件;
若一致,则使用解析出的第一根证书验证工作证书的合法性,
若验证不通过,则验证失败,拒绝安装原始apk文件;
若验证通过,则使用工作证书验证所述原始apk文件的签名值;
若验证不通过,则验证失败,拒绝安装原始apk文件;
若验证通过,则调用安卓标准流程安装原始apk文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建新大陆支付技术有限公司,未经福建新大陆支付技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710811612.2/1.html,转载请声明来源钻瓜专利网。