CN115509556A - 一种应用管理方法、装置、设备及介质 - Google Patents
一种应用管理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115509556A CN115509556A CN202211184494.4A CN202211184494A CN115509556A CN 115509556 A CN115509556 A CN 115509556A CN 202211184494 A CN202211184494 A CN 202211184494A CN 115509556 A CN115509556 A CN 115509556A
- Authority
- CN
- China
- Prior art keywords
- application
- signature information
- installation package
- hash value
- signature
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用管理方法,包括:接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包;解析所述应用安装包,得到所述签名信息;对所述签名信息进行校验;在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。本发明采用了预置签名信息的APK来进行应用安装防篡改和卸载权限控制,从而实现应用的安全防护,在车机应用的安装鉴权方面,从源头上区分了可信授权应用和恶意不法应用。
Description
技术领域
本发明属于汽车的车机***信息安全的技术领域,具体涉及一种应用管理方法、装置、设备及介质。
背景技术
随着汽车向网联化、智能化的方向快速发展,车机***的安卓APP应用愈加海量,安卓APP应用的类别也日渐丰富,车载应用已经逐渐成为人们生活中不可或缺的元素,从而丰富多彩的应用程序所带来的安全风险也日趋增加,如果在车机的操作***上安装了恶意应用或者对合法应用进行非法卸载,那么无论是对于车机本身***的安全还是用户信息隐私的安全甚至是车辆驾驶的安全,都存在极大的安全风险,为从根源上杜绝应用的非法安装及卸载,基于保护用户信息安全隐私和车机***安全等方面因素的考虑,车载应用的安卓操作***需要增加应用的安装、防篡改与卸载防护功能。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种应用管理方法、装置、设备及介质,以解决上述技术问题。
本发明提供的一种应用管理方法,所述方法包括:
接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包
解析所述应用安装包,得到所述签名信息;
对所述签名信息进行校验;
在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。
于本发明一实施例中,所述签名信息的生成包括:
计算所述应用安装包的第一哈希值,所述应用安装包中携带有签名信息数据;
对所述应用安装包进行加密,得到加密数据;
基于第二哈希值以及公钥证书生成签名信息,其中所述第二哈希值包括第一哈希值和加密数据。
于本发明一实施例中,所述对所述签名信息进行校验的步骤,包括:
将解析得到的签名信息与预设的签名信息进行比对,若解析得到的签名信息与预设的签名信息一致,则校验通过;若解析得到的签名信息与预设的签名信息不一致,则校验不通过。
于本发明一实施例中,所述对所述签名信息进行校验的步骤,包括:
计算所述应用安装包的第三哈希值,并所述第三哈希值与所述第二哈希值中的第一哈希值进行第一次比较;
所述第二哈希值中的第一哈希值与所述第三哈希值一致时,第一次比较通过;
对所述签名信息进行解密,得到解密数据以及第四哈希值;
将所述第四哈希值与所述第二哈希值进行第二次比较;当所述第二哈希值与所述第四哈希值一致时,第二次比较通过;
当所述第一次比较与第二次比较均通过时,校验通过。
于本发明一实施例中,所述对所述第一哈希值进行加密,包括:
利用加签工具对所述应用安装包进行数字签名;
利用公钥证书对应用安装包进行加密。
于本发明一实施例中,所述对所述签名信息进行解密,包括:
利用公钥证书以及加签工具对所述应用安装包进行解密。
于本发明一实施例中,所述方法还包括:
接收应用卸载请求,所述应用卸载请求中携带有包括签名信息的应用安装包,所述应用安装包为目标应用的安装包;
解析所述应用卸载请求,得到签名信息;
对所述签名信息进行验证;
在签名信息验证通过后,判断所述签名信息中是否存在卸载标识;
若对所述签名信息的验证通过,且签名信息中存在卸载标识,则卸载所述目标应用。
于本发明一实施例中,在对所述应用安装包进行加密时,对应用安装包内的应用程序配置文件进行加密。
本发明提供的一种应用管理装置,所述装置包括:
接收模块,用于接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包
解析模块,用于解析所述应用安装包,得到所述签名信息;
校验模块,用于对所述签名信息进行校验;
安装模块,用于在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。
本发明提供的一种应用管理装置,所述装置包括:
密钥管理模块,用于生成签名证书,并将所述签名证书发送至应用服务器;
应用服务器,用于将管理信息预置在应用安装包中,并利用所述签名证书以及签名工具对所述应用安装包进行加密,得到加密结果;
所述应用服务器还用于将所述签名证书以及加密结果添加至应用安装包内,并将添加签名证书和加密结果的应用安装包发送至车机***。
本发明提供的一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述的应用管理方法的步骤。
本发明提供的一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行上述应用管理方法的步骤。
本发明的有益效果:本发明中的一种应用管理方法,包括:接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包;解析所述应用安装包,得到所述签名信息;对所述签名信息进行校验;在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。本发明采用了预置签名信息的APK来进行应用安装防篡改和卸载权限控制,从而实现应用的安全防护,在车机应用的安装鉴权方面,从源头上区分了可信授权应用和恶意不法应用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的应用管理方法的实施环境示意图;
图2是本申请的一示例性实施例示出的应用管理方法的流程图;
图3是本申请的一示例性实施例示出的应用管理***的框图;
图4是本申请的一示例性实施例示出的签名信息的生成流程图;
图5是本申请的一示例性实施例示出的对所述签名信息进行校验的流程图;
图6是本申请的一示例性实施例示出的应用管理装置的框图;
图7示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
图1是本申请一种示例性应用管理方法实施环境的示意图。请参阅图1,该实施环境中包括终端设备101和服务器102,终端设备101和服务器102之间通过有线或者无线网络进行通信。终端设备接收应用安装包,所述应用安装包中携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包;解析所述应用安装包,得到所述签名信息;对所述签名信息进行校验;在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。本发明采用了预置签名信息的APK来进行应用安装防篡改和卸载权限控制,从而实现应用的安全防护,在车机应用的安装鉴权方面,从源头上区分了可信授权应用和恶意不法应用。
应该理解,图1中的终端设备101和服务器102的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备101和服务器102。
其中,终端设备101对应客户端,其可以是任意具有用户输入接口的电子设备,包括但不限于智能手机、平板、笔记本电脑、计算机、车载电脑等等,其中,用户输入接口包括但不限于触摸屏、键盘、物理按键、音频拾取装置等。
其中,服务器102对应服务端,其可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
终端设备101可以通过3G(第三代的移动信息技术)、4G(***的移动信息技术)、5G(第五代的移动信息技术)等无线网络与服务端102进行通信,本处也不对此进行限制。
本申请的实施例分别提出一种应用管理方法、一种应用管理装置、一种电子设备、一种计算机可读存储介质,以下将对这些实施例进行详细描述。
请参阅图2,图2是本申请的一示例性实施例示出的一种应用管理方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的终端设备101具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
请参阅图2,图2为本申请一示例性的一种应用管理方法的流程图,该应用管理方法至少包括步骤S210至步骤S240,详细介绍如下:
步骤S210,接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包;
步骤S220,解析所述应用安装包,得到所述签名信息;
步骤S230,对所述签名信息进行校验;
步骤S240,在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在对上述各个步骤进行详细说明前,先对本方法应用的***进行说明。
图3为本申请一示例性实施例中应用管理***的结构图。如图3所示,该***包括:密钥管理***T0、APP应用服务器T1、车机***T2、攻击者T3、用户T4、应用安装包APKT5;
密钥管理***T0为APP应用服务器T1生成签名证书,APP应用服务器T1预先把应用安装包APKT5的管理信息(是否可以安装、是否可以卸载)预置在应用程序配置文件内,应用服务器T1使用密钥管理***T0下发的签名证书和安卓***的签名工具对应用安装包APKT5计算签名(加密),计算签名的部分包含应用安装包APKT5内的应用程序配置文件,APP应用服务器T1使用加签工具将公钥证书和计算出的签名添加到应用安装包APKT5内。APP应用服务器T1下发签名授权应用给车机操作***T2,安卓操作***开始进行应用安装。
以下对各个步骤进行详细说明。
在步骤S210中,接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包;
应用安装包,即APK(Android Application Package)。本实施例中,应用安装包是安装在车机操作***T2中,其中车机操作***是基于安卓的操作***。
在实施例中,带有预先生成的签名信息的应用安装包是预先在服务器内生成的,然后发送到车机操作***中进行安装。目标安装应用是用户想要安装的应用包。
在步骤S220中,解析所述应用安装包,得到所述签名信息;
由于本实施例是对签名信息进行验证,而签名信息是包括在应用安装包内的,因此,需要对应用安装包进行解析,从而获取应用安装包内的签名信息。
当然,想要获得签名信息,首先需要生成签名信息,在一实施例中,如图4所示,所述签名信息的生成包括:
步骤S410,计算所述应用安装包的第一哈希值,所述应用安装包中携带有签名信息数据;
哈希值,又称:散列函数(或散列算法,又称哈希函数,英语:Hash Function)是一种从任何一种数据中创建小的数字"指纹"的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。
步骤S420,对所述应用安装包进行加密,得到加密数据;
具体地,对应用安装包进行加密包括利用加签工具对所述应用安装包进行数字签名,利用公钥证书对应用安装包进行加密。其中,加签工具是车机操作***自身具有的。公钥证书,通常简称为证书,是一种数字签名的声明,它将公钥的值绑定到持有对应私钥的个人、设备或服务的身份。公钥证书是由密钥管理***生成的,公钥证书也可以被叫作签名证书。
步骤S430,基于第二哈希值以及公钥证书生成签名信息,其中所述第二哈希值包括第一哈希值和加密数据。
在得到第二哈希值和公钥证书后,将两者组合在一起作为签名信息。
在步骤S230,对所述签名信息进行校验;
对签名信息进行校验,即判断该签名信息是否与车机操作***中预存的签名信息一致。具体地,所述对所述签名信息进行校验的步骤,包括:
将解析得到的签名信息与预设的签名信息进行比对,若解析得到的签名信息与预设的签名信息一致,则校验通过;若解析得到的签名信息与预设的签名信息不一致,则校验不通过。
需要说明的是,签名信息在车机操作***中可以进行预存。这样就可以在安装目标应用时,将目标应用的签名信息与车机操作***中的签名信息进行比对,从而确定是否可以对目标应用进行安装。
更加具体地,如图5所示,所述对所述签名信息进行校验的步骤,包括:
步骤S510,计算所述应用安装包的第三哈希值,并所述第三哈希值与所述第二哈希值中的第一哈希值进行第一次比较;
步骤S520,当所述第二哈希值中的第一哈希值与所述第三哈希值一致时,第一次比较通过;
步骤S530,对所述签名信息进行解密,得到解密数据以及第四哈希值;其中,解密可以采用公钥证书以及加签工具对所述应用安装包进行解密;
步骤S540,将所述第四哈希值与所述第二哈希值进行第二次比较;当所述第二哈希值与所述第四哈希值一致时,第二次比较通过;
步骤S550,当所述第一次比较与第二次比较均通过时,校验通过。
在一实施例中,在需要对安装好的应用进行卸载时,车机操作***首先要接收应用卸载请求,所述应用卸载请求中携带有包括签名信息的应用安装包,所述应用安装包为目标应用的安装包;解析所述应用卸载请求,得到签名信息;对所述签名信息进行验证;在签名信息验证通过后,判断所述签名信息中是否存在卸载标识;若对所述签名信息的验证通过,且签名信息中存在卸载标识,则卸载所述目标应用。在本实施例中,当解析得到的签名信息与存储在***中的签名信息一致时,则签名信息验证通过。在本实施例中,具有卸载标识的应用可以卸载,不具有卸载标识的应用则不能卸载。
本发明采用了预置签名信息的APK来进行应用安装控制,从而实现应用的安全防护,在车机应用的安装鉴权方面,从源头上区分了可信授权应用和恶意不法应用,保护了车机安卓***本身的安全和用户隐私信息的安全,在车机应用的防篡改方面,对于篡改后的应用,使其无法安装从而防护恶意攻击者非法安装应用,进而获取用户的隐私信息,对用户的隐私信息进行非法利用,使其无法对车机安卓***本身和用户的隐私信息的安全造成威胁。在车机应用的卸载方面,相比于传统采用安卓的原生机制,安装在操作***system分区下的应用无法卸载的机制(由于***system分区只具有只读权限,在不被root的情况下实现无法卸载***本身的应用)而言,system分区占用率减小,安全启动无需校验更多的应用程序,安全启动的时间变快,减少了操作***安全启动的时间,能够使应用即使是安装在其他的分区,也能够保障应用和***的安全,相比于安卓操作***原生的机制,控制应用安装和卸载的权限更加灵活且方便,提高了车机安卓操作***整体的安全性。例如某个对于操作***而言十分重要且不允许被用户操作修改的***应用,采用传统方式而言,会需要把应用安装在***system分区上才能够实现,随着***分区的应用增多,***的空间将会变得越来越小,进而会影响到***运行的效率,而采用本发明,则该应用可安装在***分区以外的其他分区,依然能够做到对于应用安装权限的有效控制。
本发明中对于应用卸载控制采用了签名加车载应用包是否可以被卸载预置的方式,相比于传统采用黑白名单列表进行访问控制的方式,本发明采用的方法更加的简便,增加了灵活性,减轻了维护黑白名单的负担,规避了黑白名单泄露丢失或被篡改的风险。例如,当用户想卸载某个应用时,如果采用黑白名单访问控制的方式,则需要将该应用是否可以被卸载维护在黑白名单列表内,进而操作***在卸载应用时需要去校验黑白名单列表的内容,但是对于黑白名单列表的维护,例如黑白名单列表自身的安全,黑白名单的内容的防篡改也会是额外的负担,而本方法则采用直接将应用的可否被卸载信息计算集成在应用签名内,进而通过加密工具集成在车载应用内部,不需要去维护额外的黑白名单列表,从而更优。
针对于如图3所示的应用管理***在执行应用安装的时候,执行以下步骤:
步骤S11:T1应用服务器下发签名授权应用给T2车机操作***。
步骤S12:T2车机操作***开始安装授权应用。
T2车机操作***首先会由Zygote进程启动一些服务,例如SurfaceFinger(平台的显示服务)、SensorService(安卓传感器服)、AudioFinger(音频服务)、MediaPlayerService(多媒体服务)、CameraService(相机服务)和AudioPolicyService(音频策略服务),这个过程为init初始化过程,然后通过***全局唯一的AndroidRuntime来实例化变量,runtime的callStatic来调用systemServer的初始化动作函数。***初始化完成之后,调用systemServer的启动函数run并去add加载T5应用安装包APK。完成后会由packageManageService服务扫描应用app,解析应用APK,每个APK安装包都是一个归档文件,它里面包含了安卓Android应用程序的配置文件,这里主要就是要对这个配置文件进行解析,从APK归档文件中得到这个配置文件后,就调用parsePackage函数对应用进行解析,之后调用其他安装服务完成应用的安装。
最终的应用安装可以归结为:
(1)将应用安装包APKT5文件复制到指定的目录下;
(2)解压APK,拷贝文件,创建应用的数据目录,解析APK,校验包名等并将其中声明的组件等信息保存;
(3)调用其他安装服务
故而,根据应用安装调用的流程,在安装方法中添加相应的应用签名信息来判断待安装的应用是否是授权APP应用;
步骤S13:车机操作***T2使用证书进行验签,验签过程为计算APK应用安装包哈希值,将APK应用安装包哈希值和APK应用包内的签名信息哈希比对,使用公钥证书对签名信息的签名部分解密和计算出来的APK应用安装包哈希值比对。两两都比对一致说明验签通过,比对不一致说明验签不通过。
步骤S14:T2车机操作***验签通过会进行应用APP的安装;
步骤S15:T2车机操作***验签不通过会中断应用APP的安装;
对于授权应用的篡改防护主要依赖的是***对于APK完整性的校验功能和***安装防护功能来实现。
其中APK篡改的原理大致为:篡改者拿到已经使用***签名的APK,通过再次打包生成APK,或者直接修改APK文件二进制数据包的方式将APK安装包中的部分代码或者APK安装包内文件本身的篡改。
针对再次打包方式进行的篡改,因为APK需要重新打包,但每次重新打包后的APK需要***证书签名才可以被***安装,故而如果篡改者无法获取到***的签名证书,新的安装包会被非授权应用安装防护逻辑识别并阻止安装,从而实现了篡改防护(但如果篡改攻击者已经获得***的签名证书,那么它可以使用签名证书进行签名,此时篡改防护已经没有意义,此时建议更换***证书了),对于存在的应用安装包二进制文件修改这种方式在安装时***会校验APK的完整性,此时完整性校验不通过,从而安装失败,所以我们防篡改主要考虑的是篡改攻击者再次打包生成APK的场景,应用的篡改防护流程如下:
步骤S21:攻击者T3下发已篡改APP在车机操作***进行安装操作;
步骤S22:车机操作系T2统开始安装已篡改的APP应用;
步骤S23:车机操作***T2验签不通过;
步骤S24:车机操作***T2拒绝安装该APP应用。
应用的卸载流程与安装流程相反,卸载本质上是删除安装时创建保存的文件信息,其主要步骤如下:
1)从内部结构删除acitivity、service、provider等信息
2)删除code、library、resource等信息
3)删除data/data/packageName以及data/dalvik-cache下的文件
4)更新setting中的package信息
应用的卸载流程如下所示
步骤S31:用户点T4击卸载应用APP;
步骤S32:车机操作***T2开始准备卸载应用APP;
步骤S33:车机操作***T2校验预置信息应用是否可以卸载,并且开始验签,使用***内的签名信息和APK应用内的签名信息进行比对,二者都校验通过之后,说明校验通过;
步骤S34:车机操作***T2校验通过,可以卸载应用;
步骤S35:车机操作***T2校验不通过,拒绝卸载。
具体卸载就是用户在***界面点击卸载操作后,操作***会去经过一系列的调用,最终调用到packageManageService中的deletePackage卸载方法执行卸载任务,之后会去删除了应用相关的信息完成卸载,所以我们这个方法就是通过在卸载时对需要卸载的应用APP进行校验,判断APP的签名是否是授权应用,并且签名是否是可以卸载,从而判断是否拦截应用的卸载,以实现应用卸载的安全防护。
图6是本申请的一示例性实施例示出的应用管理装置的框图。该装置可以应用于图1所示的实施环境,并具体配置在终端设备中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
如图6所示,本申请提供一种应用管理装置,该装置包括:
接收模块610,用于接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包
解析模块620,用于解析所述应用安装包,得到所述签名信息;
校验模块630,用于对所述签名信息进行校验;
安装模块640,用于在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。
需要说明的是,上述实施例所提供的应用管理装置与上述实施例所提供的应用管理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的应用管理装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的应用管理方法。
图7示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。需要说明的是,图7示出的电子设备的计算机***700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机***700包括中央处理单元(Central Processing Unit,CPU)701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的程序或者从储存部分708加载到随机访问存储器(Random Access Memory,RAM)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM703中,还存储有***操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(Input/Output,I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分707;包括硬盘等的储存部分708;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分707。通信部分707经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入储存部分708。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图2所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的应用管理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的应用管理方法。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (12)
1.一种应用管理方法,其特征在于,所述方法包括:
接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包;
解析所述应用安装包,得到所述签名信息;
对所述签名信息进行校验;
在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。
2.根据权利要求1所述的应用管理方法,其特征在于,所述签名信息的生成包括:
计算所述应用安装包的第一哈希值,所述应用安装包中携带有签名信息数据;
对所述应用安装包进行加密,得到加密数据;
基于第二哈希值以及公钥证书生成签名信息,其中所述第二哈希值包括第一哈希值和加密数据。
3.根据权利要求2所述的应用管理方法,其特征在于,所述对所述签名信息进行校验的步骤,包括:
将解析得到的签名信息与预设的签名信息进行比对,若解析得到的签名信息与预设的签名信息一致,则校验通过;若解析得到的签名信息与预设的签名信息不一致,则校验不通过。
4.根据权利要求3所述的应用管理方法,其特征在于,所述对所述签名信息进行校验的步骤,包括:
计算所述应用安装包的第三哈希值,并所述第三哈希值与所述第二哈希值中的第一哈希值进行第一次比较;
所述第二哈希值中的第一哈希值与所述第三哈希值一致时,第一次比较通过;
对所述签名信息进行解密,得到解密数据以及第四哈希值;
将所述第四哈希值与所述第二哈希值进行第二次比较;当所述第二哈希值与所述第四哈希值一致时,第二次比较通过;
当所述第一次比较与第二次比较均通过时,校验通过。
5.根据权利要求2所述的应用管理方法,其特征在于,所述对所述第一哈希值进行加密,包括:
利用加签工具对所述应用安装包进行数字签名;
利用公钥证书对应用安装包进行加密。
6.根据权利要求4所述的应用管理方法,其特征在于,所述对所述签名信息进行解密,包括:
利用公钥证书以及加签工具对所述应用安装包进行解密。
7.根据权利要求1所述的应用管理方法,其特征在于,所述方法还包括:
接收应用卸载请求,所述应用卸载请求中携带有包括签名信息的应用安装包,所述应用安装包为目标应用的安装包;
解析所述应用卸载请求,得到签名信息;
对所述签名信息进行验证;
在签名信息验证通过后,判断所述签名信息中是否存在卸载标识;
若对所述签名信息的验证通过,且签名信息中存在卸载标识,则卸载所述目标应用。
8.根据权利要求2~5任意一项所述的应用管理方法,其特征在于,在对所述应用安装包进行加密时,对应用安装包内的应用程序配置文件进行加密。
9.一种应用管理装置,其特征在于,所述装置包括:
接收模块,用于接收服务器下发的携带有包括预先生成的签名信息的应用安装包,所述应用安装包为目标安装应用的安装包;
解析模块,用于解析所述应用安装包,得到所述签名信息;
校验模块,用于对所述签名信息进行校验;
安装模块,用于在校验成功时,基于所述应用安装包的注册信息以及签名信息完成目标应用的安装。
10.一种应用管理装置,其特征在于,所述装置包括:
密钥管理模块,用于生成签名证书,并将所述签名证书发送至应用服务器;
应用服务器,用于将管理信息预置在应用安装包中,并利用所述签名证书以及签名工具对所述应用安装包进行加密,得到加密结果;
所述应用服务器还用于将所述签名证书以及加密结果添加至应用安装包内,并将添加签名证书和加密结果的应用安装包发送至车机***。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至8中任一项所述的应用管理方法的步骤。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至8中任一项所述的应用管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211184494.4A CN115509556A (zh) | 2022-09-27 | 2022-09-27 | 一种应用管理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211184494.4A CN115509556A (zh) | 2022-09-27 | 2022-09-27 | 一种应用管理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509556A true CN115509556A (zh) | 2022-12-23 |
Family
ID=84505581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211184494.4A Pending CN115509556A (zh) | 2022-09-27 | 2022-09-27 | 一种应用管理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509556A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455584A (zh) * | 2023-05-05 | 2023-07-18 | 北京奥蓝德信息科技有限公司 | 一种基于软件完整性的下载方法及*** |
-
2022
- 2022-09-27 CN CN202211184494.4A patent/CN115509556A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455584A (zh) * | 2023-05-05 | 2023-07-18 | 北京奥蓝德信息科技有限公司 | 一种基于软件完整性的下载方法及*** |
CN116455584B (zh) * | 2023-05-05 | 2023-09-29 | 北京奥蓝德信息科技有限公司 | 一种基于软件完整性的下载方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437967B2 (en) | Code signing system and method | |
US7103779B2 (en) | Method and apparatus for incremental code signing | |
US8201240B2 (en) | Simple scalable and configurable secure boot for trusted mobile phones | |
EP1776799B1 (en) | Enhanced security using service provider authentication | |
CN112507328B (zh) | 一种文件签名方法、计算设备及存储介质 | |
EP3583536B1 (en) | Securely defining operating system composition without multiple authoring | |
CN103677892A (zh) | 在安全电子控制单元中启用特殊优先模式的授权方案 | |
CN108259479B (zh) | 业务数据处理方法、客户端与计算机可读存储介质 | |
CN113282946A (zh) | 基于高可信环境下数据访问过程的信息安全方法及*** | |
CN111966422A (zh) | 一种本地化插件服务方法、装置、电子设备及存储介质 | |
CN115509556A (zh) | 一种应用管理方法、装置、设备及介质 | |
JP4526383B2 (ja) | 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体 | |
CN107689934B (zh) | 一种保障信息安全的方法、服务器及客户端 | |
US10367644B2 (en) | Methods for managing content, computer program products and secure element | |
CN111562916B (zh) | 共享算法的方法和装置 | |
CN115221534A (zh) | 信息处理方法、信息处理设备和计算机可读介质 | |
CN116305084A (zh) | 一种软件安全校验方法、装置、电子设备及存储介质 | |
CN117411653A (zh) | 信息存储方法、设备、存储介质及装置 | |
CN114301601A (zh) | 一种基于Android平台的接口管理方法及终端 | |
CN116980158A (zh) | 数据处理方法及相关设备 | |
CN114879980A (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 |