应用跳转的方法及系统的制作方法

文档序号:9791037阅读:933来源:国知局
应用跳转的方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信领域,更为具体而言,涉及应用跳转的方法及系统。
【背景技术】
[0002]目前android(安卓)系统作为当前移动平台的主流系统之一,提供了App(&?口1;[031:;[011,客户端应用)跳转的解决方案。开发者可利用系统提供的4?1(4口口1;[031:;[011Programming Interface,应用系统编程接口),设定跳转参数及需要传递的数据,通过调用该API接口实现应用间的跳转。例如,用户在使用新闻类App应用看到一则有趣的消息时,想分享到微信朋友圈中,则该款新闻类App可利用系统提供的API接口,将要在朋友圈分享的内容作为传递数据,将微信应用朋友圈分享界面作为跳转参数调用该API接口,从而实现将用户感兴趣的内容分享到朋友圈中。
[0003]在上述App跳转的应用场景中,由于App间的跳转主要是新闻的分享,并未涉及到用户的隐私数据、资金类交易的数据传递,因此App开发者往往会忽略数据传递的安全性。而对于金融类应用间的跳转,其应用场景可能是A应用生成订单信息,然后将该订单信息通过应用间跳转发送到B应用进行支付。在该应用场景下,若忽视了数据的安全性,很可能就会给用户带来的安全风险,例如:
[0004]1.恶意攻击者可以通过伪造B应用的响应标识进行钓鱼,此时A应用发出跳转后,会被伪造的B应用进行响应,用户可能会误以为在真实的B应用上进行操作,泄露重要信息;
[0005]2.恶意攻击者可以通过木马等特殊方式截取API中A应用发送给B应用的数据,或伪造B应用接收A应用发给B应用的数据,从中获取重要数据;
[0006]3.恶意攻击者通过伪造A应用从而获取B应用的信任,跳转到B应用来获取额外的服务。

【发明内容】

[0007]为解决上述技术问题,本发明提供一种应用跳转的方法及系统。
[0008]—方面,本发明的实施方式提供了一种应用跳转的方法,所述方法包括:
[0009]源应用对目标应用进行身份认证;
[0010]若对所述目标应用的认证通过,则所述源应用生成跳转请求并将所述跳转请求发送给所述目标应用;
[0011 ]所述目标应用接收所述跳转请求并对所述源应用进行身份认证;
[0012]若对所述源应用的认证通过,则所述目标应用对接收到的跳转请求进行响应并返回响应结果至所述源应用。
[0013]相应地,本发明实施方式提供了一种应用跳转的系统,所述系统包括:
[0014]源应用系统和目标应用系统;
[0015]所述源应用系统包括:
[0016]认证模块,用于对所述目标应用系统进行身份认证,
[0017]生成及发送模块,用于执行以下处理:在所述认证模块对所述目标应用系统的认证通过的情形下,生成跳转请求并将所述跳转请求发送给所述目标应用系统;
[0018]所述目标应用系统包括:
[0019]接收及认证模块,包括:用于接收所述跳转请求的接收单元以及用于对所述源应用系统进行身份认证的认证单元,
[0020]响应及返回模块,用于执行以下处理:在所述接收及认证模块对所述源应用系统的认证通过的情形下,对接收到的跳转请求进行响应并返回响应结果至所述源应用系统。
[0021]实施本发明提供的应用跳转的方法及系统,可以通过源应用以及目标应用之间的身份认证来克服数据泄露以及非法调用等问题。
【附图说明】
[0022]图1是根据本发明实施方式的一种应用跳转的方法的流程图;
[0023]图2示出了图1所示的处理SlOO的一种实施方式;
[0024]图3示出了图1所示的处理S300的一种实施方式;
[0025]图4是根据本发明实施方式的一种应用跳转的系统的结构示意图;
[0026I图5示出了图4所示的认证模块110的结构示意图;
[0027I图6示出了图4所示的认证单元222的结构示意图。
【具体实施方式】
[0028]为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
[0029]图1是根据本发明实施方式的一种应用跳转的方法的流程图。参见图1,所述方法包括:
[0030]SlOO:源应用对目标应用进行身份认证,若对所述目标应用的认证通过,则执行S200,若对所述目标应用的认证未通过,则结束。
[0031 ] S200:源应用生成跳转请求并将所述跳转请求发送给所述目标应用。
[0032]S300:所述目标应用接收所述跳转请求并对所述源应用进行身份认证,若对所述源应用的认证通过,则执行S400,若对所述源应用的认证未通过,则结束。
[0033]S400:所述目标应用对接收到的跳转请求进行响应并返回响应结果至所述源应用。
[0034]图2示出了图1所示的处理SlOO的一种实施方式。如图2所示,在本发明的一种实施方式中,处理SlOO可以通过下述方式实现:
[0035]S110:所述源应用获取所述目标应用的数字证书并计算所述数字证书的哈希值。
[0036]S120:所述源应用比较计算出的哈希值与所述目标应用的对照哈希值是否一致,若是,则执行S130,若否,则执行S140。
[0037]SI 30:确定对所述目标应用的认证通过。
[0038]S140:确定对所述目标应用的认证未通过。
[0039]在本发明的另一种实施方式中,在执行上述处理SllO之前,所述源应用可以识别操作系统中是否存在所述目标应用(可以通过调用系统的接口函数实现),若所述操作系统中存在所述目标应用,则执行所述处理Si 10。
[0040]图3示出了图1所示的处理S300的一种实施方式。如图3所示,在本发明的一种实施方式中,处理S300可以通过下述方式实现:
[0041]S310:所述目标应用获取所述源应用的数字证书并计算所述源应用的数字证书的哈希值。
[0042]S320:所述目标应用比较计算出的哈希值与所述源应用的对照哈希值是否一致,若是,则执行S330,若否,则执行S340。
[0043]S330:确定对所述源应用的认证通过。
[0044]S340:确定对所述源应用的认证未通过。
[0045]在本发明的另一种实施方式中,在执行上述处理S310之前,所述目标应用可以识别所述操作系统中是否存在所述源应用(可以通过调用系统的接口函数实现),若所述操作系统中存在所述目标应用,则执行所述处理S310。
[0046]下面以A应用跳转到B应用为例,对本发明所提供的应用跳转的方法进行具体说明。在本发明的一种实施方式中,操作系统中的各个应用上都集成有SDK (SoftwareDevelopment KU,软件开发工具包)通信模块和SDK安全模块。其中,SDK跳转模块用于提供跳转接口,SDK安全模块用于对应用进行身份认证并对应用间传递的业务数据进行加解密处理。A应用启动时从服务器上获取跳转模板并更新本地缓存的跳转模板;A应用读取跳转模板的内容,查看该跳转模板中是否存在B应用,若不存在,则结束当前流程,若存在,则A应用获取B应用的相关参数,包括B应用的标识符、接收页面、传参参数、传参类型、加密算法以及数字证书的哈希值(即上述的对照哈希值)等信息;按照传参参数及传参类型,将要传输的业务数据(例如支付订单)按照相应格式进行处理,并连同接收页面以及加密算法等参数作为入参调用SDK通信模块;SDK通信模块解析出上述参数并调用SDK安全模块对B应用进行身份认证,若对B应用的认证通过,则利用操作系统提供的跳转接口生成跳转请求并将生成的跳转请求发送至B应用,若对B应用的认证未通过,则阻止跳转;B应用接收跳转请求;调用SDK通信模块解析出该跳转请求中的参数并判断跳转模版中是否存在A应用,若否,则拒绝响应,若是,则调用SDK安全模块对A应用进行身份认证,若对A应用的认证未通过,则给出警告并拒绝后续的处理流程,若对A应用的认证通过,则对接收到的跳转请求进行响应(如生成确认订单页)并提供返回源应用系统(A应用)的快捷链接。
[0047]其中,A应用对B应用的身份认证可以通过以下方式实现:
[0048]1)A应用通过SDK安全模块调用操作系统的接口函数判断操作系统中是否存在B应用;
[0049]2)若不存在,则对B应用的认证未通过并确定为非法跳转,若存在,则获取B应用的数字证书的哈希值(即上述的对照哈希值);
[0050]4)通过哈希算法计算B应用的数字证书的哈希值,将计算出的哈希值与获取的对照哈希值做比对,若二者不一致,则对B应用的认证未通过并确定为非法跳转;
[0051 ] 5)若二者一致,则对B应用的认证通过。
[0052]B应用对A应用的身份认证的过程同上,在此不再赘述。此外,为进一步提高应用跳转的安全性,在本发明的另一种实施方式中,A应用还可以利用B应用的公钥证书对传输至B应用的业务数据进行加密,相应地,B应用利用本应用的私钥证书进行解密处理以获取业务数据的明文信息并对该明文信息进行后续处理,例如生成确认订单页。当然,也可以采用对称算法进行加解密处理。
[0053]图4是根据本发明实施方式的一种应用跳转的系统的结构示意图。参见图4,所述系统包括:源应用
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1