数据调用方法和装置

申请号 CN201110444060.9 申请日 2011-12-27 公开(公告)号 CN102572804B 公开(公告)日 2014-11-26
申请人 奇智软件(北京)有限公司; 发明人 丁祎; 李元;
摘要 本 申请 提供了一种数据调用方法和装置,其中,数据调用方法包括:接收 请求 使用第一服务的服务请求,第一服务需要使用移动终端的隐私数据,服务请求中包括第一服务的服务名;根据服务名,向移动终端的用户发送是否允许第一服务使用隐私数据的提示;根据用户的输入,确定允许所请求的第一服务使用隐私数据;确定与服务名对应的跳转服务名,根据跳转服务名,调用第一服务,其中,跳转服务名为移动终端每次启动时,对系统所维护的服务列表中第一服务的服务名进行 修改 后的服务名,跳转服务名不同于服务列表中除第一服务外的其它服务的服务名。通过本申请,提高了移动终端隐私数据的安全性。
权利要求

1.一种数据调用方法,其特征在于,包括:
接收请求使用第一服务的服务请求,所述第一服务需要使用移动终端的隐私数据,所述服务请求中包括所述第一服务的服务名;
根据所述服务名,向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;
根据所述用户的输入,确定允许所请求的所述第一服务使用所述隐私数据;
确定与所述服务名对应的跳转服务名,根据所述跳转服务名,调用所述第一服务,其中,所述跳转服务名为所述移动终端每次启动时,对系统所维护的服务列表中所述第一服务的所述服务名进行修改后的服务名,所述跳转服务名不同于原服务名,也不同于所述服务列表中除所述第一服务外的其它服务的服务名;在所述移动终端每次启动,将所述系统所维护的服务列表中的所述第一服务的所述服务名修改为所述跳转服务名后,使用所述服务名注册第二服务。
2.根据权利要求1所述的方法,其特征在于,所述第二服务用于向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据;
所述根据所述服务名,向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示的步骤包括:根据所述服务名,调用所述第二服务,通过所述第二服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示。
3.根据权利要求2所述的方法,其特征在于,所述第二服务还用于在确定允许所述第一服务使用所述隐私数据后,确定与所述服务名对应的跳转服务名,调用所述跳转服务名对应的所述第一服务。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述使用所述服务名注册所述第二服务之前或之后,注册拦截服务;
所述第二服务,用于调用所述拦截服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;并且,根据所述拦截服务返回的所述用户输入的信息,确定是否允许所请求的所述第一服务使用所述隐私数据。
5.根据权利要求4所述的方法,其特征在于,在注册所述第二服务和所述拦截服务之前,还包括:
判断所述第二服务和所述拦截服务是否具有注册权限,若具有,则允许注册;若不具有,则不允许注册。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述服务名的长度与所述跳转服务名的长度相同。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述移动终端使用Android操作系统
8.根据权利要求1至5任一项所述的方法,其特征在于,在所述接收请求使用第一服务的服务请求的步骤之前,还包括:
将所述第一服务的服务名用于调用所述第一服务修改为用于指示所述移动终端向其用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据,以及,确定与所述第一服务的服务名对应的所述跳转服务名。
9.根据权利要求1至5任一项所述的方法,其特征在于,所述第一服务包括以下至少之一:短信服务、IP电话服务、和数据上传服务。
10.一种数据调用装置,其特征在于,包括:
接收模,用于接收请求使用第一服务的服务请求,所述第一服务需要使用移动终端的隐私数据,所述服务请求中包括所述第一服务的服务名;
提示模块,用于根据所述服务名,向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;
确认模块,用于根据所述用户的输入,确定允许所请求的所述第一服务使用所述隐私数据;
调用模块,用于在所述确认模块确定允许所请求的所述第一服务使用所述隐私数据后,确定与所述服务名对应的跳转服务名,根据所述跳转服务名,调用所述第一服务,其中,所述跳转服务名为所述移动终端每次启动时,对系统所维护的服务列表中所述第一服务的所述服务名进行修改后的服务名,所述跳转服务名不同于原服务名,也不同于所述服务列表中除所述第一服务外的其它服务的服务名;
注册模块,用于在所述移动终端每次启动,将所述系统所维护的服务列表中的所述第一服务的所述服务名修改为所述跳转服务名后,使用所述服务名注册第二服务。
11.根据权利要求10所述的装置,其特征在于,所述注册模块中注册的所述第二服务用于向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据;
所述提示模块,用于根据所述服务名,调用所述第二服务,通过所述第二服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示。
12.根据权利要求11所述的装置,其特征在于,所述第二服务还用于在确定允许所述第一服务使用所述隐私数据后,确定与所述服务名对应的跳转服务名,调用所述跳转服务名对应的所述第一服务。
13.根据权利要求10所述的装置,其特征在于,
所述注册模块,还用于在所述使用所述服务名注册所述第二服务之前或之后,注册拦截服务;
所述第二服务,用于调用所述拦截服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;并且,根据所述拦截服务返回的所述用户输入的信息,确定是否允许所请求的所述第一服务使用所述隐私数据。
14.根据权利要求13所述的装置,其特征在于,还包括:
判断模块,用于在注册模块注册所述第二服务和所述拦截服务之前,判断所述第二服务和所述拦截服务是否具有注册权限,若具有,则允许注册;若不具有,则不允许注册。
15.根据权利要求10至14任一项所述的装置,其特征在于,所述服务名的长度与所述跳转服务名的长度相同,所述移动终端使用Android操作系统。
16.根据权利要求10至14任一项所述的装置,其特征在于,还包括:
修改模块,用于在所述接收模块接收请求使用第一服务的服务请求之前,将所述第一服务的服务名用于调用所述第一服务修改为指示所述移动终端向其用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据,以及,确定与所述第一服务的服务名对应的所述跳转服务名。
17.根据权利要求10至14任一项所述的装置,其特征在于,所述第一服务包括以下至少之一:短信服务、IP电话服务、和数据上传服务。

说明书全文

数据调用方法和装置

技术领域

[0001] 本申请涉及通信技术领域,特别是涉及一种隐私数据的数据调用方法和装置。

背景技术

[0002] 随着通信技术的发展,移动终端如手机等已经成为人们日常生活的必需品。为了满足人们越来越高的使用需求,移动终端生产商和移动服务提供商也为人们提供了越来越多的应用服务。然而,很多应用服务在用户不知情的情况下,收集用户隐私信息,威胁用户使用安全。尤其在现有应用和功能愈加丰富的移动终端如手机端,因其中存在很多用户的隐私数据,所以丰富需要对其加以保护。
[0003] 以手机为例,目前,在手机上的应用程序中,操作系统对各个APP(应用程序)有一定的要求。如果某个应用需要读取用户的隐私数据(例如通讯录、短信等),则会在该应用程序安装时,弹出提示以告知用户该应用程序需要使用到用户的隐私数据,如果用户同意,则就可以安装该应用程序了。然而,在安装之后,该应用程序任何时候在使用隐私数据的过程中,都不会被打断,也不会提示用户,告知用户的隐私数据正被使用。
[0004] 也就是说,对于一个应用程序,需要向操作系统申请使用隐私数据的权限,这个申请以及授权过程是在应用程序安装过程中完成的。之后,应用程序如何使用隐私数据,什么时候使用隐私数据,使用什么隐私数据等等,就都是应用程序自己的事情了,系统不再进行监督和管理,也不再向用户进行告警或提示。
[0005] 然而,这样的用户隐私数据保护显然不够。因为实际上只在安装时请求授权,而在后续使用中不再进行监管,会使用户无法得知应用程序对隐私数据的应用情况,以及会如何应用,或者在什么情况下应用隐私数据,从而造成用户隐私数据的泄密。所以,非常有必要对每次应用程序访问隐私数据时,都加以提示和防护,以增强用户隐私数据的保护,保障用户使用应用程序的安全性。发明内容
[0006] 本申请所要解决的技术问题是提供一种隐私数据的数据调用方法和装置,以解决现有技术中,无法对用户的隐私数据进行有效保护,用户使用应用程序安全性不高的问题。
[0007] 为了解决上述问题,本申请公开了一种数据调用方法,包括:接收请求使用第一服务的服务请求,所述第一服务需要使用移动终端的隐私数据,所述服务请求中包括所述第一服务的服务名;根据所述服务名,向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;根据所述用户的输入,确定允许所请求的所述第一服务使用所述隐私数据;确定与所述服务名对应的跳转服务名,根据所述跳转服务名,调用所述第一服务,其中,所述跳转服务名为所述移动终端每次启动时,对系统所维护的服务列表中所述第一服务的所述服务名进行修改后的服务名,所述跳转服务名不同于所述服务列表中除所述第一服务外的其它服务的服务名。
[0008] 优选地,数据调用方法还包括:在所述移动终端每次启动,将所述系统所维护的服务列表中的所述第一服务的所述服务名修改为所述跳转服务名后,使用所述服务名注册第二服务,所述第二服务用于向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据;所述根据所述服务名,向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示的步骤包括:根据所述服务名,调用所述第二服务,通过所述第二服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示。
[0009] 优选地,所述第二服务还用于在确定允许所述第一服务使用所述隐私数据后,确定与所述服务名对应的跳转服务名,调用所述跳转服务名对应的所述第一服务。
[0010] 优选地,数据调用方法还包括:在所述使用所述服务名注册所述第二服务之前或之后,注册拦截服务;所述第二服务,用于调用所述拦截服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;并且,根据所述拦截服务返回的所述用户输入的信息,确定是否允许所请求的所述第一服务使用所述隐私数据。
[0011] 优选地,在注册所述第二服务和所述拦截服务之前,还包括:判断所述第二服务和所述拦截服务是否具有注册权限,若具有,则允许注册;若不具有,则不允许注册。
[0012] 优选地,所述服务名的长度与所述跳转服务名的长度相同。
[0013] 优选地,所述移动终端使用Android操作系统。
[0014] 优选地,在所述接收请求使用第一服务的服务请求的步骤之前,还包括:将所述第一服务的服务名用于调用所述第一服务修改为用于指示所述移动终端向其用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据,以及,确定与所述第一服务的服务名对应的所述跳转服务名。
[0015] 优选地,所述第一服务包括以下至少之一:短信服务、IP电话服务、和数据上传服务。
[0016] 为了解决上述问题,本申请还公开了一种数据调用装置,包括:接收模,用于接收请求使用第一服务的服务请求,所述第一服务需要使用移动终端的隐私数据,所述服务请求中包括所述第一服务的服务名;提示模块,用于根据所述服务名,向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;确认模块,用于根据所述用户的输入,确定允许所请求的所述第一服务使用所述隐私数据;调用模块,用于在所述确认模块确定允许所请求的所述第一服务使用所述隐私数据后,确定与所述服务名对应的跳转服务名,根据所述跳转服务名,调用所述第一服务,其中,所述跳转服务名为所述移动终端每次启动时,对系统所维护的服务列表中所述第一服务的所述服务名进行修改后的服务名,所述跳转服务名不同于所述服务列表中除所述第一服务外的其它服务的服务名。
[0017] 优选地,数据调用装置还包括:注册模块,用于在所述移动终端每次启动,将所述系统所维护的服务列表中的所述第一服务的所述服务名修改为所述跳转服务名后,使用所述服务名注册第二服务,所述第二服务用于向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据;所述提示模块,用于根据所述服务名,调用所述第二服务,通过所述第二服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示。
[0018] 优选地,所述第二服务还用于在确定允许所述第一服务使用所述隐私数据后,确定与所述服务名对应的跳转服务名,调用所述跳转服务名对应的所述第一服务。
[0019] 优选地,所述注册模块,还用于在所述使用所述服务名注册所述第二服务之前或之后,注册拦截服务;所述第二服务,用于调用所述拦截服务向所述移动终端的用户发送是否允许所述第一服务使用所述隐私数据的提示;并且,根据所述拦截服务返回的所述用户输入的信息,确定是否允许所请求的所述第一服务使用所述隐私数据。
[0020] 优选地,数据调用装置还包括:判断模块,用于在注册模块注册所述第二服务和所述拦截服务之前,判断所述第二服务和所述拦截服务是否具有注册权限,若具有,则允许注册;若不具有,则不允许注册。
[0021] 优选地,所述服务名的长度与所述跳转服务名的长度相同,所述移动终端使用Android操作系统。
[0022] 优选地,数据调用装置还包括:修改模块,用于在所述接收模块接收请求使用第一服务的服务请求之前,将所述第一服务的服务名用于调用所述第一服务修改为指示所述移动终端向其用户发送是否允许所述第一服务使用所述隐私数据的提示,并根据所述用户的输入,确定是否允许所请求的所述第一服务使用所述隐私数据,以及,确定与所述第一服务的服务名对应的所述跳转服务名。
[0023] 优选地,所述第一服务包括以下至少之一:短信服务、IP电话服务、和数据上传服务。
[0024] 与现有技术相比,本申请具有以下优点:
[0025] 本申请通过修改使用移动终端隐私数据的服务(第一服务)的服务名,在接收到使用该服务(第一服务)的请求时,先询问用户是否允许使用移动终端的隐私数据,在用户允许的情况下,再通过修改后的服务名(跳转服务名)调用该服务(第一服务)。这样,应用程序对移动终端隐私数据的每一次访问和使用都能被用户知晓,进而由用户决定是否允许应用程序使用隐私数据,从而解决了现有技术中无法对用户的隐私数据进行有效保护,用户使用应用程序安全性不高的问题,提高了移动终端隐私数据的安全性。附图说明
[0026] 图1是根据本申请实施例一的一种数据调用方法的步骤流程图
[0027] 图2是根据本申请实施例二的一种数据调用方法的步骤流程图;
[0028] 图3是根据本申请实施例三的一种数据调用方法的步骤流程图;
[0029] 图4是根据本申请实施例四的一种数据调用装置的结构框图

具体实施方式

[0030] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
[0031] 实施例一
[0032] 参照图1,示出了根据本申请实施例一的一种数据调用方法的步骤流程图。
[0033] 本实施例的数据调用方法包括以下步骤:
[0034] 步骤S102:接收请求使用第一服务的服务请求。
[0035] 其中,第一服务需要使用移动终端的隐私数据,服务请求中包括第一服务的服务名。第一服务可以是现有的服务,如短信服务,第一服务的服务名即为现有服务的原服务名,如ISMS等。
[0036] 本步骤中,可以由系统的服务(或称为服务进程)接收请求使用移动终端的隐私数据的服务请求。
[0037] 服务是一个抽象的包装,一个服务(也可以多个)对应着一个进程,该进程专做某种事情,所以称为服务进程。以android系统为例,服务进程与普通进程的区别是,服务进程具有android特定的接口(服务接口)。类似的android系统的服务根据启动方式的不同可以分为两类,通过android dalvik虚拟机启动的和不通过android dalvik虚拟机启动的,后者可以称为native服务。非系统的android虚拟机程序启动的服务(譬如后文提到的360callback服务)是不能够通过系统的接口注册到系统服务列表里面的。
[0038] 步骤S104:根据服务名,向移动终端的用户发送是否允许第一服务使用隐私数据的提示。
[0039] 因第一服务需求使用移动终端中与该服务有关的隐私数据,因此,系统服务器向移动终端的用户发送是否允许使用与该服务有关的隐私数据的提示,一方面,提示用户有服务要使用隐私数据;另一方面,由用户决定隐私数据是否愿意被该服务使用。
[0040] 步骤S106:根据用户的输入,确定允许所请求的第一服务使用隐私数据。
[0041] 步骤S108:确定与服务名对应的跳转服务名,根据跳转服务名,调用第一服务。
[0042] 其中,跳转服务名为移动终端每次启动时,对系统所维护的服务列表(如,ServiceManager所维护的服务列表)中第一服务的服务名进行修改后的服务名,跳转服务名不同于服务列表中除第一服务外的其它服务的服务名。
[0043] 跳转服务名为对第一服务的原服务名进行修改后的新服务名,将原服务名修改为新服务名,使得在调用服务时,不会直接调用该服务,而是先向用户发出使用隐私数据的提示,只有在用户允许使用隐私数据的情况下,才会调用该服务,从而避免隐私数据在用户不知晓情况下的泄露和使用。
[0044] 通过本实施例,对使用移动终端隐私数据的服务(第一服务)的服务名进行修改,在接收到使用该服务(第一服务)的请求时,先询问用户是否允许使用移动终端的隐私数据,在用户允许的情况下,再通过修改后的服务名(跳转服务名)调用该服务(第一服务)。这样,应用程序对移动终端隐私数据的每一次访问和使用都能被用户知晓,进而由用户决定是否允许应用程序使用隐私数据,从而解决了现有技术中无法对用户的隐私数据进行有效保护,用户使用应用程序安全性不高的问题,提高了移动终端隐私数据的安全性。
[0045] 实施例二
[0046] 参照图2,示出了根据本申请实施例二的一种数据调用方法的步骤流程图。
[0047] 本实施例中,设定移动终端使用Android操作系统,设定第一服务为短信服务,其需要使用移动终端的隐私数据,设定第一服务的服务名为ISMS。
[0048] 本实施例的数据调用方法包括以下步骤:
[0049] 步骤S202:移动终端启动时,对系统所维护的服务列表中的第一服务的服务名进行修改,将服务名修改为跳转服务名。
[0050] 本实施例中的“系统”意指Android系统中的ServiceManager服务管理进程。
[0051] 修改后的第一服务的跳转服务名既不同于原服务名,也不同于列表中除第一服务外的其它服务的服务名。
[0052] 本实施例中,通过本步骤,可以将短信服务的服务名ISMS修改为ISM0,“ISM0”仅为示例性说明,本领域技术人员在前述原则下,可以将服务名修改为任意适当名称。优选地,修改后的跳转服务名与服务名的长度相同。修改前后服务名的长度相同,能够不破坏程序内部的数据结构,并且,不会造成程序存储堆栈的溢出或其它问题,将修改对现有流程的影响减低到最小。
[0053] 步骤S204:向系统发送注册第二服务和/或拦截服务的指令。
[0054] 其中,第二服务用于向移动终端的用户发送是否允许第一服务使用隐私数据的提示,并根据用户的输入,确定是否允许所请求的第一服务使用隐私数据;或者,第二服务用于调用拦截服务,由拦截服务向移动终端的用户发送是否允许第一服务使用隐私数据的提示,并在用户返回处理结果后,由拦截服务将处理结果返回给第二服务。
[0055] 需要说明的是,对调用隐私数据的拦截和提示也可以由本领域技术人员根据实际需求,采用其它适当方式实现,而不必须注册新的服务,如使用命令或程序调转的方式等。
[0056] 步骤S206:系统判断第二服务和/或拦截服务是否有注册权限,若有,则执行步骤S208;若没有,则拒绝注册,结束流程。
[0057] 本步骤为可选步骤,主要针对权限受限用户,以避免误修改或非法修改,保证系统安全。
[0058] 步骤S208:使用服务名注册第二服务,和/或,注册拦截服务。
[0059] 本实施例中,即再注册一个名为ISMS的新服务,和/或拦截服务。
[0060] 使用原服务名注册新服务,能够有效保障系统稳定性,使得系统在调用原服务时,能够直接找到该原服务名,虽然执行的是新服务,但不会造成因找不到原服务名而服务无法被执行,或者系统死机或崩溃等其它问题。
[0061] 在第二服务或拦截服务可以单独实现向移动终端的用户发送是否允许使用隐私数据的提示,并根据用户的输入确定到底允许还是不允许第一服务使用隐私数据的功能时,可以单独注册第二服务或拦截服务;也可以从上述功能中分离出部分功能,如将向移动终端的用户发送是否允许使用隐私数据的提示,并接收用户的输入的功能分离出来,由拦截服务完成,而第二服务调用该拦截服务,并接收拦截服务返回的用户的输入信息,进而根据用户的输入信息确定是否允许第一服务使用隐私数据,从而实现隐私数据调用的拦截和提示。
[0062] 通过注册第二服务和/或拦截服务,有效实现了隐私数据调用的拦截和提示,并且,使用原服务名注册新服务,也有效保证了系统的稳定性。而将拦截服务从第二服务中分离出来时,可以使得各服务功能更为清晰,且能有效利用现有服务功能,如现有显示拦截界面的功能等。
[0063] 优选地,第二服务还用于在确定允许第一服务使用隐私数据后,确定与服务名对应的跳转服务名,调用跳转服务名对应的第一服务。由第二服务确定跳转服务名,进而调用第一服务,保障了服务调用的连贯性和一致性。当然,实际实现中,也可以采用其它方式确定跳转服务名,进而调用第一服务。
[0064] 本实施例中,设定仅注册第二服务,第二服务单独实现向移动终端的用户发送是否允许使用隐私数据的提示,并根据用户的输入确定到底允许还是不允许第一服务使用隐私数据的功能。
[0065] 至此,本实施例中,短信服务的现服务名为ISM0,而原服务名ISMS则指向一个用于拦截和提示使用隐私数据的新服务(第二服务)。
[0066] 步骤S210:系统接收到请求使用第一服务的服务请求。
[0067] 该第一服务需要使用移动终端的隐私数据,且通过服务请求可以获知第一服务的服务名。
[0068] 本实施例中,系统服务器接收到请求使用短信服务的服务请求,获知短信服务的服务名为ISMS。
[0069] 步骤S212:根据服务名,调用第二服务,向移动终端的用户发送是否允许第一服务使用隐私数据的提示。
[0070] 在使用服务名注册了第二服务后,当系统接收到服务名,则到系统维护的服务列表中查找,因服务名对应第二服务,因此,调用第二服务,向移动终端的用户发送是否允许第一服务使用隐私数据的提示。
[0071] 本步骤中,在系统接收到ISMS后,直接调用第二服务,向移动终端的用户弹出提示界面,供用户选择是否允许使用其隐私数据。
[0072] 步骤S214:接收用户输入,第二服务根据用户输入确定是否允许第一服务使用移动终端的隐私数据,若允许,则执行步骤S216;若不允许,本次服务结束。
[0073] 步骤S216:第二服务确定与服务名对应的跳转服务名,调用跳转服务名对应的第一服务。
[0074] 在服务名修改后,系统中存储有服务名和跳转服务名的对应关系。当第二服务确定用户允许第一服务使用其隐私数据,则直接找到与原服务名(即服务名)对应的新服务名(即跳转服务名),进而调用新服务名对应的原服务(即第一服务)。
[0075] 本实施例中,第二服务确定与原服务名ISMS对应的新服务名为ISM0,则在服务列表中查找服务名ISM0,进而通过该服务名ISM0,按照原有流程调用短信服务,使用移动终端的隐私数据。
[0076] 优选地,本实施例的数据调用方法中,在系统接收请求使用第一服务的服务请求之前,还可以将第一服务的服务名用于调用第一服务修改为用于指示移动终端向其用户发送是否允许第一服务使用隐私数据的提示,并根据用户的输入,确定是否允许所请求的第一服务使用隐私数据,以及,确定与第一服务的服务名对应的跳转服务名。
[0077] 通过本实施例,在内存中对服务名进行修改,该修改是针对参数级别的修改,而不是针对系统函数或者文件级别修改的,对系统的改动更小,不但保证了隐私数据的使用安全,也使得改动后的系统非常稳定。并且,使用原服务名注册新服务,并且将原服务名修改为与其长度一致的新服务名,进一步提高了系统的稳定性。
[0078] 需要说明的是,本实施例仅以短信服务为例,但不限于此,任意需要使用隐私数据的其它服务,如IP电话服务、数据上传服务等,均可参照本实施例实现移动终端隐私数据的数据调用。
[0079] 将本申请的数据调用方案应用于短信服务、IP电话服务及数据上传服务等,尽可能地实现了现有使用隐私数据的服务的安全保护,达到了用户在最大范围内可以安心地使用现有服务,提高用户使用体验的效果。
[0080] 实施例三
[0081] 参照图3,示出了根据本申请实施例三的一种数据调用方法的步骤流程图。
[0082] 本实施例仍以需要使用移动终端隐私数据的短信服务为例,本实施例中的移动终端采用手机,手机的操作系统采用Android操作系统。
[0083] 本实施例中,Android操作系统启动时,会在dalvik的system_server进程自动启动一个ISMS服务,通过Binder机制处理Android所有的系统,对ISMS服务进行本申请的数据调用处理,对发送短信请求做过滤就能够达到拦截短信的目的。
[0084] 本实施例的数据调用方法包括以下步骤:
[0085] 步骤S302:Android操作系统启动流程。
[0086] 具体包括:
[0087] 步骤S3022:手机isms(短信)服务启动完成。
[0088] 步骤S3024:运行Android的native程序,从而启动篡改程序,自动通过ptrace暂停servicemanager进程,并修改svrlist对象的isms关键字为ism0。
[0089] 步骤S3026:Android的native程序启动360服务主程序,自动注册两个服务,360service和isms。
[0090] 本实施例中,系统使用360服务,通过360service服务控制相关服务的注册。
[0091] 实际上,篡改程序是通过向系统申请root权限之后启动的,所以同样利用这个申请到的权限也可以启动360service这个服务(native)和isms服务(native),这样360service这个服务就具有了root权利,所以360service这个服务就有权利批准注册
360callback(dalvik)服务。360callback(dalvik)服务是属于Java层的服务,而Java层的服务默认是不可以通过正常途径注册到这个服务列表的。因此,本实施例中,通过
360service服务使其注册到系统的服务列表。
[0092] 步骤S3028:通过Android的dalvik程序启动360用户界面,通过反射机制获取servicemanager服务,再获取360service服务。
[0093] 步骤S30210:通过360service服务注册360callback服务,用于显示拦截界面。
[0094] 如上所述,通过360service服务注册360callback服务,是因为servicemanager不允许非system和root身份的程序注册服务。
[0095] 步骤S304:数据调用工作流程。
[0096] 具体地,包括:
[0097] 步骤S3042:程序发送短信。
[0098] 即,请求调用短信服务,使用手机的隐私数据。
[0099] 步骤S3044:注册的isms服务接获sendtext调用。
[0100] 即,新注册的isms服务获取到了程序的短信服务请求。
[0101] 步骤S3046:isms服务调用360callback服务,发送短信发送号、内容、发送进程的pid(进程标识)和uid(用户标识)。
[0102] 步骤S3048:360callback服务接到数据,弹出界面询问用户是否允许发送。
[0103] 弹出的界面的提示信息中还包括有使用隐私数据的提示。
[0104] 在具体实现时,可以通过适当的现有手段,实现短信发送的白名单机制。
[0105] 步骤S30410:360callback等待用户处理结果,并向isms服务返回该结果。
[0106] 步骤S30412:注册的isms服务根据360callback返回结果,确定是否需要调用ism0服务,发送短信;若需要,则调用ism0服务,发送短信;若不需要,则结束本次调用流程。
[0107] 本实施例通过servicemanager进程篡改程序(android native)、360service和isms注册程序(android native)和360callback服务和拦截界面程序(apk),实现了篡改servicemanager、注册360service服务、伪isms服务和360callback服务、以及拦截短信,弹出拦截界面,并根据拦截结果发送或者不发送短信的功能。
[0108] 通过本实施例,仅仅修改系统所维护的服务列表中相应的服务的名字,然后注册一个假名字,使得以后应用程序在调用时,都调的是360的服务,而不是原始系统的服务。360的服务会弹出提示界面,当用户同意后,360再自动调用改名后的原始系统的服务,不会对隐私数据的访问带来影响。由此解决了现有技术中无法对用户的隐私数据进行有效保护,用户使用应用程序安全性不高的问题,提高了移动终端隐私数据的安全性。
[0109] 需要说明的是,本实施例中虽然采用了使用Android系统的手机为例,但不限于此,任意采用Android系统的移动终端,如ipad,均可使用本实施例的数据调用方法。并且,其它与Android操作系统类似的系统,也可实现本实施例的数据调用方法。同样,也不限于使用360服务的移动终端,采用其它类似服务的移动终端也可参照本实施例实现数据调用。
[0110] 实施例四
[0111] 参照图4,示出了根据本申请实施例四的一种数据调用装置的结构框图。
[0112] 本实施例的数据调用装置包括:接收模块402,用于接收请求使用第一服务的服务请求,其中,第一服务需要使用移动终端的隐私数据,所述服务请求中包括第一服务的服务名;提示模块404,用于根据服务名,向移动终端的用户发送是否允许第一服务使用隐私数据的提示;确认模块406,用于根据用户的输入,确定允许所请求的第一服务使用隐私数据;调用模块408,用于在确认模块406确定允许所请求的第一服务使用隐私数据后,确定与服务名对应的跳转服务名,根据跳转服务名,调用第一服务,其中,跳转服务名为移动终端每次启动时,对系统所维护的服务列表中第一服务的服务名进行修改后的服务名,跳转服务名不同于服务列表中除第一服务外的其它服务的服务名。
[0113] 优选地,本实施例的数据调用装置还包括:注册模块410,用于在移动终端每次启动,将系统所维护的服务列表中的第一服务的服务名修改为跳转服务名后,使用服务名注册第二服务,第二服务用于向移动终端的用户发送是否允许第一服务使用所述隐私数据的提示,并根据用户的输入,确定是否允许所请求的第一服务使用隐私数据。提示模块404用于根据服务名,调用第二服务,通过第二服务向移动终端的用户发送是否允许第一服务使用隐私数据的提示。
[0114] 优选地,第二服务还用于在确定允许第一服务使用隐私数据后,确定与服务名对应的跳转服务名,调用跳转服务名对应的第一服务。
[0115] 优选地,注册模块410还用于在使用服务名注册第二服务之前或之后,注册拦截服务;第二服务用于调用拦截服务向移动终端的用户发送是否允许第一服务使用隐私数据的提示;并且,根据拦截服务返回的用户输入的信息,确定是否允许所请求的第一服务使用隐私数据。
[0116] 优选地,本实施例的数据调用装置还包括:判断模块412,用于在注册模块410注册第二服务和拦截服务之前,判断第二服务和拦截服务是否具有注册权限,若具有,则允许注册;若不具有,则不允许注册。
[0117] 优选地,本实施例的数据调用装置还包括:修改模块(图中未示出),用于在接收模块402接收请求使用第一服务的服务请求之前,将第一服务的服务名用于调用第一服务修改为用于指示移动终端向其用户发送是否允许第一服务使用隐私数据的提示,并根据用户的输入,确定是否允许所请求的第一服务使用隐私数据,以及,确定与第一服务的服务名对应的跳转服务名。
[0118] 优选地,服务名的长度与跳转服务名的长度相同。
[0119] 优选地,移动终端使用Android操作系统。
[0120] 优选地,第一服务包括以下至少之一:短信服务、IP电话服务、和数据上传服务。
[0121] 本实施例的数据调用装置用于实现前述方法实施例的多个相应的数据调用方法,并具有相应方法实施例的有益效果,在此不再赘述。
[0122] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0123] 以上对本申请所提供的一种数据调用方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
QQ群二维码
意见反馈