用于管理需要高风险权限访问的应用程序包的安装的系统和方法与流程

文档序号:13518302阅读:576来源:国知局
用于管理需要高风险权限访问的应用程序包的安装的系统和方法与流程

本发明涉及一种用于管理安卓应用程序包(applicationpackage,apk)在设备中的安装的系统和方法,在所述设备中所述apk需要所述设备在安装时对所述应用授予特定高风险权限。



背景技术:

大多数软件平台或操作系统通常提供应用编程接口(applicationprogramminginterface,api),所述api当被软件平台或操作系统的应用调用时各自执行特定功能。然而,在软件平台允许调用应用所请求的api之前,软件平台会首先确定所述应用是否具有调用所述api的所需权限。

利用对安装的应用在运行时能做什么进行限制的此类权限架构的操作系统可以是安卓操作系统。在运行安卓操作系统的设备中安装应用之前,应用的清单文件中将列出所述应用所需的权限列表。在设备中安装应用期间,通过设备中的套餐安装工具验证并授予应用所请求的权限。安卓操作系统可以授予的四个基本权限类型是“普通”、“危险”、“签名”和“签名/系统”类型的权限。

“普通”权限类型是通常默认地授予请求应用的低风险权限。“危险”权限类型是可以允许请求应用访问设备的消息、图片、电子邮件等私人数据或直接访问设备的潜伏高风险权限。因而,设备的套餐安装工具将通常在安装过程期间在对请求的应用给予所请求权限之前要求设备用户审批对此类权限的授予。“签名”和“签名/系统”权限类型是要求请求权限的应用以安卓系统的签名进行签名的高风险权限。“普通”或“危险”权限类型可以调用的api包含但不限于接收和发送短消息业务(short-message-service,sms)消息、检索全球定位系统(globalpositioningsystem,gps)坐标、阅读接触、使用相机、检索照片等。然而,“签名”或“签名/系统”权限类型可以调用的api仅包含但不限于设备复位至工厂默认设置、禁用通信、卸载其它应用等。

与“普通”或“危险”权限类型相符的应用通常包括第三方应用,而授予“签名”或“签名/系统”权限类型的应用通常包括设备的制造商开发的系统应用。因而,归类为系统应用的应用通常被授予设备的所有“签名”或“签名/系统”权限类型。

目前,在安卓操作系统中,为了使第三方应用与高风险权限相符,第三方应用的开发者将首先必须提交其应用以待设备制造商将其重新签名为系统应用。当对应用重新签名时,舍弃主题应用中的初始应用开发密钥并接着用安卓系统密钥对主题应用进行签名。在第三方应用已经被重新签名为系统应用之后,所述重新签名的第三方应用将与所有高风险权限相符。在应用的安装过程期间,安卓系统将重新签名的应用识别为系统应用,因为现在所述应用的最新签名密钥与安卓操作系统的公钥相匹配。如果所述两个密钥不同,所述应用将替代地识别为第三方应用。

一旦第三方应用已经重新签名为系统应用,这将使得第三方应用不仅具有所需高风险权限,而且具有通常指配给系统应用的所有签名/系统类型权限。这由于违背了最少特权原理因而是不利的。因而,此方法并不充分解决第三方应用仅需要访问某一api的特定权限的情况。

出于以上原因,所属领域的技术人员不断努力提出一种管理属于第三方开发者的应用在设备中的安装的系统和方法,在所述设备中所述待安装的应用需要系统和/或签名/系统类型权限等高风险类型的权限。



技术实现要素:

通过根据本发明的实施例提供的系统和方法解决了以上及其它问题并推进了本领域的发展。

根据本发明的系统和方法的实施例的第一优点是仅对应用授予特定的预定权限。将不对应用自动地授予未请求的其它系统或签名/系统层级权限。

根据本发明的系统和方法的实施例的第二优点是仅对特定应用授予高风险权限,因为颁发的权限证书将仅对特定应用起作用。这确保已经授予的高风险权限可以不被误用或被应用的开发者利用。

根据本发明的系统和方法的实施例的第三优点是针对应用颁发的权限证书可以含有设备标识,意味着权限证书可以仅对设备的子集而非属于特定制造商的所有设备授予高风险权限。

根据本发明的系统和方法的实施例的第四优点是权限证书可以嵌入应用程序包内并且在安装过程期间检索到,或可以在应用程序包的安装过程期间从设备制造商的安全服务器下载权限证书。

由通过以下方式操作的根据本发明的系统的实施例提供以上优点。

根据本发明的第一方面,提供一种用于管理安卓应用程序包(applicationpackage,apk)在设备中的安装的方法,其中所述方法包括以下步骤:由设备接收对于apk的安装请求;由设备根据安装请求检索用于apk的权限证书,其中用于apk的权限证书包含密码签名;由设备通过使用设备的制造商的权限认证公钥验证权限证书中包含的密码签名来确定权限证书的有效性,其中权限认证公钥存储于设备中;以及在确定权限证书有效的情况下允许apk在设备中的安装。

参考第一方面,在第一方面的第一可能实施方式中,其中在确定权限证书有效的情况下允许apk在设备中的安装的步骤之前,所述方法进一步包括以下步骤:确定安装请求中含有的权限请求是否对应于权限证书中针对apk授予的权限;以及当确定安装请求中含有的权限请求对应于权限证书中授予的权限时确认权限证书。

参考第一方面或第一方面的第一可能实施方式,在第一方面的第二可能实施方式中,验证权限证书中包含的密码签名包括:使用密码哈希函数计算apk的密码哈希;以及对apk的计算出的密码哈希与权限证书中存储的apk的密码哈希进行比较。

参考第一方面、第一方面的第一可能实施方式或第一方面的第二可能实施方式,在第一方面的第三可能实施方式中,当使用设备的制造商的权限认证私钥对用于apk的权限证书以密码方式进行签名时,在与设备的制造商相关联的服务器处生成权限证书中包含的密码签名。

参考第一方面的第三可能实施方式,在第一方面的第四可能实施方式中,用于apk的以密码方式签名的权限证书包括apk的开发公钥、apk的名称;授予apk的权限,以及权限证书的有效期。

参考第一方面的第三可能实施方式或第一方面的第四可能实施方式,在第一方面的第五可能实施方式中,在服务器接收到含有已经使用设备的制造商的权限认证私钥以密码方式签名的开发权限证书的预发布apk之后,对用于apk的权限证书以密码方式进行签名,并且其中开发权限证书允许预发布apk安装在预定开发设备中。

参考第一方面或第一方面的第一、第二、第三、第四或第五可能实施方式,在第一方面的第六可能实施方式中,检索用于apk的权限证书包括从apk去嵌入权限证书。

参考第一方面或第一方面的第一、第二、第三、第四或第五可能实施方式,在第一方面的第七可能实施方式中,检索用于apk的权限证书包括从设备的远程服务器下载权限证书。

附图说明

在以下详细描述中描述并在以下图式中示出根据本发明的以上优点和特征:

图1示出根据本发明的实施例的用于管理应用程序包(applicationpackage,apk)在设备中的安装的系统的方块图;

图2示出根据本发明的实施例的用于管理应用程序包(applicationpackage,apk)在设备中的安装由此在权限证书颁发之前颁发开发权限证书的系统的方块图;

图3示出根据本发明的实施例的用于管理应用程序包(applicationpackage,apk)在设备中的安装的过程的流程图;

图4示出根据本发明的实施例的用于对应用程序包颁发权限证书的过程的流程图;

图5示出根据本发明的实施例的用于颁发开发权限证书继而权限证书的过程的流程图;以及

图6示出表示提供根据本发明的实施例的实施例的处理系统的方块图。

具体实施方式

本发明涉及一种用于管理安卓应用程序包(applicationpackage,apk)在设备中的安装的系统和方法,在所述设备中所述apk需要所述设备在安装时对所述应用授予特定高风险权限。更具体地说,本发明涉及一种确定是否可以允许需要访问受保护的应用编程接口(applicationprogramminginterface,api)的apk安装于设备中的系统和方法。受保护的api是指仅可以由具有所需高风险权限的应用调用的api。

图1示出根据本发明的实施例的用于管理apk120或apk121在设备130中的安装的系统。设备130可以包括移动设备,例如但不限于智能电话、平板电脑、便携式计算机和/或此类计算机系统。所属领域的技术人员将认识到,图1中示出的软件或功能模块,例如设备130和服务器110中的模块,可以使用用于此类操作系统的开发代码写入,或可以从针对此类操作系统译码的现有种类或组件修改,从而执行如下所述的每个模块所需的过程,所属领域的技术人员还将认识到,数据或信息可以按需要在这些模块之间传送。

图1中示出的系统通过以下方式操作。apk开发者105通过首先向服务器110提交请求151而发起权限证书授予过程。服务器110可以是与设备130的制造商相关联或属于设备130的制造商的远程或本地服务器,并且服务器110可以经由有线或无线连接通信连接到apk开发者105。请求151将含有应用的开发公钥、应用程序包的名称以及应用所请求的一个或多个权限等信息。请求151内含有的权限可以包括普通、危险、签名和/或签名/系统类型权限。如先前所提到,高风险权限是指通常仅授予系统应用的签名和/或签名/系统类型权限。

当接收到请求151时,服务器110将分析请求151的内容,并且基于请求151的内容确定是否对apk开发者105颁发权限证书。如果服务器110确定对apk开发者105颁发权限证书,服务器110将基于请求151内提供的信息利用权限证书管理器112生成权限证书。在已经生成权限证书之后,权限证书管理器112接着从数据库114中检索与设备130的制造商相关联的权限认证私钥,并且使用此私钥对权限证书以密码方式进行签名从而生成证书153。服务器110接着将证书153提供给apk开发者105。在此阶段,应注意,证书153包含应用的开发公钥、应用程序包的名称、应用所请求的一个或多个权限、权限证书的有效期以及密码签名。

apk开发者105接着可利用证书153来进一步开发其应用。一旦apk开发者105准备好向公众发布应用,apk开发者105可以在步骤嵌入155将证书153嵌入apk120中,或者apk开发者105可以将证书153上传到远程服务器中由此可以在后续阶段下载证书153。

在由此在步骤155将证书153嵌入apk120中的实施例中,接着使用常用方法对公众发布具有嵌入的权限证书153的apk120,例如,经由各种在线应用存储。为了发起apk120在设备130中的安装,设备130将首先必须提交将apk120下载到设备130中的请求。完成此步骤之后,接着可开始apk120在设备130中的安装过程。当应用程序包安装工具132接收到在步骤157安装apk120的请求时,应用程序包安装工具132将利用应用程序包管理器134来检查apk120是否含有对于高风险权限的请求,或apk120是否将在设备130中运行期间调用任何受保护的api。如果没有请求高风险权限或如果在运行期间将不调用受保护的api,应用程序包管理器134将继续使用套餐管理器业务组件等操作系统的标准组件对apk120授予所请求的权限。

如果apk120包含对于高风险权限的请求,或如果apk120涉及在运行期间对受保护的api的调用,应用程序包管理器134将相应地通知应用授权管理器136。授权管理器136接着将对apk120的内容执行一些检查以确定应用是否应与所请求的权限相符。根据本发明的实施例,所述检查涉及授权管理器136首先从数据库138检索属于设备130的权限认证公钥。检索到的权限认证公钥是属于设备130的制造商的唯一密钥,并且此唯一密钥也安全地存储于数据库138中。授权管理器136接着将使用检索到的设备130的权限认证公钥验证权限证书153。如果确定权限证书153有效,授权管理器136接着将授权应用程序包管理器134继续对apk120授予所请求的高风险权限。可以使用套餐管理器业务组件等操作系统的标准组件进行对所请求的高风险权限的授予。完成此步骤之后,应用程序包安装工具132接着可照常继续apk120在设备130中的安装。根据本发明的另一实施例,授权管理器136执行验证检查以确定权限证书153内是否含有apk120所请求的一个或多个高风险权限。如果授权管理器136确定权限证书153含有所请求的一个或多个权限,只有这样应用程序包安装工具132才可以继续apk120在设备130中的安装。

在由此不在步骤155将证书153嵌入apk中的本发明的另一个实施例中,使用常用方法对公众发布不具有权限证书153的apk的版本,即apk121,所述常用方法例如经由各种在线应用存储。类似地,为了发起apk121在设备130中的安装,设备130将首先必须提交将apk121下载到设备130中的请求。完成此步骤之后,接着可开始apk121在设备130中的安装过程。当应用程序包安装工具132接收到在步骤157安装apk121的请求时,应用程序包安装工具132将首先利用应用程序包管理器134来检查apk121是否含有对于高风险权限的请求,或apk121是否将在设备130中运行期间调用任何受保护的api。类似地,如果没有请求高风险权限或如果在运行期间将不调用受保护的api,应用程序包管理器134将继续使用默认机构对apk121授予所请求的权限。

相反,如果apk121包含对于高风险权限的请求,或如果apk121涉及在运行期间对受保护的api的调用,应用程序包管理器134将相应地通知应用授权管理器136。在授权管理器136使用检索到的设备130的权限认证私钥计算其自身的apk121的密码签名之前,授权管理器136将首先建立与服务器的安全连接,所述服务器含有与apk121相关联的权限证书,即证书153。所属领域的技术人员将认识到,此安全连接可以包括有线或无线连接并且可以使用本领域中已知的各种加密方案对传输的数据进行加密。一旦已经建立安全连接,授权管理器136接着将下载证书153并将其存储在数据库138内。如果证书153的下载和存储成功,授权管理器135接着将继续使用证书153中的内容执行一些检查以确定应用是否应与所请求的权限相符。可以如以上先前所描述执行所述检查。

图2示出根据本发明的另一实施例的用于管理apk120或apk121在设备130中的安装由此在权限证书颁发之前颁发开发权限证书的系统的方块图。

图2中示出的系统通过以下方式操作。apk开发者105通过首先向服务器110提交请求251而发起权限证书授予过程。请求251也将含有应用的开发公钥、应用程序包的名称、应用所请求的一个或多个权限以及设备标识列表等信息。请求151内含有的权限可以包括普通、危险、签名和/或签名/系统类型权限,并且设备标识列表陈列权限证书可针对其使用的设备。

当接收到请求251时,服务器110将分析请求251的内容,并且基于请求251的内容确定是否对apk开发者105颁发开发权限证书。如果服务器110确定对apk开发者105颁发开发权限证书,服务器110将基于请求251内提供的信息利用权限证书管理器112生成开发权限证书。在已经生成开发权限证书之后,权限证书管理器112接着从数据库114中检索与设备130的制造商相关联的权限认证私钥,并且使用此私钥对开发权限证书以密码方式进行签名从而生成证书252。服务器110接着将证书252提供给apk开发者105。在此阶段,应注意,证书252包含应用的开发公钥、应用程序包的名称、应用所请求的一个或多个权限、权限证书的有效期、设备标识列表以及密码签名。

apk开发者105接着可利用证书252来进一步开发其应用。在应用开发期间,证书252可以嵌入开发apk中以产生调试apk202。调试apk202接着可安装在调试设备204中。调试设备204是应用开发者部署的用来测试调试apk202的安装的开发工具,并且此工具含有与设备130相同的功能。在调试apk202在调试设备204中的安装过程期间,调试设备204将执行一些确认步骤和检查以确保所需的证书252的功能,使得证书252可以适当地用于apk安装的确认。应注意,调试apk202仅可以安装在设备标识列表中陈列的设备中,由此,此设备标识列表包括在证书252内。换句话说,调试设备204必须包含在设备标识列表中,使得调试apk202可以安装在调试设备204中。

在apk开发者105已经完成应用的开发之后,apk开发者105将向服务器110提交调试apk202用于审计。服务器110将检查调试apk202的恶意或不合需要的特性,如果服务器110保证调试apk安全并且符合设备130制造商的要求,服务器110接着将利用权限证书管理器112生成用于调试apk202的发布权限证书。在生成发布权限证书后,权限证书管理器112接着将从数据库114中检索与设备130的制造商相关联的权限认证私钥,并且后续将使用此私钥对发布权限证书以密码方式进行签名从而生成证书260。

在本发明的实施例中,调试apk202中的一个或多个文件的密码哈希包含于证书260中。例如,调试apk202中的“meta-inf/manifest.mf”文件的密码哈希包含于证书260中。所属领域的技术人员将认识到,在不脱离本发明的情况下也可以实施其它文件的哈希。从调试apk202生成内容哈希的目的是确保颁发的证书捆绑于调试apk202,并且因此不会被替代地恶意地移到其它应用程序包中。

服务器110接着向apk开发者105提供证书260。在此阶段,应注意,证书260包含应用的开发公钥、应用程序包的名称、应用所请求的一个或多个权限、权限证书的有效期、应用程序包内容的密码哈希,以及密码签名。

一旦apk开发者105准备好向公众发布应用,apk开发者105可以在步骤嵌入265将证书260嵌入apk120中,或者apk开发者105可以将证书260上传到远程服务器中由此可以在后续阶段通过设备130下载证书260。

在由此在步骤265将证书260嵌入apk120中的实施例中,接着使用常用方法对公众发布具有嵌入的权限证书260的apk120。为了发起apk120在设备130中的安装,设备130将首先必须提交对将apk120下载到设备130中的请求。完成此步骤之后,接着可开始apk120在设备130中的安装过程。如先前所描述,当应用程序包安装工具132接收到在步骤157安装apk120的请求时,应用程序包安装工具132将利用应用程序包管理器134来检查apk120是否含有对于高风险权限的请求,或apk120是否将在设备130中运行期间调用任何受保护的api。如果apk120包含对于高风险权限的请求,或如果apk120涉及在运行期间对受保护的api的调用,应用程序包管理器134将相应地通知应用授权管理器136。授权管理器135接着将对apk120的内容执行一些检查以确定应用是否应与所请求的权限相符。

根据本发明的实施例,所述检查涉及授权管理器136首先从数据库138检索属于设备130的权限认证公钥。授权管理器136接着将使用检索到的设备130的权限认证公钥验证权限证书260。如果确定权限证书260有效,授权管理器136接着将授权应用程序包管理器134继续对apk120授予所请求的高风险权限。根据本发明的另一实施例,授权管理器136执行验证检查以确定权限证书260内是否含有apk120所请求的一个或多个高风险权限。如果授权管理器136确定权限证书260含有所请求的一个或多个权限,只有这样应用程序包安装工具132才可以继续apk120在设备130中的安装。

根据本发明的另一实施例,授权管理器136将计算apk120的内容的密码哈希以生成哈希结果。接着将通过授权管理器136计算出的哈希结果与权限证书260内含有的apk120的哈希结果进行比较。如果通过授权管理器136计算出的apk120的哈希结果与权限证书260内含有的apk120的哈希结果相匹配,这意味着确定权限证书260有效,授权管理器136接着将授权应用程序包管理器134继续对apk120授予所请求的高风险权限。一旦已经授予所需权限,应用程序包安装工具132接着可照常继续apk120在设备130中的安装。

在由此不在步骤265将证书260嵌入apk中的本发明的另一个实施例中,使用常用方法对公众发布不具有权限证书260的apk的版本,即apk121,所述常用方法例如经由各种在线应用存储。类似地,为了发起apk121在设备130中的安装,设备130将首先必须提交将apk121下载到设备130中的请求。完成此步骤之后,接着可开始apk121在设备130中的安装过程。当应用程序包安装工具132接收到在步骤157安装apk121的请求时,应用程序包安装工具132将首先利用应用程序包管理器134来检查apk121是否含有对于高风险权限的请求,或apk121是否将在设备130中运行期间调用任何受保护的api。

如果apk121包含对于高风险权限的请求,或如果apk121涉及在运行期间对受保护的api的调用,应用程序包管理器134将相应地通知应用授权管理器136。授权管理器136将首先建立与服务器的安全连接,所述服务器含有与apk121相关联的权限证书,即证书260,从而下载证书260并将其存储在数据库138内。如果下载和存储证书260成功,授权管理器135接着将使用证书260中的内容继续执行一些检查以确定应用是否应与所请求的权限相符。

根据本发明的实施例,所述检查涉及授权管理器136首先从数据库138检索属于设备130的权限认证公钥。授权管理器136接着将使用检索到的设备130的权限认证公钥验证权限证书260。如果确定权限证书260有效,授权管理器136接着将授权应用程序包管理器134继续对apk120授予所请求的高风险权限。可以使用默认机构进行所请求的高风险权限的授予,并且应用程序包安装工具132接着可继续apk121在设备130的安装。

根据本发明的另一实施例,授权管理器136将计算apk121的内容的哈希以生成哈希结果。接着将通过授权管理器136计算出的哈希结果与权限证书260内含有的apk121的哈希结果进行比较。如果通过授权管理器136计算出的apk121的哈希结果与权限证书260内含有的apk121的哈希结果相匹配,这意味着确定权限证书260有效,授权管理器136接着将授权应用程序包管理器134继续对apk121授予所请求的高风险权限。一旦已经授予所需权限,应用程序包安装工具132接着可继续apk121在设备130中的安装。

根据本发明的实施例,一种用于管理应用程序包(applicationpackage,apk)在设备中的安装的方法,其中所述apk在运行期间调用受保护的api,所述方法包括以下四个步骤:

步骤1,由设备对于接收apk的安装请求;

步骤2,由设备根据安装请求检索用于apk的权限证书,其中用于apk的权限证书包含密码签名;

步骤3,由设备通过使用设备的制造商的权限认证公钥验证权限证书中包含的密码签名来确定权限证书的有效性,其中权限认证公钥存储于设备中;以及

步骤4,在确定权限证书有效的情况下允许apk在设备中的安装。

为了提供此类系统或方法,需要用于管理安卓应用程序包(applicationpackage,apk)在设备中的安装的过程,由此所述apk需要在安装过程期间被授予高风险权限。以下描述以及图3到5描述提供根据本发明的过程的过程的实施例。

图3示出根据本发明的实施例的由管理安卓应用程序包(applicationpackage,apk)在设备中的安装的设备中的模块执行的过程300。过程300在步骤305中通过从apk检索安装套餐开始。过程300接着前进到在步骤310检索用于apk的权限证书。如果权限证书内嵌于apk中,过程300将从apk去嵌入权限证书,否则,如果权限证书存储于远程服务器中,过程300将从远程服务器下载权限证书并将下载的权限证书存储在设备中。过程300接着前进到在步骤315检查证书的有效性。在本发明的实施例中,过程300可以通过验证具有设备制造商的权限认证公钥的权限证书中存储的密码签名来检查权限证书的有效性。在本发明的另一实施例中,过程300可以通过计算apk的密码哈希并将计算出的apk的密码哈希与权限证书中存储的密码哈希进行匹配来检查权限证书的有效性。在这两个实施例中,如果过程300确定存在匹配,权限证书将通过过程300视为有效。

如果过程300确定证书有效,过程300接着前进到步骤320。在步骤320,过程300前进到对apk授予所请求的高风险权限且接着继续apk在设备中的安装。替代地,如果过程300在步骤315确定证书无效,过程300终止安装过程并结束。

图4示出通过与设备的制造商相关联的服务器中的模块执行的过程400,所述设备即对apk颁发权限证书的计算机系统。过程400开始于步骤405,此时服务器接收到来自apk开发者的对于颁发权限证书的请求。所述请求内将含有应用的开发公钥、应用的套餐名称以及应用所需的权限。过程400接着将评估接收到的请求并且将在步骤410确定是否颁发权限证书。如果过程400确定驳回请求并且不颁发权限证书,过程400将前进到步骤425,由此驳回请求,并且过程400结束。替代地,如果过程400在步骤410确定颁发权限证书,过程400将替代地前进到步骤415。在步骤415,将使用设备制造商的权限认证私钥对权限证书以密码方式进行签名。接着将在步骤420通过过程400颁发以密码方式签名的权限证书,所述权限证书现在含有应用的开发公钥、应用的套餐名称、应用所需的权限以及密码签名。接着过程400结束。

图5示出通过与设备的制造商相关联的服务器中的模块执行的过程500,所述设备即对apk颁发权限证书的计算机系统,由此在发布权限证书的颁发之前通过过程500颁发开发权限证书。过程500开始于步骤505,此时服务器接收到来自apk开发者的对于颁发开发权限证书的请求。所述请求内将含有应用的开发公钥、应用的套餐名称、在开发阶段期间使用的设备标识列表以及应用所需的权限。过程500接着将评估接收到的请求并且将在步骤510确定是否颁发开发权限证书。如果过程500确定驳回请求并且不颁发开发权限证书,过程500将前进到步骤545,由此驳回请求,并且过程500结束。

替代地,如果过程500在步骤510确定颁发开发权限证书,过程500将替代地前进到步骤515。在步骤515,将使用设备制造商的权限认证私钥对开发权限证书以密码方式进行签名。接着将在步骤520通过过程500颁发以密码方式签名的开发权限证书,所述开发权限证书现在含有应用的开发公钥、应用的套餐名称、应用所需的权限、将用于开发应用的设备标识列表以及密码签名。过程500接着将在步骤525连同权限证书的请求一起接收预发布apk,或常规权限证书。预发布apk是在apk开发者已经使用开发权限证书完成apk测试和调试之后通过应用开发者产生的最终apk。

过程500接着将评估接收到的请求并在步骤530审查预发布apk。如果过程500在步骤530确定驳回请求并且不颁发权限证书,过程500将前进到步骤550,由此驳回请求,并且过程500结束。替代地,如果过程500在步骤530确定颁发权限证书,过程500替代地前进到步骤535。在步骤535,将使用设备制造商的权限认证私钥对权限证书以密码方式进行签名。接着将在步骤540通过过程500颁发以密码方式签名的权限证书,所述权限证书现在含有应用的开发公钥、应用的套餐名称、应用所需的权限、apk的内容的密码哈希以及密码签名。过程500接着结束。

通过计算机系统中的处理单元执行非暂时性计算机可读介质中存储的指令提供的过程。为免生疑问,应考虑非暂时性计算机可读介质包括除暂时性传播信号以外的所有计算机可读介质。计算机系统可以设置在一个或多个移动设备和/或计算机服务器中以提供本发明。指令可以存储为固件、硬件或软件。图6示出了此类处理系统的实例。处理系统600可以是移动设备中执行指令以执行提供根据本发明的实施例的方法和/或系统的过程的处理系统。所属领域的技术人员将认识到,每个处理系统的精确配置可以不同,每个移动设备中的处理系统的配置可以变化且仅借助于实例给出图6。

处理系统600包含中央处理单元(centralprocessingunit,cpu)605。cpu605是处理器、微处理器或处理器和微处理器的任何组合,其执行指令以执行根据本发明的过程。cpu605连接到存储器总线610和输入/输出(input/output,i/o)总线615。存储器总线610将cpu605连接到存储器620和625,从而在存储器620、625与cpu605之间传输数据和指令。i/o总线615将cpu1105连接到外围设备以在cpu605与外围设备之间传输数据。所属领域的技术人员将认识到,i/o总线615和存储器总线610可以组合为一个总线或细分为许多其它总线,精确配置留给所属领域的技术人员。

只读存储器(readonlymemory,rom)等非易失性存储器620连接到存储器总线610。非易失性存储器620存储用以操作处理系统600的各种子系统并在起动时启动系统所需的指令和数据。所属领域的技术人员将认识到,可以使用任何数目的存储器类型来执行此功能。

随机存取存储器(randomaccessmemory,ram)等易失性存储器625也连接到存储器总线610。易失性存储器625存储cpu605执行用于以下过程的软件指令所需的指令和数据:例如,用于提供根据本发明的实施例的系统所需的过程。所属领域的技术人员将认识到,可以将任何数目的类型的存储器用作易失性存储器,所使用的精确类型留作所属领域的技术人员的设计选择。

i/o设备630、键盘635、显示器640、存储器645、网络设备650以及任何数目的其它外围设备连接到i/o总线615,从而与cpu605交换数据以适用于由cpu605执行的应用。i/o设备630是传输和/或接收来自cpu605的数据的任何设备。键盘635是接收用户输入并将所述输入传输到cpu605的特定类型的i/o。显示器640从cpu605接收显示数据并在屏幕上显示图像以让用户看到。存储器645是向cpu605传输数据及从cpu605接收数据以用于将数据存储到介质的设备。网络设备650将cpu605连接到用于将数据传输到其它处理系统及从其它处理系统传输数据的网络。

以上是如在所附权利要求书中阐述的根据本发明的系统和过程的实施例的描述。设想其它实施例也是可能的并且将设计落入所附权利要求书的范围内的替代方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1