应用安全交互方法、装置以及设备与流程

文档序号:32947368发布日期:2023-01-14 11:41阅读:32来源:国知局
应用安全交互方法、装置以及设备与流程

1.本说明书涉及云应用技术领域,尤其涉及应用安全交互方法、装置以及设备。


背景技术:

2.随着互联网技术的发展和智能终端的使用普及,越来越多的应用涌现,给人们使用各种业务带来了极大的便利。
3.在实际应用中,用户使用的各种终端性能差别较大,对于有些对资源要求较高的大中型应用,一些终端可能无法流畅运行。针对这类问题,云应用兴起了,使得用户可以依赖于云端来运行应用,大大降低了对终端的要求,云应用比如通过视频流等方式将云上的应用内容通过网络传输到终端并在终端展示,云应用分为云端、搭载在终端的用户端两部分,其中应用运行在云端上,用户端上则向用户展示应用内容以及与用户交互。
4.目前,在云应用场景下,用户端业务页面上的用户行为与云端业务页面之间没有做安全管理。由此会导致一些风险,比如,由于用户端与云端之间的网络延迟导致用户误触,再比如,用户在用户端上的行为可能会被用于重放攻击。
5.基于此,需要针对云应用场景的应用安全交互方案。


技术实现要素:

6.本说明书一个或多个实施例提供应用安全交互方法、装置、设备以及存储介质,用以解决如下技术问题:需要针对云应用场景的应用安全交互方案。
7.为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
8.本说明书一个或多个实施例提供的一种应用安全交互方法,用于应用的云端,所述方法包括:
9.接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的;
10.根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致;
11.若是,则响应于所述用户行为信息,执行相应的业务。
12.本说明书一个或多个实施例提供的一种应用安全交互方法,用于应用的用户端,所述方法包括:
13.接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息;
14.将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
15.本说明书一个或多个实施例提供的一种应用安全交互装置,用于应用的云端,所
述装置包括:
16.信息接收模块,接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的;
17.安全验证模块,根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致;
18.业务执行模块,若是,则响应于所述用户行为信息,执行相应的业务。
19.本说明书一个或多个实施例提供的一种应用安全交互装置,用于应用的用户端,所述装置包括:
20.行为接收模块,接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息;
21.信息发送模块,将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
22.本说明书一个或多个实施例提供的一种应用安全交互设备,用于应用的云端,所述设备包括:
23.至少一个处理器;以及,
24.与所述至少一个处理器通信连接的存储器;其中,
25.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
26.接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的;
27.根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致;
28.若是,则响应于所述用户行为信息,执行相应的业务。
29.本说明书一个或多个实施例提供的一种应用安全交互设备,用于应用的用户端,所述设备包括:
30.至少一个处理器;以及,
31.与所述至少一个处理器通信连接的存储器;其中,
32.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
33.接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息;
34.将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
35.本说明书一个或多个实施例提供的一种非易失性计算机存储介质,用于应用的云
端,所述介质存储有计算机可执行指令,所述计算机可执行指令设置为:
36.接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的;
37.根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致;
38.若是,则响应于所述用户行为信息,执行相应的业务。
39.本说明书一个或多个实施例提供的一种非易失性计算机存储介质,用于应用的本说明书一个或多个实施例提供的一种非易失性计算机存储介质,用于应用的用户端,所述介质存储有计算机可执行指令,所述计算机可执行指令设置为:
40.接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息;
41.将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
42.本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:对用户端业务页面上的用户行为和云端业务页面之间进行了安全管理,对于用户在用户端的业务页面上的行为,会将该行为与该业务页面关联起来,然后验证该业务页面是否与云端当前的业务页面一致,从而能够确保用户当前的该行为确实体现了用户的真实意图,该行为确实是针对云端当前的业务页面的,从而云端可以按照该业务页面背后的业务逻辑,正确地响应于该行为来执行相应的业务,以确实地实现用户的真实意图;从而,避免了基于该行为进行重放攻击的风险,而且对于用户而言,避免了用户实际操作明确且正确但是云应用却表现出用户误触的业务结果,因此安全性和用户体验都提高了。
附图说明
43.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1为本说明书一个或多个实施例提供的一种云端的应用安全交互方法的流程示意图;
45.图2为本说明书一个或多个实施例提供的一种用户端的应用安全交互方法的流程示意图;
46.图3为本说明书一个或多个实施例提供的应用安全交互方法在一种应用场景下的具体实施方案的流程示意图;
47.图4为本说明书一个或多个实施例提供的一种多页面配合的应用安全交互方案的流程示意图;
48.图5为本说明书一个或多个实施例提供的对应于图1的一种应用安全交互装置的结构示意图;
49.图6为本说明书一个或多个实施例提供的对应于图2的一种应用安全交互装置的结构示意图;
50.图7为本说明书一个或多个实施例提供的对应于图1的一种应用安全交互设备的结构示意图;
51.图8为本说明书一个或多个实施例提供的对应于图2的一种应用安全交互设备的结构示意图。
具体实施方式
52.本说明书实施例提供应用安全交互方法、装置、设备以及存储介质。
53.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
54.为了便于描述,将用户在应用的点击、键盘输入等行为也称为用户应用响应,即用户对本地的业务页面的响应。云应用场景比较新兴,相较于传统的客户端加服务器的应用架构有不同的特点,而目前用户应用响应与云端业务页面之间没有做安全管理。本技术考虑针对云应用场景,对于安全要求高的应用和业务页面,尤其是涉及到财产部分,适应于云应用的特点,打造和实施对口的安全管理机制,以防止用户资产损失,同时也要最大限度的保证用户的体验。
55.背景技术中提到了云应用场景中的用户误触、重放攻击等风险。为了便于理解,对此以用于支付业务的云应用为例进一步解释。
56.在用于支付业务的云应用中,诸如支付、授权、输入密码以及结账等业务页面,为了避免用户在这类涉及资产和权限的重要安全页面因为错误授权、错误支付(指用户实际授权或者支付的业务页面或应用,与预想业务页面或应用不匹配)而陷入损失,考虑对用户的行为做进一步的安全确认和保护。一种错误授权或错误支付的情况是,由于云端和用户端之间的网络延迟等问题,可能导致用户实际看到的业务页面与云端当前的业务页面不一致(甚至完全不同)的情况,这种情况会造成用户体验下降,用户与看到的业务页面进行交互,而交互行为确是在云端当前的业务页面生效,从而产生用户未预料且非期望的业务结果,进而用户出现误触(实际上从用户视角而言未必会觉得自己误触了)等直观感受,尤其是当页面涉及到重大安全项的时候,这种情况可能严重危害到用户的资产安全。
57.同时,为了严防对用户的输入等行为的重放攻击,避免恶意攻击者将用户对某业务页面的点击行为对应的事件重放到高安全性要求的另一业务页面,导致出现用户行为和用户原始意图出现违背,甚至出现资产损失等情况,则也要对用户的行为做进一步的安全确认和保护。
58.需要说明的是,之所以要强调云应用,是因为上述问题主要是伴随着云应用场景的出现而新产生的,而在传统应用中一般不存在这种问题。原因正是在于云应用与传统应用之间的区别导致。
59.对于很多传统应用而言,用户终端本地的客户端,虽然也需要与服务端进行交互,
但是,客户端本身已经具有较为完备的功能,应用实际上是在客户端上运行的,用户与客户端进行交互时,响应于用户行为,对应的很多业务逻辑会直接在客户端上执行完毕,往往只有一小部分业务逻辑涉及客户端与服务端的交互,需要服务端暂时支持一下即可(在其前后客户端甚至可以离线处理业务的其他部分),在这种情况下,用户的行为不会原汁原味地直接到达服务端,而是经过一系列的本地处理,再尽量需求最小化地与服务端交互,比如,用户在客户端上点击了支付按钮,并不需要将该点击行为信息发送给服务端,而是可能直接在本地进行一些诸如验证用户身份、点击行为信息解析、金额计算、消息加密等业务处理,之后再基于处理结果通知服务端记账即可。一些业务动作,尤其是安全处理动作直接在客户端上就做到位了,因此,不会导致背景技术中的风险。
60.但是,对于云应用场景,云应用分为云端、搭载在终端的用户端两部分。应用运行在云端,向用户端投射运行实况;用户端是通过与云端交互(比如视频流传输等),根据应用在云端的运行实况,向用户展示应用的业务页面的,以便为云端接收用户针对应用执行的行为。在这种情况下,大多数时候,用户端只是被动地尽量实时地从云端获取云端当前的业务页面,然后尽量同步地在用户端本地将该业务页面展示给用户(若有时延、网络故障、页面卡死等异常情况,可能会导致同一时刻用户当前看到的业务页面与云端当前的业务页面不相同),用户则可以在该业务页面上执行诸如点击等行为(即,在该业务页面上进行响应),用户端接收到该行为后,并不需要在本地做具体的一些业务处理动作,而是只要把对应的行为信息(比如,点击事件)发送给云端(即,将该行为向云端同步)就行了,由云端具体处理来响应该行为,可以看出相比于传统应用场景下的客户端,云应用场景下的客户端在业务处理上几乎是无作为的,几乎只是一个略带交互功能的本地显示端,这样的大背景下导致目前的用户端与云端之间的交互安全管理机制孱弱甚至没有,也未能意识到背景技术中的问题。
61.另外,常用的一些安全机制往往是应用数据级别的安全方案,使用传输协议级别的安全鉴证方式,比如,采用tls,https等级别的加密方式保证安全。但是,这类安全加密方式无法保证云应用中的用户行为安全,只能一定程度地保证传输过程的安全性。这类加密方式无法克服包重放、重定向等攻击,在恶意攻击者拦截到用户行为的网络包之后,可以通过简单的重放攻击操作云端,对于金融级别的云应用而言,可能造成用户的资金损失。
62.有鉴于此,本技术提出了解决方案,思路主要包括:在用户本地侧的用户端上,用户的所有行为应该与用户看到的业务页面完全匹配,避免出现用户响应被恶意重放到重要安全页面的情况;在远端侧的云端上,用户响应在实际注入到应用之前,需要做进一步的安全验证,确保和用户的意愿一致;通过提供用户响应和响应页面的绑定,并与云端页面对比验证的方式,解决用户响应和实际页面之间可能的错配安全问题。下面针对这样的思路,结合图1和图2继续详细说明,这两个图分别对应云端和用户端的动作,为了便于理解,在对图1进行说明时,会结合两端的动作一起说明,而对图2则相应地简略说明减少赘述。
63.图1为本说明书一个或多个实施例提供的一种云端的应用安全交互方法的流程示意图。这里的云端可以涉及多个模块或多个设备,比如,用于进行本技术提出的额外的安全验证的模块或设备、用于实际运行云应用,具体执行业务的模块或设备等。
64.图1中的流程包括以下步骤,这几个步骤的执行者为云端。
65.s102:接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面
的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的。
66.用户端向用户展示了云应用的某个业务页面,诸如用于支付、修改密码等业务的业务页面,若有相应地业务需求,则用户会在该业务页面执行诸如点击支付按钮、输入修改后的密码等行为(除了针对用户端的业务页面的点击行为或键盘输入行为,还有更多可能的交互行为不再一一列举),则客户端会接收到该行为,并确定对应的用户行为信息,比如,是一个支付按钮点击事件、修改后的密码输入事件等。需要说明的是,这里说的“行为”和“对应的用户行为信息”实质上是一码事,背后的意义是相同的,只不过采用了不同的表现形式和描述角度,严谨起见采用两个概念进行描述。“行为”是人的动作,是从用户角度描述的,“对应的用户行为信息”是将人的动作映射为了机器能够理解的信息,是从机器角度描述的。
67.在本说明书一个或多个实施例中,将用户的行为,与执行该行为时所处的业务页面,通过相应的适应于机器而描述出信息(即用户行为信息、页面信息)进行了绑定,以真实地反映用户的该行为到底是针对哪个业务页面的,以便于云端能够正确理解用户的真实意图,而不是无脑地认为该行为一定是针对云端当前的业务页面,如此可能使云端与用户双方的认知发生偏差。
68.绑定的实施方式是多样的。比如,将这两个信息通过同一条消息发送出去,以确立这两个信息之间的绑定关系。再比如,将两个信息通过不同的消息发送出去,但是在其中一条或两条消息中间接指示出这两个信息之间的绑定关系,以其中一条消息为例,假定该消息中包含了上述的用户行为信息,而没有包含上述的页面信息,但是另外还包括了该页面信息或对应的业务页面的索引或标识等能够用于分辨出该业务页面的数据,那么也能够确立这两个信息之间的绑定关系。
69.在本说明书一个或多个实施例中,对于页面信息的信息量是有要求的,其要足以用于判断对应的业务页面是否与另一个业务页面一致。比如,页面信息可以是业务页面本身(屏幕上可视的局部区域或全部区域的图像帧、或业务页面的源代码等)。再比如,页面信息可以是从业务页面提取出的特征(图像帧中像素的值分布特征、图像帧中目标类型、所处区域、图像帧的诸如哈希值等摘要)。再比如,上述的索引或标识等。
70.为了进一步地提高安全性,可以选择尽量不暴露业务页面的原始内容、且能够尽量可靠地区分不同业务页面的信息作为页面信息。
71.s104:根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致。
72.在本说明书一个或多个实施例中,用户在用户端的业务页面上执行行为后,云端若接收到相应的用户行为信息,则也需要确保已接收到或将接收到绑定的页面信息,不仅如此,还需要根据该页面信息,确保该业务页面正是云端当前的业务页面。这两项都确保后,云端才可能按照用户本次的行为正常处理业务。
73.前一项确保有助于防止攻击者单独盗取或截取了用户行为信息来重放攻击,后一项确保不仅有助于防止重放攻击,还有助于防止由于等网络延迟等异常因素,所导致地用户与云端双方对该行为针对的是哪个业务出现认知偏差。而正是该认知偏差可能导致云端错位地处理业务,进而导致用户有页面误触的不良体验。
74.在本说明书一个或多个实施例中,在理想情况下,最好能够验证出上述页面信息对应的业务页面与云端当前的业务页面完全相同。然而,根据前面对本方案的思路阐述可知,这里的一致性验证,实质上是验证用户端的这个业务页面,确实就是在云应用场景下,从云端运行的应用当前的业务页面,对应投射过去的那个业务页面,在实际应用中,这两个页面的实质内容是一致的,但是未必是完全相同的,到底是否完全相同取决于云端向用户端投射业务页面的具体策略。比如,若云端就是将自己实时展示的业务页面构成的视频流发送给用户端,用户端直接播放该视频流,并能够识别视频流中用于与用户交互的区域,进而在本地实现用户与该视频流交互,在这种情况下,用户端可能并没有修改视频本身,那么用户端本地的业务页面,与云端当前的业务页面可能就是完全相同的。反之,再比如,云端在向用户端投射页面使,额外又在页面上加了些内容(比如,标记是投射给了哪个用户端;再比如,在页面上添加了云端水印;等等),或者用户端也有可能对投射过来的业务进行标记添加、样式适应性调整等操作后再展示,在这些情况下,用户端本地的业务页面,与云端当前的业务页面并不是完全相同的,但是可以认为它们仍然是一致的。本段列举的这些情况属于正常情况。
75.而在网络时延或重放攻击等异常情况下,用户则可能是面对上一个业务页面执行行为的,而云端当前却已经进入下一个业务页面甚至其他无关业务页面了。在这种情况下,该上一个业务页面与云端当前的业务页面是不一致的。
76.在本说明书一个或多个实施例中,基于业务页面对应的摘要获取页面信息进行一致性比较。具体比如,以业务页面的图像帧代表该业务页面的全部内容,对用于展示用户端的业务页面(用户当前的行为执行的页面)的图像帧计算摘要,得到的第一摘要值,作为上述的页面信息,将页面信息与用户行为信息绑定,以设定的可靠方式及时给到云端,云端对其当前的业务页面的图像帧计算摘要,得到第二摘要值,然后,验证第一摘要值是否第二摘要值相同;若是,则确定用户端的业务页面,与云端当前的业务页面一致,否则,确定不一致。在计算摘要时,比如,取图像帧各像素的灰度值或色度值等属性计算摘要,这种方式隐私性较好,不会直接暴露用户当前使用的业务页面上的内容。若能够容忍该内容暴露,则也可以将图像帧本身直接作为页面信息,通过比较图像帧相似度,来验证业务页面的一致性,这种方式容错性更高,而且便于有需要时人工复核。
77.s106:若是,则响应于所述用户行为信息,执行相应的业务。
78.例如,若用户执行了支付动作,若s104步骤的验证结果为是,则可以继续为用户执行相应的支付业务,用户则能够成功付款。
79.若s104步骤的验证结果为否,则表示存在风险,本次行为有可能错位了或不是用户的真实意图,则可以进一步向用户端交互核验,或者,直接拒绝执行相应的业务,以保护用户的利益安全。若连页面信息最终都没获取到,则也认为存在风险。
80.通过图1的方法,对用户端业务页面上的用户行为和云端业务页面之间进行了安全管理,对于用户在用户端的业务页面上的行为,会将该行为与该业务页面关联起来,然后验证该业务页面是否与云端当前的业务页面一致,从而能够确保用户当前的该行为确实体现了用户的真实意图,该行为确实是针对云端当前的业务页面的,从而云端可以按照该业务页面背后的业务逻辑,正确地响应于该行为来执行相应的业务,以确实地实现用户的真实意图;从而,避免了基于该行为进行重放攻击的风险,而且对于用户而言,避免了用户实
际操作明确且正确但是云应用却表现出用户误触的业务结果,因此安全性和用户体验都提高了。
81.基于图1的方法,本说明书还提供了该方法的一些具体实施方案和扩展方案,下面继续进行说明。
82.本技术提供的额外的安全验证机制提高了云应用场景下的安全性和用户体验,不过也需要额外耗费处理资源,为了更有性价比地利用资源以及提高效率,可以有选择性地开启或关闭该机制,重点对安全性要求高的应用和业务页面开启该机制。在用户端请求开启业务页面时,判断是否针对该页面开启机制。
83.具体比如,用户在用户端上执行打开某个业务页面的行为,则用户端相应的向云端发送的页面启动请求,云端接收用户端发送的页面启动请求,根据设定的策略(比如,需要安全级别达到一定程度的业务页面;再比如,多个相关页面中的其中一个最关键页面等;再比如,与用户的上下文操作关联性较差的某个页面;等等),确定页面启动请求针对的业务页面是否属于需要开启上述的安全验证对应的安全验证机制的页面,若是,则云端相应地通知用户端,以使用户端发送页面信息,以及后续相绑定的用户行为信息,以及云端执行相应的页面启动操作,以使用户端上展示业务页面。
84.在本说明书一个或多个实施例中,除了验证页面的一致性以外,考虑到实际应用中,用户可能也会在业务页面上停留一段时间,而用户行为可能只发生在这段时间中的某个时间点,那么虽然验证了业务页面的一致性,再加上绑定关系,则相当于确保了用户行为与云端当前的业务页面正确匹配上了,但是,并没有确保在时间维度上的一致性,因此,可能仍然存在重放攻击的风险。
85.例如,假定用户在某个业务页面上长时间停留,从时间点a到时间点a+10秒的10秒内,用户始终保持在同一个支付页面上,此时,用户在a+2秒时输入了密码提交了支付请求,该请求是可终止的,而攻击者可能在a+9秒时重放用户在时间点a的该行为对应的事件到云端,而这并不是用户希望的,尤其是用户还可能在时间点a+4秒时决定终止支付,如此更是与用户真实意图背道而驰,风险增大。
86.因此,为了确保用户行为与云端当前的业务页面在时间维度上的一致性,会将时间戳也进一步上传到云端。具体比如,用户端获取用户的行为执行时的时间戳,将时间戳与页面信息一同发送给应用的云端,云端则通过安全验证,来验证云端当前的时间与时间戳之间的时间差是否不大于设定阈值,若是,则认为时间维度上是一致的,进而才考虑根据用户行为信息,正常地执行相应的业务。
87.在本说明书一个或多个实施例中,云端在接收应用的用户端发送的用户行为信息,以及用户端的业务页面的页面信息之前,确定业务页面的安全验证等级,根据安全验证等级和用户的身份信息,确定令牌时效并按照令牌时效,为用户生成安全令牌,安全令牌即表示了用户的身份和权限合法,将安全令牌发送给用户端,接收用户端与页面信息一同发送的安全令牌,通过所述安全验证,来验证所述安全令牌的权限符合条件,除了验证用户身份和权限以外,还验证安全令牌的时效性,若超时无效。
88.按照相同的思路,本说明书一个或多个实施例还提供了一种用户端的应用安全交互方法的流程示意图,如图2所示。
89.图2中的流程包括以下步骤,这几个步骤的执行者为应用的用户端,比如,智能手
机等终端或终端上搭载的用户端软件。
90.s202:接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息。
91.s204:将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
92.在本说明书一个或多个实施例中,用户端对当前用于展示用户端的业务页面的图像帧计算摘要,得到的第一摘要值,作为页面信息,用于云端验证第一摘要值是否第二摘要值相同,以确定用户端的业务页面,与云端当前的业务页面是否一致,其中,第二摘要值为对云端当前的业务页面的图像帧计算摘要得到的。
93.在本说明书一个或多个实施例中,用户端获取用户的行为执行时的时间戳,将时间戳与页面信息一同发送给应用的云端,用于云端通过安全验证,来验证云端当前的时间与时间戳之间的时间差是否不大于设定阈值。
94.图2中的流程也是尤其适配于云应用场景,则在本说明书一个或多个实施例中,上述的应用为云应用,应用运行在云端,用户端是通过与云端交互,根据应用的运行,向用户展示应用的业务页面的,以便为云端接收用户针对应用执行的行为。
95.基于上面的说明,更直观地,本说明书一个或多个实施例还提供了应用安全交互方法在一种应用场景下的具体实施方案的流程示意图,如图3所示。在该应用场景下,云端至少包括安全验证模块和业务执行模块,假定安全验证模块独立于云应用而设置,则可以同时为多个不同的云应用服务,业务执行模块则属于云应用。
96.图3中的流程包括以下步骤:
97.用户通过用户端请求启动业务页面,比如,用于支付、授权、输入密码或结账的业务页面。
98.云应用判断是否所请求启动的业务页面是否属于需开启安全验证机制的页面,若否,则继续正常的业务处理流程,若是,则通知安全验证模块对该业务页面开启安全验证机制。
99.安全验证模块下发请求配合安全验证的通知到用户端,并下发安全令牌到用户端,用来验证用户端的信息,该安全令牌具有一定的时效性,具体的时间比如由云应用的安全等级来决定。
100.用户端接收到请求之后,在安全验证机制关闭之前,将会对用户端的所有用户行为信息和对应的页面信息(假定为页面内容哈希值)进行绑定,将所有的用户行为和业务页面对应起来,避免出现重放攻击,会向安全验证模块返回安全验证所需的用户行为信息及其绑定的页面内容哈希值,还有安全令牌、时间戳等。哈希值比如采用md5、crc32等算法计算,比如得到128比特的哈希值用于比较。
101.也可以不采用哈希方式,而是针对业务页面的图像帧,从云端给定一个确定的索引用来记录帧信息,当用户点击的时候给出该帧的索引,有助于减少计算资源的消耗。
102.安全验证模块则进行安全验证,包括验证安全令牌的权限,验证用户行为信息的时效性是否超时,用户行为信息与页面内容哈希值是否完备、是否存在绑定关系、页面内容
哈希值与业务执行模块上当前的业务页面的页面内容哈希值是否相同,等等。
103.在安全验证通过后,安全验证模块将绑定的用户行为信息注入业务执行模块中,业务执行模块则根据用户行为信息,执行相应的业务。
104.业务执行模块还检测用户端当前的业务页面是否已经结束,若是,则指示用户端和业务执行模块关闭安全验证对应的安全验证机制。
105.在实际应用中,若安全要求高,则需要对更多的业务页面开启上述的安全验证机制,那么一致性比较以及机制开闭都会带来压力,针对这个问题,本技术进一步地提供了改进方案。思路主要包括:用户在进行一项业务的过程中,往往会涉及多个不同的业务页面,对这些业务页面的顺序访问以及行为执行,构成了一个闭合的过程,从用户角度而言,将这个过程称为一项闭合业务(有始有终,所涉及的业务页面和用户行为,与外部的其他业务页面和用户行为之间界限比较明确,独立性较强)。那么,对于某些闭合业务,可以考虑始终开启安全验证机制,以持续渡过多个业务页面,之后再关闭机制。并且,为了提高一致性验证效率,首先改而进行局部区域验证;其次,由于在同一项闭合业务,各业务页面之间的耦合性较强,对于前面页面的积极验证结果,能够一定程度地给后面页面背书,因此考虑逐渐对局部区域的范围进一步缩小,先紧后松;另外,早期对某个局部区域的一致性验证出现误差导致接下来的误差扩大化,采用随着业务页面往后进行,对局部区域进行动态游走,使其尽量原理已经游走过的区域。如此,兼顾了整项业务全局的验证效率和可靠性。
106.基于上一段的思路,本说明书一个或多个实施例提供了一种多页面配合的应用安全交互方案的流程示意图,描述了对用户执行了行为的多个业务页面进行一致性验证的过程,如图4所示,在图4的场景下,上述的页面信息不是只包括某一个业务页面的信息,而是包括多个具有时序的业务页面的标识。
107.图4中的流程包括以下步骤,是从云端角度描述的。
108.s402:根据各所述业务页面的标识,为其中的至少部分业务页面确定业务开合点标记。
109.业务开合点标记可以由用户端进行标记,在这种情况下,页面信息直接包括了业务开合点标记。业务开合点标记标记了用户在进行同一项业务的过程中,连续访问的多个业务页面中的第一个页面和/或最后一个页面。
110.s404:根据所述业务开合点标记,在所述多个具有时序的业务页面中,确定一部分时序连续的业务页面,构成属于同一项闭合业务的连续业务页面序列。
111.在本说明书一个或多个实施例中,这里的时序连续指用户的实际访问顺序,或者,该项业务典型的页面访问顺序。需要说明的是,确定业务页面时,未必需要获取整个业务页面的全部原始内容,而是可以以页面的标识为代表的进行确定,也即,该原始内容仍然是可以不从用户端暴露出来的。
112.s406:根据所述连续业务页面序列,生成相应的页面局部区域序列,所述页面局部区域序列中的每个页面局部区域,属于在所述连续业务页面序列中对应的业务页面,所述页面局部区域序列中的各页面局部区域,是按照所述连续业务页面序列中的时序顺序趋向于减小的。
113.在本说明书一个或多个实施例中,各页面局部区域是按照所述连续业务页面序列中的时序进行紧缩过的,横向相比是依次减小的。比如,第一个页面局部区域可能几乎是对
应的整个业务页面,最后一个页面局部区域可能只是对应的整个业务页面中的某个关键按钮区域。
114.在本说明书一个或多个实施例中,在生成页面局部区域序列时,可以获取连续业务页面序列中的上一个业务页面上的某个局部区域(比如,随机选择一个区域,或者选择一个确定的关键区域),作为第一局部区域,作为页面局部区域序列中的一个元素,再根据页面局部区域序列中已有的各元素,在连续业务页面序列中的下一个业务页面上获取位置趋向于远离各元素的一个区域,作为第二局部区域,作为页面局部区域序列中新增的一个元素。如此,各局部区域序列一方面是位置相对均匀化,更重要的一方面是使得相邻页面之间的区域差异性大,避免连续陷入误差中。
115.s408:验证所述页面局部区域,是否与所述云端当前的业务页面中的对应区域一致。
116.在本说明书一个或多个实施例中,综合考虑属于同一项闭合业务的多个业务页面的区域化一致性验证结果,来决策是否响应该同一项闭合业务中最终关键的用户行为(比如,在一系列操作后的支付确定操作),进行相应的业务处理。
117.基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图5~图8所示。装置和设备能够相应执行上述方法及相关的可选方案,这里仅示出对一部分重要步骤的执行,省略了一些可选步骤。
118.图5为本说明书一个或多个实施例提供的对应于图1的一种应用安全交互装置的结构示意图,用于应用的云端,所述装置包括:
119.信息接收模块502,接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的;
120.安全验证模块504,根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致;
121.业务执行模块506,若是,则响应于所述用户行为信息,执行相应的业务。
122.可选地,所述应用为云应用;
123.所述应用运行在所述云端;
124.所述用户端是通过与所述云端交互,根据所述应用的所述运行,向用户展示所述应用的业务页面的,以便为所述云端接收用户针对所述应用执行的行为。
125.图6为本说明书一个或多个实施例提供的对应于图2的一种应用安全交互装置的结构示意图,用于应用的用户端,所述装置包括:
126.行为接收模块602,接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息;
127.信息发送模块604,将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
128.可选地,所述应用为云应用;
129.所述应用运行在所述云端;
130.所述用户端是通过与所述云端交互,根据所述应用的所述运行,向用户展示所述应用的业务页面的,以便为所述云端接收用户针对所述应用执行的行为。
131.图7为本说明书一个或多个实施例提供的对应于图1的一种应用安全交互设备的结构示意图,用于应用的云端,所述设备包括:
132.至少一个处理器;以及,
133.与所述至少一个处理器通信连接的存储器;其中,
134.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
135.接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的;
136.根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致;
137.若是,则响应于所述用户行为信息,执行相应的业务。
138.图8为本说明书一个或多个实施例提供的对应于图2的一种应用安全交互设备的结构示意图,用于应用的用户端,所述设备包括:
139.至少一个处理器;以及,
140.与所述至少一个处理器通信连接的存储器;其中,
141.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
142.接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息;
143.将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
144.基于同样的思路,本说明书一个或多个实施例还提供了一种非易失性计算机存储介质,用于应用的云端,所述介质存储有计算机可执行指令,所述计算机可执行指令设置为:
145.接收所述应用的用户端发送的用户行为信息,以及所述用户端的业务页面的页面信息,其中,所述用户行为信息与所述页面信息相绑定,所述用户行为信息对应的行为,是用户在所述用户端的所述业务页面上执行的;
146.根据所述页面信息进行安全验证,来验证所述用户端的所述业务页面,是否与所述云端当前的业务页面一致;
147.若是,则响应于所述用户行为信息,执行相应的业务。
148.本说明书一个或多个实施例还提供了一种非易失性计算机存储介质,用于应用的用户端,所述介质存储有计算机可执行指令,所述计算机可执行指令设置为:
149.接收用户在所述用户端的业务页面上执行的行为,并确定对应的用户行为信息;
150.将所述用户行为信息,以及所述用户端的所述业务页面的页面信息进行绑定,并发送给所述应用的云端,以使所述云端根据所述页面信息进行安全验证,来验证所述用户
端的所述业务页面,是否与所述云端当前的业务页面一致,若是,则响应于所述用户行为信息,执行相应的业务。
151.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
152.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
153.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
154.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
155.本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
156.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
157.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
158.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
159.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
160.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
161.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
162.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
163.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程
序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
164.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
165.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
166.以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1