CN108055286B - 一种用于生成用户身份信息的方法、客户端、计算机可读存储介质及计算机设备 - Google Patents

一种用于生成用户身份信息的方法、客户端、计算机可读存储介质及计算机设备 Download PDF

Info

Publication number
CN108055286B
CN108055286B CN201810058300.3A CN201810058300A CN108055286B CN 108055286 B CN108055286 B CN 108055286B CN 201810058300 A CN201810058300 A CN 201810058300A CN 108055286 B CN108055286 B CN 108055286B
Authority
CN
China
Prior art keywords
timestamp
server
user
identity information
time
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
CN201810058300.3A
Other languages
English (en)
Other versions
CN108055286A (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.)
Shanghai Huaikan Digital 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 CN201810058300.3A priority Critical patent/CN108055286B/zh
Publication of CN108055286A publication Critical patent/CN108055286A/zh
Application granted granted Critical
Publication of CN108055286B publication Critical patent/CN108055286B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种用于生成用户身份信息的方法、客户端及计算机设备,所述方法包括:接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;获取所述发送时刻对应的客户端本地时间戳,确定所述本地时间戳与所述服务器端时间戳的第一时间差值;基于预设的时间间隔,按照预设的哈希算法,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码;将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息;所述第一身份信息是服务器向所述用户下发的身份信息。

Description

一种用于生成用户身份信息的方法、客户端、计算机可读存储 介质及计算机设备
技术领域
本发明属于直播技术领域,尤其涉及一种用于生成用户身份信息的方法、客户端及计算机设备。
背景技术
目前随着直播平台发展的日益成熟,有很多用户选择成为主播,并通过非正常手段来增加人气。
比如利用黑客通过监听正常用户向服务端发起的请求来盗取用于身份验证的cookie,然后使用此cookie伪装成该用户向服务器发送其他请求,从而将某主播加入到该用户的收藏列表,进而提高该主播的收藏指数,提高该主播的人气,影响了直播平台的秩序。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种用于生成用户身份信息的方法、客户端及计算机设备,用于解决现有技术中黑客通过盗取正常用户的身份信息cookie,从而伪装成正常用户向服务器发送一些非正常请求,导致直播平台的秩序受到影响的技术问题。
本发明实施例提供一种用于生成用户身份信息的方法,应用于直播平台中,所述方法包括:
接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;
获取所述发送时刻对应的客户端本地时间戳,确定所述本地时间戳与所述服务器端时间戳的第一时间差值;
基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码;
将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息;所述第一身份信息是服务器向所述用户下发的身份信息。
上述方案中,所述根据所述密钥信息、所述当前时间戳及所述第一时间差值生成特征码,包括:
根据所述当前时间戳及所述第一时间差值确定目标时间戳t;
根据公式s=F(key,t)确定所述特征码s;其中,所述key为用户登陆成功后,服务器发送的密钥信息,每个用户都具有唯一的密钥信息;所述F为可逆加密算法或者单向哈希算法。
上述方案中,所述根据所述当前时间戳及所述第一时间差值确定目标时间戳t,包括:
当所述服务器端时间戳大于所述本地时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;
当所述服务器端时间戳小于所述本地时间戳时,将所述当前时间戳及所述时间第一时间差值之差的绝对值确定为所述目标时间戳t。
上述方案中,所述将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息后,包括:
将所述当前身份信息发送至服务器,以能使得所述服务器基于所述当前身份信息检测所述用户是否为正常用户。
本发明还提供一种客户端,所述客户端包括:
接收单元,用于接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;
确定单元,用于获取所述发送时刻对应的客户端本地时间戳,确定所述本地时间戳与所述服务器端时间戳的第一时间差值;
第一生成单元,用于基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码;
第二生成单元,用于将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息;所述第一身份信息是服务器向所述用户下发的身份信息。
上述方案中,所述第一生成单元具体用于:
根据所述当前时间戳及所述第一时间差值确定目标时间戳t;
根据公式s=F(key,t)确定所述特征码s;其中,所述key为用户登陆成功后,服务器发送的密钥信息,每个用户都具有唯一的密钥信息;所述F为可逆加密算法或者单向哈希算法。
上述方案中,所述确定单元具体用于:
当所述服务器端时间戳大于所述本地时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;
当所述服务器端时间戳小于所述本地时间戳时,将所述当前时间戳及所述第一时间差值之差的绝对值确定为所述目标时间戳t。
上述方案中,所述客户端还包括:发送单元,用于:将所述当前身份信息发送至服务器,以能使得所述服务器基于所述当前身份信息检测所述用户是否为正常用户。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现能够执行如上述任一所述的方法。
本发明还提供一种用于生成用户身份信息的计算机设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述任一所述的方法。
本发明实施例提供了一种用于生成用户身份信息的方法、客户端及计算机设备,所述方法包括:接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;获取所述发送时刻对应的本地时间戳,确定所述本地时间戳与所述服务器端时间戳的第一时间差值;基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码;将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息;所述第一身份信息是服务器向所述用户下发的身份信息;如此,客户端根据时间戳及密钥信息生成特征码,并将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息cookie,这样即使黑客盗取正常用户的cookie后,没有获取到密钥信息也不能伪造出新的cookie;即使破解了密钥信息,也会因时间关系让 cookie很快失效,从而不能伪装成正常用户向服务器发送一些非正常请求,进而确保了直播平台的直播秩序。
附图说明
图1为本发明实施例一提供的用于生成用户身份信息的方法流程示意图;
图2为本发明实施例二提供的客户端的结构示意图;
图3为本发明实施例三提供的用于生成用户身份信息的整体结构示意图。
具体实施方式
为了解决现有技术中黑客通过盗取正常用户的身份信息cookie,从而伪装成正常用户向服务器发送一些非正常请求,导致直播平台的秩序受到影响的技术问题;本发明提供了一种用于生成用户身份信息的方法、客户端及计算机设备,所述方法包括:接收服务器发送的密钥信息及服务器端时间戳;获取发送时刻对应的客户端本地时间戳,确定所述本地时间戳与所述服务器端时间戳的时间差值;获取生成用户身份信息时的当前时间戳;基于预设的时间间隔,根据所述登陆密钥信息、所述当前时间戳及所述时间差值生成特征码;将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息;所述第一身份信息是服务器向所述用户下发的身份信息。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
实施例一
本实施例提供一种用于生成用户身份信息的方法,如图1所示,所述方法包括:
S110,接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;
本步骤中,当用户登录直播平台成功后,服务器会将密钥信息发送至客户端,并将发送时刻对应的服务器端时间戳及该用户的第一身份信息cookie发送至客户端。这里,每个用户都具有一个唯一的密钥信息及一个唯一的cookie。
S111,获取所述发送时刻对应的客户端本地时间戳,确定所述本地时间戳与所述服务器端时间戳的时间差值;
当接收到发送时刻对应的服务器端时间戳后,若在某一时刻下服务器端时间戳与客户端的本地时间戳出现不一致的情况,那么为了避免用户的正常请求被拦截,需要考虑到服务器端时间戳与客户端时间戳之间的差值。
当客户端接收到发送时刻对应的服务器端时间戳后,还需获取所述发送时刻对应的本地时间戳,确定所述本地时间戳与所述服务器端时间戳的时间差值。
比如某一时刻下,服务器端时间戳是12:38:12,客户端的本地时间戳是 12:38:09,客户端的本地时间要比服务器端的时间慢3s,那么客户端本地时间戳与服务器端时间戳之间的差值就是3s。
这里,当需要生成新的用户身份信息时,客户端需要获取生成时刻对应的当前时间戳,比如15:01:23这个时刻需要生成用户身份信息时,当前时间戳即为15:01:23。
S112,基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码;
获取到生成用户身份信息时刻对应的当前时间戳后,基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码。
具体地,首先根据所述当前时间戳及所述第一时间差值确定目标时间戳t;当服务器端时间戳大于所述本地时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;当所述服务器端时间戳小于所述本地时间戳时,将所述当前时间戳及所述第一时间差值之差的绝对值确定为所述目标时间戳t。
比如当前时间戳是15:01:23,第一时间差值是3s,当服务器端时间戳大于所述本地时间戳时,那么目标时间戳t就为15:01:26;而当服务器端时间戳小于所述本地时间戳时,那么目标时间戳t就为15:01:20。
然后按照预设的时间间隔,根据公式(1)确定所述特征码s,所述预设的时间间隔可根据实际场景的需求确定,比如2s:
s=F(key,t)(1)
在公式(1)中,所述t为目标时间戳;所述key为用户登陆成功后,服务器向客户端发送的密钥信息,每个用户都具有唯一的密钥信息;所述F为可逆哈希算法或者单向哈希算法;所述单向哈希算法可以包括:md5、sha-256、crc32 算法等;所述可逆加密算法包括:对称加密算法及非对称加密算法,比如RSA、 DSA等加密算法。
具体地,比如目标时间戳是1516070451,密钥信息是aiugpiagwpiuahsdpfiuhasdfasdhf,利用md5算法确定特征码时,实现如下:
利用S=md5(1516070451aiugpiagwpiuahsdpfiuhasdfasdhf)得到特征码 5223e9b30065d3346de87daeaeeaea5f。
同样地,比如目标时间戳是1516070451,若利用非对称加密算法RSA获取特征码s时,实现如下:
客户端在登录成功后,服务器会利用RSA加密算法为该用户生成一对公钥和私钥,将公钥下发至客户端,私钥则由服务器保存。客户端接收到公钥后,利用RSA加密算法对目标时间戳1516070451进行加密,最后的加密结果就是特征码s。
另外,比如目标时间戳是1516070451,若利用对称加密算法DSA获取特征码s时,实现如下:
客户端在登录成功后,服务器会利用对称加密算法DSA为该用户生成一个密钥信息,将该密钥信息下发至客户端。客户端接收到该密钥信息后,利用DSA 加密算法对目标时间戳1516070451进行加密,最后的加密结果就是特征码s。
S113,将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息。
生成特征码后,客户端向服务器发送请求时,客户端的js页面会将所述特征码写入所述用户的第一身份信息cookie中,生成所述用户的当前身份信息,当前身份信息包括特征码及cookie,并将当前身份信息发送至服务器,以能使得所述服务器基于所述当前身份信息检测所述用户是否为正常用户。
这里,当利用单向哈希算法计算特征码时,在向服务器发送请求时,会将目标时间戳t一并发送至服务器。
服务器接收到当前身份信息后,若客户端是利用可逆加密算法RSA加密算法计算出的特征码时,服务器会利用如下方式来检测用户是否为正常用户:
服务器首先获取当前身份信息,由于加密算法是RSA加密算法,那么基于所述当前身份信息cookie中的身份认证标识查找为该用户分配的公钥信息,然后再查找到公钥信息对应的私钥信息key;然后获取到特征码s,利用对应的解密算法公式(2)对特征码进行解密,获取客户端的目标时间戳t:
t=F'(key,s) (2)
公式(2)中,F'是与RSA加密算法对应的可逆解密算法。
获取到目标时间戳t后,再获取服务器解密时刻对应的第一时间戳t',利用公式(3)计算出第二时间差值P:
P=t'–t (3)
最后根据公式(4)对用户进行检测:
|P|≤d (4)
公式(4)中,d为预设的时间阈值,一般为5~30s不等,可以根据实际的应用场景设定。当|P|≤d时,则确定用户是正常用户,当|P|>d时,则确定用户是非正常用户。
同样的,若客户端是利用可逆加密算法DSA加密算法计算出的特征码时,服务器会利用上述同样的方式检测用户是否为正常用户。需要说明的是,与RSA 加密算法对应的解密算法不同的是,服务器是利用DSA加密算法对应的解密算法基于所述当前身份信息cookie中的身份认证标识查找为该用户分配的密钥信息key的,且该密钥信息是服务器与客户端共用的。
进一步地,若客户端是利用单向哈希算法计算出的特征码时,那么服务器利用如下方式来检测用户是否为正常用户:
同样的,获取到目标时间戳t及服务器解密时刻对应的第一时间戳t',利用公式(3)计算出第二时间差值P:
当|P|>d时,则直接拒绝该用户的请求;若|P|≤d时,则根据当前身份信息cookie中的身份认证信息标识查找为该用户分配的密钥信息key,然后按照与客户端同样的计算方法,利用对应的单向哈希算法,根据密钥信息及目标时间戳t计算出特征码,若服务器计算出的特征码与客户端计算出的特征码一致时,则说明该用户是正常用户;若服务器计算出的特征码与客户端计算出的特征码不一致时,则说明该用户是非正常用户。
本实施例特征码的有效期T由目标时间戳t的时间密度k和时间阈值d来确定,具体可以根据公式(5)确定:
T=2*d/k (5)
比如,预设的时间间隔为2s,即每隔2s计算一次特征码,那么t的时间密度k就为0.5,若时间阈值d设置为3s的话,那么特征码的有效期T最大为2* 5/0.5=12秒。也就是说,特征码在12s内是有效的,即黑客窃取到特征码后,在12s内发送请求的话有可能是被接受的,但是在12s之后发送的请求则必然是被拒绝的。
另外,若特征码是在第1s计算出的,请求是第3秒时发出去的,那么这个请求带上的特征码实际上已经过了2秒了。服务端检查后确定第二差值是2秒,小于3,所以接受请求。但黑客窃取了这个特征码后,只能在第1秒使用。
而如果特征码在第1s计算出来后立即就有一个请求带着它发送出去,黑客窃取这个请求的特征码后,就可以在接下来3秒里使用它。
而在一般情况下,客户端的本地时间戳与服务器端时间戳相差无几,所以 P值总是在0附近。于是黑客所盗取到cookie后,特征码的有效期将只有上述情况的一半,即T=d/k。
实施例二
相应于实施例一,本实施例还提供一种客户端,如图2所示,所述客户端包括:接收单元21、确定单元22、第一生成单元23及第二生成单元24;其中,
当用户登录直播平台成功后,接收单元21用于接收服务器发送的密钥信息、发送时刻对应的服务器端时间戳;及该用户的第一身份信息cookie发送至客户端。这里,每个用户都具有一个唯一的密钥信息及一个唯一的cookie。
当确定单元22获取所述发送时刻对应的本地时间戳后,若在某一时刻下服务器端时间戳与客户端的本地时间戳出现不一致的情况,那么为了避免用户的正常请求被拦截,需要考虑到服务器端时间戳与客户端时间戳之间的差值。
因此当确定单元22接收到发送时刻对应的服务器端时间戳后,还需获取所述发送时刻对应的本地时间戳,确定所述本地时间戳与所述服务器端时间戳的时间差值。
比如某一时刻下,服务器端时间戳是12:38:12,客户端的本地时间戳是 12:38:09,客户端的本地时间要比服务器端的时间慢3s,那么客户端本地时间戳与服务器端时间戳之间的差值就是3s。
这里,当需要生成新的用户身份信息时,确定单元22还需要获取生成时刻对应的当前时间戳,比如15:01:23这个时刻需要生成用户身份信息时,当前时间戳即为15:01:23。
当获取到生成用户身份信息时刻对应的当前时间戳后,第一生成单元23 用于基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码。
具体地,第一生成单元23首先根据所述当前时间戳及所述时间差值确定目标时间戳t;当服务器端时间戳大于所述本地时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;当所述服务器端时间戳小于所述本地时间戳时,将所述当前时间戳及所述第一时间差值之差的绝对值确定为所述目标时间戳t。
比如当前时间戳是15:01:23,第一时间差值是3s,当服务器端时间戳大于所述本地时间戳时,那么目标时间戳t就为15:01:26;而当服务器端时间戳小于所述本地时间戳时,那么目标时间戳t就为15:01:20。
然第一生成单元23后按照预设的时间间隔,根据公式(1)确定所述特征码s,所述预设的时间间隔可根据实际场景的需求确定,比如2s:
s=F(key,t) (1)
在公式(1)中,所述t为目标时间戳;所述key为用户登陆成功后,服务器向客户端发送的密钥信息,每个用户都具有唯一的密钥信息;所述F为可逆哈希算法或者单向哈希算法;所述单向哈希算法可以包括:md5、sha-256、crc32 算法等;所述可逆加密算法包括:对称加密算法及非对称加密算法,比如RSA、 DSA等加密算法。
具体地,比如目标时间戳是1516070451,密钥信息是aiugpiagwpiuahsdpfiuhasdfasdhf,第一生成单元23利用md5算法确定特征码时,实现如下:
利用S=md5(1516070451aiugpiagwpiuahsdpfiuhasdfasdhf)得到特征码 5223e9b30065d3346de87daeaeeaea5f。
同样地,比如目标时间戳是1516070451,第一生成单元23若利用非对称加密算法RSA获取特征码s时,实现如下:
客户端在登录成功后,服务器会利用RSA加密算法为该用户生成一对公钥和私钥,将公钥下发至客户端,私钥则由服务器保存。客户端接收到公钥后,利用RSA加密算法对目标时间戳是1516070451进行加密,最后的加密结果就是特征码s。
另外,比如目标时间戳是1516070451,第一生成单元23若利用对称加密算法DSA获取特征码s时,实现如下:
客户端在登录成功后,服务器会利用对称加密算法DSA为该用户生成一个密钥信息,将该密钥信息下发至客户端。客户端接收到该密钥信息后,利用DSA 加密算法对目标时间戳是1516070451进行加密,最后的加密结果就是特征码s。
当特征码s生成之后,第二生成单元24用于将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息。
具体地,生成特征码后,客户端的js页面的第二生成单元24将所述特征码写入所述用户的第一身份信息cookie中,生成所述用户的当前身份信息,并将当前身份信息发送至服务器,以能使得所述服务器基于所述当前身份信息检测所述用户是否为正常用户。
这里,当利用单向哈希算法计算特征码时,发送单元25在向服务器发送请求时,会将目标时间戳t一并发送至服务器。
服务器接收到当前身份信息后,若客户端是利用可逆加密算法RSA加密算法计算出的特征码时,服务器会利用如下方式来检测用户是否为正常用户:
服务器首先获取当前身份信息,由于加密算法是RSA加密算法,那么基于所述当前身份信息cookie中的身份认证标识查找为该用户分配的公钥信息,然后再查找到公钥信息对应的私钥信息key;然后获取到特征码s,利用对应的解密算法公式(2)解密出对应的目标时间戳t:
t=F'(key,s) (2)
公式(2)中,F'是与RSA加密算法对应的解密算法。
获取到目标时间戳t后,再获取服务器解密时刻对应的第一时间戳t',利用公式(3)计算出第二时间差值P:
P=t'–t (3)
最后根据公式(4)对用户进行检测:
|P|≤d (4)
公式(4)中,d为预设的时间阈值,一般为5~30s不等,可以根据实际的应用场景设定。当|P|≤d时,则确定用户是正常用户,当|P|>d时,则确定用户是非正常用户。
同样的,若客户端是利用可逆加密算法DSA加密算法计算出的特征码时,服务器会利用上述同样的方式检测用户是否为正常用户。需要说明的是,与RSA 加密算法对应的解密算法不同的是,服务器是利用DSA加密算法对应的解密算法基于所述当前身份信息cookie中的身份认证标识查找为该用户分配的密钥信息key的,且该密钥信息是服务器与客户端共用的。
进一步地,若客户端是利用单向哈希算法计算出的特征码时,那么服务器利用如下方式来检测用户是否为正常用户:
同样的,获取到目标时间戳t及服务器解密时刻对应的第一时间戳t',利用公式(3)计算出第二时间差值P:
当|P|>d时,则直接拒绝该用户的请求;若|P|≤d时,则根据当前身份信息cookie中的身份认证信息标识查找为该用户分配的密钥信息key,然后按照与客户端同样的计算方法,利用对应的单向哈希算法,根据密钥信息及目标时间戳t计算出特征码,若服务器计算出的特征码与客户端计算出的特征码一致时,则说明该用户是正常用户;若服务器计算出的特征码与客户端计算出的特征码不一致时,则说明该用户是非正常用户。
这里,即使黑客获取到该用户的cookie及密钥信息,因发送的时间戳不同,那么服务器计算出的特征码必然是与客户端计算出的特征码是不一致的,就会拒绝黑客发送的请求。
本实施例特征码的有效期T由目标时间戳t的时间密度k和时间阈值d来确定,具体可以根据公式(5)确定:
T=2*d/k (5)
比如,预设的时间间隔为2s,即每隔2s计算一次特征码,那么t的时间密度k就为0.5,若时间阈值d设置为3s的话,那么特征码的有效期T最大为2* 5/0.5=12秒。也就是说,特征码在12s内是有效的,即黑客窃取到特征码后,在12s内发送请求的话有可能是被接受的,但是在12s之后发送请求则必然是被拒绝的。
另外,若特征码是在第1s计算出的,请求是第3秒时发出去的,那么这个请求带上的特征码实际上已经过了2秒了。服务端检查后确定第二差值是2秒,小于3,所以接受请求了。但黑客窃取了这个特征码后,只能在第1秒使用。
而如果特征码在第1s计算出来后立即就有一个请求带着它发送出去,黑客窃取这个请求的特征码后,就可以在接下来3秒里使用它。
而在一般情况下,客户端的本地时间戳与服务器端时间戳相差无几,所以 P值总是在0附近。于是黑客所盗取到cookie后,特征码的有效期将只有上述情况的一半,即T=d/k。
实施例三
本实施例还提供一种用于生成用户身份信息的计算机设备,如图3所示,所述计算机设备包括:射频(Radio Frequency,RF)电路310、存储器320、输入单元330、显示单元340、音频电路350、WiFi模块360、处理器370、以及电源380等部件。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对计算机设备的各个构成部件进行具体的介绍:
RF电路310可用于信号的接收和发送,特别地,将基站的下行信息接收后,给处理器370处理。通常,RF电路310包括但不限于至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
存储器320可用于存储软件程序以及模块,处理器370通过运行存储在存储器320的软件程序以及模块,从而执行计算机设备的各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元330可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元330可包括键盘331以及其他输入设备332。键盘331,可收集用户在其上的输入操作,并根据预先设定的程式驱动相应的连接装置。键盘331采集到输出信息后再送给处理器370。除了键盘331,输入单元330还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于触控面板、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元340可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元340可包括显示面板341,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板341。进一步的,键盘331 可覆盖显示面板341,当键盘331检测到在其上或附近的触摸操作后,传送给处理器370以确定触摸事件的类型,随后处理器370根据输入事件的类型在显示面板341上提供相应的视觉输出。虽然在图3中键盘331与显示面板341是作为两个独立的部件来实现计算机设备的输入和输入功能,但是在某些实施例中,可以将键盘331与显示面板341集成而实现计算机设备的输入和输出功能。
音频电路350、扬声器351,传声器352可提供用户与计算机设备之间的音频接口。音频电路350可将接收到的音频数据转换后的电信号,传输到扬声器 351,由扬声器351转换为声音信号输出;
WiFi属于短距离无线传输技术,计算机设备通过WiFi模块360可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了WiFi模块360,但是可以理解的是,其并不属于计算机设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器370是计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器370可包括一个或多个处理单元;优选的,处理器370可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
计算机设备还包括给各个部件供电的电源380(比如电源适配器),优选的,电源可以通过电源管理系统与处理器370逻辑相连。
本发明实施例提供的用于生成用户身份信息的方法、客户端及计算机设备能带来的有益效果至少是:
本发明实施例提供了一种用于生成用户身份信息的方法、客户端及计算机设备,所述方法包括:接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;获取所述发送时刻对应的本地时间戳,确定所述本地时间戳与所述服务器端时间戳的第一时间差值;基于预设的时间间隔,根据所述密钥信息、生成时刻对应的当前时间戳及所述第一时间差值生成特征码;将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息;所述第一身份信息是服务器向所述用户下发的身份信息;如此,客户端根据时间戳及密钥信息生成特征码,并将所述特征码写入所述用户的第一身份信息中,生成所述用户的当前身份信息cookie,提高了破解难度,即使黑客盗取正常用户的cookie后,没有获取到密钥信息也不能伪造出新的cookie;即使破解了密钥信息,也会因时间关系让cookie很快失效,从而不能伪装成正常用户向服务器发送一些非正常请求;并且当服务器接收到客户端发送的请求信息后,会对用户身份信息中的特征码进行解密,获取客户端的目标时间戳,再确定出目标时间戳与解密时刻服务器端对应的第一时间戳之间的第二时间差值,当第二时间差值满足预设的检测条件则确定用户为正常用户;当第二时间差值不满足预设的检测条件,则确定用户为非正常用户;或者,当服务器接收到客户端发送的请求信息后,可以对用户身份信息中的特征码进行解密,获取客户端的目标时间戳,再根据目标时间戳与密钥信息计算出第二特征码,当第二特征码与第一特征码一致时,则确定用户为正常用户,当第二特征码与第一特征码不一致时,满则确定用户为非正常用户;进而确保了直播平台的直播秩序。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP,Digital Signal Processing)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读存储介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种用于生成用户身份信息的方法,其特征在于,应用于直播平台中,所述方法包括:
接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;
获取所述发送时刻对应的客户端本地时间戳,确定所述客户端本地时间戳与所述服务器端时间戳的第一时间差值;
基于预设的时间间隔,根据所述密钥信息、目标时间戳t生成特征码;其中,所述目标时间戳t根据当前时间戳及所述第一时间差值确定;所述当前时间戳是生成用户的当前身份信息的时刻所对应的时间戳;
将所述特征码写入所述用户的第一身份信息cookie中,生成所述用户的当前身份信息;所述第一身份信息cookie是服务器向所述用户下发的身份信息;
将所述当前身份信息发送至服务器,以能使得所述服务器对所述当前身份信息进行解密,并根据第二时间差值是否大于时间阈值和所述特征码的有效期检测所述用户是否为正常用户;其中,所述第二时间差值是所述服务器解密时刻对应的第一时间戳和所述目标时间戳之间的差值;所述特征码的有效期T=2×d/k或T=d/k;所述d为所述时间阈值,所述k为所述目标时间戳t的时间密度,等于所述预设的时间间隔的倒数。
2.如权利要求1所述的方法,其特征在于,所述根据所述密钥信息、目标时间戳t生成特征码,包括:
根据公式s=F(key,t)确定所述特征码s;其中,所述key为用户登陆成功后,服务器发送的密钥信息,每个用户都具有唯一的密钥信息;所述F为可逆加密算法或者单向哈希算法。
3.如权利要求2所述的方法,其特征在于,所述目标时间戳t根据当前时间戳及所述第一时间差值确定,包括:
当所述服务器端时间戳大于所述客户端本地时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;
当所述服务器端时间戳小于所述客户端本地时间戳时,将所述当前时间戳及所述第一时间差值之差的绝对值确定为所述目标时间戳t。
4.一种客户端,其特征在于,所述客户端包括:
接收单元,用于接收服务器发送的密钥信息及发送时刻对应的服务器端时间戳;
确定单元,用于获取所述发送时刻对应的客户端本地时间戳,确定所述客户端本地时间戳与所述服务器端时间戳的第一时间差值;
第一生成单元,用于基于预设的时间间隔,根据所述密钥信息、目标时间戳t生成特征码;其中,所述目标时间戳t根据当前时间戳及所述第一时间差值确定;所述当前时间戳是生成用户的当前身份信息的时刻所对应的时间戳;
第二生成单元,用于将所述特征码写入所述用户的第一身份信息cookie中,生成所述用户的当前身份信息;所述第一身份信息是服务器向所述用户下发的身份信息;
发送单元,用于将所述当前身份信息发送至服务器,以能使得所述服务器对所述当前身份信息进行解密,并根据第二时间差值是否大于时间阈值和所述特征码的有效期检测所述用户是否为正常用户;其中,所述第二时间差值是所述服务器解密时刻对应的第一时间戳和所述目标时间戳之间的差值;所述特征码的有效期T=2×d/k或T=d/k;所述d为所述时间阈值,所述k为所述目标时间戳t的时间密度,等于所述预设的时间间隔的倒数。
5.如权利要求4所述的客户端,其特征在于,所述第一生成单元具体用于:
根据公式s=F(key,t)确定所述特征码s;其中,所述key为用户登陆成功后,服务器发送的密钥信息,每个用户都具有唯一的密钥信息;所述F为可逆加密算法或者单向哈希算法。
6.如权利要求5所述的客户端,其特征在于,所述确定单元具体用于:
当所述服务器端时间戳大于所述客户端本地时间戳时,将所述当前时间戳及所述第一时间差值之和确定为所述目标时间戳;
当所述服务器端时间戳小于所述客户端本地时间戳时,将所述当前时间戳及所述时间第一时间差值之差的绝对值确定为所述目标时间戳t。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现能够执行如权利要求1至3任一所述的方法。
8.一种用于生成用户身份信息的计算机设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至3任一所述的方法。
CN201810058300.3A 2018-01-22 2018-01-22 一种用于生成用户身份信息的方法、客户端、计算机可读存储介质及计算机设备 Active CN108055286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810058300.3A CN108055286B (zh) 2018-01-22 2018-01-22 一种用于生成用户身份信息的方法、客户端、计算机可读存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810058300.3A CN108055286B (zh) 2018-01-22 2018-01-22 一种用于生成用户身份信息的方法、客户端、计算机可读存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN108055286A CN108055286A (zh) 2018-05-18
CN108055286B true CN108055286B (zh) 2021-06-15

Family

ID=62127630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810058300.3A Active CN108055286B (zh) 2018-01-22 2018-01-22 一种用于生成用户身份信息的方法、客户端、计算机可读存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN108055286B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632522A (zh) * 2020-12-31 2021-04-09 深信服科技股份有限公司 一种授权方法、授权请求方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546179A (zh) * 2011-12-31 2012-07-04 珠海市君天电子科技有限公司 一种服务器端和客户端之间的身份验证方法
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN105516186A (zh) * 2015-12-31 2016-04-20 华为技术有限公司 一种防止重放攻击的方法和服务器
CN105681470A (zh) * 2012-03-29 2016-06-15 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5612006B2 (ja) * 2012-03-13 2014-10-22 株式会社東芝 データ送信装置、データ受信装置、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546179A (zh) * 2011-12-31 2012-07-04 珠海市君天电子科技有限公司 一种服务器端和客户端之间的身份验证方法
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN105681470A (zh) * 2012-03-29 2016-06-15 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端
CN105516186A (zh) * 2015-12-31 2016-04-20 华为技术有限公司 一种防止重放攻击的方法和服务器

Also Published As

Publication number Publication date
CN108055286A (zh) 2018-05-18

Similar Documents

Publication Publication Date Title
CN108306739B (zh) 一种用于检测用户身份信息的方法、服务器、计算机可读存储介质及计算机设备
US11854003B2 (en) Signature verification method, apparatus, and system
US20190236300A1 (en) Service processing method and apparatus, data sharing system, and storage medium
US10917397B2 (en) Establishing a trusted login procedure
US8484480B2 (en) Transmitting information using virtual input layout
CN111585760B (zh) 密钥找回方法、装置、终端及可读介质
CN110417543B (zh) 一种数据加密方法、装置和存储介质
US20170352090A1 (en) Method, apparatus, and system for processing order information
WO2015062378A1 (zh) 一种客户端应用程序的用户注册方法、移动终端及服务器
CN107154935B (zh) 业务请求方法及装置
WO2019134303A1 (zh) 直播间人气处理方法、装置、服务器及存储介质
JP2015532561A (ja) データ・センター内のデータ・センター・サーバで実行される仮想ディスク・イメージの地理的位置を確認するための方法、システム、およびコンピュータ・プログラム製品
CN108200180B (zh) 一种用于限制请求频率的方法、装置及计算机设备
CN107666470B (zh) 一种验证信息的处理方法及装置
CN108763876B (zh) 一种资源版权校验方法、装置以及设备
WO2018108062A1 (zh) 身份验证方法、装置及存储介质
US20220166780A1 (en) Securing browser cookies
CN108055286B (zh) 一种用于生成用户身份信息的方法、客户端、计算机可读存储介质及计算机设备
CN114329538A (zh) 一种单点登录方法及装置
CN107959691B (zh) 一种用于检测用户身份信息的方法、服务器、计算机可读存储介质及计算机设备
JP2019505009A (ja) キー付けされたデータベースを用いて維持されるキー付けされたデータの検索と取出し
US10178512B2 (en) Information broadcast
US8805987B1 (en) Ensuring a cookie-less namespace
JP2012003411A (ja) ログインシール管理システム及び管理サーバ
CN110020529B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240624

Address after: 201400 Building 10, No. 860, Xinyang Road, Lingang New Area, China (Shanghai) Pilot Free Trade Zone, Fengxian District, Shanghai

Patentee after: Shanghai Huaikan Digital Technology 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