CN111787529B - 适于Android智能POS机应用的签名方法和系统 - Google Patents

适于Android智能POS机应用的签名方法和系统 Download PDF

Info

Publication number
CN111787529B
CN111787529B CN202010690272.4A CN202010690272A CN111787529B CN 111787529 B CN111787529 B CN 111787529B CN 202010690272 A CN202010690272 A CN 202010690272A CN 111787529 B CN111787529 B CN 111787529B
Authority
CN
China
Prior art keywords
signature
application
data
terminal
signed
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
CN202010690272.4A
Other languages
English (en)
Other versions
CN111787529A (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.)
Jiangsu Haiquan Technology Co ltd
Original Assignee
Jiangsu Haiquan 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 Jiangsu Haiquan Technology Co ltd filed Critical Jiangsu Haiquan Technology Co ltd
Priority to CN202010690272.4A priority Critical patent/CN111787529B/zh
Publication of CN111787529A publication Critical patent/CN111787529A/zh
Application granted granted Critical
Publication of CN111787529B publication Critical patent/CN111787529B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0036Checkout procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种适于Android智能POS机应用的签名方法,包括:接收任意一个应用的上架请求,针对该应用,在不改变原生签名的前提下,调用签名动态库,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后将该应用上架应用商店;当终端通过应用商店下载应用后,依次对公钥证书、签名数据、终端型号、原生签名进行验证,所有验证过程通过后,将应用安装到终端内。本发明通过二次签名加固提高了终端应用的安全性,同时结合适配的相关终端型号对应用进行二次签名,从而使得终端在签名验证的初始阶段即可对应用与终端的兼容性做出判断,进一步提升用户体验。

Description

适于Android智能POS机应用的签名方法和系统
技术领域
本发明涉及终端应用管理技术领域,具体而言涉及一种适于Android智能POS机应用的签名方法和系统。
背景技术
移动终端,例如智能POS,已经成为现有收单系统中主要的收单工具,在智能终端中使用的应用程序,由于应用在网络中公开发布,存在应用被篡改,注入木马、广告,获取用户信息,严重影响金融行业的安全。
为了解决这一问题,现有应用通常设置有原生签名,服务端系统维护人员通过应用市场上架设置有原生签名的应用,终端从应用商店下载安装应用,对应用的原生签名做验证,签名签证过后,将应用安装到终端。但此种验签方式存在以下两种问题:
第一,只设置有原生签名的应用安全性能仍然较差,用户难以确保应用来源的安全性。
第二、现在Android端终端碎片化严重,市场上Android厂商都在推自己的ROM,同一个应用在不同的终端型号上兼容性,体验性很差,而这些特性只有在安装应用后才能发现不适配。
发明内容
本发明目的在于提供一种适于Android智能POS机应用的签名方法和系统,在应用上架时,对应用在不改变原生签名的前提下,用CA签名的签名证书对应用二次签名加固,同时将适配的相关终端型号写入应用。终端下载完应用,需要依次对公钥证书、签名数据、终端型号、原生签名进行验证。本发明一方面通过二次签名加固提高了终端应用的安全性,另一方面,结合适配的相关终端型号对应用进行二次签名,从而使得终端在签名验证的初始阶段即可对应用与终端的兼容性做出判断,进一步提升用户体验。
为达成上述目的,结合图1,本发明提出一种适于Android智能POS机应用的签名方法,所述签名方法包括:
接收任意一个应用的上架请求,针对该应用,在不改变原生签名的前提下,调用签名动态库,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后将该应用上架应用商店;
当终端通过应用商店下载应用后,调用安装在终端的验签动态库对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证,在前述所有验证过程均通过后,将应用安装到终端内。
进一步的实施例中,所述依次对公钥证书、签名数据、终端型号、原生签名进行验证是指,依次执行如下验证过程:
验证应用中的公钥证书是否使用CA签发;验证应用中的签名数据是否正确;验证该终端型号与应用匹配;原生签名是否正确。
进一步的实施例中,所述针对该应用,在不改变原生签名的前提下,调用签名动态库,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后上架应用商店包括以下步骤:
S11:调用签名动态库;
S12:采用签名动态库判断所述应用的原生签名的签名方式属于V1签名或V2签名,如果属于V1签名,进入步骤S13,如果属于V2签名,进入步骤S14;
S13:解析应用,在应用目录META-INF中读原生签名文件,CERT.SF,MANIFEST.MF,CERT.RSA,对三个文件分别做SM3哈希值,组成文件哈希数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据;
对待签名数据做摘要,使用CA签发的证书对摘要做签名,将应用支持的终端型号列表、当前时间、签名数据、签名算法、公钥证书组成待加密数据;
对待加密数据进行加密后写入签名文件HAIQUAN.CNS中;
将签名文件打包进应用目录META-INF中;
进入步骤S15;
S14:从原生签名数据块中提取原生签名数据,计算原生签名数据的哈希值(SM3),结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据;
对待签名数据做摘要(SM3或RSA256),使用CA签发的证书对摘要做签名,将应用支持的终端型号列表、当前时间、签名数据、签名算法、公钥证书组成待加密数据;
对待加密数据进行加密后写入原生签名数据块中;
进入步骤S15;
S15:将该应用上架应用商店。
进一步的实施例中,所述调用安装在终端的验签动态库对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证的过程包括以下步骤:
S21:调用验签动态库,对应用的签名方式进行判断,如果是V1签名,进入步骤S2,如果是V2签名,进入步骤S3;
S22:进入V1签名验证流程:
S221:读取目录中的HAIQUAN.CNS中的签名数据,对签名数据进行解密,提取出签名算法和终端型号列表;
S222:根据签名算法对验签的公钥证书使用CA证书验证,判断公钥证书是否合法,如果合法,进入步骤S223,否则,拒绝所述应用的安装请求,结束流程;
S223:验证终端所属型号是否存在于终端型号列表中,如果存在,进入步骤S224,否则,拒绝所述应用的安装请求,结束流程;
S224:在应用目录META-INF中读原生签名文件:CERT.SF、MANIFEST.MF、CERT.RSA,对三个文件分别做SM3哈希值,组成文件哈希数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据,对待签名数据做摘要,采用验签公钥证书对摘要数据进行验证,验证签名数据是否正确,如果正确,进入步骤S225,否则,拒绝所述应用的安装请求,结束流程;
S225:对应用的原生签名进行验证,如果验证通过,将该应用安装到终端内,结束流程,否则,拒绝所述应用的安装请求,结束流程;
S23:进入V2签名验证流程:
S231:读取签名块中的签名数据,对签名数据进行解密,提取出签名算法、终端型号列表;
S232:根据签名算法对验签的公钥证书使用CA证书验证,判断公钥证书是否合法,如果合法,进入步骤S223,否则,拒绝所述应用的安装请求,结束流程;
S233:验证终端所属型号是否存在于终端型号列表中,如果存在,进入步骤S234,否则,拒绝所述应用的安装请求,结束流程;
S234:读取原生签名块数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据,对待签名数据做摘要(SM3或RSA256),采用验签公钥证书对摘要数据进行验证,验证签名数据是否正确,如果正确,进入步骤S235,否则,拒绝所述应用的安装请求,结束流程;
S235:对应用的原生签名进行验证,如果验证通过,将该应用安装到终端内,结束流程,否则,拒绝所述应用的安装请求,结束流程。
进一步的实施例中,采用SM3或RSA256算法对待签名数据做摘要处理。
进一步的实施例中,采用SM4加密和/或BASE64对待加密数据进行加密。
基于前述签名方法,本发明还提及一种适于Android智能POS机应用的签名系统,所述签名系统包括:
(1)请求接收模块,用于接收任意一个应用的上架请求;
(2)签名动态库,用于针对所述应用,在不改变原生签名的前提下,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后,将该包含原始应用和已加密签名数据的已签名应用上架至应用商店;
(3)验签动态库,预置在终端内,用于当终端通过应用商店下载应用后,从已签名应用中提取出已加密的签名数据,对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证,在前述所有验证过程均通过后,将对应的原始应用安装到终端内。
以上本发明的技术方案,与现有相比,其显著的有益效果在于,
(1)通过二次签名加固提高了终端应用的安全性。
(2)结合适配的相关终端型号对应用进行二次签名,从而使得终端在签名验证的初始阶段即可对应用与终端的兼容性做出判断,进一步提升用户体验。
(3)针对原生签名的签名方式做二次签名流程划分,使本发明所提及的签名方法与大部分应用相适配。
(4)无需改变原生签名,减少签名和验签过程的复杂度,完整保留原生签名的原始特性。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是本发明的适于Android智能POS机应用的签名方法的流程图。
图2是针对应用进行二次签名的原理示意图。
图3是针对应用进行验证安装的原理示意图。
图4是针对V1签名方式的应用进行二次签名的流程示意图。
图5是针对V1签名方式的应用进行验签的流程示意图。
图6是针对V2签名方式的应用进行二次签名的流程示意图。
图7是针对V2签名方式的应用进行验签的流程示意图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
结合图1,本发明提出一种适于Android智能POS机应用的签名方法,所述签名方法包括:
接收任意一个应用的上架请求,针对该应用,在不改变原生签名的前提下,调用签名动态库,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后将该应用上架应用商店。
当终端通过应用商店下载应用后,调用安装在终端的验签动态库对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证,在前述所有验证过程均通过后,将应用安装到终端内。
优选的,所述依次对公钥证书、签名数据、终端型号、原生签名进行验证是指,依次执行如下验证过程:
验证应用中的公钥证书是否使用CA签发;验证应用中的签名数据是否正确;验证该终端型号与应用匹配;原生签名是否正确。
基于前述签名方法,本发明还提及一种适于Android智能POS机应用的签名系统,所述签名系统包括:
(1)请求接收模块,用于接收任意一个应用的上架请求;
(2)签名动态库,用于针对所述应用,在不改变原生签名的前提下,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后,将该包含原始应用和已加密签名数据的已签名应用上架至应用商店;
(3)验签动态库,预置在终端内,用于当终端通过应用商店下载应用后,从已签名应用中提取出已加密的签名数据,对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证,在前述所有验证过程均通过后,将对应的原始应用安装到终端内。
由图2、图3可知,在应用商店管理端,通过签名工具(签名动态库),结合机构工作证书(CA签名的签名证书)对应用(APK)进行二次签名和加密处理,得到已签名APK,将之上架至应用商店,已签名APK包括原始APK和对应的签名信息。所述签名信息中至少包括原生签名数据、签名证书、适配的相关终端型号、以及经多道程序处理后得到的二次签名数据等。当终端在应用商店下载该已签名APK后,调用预置的Jar验签工具(验签动态库)和CA证书,解密得到对应的签名信息,对该签名信息依次进行公钥证书、签名数据、终端型号、原生签名验证,只有所有验证全部通过,才会将对应的原始应用安装到终端内。由前述可知,本发明具有以下优点:第一,通过对应用所包含的各种数据进行处理以生成二次签名加固,从而确保终端下载到的应用足够安全;第二,二次签名中包含有适配的终端型号信息,并且验证次序仅次于公钥证书,在确保安全性的前提下,尽快识别出该应用与终端的兼容性,避免用户浪费更多的时间在不适配的应用上,提高用户体验,减轻终端运行负担;第三,无需改变原生签名,减少签名和验签过程的复杂度,完整保留原生签名的原始特性。
为了尽可能地保留原生签名的完整特性,本发明提出,针对原生签名的两种不同的签名方式,二次签名过程中做了适应性地调整。在一些例子中,所述签名过程包括以下步骤:
调用签名动态库,采用签名动态库判断所述应用的原生签名的签名方式属于V1签名或V2签名。
如果属于V1签名,解析应用,在应用目录META-INF中读原生签名文件,CERT.SF,MANIFEST.MF,CERT.RSA,对三个文件分别做SM3哈希值,组成文件哈希数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据。对待签名数据做摘要(例如,采用SM3或RSA256算法对待签名数据做摘要处理,下同),使用CA签发的证书对摘要做签名,将应用支持的终端型号列表、当前时间、签名数据、签名算法、公钥证书组成待加密数据。对待加密数据进行加密后写入签名文件HAIQUAN.CNS中(例如,采用SM4加密和/或BASE64对待加密数据进行加密,验签时的解密过程与加密过程对应)。将签名文件打包进应用目录META-INF中,再将该应用上架应用商店。
图4是针对V1签名方式的应用进行二次签名的流程示意图。
如果属于V2签名,从原生签名数据块中提取原生签名数据,计算原生签名数据的哈希值(SM3),结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据;对待签名数据做摘要(SM3或RSA256),使用CA签发的证书对摘要做签名,将应用支持的终端型号列表、当前时间、签名数据、签名算法、公钥证书组成待加密数据;对待加密数据进行加密后写入原生签名数据块中,再将该应用上架应用商店。
图6是针对V2签名方式的应用进行二次签名的流程示意图。
对应的,在验签过程中,针对前述两种不同的签名方式,也做出了适用性地调整,但基本原理仍是需要依次对公钥证书、签名数据、终端型号、原生签名进行验证。具体验证过程包括以下步骤:
调用验签动态库,对应用的签名方式进行判断。
如果是V1签名,进入V1签名验证流程:
S221:读取目录中的HAIQUAN.CNS中的签名数据,对签名数据进行解密,提取出签名算法和终端型号列表。
S222:根据签名算法对验签的公钥证书使用CA证书验证,判断公钥证书是否合法,如果合法,进入步骤S223,否则,拒绝所述应用的安装请求,结束流程。
S223:验证终端所属型号是否存在于终端型号列表中,如果存在,进入步骤S224,否则,拒绝所述应用的安装请求,结束流程。
S224:在应用目录META-INF中读原生签名文件:CERT.SF、MANIFEST.MF、CERT.RSA,对三个文件分别做SM3哈希值,组成文件哈希数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据,对待签名数据做摘要,采用验签公钥证书对摘要数据进行验证,验证签名数据是否正确,如果正确,进入步骤S225,否则,拒绝所述应用的安装请求,结束流程。
S225:对应用的原生签名进行验证,如果验证通过,将该应用安装到终端内,结束流程,否则,拒绝所述应用的安装请求,结束流程。
图5是针对V1签名方式的应用进行验签的流程示意图。
如果是V2签名,进入V2签名验证流程:
S231:读取签名块中的签名数据,对签名数据进行解密,提取出签名算法、终端型号列表。
S232:根据签名算法对验签的公钥证书使用CA证书验证,判断公钥证书是否合法,如果合法,进入步骤S223,否则,拒绝所述应用的安装请求,结束流程。
S233:验证终端所属型号是否存在于终端型号列表中,如果存在,进入步骤S234,否则,拒绝所述应用的安装请求,结束流程。
S234:读取原生签名块数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据,对待签名数据做摘要(SM3或RSA256),采用验签公钥证书对摘要数据进行验证,验证签名数据是否正确,如果正确,进入步骤S235,否则,拒绝所述应用的安装请求,结束流程。
S235:对应用的原生签名进行验证,如果验证通过,将该应用安装到终端内,结束流程,否则,拒绝所述应用的安装请求,结束流程。
图7是针对V2签名方式的应用进行验签的流程示意图。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (4)

1.一种适于Android智能POS机应用的签名方法,其特征在于,所述签名方法包括:
接收任意一个应用的上架请求,针对该应用,在不改变原生签名的前提下,调用签名动态库,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后将该应用上架应用商店;
当终端通过应用商店下载应用后,调用安装在终端的验签动态库对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证,在前述所有验证过程均通过后,将应用安装到终端内;
所述依次对公钥证书、签名数据、终端型号、原生签名进行验证是指,依次执行如下验证过程:
验证应用中的公钥证书是否使用CA签发;验证应用中的签名数据是否正确;验证该终端型号与应用匹配;原生签名是否正确;
所述针对该应用,在不改变原生签名的前提下,调用签名动态库,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后上架应用商店包括以下步骤:
S11:调用签名动态库;
S12:采用签名动态库判断所述应用的原生签名的签名方式属于V1签名或V2签名,如果属于V1签名,进入步骤S13,如果属于V2签名,进入步骤S14;
S13:解析应用,在应用目录META-INF中读原生签名文件,CERT.SF,MANIFEST.MF,CERT.RSA,对三个文件分别做SM3哈希值,组成文件哈希数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据;
对待签名数据做摘要,使用CA签发的证书对摘要做签名,将应用支持的终端型号列表、当前时间、签名数据、签名算法、公钥证书组成待加密数据;
对待加密数据进行加密后写入签名文件HAIQUAN.CNS中;
将签名文件打包进应用目录META-INF中;
进入步骤S15;
S14:从原生签名数据块中提取原生签名数据,计算原生签名数据的哈希值,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据;
对待签名数据做摘要,使用CA签发的证书对摘要做签名,将应用支持的终端型号列表、当前时间、签名数据、签名算法、公钥证书组成待加密数据;
对待加密数据进行加密后写入原生签名数据块中;
进入步骤S15;
S15:将该应用上架应用商店;
所述调用安装在终端的验签动态库对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证的过程包括以下步骤:
S21:调用验签动态库,对应用的签名方式进行判断,如果是V1签名,进入步骤S22,如果是V2签名,进入步骤S23;
S22:进入V1签名验证流程:
S221:读取目录中的HAIQUAN.CNS中的签名数据,对签名数据进行解密,提取出签名算法和终端型号列表;
S222:根据签名算法对验签的公钥证书使用CA证书验证,判断公钥证书是否合法,如果合法,进入步骤S223,否则,拒绝所述应用的安装请求,结束流程;
S223:验证终端所属型号是否存在于终端型号列表中,如果存在,进入步骤S224,否则,拒绝所述应用的安装请求,结束流程;
S224:在应用目录META-INF中读原生签名文件:CERT.SF、MANIFEST.MF、CERT.RSA,对三个文件分别做SM3哈希值,组成文件哈希数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据,对待签名数据做摘要,采用验签公钥证书对摘要数据进行验证,验证签名数据是否正确,如果正确,进入步骤S225,否则,拒绝所述应用的安装请求,结束流程;
S225:对应用的原生签名进行验证,如果验证通过,将该应用安装到终端内,结束流程,否则,拒绝所述应用的安装请求,结束流程;
S23:进入V2签名验证流程:
S231:读取签名块中的签名数据,对签名数据进行解密,提取出签名算法、终端型号列表;
S232:根据签名算法对验签的公钥证书使用CA证书验证,判断公钥证书是否合法,如果合法,进入步骤S223,否则,拒绝所述应用的安装请求,结束流程;
S233:验证终端所属型号是否存在于终端型号列表中,如果存在,进入步骤S234,否则,拒绝所述应用的安装请求,结束流程;
S234:读取原生签名块数据,结合签名的当前时间、应用支持的终端型号列表、签名机构组成待签名数据,对待签名数据做摘要,采用验签公钥证书对摘要数据进行验证,验证签名数据是否正确,如果正确,进入步骤S235,否则,拒绝所述应用的安装请求,结束流程;
S235:对应用的原生签名进行验证,如果验证通过,将该应用安装到终端内,结束流程,否则,拒绝所述应用的安装请求,结束流程。
2.根据权利要求 1所述的适于Android智能POS机应用的签名方法,其特征在于,采用SM3或RSA256算法对待签名数据做摘要处理。
3.根据权利要求1所述的适于Android智能POS机应用的签名方法,其特征在于,采用SM4加密和/或BASE64对待加密数据进行加密。
4.一种适于Android智能POS机应用的签名系统,其特征在于,所述签名系统采用如权利要求1-3任一项所述签名方法对应用进行管理,包括:
请求接收模块,用于接收任意一个应用的上架请求;
签名动态库,用于针对所述应用,在不改变原生签名的前提下,采用CA签名的签名证书对该应用进行二次签名加固,同时把适用的相关终端型号写入签名数据中,对签名数据加密后,将包含原始应用和已加密签名数据的已签名应用上架至应用商店;
验签动态库,预置在终端内,用于当终端通过应用商店下载应用后,从已签名应用中提取出已加密的签名数据,对加密后的签名数据进行解密,并且依次对公钥证书、签名数据、终端型号、原生签名进行验证,在前述所有验证过程均通过后,将对应的原始应用安装到终端内。
CN202010690272.4A 2020-07-17 2020-07-17 适于Android智能POS机应用的签名方法和系统 Active CN111787529B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010690272.4A CN111787529B (zh) 2020-07-17 2020-07-17 适于Android智能POS机应用的签名方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010690272.4A CN111787529B (zh) 2020-07-17 2020-07-17 适于Android智能POS机应用的签名方法和系统

Publications (2)

Publication Number Publication Date
CN111787529A CN111787529A (zh) 2020-10-16
CN111787529B true CN111787529B (zh) 2021-06-29

Family

ID=72763574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010690272.4A Active CN111787529B (zh) 2020-07-17 2020-07-17 适于Android智能POS机应用的签名方法和系统

Country Status (1)

Country Link
CN (1) CN111787529B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134711B (zh) * 2020-09-24 2021-05-07 深圳市捷诚技术服务有限公司 Apk签名信息的安全验证方法、装置以及pos机
CN112447014B (zh) * 2020-11-25 2022-10-14 惠尔丰信息系统有限公司 一种应用于安全支付pos机的控制方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886260A (zh) * 2014-04-16 2014-06-25 中国科学院信息工程研究所 一种基于二次签名验签技术的应用程序管控方法
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
CN103944903A (zh) * 2014-04-23 2014-07-23 福建联迪商用设备有限公司 一种多方授权的apk签名方法及系统
CN105391717A (zh) * 2015-11-13 2016-03-09 福建联迪商用设备有限公司 一种apk签名认证方法及其系统
CN106909357A (zh) * 2015-12-22 2017-06-30 中国移动通信集团公司 一种应用程序渠道信息获取方法和装置
CN107769924A (zh) * 2017-09-11 2018-03-06 福建新大陆支付技术有限公司 校验pos机apk签名的方法及系统
CN109214146A (zh) * 2018-08-10 2019-01-15 北京邮电大学 应用软件的签名方法、验签方法和装置
CN109756340A (zh) * 2018-12-03 2019-05-14 深圳市新国都支付技术有限公司 一种数字验签方法、装置和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10201509221YA (en) * 2015-11-06 2017-06-29 Huawei Int Pte Ltd System and method for managing installation of an application package requiring high-risk permission access
CN106126297A (zh) * 2016-06-30 2016-11-16 西安诺瓦电子科技有限公司 基于Android操作系统的系统升级方法
CN106375095A (zh) * 2016-09-02 2017-02-01 中科信息安全共性技术国家工程研究中心有限公司 一种对apk完整性保护的方法
CN106656513B (zh) * 2017-02-24 2019-09-13 福建魔方电子科技有限公司 安卓平台上apk文件的二次打包签名验证方法
CN107463806B (zh) * 2017-06-20 2020-08-14 国家计算机网络与信息安全管理中心 一种Android应用程序安装包的签名和验签方法
WO2019080110A1 (zh) * 2017-10-27 2019-05-02 福建联迪商用设备有限公司 一种 apk 签名认证方法及系统
CN110531990A (zh) * 2019-07-26 2019-12-03 苏州浪潮智能科技有限公司 软件安装方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886260A (zh) * 2014-04-16 2014-06-25 中国科学院信息工程研究所 一种基于二次签名验签技术的应用程序管控方法
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
CN103944903A (zh) * 2014-04-23 2014-07-23 福建联迪商用设备有限公司 一种多方授权的apk签名方法及系统
CN105391717A (zh) * 2015-11-13 2016-03-09 福建联迪商用设备有限公司 一种apk签名认证方法及其系统
CN106909357A (zh) * 2015-12-22 2017-06-30 中国移动通信集团公司 一种应用程序渠道信息获取方法和装置
CN107769924A (zh) * 2017-09-11 2018-03-06 福建新大陆支付技术有限公司 校验pos机apk签名的方法及系统
CN109214146A (zh) * 2018-08-10 2019-01-15 北京邮电大学 应用软件的签名方法、验签方法和装置
CN109756340A (zh) * 2018-12-03 2019-05-14 深圳市新国都支付技术有限公司 一种数字验签方法、装置和存储介质

Also Published As

Publication number Publication date
CN111787529A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN112507328B (zh) 一种文件签名方法、计算设备及存储介质
CN105391717A (zh) 一种apk签名认证方法及其系统
CN111787529B (zh) 适于Android智能POS机应用的签名方法和系统
CN110784466B (zh) 信息认证方法、装置和设备
CN104426658B (zh) 对移动终端上的应用进行身份验证的方法及装置
CN108170461B (zh) 差分升级包生成方法、差分升级方法及装置
US20100011225A1 (en) Information terminal, security device, data protection method, and data protection program
CN112560017B (zh) 一种使用三级证书认证实现apk统一签名的方法
CN104573527A (zh) 一种基于更新安全机制的uefi系统更新方法
CN111859415A (zh) 神经网络模型加密系统和方法
CN109756340B (zh) 一种数字验签方法、装置和存储介质
CN114499892B (zh) 固件启动方法、装置、计算机设备及可读存储介质
CN103297816A (zh) 一种安全下载方法及数字电视接收终端
CN112491557B (zh) 一种智能音箱操作系统ota包升级方法及系统
CN112751825B (zh) 基于ssl证书的软件源发布权限控制方法及系统
CN115242413A (zh) 物联网设备固件安全升级方法、装置、电子设备及介质
CN113079025A (zh) 兼容多种公开密钥算法签名的方法和系统
CN114040221B (zh) 基于机顶盒服务器端双签名的安全认证的防拷贝方法
CN110851821A (zh) 一种Android智能设备APK安全管控方法
CN114928602A (zh) 加密方法、解密方法及ota升级系统
CN114661314A (zh) 车载终端文件加密升级的方法、装置、终端设备及存储介质
CN113032773A (zh) 一种软件的安全应用方法和装置
CN109189450A (zh) 一种服务器固件升级的方法及装置
CN111274552A (zh) 一种升级包的签名及验签方法、存储介质
CN114296756B (zh) 一种固态硬盘更新方法、固态硬盘和后台服务器

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
GR01 Patent grant
GR01 Patent grant