CN103577206A - 一种应用软件的安装方法和装置 - Google Patents
一种应用软件的安装方法和装置 Download PDFInfo
- Publication number
- CN103577206A CN103577206A CN201210264598.6A CN201210264598A CN103577206A CN 103577206 A CN103577206 A CN 103577206A CN 201210264598 A CN201210264598 A CN 201210264598A CN 103577206 A CN103577206 A CN 103577206A
- Authority
- CN
- China
- Prior art keywords
- installation procedure
- signature information
- original signature
- application software
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用软件的安装方法,包括:获取安装程序携带的签名信息;利用预先保存的应用软件的安装程序的原始签名信息,对所述安装程序携带的签名信息进行验证,若所述验证结果为未通过,则退出所述应用软件的安装;若所述验证结果为通过验证,则执行所述安装程序的可执行代码。本申请还公开了一种应用软件的安装装置。通过上述本申请,能够有效识别出被篡改的安装程序,有效避免操作***安装被恶意修改过的应用软件。
Description
技术领域
本申请涉及智能手机的软件安装技术,特别涉及一种应用软件的安装方法和装置。
背景技术
Android是一个开源的嵌入式开发平台,基于Linux的操作***,用于移动设备(例如智能手机和平板电脑)中,是最受欢迎的开发平台之一。
Android的应用软件包以APK包形式提供,也就是应用软件的安装程序是APK包。应用软件常用Java语言编写,同时采用Java签名机制来对APK包进行保护。具体方法如图1所示:将可执行代码(即源代码,具体可以为Dex文件)、资源文件、配置文件、库文件等打包成APK包101,然后将APK包的内容计算成散列值,再使用私钥对散列值进行加密,形成签名文件,即签名后散列102,将签名文件也放入APK包中。安装应用软件时,Android***使用公钥对APK软件包中的签名文件进行解密(如103框所示),然后和APK包的内容散列值进行对比(如104框所示),若相同,则保证了APK包内容的完整性。
Android***的所有应用软件都必须有数字证书,Android***不会安装一个没有数字证书的应用软件。
在APK包中,签名文件存放在META-INFO目录,一般是如下三个文件:MANIFEST.MF,CERT.SF,CERT.RSA。其中MF文件存放着APK包内所有其他非签名文件的散列值;SF文件中存放着所有非签名文件的用私钥编码后的散列值,同时包含MF文件的加密散列值;RSA文件存放着证书信息,即加密后的公钥信息。
Android***在对APK包进行验证时,首先提取RSA文件中的证书信息,解密公钥,然后验证SF的完整性,若验证成功,使用公钥解密SF中散列值,验证MF的完整性,若验证通过,对比SF和MF中的散列值进行APK包验证。
然而,Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证(即无人对签名信息作担保)。所以一个正版的APK软件包可能被黑客删除掉整个签名文件,修改代码后使用新的私钥进行重新加密,并将之发布、扩散出去冒充原版APK软件包。例如对于图1所涉及的过程,可能在修改101中的代码后,替换掉签名后的散列值102,这样APK代码被修改后仍然可以安装执行。
Android平台在安装应用软件过程中没有开发者或开发商的信息提示。用户无法确认某APK包是谁发布的,没法确认APK包是否曾被修改过。若用户安装了被恶意修改的APK软件包,可能导致潜在风险。
此外,Android的应用软件一般使用Java语言编写,Java语言很容易被反编译破解,即使在开发过程中加入了混淆器,可以使反编译后的代码难于阅读,但是会被经验丰富的编程者读懂。当前,APK软件包的反编译工具和静态分析工具已经相当普及。
由上述内容可见,现有基于Android平台的应用软件安装过程存在以下缺陷:
没有权威的证书管理机构或者软件市场对APK软件包(即安装程序)进行有效的管理,可能存在第三方软件安装包(即安装程序)发布后,核心的Java代码被反编译获取并被重新改写等情况,因此,对于安装应用程序的终端而言,无法确认第三方软件安装包(即安装程序)是否被恶意修改过,可能会安装被恶意修改过的应用软件。
发明内容
本申请提供了应用软件的安装方法,能够有效避免操作***安装被恶意修改过的应用软件。
一种应用软件的安装方法,包括:
a、获取待安装应用软件的安装程序携带的签名信息;
b、利用预先保存的所述安装程序对应的原始签名信息,对所述安装程序携带的签名信息进行验证,若未通过验证,则退出所述应用软件的安装;若通过验证,则执行所述安装程序的可执行代码。
较佳地,所述原始签名信息中包括公钥;
所述对所述安装程序携带的签名信息进行验证,包括:利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行验证。
较佳地,所述利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行验证,包括:
将所述原始签名信息中的公钥与所述安装程序携带的签名信息中的公钥进行比较,如果相同,则确定通过验证;如果不同,则确定未通过验证;
或者,利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行解密,如果解密成功,则确定通过验证;如果解密失败,则确定未通过验证。
较佳地,所述原始签名信息中的公钥为加密后的公钥,在对所述安装程序携带的签名信息进行验证前,该方法进一步包括:对所述原始签名信息中的公钥进行解密;
所述利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行验证,包括:利用解密后的公钥对所述安装程序携带的签名信息进行验证。
较佳地,所述执行所述安装程序的可执行代码,包括:
获取预先存储在设定存储位置的所述应用程序的可执行代码,并加载所述可执行代码。
较佳地,获取的所述可执行代码为加密的代码,所述安装程序在加载所述可执行代码前进一步包括:对所述可执行代码进行解密;
所述加载所述可执行代码,包括:加载解密后的所述可执行代码。
较佳地,所述原始签名信息保存在静态库或网络中的服务器中;且所述步骤a由所述安装程序执行,所述步骤b,包括:所述静态库或网络中的服务器利用预先保存的所述安装程序对应的原始签名信息,对所述安装程序携带的签名信息进行验证,并将验证结果反馈给所述安装程序,所述安装程序根据所述验证结果执行与所述验证结果对应的操作;
或者,所述原始签名信息保存在操作***的本地数据库中;所述步骤a和所述步骤b由安装所述应用软件的所述操作***执行。
较佳地,所述静态库通过非JAVA语言编写。
较佳地,在所述步骤a和所述步骤b之间进一步包括:将获取的所述安装程序携带的签名信息提供给用户,并确定用户选择不信任所述签名信息。
较佳地,所述步骤a由安装所述应用软件的操作***执行,所述原始签名信息保存在所述操作***的本地数据库中;
在所述步骤a和所述步骤b之间进一步包括:
所述操作***从本地数据库中查询所述安装程序的原始签名信息,并在确定未查询到时,所述操作***从网络服务器中查询所述应用软件的原始签名信息,将查询到的原始签名信息保存到所述本地数据库中;若在网络服务器中未查询到所述原始签名信息,则所述操作***从所述安装程序提供的预设接口读取所述应用软件的原始签名信息,并将读取到的所述原始签名信息保存到所述本地数据库中;
或者,
所述操作***从本地数据库中查询所述安装程序的原始签名信息,并在确定未查询到时,所述操作***从所述安装程序中提供的预设接口读取所述应用软件的原始签名信息,并将读取到的所述原始签名信息保存到所述本地数据库;若所述安装程序未提供读取原始签名信息的预设接口,则所述操作***从网络服务器中查询所述应用软件的原始签名信息,将查询到的原始签名信息保存到所述本地数据库中。
一种应用软件的安装方法,包括:
a、获取待安装应用软件的安装程序携带的签名信息,并将获取的所述安装程序携带的签名信息提供给用户;
b、在确定用户选择不信任所述签名信息时,利用预先保存的所述安装程序对应的原始签名信息,对所述安装程序携带的签名信息进行验证,若未通过验证,则退出所述应用软件的安装;若通过验证,则执行所述安装程序的可执行代码。
一种应用软件的安装装置,包括:安装程序解析单元、安装进程控制单元、验证单元和存储单元;
所述存储单元,用于保存安装程序的原始签名信息;
所述安装程序解析单元,用于读取应用软件的安装程序携带的签名信息,并发送给所述验证单元;
所述验证单元,用于利用所述存储单元保存的所述应用软件对应的原始签名信息,对所述安装程序解析单元发来的签名信息进行验证,并将验证结果通知所述安装进程控制单元;
所述安装进程控制单元,用于接收所述验证单元的验证结果,若验证结果为验证通过,则执行所述安装程序的可执行代码,否则退出所述应用软件的安装。
较佳地,所述安装程序解析单元和安装程序控制单元均位于安装程序中,所述验证单元和存储单元位于静态库或网络中的服务器中;
或者,所述安装装置位于安装所述应用软件的操作***中。
较佳地,所述安装程序解析单元,进一步用于将读取的签名信息提供给用户,并在确定所述用户选择不信任提供的所述签名信息后,将读取的所述签名信息发送给所述验证单元。
较佳地,所述安装装置位于安装所述应用软件的操作***中;
所述验证单元,进一步用于在所述存储单元中未查询到所述应用软件的原始签名信息时,从网络服务器中查询所述应用软件的原始签名信息,若查询到所述原始签名信息,则将查询到的原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息和反馈验证结果的操作;若在网络服务器中未查询到所述原始签名信息,则从所述安装程序中提供的预设接口读取所述应用软件的原始签名信息,并将读取的所述原始签名信息保存到所述存储单元中,执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作;
或者,所述验证单元,在所述存储单元中未查询到所述应用软件的原始签名信息时,从所述安装程序提供的预设接口读取所述应用软件的原始签名信息,将读取的所述原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作;若所述安装程序未提供取原始签名信息的预设接口,则从网络服务器中查询所述应用软件的原始签名信息,将查询到的原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作。
一种应用软件的安装装置,包括:安装程序解析单元、安装进程控制单元、验证单元和存储单元;
所述存储单元,用于保存安装程序的原始签名信息;
所述安装程序解析单元,用于读取应用软件的安装程序携带的签名信息,将读取的所述签名信息提供给用户,并在确定所述用户选择不信任所述签名信息后,将读取的所述签名信息发送给所述验证单元;
所述验证单元,用于利用所述存储单元保存的所述应用软件的安装程序的原始签名信息,对所述安装程序解析单元发来的签名信息进行验证,并将验证结果通知所述安装进程控制单元;
所述安装进程控制单元,用于接收所述验证单元的验证结果,若验证结果为验证通过,则执行所述安装程序的可执行代码,否则退出所述应用软件的安装。
由上述技术方案可见,预先对应应用软件保存相应安装程序的原始签名信息,在安装所述应用软件时,获取安装程序携带的签名信息;利用预先保存的所述应用软件对应的原始签名信息,对所述安装程序携带的签名信息进行验证,当所述验证结果为未通过验证时,退出所述应用软件的安装;当所述验证结果为通过验证时,执行所述安装程序的可执行代码进行安装。通过上述处理,能够有效识别出被篡改的安装程序,有效避免操作***安装被恶意修改过的应用软件。
附图说明
图1为背景技术提供的Android***应用软件的安装包示意图;
图2为本申请中应用软件安装方法的总体流程图;
图3为本申请实施例一中应用软件安装方法的具体流程图;
图4为本申请实施例二中应用软件安装方法的具体流程图;
图5为本申请实施例三中应用软件安装方法的具体流程图;
图6为本申请实施例三种验证方法的具体流程图;
图7为本申请中应用软件安装装置的总体结构示意图。
具体实施方式
为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
本申请的基本思想是:将应用软件的原始签名信息进行单独保存,即保存该应用软件的安装程序的原始签名信息,利用该保存的原始签名信息对安装程序中携带的签名信息进行验证,从而确定该安装程序的合法性。
图2为本申请中应用软件安装方法的总体流程图。在下面对本申请具体说明时,以Android***为例进行说明。当然对于其他操作***也同样适用。其中,Android***应用软件的安装程序通常是APK包,当然,对于其他***其他形式的安装程序也可以采用本申请的方案。这里以Android***的APK包为例进行说明。如图2所示,该方法包括:
步骤201,获取安装程序携带的签名信息。
如前所述,APK包中包括签名文件,其中携带的信息称为签名信息。当软件的安装程序被恶意修改后,签名文件可能被整体替换。
步骤202,利用预先保存的原始签名信息对步骤201中获取的签名信息进行验证,若验证通过,则执行安装程序的可执行代码,若验证未通过,退出该应用软件的安装。
其中,预先对应应用软件保存相应安装程序的原始签名信息。优选地,在可以应用软件的安装程序发布后,对该安装程序的原始签名信息进行单独保存,该原始签名信息指安装程序发布时其中携带的签名信息,也就是原厂设置或应用软件开发方设置的签名信息,保证未被修改。
由于预先保存的原始签名信息是未经修改的签名信息,因此,利用该签名信息对步骤201中获取的签名信息进行验证,就可以确定步骤201中获取的安装程序所携带的签名信息是否被修改过。如果验证通过,说明安装程序携带的签名信息未被修改,安装程序也应该未被修改,可以进行应用软件的安装;如果验证未通过,说明安装程序携带的签名信息已被修改,该安装程序很有可能已经被修改,退出该应用软件的安装。
其中,利用原始签名信息对安装的签名信息进行验证的具体实现,可以采用各种现有签名信息验证方式。例如,通常可以利用签名信息中包括的公钥进行验证,具体地,可以将原始签名信息中的公钥与安装程序携带的签名信息中的公钥进行比较,如果相同,则确定通过验证;如果不同,则确定未通过验证;或者,还以利用原始签名信息中的公钥对安装程序携带的签名信息进行解密,如果解密成功,则确定通过验证;如果解密失败,则确定未通过验证。上述进行验证的方式仅为一个示例,本申请对具体验证方式不做限定。
当利用公钥进行验证时,为保证公钥的安全,在预先保存的原始签名信息中的公钥优选为加密后的公钥,在进行验证前,首先对公钥解密,然后利用解密后的公钥进行验证。
由上述本申请的总体流程可见,本申请中,利用预存的原始签名信息对安装程序中携带的签名信息进行验证,从而有效发现安装程序是否被修改,以有效避免安装被修改的应用软件。
另外,为进一步避免事先将应用软件的可执行代码暴露在安装程序中,可以在执行如下操作:
预先将可执行代码单独保存,在安装程序中不包括该可执行代码,在步骤203验证通过后,将单独保存的可执行代码进行动态加载并执行。其中,为进一步确保安全性,可以将单独保存的可执行代码加密,验证通过后,首先对加密的可执行代码解密后进行加载执行。其中,上述可执行代码可以是所有可执行代码中的部分或全部,具体可以由本领域技术人员根据实际需要设置。
在具体实现上述本申请的安装方法时,可以从安装程序的角度进行处理,或者,也可以从Android***的角度进行处理,避免修改过的应用软件被安装。其中,从安装程序角度进行处理,也可以有两种具体方式。接下来通过具体实施例说明上述两种角度进行处理的具体实现。
实施例一:
本实施例中,从安装程序角度进行处理,实现本申请的安装方法,并且本实施例的方法是在可访问网络环境下的具体实现。
图3为本申请实施例一中安装方法的具体流程图。如图3所示,该方法包括:
步骤301,预先在网络中的服务器中对应应用软件保存相应安装程序的原始签名信息。
本实施例中,将原始签名信息保存在网络的服务器中,以与安装程序隔离。当采用公钥进行签名信息验证时,若公钥加密,则可以将公钥的加密算法也保存在网络中的服务器中,并且该公钥是无法从服务器中获取下来的。
在进行应用软件安装时,执行如下操作:
步骤302,安装程序第一次运行时被Android***加载,进行初始化工作,创建自定义类装载器(ClassLoader),获取到自身携带的签名信息,并将签名信息发送给网络中的服务器请求验证。
优选地,安装程序还可以进一步将自身的应用软件信息发送到服务器,以便于服务器根据应用软件信息确定对于该应用软件信息保存的原始签名信息。
步骤303,服务器接收到验证请求,根据应用软件信息确定相应应用软件对应的原始签名信息,对接收的签名信息进行验证,并将验证结果反馈给安装程序。
应用软件信息可以包括软件名称、版本等信息。服务器根据该应用软件信息确定相应的应用软件,并找到相应的原始签名信息。具体进行验证的操作与前述图2中的验证相同,这里就不再赘述。
步骤304,当验证通过时,自定义类装载器加载安装程序的可执行代码,并执行安装。
其中,安装程序的核心可执行代码可以保存在网络中,可以与原始签名信息保存在同一服务器中,也可以保存在其他服务器中。当验证通过后,自定义类装载器再到相应的服务器中下载核心可执行代码,并加载执行。下载的可执行代码可以是加密的,由自定义类装载器进行解密后加载执行。
步骤305,当验证未通过时,提示用户应用软件已被篡改,退出运行。
至此,本实施例中的安装方法流程结束。
实施例二:
本实施例中,也是从安装程序角度进行处理实现本申请的安装方法,并且本实施例的方法可以在不可访问网络环境下的具体实现。
图4为本申请实施例二中安装方法的具体流程图。如图4所示,该方法包括:
步骤401,预先在静态库中对应应用软件保存相应安装程序的原始签名信息。
本实施例中,将原始签名信息保存在静态库中,以与安装程序隔离。当采用公钥进行签名信息验证时,若公钥加密,则可以将公钥的加密算法也保存在静态库中,并且该公钥是无法从静态库中获取出来的。为增强安全性,静态库优选地以非Java语言的其他语言编写,从而区别于安装程序的编写语言,例如以C语言编写的Native库。
在进行应用软件安装时,执行如下操作:
步骤402,安装程序第一次运行时被Android***加载,进行初始化工作,创建自定义类装载器(ClassLoader),获取到自身携带的签名信息,并携带该签名信息访问静态库。
优选地,安装程序还可以进一步携带自身的应用软件信息访问静态库,以便于静态库根据应用软件信息确定对于该应用软件信息保存的原始签名信息。
步骤403,静态库根据应用软件信息确定相应应用软件对应的原始签名信息,对接收的签名信息进行验证,并将验证结果反馈给安装程序。
应用软件信息可以包括软件名称、版本等信息。静态库根据该应用软件信息确定相应的应用软件,并找到相应的原始签名信息。具体进行验证的操作与前述图2中的验证相同,这里就不再赘述。
当利用公钥对签名信息解密以进行验证时,若安装程序中的签名文件没有被篡改,静态库使用公钥应能对签名文件解密;若签名文件被替换,签名的私钥和公钥不匹配,应无法正常解密。公钥信息存储在Native库中,由于公钥是可被公开的,所以不怕泄露,但为防止Native库中的公钥被篡改,应对公钥也进行加密,加密算法保存在Native库中,降低被篡改的风险。
步骤404,当验证通过时,自定义类装载器加载安装程序的可执行代码,并执行安装。
其中,安装程序的核心可执行代码可以保存在静态库中,在通过验证后,由静态库将可执行代码提供给安装程序所创建的自定义类装载器。这里,可执行代码可以是加密的,由自定义类装载器进行解密后加载执行。
步骤405,当验证未通过时,提示用户应用软件已被篡改,退出运行。
至此,本实施例中的安装方法流程结束。
上述两个实施例都是从安装程序侧进行的处理,下面的实施例是从Android平台侧进行的处理。
实施例三:
图5为本申请实施例三中安装方法的具体流程图。如图5所示,该方法包括:
步骤501,预先在Android***的本地数据库中对应应用软件保存相应安装程序的原始签名信息。
本实施例中,将原始签名信息保存在Android***的本地数据库中,以与安装程序隔离。
在进行应用软件安装时,执行如下操作:
步骤502,Android***解析安装程序,获取安装程序携带的签名信息。
步骤503,Android***在应用程序安装界面,提示应用程序签名证书信息(即签名信息),用户根据安装提示的证书信息,选择信任该证书或不信任,当用户选择信任时,执行步骤506,当用户选择不信任时,执行步骤504。
提示给用户的签名证书信息可以包括证书有效期,证书发布者等信息。例如某公司A发布的证书,证书内信息带有A公司的字样。
步骤504,用户不信任证书来源。Android***查询验证证书来源(即验证签名信息),进行证书验证,验证不通过,执行步骤505,验证通过,执行步骤506。
步骤505,终止安装,提示应用可能被篡改,存在风险。
步骤506,继续完成安装。
至此,图5所示流程结束。
图5对应的流程中,当用户选择信任应用程序携带的签名信息时,不需要对签名信息进行验证,该处理过程仅为优选实施方式,但由于用户选择可能带有主观性,为了避免由于用户误判断而导致被恶意篡改的应用程序被安装,即使用户选择信任应用程序携带的签名信息,也可以进一步对该应用程序携带的签名信息进行验证。
对于步骤504,需要核准证书来源,确保应用安全。具体可以通过图6所示的流程进行验证,包括:
步骤601,Android***检查本地数据库,是否有相应应用软件的原始签名信息,当查询到时,执行步骤606进行验证,当未查询到时,执行步骤602。
其中,应用软件指与Android***获取的签名信息中相同开发者的应用软件。
步骤602,本地数据库中没有检索到相应应用软件的原始签名信息,则向后台服务器发起请求,查询相应应用软件的原始签名信息,若查询到,则执行步骤605进行原始签名信息保存,再执行步骤606进行验证;若未查询到,则执行步骤603。
步骤603,检查安装程序中是否提供相应的接口,可以获取到原始签名信息。
开发者在开发时,可以在安装程序中提供相应的接口或静态库,将公钥等原始签名信息封装在接口中,支持Android***的查询,可以丰富***信息。
如果步骤603未获取到原始签名信息,进一步执行步骤604。
步骤604,Android***无法确认证书来源,提示用户安装此软件应谨慎。
步骤605,若服务器中存有相应应用软件的原始签名信息,将该信息存入***本地数据库。
步骤606,利用获取到的原始签名信息对安装程序中携带的签名信息进行验证。
具体进行验证的操作与前述图2中的验证相同,这里就不再赘述。另外,在上述图6所示的流程是一个优选流程。事实上,考虑到是否存在网络环境和实现复杂度,还可能做简化。例如,仅通过本地数据库查询原始签名信息,即首先执行步骤601,在查询到后仍然执行步骤606,在未查询到时不再执行步骤602,而是直接执行步骤604。或者,还可以在本地数据库查询失败后,先执行步骤603,如果步骤603的执行结果为未获取到原始签名信息,则进一步执行步骤602获取原始签名信息,若步骤602未获取到原始签名信息,进一步执行步骤604。
通过上述图5和图6所示的流程,就可以实现在***侧进行本申请的安装方法,以防止被篡改过的应用程序能正常安装进***,导致病毒的扩散。另外,在上述流程中,需要在Android***framework层安装应用软件安装程序包的流程中,加入上述各步骤。Android***本地可预置开发者信息,提供出厂担保;后台服务器应能根据应用程序的包名、应用名称、签名证书信息查询到证书管理权威机构或开发者官方网站,提供后台服务器端担保;APK开发者在开发时,可以提供相应的接口或静态库,将公钥封装在接口中,支持***的查询,可以丰富***信息。以上经验证的信息,存入本地数据库,作为担保依据。
上述即为本申请中应用软件安装方法的具体实现。本申请还提供了与安装方法相应的安装装置。图7为本申请安装装置的总体结构图。如图7所示,该安装装置包括:安装程序解析单元、安装进程控制单元、验证单元和存储单元。
其中,安装程序解析单元,用于读取应用软件的安装程序携带的签名信息,并发送给所述验证单元。验证单元,用于利用所述存储单元保存的应用软件对应的原始签名信息,对安装程序解析单元发来的签名信息进行验证,并将验证结果通知所述安装进程控制单元。安装进程控制单元,用于接收验证单元的验证结果,若验证结果为验证通过,则继续所述应用软件的安装,即执行安装程序的可执行代码,否则退出应用软件的安装。存储单元,用于保存各安装程序的原始签名信息,如对应应用软件保存相应安装程序的原始签名信息。
其中,对应于实施例一的安装方法,安装程序解析单元和安装进程控制单元位于安装程序中,也就是位于安装程序所在的装置中;验证单元和存储单元都位于网络中的服务器中。对应于实施例二的安装方法,安装程序解析单元和安装进程控制单元位于安装程序中,也就是位于安装程序所在的装置中;验证单元和存储单元都位于静态库中。对应于实施例三的安装方法,整个安装装置位于Android***中,也就是位于装有***的电子设备中,例如手机。
当安装装置位于Android***中时,也就是对应于实施例三的安装方法,安装程序解析单元,可以进一步用于将获取的安装程序携带的签名信息提供给用户,并在确定用户选择不信任该签名信息后,将该签名信息发送给验证单元进行验证。
验证单元,在进行验证操作时,具体用于在存储单元中未查询到所述应用软件的原始签名信息时,从网络服务器中查询所述应用软件的原始签名信息,若查询到所述原始签名信息,则将查询到的原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息和反馈验证结果的操作;若在网络服务器中未查询到所述原始签名信息,则从所述安装程序中提供的预设接口读取所述应用软件的原始签名信息,并将读取的所述原始签名信息保存到所述存储单元中,执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作;
或者,该验证单元,具体用于在存储单元中未查询到应用软件的原始签名信息时,从所述安装程序提供的预设接口读取所述应用软件的原始签名信息,将读取的所述原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作;若所述安装程序未提供取原始签名信息的预设接口,则从网络服务器中查询应用软件的原始签名信息,将查询到的原始签名信息保存到所述存储单元中,并执行利用原始签名信息验证读取的签名信息并反馈验证结果的操作。
另外,对于上述本申请的应用软件安装方法和装置,优选地,上述实施例三步骤503中对于证书信息提示给用户的操作还可以应用于实施例一和实施例二所示的应用层处理的流程中,从而为用户提供与应用软件相关的参考信息。具体地,包括上述证书信息提示的优选软件安装方法包括:
a、获取待安装应用软件的安装程序携带的签名信息,并将获取的所述安装程序携带的签名信息提供给用户;b、在确定用户不信任提供给用户的所述签名信息时,利用预先保存的所述安装程序对应的原始签名信息,对所述安装程序携带的签名信息进行验证,若未通过验证,则退出所述应用软件的安装;若通过验证,则执行所述安装程序的可执行代码。
同时,与上述包括证书信息提供的本申请优选的应用软件安装方法相应地,本申请还提供了一种优选的应用软件安装装置,包括:安装程序解析单元、安装进程控制单元、验证单元和存储单元。
安装程序解析单元,用于读取应用软件的安装程序携带的签名信息,将读取的签名信息提供给用户,并在确定用户选择不信任签名信息后,将读取的签名信息发送给验证单元。
验证单元,用于利用存储单元保存的应用软件的安装程序的原始签名信息,对安装程序解析单元发来的签名信息进行验证,并将验证结果通知安装进程控制单元。
安装进程控制单元,用于接收验证单元的验证结果,若验证结果为验证通过,则继续应用软件的安装,即执行所述安装程序的可执行代码,否则退出应用软件的安装。
存储单元,用于保存各安装程序的原始签名信息,如对应应用软件保存相应安装程序的原始签名信息。
在上述具体实施例中,对于利用原始签名信息对安装程序携带的签名信息进行验证的操作,其执行是有条件的,不过该实施例仅是一种优选的实施方式。在实际应用中,该操作也可以是无条件执行的,例如,即使在用户选择信任提供的签名信息时,也可以执行上述验证操作。
在上述各实施例中,将应用程序携带的签名信息提供给用户可以有多种方式,例如可以在安装界面显示该签名信息,也可以通过语音方式播放该签名信息,此处不再一一列举。
由上述本申请的具体实现可见,本申请中的安装方法和装置可以利用原始签名进行验证,若验证失败,程序异常退出;若验证成功,优选地,动态提供加密的Java代码序列。由于可执行代码是以加密形式存储、传输的,且解密后,解密代码直接装载在Java虚拟机中,不对解密代码进行保存,从而保证加密的核心代码不容易被获取到。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种应用软件的安装方法,其特征在于,该方法包括:
a、获取待安装应用软件的安装程序携带的签名信息;
b、利用预先保存的所述安装程序对应的原始签名信息,对所述安装程序携带的签名信息进行验证,若未通过验证,则退出所述应用软件的安装;若通过验证,则执行所述安装程序的可执行代码。
2.根据权利要求1所述的方法,其特征在于,所述原始签名信息中包括公钥;
所述对所述安装程序携带的签名信息进行验证,包括:利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行验证。
3.根据权利要求2所述的方法,其特征在于,所述利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行验证,包括:
将所述原始签名信息中的公钥与所述安装程序携带的签名信息中的公钥进行比较,如果相同,则确定通过验证;如果不同,则确定未通过验证;
或者,利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行解密,如果解密成功,则确定通过验证;如果解密失败,则确定未通过验证。
4.根据权利要求2所述的方法,其特征在于,所述原始签名信息中的公钥为加密后的公钥,在对所述安装程序携带的签名信息进行验证前,该方法进一步包括:对所述原始签名信息中的公钥进行解密;
所述利用所述原始签名信息中的公钥对所述安装程序携带的签名信息进行验证,包括:利用解密后的公钥对所述安装程序携带的签名信息进行验证。
5.根据权利要求1所述的方法,其特征在于,所述执行所述安装程序的可执行代码,包括:
获取预先存储在设定存储位置的所述应用程序的可执行代码,并加载所述可执行代码。
6.根据权利要求5所述的方法,其特征在于,获取的所述可执行代码为加密的代码,所述安装程序在加载所述可执行代码前进一步包括:对所述可执行代码进行解密;
所述加载所述可执行代码,包括:加载解密后的所述可执行代码。
7.根据权利要求1到6中任一所述的方法,其特征在于,所述原始签名信息保存在静态库或网络中的服务器中;且所述步骤a由所述安装程序执行,所述步骤b,包括:所述静态库或网络中的服务器利用预先保存的所述安装程序对应的原始签名信息,对所述安装程序携带的签名信息进行验证,并将验证结果反馈给所述安装程序,所述安装程序根据所述验证结果执行与所述验证结果对应的操作;
或者,所述原始签名信息保存在操作***的本地数据库中;所述步骤a和所述步骤b由安装所述应用软件的所述操作***执行。
8.根据权利要求7所述的方法,其特征在于,所述静态库通过非JAVA语言编写。
9.根据权利要求1到6中任一所述的方法,其特征在于,在所述步骤a和所述步骤b之间进一步包括:将获取的所述安装程序携带的签名信息提供给用户,并确定用户选择不信任所述签名信息。
10.根据权利要求1到6中任一所述的方法,其特征在于,所述步骤a由安装所述应用软件的操作***执行,所述原始签名信息保存在所述操作***的本地数据库中;
在所述步骤a和所述步骤b之间进一步包括:
所述操作***从本地数据库中查询所述安装程序的原始签名信息,并在确定未查询到时,所述操作***从网络服务器中查询所述应用软件的原始签名信息,将查询到的原始签名信息保存到所述本地数据库中;若在网络服务器中未查询到所述原始签名信息,则所述操作***从所述安装程序提供的预设接口读取所述应用软件的原始签名信息,并将读取到的所述原始签名信息保存到所述本地数据库中;
或者,
所述操作***从本地数据库中查询所述安装程序的原始签名信息,并在确定未查询到时,所述操作***从所述安装程序中提供的预设接口读取所述应用软件的原始签名信息,并将读取到的所述原始签名信息保存到所述本地数据库;若所述安装程序未提供读取原始签名信息的预设接口,则所述操作***从网络服务器中查询所述应用软件的原始签名信息,将查询到的原始签名信息保存到所述本地数据库中。
11.一种应用软件的安装方法,其特征在于,该方法包括:
a、获取待安装应用软件的安装程序携带的签名信息,并将获取的所述安装程序携带的签名信息提供给用户;
b、在确定用户选择不信任所述签名信息时,利用预先保存的所述安装程序对应的原始签名信息,对所述安装程序携带的签名信息进行验证,若未通过验证,则退出所述应用软件的安装;若通过验证,则执行所述安装程序的可执行代码。
12.一种应用软件的安装装置,其特征在于,该装置包括:安装程序解析单元、安装进程控制单元、验证单元和存储单元;
所述存储单元,用于保存安装程序的原始签名信息;
所述安装程序解析单元,用于读取应用软件的安装程序携带的签名信息,并发送给所述验证单元;
所述验证单元,用于利用所述存储单元保存的所述应用软件对应的原始签名信息,对所述安装程序解析单元发来的签名信息进行验证,并将验证结果通知所述安装进程控制单元;
所述安装进程控制单元,用于接收所述验证单元的验证结果,若验证结果为验证通过,则执行所述安装程序的可执行代码,否则退出所述应用软件的安装。
13.根据权利要求12所述的装置,其特征在于,所述安装程序解析单元和安装程序控制单元均位于安装程序中,所述验证单元和存储单元位于静态库或网络中的服务器中;
或者,所述安装装置位于安装所述应用软件的操作***中。
14.根据权利要求12所述的装置,其特征在于,所述安装程序解析单元,进一步用于将读取的签名信息提供给用户,并在确定所述用户选择不信任提供的所述签名信息后,将读取的所述签名信息发送给所述验证单元。
15.根据权利要求12或14所述的装置,其特征在于,所述安装装置位于安装所述应用软件的操作***中;
所述验证单元,进一步用于在所述存储单元中未查询到所述应用软件的原始签名信息时,从网络服务器中查询所述应用软件的原始签名信息,若查询到所述原始签名信息,则将查询到的原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息和反馈验证结果的操作;若在网络服务器中未查询到所述原始签名信息,则从所述安装程序中提供的预设接口读取所述应用软件的原始签名信息,并将读取的所述原始签名信息保存到所述存储单元中,执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作;
或者,所述验证单元,在所述存储单元中未查询到所述应用软件的原始签名信息时,从所述安装程序提供的预设接口读取所述应用软件的原始签名信息,将读取的所述原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作;若所述安装程序未提供取原始签名信息的预设接口,则从网络服务器中查询所述应用软件的原始签名信息,将查询到的原始签名信息保存到所述存储单元中,并执行所述利用原始签名信息验证读取的签名信息并反馈验证结果的操作。
16.一种应用软件的安装装置,其特征在于,该装置包括:安装程序解析单元、安装进程控制单元、验证单元和存储单元;
所述存储单元,用于保存安装程序的原始签名信息;
所述安装程序解析单元,用于读取应用软件的安装程序携带的签名信息,将读取的所述签名信息提供给用户,并在确定所述用户选择不信任所述签名信息后,将读取的所述签名信息发送给所述验证单元;
所述验证单元,用于利用所述存储单元保存的所述应用软件的安装程序的原始签名信息,对所述安装程序解析单元发来的签名信息进行验证,并将验证结果通知所述安装进程控制单元;
所述安装进程控制单元,用于接收所述验证单元的验证结果,若验证结果为验证通过,则执行所述安装程序的可执行代码,否则退出所述应用软件的安装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210264598.6A CN103577206A (zh) | 2012-07-27 | 2012-07-27 | 一种应用软件的安装方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210264598.6A CN103577206A (zh) | 2012-07-27 | 2012-07-27 | 一种应用软件的安装方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103577206A true CN103577206A (zh) | 2014-02-12 |
Family
ID=50049055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210264598.6A Pending CN103577206A (zh) | 2012-07-27 | 2012-07-27 | 一种应用软件的安装方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103577206A (zh) |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810421A (zh) * | 2014-02-19 | 2014-05-21 | 北京视博数字电视科技有限公司 | 应用程序的校验方法、装置和终端设备 |
CN104035874A (zh) * | 2014-06-30 | 2014-09-10 | 深圳数字电视国家工程实验室股份有限公司 | 一种软件程序检测方法、装置及*** |
CN104049973A (zh) * | 2014-06-25 | 2014-09-17 | 北京思特奇信息技术股份有限公司 | 安卓应用程序的安全验证方法及装置 |
CN104123491A (zh) * | 2014-07-18 | 2014-10-29 | 广州金山网络科技有限公司 | 一种检测应用程序安装包是否被篡改的方法及装置 |
CN104216748A (zh) * | 2014-09-03 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 应用程序安装方法、装置及*** |
CN104298915A (zh) * | 2014-10-16 | 2015-01-21 | 厦门美图之家科技有限公司 | 一种防止安装包被篡改的方法 |
CN104331658A (zh) * | 2014-11-14 | 2015-02-04 | 北京视博数字电视科技有限公司 | 一种智能终端应用程序的安装验证方法及*** |
CN104392168A (zh) * | 2014-11-27 | 2015-03-04 | 上海斐讯数据通信技术有限公司 | 一种应用程序的验证方法 |
CN104486086A (zh) * | 2014-12-26 | 2015-04-01 | 北京奇虎科技有限公司 | 数字签名方法及移动终端和服务器 |
CN104751049A (zh) * | 2015-03-09 | 2015-07-01 | 广东欧珀移动通信有限公司 | 一种应用程序安装方法及移动终端 |
CN105320535A (zh) * | 2014-08-04 | 2016-02-10 | 优视科技有限公司 | 一种安装包的校验方法、客户端、服务器及*** |
CN105354488A (zh) * | 2015-10-26 | 2016-02-24 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用安装方法、相关装置及应用安装*** |
CN105827698A (zh) * | 2016-03-15 | 2016-08-03 | 武汉斗鱼网络科技有限公司 | 一种开发者可控的企业级app制作及下载安装方法及*** |
WO2016165215A1 (zh) * | 2015-04-15 | 2016-10-20 | 中兴通讯股份有限公司 | 应用程序加载代码签名的方法和装置 |
CN106230598A (zh) * | 2016-07-29 | 2016-12-14 | 深圳兆日科技股份有限公司 | 移动终端第三方应用安全认证方法和装置 |
CN106548065A (zh) * | 2016-10-27 | 2017-03-29 | 海信集团有限公司 | 应用程序安装检测方法及装置 |
CN106559223A (zh) * | 2016-11-29 | 2017-04-05 | 武汉斗鱼网络科技有限公司 | 应用程序签名方法及装置 |
CN106599676A (zh) * | 2016-12-22 | 2017-04-26 | 北京元心科技有限公司 | 可信进程识别方法及装置 |
CN106845212A (zh) * | 2017-01-17 | 2017-06-13 | 北京北信源软件股份有限公司 | 一种视窗操作***下的软件验证方法 |
CN106843927A (zh) * | 2016-12-21 | 2017-06-13 | 北京奇虎科技有限公司 | ***升级方法、装置以及刷机方法、装置 |
CN106991320A (zh) * | 2017-03-30 | 2017-07-28 | 福建实达电脑设备有限公司 | 基于定制化安卓***的应用鉴权方法 |
CN107016279A (zh) * | 2016-12-13 | 2017-08-04 | 蔚来汽车有限公司 | 应用安装方法和应用安装*** |
CN107135074A (zh) * | 2016-02-29 | 2017-09-05 | 中兴通讯股份有限公司 | 一种高级安全方法和装置 |
CN107145781A (zh) * | 2017-04-18 | 2017-09-08 | 北京思特奇信息技术股份有限公司 | 一种对应用程序进行安全检测的方法及装置 |
CN107729746A (zh) * | 2017-11-28 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于数字签名的已安装应用程序防篡改方法及*** |
CN108062463A (zh) * | 2016-11-07 | 2018-05-22 | 武汉安天信息技术有限责任公司 | 一种基于截屏图片的重打包检测方法及*** |
CN108121911A (zh) * | 2016-11-30 | 2018-06-05 | ***通信有限公司研究院 | 一种软件检测方法及装置 |
CN108197469A (zh) * | 2017-11-28 | 2018-06-22 | 东软集团股份有限公司 | 校验应用程序的方法、装置和存储介质以及电子设备 |
CN108683502A (zh) * | 2018-03-30 | 2018-10-19 | 上海连尚网络科技有限公司 | 一种数字签名验证方法、介质及设备 |
CN109033818A (zh) * | 2018-07-16 | 2018-12-18 | 北京京东尚科信息技术有限公司 | 终端、验证方法和计算机可读存储介质 |
CN109660353A (zh) * | 2018-12-12 | 2019-04-19 | 新华三技术有限公司 | 一种应用程序安装方法及装置 |
WO2019128075A1 (zh) * | 2017-12-27 | 2019-07-04 | ***股份有限公司 | 一种终端的应用管理方法、应用服务器及终端 |
CN113064601A (zh) * | 2019-12-30 | 2021-07-02 | Oppo广东移动通信有限公司 | 动态加载文件的确定方法、装置、终端及存储介质 |
CN113761587A (zh) * | 2020-09-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 用于签名校验的方法和装置 |
-
2012
- 2012-07-27 CN CN201210264598.6A patent/CN103577206A/zh active Pending
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810421A (zh) * | 2014-02-19 | 2014-05-21 | 北京视博数字电视科技有限公司 | 应用程序的校验方法、装置和终端设备 |
CN103810421B (zh) * | 2014-02-19 | 2017-01-04 | 北京视博数字电视科技有限公司 | 应用程序的校验方法、装置和终端设备 |
CN104049973A (zh) * | 2014-06-25 | 2014-09-17 | 北京思特奇信息技术股份有限公司 | 安卓应用程序的安全验证方法及装置 |
CN104035874A (zh) * | 2014-06-30 | 2014-09-10 | 深圳数字电视国家工程实验室股份有限公司 | 一种软件程序检测方法、装置及*** |
CN104123491A (zh) * | 2014-07-18 | 2014-10-29 | 广州金山网络科技有限公司 | 一种检测应用程序安装包是否被篡改的方法及装置 |
CN105320535B (zh) * | 2014-08-04 | 2019-02-15 | 广州爱九游信息技术有限公司 | 一种安装包的校验方法、客户端、服务器及*** |
CN105320535A (zh) * | 2014-08-04 | 2016-02-10 | 优视科技有限公司 | 一种安装包的校验方法、客户端、服务器及*** |
WO2016019790A1 (zh) * | 2014-08-04 | 2016-02-11 | 优视科技有限公司 | 一种安装包的校验方法、客户端、服务器及*** |
CN104216748A (zh) * | 2014-09-03 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 应用程序安装方法、装置及*** |
CN104298915A (zh) * | 2014-10-16 | 2015-01-21 | 厦门美图之家科技有限公司 | 一种防止安装包被篡改的方法 |
CN104331658A (zh) * | 2014-11-14 | 2015-02-04 | 北京视博数字电视科技有限公司 | 一种智能终端应用程序的安装验证方法及*** |
CN104392168A (zh) * | 2014-11-27 | 2015-03-04 | 上海斐讯数据通信技术有限公司 | 一种应用程序的验证方法 |
CN104486086A (zh) * | 2014-12-26 | 2015-04-01 | 北京奇虎科技有限公司 | 数字签名方法及移动终端和服务器 |
CN104486086B (zh) * | 2014-12-26 | 2017-10-20 | 北京奇虎科技有限公司 | 数字签名方法及移动终端和服务器 |
CN104751049B (zh) * | 2015-03-09 | 2018-09-04 | 广东欧珀移动通信有限公司 | 一种应用程序安装方法及移动终端 |
CN104751049A (zh) * | 2015-03-09 | 2015-07-01 | 广东欧珀移动通信有限公司 | 一种应用程序安装方法及移动终端 |
WO2016165215A1 (zh) * | 2015-04-15 | 2016-10-20 | 中兴通讯股份有限公司 | 应用程序加载代码签名的方法和装置 |
CN106155663A (zh) * | 2015-04-15 | 2016-11-23 | 中兴通讯股份有限公司 | 应用程序加载代码签名的方法和装置 |
CN105354488B (zh) * | 2015-10-26 | 2018-06-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用安装方法、相关装置及应用安装*** |
CN105354488A (zh) * | 2015-10-26 | 2016-02-24 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用安装方法、相关装置及应用安装*** |
CN107135074A (zh) * | 2016-02-29 | 2017-09-05 | 中兴通讯股份有限公司 | 一种高级安全方法和装置 |
CN105827698A (zh) * | 2016-03-15 | 2016-08-03 | 武汉斗鱼网络科技有限公司 | 一种开发者可控的企业级app制作及下载安装方法及*** |
CN106230598B (zh) * | 2016-07-29 | 2019-03-15 | 深圳兆日科技股份有限公司 | 移动终端第三方应用安全认证方法和装置 |
CN106230598A (zh) * | 2016-07-29 | 2016-12-14 | 深圳兆日科技股份有限公司 | 移动终端第三方应用安全认证方法和装置 |
CN106548065B (zh) * | 2016-10-27 | 2020-05-26 | 海信集团有限公司 | 应用程序安装检测方法及装置 |
CN106548065A (zh) * | 2016-10-27 | 2017-03-29 | 海信集团有限公司 | 应用程序安装检测方法及装置 |
CN108062463A (zh) * | 2016-11-07 | 2018-05-22 | 武汉安天信息技术有限责任公司 | 一种基于截屏图片的重打包检测方法及*** |
CN106559223B (zh) * | 2016-11-29 | 2019-11-15 | 武汉斗鱼网络科技有限公司 | 应用程序签名方法及装置 |
CN106559223A (zh) * | 2016-11-29 | 2017-04-05 | 武汉斗鱼网络科技有限公司 | 应用程序签名方法及装置 |
CN108121911A (zh) * | 2016-11-30 | 2018-06-05 | ***通信有限公司研究院 | 一种软件检测方法及装置 |
CN107016279A (zh) * | 2016-12-13 | 2017-08-04 | 蔚来汽车有限公司 | 应用安装方法和应用安装*** |
WO2018107765A1 (zh) * | 2016-12-13 | 2018-06-21 | 蔚来汽车有限公司 | 应用安装方法和应用安装*** |
CN106843927A (zh) * | 2016-12-21 | 2017-06-13 | 北京奇虎科技有限公司 | ***升级方法、装置以及刷机方法、装置 |
CN106599676A (zh) * | 2016-12-22 | 2017-04-26 | 北京元心科技有限公司 | 可信进程识别方法及装置 |
CN106845212A (zh) * | 2017-01-17 | 2017-06-13 | 北京北信源软件股份有限公司 | 一种视窗操作***下的软件验证方法 |
CN106991320A (zh) * | 2017-03-30 | 2017-07-28 | 福建实达电脑设备有限公司 | 基于定制化安卓***的应用鉴权方法 |
CN106991320B (zh) * | 2017-03-30 | 2019-09-24 | 福建实达电脑设备有限公司 | 基于定制化安卓***的应用鉴权方法 |
CN107145781A (zh) * | 2017-04-18 | 2017-09-08 | 北京思特奇信息技术股份有限公司 | 一种对应用程序进行安全检测的方法及装置 |
CN108197469A (zh) * | 2017-11-28 | 2018-06-22 | 东软集团股份有限公司 | 校验应用程序的方法、装置和存储介质以及电子设备 |
CN107729746A (zh) * | 2017-11-28 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于数字签名的已安装应用程序防篡改方法及*** |
CN107729746B (zh) * | 2017-11-28 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种基于数字签名的已安装应用程序防篡改方法及*** |
US11449616B2 (en) | 2017-12-27 | 2022-09-20 | China Unionpay Co., Ltd. | Application management method for terminal, application server, and terminal |
WO2019128075A1 (zh) * | 2017-12-27 | 2019-07-04 | ***股份有限公司 | 一种终端的应用管理方法、应用服务器及终端 |
CN108683502A (zh) * | 2018-03-30 | 2018-10-19 | 上海连尚网络科技有限公司 | 一种数字签名验证方法、介质及设备 |
CN108683502B (zh) * | 2018-03-30 | 2022-01-25 | 上海连尚网络科技有限公司 | 一种数字签名验证方法、介质及设备 |
CN109033818A (zh) * | 2018-07-16 | 2018-12-18 | 北京京东尚科信息技术有限公司 | 终端、验证方法和计算机可读存储介质 |
CN109660353A (zh) * | 2018-12-12 | 2019-04-19 | 新华三技术有限公司 | 一种应用程序安装方法及装置 |
CN113064601A (zh) * | 2019-12-30 | 2021-07-02 | Oppo广东移动通信有限公司 | 动态加载文件的确定方法、装置、终端及存储介质 |
CN113761587A (zh) * | 2020-09-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 用于签名校验的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577206A (zh) | 一种应用软件的安装方法和装置 | |
US11637707B2 (en) | System and method for managing installation of an application package requiring high-risk permission access | |
CN102830992B (zh) | 插件加载方法及*** | |
JP6888011B2 (ja) | 信頼できる実行環境を有するモバイル装置 | |
US10284376B2 (en) | Code signing system with machine to machine interaction | |
CN108023874B (zh) | 单点登录的校验装置、方法及计算机可读存储介质 | |
US9059978B2 (en) | System and methods for remote maintenance in an electronic network with multiple clients | |
US20150106618A1 (en) | Device Using Secure Processing Zone to Establish Trust for Digital Rights Management | |
WO2006108788A1 (en) | Updating of data instructions | |
CN110333868B (zh) | 用于生成子应用的安装包的方法和*** | |
WO2010075343A2 (en) | Apparatus and methods for providing authorized device access | |
US20160365981A1 (en) | Code signing system with machine to machine interaction | |
JP2017011491A (ja) | 認証システム | |
CN112231674A (zh) | 一种url地址的跳转验证方法、***及电子设备 | |
CN107241341B (zh) | 访问控制方法及装置 | |
CN101388772B (zh) | 一种数字签名方法和*** | |
CN114297679B (zh) | 一种镜像加密传输与升级的方法 | |
US20230130985A1 (en) | Secure execution of scripts | |
JP4173449B2 (ja) | プログラム難読化システム及びプログラム難読化方法 | |
CN115437673A (zh) | 车载mcu升级的方法、车载mcu升级***与服务器组 | |
CN116828033A (zh) | 一种信息安全中间件***及提供安全服务的方法 | |
CN114785498A (zh) | 一种数据库密码保护方法、装置及设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140212 |