CN106155663A - 应用程序加载代码签名的方法和装置 - Google Patents

应用程序加载代码签名的方法和装置 Download PDF

Info

Publication number
CN106155663A
CN106155663A CN201510179073.6A CN201510179073A CN106155663A CN 106155663 A CN106155663 A CN 106155663A CN 201510179073 A CN201510179073 A CN 201510179073A CN 106155663 A CN106155663 A CN 106155663A
Authority
CN
China
Prior art keywords
application program
signature
requesting party
code
signing messages
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.)
Withdrawn
Application number
CN201510179073.6A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510179073.6A priority Critical patent/CN106155663A/zh
Priority to PCT/CN2015/083878 priority patent/WO2016165215A1/zh
Publication of CN106155663A publication Critical patent/CN106155663A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种应用程序加载代码签名的方法,包括:接收请求方发送的代码签名请求,代码签名请求包括请求方的身份信息和待签名的应用程序;验证请求方的身份信息;在请求方的身份信息验证通过后,采用认证机构授权的签名私钥对应用程序加载代码签名;在备份记录中备份本次签名后的应用程序、以及应用程序的本次签名信息。本发明还公开了一种应用程序加载代码签名的装置。本发明认证机构授权的私钥存放在服务器中,统一由服务器对需要签名的应用程序加载代码签名,避免了非法用户恶意篡改或盗用代码签名,防止私钥外泄,也有利于对代码签名的统一管理,进一步提高签名的安全性,确保应用程序安全传播与使用。

Description

应用程序加载代码签名的方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及应用程序加载代码签名的方法和装置。
背景技术
随着终端技术的发展,越来越多的应用程序被开发和安装使用,在为广大用户提供方便的同时,也带来了许多安全风险。为了避免用户下载安装到不安全的非法应用程序造成终端安全问题,终端所安装的系统程序对下载到终端上的应用程序进行验证,验证方式是由终端的系统程序对下载的待安装应用程序的代码签名进行校验,以识别软件来源以及软件开发者的真实身份,代码签名通常是由终端系统程序的认证机构授权给应用发布方,并由应用发布方加载在应用程序中。
但是代码签名可能存在篡改的风险,应用发布方将他人开发的应用程序中原有的代码签名强制删除,再用自己拥有的代码签名重新覆盖后再进行发布,使应用程序的标识变为自己的标识,导致应用程序归属不明确。更有甚者,代码签名被非法发布方获得,就可能被非法发布方用来发布非法应用,对用户终端安全造成极大的威胁。
发明内容
本发明的主要目的为提供一种应用程序加载代码签名的方法和装置,避免恶意篡改或盗用代码签名,提高应用程序的安全性。
本发明提出一种应用程序加载代码签名的方法,包括步骤:
接收请求方发送的代码签名请求,所述代码签名请求包括所述请求方的身份信息和待签名的应用程序;
验证所述请求方的身份信息;
在所述请求方的身份信息验证通过后,采用认证机构授权的签名私钥对所述应用程序加载代码签名;
在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息。
优选地,所述采用认证机构授权的签名私钥对所述应用程序加载代码签名的步骤包括:
采用认证机构授权的签名私钥对所述应用程序加载代码签名,并根据所述应用程序的标识信息、本次签名的时间和签名私钥加密所述应用程序的代码签名。
优选地,所述在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息的步骤包括:
判断所述备份记录中是否有所述应用程序的历史签名信息;
如果是,则将所述备份记录中的所述应用程序更新为本次签名后的所述应用程序,将所述历史签名信息更新为所述本次签名信息;
如果否,则根据所述应用程序的标识信息在所述备份记录中创建所述应用程序的记录,所述记录中包括所述应用程序的标识信息和本次签名信息,并对应于所述应用程序的记录保存本次签名后的所述应用程序。
优选地,所述验证所述请求方的身份信息的步骤之后还包括:
当所述请求方的身份信息验证未通过时,拒绝签名所述应用程序;
在所述备份记录中查找所述应用程序的历史签名信息;
当查找到所述应用程序的历史签名信息时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方,或发送更新提示信息至所述请求方。
优选地,所述在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息的步骤之后还包括:
接收请求方或使用方上报的所述应用程序的当前签名信息;
比较上报的所述应用程序的当前签名信息与所述备份记录中备份的所述应用程序的历史签名信息是否一致;
当上报的当前签名信息与备份的历史签名信息不一致时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方或使用方,或发送更新提示信息至所述请求方或使用方。
本发明还提出一种应用程序加载代码签名的装置,包括:
接收模块,用于接收请求方发送的代码签名请求,所述代码签名请求包括所述请求方的身份信息和待签名的应用程序;
验证模块,用于验证所述请求方的身份信息;
签名模块,用于在所述请求方的身份信息验证通过后,采用认证机构授权的签名私钥对所述应用程序加载代码签名;
备份模块,用于在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息。
优选地,所述签名模块具体用于:
采用认证机构授权的签名私钥对所述应用程序加载代码签名,并根据所述应用程序的标识信息、本次签名的时间和签名私钥加密所述应用程序的代码签名。
优选地,所述备份模块具体用于:
判断所述备份记录中是否有所述应用程序的历史签名信息;
如果是,则将所述备份记录中的所述应用程序更新为本次签名后的所述应用程序,将所述历史签名信息更新为所述本次签名信息;
如果否,则根据所述应用程序的标识信息在所述备份记录中创建所述应用程序的记录,所述记录中包括所述应用程序的标识信息和本次签名信息,并对应于所述应用程序的记录保存本次签名后的所述应用程序。
优选地,所述应用程序加载代码签名的装置,还包括发送模块;
所述签名模块还用于,当所述请求方的身份信息验证未通过时,拒绝签名所述应用程序;
所述备份模块还用于,在所述备份记录中查找所述应用程序的历史签名信息;
所述发送模块,用于当查找到所述应用程序的历史签名信息时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方,或发送更新提示信息至所述请求方。
优选地,所述应用程序加载代码签名的装置,还包括比较模块;
所述接收模块还用于,接收请求方或使用方上报的所述应用程序的当前签名信息;
所述比较模块用于,比较上报的所述应用程序的当前签名信息与所述备份记录中备份的所述应用程序的历史签名信息是否一致;
所述发送模块还用于,当上报的当前签名信息与备份的历史签名信息不一致时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方或使用方,或发送更新提示信息至所述请求方或使用方。
本发明认证机构授权的私钥存放在服务器中,统一由服务器对需要签名的应用程序加载代码签名,避免了非法用户恶意篡改或盗用代码签名,防止私钥外泄,也有利于对代码签名的统一管理,进一步提高签名的安全性,确保应用程序安全传播与使用。
附图说明
图1为本发明应用程序加载代码签名的方法第一实施例的流程图;
图2为本发明应用程序加载代码签名的方法第二实施例的流程图;
图3为本发明应用程序加载代码签名的方法第三实施例的流程图;
图4为本发明应用程序加载代码签名的方法第四实施例的流程图;
图5为本发明应用程序加载代码签名的方法第五实施例的流程图;
图6为本发明应用程序加载代码签名的装置第一实施例的结构示意图;
图7为本发明应用程序加载代码签名的装置第二实施例的结构示意图;
图8为本发明应用程序加载代码签名的装置第三实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1为本发明应用程序加载代码签名的方法第一实施例的流程图。本实施例提出的应用程序加载代码签名的方法,包括:
步骤S10,接收请求方发送的代码签名请求;
本实施例中,为了提高代码签名的安全性,统一通过服务器实现对需要发布的应用程序加载代码签名。具体的,应用程序发布者需要发布应用程序前,作为请求方向服务器发送代码签名请求,代码签名请求中包括有请求方的身份信息和待签名的应用程序。请求方可以通过终端或第三方服务器来与本实施例中用于加载签名的服务器联网,并上报请求。
步骤S20,验证请求方的身份信息;
服务器对请求方的身份进行校验,验证该请求方是否为合法用户、是否具有签名权限,即是否已被认证机构授权允许开发该待签名的应用程序。
步骤S30,在请求方的身份信息验证通过后,采用认证机构授权的签名私钥对应用程序加载代码签名;
在服务器完成对请求方的身份验证后,采用签名私钥对应用程序加载代码签名。为了确保签名的安全性,防止私钥外泄,本实施例将认证机构授权的私钥存放在服务器中,统一由服务器对需要签名的应用程序加载代码签名,避免了非法用户恶意篡改或盗用代码签名,也有利于对代码签名的统一管理。
步骤S40,在备份记录中备份本次签名后的应用程序、以及应用程序的本次签名信息。
在完成签名后,服务器对本次签名的信息和签名后的应用程序备份,备份的签名信息包括应用程序的标识信息和签名后的信息,必要时也可以包括签名前的原始信息。备份的信息可以按照加载签名的时间顺序排列,或通过覆盖更新的方式只存储最近依次加载签名的信息。已签名的应用程序可以直接通过服务器发布,或由服务器下发至请求方,再由请求方自行发布。
由于本实施例中认证机构授权的私钥存放在服务器中,统一由服务器对需要签名的应用程序加载代码签名,避免了非法用户恶意篡改或盗用代码签名,防止私钥外泄,也有利于对代码签名的统一管理,进一步提高签名的安全性,确保应用程序安全传播与使用。
如图2所示,图2为本发明应用程序加载代码签名的方法第二实施例的流程图。本实施例包括图1所示实施例中的所有步骤,具体对步骤S30详细说明,步骤S30包括:
步骤S31,采用认证机构授权的签名私钥对应用程序加载代码签名,并根据应用程序的标识信息、本次签名的时间和签名私钥加密应用程序的代码签名。
为了确保签名的唯一性,服务器在为应用程序加载代码签名的同时,还采用签名私钥对应用程序的代码签名加密,在代码签名中增加一部分加密信息,由于在加密时还添加了应用程序的标识信息和本次签名的时间等因素,即使是同一款应用程序,在不同时间加载签名的加密信息都不相同,有利于进一步提高签名的安全性。
如图3所示,图3为本发明应用程序加载代码签名的方法第三实施例的流程图。本实施例包括图1所示实施例中的所有步骤,具体对步骤S40详细说明,步骤S40包括:
步骤S41,判断备份记录中是否有应用程序的历史签名信息;如果是,则执行步骤S42;如果否,则执行步骤S43;
完成本次签名的应用程序可能并不是首次加载签名,如果不是首次签名的应用程序,则在该应用程序前一次加载签名时已经在服务器中有过备份,那么在服务器的备份记录就可以找到该应用程序前一次加载签名时的备份文件。
步骤S42,将备份记录中的应用程序更新为本次签名后的应用程序,将历史签名信息更新为本次签名信息;
在找到前一次的备份记录后,通过覆盖更新的方式,将备份记录中的应用程序和签名信息均更新为本次签名的内容。采用覆盖更新的方式有利于节约服务器的存储空间。
步骤S43,根据应用程序的标识信息在备份记录中创建应用程序的记录,记录中包括应用程序的标识信息和本次签名信息,并对应于应用程序的记录保存本次签名后的应用程序。
如果本次完成签名加载的应用程序是首次加载签名,则在服务器的备份记录中没有该应用程序的相关信息,可以在备份记录中创建一个新的记录,用于记录本次签名后的应用程序的标识信息、签名信息和签名后的应用程序。在下一次对该应用程序加载新的代码签名后,可通过该应用程序的标识信息查找到该应用程序的记录,并更新相应的签名信息和应用程序。本实施例通过备份签名记录,对已签名的应用程序和应用程序的代码签名统一管理,提高了应用程序的安全性。
如图4所示,图4为本发明应用程序加载代码签名的方法第四实施例的流程图。本实施例包括图1所示实施例中的所有步骤,还增加了对身份验证不通过的请求方的处理流程,具体是在步骤S20之后还包括:
步骤S51,当请求方的身份信息验证未通过时,拒绝签名应用程序;
本实施例在验证请求方身份时,对于没有签名权限的请求方拒绝签名此次上传的应用程序,则该应用程序由于无法加载代码签名而不能发布,即使发布了,由于在使用方终端的系统程序无法通过签名校验,不能被系统程序识别,进而不能在系统上正常运行,避免了非法应用程序对终端系统的危害。
步骤S52,在备份记录中查找应用程序的历史签名信息;
步骤S53,当查找到应用程序的历史签名信息时,将备份记录中备份的应用程序的最新版本发送至请求方,或发送更新提示信息至请求方。
为进一步提高应用程序安全性,服务器还可以在备份记录中查找与请求方上传的应用程序相同或近似的应用程序,并将已备份的应用程序下发给请求方,由于已备份的应用程序是已加载代码签名的应用程序,且是安全的应用程序,请求方可将请求方终端或第三方服务器上的应用程序及时更新为服务器发送的应用程序,提高应用程序使用的安全性。当然,服务器也可以只向请求方发送提示信息,由请求方自行选择是否下载和安装服务器备份的应用程序。
如图5所示,图5为本发明应用程序加载代码签名的方法第五实施例的流程图。本实施例包括图1所示实施例中的所有步骤,还增加了对上报的应用程序一致性验证的处理流程,具体是在步骤S40之后还包括:
步骤S61,接收请求方或使用方上报的应用程序的当前签名信息;
为了进一步提高安全应用程序的使用,在各应用程序中可预先设置一个上报程序,一旦请求方或使用方的终端连接互联网,即触发该上报程序,并由请求方或使用方的终端向服务器上报该终端上安装的应用程序的签名信息。
步骤S62,比较上报的应用程序的当前签名信息与备份记录中备份的应用程序的历史签名信息是否一致;
步骤S63,当上报的当前签名信息与备份的历史签名信息不一致时,将备份记录中备份的应用程序的最新版本发送至请求方或使用方,或发送更新提示信息至请求方或使用方。
服务器在接收到上报的签名信息后,将其与备份的签名信息进行比较,判断是否一致,如果一致,则说明该应用程序的签名未被篡改,应用程序是安全的,如果不一致,则该应用程序可能存在签名被篡改的风险,或该应用程序不是当前发布的最新版本,有必要将终端中的应用程序更新。服务器可向请求方或使用方的终端发送备份记录中的最新版本的应用程序,或提示用户安装该最新版本,确保了应用程序使用的安全性。
如图6所示,图6为本发明应用程序加载代码签名的装置第一实施例的结构示意图。本实施例提出的应用程序加载代码签名的装置,设置在服务器上,包括:
接收模块10,用于接收请求方发送的代码签名请求,代码签名请求中包括有请求方的身份信息和待签名的应用程序;
验证模块20,用于验证请求方的身份信息;
签名模块30,用于在请求方的身份信息验证通过后,采用认证机构授权的签名私钥对应用程序加载代码签名;
备份模块40,用于在备份记录中备份本次签名后的应用程序、以及应用程序的本次签名信息。
本实施例中,为了提高代码签名的安全性,统一通过服务器实现对需要发布的应用程序加载代码签名。具体的,应用程序发布者需要发布应用程序前,作为请求方向服务器发送代码签名请求,代码签名请求中包括有请求方的身份信息和待签名的应用程序。请求方可以通过终端或第三方服务器来与本实施例中用于加载签名的服务器联网,并上报请求。服务器对请求方的身份进行校验,验证该请求方是否为合法用户、是否具有签名权限,即是否已被认证机构授权允许开发该待签名的应用程序。
在服务器完成对请求方的身份验证后,采用签名私钥对应用程序加载代码签名。为了确保签名的安全性,防止私钥外泄,本实施例将认证机构授权的私钥存放在服务器中,统一由服务器对需要签名的应用程序加载代码签名,避免了非法用户恶意篡改或盗用代码签名,也有利于对代码签名的统一管理。
在完成签名后,服务器对本次签名的信息和签名后的应用程序备份,备份的签名信息包括应用程序的标识信息和签名后的信息,必要时也可以包括签名前的原始信息。备份的信息可以按照加载签名的时间顺序排列,或通过覆盖更新的方式只存储最近依次加载签名的信息。已签名的应用程序可以直接通过服务器发布,或由服务器下发至请求方,再由请求方自行发布。
由于本实施例中认证机构授权的私钥存放在服务器中,统一由服务器对需要签名的应用程序加载代码签名,避免了非法用户恶意篡改或盗用代码签名,防止私钥外泄,也有利于对代码签名的统一管理,进一步提高签名的安全性,确保应用程序安全传播与使用。
进一步的,签名模块30具体用于:
采用认证机构授权的签名私钥对应用程序加载代码签名,并根据应用程序的标识信息、本次签名的时间和签名私钥加密应用程序的代码签名。
为了确保签名的唯一性,服务器在为应用程序加载代码签名的同时,还采用签名私钥对应用程序的代码签名加密,在代码签名中增加一部分加密信息,由于在加密时还添加了应用程序的标识信息和本次签名的时间等因素,即使是同一款应用程序,在不同时间加载签名的加密信息都不相同,有利于进一步提高签名的安全性。
进一步的,备份模块40具体用于:
判断备份记录中是否有应用程序的历史签名信息;
如果是,则将备份记录中的应用程序更新为本次签名后的应用程序,将历史签名信息更新为本次签名信息;
如果否,则根据应用程序的标识信息在备份记录中创建应用程序的记录,记录中包括应用程序的标识信息和本次签名信息,并对应于应用程序的记录保存本次签名后的应用程序。
完成本次签名的应用程序可能并不是首次加载签名,如果不是首次签名的应用程序,则在该应用程序前一次加载签名时已经在服务器中有过备份,那么在服务器的备份记录就可以找到该应用程序前一次加载签名时的备份文件。在找到前一次的备份记录后,通过覆盖更新的方式,将备份记录中的应用程序和签名信息均更新为本次签名的内容。采用覆盖更新的方式有利于节约服务器的存储空间。
如果本次完成签名加载的应用程序是首次加载签名,则在服务器的备份记录中没有该应用程序的相关信息,可以在备份记录中创建一个新的记录,用于记录本次签名后的应用程序的标识信息、签名信息和签名后的应用程序。在下一次对该应用程序加载新的代码签名后,可通过该应用程序的标识信息查找到该应用程序的记录,并更新相应的签名信息和应用程序。本实施例通过备份签名记录,对已签名的应用程序和应用程序的代码签名统一管理,提高了应用程序的安全性。
如图7所示,图7为本发明应用程序加载代码签名的装置第二实施例的结构示意图。本实施例包括图6所示实施例中的所有模块,为了实现对身份验证不通过的请求方的处理,还增加了发送模块50,具体如下:
签名模块30还用于,当请求方的身份信息验证未通过时,拒绝签名应用程序;
备份模块40还用于,在备份记录中查找应用程序的历史签名信息;
发送模块50,用于当查找到应用程序的历史签名信息时,将备份记录中备份的应用程序的最新版本发送至请求方,或发送更新提示信息至请求方。
本实施例在验证请求方身份时,对于没有签名权限的请求方拒绝签名此次上传的应用程序,则该应用程序由于无法加载代码签名而不能发布,即使发布了,由于在使用方终端的系统程序无法通过签名校验,不能被系统程序识别,进而不能在系统上正常运行,避免了非法应用程序对终端系统的危害。
为进一步提高应用程序安全性,服务器还可以在备份记录中查找与请求方上传的应用程序相同或近似的应用程序,并将已备份的应用程序下发给请求方,由于已备份的应用程序是已加载代码签名的应用程序,且是安全的应用程序,请求方可将请求方终端或第三方服务器上的应用程序及时更新为服务器发送的应用程序,提高应用程序使用的安全性。当然,服务器也可以只向请求方发送提示信息,由请求方自行选择是否下载和安装服务器备份的应用程序。
如图8所示,图8为本发明应用程序加载代码签名的装置第三实施例的结构示意图。本实施例包括图6所示实施例中的所有模块,为了实现对上报的应用程序一致性验证的处理,还增加了比较模块60,具体如下:
接收模块10还用于,接收请求方或使用方上报的应用程序的当前签名信息;
比较模块60用于,比较上报的应用程序的当前签名信息与备份记录中备份的应用程序的历史签名信息是否一致;
发送模块50还用于,当上报的当前签名信息与备份的历史签名信息不一致时,将备份记录中备份的应用程序的最新版本发送至请求方或使用方,或发送更新提示信息至请求方或使用方。
为了进一步提高安全应用程序的使用,在各应用程序中可预先设置一个上报程序,一旦请求方或使用方的终端连接互联网,即触发该上报程序,并由请求方或使用方的终端向服务器上报该终端上安装的应用程序的签名信息。
服务器在接收到上报的签名信息后,将其与备份的签名信息进行比较,判断是否一致,如果一致,则说明该应用程序的签名未被篡改,应用程序是安全的,如果不一致,则该应用程序可能存在签名被篡改的风险,或该应用程序不是当前发布的最新版本,有必要将终端中的应用程序更新。服务器可向请求方或使用方的终端发送备份记录中的最新版本的应用程序,或提示用户安装该最新版本,确保了应用程序使用的安全性。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种应用程序加载代码签名的方法,其特征在于,包括步骤:
接收请求方发送的代码签名请求,所述代码签名请求包括所述请求方的身份信息和待签名的应用程序;
验证所述请求方的身份信息;
在所述请求方的身份信息验证通过后,采用认证机构授权的签名私钥对所述应用程序加载代码签名;
在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息。
2.根据权利要求1所述的应用程序加载代码签名的方法,其特征在于,所述采用认证机构授权的签名私钥对所述应用程序加载代码签名的步骤包括:
采用认证机构授权的签名私钥对所述应用程序加载代码签名,并根据所述应用程序的标识信息、本次签名的时间和签名私钥加密所述应用程序的代码签名。
3.根据权利要求2所述的应用程序加载代码签名的方法,其特征在于,所述在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息的步骤包括:
判断所述备份记录中是否有所述应用程序的历史签名信息;
如果是,则将所述备份记录中的所述应用程序更新为本次签名后的所述应用程序,将所述历史签名信息更新为所述本次签名信息;
如果否,则根据所述应用程序的标识信息在所述备份记录中创建所述应用程序的记录,所述记录中包括所述应用程序的标识信息和本次签名信息,并对应于所述应用程序的记录保存本次签名后的所述应用程序。
4.根据权利要求2所述的应用程序加载代码签名的方法,其特征在于,所述验证所述请求方的身份信息的步骤之后还包括:
当所述请求方的身份信息验证未通过时,拒绝签名所述应用程序;
在所述备份记录中查找所述应用程序的历史签名信息;
当查找到所述应用程序的历史签名信息时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方,或发送更新提示信息至所述请求方。
5.根据权利要求3或4所述的应用程序加载代码签名的方法,其特征在于,所述在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息的步骤之后还包括:
接收请求方或使用方上报的所述应用程序的当前签名信息;
比较上报的所述应用程序的当前签名信息与所述备份记录中备份的所述应用程序的历史签名信息是否一致;
当上报的当前签名信息与备份的历史签名信息不一致时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方或使用方,或发送更新提示信息至所述请求方或使用方。
6.一种应用程序加载代码签名的装置,其特征在于,包括:
接收模块,用于接收请求方发送的代码签名请求,所述代码签名请求包括所述请求方的身份信息和待签名的应用程序;
验证模块,用于验证所述请求方的身份信息;
签名模块,用于在所述请求方的身份信息验证通过后,采用认证机构授权的签名私钥对所述应用程序加载代码签名;
备份模块,用于在备份记录中备份本次签名后的所述应用程序、以及所述应用程序的本次签名信息。
7.根据权利要求6所述的应用程序加载代码签名的装置,其特征在于,所述签名模块具体用于:
采用认证机构授权的签名私钥对所述应用程序加载代码签名,并根据所述应用程序的标识信息、本次签名的时间和签名私钥加密所述应用程序的代码签名。
8.根据权利要求7所述的应用程序加载代码签名的装置,其特征在于,所述备份模块具体用于:
判断所述备份记录中是否有所述应用程序的历史签名信息;
如果是,则将所述备份记录中的所述应用程序更新为本次签名后的所述应用程序,将所述历史签名信息更新为所述本次签名信息;
如果否,则根据所述应用程序的标识信息在所述备份记录中创建所述应用程序的记录,所述记录中包括所述应用程序的标识信息和本次签名信息,并对应于所述应用程序的记录保存本次签名后的所述应用程序。
9.根据权利要求7所述的应用程序加载代码签名的装置,其特征在于,还包括发送模块;
所述签名模块还用于,当所述请求方的身份信息验证未通过时,拒绝签名所述应用程序;
所述备份模块还用于,在所述备份记录中查找所述应用程序的历史签名信息;
所述发送模块,用于当查找到所述应用程序的历史签名信息时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方,或发送更新提示信息至所述请求方。
10.根据权利要求9所述的应用程序加载代码签名的装置,其特征在于,还包括比较模块;
所述接收模块还用于,接收请求方或使用方上报的所述应用程序的当前签名信息;
所述比较模块用于,比较上报的所述应用程序的当前签名信息与所述备份记录中备份的所述应用程序的历史签名信息是否一致;
所述发送模块还用于,当上报的当前签名信息与备份的历史签名信息不一致时,将所述备份记录中备份的所述应用程序的最新版本发送至所述请求方或使用方,或发送更新提示信息至所述请求方或使用方。
CN201510179073.6A 2015-04-15 2015-04-15 应用程序加载代码签名的方法和装置 Withdrawn CN106155663A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510179073.6A CN106155663A (zh) 2015-04-15 2015-04-15 应用程序加载代码签名的方法和装置
PCT/CN2015/083878 WO2016165215A1 (zh) 2015-04-15 2015-07-13 应用程序加载代码签名的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510179073.6A CN106155663A (zh) 2015-04-15 2015-04-15 应用程序加载代码签名的方法和装置

Publications (1)

Publication Number Publication Date
CN106155663A true CN106155663A (zh) 2016-11-23

Family

ID=57125521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510179073.6A Withdrawn CN106155663A (zh) 2015-04-15 2015-04-15 应用程序加载代码签名的方法和装置

Country Status (2)

Country Link
CN (1) CN106155663A (zh)
WO (1) WO2016165215A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106712963A (zh) * 2016-12-27 2017-05-24 艾体威尔电子技术(北京)有限公司 一种pos防切机远程签名系统及方法
CN106789075A (zh) * 2016-12-27 2017-05-31 艾体威尔电子技术(北京)有限公司 Pos数字签名防切机系统
CN108280947A (zh) * 2017-11-29 2018-07-13 艾体威尔电子技术(北京)有限公司 一种pos机远程解锁的系统和方法
CN110780884A (zh) * 2019-09-05 2020-02-11 腾讯科技(深圳)有限公司 一种信息处理方法、装置及设备
CN112667996A (zh) * 2020-12-28 2021-04-16 南方电网数字电网研究院有限公司 变电站可信管理系统、方法、装置和计算机设备
DE202022102514U1 (de) 2022-05-07 2022-05-20 Tanweer ALAM Kryptographiebasiertes intelligentes System für die Sicherheitsverwaltung von Mikrocodesignaturen

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005103A1 (en) * 2003-06-12 2005-01-06 International Business Machines Corporation System and method for securing code and ensuring proper execution using state-based encryption
CN101149773A (zh) * 2007-08-27 2008-03-26 中国人民解放军空军电子技术研究所 一种基于软件实名认证的系统及其安全查证方法
CN101399666A (zh) * 2007-09-28 2009-04-01 中国银联股份有限公司 文件数字证书安全控制方法及系统
CN102891843A (zh) * 2012-09-18 2013-01-23 北京深思洛克软件技术股份有限公司 本地服务单元认证安卓客户端应用程序的方法
US20140033193A1 (en) * 2006-12-18 2014-01-30 Adobe Systems Incorporated Secured distribution of software updates
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103685138A (zh) * 2012-08-30 2014-03-26 卓望数码技术(深圳)有限公司 移动互联网上的Android平台应用软件的认证方法和系统
CN104392168A (zh) * 2014-11-27 2015-03-04 上海斐讯数据通信技术有限公司 一种应用程序的验证方法
US20150074414A1 (en) * 2013-09-09 2015-03-12 Electronics And Telecommunications Research Institute System and method for providing digital signature based on mobile trusted module
CN104486086A (zh) * 2014-12-26 2015-04-01 北京奇虎科技有限公司 数字签名方法及移动终端和服务器

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005103A1 (en) * 2003-06-12 2005-01-06 International Business Machines Corporation System and method for securing code and ensuring proper execution using state-based encryption
US20140033193A1 (en) * 2006-12-18 2014-01-30 Adobe Systems Incorporated Secured distribution of software updates
CN101149773A (zh) * 2007-08-27 2008-03-26 中国人民解放军空军电子技术研究所 一种基于软件实名认证的系统及其安全查证方法
CN101399666A (zh) * 2007-09-28 2009-04-01 中国银联股份有限公司 文件数字证书安全控制方法及系统
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103685138A (zh) * 2012-08-30 2014-03-26 卓望数码技术(深圳)有限公司 移动互联网上的Android平台应用软件的认证方法和系统
CN102891843A (zh) * 2012-09-18 2013-01-23 北京深思洛克软件技术股份有限公司 本地服务单元认证安卓客户端应用程序的方法
US20150074414A1 (en) * 2013-09-09 2015-03-12 Electronics And Telecommunications Research Institute System and method for providing digital signature based on mobile trusted module
CN104392168A (zh) * 2014-11-27 2015-03-04 上海斐讯数据通信技术有限公司 一种应用程序的验证方法
CN104486086A (zh) * 2014-12-26 2015-04-01 北京奇虎科技有限公司 数字签名方法及移动终端和服务器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106712963A (zh) * 2016-12-27 2017-05-24 艾体威尔电子技术(北京)有限公司 一种pos防切机远程签名系统及方法
CN106789075A (zh) * 2016-12-27 2017-05-31 艾体威尔电子技术(北京)有限公司 Pos数字签名防切机系统
CN106789075B (zh) * 2016-12-27 2019-12-24 艾体威尔电子技术(北京)有限公司 Pos数字签名防切机系统
CN108280947A (zh) * 2017-11-29 2018-07-13 艾体威尔电子技术(北京)有限公司 一种pos机远程解锁的系统和方法
CN110780884A (zh) * 2019-09-05 2020-02-11 腾讯科技(深圳)有限公司 一种信息处理方法、装置及设备
CN112667996A (zh) * 2020-12-28 2021-04-16 南方电网数字电网研究院有限公司 变电站可信管理系统、方法、装置和计算机设备
DE202022102514U1 (de) 2022-05-07 2022-05-20 Tanweer ALAM Kryptographiebasiertes intelligentes System für die Sicherheitsverwaltung von Mikrocodesignaturen

Also Published As

Publication number Publication date
WO2016165215A1 (zh) 2016-10-20

Similar Documents

Publication Publication Date Title
CN106155663A (zh) 应用程序加载代码签名的方法和装置
US7797545B2 (en) System and method for registering entities for code signing services
CA2561604C (en) Account management in a system and method for providing code signing services
EP2866166B1 (en) Systems and methods for enforcing third party oversight data anonymization
US9077524B2 (en) System and method for providing an indication of randomness quality of random number data generated by a random data service
CA2561608C (en) System and method for registering entities for code signing services
US20070074033A1 (en) Account management in a system and method for providing code signing services
US20070074031A1 (en) System and method for providing code signing services
CN103080946B (zh) 用于安全地管理文件的方法、安全设备、系统和计算机程序产品
US9900157B2 (en) Object signing within a cloud-based architecture
CN106936588B (zh) 一种硬件控制锁的托管方法、装置及系统
US20030217264A1 (en) System and method for providing a secure environment during the use of electronic documents and data
CN104010044A (zh) 基于可信执行环境技术的应用受限安装方法、管理器和终端
US20130159719A1 (en) Apparatus and method for signing application
US20070074032A1 (en) Remote hash generation in a system and method for providing code signing services
CN103888948B (zh) 一种智能终端移动应用的安全控制方法和装置
CA2561614C (en) System and method for providing code signing services
KR101097103B1 (ko) 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법
Cooper et al. Security considerations for code signing
JP2009015766A (ja) ユーザ端末、アクセス管理システム、アクセス管理方法、およびプログラム
CN103488948A (zh) 一种实现操作系统数据安全的方法及装置
CA2892407C (en) Remote hash generation in a system and method for providing code signing services
CN115146284A (zh) 数据处理方法、装置、电子设备和存储介质
EP1770899B1 (en) System and method for providing an indication of randomness quality of a random number generated by a random data service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20161123

WW01 Invention patent application withdrawn after publication