CN108259183B - 一种关注方法、装置、电子设备及介质 - Google Patents

一种关注方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN108259183B
CN108259183B CN201810029063.8A CN201810029063A CN108259183B CN 108259183 B CN108259183 B CN 108259183B CN 201810029063 A CN201810029063 A CN 201810029063A CN 108259183 B CN108259183 B CN 108259183B
Authority
CN
China
Prior art keywords
client
server
key
attention
authentication value
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
CN201810029063.8A
Other languages
English (en)
Other versions
CN108259183A (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.)
Wuhan Douyu Network Technology 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 CN201810029063.8A priority Critical patent/CN108259183B/zh
Publication of CN108259183A publication Critical patent/CN108259183A/zh
Application granted granted Critical
Publication of CN108259183B publication Critical patent/CN108259183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

本发明公开了一种关注方法、装置、电子设备和介质,方法包括:生成目标直播间对应的客户端密钥;发送客户端密钥至服务器,并接收服务器发送的服务器密钥,基于客户端密钥和服务器密钥,生成客户端共享密钥;接收服务器下发的加密算法序号和哈希算法序号;采用加密算法序号对应的加密算法,对客户端信息和客户端共享密钥进行加密计算,获得加密数据;采用哈希算法序号对应的哈希算法,对加密数据进行哈希计算,获得客户端鉴权值;当接收到关注操作后,发送携带客户端鉴权值的关注请求至服务器。本发明解决了现有技术中主播关注方法极易被黑客使用脚本批量的刷关注,存在的安全性低的技术问题。实现了防止刷关注和提高安全性的技术效果。

Description

一种关注方法、装置、电子设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种关注方法、装置、电子设备及介质。
背景技术
目前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用,进行直播的主播的数量也越来越多。为了便于用户方便查找主播,各个直播平台也推出了相关的活动来鼓励观众关注主播,同时直播平台也可以通过关注数量来考察主播的粉丝量及直播的质量。
在主播数量急剧增加的情况下,主播之间的竞争也越加激烈。因此一些主播会通过购买黑客提供的刷主播关注服务来伪造虚假的关注数量。由于目前关注某个主播,只是当用户点击页面上的关注按钮时,客户端则会发送一个简单的HTTP请求,告诉服务器该客户端关注此房间,并且此条HTTP请求协议仅仅只有房间号信息,故极易被黑客通过批量注册用户,编写脚本自动的来刷主播的关注数量,从而实现非法盈利,极大的造成了直播平台的损失。
可见,现有的主播关注方法极易被黑客使用脚本批量的刷关注,存在安全性低的技术问题。
发明内容
本申请实施例通过提供一种关注方法、装置、电子设备及介质,解决了现有的主播关注方法极易被黑客使用脚本批量的刷关注,存在的安全性低的技术问题。
第一方面,提供一种关注方法,所述方法应用于客户端,包括:
接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;
发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值。
可选的,所述按预设规则生成所述目标直播间对应的客户端密钥,包括:根据所述目标直播间的房间号和第一随机数据,生成所述目标直播间对应的客户端私钥;采用非对称算法,根据所述客户端私钥,生成所述客户端私钥匹配的客户端公钥;所述客户端密钥包括所述客户端私钥和所述客户端公钥;所述发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥,包括:发送所述客户端公钥至所述服务器,并接收所述服务器发送的服务器公钥;基于所述服务器公钥和所述客户端私钥,采用预设加密算法生成所述客户端共享密钥。
可选的,所述采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据,包括:从预存的加密算法库中,确定出与所述加密算法序号对应的加密算法;采用所述加密算法对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;其中,所述客户端信息包括:用户身份证明(User Identification,UID)、所述目标直播间的房间号、用户登录时的令牌Token和所述客户端请求房间信息时所述服务器下发的时间戳信息;采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值,包括:从预存的哈希算法库中,确定出与所述哈希算法序号对应的加密哈希算法;采用所述哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值。
第二方面,提供一种关注方法,所述方法应用于直播服务器,包括:
接收客户端发送的开启目标直播间页面的开启请求后,按预设规则生成所述目标直播间对应的服务器密钥;所述开启请求携带所述客户端的客户端信息;
发送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥;
发送房间信息至所述客户端,所述房间信息携带加密算法序号和哈希算法序号;
采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值;
接收所述客户端发送的携带所述客户端鉴权值的关注请求,所述客户端鉴权值是所是客户端基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的客户端鉴权值;
判断所述客户端鉴权值与所述服务器鉴权值是否一致;
如果一致,则确认所述关注请求为合法请求。
可选的,所述按预设规则生成所述目标直播间对应的服务器密钥,包括:根据所述目标直播间的房间号和第二随机数据,生成所述目标直播间对应的服务器私钥;采用非对称算法,根据所述服务器私钥,生成所述服务器私钥匹配的服务器公钥;所述服务器密钥包括所述服务器私钥和所述服务器公钥;所述送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥,包括:发送所述服务器公钥至所述客户端,并接收所述客户端发送的客户端公钥;基于所述客户端公钥和所述服务器私钥,采用预设加密算法生成所述服务器共享密钥。
可选的,所述采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据,包括:从预存的加密算法库中,确定出与所述加密算法序号对应的加密算法;采用所述加密算法对所客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;其中,所述客户端信息包括:用户身份证明(User Identification,UID)、所述目标直播间的房间号、用户登录时的令牌Token和所述客户端请求房间信息时所述服务器下发的时间戳信息;采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值,包括:从预存的哈希算法库中,确定出与所述哈希算法序号对应的加密哈希算法;采用所述哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值。
第三方面,提供一种关注装置,所述装置为客户端,包括:
第一接收模块,用于接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;
第一发送模块,用于发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
第二接收模块,用于接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
第一加密模块,用于采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
第一哈希模块,用于采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
第二发送模块,用于当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值。
第四方面,提供一种关注装置,所述装置为直播服务器,包括:
第三接收模块,用于接收客户端发送的开启目标直播间页面的开启请求后,按预设规则生成所述目标直播间对应的服务器密钥;所述开启请求携带所述客户端的客户端信息;
第三发送模块,用于发送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥;
第四发送模块,用于发送房间信息至所述客户端,所述房间信息携带加密算法序号和哈希算法序号;
第二加密模块,用于采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;
第二哈希模块,用于采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值;
第四接收模块,用于接收所述客户端发送的携带所述客户端鉴权值的关注请求,所述客户端鉴权值是所是客户端基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的客户端鉴权值;
判断模块,用于判断所述客户端鉴权值与所述服务器鉴权值是否一致;如果一致,则确认所述关注请求为合法请求。
第五方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现第一方面和第二方面任一所述的方法。
第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面和第二方面任一所述的方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的方法、装置、电子设备及介质,在关注请求中增加鉴权值来防止刷关注问题,并设置该客户端鉴权值是采用服务器每次下发的算法序号来对共享密钥进行计算获得的,一方面由于鉴权值并没有在网络中进行传输,从而能避免鉴权值和计算方法被黑客盗取,增加了安全性,另一方面可以使得每个客户端每次进入直播间时,加密算法都是变化的,HASH算法也是变化的,提高该鉴权值被破解的门槛,增加安全性。
进一步,还设置在客户端登录开启目标直播间页面后,对应生成该客户端在该目标直播间的唯一客户端密钥,且通过客户端与服务器交换密钥后直接在客户端计算获得客户端共享密钥,一方面保证了客户端和服务器共享密钥的一致性,另一方面由于密钥并没有在网络中进行传输,从而能避免密钥和计算方法被黑客盗取,增加了安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一中关注方法的流程图;
图2为本申请实施例二中关注方法的流程图;
图3为本申请实施例三中装置的结构示意图;
图4为本申请实施例四中装置的结构示意图;
图5为本申请实施例中电子设备的结构示意图;
图6为本申请实施例中计算机可读存储介质600的结构示意图。
具体实施方式
本申请实施例通过提供一种关注方法、装置、电子设备及介质,解决了现有的主播关注方法极易被黑客使用脚本批量的刷关注,存在的安全性低的技术问题。实现了防止盗刷关注和提高安全性的技术效果。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;
发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值。
具体来讲,通过在关注请求中增加鉴权值来防止刷关注问题,并设置该客户端鉴权值是采用服务器每次下发的算法序号来对共享密钥进行计算获得的,一方面由于鉴权值并没有在网络中进行传输,从而能避免鉴权值和计算方法被黑客盗取,增加了安全性,另一方面可以使得每个客户端每次进入直播间时,加密算法都是变化的,HASH算法也是变化的,提高该鉴权值被破解的门槛,增加安全性。
进一步,还设置在客户端登录开启目标直播间页面后,对应生成该客户端在该目标直播间的唯一客户端密钥,且通过客户端与服务器交换密钥后直接在客户端计算获得客户端共享密钥,一方面保证了客户端和服务器共享密钥的一致性,另一方面由于密钥并没有在网络中进行传输,从而能避免密钥和计算方法被黑客盗取,增加了安全性。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
如图1所示,本实施例提供了一种关注方法,所述方法应用于客户端,包括:
步骤S101,接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;
步骤S102,发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
步骤S103,接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
步骤S104,采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
步骤S105,采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
步骤S106,当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值。
在本申请实施例中,所述服务器可以为计算机设备、云端或计算机设备组,在此不作限制。所述客户端可以为智能手机、笔记本、台式电脑和平板电脑,在此也不作限制。
需要说明的是,现有的关注请求,即关注协议是:Post https://www.xxx.com/room/follow/add/Roomid,即通过HTTP请求的POST方法,将关注的房间号Roomid发送给服务器,服务器则认为关注成功。故黑客可以通过批量注册用户,编写脚本自动的生成该协议来刷主播的关注数量,存在较大安全问题。本申请在关注请求中增加了客户端鉴权值,即设置关注协议为:Post https://www.xxx.com/room/follow/add/Roomid?Key=EncryptKEY.其中,Key=EncryptKEY即为添加的客户鉴权值,并且该客户鉴权值是通过复杂计算得到的,如果黑客想要破解此协议使用脚本来实现批量关注,则首先需要破解此客户鉴权值算法,从而提高了其分析门槛,增加了安全性。
下面,结合图1来详细介绍本实施例提供的关注方法的具体实施步骤:`
首先,执行步骤S101,接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥。
具体来讲,当客户端每次打开一个直播间观看直播时,则会重新生成客户端密钥,保障每个客户端打开的每个直播间的密钥均不一样,从而提高整个数据传输的安全性。在具体实施过程中,密钥的生成方式和种类很多,在此不作限制。本申请为了提高密钥的解密难度设置该客户端密钥可以包括一对公钥和私钥。
在本申请实施例中,所述按预设规则生成所述目标直播间对应的客户端密钥,包括:
根据所述目标直播间的房间号和第一随机数据,生成所述目标直播间对应的客户端私钥;
采用非对称算法,根据所述客户端私钥,生成所述客户端私钥匹配的客户端公钥;所述客户端密钥包括所述客户端私钥和所述客户端公钥。
具体来讲,私钥的计算可以采用客户端的相关数据和开启的房间的相关数据作为计算参数,以使每个客户端每个房间号的私钥均不相同。本实施例使用第一随机数据和房间号的MD5值作为私钥,从而保障每个房间的私钥均不相同。
举例来讲,私钥的计算可以通过调用系统函数rand来生成一段随机数据,具体命令为:Randdata=rand(),从而生成所述第一随机数据Randdata。然后,通过调用Md5函数的接口Md5.Create来将所述第一随机数据和目标直播间的房间号拼接到一起计算其Md5值,从而得到了客户端私钥,具体命令为:ClientPrivatekey=Md5.Create(Randdata+RoomId),其中,所述客户端私钥为ClientPrivatekey,目标直播间的房间号为RoomId。
具体来讲,公钥的计算是采用预设的生成算法来计算所述客户端私钥获得的。所述预设的生成算法可以为非对称算法,而非对称算法有很多,本实施例则采用非对称RSA加密算法来生成一对公钥和私钥,具体的公钥是通过调用RSA的接口函数生成的,所述客户端私钥和所述客户端公钥是唯一配对的关系。
举例来讲,调用RSA的生成配对钥匙接口RSA.CreatePair来生成所述客户端公钥,具体命令为:ClientPublickey=RSA.CreatePair(ClientPrivatekey),其中,所述客户端公钥为ClientPublickey。
然后,执行步骤S102,发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥。
具体来讲,所述客户端生成所述客户端密钥后,会与所述服务器进行密钥互换,以保证客户端与服务器能够生成一至的共享密钥,进而生成一致的鉴权值。
需要说明的是,接收的所述服务器发送的服务器密钥的生成方式与所述客户端密钥的生成方式相同,具体来讲,服务器也会依照客户端的方式也来生成一对公钥和私钥。服务器密钥的生成也可以依照房间号,用户的UID以及第二随机数据来生成私钥,从而尽可能保障服务器对不同客户端不同直播房间生成的私钥均不一样,以保证后续能够鉴权,具体服务器密钥的生成方式将在实施例二中描述。
在本申请实施例中,所述发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥,包括:
发送所述客户端公钥至所述服务器,并接收所述服务器发送的服务器公钥;
基于所述服务器公钥和所述客户端私钥,采用预设加密算法生成所述客户端共享密钥。
具体来讲,所述服务器和所述客户端会交换各自的公钥,来生成共享的秘钥,并且客户端和服务器分别生成的共享秘钥是同一个值,以便于后续鉴权。为了保证服务器和客户端的共享密钥相同,可以设置所述共享密钥的生成方法为:
首先,所述服务器将服务器公钥ServerPublickey发送给所述客户端。所述客户端将客户端公钥ClientPublickey发送给服务器。然后,所述客户端生成客户端共享秘钥,具体生成命令可以为ShareKey=RSA.CreateShareKey(ServerPublickey,ClientPrivatekey),并且,所述服务器生成服务器共享秘钥,具体生成命令可以为ShareKey=RSA.CreateShareKey(ClientPublickey,ServerPrivatekey)。其中,ShareKey为共享密匙,从而保证服务器和客户端生成的共享密钥的值是一致的。
当然,在具体实施过程中,共享密钥的计算方法还可以采用其他算法,只需要保证服务器和客户端生成的共享密钥的值是一致的即可,在此不作限制。
然后,执行步骤S103,接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号。
需要说明的是,为了能增加安全性,提高黑客解密门槛,本实施例设置最终鉴权值的计算算法是变化的,每次的算法均可能不相同。具体是在所述服务器和所述客户端上均预先集成相同的开源的加密算法库和HASH算法库,并且算法库中的每个算法都会进行编号,所述服务器和所述客户端上算法库中算法的编号也相同。每次通过服务器下发不同的算法序号来实现采用不同的算法进行加密,黑客即使获取算法需要也不知道该序号对应的算法。
在本申请实施例中,所述加密算法序号和所述哈希算法序号可以是每次均随机抽取的,也可以是按照预设的规律确定的,在此不作限制。
具体来讲,正常的客户端打开直播间进行观看直播时,肯定会向服务器发送获取该直播间的房间信息的请求。当服务器接受到请求后,会下发房间信息给客户端,所述房间信息则会携带服务器下发的加密算法的序号和HASH算法的序号,从而可以使得每个客户端每次进入直播间时,加密算法都是变化的,HASH算法也是变化的,提高破解的门槛。
举例来讲,所述房间信息可以携带2个序号字段,一个字段是AlgNo,另一个字段是HashNo,同时也可以携带服务器当前的时间戳信息用于后续的加密算法的计算。服务器则可以使用随机策略来从所有的加密算法库随机选择一个加密算法序号,可以从所有HASH算法库中随机选择一个HASH算法序号。最终会在房间信息协议中携带给客户端。
然后,执行步骤S104和步骤S105,采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据。采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值。
在本申请实施例中,所述采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据,包括:
从预存的加密算法库中,确定出与所述加密算法序号对应的加密算法;
采用所述加密算法对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;其中,所述客户端信息包括:用户身份证明(User Identification,UID)、所述目标直播间的房间号、用户登录时的令牌Token和所述客户端请求房间信息时所述服务器下发的时间戳信息。
具体来讲,在关注请求协议中增加更多的字段,能提高关注请求协议被破解的难度,提高黑客破解的门槛,故本实施例基于UID、用户登录时的Token值和房间号等信息一起进行加密。
在本申请实施例中,采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值,包括:
从预存的哈希算法库中,确定出与所述哈希算法序号对应的加密哈希算法;
采用所述哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值。
具体来讲,在获得加密数据后再进行哈希计算获得客户端鉴权值,能进一步提高安全性。
举例来讲,当所述客户端获得所述加密算法序号和所述哈希算法序号后,需要从预存的算法库中确定出对应的算法。假设编写的加密算法库的接口是EncryptLib.GetFunc,则传入加密算法序号则得到具体的加密算法函数指针的命令为:EncryptFunc=EncryptLib.GetFunc(AlgNo),其中,EncryptFunc为确定的序号为AlgNo的加密算法。假设编写的哈希算法库的接口是HashLib.GetFunc,则传入哈希算法序号则得到具体的哈希算法函数指针的命令为:HashFunc=HashLib.GetFunc(HashNo),其中,HashFunc为确定的序号为HashNo的哈希算法。
然后,客户端通过调用上述确定的加密函数指针EncryptFunc来执行数据的加密,其中输入的数据包括用户的UID信息、房间号、用户登录时的Token、客户端请求房间信息时服务器下发的时间戳信息和所述客户端共享密钥。具体加密命令为:EncryptData=EncryptFunc(UID+RoomId+Token+Timestamp,ShareKey),其中,计算出的加密数据为EncryptData,UID为用户的UID信息,RoomId为直播间房间号,Token为用户登录时的令牌Token,Timestamp为客户端请求房间信息时服务器下发的时间戳信息,ShareKey为所述客户端共享密钥。
再下来,客户端通过调用上述确定的哈希函数HashFunc来对加密数据EncryptData进行哈希计算,具体可以是对所述加密数据进行MD5值计算,具体计算命令为EncryptKEY=HashFunc(EncryptData,EncryptDataLength),其中,参数EncryptDataLength则是EncryptData的数据长度,EncryptKEY则为需要计算的客户端鉴权值。
再下来,执行步骤S106,当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值。
具体来讲,当用户在所述客户端点击直播间里的关注按钮时,客户端请求服务器进行关注的关注请求则是:Post https://www.xxx.com/room/follow/add/Roomid?Key=EncryptKEY,相较于现有的关注请求添加了key字段,并且该字段通过在客户端本地进行计算,设置算法序号来使算法为变化状态,设置哈希加密等实现了复杂化,使黑客难以破解。
需要说明的是,服务器会判断收到的关注请求中是佛携带所述客户端鉴权值(key字段),如没有,则认为该关注请求不合法,如果有,所述服务器会进一步比对服务器鉴权值与客户端鉴权值是否一致,因为所述服务器的服务器鉴权值的计算方法与所述客户端的客户端鉴权值的计算方法一致,也是根据服务器发送给客户端的加密算法序号和哈希算法序号确定的算法来加密的,且也将服务器共享密钥作为输入,故获得的服务器鉴权值与关注请求中的客户端鉴权值应该相等,如不相等则可以认为所述观注请求是非法的,不予认可,拒绝给其增加关注。
在本申请实施例中,为了进一步防止黑客刷关注,还采取了结合客户端用户行为来进行关注请求是否合法的判断,详述如下:
本申请设置服务器会结合客户端发的请求信息来判断所述关注请求是否为合法请求,增加了黑客刷关注的门槛,提高了安全性。
下面,详细介绍本实施例提供的关注方法的具体实施步骤:`
首先,接收所述客户端发送的关注请求,所述关注请求表征所述客户端请求对目标直播间的目标主播添加关注。
在本申请实施例中,所述关注请求可以是通过用户在所述客户端上点击直播网站页面上的关注按钮发送的关注请求,也可以是用户输入关注命令发送的关注请求在此不作限制。现有的关注请求的协议为:Post https://www.xxx.com/room/follow/add/Roomid。
然后,基于所述关注请求,判断是否接收过所述客户端发送的请求信息,所述请求信息表征所述客户端的用户行为;如果接受过所述客户端的请求信息,则根据所述请求信息判断所述关注请求是否为合法请求。
在本申请实施例中,所述请求信息可以是发送关注请求之前发送给所述服务器的,也可以是随所述关注请求一同发送至所述服务器的,还可以是在发送关注请求后,在服务器判断是否接收过所述客户端发送的请求信息之前发送给所述服务器的,在此不作限制。
在本申请实施例中,根据所述请求信息的不同,可以有不同的判断所述关注请求是否合法的方法,下面列举两种为例:
第一种,根据鼠标操作信息判断。
即所述基于所述关注请求,判断是否接收过所述客户端发送的请求信息,包括:
基于所述关注请求,判断是否接收过所述客户端发送的请求信息,所述请求信息包括所述客户端的鼠标移动轨迹数据和鼠标点击数据;
所述根据所述请求信息判断所述关注请求是否为合法请求,包括:
根据所述鼠标移动轨迹数据判断所述鼠标是否位于所述客户端的直播间页面的关注按钮显示区域中,并根据所述鼠标点击数据判断是否存在所述关注按钮显示区域中的鼠标点击事件;
如果所述鼠标位于所述关注按钮显示区域中,且存在所述关注按钮显示区域中的鼠标点击事件,则确定所述关注请求为合法请求。
具体来讲,客户端会监控所述客户端的直播间页面上的鼠标操作情况,当检测到所述鼠标移动至直播间页面的关注按钮显示区域并点击所述关注按钮时,客户端会记录所述客户端的鼠标移动轨迹数据和鼠标点击数据,并发送所述请求信息至服务器,所述请求信息包括所述鼠标移动轨迹数据和所述鼠标点击数据。其中,所述鼠标移动轨迹数据包括用户鼠标是否有运动轨迹、鼠标最终点击时的相对于页面的位置信息,以及鼠标运动的轨迹坐标等;所述鼠标点击数据包括是否有鼠标左键的点击事件等。
进一步,为了增加安全性,可以在客户端记录所述鼠标移动轨迹数据和所述鼠标点击数据之后,将所述鼠标移动轨迹数据和所述鼠标点击数据进行加密,再将加密后的数据发送给服务器。具体加密命令可以为:EncryptMouseData=EncryptFunc(POS+hit,ShareKey),其中,POS为所述鼠标移动轨迹数据,hit为鼠标点击数据,ShareKey为预设的或者计算出的加密密钥,EncryptMouseData为加密后的数据。具体可以使用除所述关注请求协议外的另一条https协议请求将加密后的数据发送给服务器,具体发送的请求信息协议可以为:Post https://www.xxx.com/room/pt/Roomid?ms=EncryptMouseData。
当服务器接收到所述关注请求后,会先判断是否接收到包括所述鼠标移动轨迹数据和所述鼠标点击数据的请求信息,如果没有则服务器直接判断客户端的关注请求是非法的;如果有则进一步则对请求信息进行解密获得所述鼠标移动轨迹数据和所述鼠标点击数据。然后,服务器会根据所述鼠标移动轨迹数据和所述鼠标点击数据判断是否有鼠标点击事件,点击鼠标位置是否在直播间页面的关注按钮的显示区域内,如果有鼠标点击事件,且点击位置在所述显示区域内则认为该请求是合法请求,如果没有鼠标点击事件或者点击位置不在所述显示区域内,则认为客户端发送的关注请求是非法的。
具体来讲,如果是黑客伪造的关注请求,则黑客并没有实质的开启直播间页面,也没有实质的进行鼠标移动和点击关注按钮的操作,故非法关注请求没有鼠标点击和位置数据,通过上述方法可以有效识别和过滤非法关注请求。
第二种,根据是否有页面请求信息判断。
即所述基于所述关注请求,判断是否接收过所述客户端发送的请求信息,包括:
所述基于所述关注请求,判断所述服务器存储的状态标记是数值是否为0,其中,所述状态标记的起始值为0,所述服务器每接收一次所述客户端发送的请求信息则会对所述状态标记加1;
所述如果接受过所述客户端的请求信息,则根据所述请求信息判断所述关注请求是否为合法请求,包括:
如果所述状态标记不为0,则确定所述关注请求为合法请求。
具体来讲,当用户在客户端开启直播间页面进行观看直播时,则肯定会发送请求信息至服务器,以请求获取该直播间的播放内容。所述服务器中预设有状态标记,所述状态标记的初始值为0,如果所述服务器一直没有接收到客户端的请求信息,则该客户端对应的状态标记一直为0,如果服务器接收到客户端的请求信息,则会将所述状态标记置位为1。如果是黑客伪造的关注请求,则黑客并没有实质的开启直播间页面,该状态标记一直为0。
故,当服务器接收到所述关注请求后,可以首先验证服务器记录的该客户端的信息请求的状态标记,如果此标记为0则说明所述关注请求为非法请求。
具体来讲,如果是黑客伪造的关注请求,则黑客并没有实质的开启直播间页面,该状态标记一直为0。故非法关注请求对应的状态标记为0,通过上述方法可以有效识别和过滤非法关注请求。
当然,在具体实施过程中,还可以结合上述两种来一同识别非法关注请求,即只有在状态标记不为0,且有鼠标点击事件,且点击位置在所述显示区域内时,才认为该关注请求是合法请求。
接下来,如果所述关注请求为合法请求,则增加并记录所述客户端对所述目标主播的关注,并发送表征关注成功的关注成功信息至所述客户端。
下面,以结合状态标记、鼠标操作信息和鉴权值三种方式来共同进行防刷关注为例,说明服务器加关注的流程:
当服务器收到客户端的关注请求后,首先验证服务器记录的该客户端的状态标记,如果此状态标记为0则说明该关注请求非法,如果此状态标记不为0则进一步的服务器判断客户端是否有上报包括鼠标移动记录的请求信息,如果没有则服务器直接判断该关注请求非法,如果有,则进一步服务器对上报的请求信息进行解密,从而得到解密的鼠标移动轨迹数据和鼠标点击数据。然后,服务器判断是否有鼠标点击事件,且鼠标点击位置是否在关注按钮的显示区域内,如果没有鼠标点击事件或鼠标点击位置不在关注按钮的显示区域内,则认为该请求是非法的,如果有鼠标点击事件且鼠标点击位置在关注按钮的显示区域内,则进一步的对关注请求中的客户端鉴权值EncryptKEY值进行合法性判断。同样的服务器也会按照客户端的算法计算得到自己的服务器鉴权值ServerEncryptKEY,如果客户端鉴权值与服务器鉴权值不一致或关注请求没有携带客户端鉴权值,则拒绝给其增加关注,如果一致才认为该关注请求是合法请求,同意增加关注。
具体来讲,在服务器接收到关注请求后,本申请会根据是否接收过所述客户端发送的请求信息,及所述请求信息表征的客户端的用户行为是否符合要求来判断所述关注请求是否为合法请求,如果是合法请求才会增加关注,从而能识别出黑客直接通过批量注册用户,编写脚本自动的来刷主播的关注数量的情况,增加了安全性。
进一步,通过在关注请求中增加鉴权值来防止刷关注问题,并设置该客户端鉴权值是采用服务器每次下发的算法序号来对共享密钥进行计算获得的,一方面由于鉴权值并没有在网络中进行传输,从而能避免鉴权值和计算方法被黑客盗取,增加了安全性,另一方面可以使得每个客户端每次进入直播间时,加密算法都是变化的,HASH算法也是变化的,提高该鉴权值被破解的门槛,增加安全性。
进一步,还设置在客户端登录开启目标直播间页面后,对应生成该客户端在该目标直播间的唯一客户端密钥,且通过客户端与服务器交换密钥后直接在客户端计算获得客户端共享密钥,一方面保证了客户端和服务器共享密钥的一致性,另一方面由于密钥并没有在网络中进行传输,从而能避免密钥和计算方法被黑客盗取,增加了安全性。
基于同一发明构思,本申请提供了实施例一对应在服务器侧的方法,详见实施例二。
实施例二
本实施例提供一种关注方法,如图2所示,所述方法应用于直播服务器,包括:
步骤S201,接收客户端发送的开启目标直播间页面的开启请求后,按预设规则生成所述目标直播间对应的服务器密钥;所述开启请求携带所述客户端的客户端信息;
步骤S202,发送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥;
步骤S203,发送房间信息至所述客户端,所述房间信息携带加密算法序号和哈希算法序号;
步骤S204,采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;
步骤S205,采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值;
步骤S206,接收所述客户端发送的携带所述客户端鉴权值的关注请求,所述客户端鉴权值是所是客户端基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的客户端鉴权值;
步骤S207,判断所述客户端鉴权值与所述服务器鉴权值是否一致;
步骤S208,如果一致,则确认所述关注请求为合法请求。
在本申请实施例中,所述服务器可以为计算机设备、云端或计算机设备组,在此不作限制。所述客户端可以为智能手机、笔记本、台式电脑和平板电脑,在此也不作限制。
在本申请实施例中,所述按预设规则生成所述目标直播间对应的服务器密钥,包括:
根据所述目标直播间的房间号和第二随机数据,生成所述目标直播间对应的服务器私钥;
采用非对称算法,根据所述服务器私钥,生成所述服务器私钥匹配的服务器公钥;所述服务器密钥包括所述服务器私钥和所述服务器公钥。
具体来讲,所述服务器也会依照实施例一种客户端的方式也来生成一对公钥和私钥信息,具体可以依照直播房间的房间号,用户的UID以及第二随机数据来生成服务器私钥,从而尽可能保障不同客户端不同房间的服务器私钥不一样。
举例来讲,所述服务器通过调用系统函数rand来生成第二随机数据Randdata,具体命令为:Randdata=rand()。然后,通过调用Md5函数的接口Md5.Create,依据房间号RoomId、用户Uid和第二随机数Randdata生成其Md5值做为服务器私钥ServerPrivatekey,具体命令为:ServerPrivatekey=Md5.Create(Randdata+Uid+RoomId)。
然后,服务器调用RSA的生成配对钥匙接口RSA.CreatePair来生成服务器公钥ServerPublickey,具体命令为:ServerPublickey=RSA.CreatePair(ServerPrivatekey),所述服务器私钥和所述服务器公钥组成所述服务器密钥。
在本申请实施例中,所述送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥,包括:
发送所述服务器公钥至所述客户端,并接收所述客户端发送的客户端公钥;
基于所述客户端公钥和所述服务器私钥,采用预设加密算法生成所述服务器共享密钥。
举例来讲,所述服务器将服务器公钥ServerPublickey发送给所述客户端。所述客户端将客户端公钥ClientPublickey发送给服务器。然后,所述客户端生成客户端共享秘钥,具体生成命令可以为ShareKey=RSA.CreateShareKey(ServerPublickey,ClientPrivatekey),并且,所述服务器生成服务器共享秘钥,具体生成命令可以为ShareKey=RSA.CreateShareKey(ClientPublickey,ServerPrivatekey)。其中,ShareKey为共享密匙,从而保证服务器和客户端生成的共享密钥的值是一致的。
在本申请实施例中,所述采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据,包括:
从预存的加密算法库中,确定出与所述加密算法序号对应的加密算法;
采用所述加密算法对所客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;其中,所述客户端信息包括:用户身份证明(User Identification,UID)、所述目标直播间的房间号、用户登录时的令牌Token和所述客户端请求房间信息时所述服务器下发的时间戳信息;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值,包括:
从预存的哈希算法库中,确定出与所述哈希算法序号对应的加密哈希算法;
采用所述哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值。
具体来讲,本实施例通过对关注请求的协议增加加密值,提高其被黑客破解的难度。由于只有登录的用户才能点击关注,本实施例的加密算法则会只有用户登录到直播间后,才能计算出正确的鉴权KEY值。并且通过设置客户端和服务器每次登陆后进行网络数据交互后,生成一个后续加密算法使用的EncryptKEY值,此EncryptKEY是通过计算得到,并没有在网络中进行传输,从而提高此EncryptKEY的安全性。
具体根据所述服务器共享密钥获得所述服务器鉴权值的方法与实施例一中根据所述客户端共享密钥获得所述客户端鉴权值的方法相同,计算出的服务器鉴权值与所述客户端鉴权值也一致,为了说明书的简洁,在此不再累述。
基于同一发明构思,本申请提供了实施例一对应的装置实施例,详见实施例三。
实施例三
本实施例提供一种关注装置,如图3所示,所述装置为客户端,包括:
第一接收模块301,用于接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;
第一发送模块302,用于发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
第二接收模块303,用于接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
第一加密模块304,用于采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
第一哈希模块305,用于采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
第二发送模块306,用于当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值。
由于本实施例所介绍的装置为实施本申请实施例一中方法所采用的装置,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例二对应的装置实施例,详见实施例四。
实施例四
本实施例提供一种关注装置,如图4所示,所述装置为直播服务器,包括:
第三接收模块401,用于接收客户端发送的开启目标直播间页面的开启请求后,按预设规则生成所述目标直播间对应的服务器密钥;所述开启请求携带所述客户端的客户端信息;
第三发送模块402,用于发送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥;
第四发送模块403,用于发送房间信息至所述客户端,所述房间信息携带加密算法序号和哈希算法序号;
第二加密模块404,用于采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;
第二哈希模块405,用于采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值;
第四接收模块406,用于接收所述客户端发送的携带所述客户端鉴权值的关注请求,所述客户端鉴权值是所是客户端基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的客户端鉴权值;
判断模块407,用于判断所述客户端鉴权值与所述服务器鉴权值是否一致;如果一致,则确认所述关注请求为合法请求。
由于本实施例所介绍的装置为实施本申请实施例二中方法所采用的装置,故而基于本申请实施例二中所介绍的方法,本领域所属技术人员能够了解本实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一和实施例二对应的设备实施例,详见实施例五。
实施例五
本实施例提供一种电子设备,所述电子设备为客户端,如图5所示,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序511,处理器520执行计算机程序511时实现以下步骤:
接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;
发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值。
本实施例还提供一种电子设备,所述电子设备为直播服务器,如图5所示,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序511,处理器520执行计算机程序511时实现以下步骤:
接收客户端发送的开启目标直播间页面的开启请求后,按预设规则生成所述目标直播间对应的服务器密钥;所述开启请求携带所述客户端的客户端信息;
发送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥;
发送房间信息至所述客户端,所述房间信息携带加密算法序号和哈希算法序号;
采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值;
接收所述客户端发送的携带所述客户端鉴权值的关注请求,所述客户端鉴权值是所是客户端基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的客户端鉴权值;
判断所述客户端鉴权值与所述服务器鉴权值是否一致;
如果一致,则确认所述关注请求为合法请求。
在具体实施过程中,处理器520执行计算机程序511时,可以实现实施例一或实施例二中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一或实施例二中方法所采用的设备,故而基于本申请实施例一或实施例二中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一和实施例二对应的存储介质实施例,详见实施例六。
实施例六
本实施例提供一种计算机可读存储介质600,如图6所示,其上存储有计算机程序611,该计算机程序611被处理器执行时实现实施例一或实施例二所述的方法。
在具体实施过程中,该计算机程序611被处理器执行时,可以实现实施例一或实施例二中任一实施方式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种关注方法,其特征在于,所述方法应用于客户端,所述方法适用所述客户端关注目标直播间的场景;所述客户端上预先集成加密算法库和哈希算法库,并且加密算法库中的每个算法对应一个加密算法序号,哈希算法库中的每个算法对应一个哈希算法序号;包括:
接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;其中,所述客户端密钥是根据所述目标直播间的房间号和第一随机数据生成的,且不同的目标直播间对应的客户端密钥不同;
发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
接收所述服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值;
在所述服务器根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致之前,所述方法还包括:
所述服务器基于所述关注请求,判断是否接收过所述客户端发送的请求信息,所述请求信息包括所述客户端的鼠标移动轨迹数据和鼠标点击数据;所述服务器根据所述鼠标移动轨迹数据判断所述鼠标是否位于所述客户端的直播间页面的关注按钮显示区域中,并根据所述鼠标点击数据判断是否存在所述关注按钮显示区域中的鼠标点击事件;如果所述鼠标位于所述关注按钮显示区域中,且存在所述关注按钮显示区域中的鼠标点击事件,再根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,以确定所述关注请求为合法请求。
2.如权利要求1所述的方法,其特征在于,
所述按预设规则生成所述目标直播间对应的客户端密钥,包括:
根据所述目标直播间的房间号和第一随机数据,生成所述目标直播间对应的客户端私钥;
采用非对称算法,根据所述客户端私钥,生成所述客户端私钥匹配的客户端公钥;所述客户端密钥包括所述客户端私钥和所述客户端公钥;
所述发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥,包括:
发送所述客户端公钥至所述服务器,并接收所述服务器发送的服务器公钥;
基于所述服务器公钥和所述客户端私钥,采用预设加密算法生成所述客户端共享密钥。
3.如权利要求1所述的方法,其特征在于,
所述采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据,包括:
从预存的加密算法库中,确定出与所述加密算法序号对应的加密算法;
采用所述加密算法对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;其中,所述客户端信息包括:用户身份证明(User Identification,UID)、所述目标直播间的房间号、用户登录时的令牌Token和所述客户端请求房间信息时所述服务器下发的时间戳信息;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值,包括:
从预存的哈希算法库中,确定出与所述哈希算法序号对应的加密哈希算法;
采用所述哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值。
4.一种关注方法,其特征在于,所述方法应用于直播服务器,所述方法适用客户端关注目标直播间的场景;所述服务器上预先集成加密算法库和哈希算法库,并且加密算法库中的每个算法对应一个加密算法序号,哈希算法库中的每个算法对应一个哈希算法序号;包括:
接收客户端发送的开启目标直播间页面的开启请求后,按预设规则生成所述目标直播间对应的服务器密钥;所述开启请求携带所述客户端的客户端信息;其中,所述服务器密钥是根据所述目标直播间的房间号和第二随机数据生成的,且不同客户端的不同房间的服务器私钥不相同;
发送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥;
发送房间信息至所述客户端,所述房间信息携带加密算法序号和哈希算法序号;
采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值;
接收所述客户端发送的携带所述客户端鉴权值的关注请求,所述客户端鉴权值是所是客户端基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的客户端鉴权值;
判断所述客户端鉴权值与所述服务器鉴权值是否一致;
如果一致,则确认所述关注请求为合法请求;
在判断所述客户端鉴权值与所述服务器鉴权值是否一致之前,所述方法还包括:
基于所述关注请求,判断是否接收过所述客户端发送的请求信息,所述请求信息包括所述客户端的鼠标移动轨迹数据和鼠标点击数据;
根据所述鼠标移动轨迹数据判断所述鼠标是否位于所述客户端的直播间页面的关注按钮显示区域中,并根据所述鼠标点击数据判断是否存在所述关注按钮显示区域中的鼠标点击事件;
如果所述鼠标位于所述关注按钮显示区域中,且存在所述关注按钮显示区域中的鼠标点击事件,再判断所述客户端鉴权值与所述服务器鉴权值是否一致。
5.如权利要求4所述的方法,其特征在于,
所述按预设规则生成所述目标直播间对应的服务器密钥,包括:
根据所述目标直播间的房间号和第二随机数据,生成所述目标直播间对应的服务器私钥;
采用非对称算法,根据所述服务器私钥,生成所述服务器私钥匹配的服务器公钥;所述服务器密钥包括所述服务器私钥和所述服务器公钥;
所述送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥,包括:
发送所述服务器公钥至所述客户端,并接收所述客户端发送的客户端公钥;
基于所述客户端公钥和所述服务器私钥,采用预设加密算法生成所述服务器共享密钥。
6.如权利要求4所述的方法,其特征在于,
所述采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据,包括:
从预存的加密算法库中,确定出与所述加密算法序号对应的加密算法;
采用所述加密算法对所客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;其中,所述客户端信息包括:UID、所述目标直播间的房间号、用户登录时的令牌Token和所述客户端请求房间信息时所述服务器下发的时间戳信息;
采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值,包括:
从预存的哈希算法库中,确定出与所述哈希算法序号对应的加密哈希算法;
采用所述哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值。
7.一种关注装置,其特征在于,所述装置为客户端,所述客户端上预先集成加密算法库和哈希算法库,并且加密算法库中的每个算法对应一个加密算法序号,哈希算法库中的每个算法对应一个哈希算法序号;包括:
第一接收模块,用于接收到开启目标直播间页面的开启操作后,按预设规则生成所述目标直播间对应的客户端密钥;其中,所述客户端密钥是根据所述目标直播间的房间号和第一随机数据生成的,且不同的目标直播间对应的客户端密钥不同;
第一发送模块,用于发送所述客户端密钥至服务器,并接收所述服务器发送的服务器密钥,基于所述客户端密钥和所述服务器密钥,生成客户端共享密钥;
第二接收模块,用于接收服务器下发的房间信息,所述房间信息携带加密算法序号和哈希算法序号;
第一加密模块,用于采用所述加密算法序号对应的加密算法,对所客户端的客户端信息和所述客户端共享密钥进行加密计算,获得加密数据;
第一哈希模块,用于采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得客户端鉴权值;
第二发送模块,用于当接收到用于关注所述目标直播间的目标主播的关注操作后,生成并发送携带所述客户端鉴权值的关注请求至所述服务器,以使所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致,来确定所述关注请求是否合法,其中,所述服务器鉴权值是所述服务器基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的服务器鉴权值;还用于在所述服务器能根据所述客户端鉴权值与所述服务器的服务器鉴权值是否一致之前,基于所述关注请求,判断是否接收过所述客户端发送的请求信息,所述请求信息包括所述客户端的鼠标移动轨迹数据和鼠标点击数据;所述服务器根据所述鼠标移动轨迹数据判断所述鼠标是否位于所述客户端的直播间页面的关注按钮显示区域中,并根据所述鼠标点击数据判断是否存在所述关注按钮显示区域中的鼠标点击事件;如果所述鼠标位于所述关注按钮显示区域中,且存在所述关注按钮显示区域中的鼠标点击事件,则确定所述关注请求为合法请求。
8.一种关注装置,其特征在于,所述装置为直播服务器,所述服务器上预先集成加密算法库和哈希算法库,并且加密算法库中的每个算法对应一个加密算法序号,哈希算法库中的每个算法对应一个哈希算法序号;包括:
第三接收模块,用于接收客户端发送的开启目标直播间页面的开启请求后,按预设规则生成所述目标直播间对应的服务器密钥;所述开启请求携带所述客户端的客户端信息;其中,所述服务器密钥是根据所述目标直播间的房间号和第二随机数据生成的,且不同客户端的不同房间的服务器私钥不相同;
第三发送模块,用于发送所述服务器密钥至所述客户端,并接收所述客户端发送的客户端密钥,基于所述客户端密钥和所述服务器密钥,生成服务器共享密钥;
第四发送模块,用于发送房间信息至所述客户端,所述房间信息携带加密算法序号和哈希算法序号;
第二加密模块,用于采用所述加密算法序号对应的加密算法,对所述客户端的客户端信息和所述服务器共享密钥进行加密计算,获得加密数据;
第二哈希模块,用于采用所述哈希算法序号对应的哈希算法,对所述加密数据进行哈希计算,获得服务器鉴权值;
第四接收模块,用于接收所述客户端发送的携带所述客户端鉴权值的关注请求,所述客户端鉴权值是所是客户端基于所述加密算法序号对应的加密算法和所述哈希算法序号对应的哈希算法计算出的客户端鉴权值;
判断模块,用于判断所述客户端鉴权值与所述服务器鉴权值是否一致;如果一致,则确认所述关注请求为合法请求;
第五接收模块,用于在判断所述客户端鉴权值与所述服务器鉴权值是否一致之前,接收所述客户端发送的携带所述客户端鉴权值的关注请求,基于所述关注请求,判断是否接收过所述客户端发送的请求信息,所述请求信息包括所述客户端的鼠标移动轨迹数据和鼠标点击数据;
第一判断模块,用于根据所述鼠标移动轨迹数据判断所述鼠标是否位于所述客户端的直播间页面的关注按钮显示区域中,并根据所述鼠标点击数据判断是否存在所述关注按钮显示区域中的鼠标点击事件;如果所述鼠标位于所述关注按钮显示区域中,且存在所述关注按钮显示区域中的鼠标点击事件,再判断所述客户端鉴权值与所述服务器鉴权值是否一致。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一所述的方法。
CN201810029063.8A 2018-01-12 2018-01-12 一种关注方法、装置、电子设备及介质 Active CN108259183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810029063.8A CN108259183B (zh) 2018-01-12 2018-01-12 一种关注方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810029063.8A CN108259183B (zh) 2018-01-12 2018-01-12 一种关注方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN108259183A CN108259183A (zh) 2018-07-06
CN108259183B true CN108259183B (zh) 2021-02-02

Family

ID=62727143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810029063.8A Active CN108259183B (zh) 2018-01-12 2018-01-12 一种关注方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN108259183B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861956B (zh) * 2018-10-29 2021-08-20 梁伟 基于状态通道的数据验证系统、方法、装置及设备
CN112187832A (zh) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 数据传输方法和电子设备
CN113468587B (zh) * 2021-09-02 2021-12-10 深圳市通易信科技开发有限公司 基于大数据的用户数据管理方法、系统及可读存储介质
CN114218598B (zh) * 2022-02-22 2022-06-17 北京指掌易科技有限公司 一种业务处理方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957818A (zh) * 2009-07-13 2011-01-26 北京搜狗科技发展有限公司 一种批量收藏网页的方法及系统
CN106658033A (zh) * 2016-10-26 2017-05-10 广州华多网络科技有限公司 直播内容查询方法、装置和服务器
CN106993201A (zh) * 2017-03-17 2017-07-28 武汉斗鱼网络科技有限公司 视频播放的权限校验方法及装置
CN108289096A (zh) * 2018-01-05 2018-07-17 武汉斗鱼网络科技有限公司 一种直播间关注、验证直播间关注的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8280982B2 (en) * 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957818A (zh) * 2009-07-13 2011-01-26 北京搜狗科技发展有限公司 一种批量收藏网页的方法及系统
CN106658033A (zh) * 2016-10-26 2017-05-10 广州华多网络科技有限公司 直播内容查询方法、装置和服务器
CN106993201A (zh) * 2017-03-17 2017-07-28 武汉斗鱼网络科技有限公司 视频播放的权限校验方法及装置
CN108289096A (zh) * 2018-01-05 2018-07-17 武汉斗鱼网络科技有限公司 一种直播间关注、验证直播间关注的方法及装置

Also Published As

Publication number Publication date
CN108259183A (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
CN107251035B (zh) 账户恢复协议
US20180205547A1 (en) Method for providing security using secure computation
US8949596B2 (en) Encryption-based session establishment
CN108259183B (zh) 一种关注方法、装置、电子设备及介质
KR101527248B1 (ko) 클라우드 기반 이동식 컴포넌트 바인딩
WO2016184216A1 (zh) 一种防止盗链的方法、防止盗链的服务器及客户端
CN110011950B (zh) 一种视频流地址的鉴权方法及装置
US20190026456A1 (en) Methods and Apparatus for Authentication of Joint Account Login
CN108881966B (zh) 一种信息处理方法以及相关设备
CN109981576B (zh) 密钥迁移方法和装置
CN109040079A (zh) 直播链接地址的组建和验证方法及相应装置
CN105871805A (zh) 防盗链的方法及装置
WO2019071859A1 (zh) 一种直播平台中防止刷礼物的方法及装置
WO2021137769A1 (en) Method and apparatus for sending and verifying request, and device thereof
CN111460400A (zh) 一种数据处理方法、装置及计算机可读存储介质
WO2019136860A1 (zh) 一种关注合法性的确定方法、装置、电子设备及介质
CN108769749A (zh) 一种确定盗刷数据的方法、客户端及服务器
CN109740319B (zh) 数字身份验证方法及服务器
CN108206961B (zh) 一种计算直播平台人气的方法及相关设备
WO2018176531A1 (zh) 一种视频请求、视频播放方法及装置
CN108055356A (zh) 一种信息处理方法、服务器、客户端及可读存储介质
CN110139163B (zh) 一种获取弹幕的方法和相关装置
CN110380843B (zh) 一种信息处理方法及相关设备
CN110034923B (zh) 一种信息处理方法以及相关设备
CN108933766B (zh) 一种提高设备id安全性的方法和客户端

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