风险识别方法及装置和电子设备
文献发布时间:2023-06-19 11:05:16
技术领域
本说明书实施例涉及互联网技术领域,尤其涉及一种风险识别方法及装置和电子设备。
背景技术
随着互联网的不断发展,特别是移动互联网的普及,如今人们可以随时随地访问互联网。但随之而来的是互联网安全问题的日益严峻,借助互联网各种不法活动也日益猖獗。
为了保证互联网安全,各个业务提供方都会部署相应的风控策略以应对各种各样的攻击。例如,业务服务端会对每个用户发起的业务请求进行风险识别,判断业务请求、业务请求对应的用户、用户使用的终端设备等是否存在风险,如果任一项存在风险则执行相应的风险控制(如拒绝执行该业务请求);如果都不存在风险才执行该业务请求。因此,风险识别可以有效抵御风险攻击,从而避免正常业务被影响。
发明内容
本说明书实施例提供的一种风险识别方法及装置和电子设备。
根据本说明书实施例的第一方面,提供一种风险识别方法,应用于终端设备的可信执行环境;其中,所述可信执行环境中存储有业务客户端发送的历史业务请求和对所述业务客户端发起的业务请求进行风险识别的风险规则;所述方法包括:
响应于所述业务客户端发起的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
删除所述待发送的业务请求中携带的设备标识,并添加判断结果,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
可选的,所述删除所述待发送的业务请求中携带的设备标识,并添加判断结果,包括:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
可选的,所述删除所述待发送的业务请求中携带的设备标识,并添加判断结果,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求,包括:
如果是,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
如果否,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。
可选的,所述方法还包括:
如果所述风险指标的数值达到所述风险规则中设定的阈值,将所述用户账户和设备标识的可信关系存储在所述可信执行环境;
在所述获取所述业务请求包含的用户账户和终端标识之后,还包括:
查询所述业务请求中的用户账户和设备标识是否是可信关系;
如果是,则执行删除所述待发送的业务请求中携带的设备标识,并添加可信标识,由所述业务客户端将所述业务请求发送给业务服务端的步骤;
如果否,则执行查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值的步骤。
可选的,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长、业务请求成功的次数、累计业务请求成功的金额中至少一种。
可选的,所述方法还包括:
将所述业务客户端接收的所述业务服务端下发的风险规则存储到所述可信执行环境中。
根据本说明书实施例的第二方面,提供一种风险识别方法,应用于终端设备的业务客户端;其中,所述业务客户端存储有历史业务请求和风险规则;所述方法包括:
响应于用户触发的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
删除所述待发送的业务请求中携带的设备标识,并添加判断结果,将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
可选的,所述删除所述待发送的业务请求中携带的设备标识,并添加判断结果,包括:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
可选的,所述删除所述待发送的业务请求中携带的设备标识,并添加判断结果,将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求,包括:
如果是,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
如果否,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。
可选的,所述方法还包括:
如果所述风险指标的数值达到所述风险规则中设定的阈值,存储所述用户账户和设备标识的可信关系;
在所述获取所述业务请求包含的用户账户和终端标识之后,还包括:
查询所述业务请求中的用户账户和设备标识是否是可信关系;
如果是,则执行删除所述待发送的业务请求中携带的设备标识,并添加可信标识,将所述业务请求发送给业务服务端的步骤;
如果否,则执行查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值的步骤。
可选的,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长、业务请求成功的次数、累计业务请求成功的金额中至少一种。
可选的,所述方法还包括:
接收并存储所述业务服务端下发的风险规则。
根据本说明书实施例的第三方面,提供一种风险识别装置,应用于终端设备的可信执行环境;其中,所述可信执行环境中存储有业务客户端发送的历史业务请求和对所述业务客户端发起的业务请求进行风险识别的风险规则;所述装置包括:
响应单元,响应于所述业务客户端发起的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
计算单元,查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
判断单元,判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
发送单元,删除所述待发送的业务请求中携带的设备标识,并添加判断结果,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
可选的,所述发送单元中删除所述待发送的业务请求中携带的设备标识,并添加判断结果,包括:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
可选的,所述发送单元,包括:
第一发送子单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
第二发送子单元,如果所述风险指标的数值未达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。
可选的,所述装置还包括:
存储单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,将所述用户账户和设备标识的可信关系存储在所述可信执行环境;
在所述响应单元之后,还包括:
查询单元,查询所述业务请求中的用户账户和设备标识是否是可信关系;如果是,则执行所述第一发送子单元;如果否,则执行所述计算单元。
可选的,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长、业务请求成功的次数、累计业务请求成功的金额中至少一种。
可选的,所述装置还包括:
存储单元,将所述业务客户端接收的所述业务服务端下发的风险规则存储到所述可信执行环境中。
根据本说明书实施例的第四方面,提供一种风险识别装置,应用于终端设备的业务客户端;其中,所述业务客户端存储有历史业务请求和风险规则;所述装置包括:
响应单元,响应于用户触发的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
计算单元,查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
判断单元,判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
发送单元,删除所述待发送的业务请求中携带的设备标识,并添加判断结果,将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
可选的,所述发送单元中删除所述待发送的业务请求中携带的设备标识,并添加判断结果,包括:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
可选的,所述发送单元,包括:
第一发送子单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
第二发送子单元,如果所述风险指标的数值未达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。
可选的,所述装置还包括:
存储单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,存储所述用户账户和设备标识的可信关系;
在所述响应单元之后,还包括:
查询单元,查询所述业务请求中的用户账户和设备标识是否是可信关系;如果是,则执行所述第一发送子单元;如果否,则执行所述计算单元。
可选的,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长、业务请求成功的次数、累计业务请求成功的金额中至少一种。
可选的,所述装置还包括:
存储单元,接收并存储所述业务服务端下发的风险规则。
根据本说明书实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述任一项风险识别方法。
本说明书实施例,提供了一种风险识别方案,通过由用户的终端设备本地对待发送的业务请求进行风险识别,然后删除待发送的业务请求中的设备标识并添加判断结果后将该业务请求发送给业务服务端;业务服务端根据业务请求中的判断结果进行处理。一方面,由终端设备本地进行风险识别可以减少业务服务端风险识别压力。另一方面,虽然业务客户端生成的待发送的业务请求中原本是携带设备标识的,但是通过终端设备本地风险识别后删除了业务请求中的设备标识,而添加的判断结果并不涉及用户隐私的个人信息;因此即使传输过程中发生泄露,也不会泄露用户的个人信息。从根源上解决了隐私泄漏的问题。
附图说明
图1是本说明书一实施例提供的风险识别系统的示意图;
图2是本说明书一实施例提供的风险识别方法的流程图;
图3是本说明书一实施例提供的风险识别装置的硬件结构图;
图4是本说明书一实施例提供的风险识别装置的模块示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实现方式并不代表与本说明书相一致的所有实现方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本文中的多个可以是指两个或两个以上的情况。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如前所述的,在相关技术中风险识别通常是由业务服务端进行的。而业务服务端执行风险识别则必须借助用户使用的终端设备提供的相关信息。例如,业务服务端可以采集各个终端设备上传的业务请求,这些业务请求中携带有设备标识和用户账户。然后,业务服务端可以以用户账户和设备标识为统计维度,从相同用户账户和设备标识的各个业务请求中统计各个预设的风险指标。如果风险指标的数值满足可信设备的风险规则,那么就可以建立该用户账户和设备标识的可信关系。后续业务请求中如果携带有该用户账户和设备标识则说明该业务请求是低风险的,这个设备标识对应的终端设备对于用户来说是可信的,因此该业务请求也是可信的,业务服务端直接执行业务请求。
然而,上述方案存在以下缺陷:
第一,业务服务端需要对所有的业务请求都进行风险识别。而不管是哪种风险识别都需要消耗一定的时间,如果时间较长那么业务请求响应可能存在延迟,从而影响用户的体验。并且,在实际应用中,绝大部分的业务请求都是正常的业务请求,小部分的业务请求是异常的业务请求(或者称为存在风险的业务请求)。但就因为小部分的异常业务请求,业务服务端就需要对每个业务请求都进行风险识别。这样,就占用了大量业务服务端的资源。
第二,用户发起的业务请求中必须携带当前使用的终端设备的设备标识,而设备标识属于用户隐私的个人信息。所述设备标识可以包括产品序列号(Serial Number,SN)、硬件地址(Media Access Control Address,MAC)等任意可以唯一标识或者与其它信息共同唯一标识终端设备的数据。但是个人信息在传输时以及在业务服务端上存储时都可能存在泄漏的风险,容易造成隐私泄漏。
为了解决上述问题,本说明书提供了一种风险识别方法旨在降低业务服务端风险识别占用的资源,以及避免用户的个人信息泄漏。具体地,通过由用户的终端设备本地对待发送的业务请求进行风险识别,然后删除待发送的业务请求中的设备标识并添加判断结果后将该业务请求发送给业务服务端;业务服务端根据业务请求中的判断结果进行处理。一方面,由终端设备本地进行风险识别可以减少业务服务端风险识别压力。另一方面,虽然业务客户端生成的待发送的业务请求中原本是携带设备标识的,但是通过终端设备本地风险识别后删除了业务请求中的设备标识,而添加的判断结果并不涉及用户隐私的个人信息;因此即使传输过程中发生泄露,也不会泄露用户的个人信息。从根源上解决了隐私泄漏的问题。
以下请参考图1所示的风险识别系统的示意图。该系统包括设备终端和业务服务端。
本实施例中,所述的设备终端可以指硬件上的客户端设备,例如台式计算机、膝上型计算机、平板计算机、智能手机、手持式计算机、个人数字助理(“PDA”),或者其它任何的有线或无线处理器驱动装置。
所述设备终端上安装有操作系统,例如安卓操作系统、IOS操作系统、WindowsPhone操作系统等适用于移动终端的操作系统。并且在所述操作系统中还安装有业务服务端对应的业务客户端。
所述业务客户端可以是指软件上的应用客户端,例如电子钱包APP、即时通讯APP等。
所述业务服务端可以是响应设备终端上业务客户端发送的业务请求的服务器、服务器集群或者基于服务器集群构建的云平台。
其中,所述业务服务端用于确定风险规则,并将满足下发条件的风险规则下发给各个设备终端中的业务客户端。
所述设备终端本地存储有业务服务端下发的风险规则,以及通过该设备终端发送过的历史业务请求的数据。
在实现中,用户可以通过设备终端中的业务客户端向业务服务端发起业务请求。对于设备终端,首先拦截业务客户端发起的业务请求,将该业务请求与本地存储的历史业务请求结合后,再根据本地存储的风险规则进行风险识别,以确定该业务请求是否可信。然后删除待发送的业务请求中的设备标识并添加判断结果后将该业务请求发送给业务服务端。业务服务端根据业务请求中的判断结果进行相关处理。例如基于业务请求中的可信标识,跳过对该业务请求的风险检测而直接执行该交易请求。
以下还可以参考图2所示的风险识别方法的示例,该方法可以应用于终端设备的可信执行环境;其中,所述可信执行环境中存储有业务客户端发送的历史业务请求和对所述业务客户端发起的业务请求进行风险识别的风险规则;所述方法可以包括以下步骤:
步骤210:响应于所述业务客户端发起的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
步骤220:查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
步骤230:判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
步骤240:删除所述待发送的业务请求中携带的设备标识,并添加判断结果,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
上述可信执行环境(Trusted Execution Environment),是指与终端设备上搭载的通用操作系统并行运行的,与上述通用操作系统保持隔离的一个独立的安全执行环境,该安全执行环境用于为终端设备上搭载的通用执行环境提供安全服务。
其中,在终端设备上搭载TEE所采用的技术方案,在本说明书中不进行特别限定,本领域技术人员可以基于实际的需求,进行灵活的选择。
例如,在实现时,可以采用ARM公司的TrustZone架构,在终端设备上搭载TEE环境。TrustZone架构是ARM公司提出的一种硬件级的安全运行解决方案。TrustZone架构将系统分为了TEE和REE(Rich Execution Environment,非可信执行环境)两个区域,REE中运行着终端设备搭载的通用操作系统。而TEE有独立的运算、存储资源,与REE完全隔离开。所有需要保密的操作(如指纹识别、密码处理、风险识别、安全认证等),在TEE中执行,其余的不需要保密的操作在REE中执行。
通常在上述TEE中还可以开辟一块存储空间用于存储业务客户端发送过的历史业务请求和对待发送的业务请求进行风险识别的风险规则。
在实现过程中,如果用户在业务客户端中执行某个业务,则会触发业务客户端发送业务请求。此时设备终端的TEE响应于所述业务客户端发起的待发送的业务请求,先拦截该业务请求,并获取该业务请求包含的用户账户和设备标识。一般的,业务请求都是以标准化数据格式生成的。如前所示的现有的业务请求中包含有用户账户和设备标识。
然后,所述TEE可以查询本地存储的历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并基于所述目标历史业务请求的数据,计算预设的风险指标的数值。
其中,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长(以下简称为第一次业务请求成功距今天数)、业务请求成功的次数、累计业务请求成功的金额。
一般的,第一次业务请求成功距今天数越多,说明用户使用这个终端设备的历史越久,而一个用户使用同一台终端设备的时间越久相应地其作恶的风险越低。因为,作恶的用户需要经常更换终端设备,以避免被发现的几率;正常用户更换终端设备的频率并不高;所以可以基于第一次业务请求成功距今天数这一风险指标来评价当前业务请求是否存在风险。
类似的,业务请求成功的次数越多,说明用户使用这个终端设备执行正常业务越久,相应地其作恶的风险也就越低。因为,作恶的用户需要经常更换终端设备,不会在一台终端设备上执行很多的正常业务;所以可以基于业务请求成功的次数这一风险指标来评价当前业务请求是否存在风险。
类似的,累计业务请求成功的金额越多,说明用户使用这个终端设备执行正常业务较多,且金额较大,相应地其作恶的风险也就越低。因为,作恶的用户需要经常更换终端设备,且为了资金不被全部冻结并不会存放过多资金;所以可以基于累计业务请求成功的金额这一风险指标来评价当前业务请求是否存在风险。
需要说明的是,上述第一次业务请求成功距今天数、业务请求成功的次数、累计业务请求成功的金额仅是风险指标的一些示例,在实际应用中任意可以累计计算的指标都可以作为风险指标使用,本说明书并不对其进行限定。
以交易场景下的交易请求为例加以说明。一般的,交易请求中可以包含有付款的用户账户、交易金额、交易时刻、交易是否成功等交易信息。然后,风险指标包含三个指标RFM。其中,R表示第一次交易请求成功距今天数;F表示交易请求成功的次数;M表示累计交易请求成功的金额。
首先从历史交易请求中筛选出与当前交易请求的用户账户相同的目标历史交易请求。然后,从目标历史交易请求中计算RFM。计算过程分别为:
获取每个交易成功的目标历史交易请求的交易时刻,计算最早的交易时刻距离当前的天数R。
获取每个交易成功的目标历史交易请求的交易时刻,计算这些交易时刻对应的次数F。
获取每个交易成功的目标历史交易请求的交易金额,计算这些交易金额的总和M。
在计算出每个风险指标的数值之后,可以与终端设备存储的风险规则进行比较,判断所述风险指标的数值是否满足所述风险规则中的可信要求。
其中,所述风险规则的可信要求可以是指风险指标的阈值。例如,将每种风险指标的数值与对应的阈值进行标记,如果数值超过阈值则满足可信要求;如果数值未超过阈值则不满足可信要求。
在一实施例中,所述步骤240还包括:
步骤A:如果所述风险指标的数值达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
步骤B:如果所述风险指标的数值未达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。其中,所述风险检测是指业务服务端对业务请求进行更为全面(相较于终端设备本地的风险识别)的检测。
其中,所述可信标识和不可信标识可以是以1和0的形式发送的,1表示可信,0表示不可信。当然在实际应用中可以根据实际需求灵活配置,本说明书并不对其进行限定。
在一实施例中,所述添加判断结果可以是在业务请求中添加一个新的字段。但是在更为优选的方案中:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
这样,无需改变业务请求原本的标准化数据格式,将原本明文的设备标识替换为脱敏的判断结果。改造成本较低。
该实施例中,虽然业务客户端生成的待发送的业务请求中原本是携带设备标识的;但是通过终端设备TEE在本地对业务请求的风险识别,删除了待发送的业务请求中携带的设备标识并添加了判断结果;再由业务客户端将处理的业务请求发送给业务服务端。这样,实际发送给业务服务端的业务请求中就不再携带设备标识,有效避免了用户的个人信息的泄漏。
在一实施例中,如果所述风险指标的数值达到所述风险规则中设定的阈值,将所述用户账户和设备标识的可信关系存储在所述可信执行环境;
在所述获取所述业务请求包含的用户账户和终端标识之后,还包括:
查询所述业务请求中的用户账户和设备标识是否是可信关系;
如果是,则执行步骤A;如果否,则执行步骤220。
如此,在业务客户端后续再发起该用户账户的业务请求时,通过查询TEE中的可信关系快速确定业务请求是否可信的。当业务请求中的用户账户和设备标识是可信关系则加入可信标记后发送,无需每次都计算一次风险指标。
在一实施例中,所述风险规则由所述业务服务端下发给所述终端设备。相应地,TEE可以将所述业务客户端接收的所述业务服务端下发的风险规则存储到所述TEE中。
该实施例中,业务服务端可以根据风控专家的经验制定风险规则中每个风险指标的初始阈值。
为了让风险规则更为准确,还需要对风险规则进行优化。具体可以基于机器学习算法计算每个风险指标的最优阈值。当然,也可以直接将风控专家的制定风险指标的阈值作为风险规则下发给终端设备的业务客户端。
以下举一个示例加以说明:
业务服务端将若干无风险的真实标签和若干有风险的真实标签的业务请求确定为训练样本,并从所述训练样本中计算相同设备标识和用户账户对应风险指标的数值;利用以下步骤进行迭代处理,直到风险识别率大于预设的要求:
基于优化算法,调整风险规则中每个风险指标的阈值;
在训练样本中相同设备标识和用户账户对应风险指标的数值超过所述风险指标的阈值后,记录所述设备标识和用户账户的可信关系;
将位于可信关系的训练样本确定为无风险的训练标签,将不位于可信关系的训练样本确定为有风险的训练标签;
比较每个训练样本的训练标签与真实标签是否一致,以确定所述风险规则的风险识别率。
该实施例中,所述优化算法可以是指模拟退火、梯度下降算法、随机森林等可以实现最优解的算法。本说明书中并不对具体地优化算法进行限定。
在一实施例中,业务服务端还可以将风险规则加密后再下发给各个终端设备的业务客户端。以提升安全性能。
类似的,所述可信标识为基于业务服务端提供的加密算法加密后得到的可信标识。这样,可以避免在业务请求传输过程中被篡改判断结果。由于可信标记或者不可信标记都是加密的,即使被篡改也无法还原出原始数据,从而丢弃业务请求。
综上所述的本说明书实施例,通过由用户的终端设备本地对待发送的业务请求进行风险识别,然后删除待发送的业务请求中的设备标识并添加判断结果后将该业务请求发送给业务服务端;业务服务端根据业务请求中的判断结果进行处理。
一方面,由终端设备本地进行风险识别可以减少业务服务端风险识别压力,业务服务端只需要对判断结果为不可信标识的业务请求进行风险检测,而跳过对可信标识的业务请求的风险检测直接执行业务请求。
另一方面,删除了业务请求中的设备标识,而添加的判断结果并不涉及用户隐私的个人信息;因此即使传输过程中发生泄露,也不会泄露用户的个人信息。从根源上解决了隐私泄漏的问题。
再一方面,用户账户与设备标识的可信关系只存储在该设备标识对应的终端设备上,占用很小的终端设备的存储空间,但极大释放了业务服务端的存储压力。
又一方面,由于历史业务请求和风险规则都是存储在TEE中的,并且统计风险指标的数值,判断风险指标的数值是否达到所述风险规则中设定的阈值;以及删除所述待发送的业务请求中携带的设备标识,并添加判断结果均是通过TEE完成,因此利用了TEE具备的数据安全特性,可以保证TEE的处理过程和判断结果是真实可信的。
以下本说明书还提供了另一种风险识别方法的示例,该方法可以应用于终端设备的业务客户端;其中,所述业务客户端存储有历史业务请求和风险规则;所述方法可以包括以下步骤:
响应于用户触发的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
删除所述待发送的业务请求中携带的设备标识,并添加判断结果,将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
在一实施例中,所述删除所述待发送的业务请求中携带的设备标识,并添加判断结果,包括:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
在一实施例中,所述删除所述待发送的业务请求中携带的设备标识,并添加判断结果,将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求,包括:
如果是,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
如果否,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。
在一实施例中,所述方法还包括:
如果所述风险指标的数值达到所述风险规则中设定的阈值,存储所述用户账户和设备标识的可信关系;
在所述获取所述业务请求包含的用户账户和终端标识之后,还包括:
查询所述业务请求中的用户账户和设备标识是否是可信关系;
如果是,则执行删除所述待发送的业务请求中携带的设备标识,并添加可信标识,将所述业务请求发送给业务服务端的步骤;
如果否,则执行查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值的步骤。
在一实施例中,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长、业务请求成功的次数、累计业务请求成功的金额中至少一种。
在一实施例中,所述方法还包括:
接收并存储所述业务服务端下发的风险规则。
该实施例与前述图2所示实施例不同之处在于,本实施例是由业务客户端对待发送的业务请求进行本地的风险识别,以及历史业务请求和风险规则存储在业务客户端。其它内容均可以参考前述实施例中的描述。
与前述风险识别方法实施例相对应,本说明书还提供了风险识别装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机业务程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书风险识别装置所在设备的一种硬件结构图,除了图3所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据风险识别实际功能,还可以包括其他硬件,对此不再赘述。
请参见图4,为本说明书一实施例提供的风险识别装置的模块图,所述装置对应了图2所示实施例,应用于终端设备的可信执行环境;其中,所述可信执行环境中存储有业务客户端发送的历史业务请求和对所述业务客户端发起的业务请求进行风险识别的风险规则;所述装置包括:
响应单元310,响应于所述业务客户端发起的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
计算单元320,查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
判断单元330,判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
发送单元340,删除所述待发送的业务请求中携带的设备标识,并添加判断结果,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
可选的,所述发送单元340中删除所述待发送的业务请求中携带的设备标识,并添加判断结果,包括:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
可选的,所述发送单元340,包括:
第一发送子单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
第二发送子单元,如果所述风险指标的数值未达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,由所述业务客户端将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。
可选的,所述装置还包括:
存储单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,将所述用户账户和设备标识的可信关系存储在所述可信执行环境;
在所述响应单元310之后,还包括:
查询单元,查询所述业务请求中的用户账户和设备标识是否是可信关系;如果是,则执行所述第一发送子单元;如果否,则执行所述计算单元320。
可选的,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长、业务请求成功的次数、累计业务请求成功的金额中至少一种。
可选的,所述装置还包括:
存储单元,将所述业务客户端接收的所述业务服务端下发的风险规则存储到所述可信执行环境中。
与本说明书另一实施例提供的风险识别方法对应的,上述本说明书还提供了另一种风险识别装置的实施例,应用于终端设备的业务客户端;其中,所述业务客户端存储有历史业务请求和风险规则;所述装置包括:
响应单元,响应于用户触发的待发送的业务请求,获取所述业务请求包含的用户账户和终端标识;
计算单元,查询所述历史业务请求中同样具有所述用户账户和设备标识的历史目标业务请求,并对所述历史目标业务请求进行统计分析,得到风险指标的数值;
判断单元,判断所述风险指标的数值是否达到所述风险规则中设定的阈值;
发送单元,删除所述待发送的业务请求中携带的设备标识,并添加判断结果,将所述业务请求发送给业务服务端;以使所述业务服务端基于该判断结果执行该业务请求。
可选的,所述发送单元中删除所述待发送的业务请求中携带的设备标识,并添加判断结果,包括:
将所述待发送的业务请求中携带的设备标识替换为判断结果。
可选的,所述发送单元,包括:
第一发送子单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该可信标识执行该业务请求;
第二发送子单元,如果所述风险指标的数值未达到所述风险规则中设定的阈值,删除所述待发送的业务请求中携带的设备标识,并添加不可信标识,将所述业务请求发送给业务服务端;以使所述业务服务端基于该不可信标识对该业务请求进行风险检测。
可选的,所述装置还包括:
存储单元,如果所述风险指标的数值达到所述风险规则中设定的阈值,存储所述用户账户和设备标识的可信关系;
在所述响应单元之后,还包括:
查询单元,查询所述业务请求中的用户账户和设备标识是否是可信关系;如果是,则执行所述第一发送子单元;如果否,则执行所述计算单元。
可选的,所述风险指标包括第一次业务请求成功距离收到所述业务请求的时刻的时长、业务请求成功的次数、累计业务请求成功的金额中至少一种。
可选的,所述装置还包括:
存储单元,接收并存储所述业务服务端下发的风险规则。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上图4描述了风险识别装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为前述任一项所述的风险识别方法的实施例。
在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的实施例后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由所附的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
- 风险识别方法、风险识别装置和电子设备
- 风险识别方法及装置、电子设备