CN108650526B - 一种识别方法、计算机设备和存储介质 - Google Patents

一种识别方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN108650526B
CN108650526B CN201810477582.0A CN201810477582A CN108650526B CN 108650526 B CN108650526 B CN 108650526B CN 201810477582 A CN201810477582 A CN 201810477582A CN 108650526 B CN108650526 B CN 108650526B
Authority
CN
China
Prior art keywords
client
server
data
protocol
acquiring
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.)
Active
Application number
CN201810477582.0A
Other languages
English (en)
Other versions
CN108650526A (zh
Inventor
周志刚
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tunghsu Technology Group Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810477582.0A priority Critical patent/CN108650526B/zh
Publication of CN108650526A publication Critical patent/CN108650526A/zh
Application granted granted Critical
Publication of CN108650526B publication Critical patent/CN108650526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种识别方法、计算机设备和存储介质,该方法包括:客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;在所述客户端向所述服务器发送第一个弹幕协议之前,客户端根据所述上报策略收集数据;客户端使用第一共享密钥对所述数据进行加密;客户端向服务器发送加密后的数据,以使得服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别客户端的合法性。本发明可以在客户端向服务器发送第一个弹幕协议之前,通过对客户端向服务器上报的数据进行验证,从而识别客户端的合法性。

Description

一种识别方法、计算机设备和存储介质
技术领域
本发明属于计算机技术领域,尤其涉及一种识别方法、计算机设备和存储介质。
背景技术
目前,直播越来越受到大家的欢迎。而弹幕则是直播中非常好的互动方式。例如,主播在直播时,观众可以通过发送弹幕来发表评论,与主播进行互动。任何观众发送的弹幕在该直播间的所有用户都可以看到。
然而,有一些非法用户,利用弹幕能够被所有观众看到的特点,而不断的在直播平台通过发送弹幕来打广告,例如,通过建立一条与直播平台服务器的链接并且伪造弹幕协议来发送弹幕,甚至编写自动化脚本来刷弹幕。现有的做法是在直播平台服务器对弹幕内容进行过滤来识别非法弹幕,从而识别出发送非法弹幕的非法用户,并阻挡非法用户刷弹幕的行为。
可见,现有技术对于非法用户的识别是在识别到非法弹幕之后,存在不及时的问题。
发明内容
本申请实施例通过提供一种识别方法、计算机设备和存储介质,可以在客户端向服务器发送第一个弹幕协议之前,通过对客户端向服务器上报的数据进行验证,从而识别客户端的合法性,解决了现有技术中,对于非法用户的识别是在识别非法弹幕之后,存在不及时的问题。
第一方面,本申请提供了一种识别方法,其特征在于,所述方法应用于客户端,所述方法包括:
所述客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端使用第一共享密钥对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同。
可选的,所述在所述客户端中预埋的获取客户端数据的协议包括以下任一一种或多种:
获取所述客户端对所述服务器的请求记录的协议;
获取所述客户端的打点数据的协议;
获取所述客户端当前进程运行时的模块组件信息的协议。
可选的,所述上报策略包括指示所述客户端执行获取所述客户端对所述服务器的请求记录的协议,所述客户端根据所述上报策略收集数据包括:
所述客户端获取开屏广告的请求标记值、启动配置的请求标记值、直播间列表信息的请求标记值、直播间信息的请求标记值和视频播放地址的请求标记值,所述请求标记值用于标记所述客户端是否有向所述服务器发送所述请求标记值对应的请求。
可选的,所述客户端对所述数据进行加密包括:
所述客户端根据以下公式对所述数据进行打包:
Packdata=advertisement_Flag+config_flag+roomlist_flag+roominfo_flag+vidolink_flag;
其中,所述Packdata为打包的数据,所述advertisement_Flag为所述开屏广告的请求标记值,所述config_flag为所述启动配置的请求标记值,所述roomlist_flag为所述直播间列表信息的请求标记值,所述roominfo_flag为所述直播间信息的请求标记值,所述vidolink_flag为所述视频播放地址的请求标记值;
所述客户端根据以下公式对所述打包的数据进行加密:
encryptData=AES.Encrypt(Packdata+userid+token+timestamp,ShareKey);
其中,所述encryptData为加密后的数据,所述AES.Encrypt为加密算法接口,所述Packdata为所述打包的数据,所述userid为用户信息,所述token为所述客户端登录时,所述服务器向所述客户端下发的令牌,所述timestamp为当前时间戳,所述ShareKey为所述第一共享密钥。
可选的,在所述客户端使用第一共享密钥对所述数据进行加密之前,所述方法还包括:
所述客户端登录到所述服务器时,所述客户端根据非对称算法生成一对客户端密钥,所述一对客户端密钥包括第一公钥和第一私钥;
所述客户端向所述服务器发送所述第一公钥,以使得所述服务器根据所述第一公钥和第二私钥使用非对称算法生成所述第二共享密钥,所述第二私钥为所述服务器根据非对称算法为所述客户端生成的一对服务器密钥中的其中一个密钥;
所述客户端接收所述服务器发送的第二公钥,所述第二公钥为所述一对服务器密钥中的另一个密钥;
所述客户端根据所述第二公钥和所述第一私钥使用非对称算法生成所述第一共享密钥。
第二方面,本申请提供了一种识别方法,其特征在于,所述方法应用于服务器,所述方法包括:
所述服务器向客户端发送上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述服务器接收所述客户端发送的第一个弹幕协议之前,所述服务器接收所述客户端发送的加密后的数据,所述加密后的数据由所述客户端根据所述上报策略收集所述数据并使用第一共享密钥对所述数据加密后得到;
所述服务器使用第二共享密钥解密所述加密后的数据,所述第一共享密钥与所述第二共享密钥的值相同;
所述服务器验证解密后的数据,若验证通过,确定所述客户端合法。
可选的,所述在所述客户端预埋的获取客户端数据的协议包括以下任一一种或多种:
获取所述客户端对所述服务器的请求记录的协议;
获取所述客户端的打点数据的协议;
获取所述客户端当前进程运行时的模块组件信息的协议。
可选的,在所述服务器使用第二共享密钥解密所述加密后的数据之前,所述方法还包括:
所述客户端登录到所述服务器时,所述服务器根据非对称算法为所述客户端生成一对服务器密钥,所述一对服务器密钥包括第二公钥和第二私钥;
所述服务器向所述客户端发送所述第二公钥,以使得所述客户端根据所述第二公钥和第一私钥使用非对称算法生成所述第一共享密钥,所述第一私钥为所述客户端根据非对称算法生成的一对客户端密钥中的其中一个密钥;
所述服务器接收所述客户端设备发送的第一公钥,所述第一公钥为所述一对客户端密钥中的另一个密钥;
所述服务器根据所述第一公钥和所述第二私钥使用非对称算法生成所述第二共享密钥。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端使用第一共享密钥对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同。
第四方面,本申请提供了一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性。
可见,本申请通过客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;所述客户端使用第一共享密钥对所述数据进行加密;所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性。可以在客户端向服务器发送第一个弹幕协议之前,通过对客户端向服务器上报的数据进行验证,从而识别客户端的合法性,解决了现有技术中,对于非法用户的识别是在识别非法弹幕之后,存在不及时的问题。
附图说明
图1为本申请实施例中提供的一个识别方法的流程图;
图2为本申请实施例中提供的另一个识别方法的流程图;
图3为本申请实施例中提供的识别方法的交互图;
图4为本申请实施例中提供的一个计算机可读存储介质的结构示意图;
图5为本申请实施例中提供的另一个计算机可读存储介质的结构示意图;
图6为本申请实施例中提供的一个计算机设备的结构示意图;
图7为本申请实施例中提供的另一个计算机设备的结构示意图。
具体实施方式
本申请实施例提供了一种识别方法、计算机设备和存储介质,可以在客户端向服务器发送第一个弹幕协议之前,通过对客户端向服务器上报的数据进行验证,从而识别客户端的合法性,解决了现有技术中,对于非法用户的识别是在识别非法弹幕之后,存在不及时的问题。
为了更好的理解上述技术方案,以下结合附图以及具体实施例,对上述技术方案进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。同时,为了方便介绍本发明实施例中的技术方案,下文将基于客户端与服务器通过网络连接的架构进行描述,客户端包括但不限于手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、车载电脑、智能手表等设备,服务器可以是直播平台服务器等。可以理解的是,本申请实施例使用的函数名称或变量名称等,并不用于限定本申请,在一些其他可能的实现方式中,也可以使用其他命名方式。
实施例一:
请参阅图1,本实施例提供的一种识别方法应用于客户端,包括以下步骤:
S101、客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
S102、在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
S103、所述客户端使用第一共享密钥对所述数据进行加密;
S104、所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同。
可见,本申请通过客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;所述客户端使用第一共享密钥对所述数据进行加密;所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性。可以在客户端向服务器发送第一个弹幕协议之前,通过客户端向服务器上报数据,从而由服务器进行验证,并识别客户端的合法性,解决了现有技术中,对于非法用户的识别是在识别非法弹幕之后,存在不及时的问题。
以上是基于客户端的识别方法,基于同一发明构思,本申请提供了另一种识别方法,该方法应用于服务器,详见图2,下面将结合图2对实施例二进行介绍。
实施例二:
请参阅图2,本实施例提供的一种识别方法应用于服务器,包括以下步骤:
S201、服务器向客户端发送上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
S202、在所述服务器接收所述客户端发送的第一个弹幕协议之前,所述服务器接收所述客户端发送的加密后的数据,所述加密后的数据由所述客户端根据所述上报策略收集所述数据并使用第一共享密钥对所述数据加密后得到;
S203、所述服务器使用第二共享密钥解密所述加密后的数据,所述第一共享密钥与所述第二共享密钥的值相同;
S204、所述服务器验证解密后的数据,若验证通过,确定所述客户端合法。
可见,本申请通过服务器向客户端发送上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;在所述服务器接收所述客户端发送的第一个弹幕协议之前,所述服务器接收所述客户端发送的加密后的数据,所述加密后的数据由所述客户端根据所述上报策略收集所述数据并使用第一共享密钥对所述数据加密后得到;所述服务器使用第二共享密钥解密所述加密后的数据,所述第一共享密钥与所述第二共享密钥的值相同;所述服务器验证解密后的数据,若验证通过,确定所述客户端合法。可以在服务器接收客户端发送的第一个弹幕协议之前,接收客户端上报的数据并识别客户端的合法性,解决了现有技术中,对于非法用户的识别是在识别非法弹幕之后,存在不及时的问题。
以上是基于服务器的识别方法,基于同一发明构思,以下将从客户端与服务器交互的角度进行详细说明,详见图3,下面将结合图3对实施例三进行介绍。
实施例三:
请参阅图3,本实施例提供的一种识别方法,包括以下步骤:
S301、客户端接收服务器发送的上报策略;
相应的,服务器向客户端发送上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议。
非法客户端一般是通过破解网络协议向服务器发送大量的弹幕协议,而合法的客户端在向服务器发送弹幕协议之前,跟服务器之间有许多交互的信息,根据这个特点,可以在客户端预埋获取客户端数据的协议,从而服务器可以获取客户端上传的数据来验证客户端的合法性,而非法客户端是不会上报这些数据的,或者上报的是异常数据。
在所述客户端预埋的获取客户端数据的协议包括以下任一一种或多种:获取所述客户端对所述服务器的请求记录的协议;获取所述客户端的打点数据的协议;获取所述客户端当前进程运行时的模块组件信息的协议。
服务器可以根据具体的情况设计上报策略,来指示客户端执行预埋的获取客户端数据的协议,例如对于作弊嫌疑大的客户端指示其执行多种获取客户端数据的协议,对于作弊嫌疑小的客户端只要求执行其中的某一种获取客户端数据的协议,另外,对于一些VIP用户,例如主播或者房管超管等用户则可以不进行识别,对于不需要识别的客户端,可以不发送上报策略,或者上报策略指示客户端不需要执行获取客户端数据的协议,此处不做太多限定。
S302、客户端根据所述上报策略收集数据;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据。根据上报策略要求执行的获取客户端数据的协议的不同,收集数据的过程也不相同,以下将按照协议的不同分别进行介绍。
(1)获取客户端数据的协议为获取所述客户端对所述服务器的请求记录的协议,则客户端收集数据具体包括:
当客户端登录到服务器后,客户端会不断的向服务器请求用户的个人信息,直播的信息等。例如首先会请求广告信息,其中则包括广告的图片信息,展示时间等等。然后会请求客户端启动的配置清单信息,其中配置清单则包括客户端的一些配置参数,用于客户端的各个功能模块中,如客户端播放视频时使用硬件解码还是软件解码,客户端展示弹幕时,1秒钟内显示的最大弹幕数量。客户端广告展示完成后,则会请求直播间的列表信息,包括列表中的所有直播间封面,直播间的名称,排序等等。那么一个合法的客户端在给服务器发送第一个弹幕协议之前,一定会请求服务器这些数据的接口,而虚假客户端则不会请求这些接口,而是直接登录服务器,发送弹幕协议。基于这一特性,本实施例针对这些请求加入标记值,再把请求标记值打包加密后上报到服务器。
例如:在请求开屏广告的请求协议中,加入一个标记advertisement_Flag,初始化置位为0。若客户端有请求开屏的广告协议请求,则将此标记置位为1。
在请求客户端启动配置的请求协议中,加入一个标记config_flag,初始化置位为1,若客户端有请求启动配置的协议请求,则将此标记置位为0,此次对标记为进行了一次变形化,避免都是使用0位未标记1为标记,起到混淆的作用。
在请求直播间列表信息的协议中,加入一个标记roomlist_flag,初始化置位为5,若客户端有请求直播间列表信息的协议的请求,则将此标记置位为6。
在进入直播间请求直播间信息的协议中,加入一个标记roominfo_flag,初始化置位为“a”,如果有请求则将其置位为“c”。
在进入直播间请求视频播放地址的协议,则加入一个标记vidolink_flag,初始化置位为“dddw”,如果有请求则将其置位为“aabb”。
所述客户端根据上报策略收集数据,包括:获取开屏广告的请求标记值、启动配置的请求标记值、直播间列表信息的请求标记值、直播间信息的请求标记值和视频播放地址的请求标记值,所述请求标记值用于标记所述客户端是否有向所述服务器发送所述请求标记值对应的请求。
(2)获取客户端数据的协议为获取所述客户端的打点数据的协议,则客户端收集数据具体包括:
当客户端登录到服务器后,为了对用户使用客户端的体验进行监控,客户端会将运行时的信息进行记录从而为后续分析APP的运行状态提供分析的数据基础。通常客户端会记录整个APP的生命周期内的运行信息,例如启动的时间,即启动后进入APP主界面的时间,从而监控APP在不同的客户端上启动时间消耗是多少,还有用户操作APP的页面记录,进入每一个页面都会有页面操作行为记录,从而通过数据来优化用户的交互体验,并且记录每个页面的停留时间,以及记录在页面中触控的按钮,从而可以知道用户的页面操作规矩。对于APP启动使用过程中会请求服务器的一些数据,如果某一个请求失败了,也会打点记录请求失败的信息,用于后续分析APP的请求接口的情况,也可以分析服务器提供的访问接口的质量情况。以直播APP为例,核心是观看视频流,那么APP则会记录请求观看的视频流的地址信息,同时也会记录APP看到第一帧视频的时间,从而为后续优化视频的质量信息提供数据参考。同时在整个视频的播放过程中,也会记录播放的视频的信息,包括视频的帧率,视频的码率等。具体的,客户端记录的信息包括:
记录APP启动后到进入第一个界面的时间差值,数据为start_time。
记录用户进入的每一个页面信息,每一个页面则是一个操作记录,从而最终是一串操作列表页面。每一个页面则记录页面id为Page_id,已经进入的起始时间start_time和结束时间end_time。
记录每个页面中对按钮的操作,每个按钮对应一个button_id。
记录请求的服务器接口信息,每个接口则是一个url信息,并且记录接口请求是成功还是失败,用state表示请求的结果。
记录视频播放时视频的信息,包括当前的帧率FPS,视频的码率vf,视频的首帧的时长elapse,视频的卡顿次数times等。
所述客户端根据上报策略收集数据,包括:获取APP启动后到进入第一个界面的时间差值,获取进入的每一个页面的id,以及进入的每一个页面的开始时间和结束时间,获取对页面中按扭的操作记录,获取请求服务器的接口信息和结果,获取视频播放时视频的信息,包括当前的帧率,视频的码率,视频的首帧的时长,视频的卡顿次数。
(3)获取客户端数据的协议为获取所述客户端当前进程运行时的模块组件信息的协议,则客户端收集数据具体包括:
通常一个应用程序由一个主程序和多个组件组成,那么不同的程序其组件是不一样的。对于安卓(android)程序来说,有dex文件和多个so文件组成。以直播程序为例,其dex文件和so文件都是直播平台开发的程序文件,并且命名都是固定的,所以直播平台的客户端获取到的直播进程的so文件列表是固定的,一旦获取到不一样的so文件列表则说明当前发送弹幕使用的客户端程序是一个非法的客户端程序。
具体来说,Android系统提供了一个命令来查看当前android程序系统内存的布局信息,其中则会包括当前加载的所有so文件列表。Android提供了基于/proc的伪文件系统来作为查看用户进程内存映像的接口。这是Android系统内核层开放给用户层关于进程内存信息的接口。通过这些接口,可以查看到当前进程空间的内存映射情况,模块加载情况以及虚拟地址和内存读写执行属性等。
所述客户端根据上报策略收集数据,包括:
通过系统函数getpid()获取当前进程的唯一标识符pid,具体如下;
Pid=getpid();
通过文件读写的方式来执行查看进程的内存信息,具体如下:
FILE*fp=fopen(“/proc/pid/maps”,"r");
然后通过一个while循环来读取内存信息的每一条数据,然后对读取的每一行信息判断是否是so文件,如果是so文件,则记录so的文件名称,从而获得一个so文件的名称列表,具体如下:
while(fgets(szLines,sizeof(szLines),fp))
{if(strstr(szLines,“.so”))
{如果是so文件,则记录so的文件名称}}
读取完成后则关闭文件句柄,具体为fclose(fp),那么最终则可以获取到一份so文件列表信息,例如,获取so文件列表信息如下:
/system/lib/libc.so
/data/app/air.tv.douyu.android-1/lib/arm/libdanmu.so
/data/app/air.tv.douyu.android-1/lib/arm/libBugly.so
S303、客户端使用第一共享密钥对所述数据进行加密;
在客户端使用第一共享密钥对所述数据进行加密之前,客户端先生成第一共享密钥,同时,服务器也生成第二共享密钥,用于解密客户端加密后的数据,具体步骤如下:
在客户端侧,客户端登录到所述服务器时,客户端根据非对称算法生成一对客户端密钥,所述一对客户端密钥包括第一公钥和第一私钥,具体的步骤如下:
(1)生成随机数据;
通过调用系统函数rand来生成一段随机数据Randdata,具体的,Randdata=rand();
(2)将用户ID、当前时间戳和随机数据进行Md5运算得到第一私钥;
通过调用Md5函数的接口Md5.Create,将用户ID、当前时间戳以及随机数据进行Md5运算,从而得到了第一私钥,具体的:
ClientPrivatekey=Md5.Create(UserId+TimeStamp+Randdata),其中,ClientPrivatekey为第一私钥,UserId为用户ID,TimeStamp为当前时间戳,Randdata为客户端生成的随机数据。
(3)根据第一私钥计算第一公钥;
非对称算法有很多,本实施例以采用非对称RSA加密算法为例进行介绍,客户端调用RSA的生成配对钥匙接口RSA.CreatePair来生成第一公钥,从而生成的第一私钥和第一公钥是唯一配对的关系,具体的:
ClientPublickey=RSA.CreatePair(ClientPrivatekey),其中,ClientPublickey为第一公钥,ClientPrivatekey为第一私钥。
通过以上步骤,客户端生成了一对客户端密钥,包括第一私钥和第一公钥。
类似的,在服务器侧,客户端登录到所述服务器时,服务器根据非对称算法为客户端生成一对服务器密钥,所述一对服务器密钥包括第二公钥和第二私钥,具体的步骤如下:
(1)生成随机数据;
通过调用系统函数rand来生成一段随机数据Randdata,具体的,Randdata=rand();
(2)将当前时间戳和随机数据进行Md5运算得到第二私钥;
通过调用Md5函数的接口Md5.Create,将当前时间戳以及随机数据进行Md5运算,从而得到了第二私钥,具体的:
ServerPrivatekey=Md5.Create(Randdata+TimeStamp),其中,ServerPrivatekey为第二私钥,TimeStamp为当前时间戳,Randdata为服务器生成的随机数据。
(3)根据第二私钥计算第二公钥;
非对称算法有很多,本实施例以采用非对称RSA加密算法为例进行介绍,客户端调用RSA的生成配对钥匙接口RSA.CreatePair来生成第二公钥,从而生成的第二私钥和第二公钥是唯一配对的关系,具体的:
ServerPublickey=RSA.CreatePair(ServerPrivatekey),其中,ServerPublickey为第二公钥,ServerPrivatekey为第二私钥。
通过以上步骤,服务器生成了一对服务器密钥,包括第二私钥和第二公钥。
服务器和客户端互换公钥,具体的,服务器向客户端发送第二公钥,客户端接收到第二公钥后,向服务器发送第一公钥,也可以由客户端先向服务器发送第一公钥,服务器接收到第一公钥后,向客户端发送第二公钥,此处不做太限定。
在客户端侧,客户端根据第二公钥和第一私钥使用非对称算法生成第一共享密钥,具体包括根据以下公式生成第一共享密钥:
ShareKey=RSA.CreateShareKey(ServerPublickey,ClientPrivatekey),其中,客户端侧的ShareKey为第一共享密钥;
在服务器侧,服务器根据第一公钥和第二私钥使用非对称算法生成第二共享密钥,具体的根据以下公式生成第二共享密钥:
ShareKey=RSA.CreateShareKey(ClientPublickey,ServerPrivatekey),服务器侧的ShareKey为第二共享密钥;
从而,客户端生成的第一共享密钥与服务器生成的第二共享密钥的值相同。
根据获取客户端数据的协议的不同,客户端对收集的数据进行加密的方式也不同,以下将按照协议的不同分别进行介绍:
(1)获取客户端数据的协议为获取所述客户端对所述服务器的请求记录的协议,则客户端对收集的数据进行加密具体包括:
客户端根据以下公式对收集的数据进行打包:
Packdata=advertisement_Flag+config_flag+roomlist_flag+roominfo_flag+vidolink_flag;
其中,所述Packdata为打包的数据,所述advertisement_Flag为所述开屏广告的请求标记值,所述config_flag为所述启动配置的请求标记值,所述roomlist_flag为所述直播间列表信息的请求标记值,所述roominfo_flag为所述直播间信息的请求标记值,所述vidolink_flag为所述视频播放地址的请求标记值;
所述客户端根据以下公式对所述打包的数据进行加密:
encryptData=AES.Encrypt(Packdata+userid+token+timestamp,ShareKey);
其中,所述encryptData为加密后的数据,所述AES.Encrypt为加密算法接口,所述Packdata为所述打包的数据,所述userid为用户信息,所述token为所述客户端登录时,所述服务器向所述客户端下发的令牌,所述timestamp为当前时间戳,可以理解的是,由于加密由客户端完成,所以这里的ShareKey为第一共享密钥。
(2)获取客户端数据的协议为获取所述客户端的打点数据的协议,则客户端对收集的数据进行加密具体包括:
客户端根据以下公式对收集的数据进行打包:
Packdata=start_time+Page_id1+start_time1+end_time1+button_id1+button_id2+Page_id2+start_time2+end_time2+button_id1+button_id2+button_id3+Page_id3+start_time3+end_time3+button_id1+button_id2+button_id3+button_id4+URL1+state+URL2+state+FPS+vf+elapse+times;
其中,按照从左到右、从上到下的顺序,公式中的每个值的含义为,Packdata为打包的数据,start_time为APP启动后到进入第一个界面的时间差值,Page_id1为用户进入的第一个页面信息,start_time1为进入的第一个页面的开始时间,end_time1为进入的第一个页面的结束时间,button_id1为进入的第一个页面中用户操作的第一个按扭,button_id2为进入的第一个页面中用户操作的第二个按扭,类似的,而后的Page_id2为用户进入的第二个页面信息,start_time2为进入的第二个页面的开始时间,end_time2为进入的第二个页面的结束时间,button_id1为进入的第二个页面中用户操作的第一个按扭,button_id2为进入的第二个页面中用户操作的第二个按扭,button_id3为进入的第二个页面中用户操作的第三个按扭,而后的Page_id3、start_time3、end_time3、button_id1、button_id2、button_id3、button_id4为第三个页面的相关信息,不再赘述,URL1为客户端请求的第一个服务器接口信息,state表示该请求的状态,类似的,后面的URL2为客户端请求的第二个服务器接口信息,state表示该请求的状态,FPS为当前的帧率,vf为视频的码,elapse为首帧的时长,times为视频的卡顿次数。可以理解的是,以上仅为一个示例,在其他情况中,可能有四个页面,五个请求接口信息,公式中包括的数据将不一样,此处不做太多限定。
所述客户端根据以下公式对所述打包的数据进行加密:
encryptData=AES.Encrypt(Packdata+userid+token+timestamp,ShareKey);
可以理解,对打包的数据的加密方法与上述步骤(1)中对打包的数据的加密方法相同,不再赘述。
(3)获取客户端数据的协议为获取所述客户端当前进程运行时的模块组件信息的协议,则客户端对收集的数据进行加密具体包括:
客户端根据以下公式对收集的数据进行打包:
Packdata=“/system/lib/libc.so”+
“/data/app/air.tv.douyu.android-1/lib/arm/libdanmu.so”+
“/data/app/air.tv.douyu.android-1/lib/arm/libBugly.so”;
以上公式以SO文件为/system/lib/libc.so、
/data/app/air.tv.douyu.android-1/lib/arm/libdanmu.so、
/data/app/air.tv.douyu.android-1/lib/arm/libBugly.so为例对数据进行打包,可以理解的是,在其他情况中,根据SO文件的不同,公式中的数据也会不同,但目的都是将SO文件拼接成打包的数据。
所述客户端根据以下公式对所述打包的数据进行加密:
encryptData=AES.Encrypt(Packdata+userid+token+timestamp,ShareKey);
可以理解,对打包的数据的加密方法与上述步骤(1)中对打包的数据的加密方法相同,不再赘述。
S304、客户端向所述服务器发送加密后的数据;
客户端在向服务器发送第一个弹幕协议之前,客户端向所述服务器发送加密后的数据。相应的,在所述服务器接收所述客户端发送的第一个弹幕协议之前,所述服务器接收所述客户端发送的加密后的数据。
S305、服务器使用第二共享密钥解密所述加密后的数据;
具体的,服务器根据以下公式解密所述加密后的数据:
Packdata+userid+token+timestamp=AES.Decrypt(encryptData,ShareKey);
其中,Packdata为解密得到的打包的数据,所述userid为解密得到的用户信息,所述token解密得到的令牌信息,所述timestamp解密得到的当前时间戳,可以理解的是,由于解密由服务器完成,所以这里的ShareKey为第二共享密钥,AES.Decrypt为AES算法的解密接口。
S306、服务器验证解密后的数据,若验证通过,确定所述客户端合法。
具体的,服务器执行下述判断,若以下任一个判断结果为否,则确定客户端不合法,若以下全部判断结果为是,则验证通过,确定客户端合法:
服务器判断解密得到的用户信息是否与服务器记录的用户信息相同;
服务器判断解密得到的令牌信息是否与服务器记录令牌信息相同;
服务器判断解密得到的当前时间戳与服务器的当前时间戳的差值是否在正常时间范围内;
服务器判断解密得到的打包的数据是否正确,需要说明的是,根据获取客户端数据的协议的不同,服务器判断解密得到的打包的数据是否正确分别有以下几种情况:
(1)获取客户端数据的协议为获取所述客户端对所述服务器的请求记录的协议,则服务器执行以下判断:
判断请求标记值是否被置位;判断advertisement_Flag的值是否为1;判断config_flag是否是0;判断roomlist_flag是否是6;判断roominfo_flag是否是“c”;判断vidolink_flag是否是“aabb”;
可以理解的是,为了增强数据的安全性,可以更换请示标记值的赋值,只要确保服务器与客户端使用相同的标准。例如config_flag初始化为1,有请求则置位为0,那么下一个版本则可以替换成初始化为a,有请求则置位为f等,此处不做太多限定。
(2)获取客户端数据的协议为获取所述客户端的打点数据的协议,则服务器执行以下判断:
判断进入第一个界面的时间差值是否在合理的范围内;判断上报的页面id是否存在;判断页面的停留时间是否在合理的范围内;判断按扭id是否存在;判断请求的服务器接口是否存在;判断当前的帧率FPS,视频的码率vf,视频的首帧的时长elapse,视频的卡顿次数times是否在合理的范围内。
还需要说明的是,若服务器已要求客户端需要向服务器上报客户端的数据,而客户端在向服务器发送第一个弹幕协议之前,并没有向服务器上报客户端的数据,则可以确定该客户端不合法,对于非法客户端发送的弹幕协议,服务器直接丢弃,或者不转发到房间的其他客户端,此处不做太多限定。
可见,本实施例通过客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;所述客户端使用第一共享密钥对所述数据进行加密;所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性。可以在客户端向服务器发送第一个弹幕协议之前,通过对客户端向服务器上报的数据进行验证,从而识别客户端的合法性,解决了现有技术中,对于非法用户的识别是在识别非法弹幕之后,存在不及时的问题。
实施例四:
本实施例提供了一种计算机可读存储介质400,所述计算机可读存储介质400存储有计算机程序411,所述计算机程序411被处理器执行时实现以下步骤:
客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端使用第一共享密钥对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同。
在具体实施过程中,该计算机程序411被处理器执行时,可以实现上述由客户端执行所有步骤,此处不再赘述。
基于同一发明构思,本申请还提供了一种计算机设备,详见图5,下面将结合图5对实施例五进行介绍。
实施例五:
本申请提供了一种计算机设备500,包括处理器520、存储器510以及存储在存储器510上并可在处理器520上运行的计算机程序511,所述处理器520执行所述计算机程序511时实现以下步骤:
客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端使用第一共享密钥对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同。
该计算机设备500可以实现上述实施例中由客户端执行的所有步骤,此处不再赘述。
实施例六:
本实施例提供了一种计算机可读存储介质600,所述计算机可读存储介质600存储有计算机程序611,所述计算机程序611被处理器执行时实现以下步骤:
服务器向客户端发送上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述服务器接收所述客户端发送的第一个弹幕协议之前,所述服务器接收所述客户端发送的加密后的数据,所述加密后的数据由所述客户端根据所述上报策略收集所述数据并使用第一共享密钥对所述数据加密后得到;
所述服务器使用第二共享密钥解密所述加密后的数据,所述第一共享密钥与所述第二共享密钥的值相同;
所述服务器验证解密后的数据,若验证通过,确定所述客户端合法。
在具体实施过程中,该计算机程序611被处理器执行时,可以实现上述由服务器执行所有步骤,此处不再赘述。
基于同一发明构思,本申请还提供了一种计算机设备,详见图7,下面将结合图7对实施例七进行介绍。
实施例七:
本申请提供了一种计算机设备700,包括处理器720、存储器710以及存储在存储器710上并可在处理器720上运行的计算机程序711,所述处理器720执行所述计算机程序711时实现以下步骤:
所述服务器向客户端发送上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述服务器接收所述客户端发送的第一个弹幕协议之前,所述服务器接收所述客户端发送的加密后的数据,所述加密后的数据由所述客户端根据所述上报策略收集所述数据并使用第一共享密钥对所述数据加密后得到;
所述服务器使用第二共享密钥解密所述加密后的数据,所述第一共享密钥与所述第二共享密钥的值相同;
所述服务器验证解密后的数据,若验证通过,确定所述客户端合法。
该计算机设备700可以实现上述实施例中由服务器执行的所有步骤,此处不再赘述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种识别方法,其特征在于,所述方法应用于客户端,所述方法包括:
所述客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端使用第一共享密钥对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同;
所述在所述客户端中预埋的获取客户端数据的协议包括以下任一一种或多种:
获取所述客户端对所述服务器的请求记录的协议;
获取所述客户端的打点数据的协议;
获取所述客户端当前进程运行时的模块组件信息的协议。
2.如权利要求1所述的方法,其特征在于,所述上报策略包括指示所述客户端执行获取所述客户端对所述服务器的请求记录的协议,所述客户端根据所述上报策略收集数据包括:
所述客户端获取开屏广告的请求标记值、启动配置的请求标记值、直播间列表信息的请求标记值、直播间信息的请求标记值和视频播放地址的请求标记值,所述请求标记值用于标记所述客户端是否有向所述服务器发送所述请求标记值对应的请求。
3.如权利要求2所述的方法,其特征在于,所述客户端对所述数据进行加密包括:
所述客户端根据以下公式对所述数据进行打包:
Packdata=advertisement_Flag+config_flag+roomlist_flag+roominfo_flag+vidolink_flag;
其中,所述Packdata为打包的数据,所述advertisement_Flag为所述开屏广告的请求标记值,所述config_flag为所述启动配置的请求标记值,所述roomlist_flag为所述直播间列表信息的请求标记值,所述roominfo_flag为所述直播间信息的请求标记值,所述vidolink_flag为所述视频播放地址的请求标记值;
所述客户端根据以下公式对所述打包的数据进行加密:
encryptData=AES.Encrypt(Packdata+userid+token+timestamp,ShareKey);
其中,所述encryptData为加密后的数据,所述AES.Encrypt为加密算法接口,所述Packdata为所述打包的数据,所述userid为用户信息,所述token为所述客户端登录时,所述服务器向所述客户端下发的令牌,所述timestamp为当前时间戳,所述ShareKey为所述第一共享密钥。
4.如权利要求1-3任一项所述的方法,其特征在于,在所述客户端使用第一共享密钥对所述数据进行加密之前,所述方法还包括:
所述客户端登录到所述服务器时,所述客户端根据非对称算法生成一对客户端密钥,所述一对客户端密钥包括第一公钥和第一私钥;
所述客户端向所述服务器发送所述第一公钥,以使得所述服务器根据所述第一公钥和第二私钥使用非对称算法生成所述第二共享密钥,所述第二私钥为所述服务器根据非对称算法为所述客户端生成的一对服务器密钥中的其中一个密钥;
所述客户端接收所述服务器发送的第二公钥,所述第二公钥为所述一对服务器密钥中的另一个密钥;
所述客户端根据所述第二公钥和所述第一私钥使用非对称算法生成所述第一共享密钥。
5.一种识别方法,其特征在于,所述方法应用于服务器,所述方法包括:
所述服务器向客户端发送上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述服务器接收所述客户端发送的第一个弹幕协议之前,所述服务器接收所述客户端发送的加密后的数据,所述加密后的数据由所述客户端根据所述上报策略收集数据并使用第一共享密钥对所述数据加密后得到;
所述服务器使用第二共享密钥解密所述加密后的数据,所述第一共享密钥与所述第二共享密钥的值相同;
所述服务器验证解密后的数据,若验证通过,确定所述客户端合法;
所述在所述客户端预埋的获取客户端数据的协议包括以下任一一种或多种:
获取所述客户端对所述服务器的请求记录的协议;
获取所述客户端的打点数据的协议;
获取所述客户端当前进程运行时的模块组件信息的协议。
6.根据权利要求5所述的方法,其特征在于,在所述服务器使用第二共享密钥解密所述加密后的数据之前,所述方法还包括:
所述客户端登录到所述服务器时,所述服务器根据非对称算法为所述客户端生成一对服务器密钥,所述一对服务器密钥包括第二公钥和第二私钥;
所述服务器向所述客户端发送所述第二公钥,以使得所述客户端根据所述第二公钥和第一私钥使用非对称算法生成所述第一共享密钥,所述第一私钥为所述客户端根据非对称算法生成的一对客户端密钥中的其中一个密钥;
所述服务器接收所述客户端设备发送的第一公钥,所述第一公钥为所述一对客户端密钥中的另一个密钥;
所述服务器根据所述第一公钥和所述第二私钥使用非对称算法生成所述第二共享密钥。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端使用第一共享密钥对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同;
所述在所述客户端中预埋的获取客户端数据的协议包括以下任一一种或多种:
获取所述客户端对所述服务器的请求记录的协议;
获取所述客户端的打点数据的协议;
获取所述客户端当前进程运行时的模块组件信息的协议。
8.一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
客户端接收服务器发送的上报策略,所述上报策略用于指示所述客户端执行在所述客户端预埋的获取客户端数据的协议;
在所述客户端向所述服务器发送第一个弹幕协议之前,所述客户端根据所述上报策略收集数据;
所述客户端使用第一共享密钥对所述数据进行加密;
所述客户端向所述服务器发送加密后的数据,以使得所述服务器使用第二共享密钥解密所述加密后的数据,并验证解密后的数据,从而识别所述客户端的合法性,所述第一共享密钥与所述第二共享密钥的值相同;
所述在所述客户端中预埋的获取客户端数据的协议包括以下任一一种或多种:
获取所述客户端对所述服务器的请求记录的协议;
获取所述客户端的打点数据的协议;
获取所述客户端当前进程运行时的模块组件信息的协议。
CN201810477582.0A 2018-05-18 2018-05-18 一种识别方法、计算机设备和存储介质 Active CN108650526B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810477582.0A CN108650526B (zh) 2018-05-18 2018-05-18 一种识别方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810477582.0A CN108650526B (zh) 2018-05-18 2018-05-18 一种识别方法、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN108650526A CN108650526A (zh) 2018-10-12
CN108650526B true CN108650526B (zh) 2020-10-16

Family

ID=63756652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810477582.0A Active CN108650526B (zh) 2018-05-18 2018-05-18 一种识别方法、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN108650526B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417722B (zh) * 2019-03-21 2021-08-31 腾讯科技(深圳)有限公司 一种业务数据通信方法、通信设备及存储介质
CN110505531B (zh) * 2019-07-02 2021-04-16 杭州海康威视数字技术股份有限公司 一种媒体数据传输系统、方法及装置
CN113965781B (zh) * 2020-07-21 2023-11-24 东初智能科技(上海)有限公司 一种风控策略执行方法和装置
CN112187832A (zh) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 数据传输方法和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282168A (zh) * 2015-11-06 2016-01-27 盛趣信息技术(上海)有限公司 基于chap协议的数据交互方法及装置
CN105939485A (zh) * 2016-06-27 2016-09-14 武汉斗鱼网络科技有限公司 基于用户弹幕行为监控弹幕服务可用性的系统及方法
CN106454539A (zh) * 2016-11-29 2017-02-22 武汉斗鱼网络科技有限公司 一种视频直播网站的弹幕封禁系统及方法
CN107040816A (zh) * 2017-03-17 2017-08-11 北京潘达互娱科技有限公司 一种客户端应用运行异常分析方法与装置
CN107330705A (zh) * 2017-06-05 2017-11-07 国政通科技股份有限公司 一种根据多数据源防欺诈的方法和系统
CN107948212A (zh) * 2018-01-10 2018-04-20 武汉斗鱼网络科技有限公司 一种日志的处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307403A1 (en) * 2010-06-11 2011-12-15 Arad Rostampour Systems and method for providing monitoring of social networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282168A (zh) * 2015-11-06 2016-01-27 盛趣信息技术(上海)有限公司 基于chap协议的数据交互方法及装置
CN105939485A (zh) * 2016-06-27 2016-09-14 武汉斗鱼网络科技有限公司 基于用户弹幕行为监控弹幕服务可用性的系统及方法
CN106454539A (zh) * 2016-11-29 2017-02-22 武汉斗鱼网络科技有限公司 一种视频直播网站的弹幕封禁系统及方法
CN107040816A (zh) * 2017-03-17 2017-08-11 北京潘达互娱科技有限公司 一种客户端应用运行异常分析方法与装置
CN107330705A (zh) * 2017-06-05 2017-11-07 国政通科技股份有限公司 一种根据多数据源防欺诈的方法和系统
CN107948212A (zh) * 2018-01-10 2018-04-20 武汉斗鱼网络科技有限公司 一种日志的处理方法及装置

Also Published As

Publication number Publication date
CN108650526A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108650526B (zh) 一种识别方法、计算机设备和存储介质
US11417663B2 (en) System and method for data collection and exchange with protected memory devices
CN107454441B (zh) 一种检测直播间刷人气行为的方法、直播平台服务器及计算机可读存储介质
US10176309B2 (en) Systems and methods for authenticating video using watermarks
KR100752796B1 (ko) 송신된 이벤트와 사용자 응답 사이의 시간 결정 방법 및시스템
US20080134297A1 (en) Advanced content authentication and authorization
CN103460708B (zh) 用于实现数字内容中的对象的购买或对于该对象的信息请求的方法和装置
CN113411638A (zh) 视频文件的播放处理方法、装置、电子设备及存储介质
EP3520429B1 (en) Verifying the rendering of video content at client devices using trusted platform modules
JP5399377B2 (ja) コンテンツ鍵の変更を支援する方法および装置
KR20070088594A (ko) 정보 처리 방법, 정보 처리 장치, 정보 처리 방법을달성하기 위한 컴퓨터 프로그램, 및 컴퓨터 프로그램을기억하는 컴퓨터 판독가능한 기억 매체
CN104735484B (zh) 一种播放视频的方法及装置
JP2004193843A (ja) コンテンツ配信装置、コンテンツ配信方法、コンテンツ配信プログラムおよびコンテンツ再生装置、コンテンツ再生方法、コンテンツ再生プログラム
CN105409226A (zh) 有效控制自适应流媒体中的客户端行为的系统和方法
CN108881966B (zh) 一种信息处理方法以及相关设备
CN107770161B (zh) 一种直播平台中防止刷礼物的方法及装置
US8973081B2 (en) Content receiver and content information output method
CN106303615A (zh) 播放视频的方法、装置和系统
CN108769749B (zh) 一种确定盗刷数据的方法、客户端及服务器
JP2004294474A (ja) コンテンツ提供システム、方法およびプログラム
WO2018086566A1 (zh) Pvr保护方法及系统
CN103079105A (zh) 一种节目源的保护方法及装置
US20120210128A1 (en) Information processing apparatus, information processing method and program
CN110380843B (zh) 一种信息处理方法及相关设备
JP2010157867A (ja) 動画再生コード生成装置、動画配信システム、実行形式プログラム、同プログラムを記録した記録媒体、サーバー、及び動画再生コード生成方法

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240822

Address after: Building 4, Courtyard 2, Sihezhuang Road, Fengtai District, Beijing 100024, Floors 1-17, Unit 101, 11th Floor 1112

Patentee after: TUNGHSU TECHNOLOGY GROUP Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A recognition method, computer equipment, and storage medium

Granted publication date: 20201016

Pledgee: Hengshui Bank Co.,Ltd.

Pledgor: TUNGHSU TECHNOLOGY GROUP Co.,Ltd.

Registration number: Y2024980038310