CN112717417A - 一种人机识别方法及装置 - Google Patents
一种人机识别方法及装置 Download PDFInfo
- Publication number
- CN112717417A CN112717417A CN202011624265.0A CN202011624265A CN112717417A CN 112717417 A CN112717417 A CN 112717417A CN 202011624265 A CN202011624265 A CN 202011624265A CN 112717417 A CN112717417 A CN 112717417A
- Authority
- CN
- China
- Prior art keywords
- operator
- game
- terminal equipment
- verification
- dynamic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/532—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种人机识别方法,包括:终端设备根据来自服务器的验证消息阻断操作者的当前操作,或者,根据特定操作行为的发生阻断操作者的当前操作;向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行;根据操作者对游戏的执行结果识别操作者类型。本发明采用主动的阻断可疑用户在客户端或网页环境的操作的技术手段,结合移动设备上集成的各类传感器,此类操作模拟成本极高,所以达到了最大程度保证了只有产生真人行为才能通过的技术效果。
Description
技术领域
本发明涉及互联网应用的人机识别技术领域,具体涉及一种人机识别方法及装置。
背景技术
人机识别***有助于保护用户免受垃圾邮件和密码解密的干扰,该***会要求用户完成一个简单的测试,以证明是人的行为,而不是一台试图攻入受密码保护的帐户的计算机。
目前市面上的客户端软件或网页,都使用各类验证码的方式来识别正常用户还是机器用户,防止机器在客户端或网页上的作弊行为,这种方式在用户产生行为后被动触发,弹出“文本”,“滑块”等各种样式的验证码,用户在做出对应的正确回应后,才能继续进行后续操作,最终完成整个业务流程。因此,现有技术的人机识别只能被动触发,当我们通过数据的分析和挖掘筛选出可疑用户时,无法主动的阻断可疑用户在客户端或网页环境的操作。
然后,现有的“文本”,“滑块”等样式的验证码,模式固定,易于破解,利用各类“打码平台”或者暴力破解客户端之后很容易能通过或者绕过这类验证码,并不能像期望的那样需要真人的行为才能通过验证,因此识别作弊用户、保护客户端或网页的效果十分有限。
在实现本发明过程中,申请人发现现有技术中至少存在如下问题:人机识别技术存在触发模式固定,易于破解的问题。
发明内容
本发明实施例需要解决人机识别技术触发模式固定、易于破解的问题。
为达上述目的,一方面,本发明实施例提供了一种人机识别方法,包括如下步骤:
终端设备根据来自服务器的验证消息阻断操作者的当前操作,或者,根据特定操作行为的发生阻断操作者的当前操作;
向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行;
根据操作者对游戏的执行结果识别操作者类型,若所述执行结果为通过,则将操作者类型识别为人;若所述执行结果为未通过,则将操作者类型识别为机器,并通过请求得到的数据上报的加密方式向服务器上报识别出的操作者类型。
另一方面,本发明实施例提供了一种人机识别方法,包括如下步骤:
服务器通过实时消息通道向满足主动触发验证策略的终端设备推送验证消息,所述验证消息用于阻断终端设备上操作者的当前操作;
接收终端设备发送的动态混淆关键业务代码的请求,根据所述请求生成动态混淆关键业务代码并返回给终端设备,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
接收终端设备根据所述动态混淆关键业务代码识别并上报的操作者类型。
再一方面,本发明实施例提供了一种人机识别装置,包括:
触发单元,终端设备根据来自服务器的验证消息阻断操作者的当前操作,或者,根据特定操作行为的发生阻断操作者的当前操作;
请求动态混淆单元,向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
游戏选择单元,用于获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行;
人机识别单元,用于根据操作者对游戏的执行结果识别操作者类型,若所述执行结果为通过,则将操作者类型识别为人;若所述执行结果为未通过,则将操作者类型识别为机器,并通过请求得到的数据上报的加密方式向服务器上报识别出的操作者类型。
再一方面,本发明实施例提供了一种人机识别装置,包括:
主动阻断单元,用于通过实时消息通道向终端设备推送验证消息阻断终端设备上操作者的当前操作;
动态混淆代码生成单元,用于接收终端设备发送的动态混淆关键业务代码的请求,根据所述请求生成动态混淆关键业务代码并返回给终端设备,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
接收识别结果单元,用于接收终端设备根据所述动态混淆关键业务代码识别并上报的操作者类型。
上述技术方案具有如下有益效果:通过数据的分析和挖掘筛选出可疑用户时,本发明因为采用主动的阻断可疑用户在客户端或网页环境的操作的技术手段,结合移动设备上集成的各类传感器,利用物理特性驱动的小游戏来进行游戏验证,只有对设备进行按压、翻转、倾斜等各种物理操作,传感器产生的数据才能使得游戏验证完成,游戏验证结果依赖传感器的返回数据,此类操作模拟成本极高,所以达到了最大程度保证了只有产生真人行为才能通过的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种人机识别方法的第一种实施方式流程图;
图2为本发明实施例提供的一种人机识别方法的第二种实施方式流程图;
图3为本发明实施例提供的一种人机识别装置的第一种实施方式结构示意图;
图4为本发明实施例提供的一种人机识别装置的第二种实施方式结构示意图;
图5为本发明应用实例的一种人机识别方法的流程图;
图6为本发明应用实例的一种人机识别方法的服务器端与客户端交互流程图;
图7为本发明应用实例的一种人机识别方法的服务器端发出主动验证指令的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,提供了一种人机识别方法,如图1所示,包括以下步骤:
S201:终端设备根据来自服务器的验证消息阻断操作者的当前操作,或者,根据特定操作行为的发生阻断操作者的当前操作;
S202:向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
S203:获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行;
S204:根据操作者对游戏的执行结果识别操作者类型,若所述执行结果为通过,则将操作者类型识别为人;若所述执行结果为未通过,则将操作者类型识别为机器,并通过请求得到的数据上报的加密方式向服务器上报识别出的操作者类型。
在S201中,图1所示,终端设备根据来自服务器的验证消息阻断操作者的当前操作(主动触发验证),或者,根据特定操作行为的发生阻断操作者的当前操作(被动触发验证)。服务器发出主动验证指令(验证消息),即,主动触发验证逻辑,是后台(服务器)通过消息通道主动向客户端或网页(终端设备)推送消息阻断当前环境的操作,由后台自动发出或者由业务相关人员手动发出主动验证指令,触发验证逻辑。进一步的,被动触发验证逻辑是,例如在“投票”、“点赞”、“评论”等场景下,需要验证用户是否为作弊用户时,用户某些行为产生后被动触发验证逻辑,即,用户触发的验证。图5所示的用户某些行为可以为点击投票按钮、点击评论按钮、点击登录按钮、点击点赞按钮等。
在S202中,如图6所示,终端设备向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式。
终端设备向服务器请求动态混淆关键业务代码,由后台(服务器)生成动态混淆关键业务代码,该段业务代码包含游戏相关逻辑以及数据上报时的加密方式。该段业务代码为难以阅读的代码,是一段混淆加密后的可以正常执行的js代码。客户端或网页向服务器请求动态混淆关键业务代码。
加密所包含的加密方法与相关加密所需要的secret每次获取时都会动态变化,服务器会随机选择要使用的加密方法然后生成所需的secret,服务器记录下当次使用的加密方法和secret与当前用户的对应关系,在拿到上报数据后取用该用户对应的加密方式验证数据。这种情况下,即使本次的加密被破解,也只会影响本次的数据上报,不会影响整体的验证效果。
混淆代码通过后台配置crontab,每间隔一段时间,定时通过javascript-obfuscator代码混淆库进行混淆,生成打底代码,并通过etcd等分布式key-value存储实时更新到线上服务器,然后,在真正有业务请求时,决定了具体的加密方式后,将加密所需的参数写入打底代码中,这样就生成了完整的混淆代码,可以防止暴力破解。
代码实现上不断接收传感器数据的输入,判断游戏是否通过,如果通过,则进行数据上报获取验证使用的token,如果不通过,则无法继续后续的业务行为,后续的业务行为包括:投票、点赞、评论、登录等。
混淆后代码极差的可读性,加上这样不断变化线上数据的方式,大大提高了破解难度。
在S203中,获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行。
所述传感器类型包括:重力传感器、加速度传感器、方向传感器或陀螺仪;
当所述传感器类型为重力传感器时,选择的游戏为点击或按压类操作游戏;当所述传感器类型为加速度传感器、方向传感器或陀螺仪时,选择的游戏为倾斜或翻转类操作游戏。
在S204中,根据操作者对游戏的执行结果识别操作者类型,若所述执行结果为通过,则将操作者类型识别为人;若所述执行结果为未通过,则将操作者类型识别为机器,并通过请求得到的数据上报的加密方式向服务器上报识别出的操作者类型。
执行所述游戏,得到执行结果,所述执行结果为通过或不通过。目前可使用的传感器及游戏,例如:利用重力传感器,“flappy bird”游戏,点击屏幕使小鸟停留在空中不落地,通过n个卡口后,完成游戏。利用加速度传感器,方向传感器或者陀螺仪:“小球迷宫”游戏,通过倾斜设备,使小球通过迷宫进洞,完成游戏。
游戏成功完成后,通过所述数据上报时的加密方式加密数据,上报游戏成功的结果,同时获取与当前用户绑定token。利用token校验验证结果,获取token后,后续行为中可以使用该token来校验验证是否通过,该token有有效期,当有效期失效后需要重新进行验证获取。
游戏验证结果依赖传感器的返回数据,此类操作模拟成本极高,最大程度保证了只有产生真人行为才能通过,即,利用设备传感器,强制产生真人行为,提高防作弊可靠性,可以有极大的把握使用该设备的用户是人而不是机器。
上述终端设备可以是移动端设备或PC端设备。
再者,对于极少量的确没有任何传感器的设备,通过人工客服反馈的方式在确认该设备的确没有任何可用的传感器后,为对应设备添加白名单,后续可以跳过游戏验证。用户进行了“人工反馈”,也证明了使用该设备的用户不是机器。
游戏验证结果依赖传感器的返回数据,此类操作模拟成本极高,最大程度保证了只有产生真人行为才能通过,即,利用设备传感器,强制产生真人行为,提高防作弊可靠性,可以有极大的把握使用该设备的用户是人而不是机器。
本发明结合移动设备上集成的各类传感器,通过利用物理特性驱动的小游戏来进行验证,最大程度保证了只有产生真人行为才能通过;对于业务关键逻辑进行动态混淆加密,防止暴力破解;利用实时消息通道,推送消息主动阻断可疑用户在客户端或网页上的操作。
在本发明实施例中,如图2,还提供了一种人机识别方法,包括:
S301:服务器通过实时消息通道向满足主动触发验证策略的终端设备推送验证消息,所述验证消息用于阻断终端设备上操作者的当前操作;
如图7所示,服务器通过消息通道主动向客户端或网页推送消息阻断客户端当前环境的操作,自动发出或者由业务相关人员手动发出主动验证指令,触发验证逻辑。
S302:接收终端设备发送的动态混淆关键业务代码的请求,根据所述请求生成动态混淆关键业务代码并返回给终端设备,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
所述加密方式包括加密方法以及相关加密所需的secret;
所述根据所述请求生成动态混淆关键业务代码包括:
服务器通过配置命令每间隔设定时间段对原始业务代码进行代码混淆生成打底代码,并将生成的打底代码实时更新存储到服务器,所述原始业务代码包括游戏验证逻辑;在服务器接收到终端设备发送的动态混淆关键业务代码的请求时,随机选择加密方法并生成相关加密所需的secret,并将本次请求对应的加密方式加入到当前存储的打底代码中生成所述动态混淆关键业务代码。
S303:接收终端设备根据所述动态混淆关键业务代码识别并上报的操作者类型。
动态混淆关键业务代码包含游戏相关逻辑以及数据上报时的加密方式。该段业务代码为难以阅读的代码,是一段混淆加密后的可以正常执行的js代码。
在服务器根据所述请求生成动态混淆关键业务代码的过程中,随机选择加密方法并生成相关加密所需的secret之后,记录本次数据上报的加密方式与终端设备的对应关系;以及在服务器接收到终端设备上报的操作者类型时,根据记录的对应关系确定本次数据上报的加密方式,对终端设备上报的操作者类型进行数据验证。
加密所包含的加密方法与相关加密所需要的secret每次获取时都会动态变化,服务器会随机选择要使用的加密方法然后生成所需的secret,记录下当次使用的加密方法和secret与当前用户的对应关系,在拿到上报数据后取用该用户对应的加密方式验证数据。这种情况下,即使本次的加密被破解,也只会影响本次的数据上报,不会影响整体的验证效果。
游戏成功完成后,接收客户端上报的识别结果,验证上报的结果,返回给客户端当前用户绑定的token。
在本发明实施例中,如图3,提供了一种人机识别装置,其包括:
触发单元101,终端设备根据来自服务器的验证消息阻断操作者的当前操作,或者,根据特定操作行为的发生阻断操作者的当前操作;
请求动态混淆单元102,向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
游戏选择单元103,用于获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行;
人机识别单元104,用于根据操作者对游戏的执行结果识别操作者类型,若所述执行结果为通过,则将操作者类型识别为人;若所述执行结果为未通过,则将操作者类型识别为机器,并通过请求得到的数据上报的加密方式向服务器上报识别出的操作者类型。
该人机识别装置的工作方法与原理已在人机识别方法实施例中详述,故在此不再赘述。
在本发明实施例中,如图4,还提供了一种人机识别装置,其包括:
主动阻断单元201,用于通过实时消息通道向终端设备推送验证消息阻断终端设备上操作者的当前操作;
动态混淆代码生成单元202,用于接收终端设备发送的动态混淆关键业务代码的请求,根据所述请求生成动态混淆关键业务代码并返回给终端设备,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
接收识别结果单元203,用于接收终端设备根据所述动态混淆关键业务代码识别并上报的操作者类型。
还包括:
分析日志单元,用于接收所有终端设备发送的用户日志数据,分析接收到的用户日志数据,筛选出异常用户日志数据;
发送验证消息单元,用于根据筛选出的异常用户日志数据向相应的终端设备推送所述验证消息。
所述加密方式包括加密方法以及相关加密所需的secret;
所述动态混淆代码生成单元,包括:
代码混淆子单元,用于通过配置命令每间隔设定时间段对原始业务代码进行代码混淆生成打底代码,并将生成的打底代码实时更新存储到服务器,所述原始业务代码包括游戏验证逻辑;
动态生成子单元,用于在接收到终端设备发送的动态混淆关键业务代码的请求时,随机选择加密方法并生成相关加密所需的secret,并将本次请求对应的加密方式加入到当前存储的打底代码中生成所述动态混淆关键业务代码。
在服务器接收到终端设备的动态混淆关键业务代码的请求时,随机选择加密方法并生成相关加密所需的secret,并记录本次数据上报的加密方式与终端设备的对应关系;
在服务器接收到终端设备上报的操作者类型时,根据记录的对应关系确定本次数据上报的加密方式,对终端设备上报的操作者类型进行数据验证。
所述动态混淆关键业务代码通过服务器配置crontab,定时通过javascript-obfuscator代码混淆库进行混淆,生成打底代码,并存储实时更新到线上服务器。
所述动态生成子单元,还用于在随机选择加密方法并生成相关加密所需的secret之后,记录本次数据上报的加密方式与终端设备的对应关系;
所述接收识别结果单元,还用于在接收到终端设备上报的操作者类型时,根据所述动态生成子单元记录的对应关系确定本次数据上报的加密方式,对终端设备上报的操作者类型进行数据验证。
该人机识别装置的工作方法与原理已在人机识别方法实施例中详述,故在此不再赘述。
游戏验证结果依赖传感器的返回数据,此类操作模拟成本极高,最大程度保证了只有产生真人行为才能通过,即,利用设备传感器,强制产生真人行为,提高防作弊可靠性,可以有极大的把握使用该设备的用户是人而不是机器。上述设备可以是移动端设备或PC端设备。
再者,对于极少量的确没有任何传感器的设备,通过人工客服反馈的方式在确认该设备的确没有任何可用的传感器后,为对应设备添加白名单,后续可以跳过游戏验证。用户进行了“人工反馈”,也证明了使用该设备的用户不是机器。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
实施例1:
处理app日常产生的日志时,发现某些特定的设备或用户,他们只固定的访问一个页面,或者短时间内访问的频次过高,这种用户判定为异常用户,当异常用户在浏览feed流时,通过消息通道,由后台自动发出或者由业务相关人员手动发出主动验证指令,app后台接收到指令,无需用户产生触发验证的行为,直接弹出游戏验证,阻断用户当前行为,由前台网页或者客户端获取客户端或网页浏览器所在设备上的传感器,例如,传感器为重力传感器时,进行“flappy bird”游戏验证,用户(人)点击屏幕,使小鸟停留在空中不落地,通过n个卡口后,完成游戏。在验证通过之后才能继续后面的业务流程,未通过游戏验证则无法继续后面的业务流程。因为游戏需要使用传感器,而模拟器模拟传感器的成本非常高,这样只要能够完成游戏,我们可以有极大的把握使用该设备的用户是人而不是机器。
实施例2:
在移动客户端进行投票项目时,例如“明星影响力榜”,有刷票公司通过模拟器来进行刷票,进而提升榜单中某些选项的排名,在利用模拟器点击“投票”进行刷票时,就会发出被动验证指令,后台接收到验证指令,进行游戏验证,获取客户端或网页浏览器所在设备上的传感器,例如,所述传感器为加速度传感器、方向传感器、陀螺仪时,进行“小球迷宫”游戏验证,用户通过倾斜设备,使小球通过迷宫进洞,完成游戏。用户在验证通过之后才能继续后面的业务流程,因为游戏需要使用传感器,而模拟器模拟传感器的成本非常高,这样只要能够完成游戏,我们可以有极大的把握使用该设备的用户是人而不是机器,有效的阻止了刷票提升票数的行为。
实施例3:
处理app日常产生的日志时,发现某些特定的设备或用户,他们只固定的访问一个页面,或者短时间内访问的频次过高,这种用户判定为异常用户,当异常用户在浏览feed流时,主动触发验证模块通过消息通道,由后台自动发出或者由业务相关人员手动发出主动验证指令,动态混淆关键业务代码生成模块接收到所述主动验证指令,生成动态混淆的关键业务代码;游戏验证模块获取所述动态混淆的关键业务代码,无需用户产生触发验证的行为,呼起游戏验证,阻断用户当前行为,由前台网页或者客户端获取客户端或网页浏览器所在设备上的传感器,例如,传感器为重力传感器时,进行“flappy bird”游戏验证,用户(人)点击屏幕,使小鸟停留在空中不落地,通过n个卡口后,完成游戏。在验证通过之后才能继续后面的业务流程,未通过游戏验证则无法继续后面的业务流程。因为游戏需要使用传感器,而模拟器模拟传感器的成本非常高,这样只要能够完成游戏,我们可以有极大的把握使用该设备的用户是人而不是机器。
实施例4:
1、整体流程
主动触发验证逻辑或者被动触发验证逻辑,首先获取动态混淆的关键业务代码,之后呼起游戏,在用户完成游戏后,上报游戏完成信息,分配token给当前用户,后续用户行为可以通过该token校验是否已通过验证。
2、主动触发验证逻辑
通过消息通道主动向客户端或网页推送消息阻断客户端当前环境的任何操作,触发验证逻辑。
3、被动触发验证逻辑
在例如“投票”“点赞”“评论”等某些场景下,需要验证用户是否为作弊用户时,具体行为产生后被动触发验证逻辑
4、动态混淆的关键业务代码的生成与实现
该段业务代码包含游戏相关逻辑以及数据上报时的加密方式。
代码实现上不断接收传感器数据的输入,判断游戏是否通过,如果通过,则进行数据上报获取验证使用的token,如果不通过,则无法继续后续的业务行为。
加密所包含的加密方法与相关加密所需要的secret每次获取时都会动态变化,服务器随机选择要使用的加密方法然后生成所需的secret,记录下当次使用的加密方法和secret与当前用户的对应关系,在拿到上报数据后取用该用户对应的加密方式验证数据。这种情况下,即使本次的加密被破解,也只会影响本次的数据上报,不会影响整体的验证效果。
混淆代码通过后台(服务器)配置crontab,每间隔一段时间,定时通过javascript-obfuscator代码混淆库进行混淆,生成打底代码,并通过etcd等分布式key-value存储实时更新到线上服务器,然后,在真正有业务请求时,决定了具体的加密方式后,将加密所需的参数写入打底代码中,这样就生成了完整的混淆代码。
混淆后代码极差的可读性,加上这样不断变化线上数据的方式,大大提高了破解难度。
5、游戏模块
在现代移动设备上,绝大多数包含一种或一种以上的传感器,游戏模块中,我们首先获取客户端或网页浏览器所在设备上的传感器,针对于可使用的传感器,使用不同的游戏验证。
目前可使用的传感器及游戏:
a)重力传感器:“flappy bird”游戏,点击屏幕使小鸟停留在空中不落地,通过n个卡口后,完成游戏。
b)加速度传感器,方向传感器,陀螺仪:“小球迷宫”游戏,通过倾斜设备,使小球通过迷宫进洞,完成游戏。
因为游戏需要使用传感器,而模拟器模拟传感器的成本非常高,这样只要能够完成游戏,我们可以有极大的把握使用该设备的用户是人而不是机器。
再者,对于极少量的确没有任何传感器的设备,通过人工客服反馈的方式在确认该设备的确没有任何可用的传感器后,为对应设备添加白名单,后续可以跳过游戏验证。用户进行了“人工反馈”,也证明了使用该设备的用户不是机器。
6、游戏结果上报与token获取
游戏成功完成后,通过4中提及的数据上报时的加密方式加密数据,上报游戏成功的结果,同时获取与当前用户绑定token。
7、利用token校验验证结果
获取token后,后续行为中可以使用该token来校验验证是否通过,该token有有效期,当有效期失效后需要重新进行验证获取。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个***的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种人机识别方法,其特征在于,包括如下步骤:
终端设备根据来自服务器的验证消息阻断操作者的当前操作,或者,根据特定操作行为的发生阻断操作者的当前操作;
向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行;
根据操作者对游戏的执行结果识别操作者类型,若所述执行结果为通过,则将操作者类型识别为人;若所述执行结果为未通过,则将操作者类型识别为机器,并通过请求得到的数据上报的加密方式向服务器上报识别出的操作者类型。
2.根据权利要求1所述的一种人机识别方法,其特征在于,所述传感器类型包括:重力传感器、加速度传感器、方向传感器或陀螺仪;
当所述传感器类型为重力传感器时,选择的游戏为点击或按压类操作游戏;当所述传感器类型为加速度传感器、方向传感器或陀螺仪时,选择的游戏为倾斜或翻转类操作游戏。
3.一种人机识别方法,其特征在于,包括如下步骤:
服务器通过实时消息通道向满足主动触发验证策略的终端设备推送验证消息,所述验证消息用于阻断终端设备上操作者的当前操作;
接收终端设备发送的动态混淆关键业务代码的请求,根据所述请求生成动态混淆关键业务代码并返回给终端设备,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
接收终端设备根据所述动态混淆关键业务代码识别并上报的操作者类型。
4.根据权利要求3所述的一种人机识别方法,其特征在于,所述通过实时消息通道向满足主动触发验证策略的终端设备推送验证消息之前,还包括:
接收所有终端设备发送的用户日志数据,分析接收到的用户日志数据,筛选出异常用户日志数据;
根据筛选出的异常用户日志数据确定相应的终端设备满足主动触发验证策略。
5.根据权利要求3所述的一种人机识别方法,其特征在于,所述加密方式包括加密方法以及相关加密所需的secret;
所述根据所述请求生成动态混淆关键业务代码,包括:
服务器通过配置命令每间隔设定时间段对原始业务代码进行代码混淆生成打底代码,并将生成的打底代码实时更新存储,所述原始业务代码包括游戏验证逻辑;
在服务器接收到终端设备发送的动态混淆关键业务代码的请求时,随机选择加密方法并生成相关加密所需的secret,并将本次请求对应的加密方式加入到当前存储的打底代码中生成所述动态混淆关键业务代码。
6.根据权利要求5所述的一种人机识别方法,其特征在于,还包括:
在服务器根据所述请求生成动态混淆关键业务代码的过程中,随机选择加密方法并生成相关加密所需的secret之后,记录本次数据上报的加密方式与终端设备的对应关系;以及
在服务器接收到终端设备上报的操作者类型时,根据记录的对应关系确定本次数据上报的加密方式,对终端设备上报的操作者类型进行数据验证。
7.一种人机识别装置,其特征在于,包括:
触发单元,终端设备根据来自服务器的验证消息阻断操作者的当前操作,或者,根据特定操作行为的发生阻断操作者的当前操作;
请求动态混淆单元,向服务器请求动态混淆关键业务代码,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
游戏选择单元,用于获取本终端设备上的传感器类型,根据请求得到的游戏验证逻辑选择与所述传感器类型相匹配的游戏供操作者执行;
人机识别单元,用于根据操作者对游戏的执行结果识别操作者类型,若所述执行结果为通过,则将操作者类型识别为人;若所述执行结果为未通过,则将操作者类型识别为机器,并通过请求得到的数据上报的加密方式向服务器上报识别出的操作者类型。
8.根据权利要求7所述的一种人机识别装置,其特征在于,所述传感器类型包括:重力传感器、加速度传感器、方向传感器或陀螺仪;
当所述传感器类型为重力传感器时,选择的游戏为点击或按压类操作游戏;当所述传感器类型为加速度传感器、方向传感器或陀螺仪时,选择的游戏为倾斜或翻转类操作游戏。
9.一种人机识别装置,其特征在于,包括:
主动阻断单元,用于通过实时消息通道向终端设备推送验证消息阻断终端设备上操作者的当前操作;
动态混淆代码生成单元,用于接收终端设备发送的动态混淆关键业务代码的请求,根据所述请求生成动态混淆关键业务代码并返回给终端设备,所述动态混淆关键业务代码包括游戏验证逻辑和数据上报的加密方式;
接收识别结果单元,用于接收终端设备根据所述动态混淆关键业务代码识别并上报的操作者类型。
10.根据权利要求9所述的一种人机识别装置,其特征在于,还包括:
分析日志单元,用于接收所有终端设备发送的用户日志数据,分析接收到的用户日志数据,筛选出异常用户日志数据;
发送验证消息单元,用于根据筛选出的异常用户日志数据向相应的终端设备推送所述验证消息。
11.根据权利要求9所述的一种人机识别装置,其特征在于,所述加密方式包括加密方法以及相关加密所需的secret;
所述动态混淆代码生成单元,包括:
代码混淆子单元,用于通过配置命令每间隔设定时间段对原始业务代码进行代码混淆生成打底代码,并将生成的打底代码实时更新存储,所述原始业务代码包括游戏验证逻辑;
动态生成子单元,用于在接收到终端设备发送的动态混淆关键业务代码的请求时,随机选择加密方法并生成相关加密所需的secret,并将本次请求对应的加密方式加入到当前存储的打底代码中生成所述动态混淆关键业务代码。
12.根据权利要求9所述的一种人机识别装置,其特征在于,
所述动态生成子单元,还用于在随机选择加密方法并生成相关加密所需的secret之后,记录本次数据上报的加密方式与终端设备的对应关系;
所述接收识别结果单元,还用于在接收到终端设备上报的操作者类型时,根据所述动态生成子单元记录的对应关系确定本次数据上报的加密方式,对终端设备上报的操作者类型进行数据验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011624265.0A CN112717417A (zh) | 2020-12-31 | 2020-12-31 | 一种人机识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011624265.0A CN112717417A (zh) | 2020-12-31 | 2020-12-31 | 一种人机识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112717417A true CN112717417A (zh) | 2021-04-30 |
Family
ID=75609626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011624265.0A Pending CN112717417A (zh) | 2020-12-31 | 2020-12-31 | 一种人机识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112717417A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113413590A (zh) * | 2021-06-23 | 2021-09-21 | 网易(杭州)网络有限公司 | 一种信息验证方法、装置、计算机设备及存储介质 |
CN113434838A (zh) * | 2021-06-25 | 2021-09-24 | 江苏三六五网络股份有限公司 | 一种基于js交互行为的人机验证检测方法 |
WO2024093419A1 (zh) * | 2022-11-04 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种游戏数据校验方法、装置、设备、计算机可读存储介质和计算机程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579658A (zh) * | 2013-10-15 | 2015-04-29 | 深圳市腾讯计算机***有限公司 | 一种身份验证方法和装置 |
CN105187429A (zh) * | 2015-09-15 | 2015-12-23 | 新浪网技术(中国)有限公司 | 基于ascii码的字符二维码终端登陆方法、装置及*** |
CN105227316A (zh) * | 2015-09-01 | 2016-01-06 | 深圳市创想一登科技有限公司 | 基于人脸图像身份验证的移动互联网账号登录***及方法 |
CN105337940A (zh) * | 2014-08-04 | 2016-02-17 | 优视科技有限公司 | 一种页面验证方法、客户端、服务器和*** |
CN108462700A (zh) * | 2018-02-10 | 2018-08-28 | 中电金融设备***(深圳)有限公司 | 后台服务器、终端设备、适用于人脸识别的安全预警方法及存储介质 |
CN109039990A (zh) * | 2017-06-08 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 基于验证码进行行为验证的方法及装置 |
CN111966223A (zh) * | 2020-08-17 | 2020-11-20 | 陈涛 | 非感知的mr眼镜人机识别方法、***、设备及存储介质 |
-
2020
- 2020-12-31 CN CN202011624265.0A patent/CN112717417A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579658A (zh) * | 2013-10-15 | 2015-04-29 | 深圳市腾讯计算机***有限公司 | 一种身份验证方法和装置 |
CN105337940A (zh) * | 2014-08-04 | 2016-02-17 | 优视科技有限公司 | 一种页面验证方法、客户端、服务器和*** |
CN105227316A (zh) * | 2015-09-01 | 2016-01-06 | 深圳市创想一登科技有限公司 | 基于人脸图像身份验证的移动互联网账号登录***及方法 |
CN105187429A (zh) * | 2015-09-15 | 2015-12-23 | 新浪网技术(中国)有限公司 | 基于ascii码的字符二维码终端登陆方法、装置及*** |
CN109039990A (zh) * | 2017-06-08 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 基于验证码进行行为验证的方法及装置 |
CN108462700A (zh) * | 2018-02-10 | 2018-08-28 | 中电金融设备***(深圳)有限公司 | 后台服务器、终端设备、适用于人脸识别的安全预警方法及存储介质 |
CN111966223A (zh) * | 2020-08-17 | 2020-11-20 | 陈涛 | 非感知的mr眼镜人机识别方法、***、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113413590A (zh) * | 2021-06-23 | 2021-09-21 | 网易(杭州)网络有限公司 | 一种信息验证方法、装置、计算机设备及存储介质 |
CN113434838A (zh) * | 2021-06-25 | 2021-09-24 | 江苏三六五网络股份有限公司 | 一种基于js交互行为的人机验证检测方法 |
CN113434838B (zh) * | 2021-06-25 | 2024-05-24 | 江苏三六五网络股份有限公司 | 一种基于js交互行为的人机验证检测方法 |
WO2024093419A1 (zh) * | 2022-11-04 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种游戏数据校验方法、装置、设备、计算机可读存储介质和计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839065B2 (en) | Systems and methods for assessing security risk | |
CN112717417A (zh) | 一种人机识别方法及装置 | |
US8881251B1 (en) | Electronic authentication using pictures and images | |
WO2017071551A1 (zh) | 一种防止恶意访问登录/注册接口的行为的方法和装置 | |
Lazar et al. | The SoundsRight CAPTCHA: an improved approach to audio human interaction proofs for blind users | |
US7908645B2 (en) | System and method for fraud monitoring, detection, and tiered user authentication | |
CN107689936B (zh) | 登录账户的安全性验证***、方法及装置 | |
CN109359972B (zh) | 核身产品推送及核身方法和*** | |
US20140157415A1 (en) | Information security analysis using game theory and simulation | |
KR101742900B1 (ko) | 제3자를 통한 임의의 애플리케이션으로의 안전한 자동 인증 액세스 | |
CN112187702A (zh) | 一种对客户端进行验证的方法和装置 | |
US10346623B1 (en) | Service defense techniques | |
JP2015115079A (ja) | 認証入力方法および装置 | |
CN103917979A (zh) | 利用游戏输入密码的方法及装置 | |
CN109829300A (zh) | App动态深度恶意行为检测装置、方法及*** | |
CN113918898A (zh) | 基于轨迹绘制交互的安全验证码生成方法、***及介质 | |
CN110730162B (zh) | 一种页面的验证方法、移动终端、可读存储介质 | |
EP3528152A1 (en) | Method and apparatus for user authentication | |
CN1963830A (zh) | 记录游戏事件的方法与装置、查看游戏事件的方法与*** | |
CN107920044A (zh) | 一种安全验证方法及装置 | |
Goicoechea-Telleria et al. | Attack potential evaluation in desktop and smartphone fingerprint sensors: can they be attacked by anyone? | |
EP3819797A1 (en) | Methods and systems for identifying and authorizing a user based on a mini-game login | |
JP4698502B2 (ja) | 携帯電話を利用した端末装置認証システム、認証方法およびそのプログラム | |
CN110245485A (zh) | 一种结合广告视频的验证***及其验证方法 | |
CN115238252A (zh) | 用户身份验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230417 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant after: Sina Technology (China) Co.,Ltd. Address before: 100193 7th floor, scientific research building, Sina headquarters, plot n-1, n-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant before: Sina.com Technology (China) Co.,Ltd. |