一种直播间关注、验证直播间关注的方法及装置与流程

文档序号:14953121发布日期:2018-07-17 23:00阅读:394来源:国知局

本发明涉及直播领域,尤其涉及一种直播间关注、验证直播间关注的方法及装置。



背景技术:

目前,随着视频直播的流行,越来越多的观众会观看直播。各个直播平台也推出了相关的活动来提高观众关注主播,从而后续可以方便的查找该主播,同时直播平台也是有关注数量来考察主播的粉丝量及直播的质量。

目前的直播间关注只是简单的一个http请求,当用户点击页面上的关注按钮时,客户端会发送一个http请求,用于告诉服务器客户端关注此房间,并且此条关注直播间请求仅仅只有房间号信息,从而极易被黑客通过批量注册用户,编写脚本自动的来刷主播的关注数量,因此,目前直播间关注的安全性不高。



技术实现要素:

本发明实施例通过提供一种直播间关注、验证直播间关注的方法及装置,解决了现有技术中直播间关注的安全性的技术问题。

第一方面,本发明实施例提供一种直播间关注方法,应用于直播客户端,所述方法包括:

在所述直播客户端登陆至当前直播间时,生成与所述直播服务器所生成的服务器共享密钥相同的客户端共享密钥,以及接收所述直播服务器下发的算法标识;

在所述直播客户端处于所述当前直播间过程中,获取对所述当前直播间的关注点击事件的事件信息,所述关注点击事件为基于当前登录在所述直播客户端的观看用户对所述当前直播间的关注操作产生;

调用由所述算法标识所确定的目标算法集合,对所述客户端共享密钥进行处理,生成携带有客户端鉴权值的关注直播间请求;

向所述直播服务器发送所述关注直播间请求和所述事件信息,使得所述直播服务器根据所述事件信息和所述关注直播间请求判断是否接受所述观看用户对所述当前直播间的关注。

可选的,所述接收所述直播服务器下发的算法标识,包括:

在所述直播客户端登陆至所述当前直播间时,向所述直播服务器发送房间信息请求;

接收所述直播服务器针对所述房间信息请求反馈的房间信息,在所述房间信息中携带有所述算法标识。

可选的,所述生成与所述直播服务器所生成的服务器共享密钥相同的客户端共享密钥,包括:

在所述直播客户端登陆至所述当前直播间时,生成客户端私钥以及与所述生成客户端私钥配对的客户端公钥;

向所述直播服务器发送所述客户端公钥,使得所述直播服务器根据所述客户端公钥和所述直播服务器生成的服务器私钥生成所述服务器共享密钥;

接收来自所述直播服务器的与所述服务器私钥配对的服务器公钥,所述服务器公钥为根据所述服务器私钥和所述客户端公钥生成;

根据所述客户端私钥和所述服务器公钥生成所述客户端共享密钥。

可选的,所述生成客户端私钥以及与所述生成客户端私钥配对的客户端公钥,具体包括:

从所述房间信息中确定所述当前直播间的房间号;

调用私钥生成函数,根据随机数据、所述当前直播间的房间号、以及所述观看用户的用户身份信息生成所述客户端私钥;

调用公钥生成函数,根据所述客户端私钥生成所述客户端公钥。

可选的,所述算法标识包括加密算法序号和哈希算法序号,所述调用由所述算法标识所确定的目标算法集合,对所述客户端共享密钥进行处理,生成携带有客户端鉴权值的关注直播间请求,具体包括:

从所述直播客户端所集成的加密算法库中调用所述加密算法序号所对应的加密算法,基于所述客户端共享密钥、所述观看用户的用户身份信息、所述直播服务器下发的时间戳信息进行加密处理,得到加密结果数据;

确定所述加密结果数据的数据长度;

从所述直播客户端所集成的哈希算法库中调用所述哈希算法序号所对应的哈希算法,基于所述加密结果数据和所述加密结果数据的数据长度计算出所述客户端鉴权值;

根据所述客户端鉴权值构建所述关注直播间请求。

第二方面,本发明实施例提供一种验证直播间关注的方法,应用于直播服务器,所述方法包括:

接收到来自直播客户端的关注直播间请求时,判断是否从所述直播客户端接收到对所述当前直播间的关注点击事件的事件信息;

如果接收到所述事件信息,验证所述事件信息是否合法,如果没有接收到所述事件信息,拒绝所述关注直播间请求;

如果所述事件信息合法,验证所述关注直播间请求中携带的客户端鉴权值是否合法,如果所述客户端鉴权值合法,接受接收当前登录所述直播客户端的观看用户对所述当前直播间的关注,否则,拒绝所述关注直播间请求。

可选的,所述验证所述关注直播间请求中携带的客户端鉴权值是否合法,包括:

从所述关注直播间请求中解析出所述客户端鉴权值,其中,所述客户端鉴权值为所述直播客户端调用目标算法集合对客户端共享密钥进行处理的结果,所述目标算法集合为根据所述直播服务向所述直播客户端下发的算法标识在确定;

生成与所述客户端共享密钥相同的服务器共享密钥;

调用由所述算法标识所确定的所述目标算法集合,对所述服务器共享密钥进行处理,生成服务器鉴权值;

判断所述客户端鉴权值是否与所述服务器鉴权值一致;

如果一致,确定所述客户端鉴权值合法,基于所述客户端鉴权值合法确定所述关注直播间请求合法,如果不一致,确定所述客户端鉴权值不合法,基于所述客户端鉴权值不合法确定所述关注直播间请求不合法。

第三方面,本发明实施例提供一种直播间关注系统,应用于直播客户端,所述系统包括:

登陆处理单元,用于在所述直播客户端登陆至当前直播间时,生成与所述直播服务器所生成的服务器共享密钥相同的客户端共享密钥,以及接收所述直播服务器下发的算法标识;

事件信息获取单元,用于在所述直播客户端处于所述当前直播间过程中,获取对所述当前直播间的关注点击事件的事件信息,所述关注点击事件为基于当前登录在所述直播客户端的观看用户对所述当前直播间的关注操作产生;

关注请求生成单元,用于调用由所述算法标识所确定的目标算法集合,对所述客户端共享密钥进行处理,生成携带有客户端鉴权值的关注直播间请求;

发送单元,用于向所述直播服务器发送所述关注直播间请求和所述事件信息,使得所述直播服务器根据所述事件信息和所述关注直播间请求判断是否接受所述观看用户对所述当前直播间的关注。

第四方面,本发明实施例提供一种验证直播间关注的系统,应用于直播服务器,所述系统包括:

第一接收判断单元,用于接收到来自直播客户端的关注直播间请求时,判断是否从所述直播客户端接收到对所述当前直播间的关注点击事件的事件信息;

信息验证单元,用于如果接收到所述事件信息,验证所述事件信息是否合法,如果没有接收到所述事件信息,拒绝所述关注直播间请求;

请求验证单元,用于如果所述事件信息合法,验证所述关注直播间请求中携带的客户端鉴权值是否合法,如果所述客户端鉴权值合法,接受接收当前登录所述直播客户端的观看用户对所述当前直播间的关注,否则,拒绝所述关注直播间请求。

第五方面,本发明实施例提供一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现第一方面的任一可能的实现方式所述的步骤。

第六方面,本发明实施例提供一种直播服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现第二方面的任一可能的实现方式所述的步骤。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

在直播客户端登陆至当前直播间时,生成与直播服务器所生成的服务器共享密钥相同的客户端共享密钥以及接收直播服务器下发的算法标识;在直播客户端处于当前直播间过程中获取对当前直播间的关注点击事件的事件信息;调用由直播服务器下发的算法标识所确定的目标算法集合,对客户端共享密钥进行处理,生成并向直播服务器发送携带有客户端鉴权值的关注直播间请求,使得直播服务器根据事件信息和关注直播间请求判断是否接受观看用户对当前直播间的关注。由于增加了关注直播间请求的复杂度,并且需要判断关注点击事件的事件信息,那么黑客想要关注直播间请求,使用脚本来实现批量关注则首先需要破解此算法,还需要上报关注点击事件的事件信息,而模拟的刷关注不会产生真实的关注点击事件,从而提高了刷关注的门槛,提高了关注直播间的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的直播间关注方法的流程图;

图2为本发明实施例提供的验证直播间关注的方法流程图;

图3为本发明实施例提供的直播间关注系统的程序模块图;

图4为本发明实施例提供的验证直播间关注的系统的程序模块图;

图5为本发明实施例提供的移动终端的结构示意图;

图6为本发明实施例提供的直播服务器的结构示意图。

具体实施方式

鉴于现有技术中存在直播间关注的安全性不高,本发明实施例提供了一种直播间关注、验证直播间关注的方法及装置。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种直播间关注方法,应用于直播客户端,直播客户端可以为安装在移动终端上的直播app、移动终端具体可以搭载android系统或者ios系统的智能手机、平板电脑、个人数字助理等等。

参考图1所示,本发明实施例提供的直播间关注方法包括如下步骤:

s101、在直播客户端登陆至当前直播间时,生成与直播服务器所生成的服务器共享密钥相同的客户端共享密钥,以及接收直播服务器下发的算法标识。

具体的,为了使得直播服务器所生成的服务器共享密钥与直播客户端所生成的客户端共享密钥相同,在直播客户端上生成客户端共享秘钥的过程具体如下:

执行步骤s1011:在直播客户端登陆至当前直播间时,直播客户端生成客户端私钥以及与生成客户端私钥配对的客户端公钥。

在步骤s1011中,当直播客户端每次打开一个直播间,直播客户端会重新生成一对公私秘钥:客户端公钥和客户端私钥,保障直播客户端针对各直播间生成的客户端公钥都不一样,客户端私钥也不一样,从而提高整个数据传输的安全性。

具体的,可以使用随机数据、当前登录直播客户端的观看用户的用户身份信息、以及当前直播间的房间号共同生成的md5值作为针对当前直播间的客户端私钥,具体实现过程如下:

直播客户端从直播服务器所下发的房间信息中确定携带的当前直播间的房间号、直播客户端通过调用系统函数rand生成一段随机数据之后,直播客户端先调用私钥生成函数,根据随机数据、当前直播间的房间号、以及观看用户的用户身份信息uid(useridentification,用户身份证明)生成针对当前直播间的客户端私钥。接着,直播客户端调用公钥生成函数,根据客户端私钥生成针对当前直播间的客户端公钥。

也可以仅使用随机数据和当前直播间的房间号共同生成的md5值作为针对当前直播间的客户端私钥,具体实现过程如下:

步骤a1、直播客户端生成随机数据。具体的,通过调用系统函数rand,生成一段随机数据。

步骤a2、直播客户端依据当前登录直播客户端的观看用户的用户身份信息、当前直播间的房间号和步骤a1生成的随机数据,调用md5函数生成针对当前直播间的客户端私钥。

直播客户端也可以依据当前直播间的房间号和步骤a1生成的随机数据,调用md5函数生成针对当前直播间的客户端私钥,实现代码如下:

直播客户端通过调用md5函数的md5.create接口,将随机数据和当前直播间的房间号拼接到一起计算其md5值,从而得到了针对当前直播间的客户端私钥:

clientprivatekey=md5.create(randdata+roomid)

步骤a3:生成与客户端私钥配对的客户端公钥,具体的,调用rsa函数的生成配对钥匙接口rsa.createpair,生成与客户端私钥配对的客户端公钥:

clientpublickey=rsa.createpair(clientprivatekey)。

从而,最终直播客户端会生成了一对针对当前直播间的存在配对关系的客户端公钥和客户端私钥。

在步骤s1011之后,接着执行步骤s1012:直播客户端向直播服务器发送客户端公钥,使得直播服务器根据客户端公钥和直播服务器生成的服务器私钥生成服务器共享密钥;

在步骤s1011之后,还执行步骤s1013:直播客户端接收来自直播服务器的与服务器私钥配对的服务器公钥,服务器公钥为直播服务器根据服务器私钥和客户端公钥生成;

步骤s1013之后,接着执行步骤s1014:直播客户端根据客户端私钥和服务器公钥生成客户端共享密钥。

为了使得直播服务器所生成的服务器共享密钥与直播客户端所生成的客户端共享密钥相同,服务器也会依照直播客户端的方式也来生成一对针对当前直播间的公钥和私钥信息:服务器私钥和服务器公钥。服务器私钥的生成则也会使用随机数据、当前登录直播客户端的观看用户的uid、以及当前直播间的房间号共同生成的md5值作为服务器私钥,从而尽可能保障不同直播客户端、不同房间号所生成的服务器私钥是不一样。具体实现如下:

步骤b1:直播服务器生成随机数据。具体的,通过调用系统函数rand,生成一段随机数据:randdata=rand()。

步骤b2:直播服务器依据当前登录直播客户端的观看用户的用户身份信息、当前直播间的房间号和步骤b1生成的随机数据,调用md5函数生成针对当前直播间的服务器私钥。

直播服务器也可以依据当前直播间的房间号和步骤a1生成的随机数据,调用md5函数生成针对当前直播间的服务器私钥,实现代码如下:

直播服务器通过调用md5函数的md5.create接口,来对随机数据和当前直播间的房间号拼接到一起计算其md5值,从而得到了针对当前直播间的服务器私钥,实现代码如下:

serverprivatekey=md5.create(randdata+uid+roomid)

步骤b3:生成与服务器私钥配对的服务器公钥。具体的,调用rsa函数的生成配对钥匙接口rsa.createpair来生成与服务器私钥配对的服务器公钥:

serverpublickey=rsa.createpair(serverprivatekey);

从而,直播服务器会会生成了一对针对当前直播间的存在配对关系的服务器公钥和服务器私钥。

直播服务器发送服务器公钥给直播客户端,直播服务器接收来自直播客户端的客户端公钥,直播服务器根据客户端公钥和服务器私钥生成服务器共享密钥,从而实现了直播服务器和直播客户端会交换公钥信息,来生成相同的共享秘钥,即客户端共享秘钥和服务器共享秘钥是同一个值。

直播客户端调用rsa函数,生成客户端共享秘钥的具体实现如下:

sharekey=rsa.createsharekey(serverpublickey,clientprivatekey)。

直播服务器调用rsa函数,生成服务器共享秘钥的具体实现如下:

sharekey=rsa.createsharekey(clientpublickey,serverprivatekey);

从而,客户端共享秘钥和服务器共享秘钥的值是一致的,避免秘钥在网络中传输,从而提高秘钥安全性。

在步骤s101中,直播客户端接收直播服务器下发的算法标识,包括:在所述直播客户端登陆至当前直播间时,向直播服务器发送房间信息请求,房间信息请求用于从直播服务器请求当前直播间的房间信息。

直播客户端接收直播服务器针对房间信息请求反馈的房间信息,在房间信息中携带有算法标识。具体的,在房间信息中携带的算法标识包括:加密算法序号和哈希算法(hash)序号。

在直播客户端和直播服务器上集成有相同的加密算法库和相同的hash算法库,在加密算法库中的每个加密算法对应有唯一序号,在哈希算法库中的每个哈希算法对应有唯一序号。

具体的,直播客户端从直播服务器接收的加密算法序号和哈希算法(hash)序号,为直播服务器针对直播客户端当前次登陆当前直播间这一事件随机确定。具体的,可以在直播服务器接收到直播客户端发送的房间信息请求时,直播服务器基于随机策略从全部加密算法序号中确定出当前次下发至直播客户端的加密算法序号,基于随机策略从全部哈希算法序号中确定出当前次下发至直播客户端的哈希算法序号。从而可以使得每个直播客户端在每次进入任一直播间时,所用加密算法都是变化的,哈希算法也是变化的,提高了破解直播间关注请求的复杂性。

在一优选实施例中,在直播服务器下发的房间信息中携带直播服务器当前的时间戳信息,用于后续的加密算法的计算,提高直播间关注请求的复杂性。

在步骤s101之后,接着执行步骤s102:在直播客户端处于当前直播间过程中,获取对当前直播间的关注点击事件的事件信息,关注点击事件为基于当前登录在直播客户端的观看用户对当前直播间的关注操作产生。

具体的,在直播客户端的关注页面,关注操作为对关注页面上的关注按钮的点击操作,比如,在android系统的直播客户端的关注页面,观看用户要想关注当前直播间,则会有点击关注按钮,则直播客户端会检测到对该关注按钮的点击操作,从而产生对当前直播间的关注操作,直播客户端检测到对关注操作产生的关注点击事件,以及关注点击事件所点击的屏幕坐标。那么,直播客户端可以获取该关注点击事件的事件信息上报到直播服务器。具体实现如下:

在直播客户端的关注页面的activity中加入对关注页面的关注点击事件:

其中,motionevent.action_down为观看用户点击屏幕的按下,motionevent.action_up为用户点击屏幕的松开。当观看用户在关注页面上点击关注按钮,观看用户点击屏幕的按下和松开,则产生对关注按钮的点击操作,对应于点击关注按钮的屏幕坐标则是在关注按钮的方框内,从而检测到关注按钮上的点击操作,那么,直播客户端会对关注按钮上的点击操作进行一个打点记录,得到关注点击事件,将关注点击事件的事件信息上报至直播服务器,从而,直播服务器根据关注点击事件的事件信息确定是否是在关注按钮上的真实点击。

具体来讲,上报至直播服务器的事件信息包括关注点击事件所对应的用户点击屏幕的屏幕坐标和标记。其中,可以为,eventflag标示有关注点击事件对应的用户点击屏幕的标记,posx则是关注点击事件对应在用户所点击屏幕的x坐标,posy则是关注点击事件对应在用户所点击屏幕的y坐标。将关注点击事件对应的用户点击屏幕的标记、x坐标和y坐标进行打包并加密后,上报到直播服务器。

加密过程的实现代码可以为:encryptfunc=encryptlib.getfunc(algno);

打包过程的实现代码可以为:

encrypteventdata=encryptfunc(eventflag+posx+posy,sharekey);

将加密完成后的事件信息,使用一条协议将事件信息上报到服务器:

posthttps://www.xxx.com/event/roomid?data=encrypteventdata

在步骤s101之后,接着执行步骤s103:调用由算法标识所确定的目标算法集合,对客户端共享密钥进行处理,生成携带有客户端鉴权值的关注直播间请求。

算法标识包括加密算法序号和哈希算法序号,步骤s103具体包括:

步骤s1031:从直播客户端所集成的加密算法库中调用加密算法序号所对应的加密算法,基于客户端共享密钥、观看用户的用户身份信息、直播服务器下发的时间戳信息进行加密处理,得到加密结果数据。

具体的,从加密算法库中获取与直播服务器下发的加密算法序号algno所对应的目标加密算法,其中,假设编写的算法库的接口是encryptlib.getfunc,则传入加密算法序号则得到具体的目标加密算法的算法函数指针,实现代码可以为:

encryptfunc=encryptlib.getfunc(algno);

调用目标加密算法的算法函数指针,得到加密结果数据:encryptdata=encryptfunc(uid+roomid+token+timestamp,sharekey);传入目标加密算法的数据为:uid(useridentification,用户身份证明),roomid为当前直播间的房间号,token为观看用户登录直播客户端时直播服务器向直播服务器反馈的令牌值,timestamp为直播服务器在接收到房间信息请求时下发的时间戳信息,sharekey为客户端共享秘钥。

在步骤s1031之后,接着执行步骤s1032:确定加密结果数据的数据长度。

在步骤s1032之后,接着执行步骤s1033:从直播客户端所集成的哈希算法库中调用哈希算法序号所对应的哈希算法,基于加密结果数据和加密结果数据的数据长度计算出客户端鉴权值。

在步骤s1033之后,接着执行步骤s1034:根据客户端鉴权值构建关注直播间请求。

具体的,直播客户端构建的关注直播间请求上报至直播服务的实现具体如下:

posthttps://www.xxx.com/room/follow/add/roomid?key=encryptkey.

其中,关注直播间请求中添加了一个客户端鉴权值的encryptkey字段,并且,encryptkey字段的值则是通过复杂计算得到,那么黑客想要破解此协议,使用脚本来实现批量关注则首先需要破解此算法,从而提高了其刷关注门槛。

由于只有登录到直播客户端的观看用户才能进行关注操作,并且只有观看用户登录到当前直播间后才能计算出正确客户端鉴权值,从而提高了其刷关注门槛。

在具体实施过程中,具体而言,对于android操作系统,本文则步骤s101~s103的实现编写在so模块中,由于so模块的安全性比android平台的原生java开发更为安全,更不易于被破解。

在步骤s102和s103之后,接着执行步骤s104:向直播服务器发送关注直播间请求和事件信息,使得直播服务器根据事件信息和关注直播间请求判断是否接受观看用户对当前直播间的关注。

结合前述实施例,为了提高直播间关注的安全性,在一优选实施例中,还包括如下步骤:

直播客户端向直播服务器上报直播客户端所在终端设备的相关信息,具体的,相关信息包括:直播平台对该设备生成的设备唯一id信息、包括获取终端设备的imei((internationalmobileequipmentidentity,是国际移动设备识别码)、终端设备的序列号、终端设备所安装操作系统的操作系统id、以及操作系统的系统版本号等相关信息。将这些终端设备的相关信息进行打包加密后发送到服务器。

具体实现代码如下:encryptfunc=encryptlib.getfunc(algno);

encryptdevicedata=encryptfunc(imei+serino+android_id+os,sharekey);

打包加密完成后,使用一条协议来上报到直播服务器:

posthttps://www.xxx.com/device/roomid?data=encryptdevicedata。

接着,直播服务器会接收到来自直播客户端的关注直播间请求,下面,对直播服务器在接收到关注直播间请求后,进行判断直播客户端是否接受观看用户对当前直播间的关注的过程进行说明,具体包括如下步骤:

在直播服务器接收到来自直播客户端的关注直播间请求时,直播服务器判断是否从直播客户端接收到针对当前直播间的事件信息;如果直播服务器接收到事件信息,直播服务器验证事件信息是否合法,如果直播服务器没有接收到事件信息,直播服务器拒绝关注直播间请求;如果事件信息合法,直播服务器验证关注直播间请求是否合法,如果关注直播间请求合法,直播服务器接受接收当前登录直播客户端的观看用户对当前直播间的关注,否则,直播服务器拒绝关注直播间请求。

进一步的,为了提高对直播间关注的验证准确性,在直播服务器判断是否从直播客户端接收到针对当前直播间的事件信息之前,还可以包括如下步骤:直播服务器判断是否从直播客户端接收到直播客户端所在终端设备的设备信息,关注直播间请求用于请求对当前直播间的关注;如果直播服务器接收到设备信息,直播服务器验证设备信息是否合法,如果直播服务器没有接收到设备信息,直播服务器拒绝关注直播间请求;如果设备信息合法,再执行直播服务器判断是否从直播客户端接收到针对当前直播间的事件信息的步骤。

通过同时还上报设备信息,从而可以进一步的提高伪造模拟虚假关注的门槛。

具体的,直播服务器验证设备信息是否合法的一种实施方式,具体可以为:验证从直播客户端接收到的设备信息是否是标准格式,以操作系统的系统版本号为例,接收到的系统版本号是否为公开的android系统版本号。国际移动设备识别码为例,接收到国际移动设备识别码的是为标准格式的国际移动设备识别码。直播服务器验证设备信息是否合法的另一种实施方式可以为:验证从直播客户端接收到的设备信息是否为注册在直播服务器上的设备信息匹配。

具体的,播服务器验证事件信息是否合法,具体的实施方式可以为:判断直播客户端上报的事件信息是否表征为在关注按钮上的真实点击操作。具体而言,判断是否存在用户点击屏幕的标记、x坐标和y坐标,存在,则表明是在关注按钮上的真实点击操作,直播客户端上报的事件信息是合法,否则,直播客户端上报的事件信息是非法的。

具体的,为了直播服务器验证关注直播间请求是否合法,具体包括如下步骤:

步骤c1、从关注直播间请求中解析出客户端鉴权值,其中,客户端鉴权值为直播客户端调用目标算法集合对客户端共享密钥进行处理的结果,目标算法集合为直播服务向直播客户端下发的算法标识在直播客户端中确定;

步骤c2:生成与客户端共享密钥相同的服务器共享密钥。

直播服务器生成服务器共享秘钥的过程已经在前文进行说明,为了说明书的简洁,这里不再赘述。

步骤c3:调用由算法标识在直播服务器中所确定的目标算法集合对服务器共享密钥进行处理,生成服务器鉴权值。

需要说明的是,直播服务器所依据的加密算法序号和哈希算法序号与直播服务器下发给直播客户端的加密算法序号和哈希算法序号对应相同,从而,直播服务器从直播服务器中所集成的加密算法库中确定的加密算法和哈希算法与直播客户端所用加密算法和哈希算法是对应相同的。

步骤c4:判断客户端鉴权值是否与服务器鉴权值一致,如果一致,确定关注直播间请求合法,如果不一致,确定关注直播间请求不合法。

由于需要判断设备信息、事件信息以及关注直播间请求,因此,直播服务器需要三条协议请求,缺少任意一条协议请求,或者任意一条不合法则都拒绝对当前直播间的关注,提高了验证直播间关注的准确性,避免了刷关注的可能。

基于同一发明构思,参考图2所示,本发明实施例提供一种验证直播间关注的方法,应用于直播服务器,包括:

s201、接收到来自直播客户端的关注直播间请求时,判断是否从所述直播客户端接收到对所述当前直播间的关注点击事件的事件信息;

s202、如果接收到所述事件信息,验证所述事件信息是否合法,如果没有接收到所述事件信息,拒绝所述关注直播间请求;

s203、如果所述事件信息合法,验证所述关注直播间请求中携带的客户端鉴权值是否合法,如果所述客户端鉴权值合法,接受接收当前登录所述直播客户端的观看用户对所述当前直播间的关注,否则,拒绝所述关注直播间请求。

在一实施例中,所述验证所述关注直播间请求中携带的客户端鉴权值是否合法,包括如下步骤:

s2031、从所述关注直播间请求中解析出所述客户端鉴权值,其中,所述客户端鉴权值为所述直播客户端调用目标算法集合对客户端共享密钥进行处理的结果,所述目标算法集合为根据所述直播服务向所述直播客户端下发的算法标识在确定;

s2032、生成与所述客户端共享密钥相同的服务器共享密钥;

s2033、调用由所述算法标识所确定的所述目标算法集合,对所述服务器共享密钥进行处理,生成服务器鉴权值;

s2034、判断所述客户端鉴权值是否与所述服务器鉴权值一致,如果一致,确定所述客户端鉴权值合法,基于所述客户端鉴权值合法确定所述关注直播间请求合法,如果不一致,确定客户端鉴权值不合法,基于客户端鉴权值不合法确定所述关注直播间请求不合法。

具体而言,客户端鉴权值合法,则关注直播间请求合法;如果客户端鉴权值不合法,则客户端鉴权值不合法。

基于同一发明构思,本发明实施例提供一种直播间关注系统,应用于直播客户端,参考图3所示,该直播间关注系统包括:

登陆处理单元301,用于在所述直播客户端登陆至当前直播间时,生成与所述直播服务器所生成的服务器共享密钥相同的客户端共享密钥,以及接收所述直播服务器下发的算法标识;

事件信息获取单元302,用于在所述直播客户端处于所述当前直播间过程中,获取对所述当前直播间的关注点击事件的事件信息,所述关注点击事件为基于当前登录在所述直播客户端的观看用户对所述当前直播间的关注操作产生;

关注请求生成单元303,用于调用由所述算法标识所确定的目标算法集合,对所述客户端共享密钥进行处理,生成携带有客户端鉴权值的关注直播间请求;

发送单元304,用于向所述直播服务器发送所述关注直播间请求和所述事件信息,使得所述直播服务器根据所述事件信息和所述关注直播间请求判断是否接受所述观看用户对所述当前直播间的关注。

在一实施方式下,所述登陆处理单元301,包括:

信息请求子单元,用于在所述直播客户端登陆至所述当前直播间时,向所述直播服务器发送房间信息请求;

信息接收子单元,用于接收所述直播服务器针对所述房间信息请求反馈的房间信息,在所述房间信息中携带有所述算法标识。

在一实施方式下,所述登陆处理单元301,包括:

秘钥生成子单元,用于在所述直播客户端登陆至所述当前直播间时,生成客户端私钥以及与所述生成客户端私钥配对的客户端公钥;

公钥发送子单元,用于向所述直播服务器发送所述客户端公钥,使得所述直播服务器根据所述客户端公钥和所述直播服务器生成的服务器私钥生成所述服务器共享密钥;

私钥接收子单元,用于接收来自所述直播服务器的与所述服务器私钥配对的服务器公钥,所述服务器公钥为根据所述服务器私钥和所述客户端公钥生成;

共享秘钥生成子单元,用于根据所述客户端私钥和所述服务器公钥生成所述客户端共享密钥。

在一实施方式下,所述秘钥生成子单元,具体用于:

从所述房间信息中确定所述当前直播间的房间号;

调用私钥生成函数,根据随机数据、所述当前直播间的房间号、以及所述观看用户的用户身份信息生成所述客户端私钥;

调用公钥生成函数,根据所述客户端私钥生成所述客户端公钥。

在一实施方式下,所述算法标识包括加密算法序号和哈希算法序号,所述关注请求生成单元303,具体包括:

加密子单元,用于从所述直播客户端所集成的加密算法库中调用所述加密算法序号所对应的加密算法,基于所述客户端共享密钥、所述观看用户的用户身份信息、所述直播服务器下发的时间戳信息进行加密处理,得到加密结果数据;

数据长度确定子单元,用于确定所述加密结果数据的数据长度;

鉴权值生成单元,用于从所述直播客户端所集成的哈希算法库中调用所述哈希算法序号所对应的哈希算法,基于所述加密结果数据和所述加密结果数据的数据长度计算出所述客户端鉴权值;

关注请求构建单元,用于根据所述客户端鉴权值构建所述关注直播间请求。

由于本实施例所介绍的直播间关注系统为实施直播间关注方法所采用的系统,故而基于本发明实施例中所介绍的直播间关注方法,本领域所属技术人员能够了解本实施例的直播间关注系统的具体实施方式以及其各种变化形式,所以在此对于该直播间关注系统如何实现本发明实施例中直播间关注方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中直播间关注方法所采用的系统,都属于本发明所欲保护的范围。

基于同一发明构思,本发明实施例提供一种验证直播间关注的系统,应用于直播服务器,参考图4所示,验证直播间关注的系统包括:

第一接收判断单元401,用于接收到来自直播客户端的关注直播间请求时,判断是否从所述直播客户端接收到对所述当前直播间的关注点击事件的事件信息;

信息验证单元402,用于如果接收到所述事件信息,验证所述事件信息是否合法,如果没有接收到所述事件信息,拒绝所述关注直播间请求;

请求验证单元403,用于如果所述事件信息合法,验证所述关注直播间请求中携带的客户端鉴权值是否合法,如果所述客户端鉴权值合法,接受接收当前登录所述直播客户端的观看用户对所述当前直播间的关注,否则,拒绝所述关注直播间请求。

在一实施例中,所述请求验证单元403,包括:

请求解析子单元,用于从所述关注直播间请求中解析出所述客户端鉴权值,其中,所述客户端鉴权值为所述直播客户端调用目标算法集合对客户端共享密钥进行处理的结果,所述目标算法集合为根据所述直播服务向所述直播客户端下发的算法标识在确定;

共享秘钥生成子单元,用于生成与所述客户端共享密钥相同的服务器共享密钥;

服务器鉴权值生成子,用于调用由所述算法标识所确定的所述目标算法集合,对所述服务器共享密钥进行处理,生成服务器鉴权值;

判断所述客户端鉴权值是否与所述服务器鉴权值一致;

如果一致,确定所述客户端鉴权值合法,基于所述客户端鉴权值合法确定所述关注直播间请求合法,如果不一致,确定所述客户端鉴权值不合法,基于所述客户端鉴权值不合法确定所述关注直播间请求不合法。

由于本实施例所介绍的验证直播间关注的系统为实施验证直播间关注的方法所采用的系统,故而基于本发明实施例中所介绍的验证直播间关注方法,本领域所属技术人员能够了解本实施例的验证直播间关注的系统的具体实施方式以及其各种变化形式,所以在此对于该验证直播间关注的系统如何实现本发明实施例中的验证直播间关注的方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中验证直播间关注的方法所采用的系统,都属于本发明所欲保护的范围。

基于同一发明构思,本发明实施例提供一种移动终端500,参考图5所示,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序511,处理器520执行程序511时实现前述直播间关注方法实施例中任一实施方式所述步骤。

基于同一发明构思,本发明实施例提供一种直播服务器,参考图6所示,该直播服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。

服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。中央处理器执行所述程序时实现前述验证直播间关注的方法实施例中任一实施方式所述的步骤。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1