应用程序启动鉴权方法及装置的制造方法

文档序号:9376127阅读:360来源:国知局
应用程序启动鉴权方法及装置的制造方法
【技术领域】
[0001]本发明涉及智能终端安全领域,具体而言,本发明涉及一种应用程序启动鉴权方法及装置。
【背景技术】
[0002]随着智能终端技术的快速发展,各种功能的应用程序如雨后春笋般涌现而出,占据着市场。不可否认多种多样的应用程序在生产生活的各个方面不同程度满足着人们的需求,但同时也为用户的隐私保护带来了不小的风险。
[0003]智能移动设备上的安全软件很多都提供软件锁功能以保护用户的隐私信息,基本都是通过调用android的系统服务ActivityManagerService中的接口 getTasks(intmaxNum, int flags, IThumbnailReceiver receiver)方法查询当前屏幕最上方的画面是否属于指定的应用,如果是则直接显示一个画面覆盖在屏幕最上方以达到锁定应用的目的。
[0004]现有技术在实现这个功能时,安全软件定时检查指定的应用程序的主画面是否已经显示在屏幕最上方,一旦发现显示,安全软件就立即弹出画面覆盖在屏幕上方,需要用户输入密码或通过其他手段获得授权才能进入软件主画面。由于现有技术实现方式是定时轮询,一方面会无谓地浪费CPU时间,另一方面是由于时间差导致的用户体验差和隐私泄露问题,因为只有检测到了应用程序画面的相关数据,才弹出锁定画面,所以应用程序启动和锁定画面的启动之间的时间差可能导致应用的主画面闪现一下才被覆盖锁定。

【发明内容】

[0005]本发明的目的旨在解决上述至少一个问题,提供一种应用程序启动鉴权方法及装置。
[0006]为了实现上述目的,本发明所述一种应用程序启动鉴权方法具体步骤如下:接收预设的后台服务发送的启动事件通知,所述启动事件通知基于后台服务拦截的应用程序的启动行为而生成;
[0007]响应于该安装事件通知,启动锁定界面以接收用户的密码输入指令,对该应用程序的启动行为进行鉴权;
[0008]依据鉴权结果通知所述后台服务放行或禁止启动该应用程序。
[0009]具体的,所述后台服务运行于系统的framework层,将所述启动事件通知发送到系统的App层。
[0010]具体的,所述后台服务将所述待启动应用程序的包名作为参数调用回调函数以发送所述启动事件通知。
[0011]进一步的,启动锁定界面进行鉴权的步骤中,仅当接收到应用程序的启动事件通知时显示所述锁定界面。
[0012]具体的,所述后台服务采用钩子函数对待启动应用程序的启动函数挂钩以实现对其启动行为的拦截。
[0013]具体的,由所述后台服务根据其接收的放行或结束启动应用程序的通知,允许或禁止活动管理服务执行对所述应用程序的启动操作。
[0014]进一步的,所述活动管理服务具体指执行应用程序启动操作的ActivityManagerServiceo
[0015]具体的,所述锁定界面为接收到应用程序的启动事件通知时显示,并提供密码输入框的用户交互界面。
[0016]进一步的,进行鉴权时,验证用户在锁定界面输入的密码以完成所述对应用程序的鉴权。
[0017]具体的,当鉴权成功时,直接通知所述后台服务放行启动应用程序;当鉴权失败时,显示告警信息以提示用户鉴权失败,禁止或暂停启动该应用程序。
[0018]具体的,启动锁定界面进行鉴权之前,还包括以下步骤:
[0019]通过远程接口提交获取允许启动的应用程序包名列表的远程请求;
[0020]接收云端服务器反馈的允许启动的应用程序包名列表;
[0021]进一步的,还包括步骤:当待启动的应用程序存在于所述允许启动的应用程序包名列表中时,直接通知所述后台服务放行启动该些应用程序。
[0022]具体的,启动锁定界面进行鉴权之前,查询存储于本地的允许启动的应用程序包名列表,当待启动的应用程序存在于所述列表中时,直接通知后台服务放行启动所述列表中的应用程序。
[0023]还提供一种应用程序启动鉴权装置,该装置包括以下单元:
[0024]接收单元:用于接收预设的后台服务发送的启动事件通知,所述启动事件通知基于后台服务拦截的应用程序的启动行为而生成;
[0025]响应单元:响应于该安装事件通知,用于启动锁定界面以接收用户的密码输入指令,对该应用程序的启动行为进行鉴权;
[0026]执行单元:用于依据鉴权结果通知所述后台服务放行或禁止启动该应用程序。
[0027]具体的,所述后台服务运行于系统的framework层,将所述启动事件通知发送到系统的App层。
[0028]具体的,所述后台服务将所述待启动应用程序的包名作为参数调用回调函数以发送所述启动事件通知。
[0029]进一步的,所述响应单元中,仅当接收到应用程序的启动事件通知时显示所述锁定界面。
[0030]具体的,所述后台服务采用钩子函数对待启动应用程序的启动函数挂钩以实现对其启动行为的拦截。
[0031]具体的,由所述后台服务根据其接收的放行或结束启动应用程序的通知,允许或禁止活动管理服务执行对所述应用程序的启动操作。
[0032]进一步的,所述活动管理服务具体指执行应用程序启动操作的ActivityManagerServiceo
[0033]具体的,所述锁定界面为接收到应用程序的启动事件通知时显示,并提供密码输入框的用户交互界面。
[0034]进一步的,所述响应单元鉴权时,验证用户在锁定界面输入的密码以完成所述对应用程序的鉴权。
[0035]具体的,所述执行单元进一步被配置为:当鉴权成功时,直接通知所述后台服务放行启动应用程序;当鉴权失败时,显示告警信息以提示用户鉴权失败,禁止或暂停启动该应用程序。
[0036]具体的,还包括远程交互单元,被配置为执行如下功能:
[0037]通过远程接口提交获取允许启动的应用程序包名列表的远程请求;
[0038]接收云端服务器反馈的允许启动的应用程序包名列表;
[0039]进一步的,当待启动的应用程序存在于所述允许启动的应用程序包名列表中时,直接通知所述后台服务放行启动该些应用程序。
[0040]具体的,所述响应单元被配置为在启动锁定界面进行鉴权之前,查询存储于本地的允许启动的应用程序包名列表,当待启动的应用程序存在于所述列表中时,直接通知后台服务放行启动所述列表中的应用程序。
[0041]相比现有技术,本发明的方案具有以下优点:
[0042]1、本发明在Android系统的Framework层的应用启动接口中加入钩子函数,中断原来的直接启动过程,先回调安全软件的接口以发送应用程序启动的通知事件,然后根据用户授权结果,确定是否继续执行应用程序的启动流程。通过用钩子函数对应用程序启动的相关函数进行挂钩,并在应用程序显示其主界面前启动锁定界面,从而可以解决应用程序启动界面和锁定界面显示速度之间的时间差问题,使得锁定界面显示时无画面闪现现象,提高用户体验度。同时,通过该锁定界面接收用户的授权指令,允许启动获得启动权限的应用程序,从而避免用户的隐私泄露,实现更好用户体验的程序锁功能;
[0043]2、本发明在应用程序启动主界面之前,对其启动行为进行拦截,并显示锁定界面,以接收用户的密码输入指令,对应用程序的启动行为进行鉴权。仅当拦截到应用程序的启动行为时才启动锁定界面,不同于现有技术检测到应用程序界面相关数据时才弹出锁定界面。由此避免了 CPU在对应用程序界面相关数据进行检测时的定时轮询造成的资源浪费,使得智能设备运行更加流畅。
[0044]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0045]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0046]图1为本发明所述应用程序启动鉴权方法原理示意图;
[0047]图2为本发明所述应用程序启动鉴权装置原理框图。
【具体实施方式】
[0048]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0049]本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0050]本技术领域技术人员可以理解,除非
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1