首页 / 基于触屏压力分析的身份认证方法、装置、设备和介质

基于触屏压力分析的身份认证方法、装置、设备和介质公开 发明

技术领域

[0001] 本公开涉及信息安全领域,,更具体地涉及一种基于触屏压力分析的身份认证方法、装置、设备、介质和程序产品。

相关背景技术

[0002] 目前对于用于用户身份认证的方法,一种是静态认证,多集中在介质认证领域,例如通过密码、指纹、人脸等相对静态的介质单一或静态多重认证;另一种是基于用户操作行为,抽取用户操作习惯对用户身份进行识别认证,可以在客户端上对用户身份进行持续的身份认证,防止他人代为操作。相比于静态认证,根据用户操作习惯的身份认证方式,由于用户操作习惯的稳定性和难以复制性,更不容易被攻击者窥探和模仿。
[0003] 然而在实现本公开构思的过程中,发明人发现现有技术存在如下缺点:无论静态的认证方式还是基于用户操作行为的认证方式,都是基于用户与客户端的交互操作进行的。然而如果出现网络黑产等攻击者绕过了客户端操作或者骗过了客户端的身份识别机制,成功向后端服务发起了用户请求的话,后端服务一旦对用户请求进行响应,就会让攻击者的攻击行为得逞,给用户带来损失。

具体实施方式

[0031] 以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0032] 在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0033] 在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0034] 在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
[0035] 本公开实施例提供了一种基于触屏压力分析的身份认证方法、装置、设备、介质和程序产品,可以根据异常检测触发条件判断来自客户端的用户交互行为是否存在异常,如果存在异常则通过对客户端采集到的与用户交互行为对应的触屏压力数据进行分析,对用户身份进行验证。可见,本公开实施例中后端服务在接收到用户请求后,可以结合累积的用户交互行为,来判断用户交互行为是否存在异常,并当发现存在异常时会根据用户交互行为对应的触屏压力数据进一步地分析和认证,并仅在确保这些用户交互行为符合用户操作习惯的情况下再进行响应。这样,即使在网络黑产绕过了客户端操作向后端服务发起了交易请求,或者他人(例如,通过胁迫用户操作或者模仿用户行为等)骗取到了客户端的身份认证机制,成功向后端发起了交易请求,后端服务在较大程度上也能够及时发现并阻断攻击者的恶意攻击行为,从而可以阻断对恶意攻击者的请求的响应,进而提高对用户的信息和财产的防护能力。
[0036] 在本发明的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息、用户触屏压力数据,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关国家和地区的相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。
[0037] 图1示意性示出了根据本公开实施例的基于触屏压力分析的身份认证方法、装置、设备、介质和程序产品的应用场景图。
[0038] 如图1所示,根据该实施例的应用场景100可以包括终端设备101、网络102和服务器103。网络102为用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0039] 终端设备101可以安装有各种客户端应用,例如购物类应用、网页浏览器应用、手机银行客户端应用、财务管理类应用、第三方支付类应用、财务管理类应用、政务平台、社交平台软件等(仅为示例)。
[0040] 服务器103可以是为终端设备101中的客户端应用提供后端服务的服务器。
[0041] 用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。服务器103可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备101。
[0042] 在应用场景100中,本公开实施例所提供的基于触屏压力分析的身份认证方法可以由服务器103执行。相应地,本公开实施例所提供的基于触屏压力分析的身份认证装置、设备、介质和程序产品可以设置于服务器103中。可以理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0043] 以下将基于图1描述的应用场景100,以用户通过终端设备101使用手机银行客户端应用为例,对本公开实施例的基于触屏压力分析的身份认证方法分别进行详细描述。需要说明的是,本公开实施例提供的基于触屏压力分析的身份认证方法、装置、设备、介质和程序产品可用于金融领域(如手机银行、财务管理),也可用于除金融领域之外的任意领域(如电商领域、物流领域等),本公开对应用领域不做限定。
[0044] 应注意,下述方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
[0045] 图2示意性示出了根据本公开实施例的基于触屏压力分析的身份认证方法的流程图。
[0046] 如图2所示,根据该实施例的基于触屏压力分析的身份认证方法可以包括操作S210~操作S250。
[0047] 首先在操作S210,当来自客户端的用户交互行为序列满足异常检测触发条件时,从客户端采集的触屏压力数据中查找与用户交互行为序列对应的触屏压力数据序列。
[0048] 具体地,服务器103可以对接收到来自客户端的请求进行记录,并可以将接收到的请求按照时间先后顺序、时间问隔或者操作内容关联性等组成一个或多个用户交互行为序列。
[0049] 可以在获得用户的授权的情况下,由客户端实时采集用户在终端设备101中触摸操作客户端的交互控件而产生的触屏压力数据,并且可以在向服务器103发送用户请求的同时,由客户端将采集到的触屏压力数据也发送到服务器103进行缓存或发送到与服务器103通信的数据库中。在一个实施例中,客户端采集的触屏压力数据至少可以包括用户触摸操作的位置坐标和压力值。在另一些实施例中,触屏压力数据还可以进一步包括所触控的交互控件的信息、交互控件的控件类型、手指的触摸操作面积、触摸持续时长等信息。由于服务器103接收到的一个用户请求可以是一个用户触摸操作引起的,也可以是多个用户触摸操作引起的,例如,登陆请求时密码输入可以包括多个触摸操作。因此,当一个用户请求对应多次触摸操作,与该用户请求对应的触屏压力数据也可以包括多个触屏压力数据。
[0050] 本公开实施例,服务器103可以根据接收到的请求不断累积和更新用户交互行为序列,并可以根据异常检测触发条件判断当前的用户交互行为是否存在异常。
[0051] 在一个实施例中,异常检测触发条件可以是,用户交互行为序列包含对客户端中第一关键交互控件(诸如,用户登陆密码输入控件或支付密码输入控件)的s次重复操作,且该s次重复操作的响应结果均为失败或者该s次重复操作的频率高于第一阈值频率,其中,s为异常检测触发条件中设置的响应阈值次数。例如,当服务器103记录到截止当前接收到了多个重复的密码登陆请求,而且输入的密码均是错误时,说明当前有用户正在尝试登陆客户端。其中当密码错误的次数超过阈值次数s(例如,s=3)时,该连续多个重复的密码登陆请求组合而成的用户交互行为序列满足异常检测触发条件,从而可以触发服务器103对用户进行身份认证。
[0052] 在另一实施例中,异常检测触发条件也可以是,用户交互行为序列包含在客户端中第一关键页面(如,转账支付页面)中的高频操作,其中,高频操作的操作频率高于第二阈值频率。例如,当服务器103不断接收到转账支付页面发送过来的小额转账支付请求以及转账交易码等转账确认操作时,说明当前有用户在不断执行诸如填写转账金额、确认转账、输入校验码等一系列小额转账交易操作。如果服务器103接收到的与小额转账交易操作的频率明显高于人工或用户日常操作频率时,可以认为这些小额转账支付对应的用户行为序列满足异常检测触发条件,从而可以触发服务器103对用户进行身份认证。
[0053] 在再一实施例中,异常检测触发条件也可以是,用户交互行为序列包含对预定的敏感业务(如,修改密码、更改手机号等)的操作。当用户执行这些敏感业务的操作时,可以触发服务器103对用户进行身份认证。
[0054] 通过异常检测触发条件,服务器103可以对来自关键交互控件、或者关键页面、或者敏感业务的操作请求进行监控,并及时识别出可能存在的异常操作行为,触发服务器103基于触屏压力分析进行进一步的身份认证,加强了后端服务的响应安全性。
[0055] 当服务器103记录并发现用户交互行为序列满足异常检测触发条件时,可以截取出满足异常检测触发条件的用户交互行为序列,然后查找与该用户交互行为序列对应的触屏压力数据序列,进行身份认证。
[0056] 如果查找不到对应的触屏压力数据序列,则在操作S220,确定用户交互行为序列包括网络黑产的操作。
[0057] 如果查找到对应的触屏压力数据序列,则在操作S230,匹配触屏压力数据序列与客户端中的登陆用户的触屏压力特征。
[0058] 具体地,服务器103可以按照用户交互行为序列中的用户请求的排列顺序,依次从服务器103的缓存中或数据库中查找与每个用户请求对应的触屏压力数据。如果查找到,可以按照用户交互行为序列中的用户请求的顺序,将查找到的触屏压力数据排列,组成触屏压力数据序列(或集合)。
[0059] 其中,在查找触屏压力数据的过程中,如果发现查找不到某一个或某一些用户请求对应的触屏压力数据,且通过日志核查等确定不存在触屏压力数据传输丢失等问题,或者发现根本就不存在与用户交互行为序列中的任意一个用户请求对应的触屏压力数据时,就说明用户交互行为序列中包含了网络黑产的操作。在这种情况下,服务器103可以立即阻断对用户请求的响应,并向通过短信、消息、或电话等方式通知用户确认账户安全。
[0060] 如果能够完整查找到用户交互行为序列中的用户请求对应的触屏压力数据,并组成触屏压力数据序列,则可以在操作S230中根据触屏压力数据序列与客户端中的登陆用户的触屏压力特征的匹配,判断客户端中的用户操作是否与用户的触摸操作习惯相匹配。
[0061] 在一个实施例中,上述操作S230中的触屏压力特征,可以是对客户端采集到的登录用户的大量触屏压力数据进行统计分析后得到的触屏压力统计特征,例如压力值范围、压力值区间、或触屏压力值的分布特征(如均值,标准差等指标)数据,单次触屏持续时长范围等数据。这样在操作S230中进行匹配时,可以分析查找到的触屏压力数据序列中的所有触屏压力数据是否均符合触屏压力统计特征。如果符合则认为匹配,如果不符合则认为不匹配。
[0062] 在另一实施例中,操作S230中的触屏压力特征,可以是利用客户端采集到的该登录用户的大量触屏压力数据训练机器学习模型,使机器学习模型可以学习到登陆用户触屏压力特征,并据此识别登陆用的身份。在这种情况下,上述操作S230中匹配触屏压力数据序列与客户端中的登陆用户的触屏压力特征的过程,可以是将查找到触屏压力数据序列输入到机器学习模型,利用机器学习模型基于触屏压力数据序列进行用户身份识别,如果机器学习模型识别出的用户身份为该登陆用户,则认为匹配,否则认为不匹配。
[0063] 如果匹配,则在操作S240,确定用户交互行为序列是登陆用户本人操作引起的。在这种情况下,服务器103可以继续向用户提供服务,正常响应用户请求。
[0064] 如果不匹配,则在操作S250,确定用户交互行为序列包含非登陆用户本人的操作。在这种情况下,服务器103可以立即阻断对用户请求的响应,并可以向通过短信、消息、或电话等方式通知用户确认账户安全。
[0065] 本公开实施例中后端服务在接收到用户请求后,会根据累积的用户交互行为序列和异常检测条件不断判断用户行为是否存在异常,并当发现存在异常时根据用户交互行为对应的触屏压力数据进一步地分析和认证,并仅在确保这些用户交互行为不包含黑产操作、而且符合用户操作习惯的情况下再进行响应,而对于其他情况则会及时阻断响应,从而可以及时发现隐蔽的网络攻击行为,提高对用户的信息和财产的防护能力。
[0066] 图3示意性示出了根据本公开实施例的触屏压力特征的分类示意。
[0067] 如图3所示,上述操作S230中所使用到的触屏压力特征可以根据用户所操作的交互控件的控件类型和/或用户操作的客户端界面中的操作区域进行细分。
[0068] 例如,对于不同的控件类型,诸如输入控件、下拉选择控件或点击确认控件,触摸操作的按压力度大小、停留时长、触摸面积大小等往往差异较大。因此,可以按照不同的控件类型,针对性地提取与每种控件类型对应的第一触屏压力特征。例如将客户端采集到的登陆用户的大量触屏压力数据,根据控件类型分类,然后基于同一控件类型下的触屏压力数据,通过统计方法或者训练机器学习模型,提取出第一触屏压力特征。
[0069] 又例如,当用户触摸客户端界面(或终端设备101的屏幕中)不同操作区域时,触摸操作的按压力度大小、停留时长、触摸面积大小分布等差异可能也比较明显。因此,也可以按照触控操作区域的不同,针对性地提取与每个触控操作区域对应的第二触屏压力特征。
[0070] 在一个实施例中,可以将客户端采集到的登陆用户的大量触屏压力数据,根据对客户端界面的操作区域划分方式(例如,划分为四象限)进行分类,然后从同一操作区域下的触屏压力数据中,通过统计方法或者训练机器学习模型,提取出第二触屏压力特征。在另一些实施例中,也可以通过对采集到的登陆用户的大量触屏压力数据进行聚类,然后基于聚类后每个类簇的触屏压力数据的坐标值分布,在客户端页面中划分出与每个类簇对应的操作区域,并对每个类簇中的触屏压力数据,通过统计方法或者训练机器学习模型,提取出第二触屏压力特征。通过聚类的方式划分出的操作区域,可以与用户的行为习惯更为贴合且更具有个性化,可以提高在操作S230中匹配用户习惯的精准性和可靠性。
[0071] 相应地,在操作S230中匹配触屏压力数据序列与触屏压力特征时,可以将对应于相同的控件类型的触屏压力数据与第一触屏压力特征进行匹配,或者将对应于相同的操作区域的触屏压力数据与第二触屏压力特征进行匹配,这样可以使匹配结果更为精准。
[0072] 当然,触屏压力数据序列中的每个触屏压力数据可以同时具备操作区域和控件类型两个维度的属性。相应地,也可以结合上述第一触屏特征和第二触屏特征的提取方式,提取每个操作区域中每种控件类型对应的第三触屏压力特征。然后在操作S230中将对应于相同操作区域相同控件类型的触屏压力数据与第三触屏压力特征进行对比,从而再更精细的维度上匹配用户的操作习惯,使得用户身份认证结果更精准更可信。
[0073] 图4示意性示出了本公开一实施例中按照控件类型的不同基于触屏压力分析是否为用户本人操作的流程。
[0074] 如图4所示,根据该实施例当服务器103通过操作S210中查找到与异常的用户交互行为序列对应的触屏压力数据序列之后,该方法可以包括操作S401~操作S403、操作S2311~操作S2312以及操作S240和操作S250。
[0075] 首先在操作S401,根据客户端中交互控件的控件类型的设置,获取用户交互行为序列中涉及的交互控件的控件类型,得到n个第一控件类型,其中,n为大于或等于1的整数。
[0076] 然后在操作S402,获取与n个第一控件类型一一对应的n个第一触屏压力特征。当触屏压力特征为统计特征时,n个第一触屏压力特征为对与n个第一控件类型对应的触屏压力统计指标或分布指标。当触屏压力特征为训练机器学习模型学习到的特征时,n个第一触屏压力特征可以是针对n个第一控件类型分别训练得到的机器学习模型。
[0077] 相应地,在操作S403,将触屏压力数据序列中的触屏压力数据按照所操作的交互控件的控件类型进行分组,得到n个第一触屏压力子序列。其中,每个第一触屏压力子序列与一个第一控件类型对应。
[0078] 接下来在操作S2311,将与同一个第一控件类型对应的第一触屏压力子序列和第一触屏压力特征进行匹配。即,匹配第一触屏压力子序列中的全部触屏压力数据与第一触屏压力特征。
[0079] 并在操作S2312,判断n个第一触屏压力子序列是否均匹配成功。
[0080] 如果是,则操作S240,确定用户交互行为序列是登陆用户本人操作引起的。
[0081] 如果否,则在操作S250,确定用户交互行为序列包含非登陆用户本人的操作。
[0082] 其中,操作S2311和操作S2312为前述操作S230的一个具体实施例。
[0083] 本公开实施例在用户触屏压力分析是否为用户本人操作时,按照交互控件的类型不同,针对性地判别采集到的触屏压力数据是否符合登陆用户对同类型的交互控件下的操作习惯,可以更精细地甄别出非本人操作的交互行为,提高用户身份判断的准确度。
[0084] 图5示意性示出了本公开一实施例中按照操作区域的不同基于触屏压力分析是否为用户本人操作的流程。
[0085] 如图5所示,根据该实施例当服务器103通过操作S210中查找到与异常的用户交互行为序列对应的触屏压力数据序列之后,该方法可以包括操作S501~操作S503、操作S2321~操作S2322以及操作S240和操作S250。
[0086] 首先在操作S501,确定用户交互行为序列中涉及的交互控件在客户端界面中所处的操作区域,以得到m个目标操作区域,其中,其中,m为大于或等于1的整数。
[0087] 然后在操作S502,获取与m个第二控件类型一一对应的m个第二触屏压力特征。
[0088] 相应地,在操作S503,将触屏压力数据序列中的触屏压力数据按照所操作的交互控件所处的操作区域进行分组,得到m个第二触屏压力子序列。其中,每个第二触屏压力子序列与一个目标操作区域对应。
[0089] 接下来在操作S2321,将与同一个目标操作区域对应的第二触屏压力子序列和第二触屏压力特征进行匹配。即,匹配第二触屏压力子序列中的全部触屏压力数据与第二触屏压力特征。
[0090] 并在操作S2322,判断m个第二触屏压力子序列是否均匹配成功。
[0091] 如果是,则操作S240,确定用户交互行为序列是登陆用户本人操作引起的。
[0092] 如果否,则在操作S250,确定用户交互行为序列包含非登陆用户本人的操作。
[0093] 其中,操作S2321和操作S2322为前述操作S230的另一个具体实施例。
[0094] 本公开实施例在用户触屏压力分析是否为用户本人操作时,按照操作区域的不同,针对性地判别采集到的触屏压力数据是否符合登陆用户对每个操作区域的操作习惯。不同用户手持终端设备101在不同操作区域中的操作可以具有明显的个体差异,而同一个体又具有非常高的稳定性和可预测性,从而根据操作区域针对性进行触屏压力分析识别,可以更精细地甄别出非本人操作的交互行为,尤其是当客户端界面中的操作区域的划分以及每个操作区域中的第二触屏压力特征为对登陆用户的操作习惯进行聚类得到的情况时。
[0095] 图6示意性示出了本公开另一实施例中基于触屏压力分析是否为用户本人操作时同时结合操作区域和控件类型的不同进行针对性处理的流程。
[0096] 如图6所示,根据该实施例当服务器103通过操作S210中查找到与异常的用户交互行为序列对应的触屏压力数据序列之后,该方法可以包括操作S601~操作S605、操作S2331~操作S2332以及操作S240和操作S250。
[0097] 首先在操作S601,确定用户交互行为序列中涉及的交互控件在客户端界面中所处的操作区域,以得到m个目标操作区域,其中,其中,m为大于或等于1的整数。
[0098] 然后在操作S602,将用户交互行为序列中涉及的交互控件按照目标操作区域分成m组,得到m个交互控件组。
[0099] 并在操作S603,获取每个交互控件组中的交互控件的类型,得到每个目标操作区域中涉及的r个第二控件类型,其中,r为大于或等于1的整数.
[0100] 接下来在操作S604,获取m个第二触屏压力特征,其中,对于每个目标操作区域,获取与目标操作区域中涉及的r个第二控件类型一一对应的r个第三触屏压力特征,其中,每个第三触屏压力特征为通过对登陆用户在目标操作区域中触摸操作每个第二控件类型中的交互控件而产生的大量触屏压力数据进行处理得到的。
[0101] 在操作S605,将触屏压力数据序列中的触屏压力数据按照所操作的交互控件所处的操作区域进行分组,得到m个第二触屏压力子序列;其中,每个第二触屏压力子序列与一个目标操作区域对应。
[0102] 接下来在操作S2331,将与同一个目标操作区域对应的第二触屏压力子序列和第二触屏压力特征进行匹配,其中,在匹配每个第二触屏压力子序列时,将对应于相同的第二控件类型的触屏压力数据与第三触屏压力特征数据进行匹配。
[0103] 然后在操作S2332,判断m个第二触屏压力子序列中的所有触屏压力数据是否均匹配成功。
[0104] 如果是,则操作S240,确定用户交互行为序列是登陆用户本人操作引起的。
[0105] 如果否,则在操作S250,确定用户交互行为序列包含非登陆用户本人的操作。
[0106] 其中,操作S2331和操作S2332为前述操作S230的另一个具体实施例。
[0107] 本公开实施例在用户触屏压力分析是否为用户本人操作时,在限定了操作区域和控件类型的细分场景后,针对性地判别触屏压力数据序列中的数据是否符合登陆用户在细分场景下的操作习惯,从而可以更为精准对甄别出非本人操作的行为,提高识别结果的精准性,进一步提高用户账户的安全性。
[0108] 图7示意性示出了本公开另一实施例的基于触屏压力分析的身份认证方法的流程图。
[0109] 如图7所示,根据该实施例的身份认证方法的实施可以包括S1~S6六个步骤,其中,S1~S4为用户的触屏压力特征的抽取阶段,S5和S6为根据本公开实施例的身份认证方法实施阶段,由服务器103根据异常检测触发条件对来自客户端的用户交互行为是否存在异常进行判断,当存在异常时基于触屏压力分析进行身份认证,从而可以进行用户身份的多重分析判断。
[0110] S1,锁定手机银行客户端界面中个人信息相关输入场及选择按钮等交互控件的位置信息。
[0111] 可以在当前手机银行客户端界面中,通过使用计算机视觉技术来识别和定位,筛选出包含输入框和选择按钮的区域,详细的步骤如下(1)~(6):
[0112] (1)图像获取:首先,获取手机银行客户端界面图像。
[0113] (2)图像预处理:对获取的图像进行预处理。
[0114] (3)物体检测:使用物体检测算法,如基于深度学习的目标检测方法Faster R‑CNN,来识别输入框和选择按钮等交互控件。这些算法可以标记出图像中可能是交互控件的区域,并给出其位置和边界框。
[0115] (4)交互控件区域筛选:通过对物体检测结果进行筛选,选择与包含输入框和选择按钮相匹配的区域。这可以基于物体类别标签或其他特征来进行判断。
[0116] (5)交互控件区域细化:进一步对所选区域进行细化和调整,确保准确地捕捉到涉及输入框和选择按钮等交互控件的位置。这里涉及一些图像处理和算法优化的步骤。
[0117] (6)结果展示:通过绘制边界框,将标记出的涉及输入框和选择按钮的区域在原始图像上进行锁定。
[0118] S2:采集用户在客户端界面中通过触摸事件产生的触摸点坐标及压力值等数据,得到触屏压力数据。
[0119] 基于S1中锁定的交互控件的区域信息,对落在这些区域中的触控事件进行监控及区分。其中,用户对客户端界面的触控事件可以分为触摸事件和滑动事件两类。其中,并一个事件为屏幕触摸事件且为单点触摸时,获取该点的坐标和用户触摸屏幕的压力值等数据,生成触屏压力数据。当一个事件中存在多个连续触摸点时,将该事件定义为滑动事件,例如用户上下滑动页面的操作。对于滑动事件不做处理。
[0120] 具体地处理步骤如下:
[0121] 步骤1,检测事件类型:a.如果事件类型是触摸事件,转到步骤2。b.如果事件类型是滑动事件,不进行处理。
[0122] 步骤2,检测触摸点数量:a.如果触摸点数量为单点触摸,转到步骤3。b.如果触摸点数量大于1,转到步骤4。
[0123] 步骤3,处理单点触摸事件:a.获取单点触摸的坐标位置(X,Y)和用户触摸屏幕的压力值(Pressure);b.输出坐标(X,Y)和压力值(Pressure)结果,生成触屏压力数据,并触摸操作记录中记录该点击事件和压力值等信息。
[0124] 步骤4,处理多点触摸事件:定义为滑动事件,不进行额外的处理。
[0125] 以上步骤运行后,可获取到用户在客户端的触摸事件中,触摸点的坐标(X,Y)和压力值(Pressure)数据,通过定期收集可得到用户触摸屏幕时,触摸点坐标以及对应该点压力的数据集,用于下一步模型运算。
[0126] S3,数据清洗分类.
[0127] 将S2中定期采集到的触摸点的坐标和对应的压力值数据,以坐标为维度进行分类.将屏幕上每个交互控件的区域设定为目标区间,并将落在目标区间的触摸点对应的压力值输出成表格。即因用户使用屏幕时固定角度的触摸按钮产生的压力值可划定为一类,所以以同一按钮区域对比压力值可得到更精确的对比结果。
[0128] 设置结果列表points用来存储获取的全量触屏压力值,并设置一个压力值列表variables,用于存储目标区域的触摸压力值数据。
[0129] 使用循环判断进行数据清洗:
[0130] a.获取点击屏幕的坐标点(X,Y);
[0131] b.将坐标点(X,Y)加入列表points;
[0132] c.读取对应变量a,并将变量值加入压力值列表variables;
[0133] d.判断坐标点(X,Y)是否落在目标区间内:
[0134] i.如果是,将对应压力值输出并保存至表格中;
[0135] ii如果不是,继续循环。
[0136] 依据上述步骤得出的用户在手机银行客户端的触摸事件中,落在目标区间的触摸点坐标对应的压力值数据列表。
[0137] S4,触屏压力特征对应操作区域范围划定。
[0138] 依据S3中得到的落在目标区间的触摸点坐标对应的压力值数据列表,采用Mean Shift算法进行聚类计算,并将通过聚类得出的数据集中区域。在每个数据集中区域对应的屏幕范围内,划分出操作区域,在每个操作区域中取最小值及最大值形成压力值分布范围,标记为该操作区域中的触屏压力特征。其中,当用户在该操作区域的全部触屏压力数据持落在该压力值分布范围时,模型判断为用户本人操作,当数据超出该数据区间时,模型判断为非用户本人操作。
[0139] S5,运行身份认证机制。
[0140] 获取并对比来自用户的触屏压力动态变化数据,结合用户在手机银行客户端的交易过程中,页面层面的操作反馈结果,完成用户操作行为的多重认证,即交易反馈和用户操作压力交叉验证。
[0141] 具体地,可以根据用户在手机银行客户端的交易过程中的用户交互行为,分析是否存在可能的异常行为,例如,用户在交易过程中对关键交互控件的输入行为存在异常,或者用户的输入无异常但是执行的是敏感操作时,结合用户操作压力对用户身份进行认证。可以识别出以下两种情况:一是在用户在交易过程中输入异常时,用黑产远程代码无法模拟的触摸屏幕压力,来校验是否为本人操作;二是在用户交易过程中执行某些敏感操作时输入正常的情况下,判断用户的操作习惯是否发生严重偏离,来确认是否存在他人代为交易的情况。以下是处理逻辑说明。
[0142] 一是获取用户交易过程中对关键的交互控件的输入信息,当输入信息存在异常时,触发触摸屏幕压力校验。对关键交互控件的输入行为存在异常的范围列表如表1所示。
[0143] 表1
[0144]
[0145] 当服务器103根据记录到的用户交互行为,发现用户出现表1中的异常行为时,服务器103可以自动获取用户触发当前交易时的触屏压力数据,并判断这些数据是否落在了用户本人操作的数据区间,若落在本人操作的数据区间内,则定义为本人操作,交易放行。若未落在本人操作区间,则认为当前交易非用户本人操作,进入S5非本人操作特征预警。
[0146] 二是获取用户交易过程中对关键页面或某些敏感操作(如转账交易)的关键输入行为。在输入行为正常时,获取用户在交易过程中的屏幕压力,并持续监测该操作行为是否符合本人操作习惯特征。判断逻辑如下表2所示。
[0147] 表2
[0148]
[0149] S6,非本人操作特征预警
[0150] 根据S5中得到的本人操作及非本人操作的判断结果,当确定为本人操作的结果,设置为通行状态,并将数据写入用户操作特征数据库进行标记。当判断为非本人操作的数据结果,设置为警示状态,标记风险事件并联动用户在金融系统预留的手机号发送预警信息。
[0151] 例如,用户使用移动端手机银行进行转账汇款,在交易过程中,用户会因菜单选择、信息项点选等需要,而进行屏幕手机触摸的动作,当用户在触摸屏幕操作的过程中,系统会自动获取用户点击该点的触摸压力值数据。当用户当前触摸屏幕的压力值数据,经过算法被定义为非本人操作的数据结果时,则系统会在标记该笔交易为风险事件的同事向用户在金融系统预留的手机号发送预警信息。
[0152] 本公开实施例将具有用户个人特征鲜明排他性的触屏压力数据作为用户身份认证的标志,在使用用户交互操作行为中的输入信息或者输入行为进行一重判定后,再基于触屏压力分析用户身份,有效解决了现有交易流程中采用分散单点进行身份认证所带来的潜在风险。
[0153] 本公开实施例通过收集用户在客户端界面中屏幕触摸事件中的触摸压力数据,并通过动态分析触摸压力的变化规律,综合分析抽取出可以标示用户操作行为习惯的触屏压力特征,在此基础上通过对用户实时操作行为中产生的触屏压力数据的分析,结合用户交互操作行为,确认当前操作是否是本人操作,完成用户双重操作确认。以此方式,可以准确区分出当前交易究竟时本人操作,还是代码或软件操作,或者是他人操作,并根据操作反馈结果提供响应的安全预警通知,可有效防止黑产及他人代为交易的情况。
[0154] 基于上述各个实施例的基于触屏压力分析的身份认证方法,本公开还提供了一种于触屏压力分析的身份认证装置。以下将结合图8对该身份认证装置进行详细描述。
[0155] 图8示意性示出了根据本公开实施例的基于触屏压力分析的身份认证装置800的结构框图。
[0156] 如图8所示,根据本公开一些实施例,该身份认证装置800可以包括异常检测模块810、黑产排查模块820和用户习惯匹配模块830。根据本公开另一些实施例,该身份认证装置800还可以进一步包括第一特征获取模块840、第二特征获取模块850和/或第三特征获取模块860。该身份认证装置800可以执行参考图2~图7所描述的身份认证方法。
[0157] 异常检测模块810用于当来自客户端的用户交互行为序列满足异常检测触发条件时,从客户端采集的触屏压力数据中查找与用户交互行为序列对应的触屏压力数据序列。在一个实施例中,异常检测模块810可以执行前文介绍的操作S210。
[0158] 黑产排查模块820用于如果查找不到触屏压力数据序列,确定用户交互行为序列包含网络黑产的操作。在一个实施例中,黑产排查模块820可以执行前文介绍的操作S220。
[0159] 用户习惯匹配模块830用于:如果查找到触屏压力数据序列,匹配触屏压力数据序列与客户端中的登陆用户的触屏压力特征;若不匹配,则确定用户交互行为序列包含非登陆用户本人的操作;以及若匹配,则确定用户交互行为序列是登陆用户本人操作引起的。在一个实施例中,用户习惯匹配模块830可以执行前文介绍的操作S230、操作S240和操作S250。
[0160] 第一特征获取模块840用于:根据客户端中交互控件的控件类型的设置,获取用户交互行为序列中涉及的交互控件的控件类型,得到n个第一控件类型,其中,n为大于或等于1的整数;以及获取n个第一触屏压力特征,其中,每个第一触屏压力特征是通过对登陆用户操作每个第一控件类型中的交互控件而产生的触屏压力数据进行处理得到的;其中,触屏压力特征包括n个第一触屏压力特征。
[0161] 在一个实施例中,第一特征获取模块840可以执行前文介绍的操作S401~操作S403。相应地,用户习惯匹配模块830还可以用于:将触屏压力数据序列中的触屏压力数据按照所操作的交互控件的控件类型进行分组,得到n个第一触屏压力子序列,其中,每个第一触屏压力子序列与一个第一控件类型对应;将与同一个第一控件类型对应的第一触屏压力子序列和第一触屏压力特征进行匹配;以及当n个第一触屏压力子序列均匹配成功时,确定触屏压力数据序列与触屏压力特征匹配;否则,确定触屏压力数据序列与触屏压力特征不匹配。
[0162] 第二特征获取模块850用于:确定用户交互行为序列中涉及的交互控件在客户端界面中所处的操作区域,以得到m个目标操作区域,其中,其中,m为大于或等于1的整数;以及获取m个第二触屏压力特征,其中,每个第二触屏压力特征为通过对登陆用户在每个目标操作区域中的触屏压力数据进行处理得到的,其中,触屏压力特征包括m个第二触屏压力特征。
[0163] 在一个实施例中,第二特征获取模块850可以执行前文介绍的操作S501~操作S503。相应地,用户习惯匹配模块830还可以用于:将触屏压力数据序列中的触屏压力数据按照所操作的交互控件所处的操作区域进行分组,得到m个第二触屏压力子序列,其中,每个第二触屏压力子序列与一个目标操作区域对应;将与同一个目标操作区域对应的第二触屏压力子序列和第二触屏压力特征进行匹配;以及当m个第二触屏压力子序列均匹配成功时,确定触屏压力数据序列与触屏压力特征匹配,否则,确定触屏压力数据序列与触屏压力特征不匹配。
[0164] 第三特征获取模块860用于:将用户交互行为序列中涉及的交互控件按照目标操作区域分成m组,得到m个交互控件组;获取每个交互控件组中的交互控件的类型,得到每个目标操作区域中涉及的r个第二控件类型,其中,r为大于或等于1的整数;对于每个目标操作区域,获取与目标操作区域中涉及的r个第二控件类型对应的r个第三触屏压力特征,其中,每个第三触屏压力特征为通过对登陆用户在目标操作区域中触摸操作每个第二控件类型中的交互控件而产生的触屏压力数据进行处理得到的,其中,与同一个目标操作区域对应的r个第三触屏压力特征组成一个第二触屏压力特征。
[0165] 在一个实施例中,第三特征获取模块860可以执行前文介绍的操作S601~操作S605。相应地用户习惯匹配模块830还可以用于:将与同一个目标操作区域对应的第二触屏压力子序列和第二触屏压力特征进行匹配,其中,在匹配每个第二触屏压力子序列时,将对应于相同的第二控件类型的触屏压力数据与第三触屏压力特征数据进行匹配。
[0166] 根据本公开的实施例,异常检测模块810、黑产排查模块820、用户习惯匹配模块830、第一特征获取模块840、第二特征获取模块850和第三特征获取模块860中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,异常检测模块810、黑产排查模块820、用户习惯匹配模块830、第一特征获取模块840、第二特征获取模块850和第三特征获取模块860中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,异常检测模块
810、黑产排查模块820、用户习惯匹配模块830、第一特征获取模块840、第二特征获取模块
850和第三特征获取模块860中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0167] 图9示意性示出了适于实现根据本公开实施例的基于触屏压力分析的身份认证方法的电子设备的方框图。
[0168] 如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0169] 在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、ROM 902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0170] 根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
[0171] 本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0172] 根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
[0173] 本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
[0174] 在该计算机程序被处理器901执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0175] 在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0176] 在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0177] 根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0178] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0179] 本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0180] 以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

当前第1页 第1页 第2页 第3页
相关技术
压力分析相关技术
屏压力相关技术
娄潇发明人的其他相关专利技术